-
Notifications
You must be signed in to change notification settings - Fork 2
/
tx_test.go
131 lines (114 loc) · 27.9 KB
/
tx_test.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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
package boost
// Example BOB tx (valid signature and address)
const sampleValidBoostTx = `{"tx":{"h":"6bb713a65d0735cbe581ac66458ab83b557a58c198af2e2b5a2228d1b7ff8b87"},"in":[{"i":0,"seq":4294967295,"e":{"h":"5cdb5654da5c7ef45585475bc971a291d7311ea54601d9301e08c69307c0e45e","i":5,"a":"1CeJZk9X21hmgBCRgJCyKWDkv95XaMeKuJ"},"tape":[{"i":0,"cell":[{"b":"MEQCICKi9V921YUIvGGFvfU7G78q8wgMJxF2SduR5LyOMbCAAiAx7UylcyfniA87IH3GMwvq+XAPHWUzkL/z5Ydk6V3MO0E=","h":"3044022022a2f55f76d58508bc6185bdf53b1bbf2af3080c27117649db91e4bc8e31b080022031ed4ca57327e7880f3b207dc6330beaf9700f1d653390bff3e58764e95dcc3b41","s":"0D\u0002\"��_vՅ\b�a���;\u001b�*�\b\f'\u0011vIۑ伎1��\u00021�L�s'�\u000f;}�3\u000b��p\u000f\u001de3����d�]�;A","i":0,"ii":0},{"b":"AiXonC2Oq5Fmu3B9ZgGWTZU8/mxHREXNUDsTl8JTaOm/","h":"0225e89c2d8eab9166bb707d6601964d953cfe6c474445cd503b1397c25368e9bf","s":"\u0002%�-���f�p}f\u0001�M�<�lGDE�P;\u0013��Sh�","i":1,"ii":1}]}]},{"i":1,"seq":4294967295,"e":{"h":"5cdb5654da5c7ef45585475bc971a291d7311ea54601d9301e08c69307c0e45e","i":6,"a":"1CeJZk9X21hmgBCRgJCyKWDkv95XaMeKuJ"},"tape":[{"i":0,"cell":[{"b":"MEUCIQCKlhRkbu4wZ1v4llPb6H/2rxAM6l59ziaq09RAmMV2qwIgc/sGdvO/8Gm0mat3LcTMKIouF5i1drBmKEwp5UBoFxlB","h":"30450221008a9614646eee30675bf89653dbe87ff6af100cea5e7dce26aad3d44098c576ab022073fb0676f3bff069b499ab772dc4cc288a2e1798b576b066284c29e54068171941","s":"0E\u0002!\u0000��\u0014dn�0g[��S����\u0010\f�^}�&���@��v�\u0002s�\u0006v��i���w-��(�.\u0017��v�f(L)�@h\u0017\u0019A","i":0,"ii":0},{"b":"AiXonC2Oq5Fmu3B9ZgGWTZU8/mxHREXNUDsTl8JTaOm/","h":"0225e89c2d8eab9166bb707d6601964d953cfe6c474445cd503b1397c25368e9bf","s":"\u0002%�-���f�p}f\u0001�M�<�lGDE�P;\u0013��Sh�","i":1,"ii":1}]}]}],"out":[{"i":0,"e":{"v":0,"i":0,"a":false},"tape":[{"i":0,"cell":[{"op":0,"ops":"OP_0","i":0,"ii":0},{"op":106,"ops":"OP_RETURN","i":1,"ii":1}]},{"i":1,"cell":[{"b":"MTlIeGlnVjRReUJ2M3RIcFFWY1VFUXlxMXB6WlZkb0F1dA==","h":"31394878696756345179427633744870515663554551797131707a5a56646f417574","s":"19HxigV4QyBv3tHpQVcUEQyq1pzZVdoAut","i":1,"ii":2},{"b":"I3Jpc2sgI2ZpbmFuY2U=","h":"237269736b202366696e616e6365","s":"#risk#finance","i":2,"ii":3},{"b":"dGV4dC9wbGFpbg==","h":"746578742f706c61696e","s":"text/plain","i":3,"ii":4},{"b":"dGV4dA==","h":"74657874","s":"text","i":4,"ii":5},{"b":"dHdldGNoX3R3dGV4dF8xNjAxNTUyNTE5MTcxLnR4dA==","h":"7477657463685f7477746578745f313630313535323531393137312e747874","s":"twetch_twtext_1601552519171.txt","i":5,"ii":6}]},{"i":2,"cell":[{"b":"MVB1UWE3SzYyTWlLQ3Rzc1NMS3kxa2g1NldXVTdNdFVSNQ==","h":"3150755161374b36324d694b43747373534c4b79316b683536575755374d74555235","s":"1PuQa7K62MiKCtssSLKy1kh56WWU7MtUR5","i":1,"ii":8},{"b":"U0VU","h":"534554","s":"SET","i":2,"ii":9},{"b":"dHdkYXRhX2pzb24=","h":"7477646174615f6a736f6e","s":"twdata_json","i":3,"ii":10},{"b":"bnVsbA==","h":"6e756c6c","s":"null","i":4,"ii":11},{"b":"dXJs","h":"75726c","s":"url","i":5,"ii":12},{"b":"bnVsbA==","h":"6e756c6c","s":"null","i":6,"ii":13},{"b":"Y29tbWVudA==","h":"636f6d6d656e74","s":"comment","i":7,"ii":14},{"b":"bnVsbA==","h":"6e756c6c","s":"null","i":8,"ii":15},{"b":"bWJfdXNlcg==","h":"6d625f75736572","s":"mb_user","i":9,"ii":16},{"b":"NTIz","h":"353233","s":"523","i":10,"ii":17},{"b":"cmVwbHk=","h":"7265706c79","s":"reply","i":11,"ii":18},{"b":"bnVsbA==","h":"6e756c6c","s":"null","i":12,"ii":19},{"b":"dHlwZQ==","h":"74797065","s":"type","i":13,"ii":20},{"b":"cG9zdA==","h":"706f7374","s":"post","i":14,"ii":21},{"b":"dGltZXN0YW1w","h":"74696d657374616d70","s":"timestamp","i":15,"ii":22},{"b":"bnVsbA==","h":"6e756c6c","s":"null","i":16,"ii":23},{"b":"YXBw","h":"617070","s":"app","i":17,"ii":24},{"b":"dHdldGNo","h":"747765746368","s":"twetch","i":18,"ii":25},{"b":"aW52b2ljZQ==","h":"696e766f696365","s":"invoice","i":19,"ii":26},{"b":"ZDllZGE5NDEtNGZmMS00MzZlLWJjYjAtMDA1NTI4NjhhM2Fh","h":"64396564613934312d346666312d343336652d626362302d303035353238363861336161","s":"d9eda941-4ff1-436e-bcb0-00552868a3aa","i":20,"ii":27}]},{"i":3,"cell":[{"b":"MTVQY2lIRzIyU05MUUpYTW9TVWFXVmk3V1NxYzdoQ2Z2YQ==","h":"313550636948473232534e4c514a584d6f5355615756693757537163376843667661","s":"15PciHG22SNLQJXMoSUaWVi7WSqc7hCfva","i":1,"ii":29},{"b":"QklUQ09JTl9FQ0RTQQ==","h":"424954434f494e5f4543445341","s":"BITCOIN_ECDSA","i":2,"ii":30},{"b":"MUpKUWVNTlFYMmpuckxoM21BSGlFVXNMa0o0dnJNdWQzWA==","h":"314a4a51654d4e5158326a6e724c68336d4148694555734c6b4a3476724d75643358","s":"1JJQeMNQX2jnrLh3mAHiEUsLkJ4vrMud3X","i":3,"ii":31},{"b":"SDQzOGExL0k3bjdZTk0zTzZWdzhFcVlWRzhneEw2Zjk3UWkvak53UjNmT0JaUVZyZ2ZuQVZrNWJvRjY4bkpqYnZ1OUJFYU10T2FRUUZhZjFGK2JMaS8wPQ==","h":"4834333861312f49376e37594e4d334f3656773845715956473867784c3666393751692f6a4e775233664f425a51567267666e41566b35626f4636386e4a6a627675394245614d744f61515146616631462b624c692f303d","s":"H438a1/I7n7YNM3O6Vw8EqYVG8gxL6f97Qi/jNwR3fOBZQVrgfnAVk5boF68nJjbvu9BEaMtOaQQFaf1F+bLi/0=","i":4,"ii":32}]}]},{"i":1,"e":{"v":10197,"i":1,"a":"1Twetcht1cTUxpdDoX5HQRpoXeuupAdyf"},"tape":[{"i":0,"cell":[{"op":118,"ops":"OP_DUP","i":0,"ii":0},{"op":169,"ops":"OP_HASH160","i":1,"ii":1},{"b":"BRhv8HEO0AQinmRMBlOymFxkiiM=","h":"05186ff0710ed004229e644c0653b2985c648a23","s":"\u0005\u0018o�q\u000e�\u0004\"�dL\u0006S��\\d�#","i":2,"ii":2},{"op":136,"ops":"OP_EQUALVERIFY","i":3,"ii":3},{"op":172,"ops":"OP_CHECKSIG","i":4,"ii":4}]}]},{"i":2,"e":{"v":1133,"i":2,"a":"1CGQdN5yELmXbMbZAx6YCPWayjZtDcdUoV"},"tape":[{"i":0,"cell":[{"op":118,"ops":"OP_DUP","i":0,"ii":0},{"op":169,"ops":"OP_HASH160","i":1,"ii":1},{"b":"e5NYiO8HZRnpwkqnGQCzdhtv0r0=","h":"7b935888ef076519e9c24aa71900b3761b6fd2bd","s":"{�X��\u0007e\u0019��J�\u0019\u0000�v\u001boҽ","i":2,"ii":2},{"op":136,"ops":"OP_EQUALVERIFY","i":3,"ii":3},{"op":172,"ops":"OP_CHECKSIG","i":4,"ii":4}]}]},{"i":3,"e":{"v":700,"i":3,"a":false},"tape":[{"i":0,"cell":[{"b":"GOqonbdDGmLTJRC9AlPg2XWNgFrmKaPKeCRYeM7mCx0=","h":"18eaa89db7431a62d32510bd0253e0d9758d805ae629a3ca78245878cee60b1d","s":"\u0018ꨝ�C\u001ab�%\u0010�\u0002S��u��Z�)��x$Xx��\u000b\u001d","i":0,"ii":0},{"b":"Ieg=","h":"21e8","s":"!�","i":1,"ii":1},{"op":130,"ops":"OP_SIZE","i":2,"ii":2},{"op":84,"ops":"OP_4","i":3,"ii":3},{"op":121,"ops":"OP_PICK","i":4,"ii":4},{"op":168,"ops":"OP_SHA256","i":5,"ii":5},{"op":124,"ops":"OP_SWAP","i":6,"ii":6},{"op":127,"ops":"OP_SPLIT","i":7,"ii":7},{"op":117,"ops":"OP_DROP","i":8,"ii":8},{"op":136,"ops":"OP_EQUALVERIFY","i":9,"ii":9},{"op":117,"ops":"OP_DROP","i":10,"ii":10},{"op":172,"ops":"OP_CHECKSIG","i":11,"ii":11}]}]},{"i":4,"e":{"v":1200,"i":4,"a":false},"tape":[{"i":0,"cell":[{"b":"Ym9vc3Rwb3c=","h":"626f6f7374706f77","s":"boostpow","i":0,"ii":0},{"op":117,"ops":"OP_DROP","i":1,"ii":1},{"b":"AAAAAA==","h":"00000000","s":"\u0000\u0000\u0000\u0000","i":2,"ii":2},{"b":"GOqonbdDGmLTJRC9AlPg2XWNgFrmKaPKeCRYeM7mCx0=","h":"18eaa89db7431a62d32510bd0253e0d9758d805ae629a3ca78245878cee60b1d","s":"\u0018ꨝ�C\u001ab�%\u0010�\u0002S��u��Z�)��x$Xx��\u000b\u001d","i":3,"ii":3},{"b":"//8AHQ==","h":"ffff001d","s":"��\u0000\u001d","i":4,"ii":4},{"b":"a3NpciMAAAAAAAAAAAAAAAAAAAA=","h":"6b73697223000000000000000000000000000000","s":"ksir#\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":5,"ii":5},{"b":"AAAAAA==","h":"00000000","s":"\u0000\u0000\u0000\u0000","i":6,"ii":6},{"b":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","h":"0000000000000000000000000000000000000000000000000000000000000000","s":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":7,"ii":7},{"op":126,"ops":"OP_CAT","i":8,"ii":8},{"op":124,"ops":"OP_SWAP","i":9,"ii":9},{"op":85,"ops":"OP_5","i":10,"ii":10},{"op":122,"ops":"OP_ROLL","i":11,"ii":11},{"op":118,"ops":"OP_DUP","i":12,"ii":12},{"op":107,"ops":"OP_TOALTSTACK","i":13,"ii":13},{"op":126,"ops":"OP_CAT","i":14,"ii":14},{"op":82,"ops":"OP_2","i":15,"ii":15},{"op":121,"ops":"OP_PICK","i":16,"ii":16},{"op":107,"ops":"OP_TOALTSTACK","i":17,"ii":17},{"op":85,"ops":"OP_5","i":18,"ii":18},{"op":122,"ops":"OP_ROLL","i":19,"ii":19},{"op":130,"ops":"OP_SIZE","i":20,"ii":20},{"op":84,"ops":"OP_4","i":21,"ii":21},{"op":136,"ops":"OP_EQUALVERIFY","i":22,"ii":22},{"op":126,"ops":"OP_CAT","i":23,"ii":23},{"op":85,"ops":"OP_5","i":24,"ii":24},{"op":122,"ops":"OP_ROLL","i":25,"ii":25},{"op":130,"ops":"OP_SIZE","i":26,"ii":26},{"op":88,"ops":"OP_8","i":27,"ii":27},{"op":136,"ops":"OP_EQUALVERIFY","i":28,"ii":28},{"op":126,"ops":"OP_CAT","i":29,"ii":29},{"op":124,"ops":"OP_SWAP","i":30,"ii":30},{"op":126,"ops":"OP_CAT","i":31,"ii":31},{"op":170,"ops":"OP_HASH256","i":32,"ii":32},{"op":124,"ops":"OP_SWAP","i":33,"ii":33},{"op":107,"ops":"OP_TOALTSTACK","i":34,"ii":34},{"op":126,"ops":"OP_CAT","i":35,"ii":35},{"op":126,"ops":"OP_CAT","i":36,"ii":36},{"op":124,"ops":"OP_SWAP","i":37,"ii":37},{"op":130,"ops":"OP_SIZE","i":38,"ii":38},{"op":84,"ops":"OP_4","i":39,"ii":39},{"op":136,"ops":"OP_EQUALVERIFY","i":40,"ii":40},{"op":126,"ops":"OP_CAT","i":41,"ii":41},{"op":108,"ops":"OP_FROMALTSTACK","i":42,"ii":42},{"op":126,"ops":"OP_CAT","i":43,"ii":43},{"op":124,"ops":"OP_SWAP","i":44,"ii":44},{"op":130,"ops":"OP_SIZE","i":45,"ii":45},{"op":84,"ops":"OP_4","i":46,"ii":46},{"op":136,"ops":"OP_EQUALVERIFY","i":47,"ii":47},{"op":126,"ops":"OP_CAT","i":48,"ii":48},{"op":170,"ops":"OP_HASH256","i":49,"ii":49},{"b":"AA==","h":"00","s":"\u0000","i":50,"ii":50},{"op":126,"ops":"OP_CAT","i":51,"ii":51},{"op":129,"ops":"OP_BIN2NUM","i":52,"ii":52},{"op":108,"ops":"OP_FROMALTSTACK","i":53,"ii":53},{"op":130,"ops":"OP_SIZE","i":54,"ii":54},{"op":84,"ops":"OP_4","i":55,"ii":55},{"op":136,"ops":"OP_EQUALVERIFY","i":56,"ii":56},{"op":83,"ops":"OP_3","i":57,"ii":57},{"op":127,"ops":"OP_SPLIT","i":58,"ii":58},{"op":118,"ops":"OP_DUP","i":59,"ii":59},{"op":129,"ops":"OP_BIN2NUM","i":60,"ii":60},{"op":83,"ops":"OP_3","i":61,"ii":61},{"b":"IQ==","h":"21","s":"!","i":62,"ii":62},{"op":165,"ops":"OP_WITHIN","i":63,"ii":63},{"op":105,"ops":"OP_VERIFY","i":64,"ii":64},{"op":107,"ops":"OP_TOALTSTACK","i":65,"ii":65},{"op":118,"ops":"OP_DUP","i":66,"ii":66},{"op":129,"ops":"OP_BIN2NUM","i":67,"ii":67},{"op":0,"ops":"OP_0","i":68,"ii":68},{"op":160,"ops":"OP_GREATERTHAN","i":69,"ii":69},{"op":105,"ops":"OP_VERIFY","i":70,"ii":70},{"b":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","h":"0000000000000000000000000000000000000000000000000000000000","s":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":71,"ii":71},{"op":126,"ops":"OP_CAT","i":72,"ii":72},{"op":108,"ops":"OP_FROMALTSTACK","i":73,"ii":73},{"op":83,"ops":"OP_3","i":74,"ii":74},{"op":148,"ops":"OP_SUB","i":75,"ii":75},{"op":88,"ops":"OP_8","i":76,"ii":76},{"op":149,"ops":"OP_MUL","i":77,"ii":77},{"op":153,"ops":"OP_RSHIFT","i":78,"ii":78},{"b":"AA==","h":"00","s":"\u0000","i":79,"ii":79},{"op":126,"ops":"OP_CAT","i":80,"ii":80},{"op":129,"ops":"OP_BIN2NUM","i":81,"ii":81},{"op":159,"ops":"OP_LESSTHAN","i":82,"ii":82},{"op":105,"ops":"OP_VERIFY","i":83,"ii":83},{"op":118,"ops":"OP_DUP","i":84,"ii":84},{"op":169,"ops":"OP_HASH160","i":85,"ii":85},{"op":108,"ops":"OP_FROMALTSTACK","i":86,"ii":86},{"op":136,"ops":"OP_EQUALVERIFY","i":87,"ii":87},{"op":172,"ops":"OP_CHECKSIG","i":88,"ii":88}]}]},{"i":5,"e":{"v":700,"i":5,"a":false},"tape":[{"i":0,"cell":[{"b":"S9lK8+dvV7oT15DwLV/zrX3QRRwqMezSyx/bsPOpMjM=","h":"4bd94af3e76f57ba13d790f02d5ff3ad7dd0451c2a31ecd2cb1fdbb0f3a93233","s":"K�J��oW�\u0013א�-_�}�E\u001c*1���\u001f۰�23","i":0,"ii":0},{"b":"Ieg=","h":"21e8","s":"!�","i":1,"ii":1},{"op":130,"ops":"OP_SIZE","i":2,"ii":2},{"op":84,"ops":"OP_4","i":3,"ii":3},{"op":121,"ops":"OP_PICK","i":4,"ii":4},{"op":168,"ops":"OP_SHA256","i":5,"ii":5},{"op":124,"ops":"OP_SWAP","i":6,"ii":6},{"op":127,"ops":"OP_SPLIT","i":7,"ii":7},{"op":117,"ops":"OP_DROP","i":8,"ii":8},{"op":136,"ops":"OP_EQUALVERIFY","i":9,"ii":9},{"op":117,"ops":"OP_DROP","i":10,"ii":10},{"op":172,"ops":"OP_CHECKSIG","i":11,"ii":11}]}]},{"i":6,"e":{"v":1200,"i":6,"a":false},"tape":[{"i":0,"cell":[{"b":"Ym9vc3Rwb3c=","h":"626f6f7374706f77","s":"boostpow","i":0,"ii":0},{"op":117,"ops":"OP_DROP","i":1,"ii":1},{"b":"AAAAAA==","h":"00000000","s":"\u0000\u0000\u0000\u0000","i":2,"ii":2},{"b":"S9lK8+dvV7oT15DwLV/zrX3QRRwqMezSyx/bsPOpMjM=","h":"4bd94af3e76f57ba13d790f02d5ff3ad7dd0451c2a31ecd2cb1fdbb0f3a93233","s":"K�J��oW�\u0013א�-_�}�E\u001c*1���\u001f۰�23","i":3,"ii":3},{"b":"//8AHQ==","h":"ffff001d","s":"��\u0000\u001d","i":4,"ii":4},{"b":"ZWNuYW5pZiMAAAAAAAAAAAAAAAA=","h":"65636e616e696623000000000000000000000000","s":"ecnanif#\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":5,"ii":5},{"b":"AAAAAA==","h":"00000000","s":"\u0000\u0000\u0000\u0000","i":6,"ii":6},{"b":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","h":"0000000000000000000000000000000000000000000000000000000000000000","s":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":7,"ii":7},{"op":126,"ops":"OP_CAT","i":8,"ii":8},{"op":124,"ops":"OP_SWAP","i":9,"ii":9},{"op":85,"ops":"OP_5","i":10,"ii":10},{"op":122,"ops":"OP_ROLL","i":11,"ii":11},{"op":118,"ops":"OP_DUP","i":12,"ii":12},{"op":107,"ops":"OP_TOALTSTACK","i":13,"ii":13},{"op":126,"ops":"OP_CAT","i":14,"ii":14},{"op":82,"ops":"OP_2","i":15,"ii":15},{"op":121,"ops":"OP_PICK","i":16,"ii":16},{"op":107,"ops":"OP_TOALTSTACK","i":17,"ii":17},{"op":85,"ops":"OP_5","i":18,"ii":18},{"op":122,"ops":"OP_ROLL","i":19,"ii":19},{"op":130,"ops":"OP_SIZE","i":20,"ii":20},{"op":84,"ops":"OP_4","i":21,"ii":21},{"op":136,"ops":"OP_EQUALVERIFY","i":22,"ii":22},{"op":126,"ops":"OP_CAT","i":23,"ii":23},{"op":85,"ops":"OP_5","i":24,"ii":24},{"op":122,"ops":"OP_ROLL","i":25,"ii":25},{"op":130,"ops":"OP_SIZE","i":26,"ii":26},{"op":88,"ops":"OP_8","i":27,"ii":27},{"op":136,"ops":"OP_EQUALVERIFY","i":28,"ii":28},{"op":126,"ops":"OP_CAT","i":29,"ii":29},{"op":124,"ops":"OP_SWAP","i":30,"ii":30},{"op":126,"ops":"OP_CAT","i":31,"ii":31},{"op":170,"ops":"OP_HASH256","i":32,"ii":32},{"op":124,"ops":"OP_SWAP","i":33,"ii":33},{"op":107,"ops":"OP_TOALTSTACK","i":34,"ii":34},{"op":126,"ops":"OP_CAT","i":35,"ii":35},{"op":126,"ops":"OP_CAT","i":36,"ii":36},{"op":124,"ops":"OP_SWAP","i":37,"ii":37},{"op":130,"ops":"OP_SIZE","i":38,"ii":38},{"op":84,"ops":"OP_4","i":39,"ii":39},{"op":136,"ops":"OP_EQUALVERIFY","i":40,"ii":40},{"op":126,"ops":"OP_CAT","i":41,"ii":41},{"op":108,"ops":"OP_FROMALTSTACK","i":42,"ii":42},{"op":126,"ops":"OP_CAT","i":43,"ii":43},{"op":124,"ops":"OP_SWAP","i":44,"ii":44},{"op":130,"ops":"OP_SIZE","i":45,"ii":45},{"op":84,"ops":"OP_4","i":46,"ii":46},{"op":136,"ops":"OP_EQUALVERIFY","i":47,"ii":47},{"op":126,"ops":"OP_CAT","i":48,"ii":48},{"op":170,"ops":"OP_HASH256","i":49,"ii":49},{"b":"AA==","h":"00","s":"\u0000","i":50,"ii":50},{"op":126,"ops":"OP_CAT","i":51,"ii":51},{"op":129,"ops":"OP_BIN2NUM","i":52,"ii":52},{"op":108,"ops":"OP_FROMALTSTACK","i":53,"ii":53},{"op":130,"ops":"OP_SIZE","i":54,"ii":54},{"op":84,"ops":"OP_4","i":55,"ii":55},{"op":136,"ops":"OP_EQUALVERIFY","i":56,"ii":56},{"op":83,"ops":"OP_3","i":57,"ii":57},{"op":127,"ops":"OP_SPLIT","i":58,"ii":58},{"op":118,"ops":"OP_DUP","i":59,"ii":59},{"op":129,"ops":"OP_BIN2NUM","i":60,"ii":60},{"op":83,"ops":"OP_3","i":61,"ii":61},{"b":"IQ==","h":"21","s":"!","i":62,"ii":62},{"op":165,"ops":"OP_WITHIN","i":63,"ii":63},{"op":105,"ops":"OP_VERIFY","i":64,"ii":64},{"op":107,"ops":"OP_TOALTSTACK","i":65,"ii":65},{"op":118,"ops":"OP_DUP","i":66,"ii":66},{"op":129,"ops":"OP_BIN2NUM","i":67,"ii":67},{"op":0,"ops":"OP_0","i":68,"ii":68},{"op":160,"ops":"OP_GREATERTHAN","i":69,"ii":69},{"op":105,"ops":"OP_VERIFY","i":70,"ii":70},{"b":"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=","h":"0000000000000000000000000000000000000000000000000000000000","s":"\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000","i":71,"ii":71},{"op":126,"ops":"OP_CAT","i":72,"ii":72},{"op":108,"ops":"OP_FROMALTSTACK","i":73,"ii":73},{"op":83,"ops":"OP_3","i":74,"ii":74},{"op":148,"ops":"OP_SUB","i":75,"ii":75},{"op":88,"ops":"OP_8","i":76,"ii":76},{"op":149,"ops":"OP_MUL","i":77,"ii":77},{"op":153,"ops":"OP_RSHIFT","i":78,"ii":78},{"b":"AA==","h":"00","s":"\u0000","i":79,"ii":79},{"op":126,"ops":"OP_CAT","i":80,"ii":80},{"op":129,"ops":"OP_BIN2NUM","i":81,"ii":81},{"op":159,"ops":"OP_LESSTHAN","i":82,"ii":82},{"op":105,"ops":"OP_VERIFY","i":83,"ii":83},{"op":118,"ops":"OP_DUP","i":84,"ii":84},{"op":169,"ops":"OP_HASH160","i":85,"ii":85},{"op":108,"ops":"OP_FROMALTSTACK","i":86,"ii":86},{"op":136,"ops":"OP_EQUALVERIFY","i":87,"ii":87},{"op":172,"ops":"OP_CHECKSIG","i":88,"ii":88}]}]},{"i":7,"e":{"v":596589,"i":7,"a":"1CeJZk9X21hmgBCRgJCyKWDkv95XaMeKuJ"},"tape":[{"i":0,"cell":[{"op":118,"ops":"OP_DUP","i":0,"ii":0},{"op":169,"ops":"OP_HASH160","i":1,"ii":1},{"b":"f7dvtQTTn4PG2Gqgdjl3qCsg6vg=","h":"7fb76fb504d39f83c6d86aa0763977a82b20eaf8","s":"�o�\u0004ӟ���j�v9w�+��","i":2,"ii":2},{"op":136,"ops":"OP_EQUALVERIFY","i":3,"ii":3},{"op":172,"ops":"OP_CHECKSIG","i":4,"ii":4}]}]},{"i":8,"e":{"v":596589,"i":8,"a":"1CeJZk9X21hmgBCRgJCyKWDkv95XaMeKuJ"},"tape":[{"i":0,"cell":[{"op":118,"ops":"OP_DUP","i":0,"ii":0},{"op":169,"ops":"OP_HASH160","i":1,"ii":1},{"b":"f7dvtQTTn4PG2Gqgdjl3qCsg6vg=","h":"7fb76fb504d39f83c6d86aa0763977a82b20eaf8","s":"�o�\u0004ӟ���j�v9w�+��","i":2,"ii":2},{"op":136,"ops":"OP_EQUALVERIFY","i":3,"ii":3},{"op":172,"ops":"OP_CHECKSIG","i":4,"ii":4}]}]}],"lock":0}`
/////////////////////////////////////////////////////////////////////////////
// BOOST TEST VECTORS
// https://github.com/pow-co/boostpow-go/blob/main/README.md
/////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////
// V1 BOUNTY
/////////////////////////////////////////////////////////////////////////////
// Bounty, version 1
// spend - c5c7248302683107aa91014fd955908a7c572296e803512e497ddf7d1f458bd3
const bountyV1SpendRaw = "0100000001e0ea284dbd5bac08e09c02ed3453b640e0fcd4d0b4cdeb3457002c6a78bea8f1000000006a4730440220221e92fad96878479cc637ae490eef446bf2903eaa8690c0f08f34f40da8c59e02200c2af911c1750720e9ef1056a791cbae8f344a3ff5800805ef95a387506f9c714121035cdc1e244b8dad15bf688ffef35450be993558f4345ebf9241727ccb669cc2fbffffffff02a086010000000000cf08626f6f7374706f7775045704000020d8d083b2d51f0652785201324105d3c39c662fa44062ccedacf883528b803273049cff631d067468656f727904890000001c746869732069732074686520426f6f737420776869746570617065727e7c557a766b7e52796b557a8254887e557a8258887e7c7eaa7c6b7e7e7c8254887e6c7e7c8254887eaa01007e816c825488537f7681530121a5696b768100a0691d00000000000000000000000000000000000000000000000000000000007e6c539458959901007e819f6976a96c88ac74ba0d00000000001976a914ed5bf460b28f7c7f1aff14737a4ec5277c83a8eb88ac1ee90b00"
// redeem - 99bbbc28d39427bf530c05dc90db12e0953122fe5055afce6370d89a0085c28d
// expected values
//
// {
// signature: 3044022100ac4003d62ddadbf0bff9cbe63d0f6ad740494ee7fcf5f296cfc056f52f087c7c021f2f9e2db03b141ce88edc1c10850a0831dea63edd6c6a8040d80e24737e6d4a41
// pubkey: 03097e9768554d40c0b5b18e44db2a15bbd137a373c39af46033049477bcbb79a4
// nonce : 31497
// timestamp : 1677268580
// extra_nonce_2 : "0f0445b186e64adc"
// extra_nonce_1 : 909479219
// miner_pubkey_hash: 0xa3c10ac097a7da0009a786cc17edc1391a3bddf6
// }
const bountyV1RedeemRaw = "0100000001d38b451f7ddf7d492e5103e89622577c8a9055d94f0191aa073168028324c7c50000000097473044022100ac4003d62ddadbf0bff9cbe63d0f6ad740494ee7fcf5f296cfc056f52f087c7c021f2f9e2db03b141ce88edc1c10850a0831dea63edd6c6a8040d80e24737e6d4a412103097e9768554d40c0b5b18e44db2a15bbd137a373c39af46033049477bcbb79a404097b0000046416f963080f0445b186e64adc0436358d3314f6dd3b1a39c1ed17cc86a70900daa797c00ac1a3ffffffff0194860100000000001976a9142027b460f00b62f1c5164b2dd4ce111fd6e83a7e88ac00000000"
/////////////////////////////////////////////////////////////////////////////
// V1 CONTRACT
/////////////////////////////////////////////////////////////////////////////
// spend - ed122aa475c02ee049b342d9224bc140f015eee30b8411ad999c6a8378d9766e
// expected values
//
// {
// content=0x7332808b5283f8acedcc6240a42f669cc3d305413201527852061fd5b283d0d8
// difficulty: .01
// topic: "theory"
// additional_data: "this is the Boost whitepaper"
// category: 1111
// user_nonce: 137
// miner_address: 16nhPWCkbkR1bNACwPYULBWyvxQ5MCDZBo
// version: 1
// }
const contractV1SpendRaw = "0100000001442172010bb2cbbb9991812c7c8fda0b2ae29d843729ac3ee848837e88efaa12010000006b483045022100d1c9aa00ede0ce3df516fca45df423d3469b0e4ae82ee46d54b794cdee7a2407022048a7ac6be9b651581dbffc12abea143afde17d0e2b3238ea081c33a9e9a5773b412103596b7d1f6762663a8a7b4f0c017e18750dee0bbc3d48ed0ae108d9f3d6147067ffffffff02a086010000000000e408626f6f7374706f7775143f7d0fb7b1550d29f0e205a1359199a90585bb81045704000020d8d083b2d51f0652785201324105d3c39c662fa44062ccedacf883528b803273049cff631d067468656f727904890000001c746869732069732074686520426f6f737420776869746570617065727e7c557a766b7e52796b557a8254887e557a8258887e7c7eaa7c6b7e7e7c8254887e6c7e7c8254887eaa01007e816c825488537f7681530121a5696b768100a0691d00000000000000000000000000000000000000000000000000000000007e6c539458959901007e819f6976a96c88acdcaa0a00000000001976a91462cbeccad6ba644448f4d37407414d7e539aa83188ac2ae90b00"
// redeem - 85f9461ce4c88755052673edc6aab16d817b80aad6ce02ad2e80d36e6df78317
// expected values
//
// {
// signature: 3045022100ac1f6aa4153037920cec3d18ef6e129eaefabe88c98f8e19aea7af806b645aad02203b521118c2b7b5fa64382f559db17a5d58e0d160196d3f06989df98731215f1b41
// pubkey: 03e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e37
// nonce : 4799381
// timestamp : 1677270497
// extra_nonce_2 : "2df60742aed5d329"
// extra_nonce_1 : 1035367878
// }
// const contractV1RedeemRaw = "01000000016e76d978836a9c99ad11840be3ee15f040c14b22d942b349e02ec075a42a12ed0000000083483045022100ac1f6aa4153037920cec3d18ef6e129eaefabe88c98f8e19aea7af806b645aad02203b521118c2b7b5fa64382f559db17a5d58e0d160196d3f06989df98731215f1b412103e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e3704953b490004e11df963082df60742aed5d329043db675c6ffffffff0195860100000000001976a9140be031e2c8074aa886e5eba191f06dfbf1768ee188ac00000000"
/////////////////////////////////////////////////////////////////////////////
// V2 BOUNTY
/////////////////////////////////////////////////////////////////////////////
// spend - 12aaef887e8348e83eac2937849de22a0bda8f7c2c819199bbcbb20b01722144
// expected values
//
// {
// content=0x7332808b5283f8acedcc6240a42f669cc3d305413201527852061fd5b283d0d8
// difficulty: .01
// topic: "theory"
// additional_data: "this is the Boost whitepaper"
// category: 1111
// user_nonce: 137
// version: 2
// }
const bountyV2SpendRaw = "0100000001d38b451f7ddf7d492e5103e89622577c8a9055d94f0191aa073168028324c7c5010000006a47304402207e7dfea75e01d011a2f1025a85ad79fab6ac61da5feb2105fafb3865ca71a13102205af73ec342c43da189dd0cbe2d8a2e9c5a3792c44a688c0a1e70dcb9f3d0acfe412103e96f526358c05f6c409599411086c34f70bd60eb4fd360a1573a394b4c448926ffffffff02a086010000000000e008626f6f7374706f7775045704000020d8d083b2d51f0652785201324105d3c39c662fa44062ccedacf883528b803273049cff631d067468656f727904890000001c746869732069732074686520426f6f737420776869746570617065727e7c557a766b7e52796b567a8254887e567a820120a1697e7c7eaa7c6b7e6b04ff1f00e076836b847c6c84856c7e7c8254887e6c7e7c8254887eaa01007e816c825488537f7681530121a5696b768100a0691d00000000000000000000000000000000000000000000000000000000007e6c539458959901007e819f6976a96c88aca8320c00000000001976a91443493c32770ad6ca2eeb537d0f81c1410d1799c488ac29e90b00"
// redeem - 0f38e43dfc603296ef6883da389fc93815c0535bfba255b070a98bd6cc4da984
// expected values
//
// {
// signature: 304502210081cac0bdfb713e8c6632ec8c7b6f1d070b19a43c3b06e05174f25dc9065c6e910220787dd9d0f58f79cda8b7f5b436eb2f8cd6d50dc5271e6216308c286406d4166141
// pubkey: 03e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e37
// nonce : 5267719
// timestamp : 1677269436
// extra_nonce_2 : "b4d8e1f74255bebc"
// extra_nonce_1 : 2329617541
// miner_pubkey_hash: 0x81bb8505a9999135a105e2f0290d55b1b70f7d3f
// }
const bountyV2RedeemRaw = "0100000001442172010bb2cbbb9991812c7c8fda0b2ae29d843729ac3ee848837e88efaa12000000009d48304502210081cac0bdfb713e8c6632ec8c7b6f1d070b19a43c3b06e05174f25dc9065c6e910220787dd9d0f58f79cda8b7f5b436eb2f8cd6d50dc5271e6216308c286406d41661412103e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e37040761500004bc19f96308b4d8e1f74255bebc048adb248504e96736ce143f7d0fb7b1550d29f0e205a1359199a90585bb81ffffffff0193860100000000001976a914ba843bb797c0affff9dcdfc267d05aab763b409b88ac00000000"
/////////////////////////////////////////////////////////////////////////////
// V2 CONTRACT
/////////////////////////////////////////////////////////////////////////////
// spend - 6a26e314d33cfb0948e9bb12559abc9c687403c639e4302faf562d818b2ff0a2
// expected values
//
// {
// content=0x7332808b5283f8acedcc6240a42f669cc3d305413201527852061fd5b283d0d8
// difficulty: .01
// topic: "theory"
// additional_data: "this is the Boost whitepaper"
// category: 1111
// user_nonce: 137
// miner_address: 16nhPWCkbkR1bNACwPYULBWyvxQ5MCDZBo
// version: 2
// }
// const contractV2SpendRaw = "01000000016e76d978836a9c99ad11840be3ee15f040c14b22d942b349e02ec075a42a12ed010000006b4830450221008addd6bdc08844c7ec206554a0ccc7d90b625dcfbd06d5eeb099c19cf141de0e022034d783872b765ca9fc17ad875839577218ac00ad91717228fefff3ff973f4c9a412103ee48a537b5242aa24f607d84d1974284f93a70550c53f4e323b9f8c02c917915ffffffff02a086010000000000f508626f6f7374706f7775143f7d0fb7b1550d29f0e205a1359199a90585bb81045704000020d8d083b2d51f0652785201324105d3c39c662fa44062ccedacf883528b803273049cff631d067468656f727904890000001c746869732069732074686520426f6f737420776869746570617065727e7c557a766b7e52796b567a8254887e567a820120a1697e7c7eaa7c6b7e6b04ff1f00e076836b847c6c84856c7e7c8254887e6c7e7c8254887eaa01007e816c825488537f7681530121a5696b768100a0691d00000000000000000000000000000000000000000000000000000000007e6c539458959901007e819f6976a96c88ac10230900000000001976a914c935443bc47d876701f4d09746943f80fd53036c88ac2ae90b00"
// redeem - a512c846b0154d23325f40ef87a088d747252fc2a179cca067a6026ee59c5ea6
// expected values
//
// {
// signature: 304402201f94a12ace389cd389ef129dc9b68eb1a357ff6f71a508aa0b3accd90736007702206d316fce43e5ae24a6b07acc342e0f7a5c0d0366a2a00dee00acbb25b8f4f6a941
// pubkey: 03e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e37
// nonce : 3901135
// timestamp : 1677271659
// extra_nonce_2 : "4f22be6e277ead90"
// extra_nonce_1 : 3783406472
// }
const contractV2RedeemRaw = "0100000001a2f02f8b812d56af2f30e439c60374689cbc9a5512bbe94809fb3cd314e3266a000000008747304402201f94a12ace389cd389ef129dc9b68eb1a357ff6f71a508aa0b3accd90736007702206d316fce43e5ae24a6b07acc342e0f7a5c0d0366a2a00dee00acbb25b8f4f6a9412103e0fd48907c0117600a6326aafe7d43adbc9421a4381bb6579f1ab4912cd25e3704cf863b00046b22f963084f22be6e277ead9004e18233880498948494ffffffff0194860100000000001976a914c96cbf841881982fa3eb2f996269ebed3f72d6a388ac00000000"
const sampleBoostBreakerRaw = "010000000120955f9a2d539d54114b615b9460f37dff979847892e00b3f7b174b180c91c09020000006b483045022100c7d1cc030e0675deebe658812603fdb4d15e917137b3ad89b7411a5578c7d81802201d4e047b888b6bb0503bd66484aa42b7d9f53abf21dc31e339311f87d3343caa4121020bd029230032c81edc403492d9828d174bb9a8d40f18bcd53d45c931f44f5979ffffffff032102000000000000ad08626f6f7374706f77750400000000205056187ecc862bc94e54ecc0ae010e3b5ea9dbfdfc4958517ecbb9f7216e20e104f09f0f1e0004d87e60be007e7c557a766b7e52796b557a8254887e557a8258887e7c7eaa7c6b7e7e7c8254887e6c7e7c8254887eaa01007e816c825488537f7681530121a5696b768100a0691d00000000000000000000000000000000000000000000000000000000007e6c539458959901007e819f6976a96c88ac00000000000000002f006a2231487948587459577947655072485669736e4e645339333156743643716f7555795a0972656c6179782e696f9a9d1c00000000001976a9149bcc623c910f75f203de79ea9f9286dc189faf0e88ac00000000"