aboutsummaryrefslogtreecommitdiffstats
path: root/chain/asm.go
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-12-04 17:28:02 +0800
committerobscuren <geffobscura@gmail.com>2014-12-04 17:28:02 +0800
commit9008b155d3c8d2a32c4c8945f1174243d48d4e90 (patch)
treea55140b7d4802a0db14cbc265b8ca21d44d6f10a /chain/asm.go
parentb6cb5272de96185b424d5c6c4a817d99f536d29b (diff)
downloadgo-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.go50
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
-}