diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-18 07:12:51 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-18 07:12:51 +0800 |
commit | e6fdf0c9f7564b8b08cf428e03af66fc423adcc1 (patch) | |
tree | 14fafd42083a9a5d57005b614740294ae0525bef /vm/address.go | |
parent | 52b54631a47dfa46742635be178f2f8d33dd9f41 (diff) | |
parent | 4dbdcaecb117d7e1fcaf0869f5d4602312552991 (diff) | |
download | dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar.gz dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar.bz2 dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar.lz dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar.xz dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.tar.zst dexon-e6fdf0c9f7564b8b08cf428e03af66fc423adcc1.zip |
Merge branch 'develop' into poc8
Diffstat (limited to 'vm/address.go')
-rw-r--r-- | vm/address.go | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/vm/address.go b/vm/address.go index be8921a3b..611979c94 100644 --- a/vm/address.go +++ b/vm/address.go @@ -11,25 +11,25 @@ type Address interface { Call(in []byte) []byte } -type PrecompiledAddress struct { +type PrecompiledAccount struct { Gas func(l int) *big.Int fn func(in []byte) []byte } -func (self PrecompiledAddress) Call(in []byte) []byte { +func (self PrecompiledAccount) Call(in []byte) []byte { return self.fn(in) } -var Precompiled = map[uint64]*PrecompiledAddress{ - 1: &PrecompiledAddress{func(l int) *big.Int { +var Precompiled = map[string]*PrecompiledAccount{ + string(ethutil.LeftPadBytes([]byte{1}, 20)): &PrecompiledAccount{func(l int) *big.Int { return GasEcrecover }, ecrecoverFunc}, - 2: &PrecompiledAddress{func(l int) *big.Int { + string(ethutil.LeftPadBytes([]byte{2}, 20)): &PrecompiledAccount{func(l int) *big.Int { n := big.NewInt(int64(l+31)/32 + 1) n.Mul(n, GasSha256) return n }, sha256Func}, - 3: &PrecompiledAddress{func(l int) *big.Int { + string(ethutil.LeftPadBytes([]byte{3}, 20)): &PrecompiledAccount{func(l int) *big.Int { n := big.NewInt(int64(l+31)/32 + 1) n.Mul(n, GasRipemd) return n |