diff options
author | obscuren <geffobscura@gmail.com> | 2014-12-04 17:28:02 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-12-04 17:28:02 +0800 |
commit | 9008b155d3c8d2a32c4c8945f1174243d48d4e90 (patch) | |
tree | a55140b7d4802a0db14cbc265b8ca21d44d6f10a /chain/asm.go | |
parent | b6cb5272de96185b424d5c6c4a817d99f536d29b (diff) | |
download | go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.gz go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.bz2 go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.lz go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.xz go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.tar.zst go-tangerine-9008b155d3c8d2a32c4c8945f1174243d48d4e90.zip |
Renamed `chain` => `core`
Diffstat (limited to 'chain/asm.go')
-rw-r--r-- | chain/asm.go | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/chain/asm.go b/chain/asm.go deleted file mode 100644 index 5a2e961ac..000000000 --- a/chain/asm.go +++ /dev/null @@ -1,50 +0,0 @@ -package chain - -import ( - "fmt" - "math/big" - - "github.com/ethereum/go-ethereum/ethutil" - "github.com/ethereum/go-ethereum/vm" -) - -func Disassemble(script []byte) (asm []string) { - pc := new(big.Int) - for { - if pc.Cmp(big.NewInt(int64(len(script)))) >= 0 { - return - } - - // Get the memory location of pc - val := script[pc.Int64()] - // Get the opcode (it must be an opcode!) - op := vm.OpCode(val) - - asm = append(asm, fmt.Sprintf("%04v: %v", pc, op)) - - switch op { - case vm.PUSH1, vm.PUSH2, vm.PUSH3, vm.PUSH4, vm.PUSH5, vm.PUSH6, vm.PUSH7, vm.PUSH8, - vm.PUSH9, vm.PUSH10, vm.PUSH11, vm.PUSH12, vm.PUSH13, vm.PUSH14, vm.PUSH15, - vm.PUSH16, vm.PUSH17, vm.PUSH18, vm.PUSH19, vm.PUSH20, vm.PUSH21, vm.PUSH22, - vm.PUSH23, vm.PUSH24, vm.PUSH25, vm.PUSH26, vm.PUSH27, vm.PUSH28, vm.PUSH29, - vm.PUSH30, vm.PUSH31, vm.PUSH32: - pc.Add(pc, ethutil.Big1) - a := int64(op) - int64(vm.PUSH1) + 1 - if int(pc.Int64()+a) > len(script) { - return - } - - data := script[pc.Int64() : pc.Int64()+a] - if len(data) == 0 { - data = []byte{0} - } - asm = append(asm, fmt.Sprintf("%04v: 0x%x", pc, data)) - - pc.Add(pc, big.NewInt(a-1)) - } - - pc.Add(pc, ethutil.Big1) - } - - return asm -} |