Last active
August 4, 2017 03:34
-
-
Save mhchia/d39d7e0dbbd50c95cf65b98d5c6d597f to your computer and use it in GitHub Desktop.
I fail to use `RLPList` in viper in this case
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from ethereum.tools import tester as t | |
from ethereum import utils | |
import rlp | |
code = """ | |
def test(a1: bytes <= 1000) -> num: | |
tempa = RLPList(a1, [num]) | |
return tempa[0] | |
""" | |
c = t.Chain() | |
x = c.contract(code, language='viper') | |
a = rlp.encode([10]) | |
print(x.test(a)) | |
DEBUG:eth.pb.tx TX NEW txdict={'nonce': 0, 'gasprice': 1, 'startgas': 1000000000000000, 'to': '0x', 'value': 0, 'data': '0x61016556600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a052632f570a2360005114156101605760206004610140373415155857610408600435600401610160376103e860043560040135111515585761066061016060806105a0825160208401600073cb969caaad21a78a24083164ffa81604317ab603612918f1505060406105a051141558576105a0516105a00180602001516000825180602090135857809190125857601f6101000a8204811517155857606051816020036101000a830480604051901358578091901258579050905090508152506106605160005260206000f3005b5b61000461016503610004600039610004610165036000f3', 'v': 28, 'r': 97601394141219337030653081996844226876941650287186835166943729527952787629864, 's': 5603739756855790967829906630418579680749615660090334548938034445636041797593, 'sender': '0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1', 'hash': '0x8393524efcb3268fbf721d29214ce7c42db91c6eeb04feddbabf62fed8ed01d0'}
DEBUG:eth.pb.msg CONTRACT CREATION
DEBUG:eth.pb.msg MSG APPLY sender=82a978b3f5962a5b0957d9ee9eef472ee55b42f1 to=c305c901078781c232a2a521c2af7980f8385ee9 gas=999999999925124 value=0 data= pre_storage={'balance': '0', 'nonce': '1', 'code': '0x', 'storage': {}} static=False depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] storage={'balance': '0', 'nonce': '1', 'code': '0x', 'storage': {}} gas=b'999999999925124' inst=97 pc=b'0' depth=0 address=b'\xc3\x05\xc9\x01\x07\x87\x81\xc22\xa2\xa5!\xc2\xafy\x80\xf88^\xe9' steps=0 pushvalue=357
TRACE:eth.vm.op vm op=JUMP stack=[b'357'] gas=b'999999999925121' inst=86 pc=b'3' steps=1 depth=0
TRACE:eth.vm.op vm op=JUMPDEST stack=[] gas=b'999999999925113' inst=91 pc=b'357' steps=2 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] gas=b'999999999925112' inst=97 pc=b'358' steps=3 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=PUSH2 stack=[b'4'] gas=b'999999999925109' inst=97 pc=b'361' steps=4 depth=0 pushvalue=357
TRACE:eth.vm.op vm op=SUB stack=[b'4', b'357'] gas=b'999999999925106' inst=3 pc=b'364' steps=5 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[b'353'] gas=b'999999999925103' inst=97 pc=b'365' steps=6 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=PUSH1 stack=[b'353', b'4'] gas=b'999999999925100' inst=96 pc=b'368' steps=7 depth=0 pushvalue=0
TRACE:eth.vm.op vm op=CODECOPY stack=[b'353', b'4', b'0'] gas=b'999999999925097' inst=57 pc=b'370' steps=8 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] memory=600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a052632f570a2360005114156101605760206004610140373415155857610408600435600401610160376103e860043560040135111515585761066061016060806105a0825160208401600073cb969caaad21a78a24083164ffa81604317ab603612918f1505060406105a051141558576105a0516105a00180602001516000825180602090135857809190125857601f6101000a8204811517155857606051816020036101000a830480604051901358578091901258579050905090508152506106605160005260206000f3005b00000000000000000000000000000000000000000000000000000000000000 gas=b'999999999925022' inst=97 pc=b'371' steps=9 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=PUSH2 stack=[b'4'] gas=b'999999999925019' inst=97 pc=b'374' steps=10 depth=0 pushvalue=357
TRACE:eth.vm.op vm op=SUB stack=[b'4', b'357'] gas=b'999999999925016' inst=3 pc=b'377' steps=11 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'353'] gas=b'999999999925013' inst=96 pc=b'378' steps=12 depth=0 pushvalue=0
TRACE:eth.vm.op vm op=RETURN stack=[b'353', b'0'] gas=b'999999999925010' inst=243 pc=b'380' steps=13 depth=0
TRACE:eth.vm.exit EXIT cause=RETURN
DEBUG:eth.pb.msg MSG APPLIED gas_remained=999999999925010 sender=82a978b3f5962a5b0957d9ee9eef472ee55b42f1 to=c305c901078781c232a2a521c2af7980f8385ee9 data=bytearray(b'`\x005`\x1cRt\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00` Ro\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff`@R\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01``Rt\x02T\x0b\xe3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfd\xab\xf4\x1c\x00`\x80R\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfd\xab\xf4\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02T\x0b\xe4\x00`\xa0Rc/W\n#`\x00Q\x14\x15a\x01`W` `\x04a\x01@74\x15\x15XWa\x04\x08`\x045`\x04\x01a\x01`7a\x03\xe8`\x045`\x04\x015\x11\x15\x15XWa\x06`a\x01``\x80a\x05\xa0\x82Q` \x84\x01`\x00s\xcb\x96\x9c\xaa\xad!\xa7\x8a$\x081d\xff\xa8\x16\x041z\xb6\x03a)\x18\xf1PP`@a\x05\xa0Q\x14\x15XWa\x05\xa0Qa\x05\xa0\x01\x80` \x01Q`\x00\x82Q\x80` \x90\x13XW\x80\x91\x90\x12XW`\x1fa\x01\x00\n\x82\x04\x81\x15\x17\x15XW``Q\x81` \x03a\x01\x00\n\x83\x04\x80`@Q\x90\x13XW\x80\x91\x90\x12XW\x90P\x90P\x90P\x81RPa\x06`Q`\x00R` `\x00\xf3\x00[') post_storage={'balance': '0', 'nonce': '1', 'code': '0x', 'storage': {}}
DEBUG:eth.pb.msg CONTRACT CREATION FINISHED res=1 gas=999999999925010 dat=bytearray(b'`\x005`\x1cRt\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00` Ro\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff`@R\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01``Rt\x02T\x0b\xe3\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfd\xab\xf4\x1c\x00`\x80R\x7f\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xfd\xab\xf4\x1c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02T\x0b\xe4\x00`\xa0Rc/W\n#`\x00Q\x14\x15a\x01`W` `\x04a\x01@74\x15\x15XWa\x04\x08`\x045`\x04\x01a\x01`7a\x03\xe8`\x045`\x04\x015\x11\x15\x15XWa\x06`a\x01``\x80a\x05\xa0\x82Q` \x84\x01`\x00s\xcb\x96\x9c\xaa\xad!\xa7\x8a$\x081d\xff\xa8\x16\x041z\xb6\x03a)\x18\xf1PP`@a\x05\xa0Q\x14\x15XWa\x05\xa0Qa\x05\xa0\x01\x80` \x01Q`\x00\x82Q\x80` \x90\x13XW\x80\x91\x90\x12XW`\x1fa\x01\x00\n\x82\x04\x81\x15\x17\x15XW``Q\x81` \x03a\x01\x00\n\x83\x04\x80`@Q\x90\x13XW\x80\x91\x90\x12XW\x90P\x90P\x90P\x81RPa\x06`Q`\x00R` `\x00\xf3\x00[')
DEBUG:eth.pb.msg SETTING CODE addr=c305c901078781c232a2a521c2af7980f8385ee9 lendat=353
DEBUG:eth.pb.tx TX APPLIED result=1 gas_remained=999999999854410 data=b'\xc3\x05\xc9\x01\x07\x87\x81\xc22\xa2\xa5!\xc2\xafy\x80\xf88^\xe9'
DEBUG:eth.pb.tx TX SUCCESS data=b'\xc3\x05\xc9\x01\x07\x87\x81\xc22\xa2\xa5!\xc2\xafy\x80\xf88^\xe9'
DEBUG:eth.pb.tx TX NEW txdict={'nonce': 1, 'gasprice': 1, 'startgas': 1000000000000, 'to': '0xc305c901078781c232a2a521c2af7980f8385ee9', 'value': 0, 'data': '0x2f570a2300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002c10a000000000000000000000000000000000000000000000000000000000000', 'v': 27, 'r': 114792761659802231967656337392030997137536388134984288097447395924159308260389, 's': 32809856356189972725823151816727860206231713167117122494407250627643104725378, 'sender': '0x82a978b3f5962a5b0957d9ee9eef472ee55b42f1', 'hash': '0x42e144282a4ea4ea3f4ac3385df78ad8a1c86c27abc249e465fd808e094cf8b7'}
DEBUG:eth.pb.msg MSG APPLY sender=82a978b3f5962a5b0957d9ee9eef472ee55b42f1 to=c305c901078781c232a2a521c2af7980f8385ee9 gas=999999978088 value=0 data=2f570a2300000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000002c10a000000000000000000000000000000000000000000000000000000000000 pre_storage={'balance': '0', 'nonce': '1', 'code': '0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a052632f570a2360005114156101605760206004610140373415155857610408600435600401610160376103e860043560040135111515585761066061016060806105a0825160208401600073cb969caaad21a78a24083164ffa81604317ab603612918f1505060406105a051141558576105a0516105a00180602001516000825180602090135857809190125857601f6101000a8204811517155857606051816020036101000a830480604051901358578091901258579050905090508152506106605160005260206000f3005b', 'storage': {}} static=False depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[] storage={'balance': '0', 'nonce': '1', 'code': '0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a052632f570a2360005114156101605760206004610140373415155857610408600435600401610160376103e860043560040135111515585761066061016060806105a0825160208401600073cb969caaad21a78a24083164ffa81604317ab603612918f1505060406105a051141558576105a0516105a00180602001516000825180602090135857809190125857601f6101000a8204811517155857606051816020036101000a830480604051901358578091901258579050905090508152506106605160005260206000f3005b', 'storage': {}} gas=b'999999978088' inst=96 pc=b'0' depth=0 address=b'\xc3\x05\xc9\x01\x07\x87\x81\xc22\xa2\xa5!\xc2\xafy\x80\xf88^\xe9' steps=0 pushvalue=0
TRACE:eth.vm.op vm op=CALLDATALOAD stack=[b'0'] gas=b'999999978085' inst=53 pc=b'2' steps=1 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'21412489539110840946130249572407580309254875434625402646261334017333855780864'] gas=b'999999978082' inst=96 pc=b'3' steps=2 depth=0 pushvalue=28
TRACE:eth.vm.op vm op=MSTORE stack=[b'21412489539110840946130249572407580309254875434625402646261334017333855780864', b'28'] gas=b'999999978079' inst=82 pc=b'5' steps=3 depth=0
TRACE:eth.vm.op vm op=PUSH21 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a230000000000000000000000000000000000000000000000000000000000000000 gas=b'999999978070' inst=116 pc=b'6' steps=4 depth=0 pushvalue=1461501637330902918203684832716283019655932542976
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1461501637330902918203684832716283019655932542976'] gas=b'999999978067' inst=96 pc=b'28' steps=5 depth=0 pushvalue=32
TRACE:eth.vm.op vm op=MSTORE stack=[b'1461501637330902918203684832716283019655932542976', b'32'] gas=b'999999978064' inst=82 pc=b'30' steps=6 depth=0
TRACE:eth.vm.op vm op=PUSH16 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a230000000000000000000000010000000000000000000000000000000000000000 gas=b'999999978061' inst=111 pc=b'31' steps=7 depth=0 pushvalue=340282366920938463463374607431768211455
TRACE:eth.vm.op vm op=PUSH1 stack=[b'340282366920938463463374607431768211455'] gas=b'999999978058' inst=96 pc=b'48' steps=8 depth=0 pushvalue=64
TRACE:eth.vm.op vm op=MSTORE stack=[b'340282366920938463463374607431768211455', b'64'] gas=b'999999978055' inst=82 pc=b'50' steps=9 depth=0
TRACE:eth.vm.op vm op=PUSH32 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff gas=b'999999978049' inst=127 pc=b'51' steps=10 depth=0 pushvalue=115792089237316195423570985008687907852929702298719625575994209400481361428481
TRACE:eth.vm.op vm op=PUSH1 stack=[b'115792089237316195423570985008687907852929702298719625575994209400481361428481'] gas=b'999999978046' inst=96 pc=b'84' steps=11 depth=0 pushvalue=96
TRACE:eth.vm.op vm op=MSTORE stack=[b'115792089237316195423570985008687907852929702298719625575994209400481361428481', b'96'] gas=b'999999978043' inst=82 pc=b'86' steps=12 depth=0
TRACE:eth.vm.op vm op=PUSH21 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000001 gas=b'999999978037' inst=116 pc=b'87' steps=13 depth=0 pushvalue=3402823669209384634633746074317682114550000000000
TRACE:eth.vm.op vm op=PUSH1 stack=[b'3402823669209384634633746074317682114550000000000'] gas=b'999999978034' inst=96 pc=b'109' steps=14 depth=0 pushvalue=128
TRACE:eth.vm.op vm op=MSTORE stack=[b'3402823669209384634633746074317682114550000000000', b'128'] gas=b'999999978031' inst=82 pc=b'111' steps=15 depth=0
TRACE:eth.vm.op vm op=PUSH32 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000002540be3fffffffffffffffffffffffffdabf41c00 gas=b'999999978025' inst=127 pc=b'112' steps=16 depth=0 pushvalue=115792089237316195423570985005285084184060600031006817965139901893363129639936
TRACE:eth.vm.op vm op=PUSH1 stack=[b'115792089237316195423570985005285084184060600031006817965139901893363129639936'] gas=b'999999978022' inst=96 pc=b'145' steps=17 depth=0 pushvalue=160
TRACE:eth.vm.op vm op=MSTORE stack=[b'115792089237316195423570985005285084184060600031006817965139901893363129639936', b'160'] gas=b'999999978019' inst=82 pc=b'147' steps=18 depth=0
TRACE:eth.vm.op vm op=PUSH4 stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000002540be3fffffffffffffffffffffffffdabf41c00fffffffffffffffffffffffdabf41c00000000000000000000000002540be400 gas=b'999999978013' inst=99 pc=b'148' steps=19 depth=0 pushvalue=794233379
TRACE:eth.vm.op vm op=PUSH1 stack=[b'794233379'] gas=b'999999978010' inst=96 pc=b'153' steps=20 depth=0 pushvalue=0
TRACE:eth.vm.op vm op=MLOAD stack=[b'794233379', b'0'] gas=b'999999978007' inst=81 pc=b'155' steps=21 depth=0
TRACE:eth.vm.op vm op=EQ stack=[b'794233379', b'794233379'] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000002540be3fffffffffffffffffffffffffdabf41c00fffffffffffffffffffffffdabf41c00000000000000000000000002540be400 gas=b'999999978004' inst=20 pc=b'156' steps=22 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'1'] gas=b'999999978001' inst=21 pc=b'157' steps=23 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[b'0'] gas=b'999999977998' inst=97 pc=b'158' steps=24 depth=0 pushvalue=352
TRACE:eth.vm.op vm op=JUMPI stack=[b'0', b'352'] gas=b'999999977995' inst=87 pc=b'161' steps=25 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[] gas=b'999999977985' inst=96 pc=b'162' steps=26 depth=0 pushvalue=32
TRACE:eth.vm.op vm op=PUSH1 stack=[b'32'] gas=b'999999977982' inst=96 pc=b'164' steps=27 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=PUSH2 stack=[b'32', b'4'] gas=b'999999977979' inst=97 pc=b'166' steps=28 depth=0 pushvalue=320
TRACE:eth.vm.op vm op=CALLDATACOPY stack=[b'32', b'4', b'320'] gas=b'999999977976' inst=55 pc=b'169' steps=29 depth=0
TRACE:eth.vm.op vm op=CALLVALUE stack=[] memory=000000000000000000000000000000000000000000000000000000002f570a23000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000000000000000000000000001000000000000000000000002540be3fffffffffffffffffffffffffdabf41c00fffffffffffffffffffffffdabf41c00000000000000000000000002540be40000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020 gas=b'999999977955' inst=52 pc=b'170' steps=30 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'0'] gas=b'999999977953' inst=21 pc=b'171' steps=31 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'1'] gas=b'999999977950' inst=21 pc=b'172' steps=32 depth=0
TRACE:eth.vm.op vm op=PC stack=[b'0'] gas=b'999999977947' inst=88 pc=b'173' steps=33 depth=0
TRACE:eth.vm.op vm op=JUMPI stack=[b'0', b'173'] gas=b'999999977945' inst=87 pc=b'174' steps=34 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] gas=b'999999977935' inst=97 pc=b'175' steps=35 depth=0 pushvalue=1032
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1032'] gas=b'999999977932' inst=96 pc=b'178' steps=36 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=CALLDATALOAD stack=[b'1032', b'4'] gas=b'999999977929' inst=53 pc=b'180' steps=37 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1032', b'32'] gas=b'999999977926' inst=96 pc=b'181' steps=38 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=ADD stack=[b'1032', b'32', b'4'] gas=b'999999977923' inst=1 pc=b'183' steps=39 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[b'1032', b'36'] gas=b'999999977920' inst=97 pc=b'184' steps=40 depth=0 pushvalue=352
TRACE:eth.vm.op vm op=CALLDATACOPY stack=[b'1032', b'36', b'352'] gas=b'999999977917' inst=55 pc=b'187' steps=41 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] sha3memory=34483522688ef3f951123ec4f4dda70d892232a5e5b33c467a3b44bc30f84a6d gas=b'999999977713' inst=97 pc=b'188' steps=42 depth=0 pushvalue=1000
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1000'] gas=b'999999977710' inst=96 pc=b'191' steps=43 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=CALLDATALOAD stack=[b'1000', b'4'] gas=b'999999977707' inst=53 pc=b'193' steps=44 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1000', b'32'] gas=b'999999977704' inst=96 pc=b'194' steps=45 depth=0 pushvalue=4
TRACE:eth.vm.op vm op=ADD stack=[b'1000', b'32', b'4'] gas=b'999999977701' inst=1 pc=b'196' steps=46 depth=0
TRACE:eth.vm.op vm op=CALLDATALOAD stack=[b'1000', b'36'] gas=b'999999977698' inst=53 pc=b'197' steps=47 depth=0
TRACE:eth.vm.op vm op=GT stack=[b'1000', b'2'] gas=b'999999977695' inst=17 pc=b'198' steps=48 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'0'] gas=b'999999977692' inst=21 pc=b'199' steps=49 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'1'] gas=b'999999977689' inst=21 pc=b'200' steps=50 depth=0
TRACE:eth.vm.op vm op=PC stack=[b'0'] gas=b'999999977686' inst=88 pc=b'201' steps=51 depth=0
TRACE:eth.vm.op vm op=JUMPI stack=[b'0', b'201'] gas=b'999999977684' inst=87 pc=b'202' steps=52 depth=0
TRACE:eth.vm.op vm op=PUSH2 stack=[] gas=b'999999977674' inst=97 pc=b'203' steps=53 depth=0 pushvalue=1632
TRACE:eth.vm.op vm op=PUSH2 stack=[b'1632'] gas=b'999999977671' inst=97 pc=b'206' steps=54 depth=0 pushvalue=352
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1632', b'352'] gas=b'999999977668' inst=96 pc=b'209' steps=55 depth=0 pushvalue=128
TRACE:eth.vm.op vm op=PUSH2 stack=[b'1632', b'352', b'128'] gas=b'999999977665' inst=97 pc=b'211' steps=56 depth=0 pushvalue=1440
TRACE:eth.vm.op vm op=DUP3 stack=[b'1632', b'352', b'128', b'1440'] gas=b'999999977662' inst=130 pc=b'214' steps=57 depth=0
TRACE:eth.vm.op vm op=MLOAD stack=[b'1632', b'352', b'128', b'1440', b'352'] gas=b'999999977659' inst=81 pc=b'215' steps=58 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1632', b'352', b'128', b'1440', b'2'] sha3memory=34483522688ef3f951123ec4f4dda70d892232a5e5b33c467a3b44bc30f84a6d gas=b'999999977656' inst=96 pc=b'216' steps=59 depth=0 pushvalue=32
TRACE:eth.vm.op vm op=DUP5 stack=[b'1632', b'352', b'128', b'1440', b'2', b'32'] gas=b'999999977653' inst=132 pc=b'218' steps=60 depth=0
TRACE:eth.vm.op vm op=ADD stack=[b'1632', b'352', b'128', b'1440', b'2', b'32', b'352'] gas=b'999999977650' inst=1 pc=b'219' steps=61 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1632', b'352', b'128', b'1440', b'2', b'384'] gas=b'999999977647' inst=96 pc=b'220' steps=62 depth=0 pushvalue=0
TRACE:eth.vm.op vm op=PUSH20 stack=[b'1632', b'352', b'128', b'1440', b'2', b'384', b'0'] gas=b'999999977644' inst=115 pc=b'222' steps=63 depth=0 pushvalue=1162283885851757935222737924176611884346054981123
TRACE:eth.vm.op vm op=PUSH2 stack=[b'1632', b'352', b'128', b'1440', b'2', b'384', b'0', b'1162283885851757935222737924176611884346054981123'] gas=b'999999977641' inst=97 pc=b'243' steps=64 depth=0 pushvalue=10520
TRACE:eth.vm.op vm op=CALL stack=[b'1632', b'352', b'128', b'1440', b'2', b'384', b'0', b'1162283885851757935222737924176611884346054981123', b'10520'] gas=b'999999977638' inst=241 pc=b'246' steps=65 depth=0
DEBUG:eth.pb.msg MSG APPLY sender=c305c901078781c232a2a521c2af7980f8385ee9 to=cb969caaad21a78a24083164ffa81604317ab603 gas=10520 value=0 data=c10a pre_storage={'balance': '0', 'nonce': '0', 'code': '0x', 'storage': {}} static=False depth=1
TRACE:eth.vm.exit EXIT cause=CODE OUT OF RANGE
DEBUG:eth.pb.msg MSG APPLIED gas_remained=10520 sender=c305c901078781c232a2a521c2af7980f8385ee9 to=cb969caaad21a78a24083164ffa81604317ab603 data=[] post_storage={'balance': '0', 'nonce': '0', 'code': '0x', 'storage': {}}
TRACE:eth.vm.op vm op=POP stack=[b'1632', b'352', b'1'] sha3memory=e3d889e5780d6f62a0764b0ee20a3ccd210b54ff6169bb47ccf7bf705db273b4 gas=b'999999976922' inst=80 pc=b'247' steps=66 depth=0
TRACE:eth.vm.op vm op=POP stack=[b'1632', b'352'] gas=b'999999976920' inst=80 pc=b'248' steps=67 depth=0
TRACE:eth.vm.op vm op=PUSH1 stack=[b'1632'] gas=b'999999976918' inst=96 pc=b'249' steps=68 depth=0 pushvalue=64
TRACE:eth.vm.op vm op=PUSH2 stack=[b'1632', b'64'] gas=b'999999976915' inst=97 pc=b'251' steps=69 depth=0 pushvalue=1440
TRACE:eth.vm.op vm op=MLOAD stack=[b'1632', b'64', b'1440'] gas=b'999999976912' inst=81 pc=b'254' steps=70 depth=0
TRACE:eth.vm.op vm op=EQ stack=[b'1632', b'64', b'0'] sha3memory=e3d889e5780d6f62a0764b0ee20a3ccd210b54ff6169bb47ccf7bf705db273b4 gas=b'999999976909' inst=20 pc=b'255' steps=71 depth=0
TRACE:eth.vm.op vm op=ISZERO stack=[b'1632', b'0'] gas=b'999999976906' inst=21 pc=b'256' steps=72 depth=0
TRACE:eth.vm.op vm op=PC stack=[b'1632', b'1'] gas=b'999999976903' inst=88 pc=b'257' steps=73 depth=0
TRACE:eth.vm.op vm op=JUMPI stack=[b'1632', b'1', b'257'] gas=b'999999976901' inst=87 pc=b'258' steps=74 depth=0
TRACE:eth.vm.exit EXCEPTION cause=BAD JUMPDEST
DEBUG:eth.pb.msg MSG APPLIED gas_remained=0 sender=82a978b3f5962a5b0957d9ee9eef472ee55b42f1 to=c305c901078781c232a2a521c2af7980f8385ee9 data=[] post_storage={'balance': '0', 'nonce': '1', 'code': '0x600035601c52740100000000000000000000000000000000000000006020526fffffffffffffffffffffffffffffffff6040527fffffffffffffffffffffffffffffffff000000000000000000000000000000016060527402540be3fffffffffffffffffffffffffdabf41c006080527ffffffffffffffffffffffffdabf41c00000000000000000000000002540be40060a052632f570a2360005114156101605760206004610140373415155857610408600435600401610160376103e860043560040135111515585761066061016060806105a0825160208401600073cb969caaad21a78a24083164ffa81604317ab603612918f1505060406105a051141558576105a0516105a00180602001516000825180602090135857809190125857601f6101000a8204811517155857606051816020036101000a830480604051901358578091901258579050905090508152506106605160005260206000f3005b', 'storage': {}}
DEBUG:eth.pb.msg REVERTING
DEBUG:eth.pb.tx TX APPLIED result=0 gas_remained=0 data=[]
DEBUG:eth.pb.tx TX FAILED reason=out of gas startgas=1000000000000 gas_remained=0
Initializing chain from provided state
Traceback (most recent call last):
File "test.py", line 19, in <module>
print(x.test(a, startgas=10**12))
File "/home/ubuntu/.pyenv/versions/py3.6.0eth/lib/python3.6/site-packages/ethereum-2.0.4-py3.6.egg/ethereum/tools/tester.py", line 97, in kall
startgas=kwargs.get('startgas', STARTGAS)
File "/home/ubuntu/.pyenv/versions/py3.6.0eth/lib/python3.6/site-packages/ethereum-2.0.4-py3.6.egg/ethereum/tools/tester.py", line 147, in tx
o = self.direct_tx(transaction)
File "/home/ubuntu/.pyenv/versions/py3.6.0eth/lib/python3.6/site-packages/ethereum-2.0.4-py3.6.egg/ethereum/tools/tester.py", line 140, in direct_tx
raise TransactionFailed()
ethereum.tools.tester.TransactionFailed
The issue is because you didn't publish the RLP decoder contract to the chain. You want to publish the tx:
0xf90237808506fc23ac00830330888080b902246102128061000e60003961022056600060007f010000000000000000000000000000000000000000000000000000000000000060003504600060c082121515585760f882121561004d5760bf820336141558576001905061006e565b600181013560f783036020035260005160f6830301361415585760f6820390505b5b368112156101c2577f010000000000000000000000000000000000000000000000000000000000000081350483602086026040015260018501945060808112156100d55760018461044001526001828561046001376001820191506021840193506101bc565b60b881121561014357608081038461044001526080810360018301856104600137608181141561012e5760807f010000000000000000000000000000000000000000000000000000000000000060018401350412151558575b607f81038201915060608103840193506101bb565b60c08112156101b857600182013560b782036020035260005160388112157f010000000000000000000000000000000000000000000000000000000000000060018501350402155857808561044001528060b6838501038661046001378060b6830301830192506020810185019450506101ba565bfe5b5b5b5061006f565b601f841315155857602060208502016020810391505b6000821215156101fc578082604001510182826104400301526020820391506101d8565b808401610420528381018161044003f350505050505b6000f31b2d4f
Obviously first send a bit of ETH to the sender to pay for gas.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@mhchia What is the output when you enable EVM logging?