-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathenv.go
29 lines (24 loc) · 862 Bytes
/
env.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package main
import (
"github.com/ethereum/eth-go/ethchain"
"github.com/ethereum/eth-go/ethstate"
"math/big"
)
type VMEnv struct {
state *ethstate.State
block *ethchain.Block
}
func NewEnv(state *ethstate.State, block *ethchain.Block) *VMEnv {
return &VMEnv{
state: state,
block: block,
}
}
func (self *VMEnv) Origin() []byte { return []byte{0} }
func (self *VMEnv) BlockNumber() *big.Int { return self.block.Number }
func (self *VMEnv) PrevHash() []byte { return self.block.PrevHash }
func (self *VMEnv) Coinbase() []byte { return self.block.Coinbase }
func (self *VMEnv) Time() int64 { return self.block.Time }
func (self *VMEnv) Difficulty() *big.Int { return self.block.Difficulty }
func (self *VMEnv) Value() *big.Int { return big.NewInt(0) }
func (self *VMEnv) State() *ethstate.State { return self.state }