aboutsummaryrefslogblamecommitdiffstats
path: root/vm/vm.go
blob: 968ca10fa36b6911989a0f2e718bd4f44c9dc688 (plain) (tree)
1
2
3
4
5
6
7
8
9
10
          
 
                 
 


                                                                
                

                         
                 

 





                                                    
         

 

                                                                                                                          

 

                                   

 

                             
 


                                                                                      
package vm

import "math/big"

// BIG FAT WARNING. THIS VM IS NOT YET IS USE!
// I want to get all VM tests pass first before updating this VM

type Vm struct {
    env   Environment
    err   error
    depth int
}

func New(env Environment, typ Type) VirtualMachine {
    switch typ {
    case DebugVmTy:
        return NewDebugVm(env)
    default:
        return &Vm{env: env}
    }
}

func (self *Vm) Run(me, caller ClosureRef, code []byte, value, gas, price *big.Int, data []byte) (ret []byte, err error) {
    return nil, nil
}

func (self *Vm) Env() Environment {
    return self.env
}

func (self *Vm) Depth() int {
    return self.depth
}

func (self *Vm) Printf(format string, v ...interface{}) VirtualMachine { return self }
func (self *Vm) Endl() VirtualMachine                                  { return self }