-
Notifications
You must be signed in to change notification settings - Fork 0
/
schedule.py
223 lines (200 loc) · 12.7 KB
/
schedule.py
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
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
from web3 import Web3
chainids = {
#'mainnet': 1,
'ropsten': 3,
'rinkeby': 4,
'goerli': 5,
'kovan': 42,
}
txs = {
0: {
'to': '', # none! (CREATE)
'data': '0x600280600c6000396000f30030ff', # deploy: collapser
'gas': 90000,
# gasPrice was not set!
},
1: {
'to': '0x8905C87B11507A243bbf57a17718d55F4C8A497C', # collapser
'value': 42, # die antwoord
'gas': 90000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
2: {
'to': '', # none! (CREATE)
'data': '0x60ef8061000d6000396000f3003415600a5760006000fd5b366024141560315760e060020a60003504638124b78e14602a5760006000fd5b6004356020525b3660141415604657606060020a600035046020525b60ff60205111151560575760006000fd5b6020513b60405260405160001415606e5760006000fd5b6008600e026101000360020a6d600e380380600e6000396000f3000260605260405160006060600e016020513c604051600e0160606000f06000526000516000141560b95760006000fd5b600051604052602051337f9ce1bdd7d0964c6547e8b9b894d2524b432b8483c5b8b73ea949293d876a0f8c60206040a360206000f3', # deploy: cloning-vat
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
3: {
'to': '', # none! (CREATE)
'data': '0x600280600c6000396000f30030ff', # deploy: collapser
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
4: {
'to': '0xC533fFbdcc952069f710dc3f6FA08510125Bcd49', # cloning-vat
'data': str.lower('0xAfBbec1931321D822cC024dBa9c3a783F2019C62'), # address: collapser (raw!)
'gas': 90000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
5: {
'to': '', # none! (CREATE)
'data': '0x609180600c6000396000f3003415600957600080fd5b361515601457600080fd5b7f600e380380600e6000396000f300600080fd00000000000000000000000000006101205236600061013237601236016101206000f061010052610100511515605c57600080fd5b61010051604052337f88bc4af924ebbcf92aeb0f1003d65460177fa2c66e3f6800d9b00cf9b8e5f0db60206040a26020610100f3', # deploy: cannery (optimised)
'gas': 90000, # OOPS! OoG
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
6: {
'to': '', # none! (CREATE)
'data': '0x609180600c6000396000f3003415600957600080fd5b361515601457600080fd5b7f600e380380600e6000396000f300600080fd00000000000000000000000000006101205236600061013237601236016101206000f061010052610100511515605c57600080fd5b61010051604052337f88bc4af924ebbcf92aeb0f1003d65460177fa2c66e3f6800d9b00cf9b8e5f0db60206040a26020610100f3', # deploy: cannery (optimised)
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
7: {
'to': '', # none! (CREATE)
'data': '0x61015f8061000e6000396000f300341561000a57600080fd5b7c01000000000000000000000000000000000000000000000000000000006000350460205236602414156100525760205163b95460f81461004a57600080fd5b600435610120525b60643610610074576020516361ba64051461006c57600080fd5b600435610120525b6044356101605260ff610120511161008b57600080fd5b610120513b610140526101405115156100a357600080fd5b610140516000610180610120513c7c0100000000000000000000000000000000000000000000000000000000610180510463600080fd146100e357600080fd5b6020516361ba64051415610101576101605160646101405161018001375b6004610160516101405101036101846000f06101005261010051151561012657600080fd5b6101005160405261012051337f6a5e677bbcf69000145b06b544171fc934a174f2f6761de26f6884606a6f050760206040a36020610100f3', # deploy: can-opener (optimised)
'gas': 140000, # OOPS! OoG
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
8: {
'to': '', # none! (CREATE)
'data': '0x61015f8061000e6000396000f300341561000a57600080fd5b7c01000000000000000000000000000000000000000000000000000000006000350460205236602414156100525760205163b95460f81461004a57600080fd5b600435610120525b60643610610074576020516361ba64051461006c57600080fd5b600435610120525b6044356101605260ff610120511161008b57600080fd5b610120513b610140526101405115156100a357600080fd5b610140516000610180610120513c7c0100000000000000000000000000000000000000000000000000000000610180510463600080fd146100e357600080fd5b6020516361ba64051415610101576101605160646101405161018001375b6004610160516101405101036101846000f06101005261010051151561012657600080fd5b6101005160405261012051337f6a5e677bbcf69000145b06b544171fc934a174f2f6761de26f6884606a6f050760206040a36020610100f3', # deploy: can-opener (optimised)
'gas': 250000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
9: {
'to': '0x25d62DA8E032c5cba01c351c7868f4b1a0E0949e', # cannery
'data': '0x600280600c6000396000f30030ff', # bytecode for: deploy: collapser
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
10: {
'to': '0xC9d28DcA3CD8cCFDF583643837E3C637Bc59A789', # can-opener
'data': str.lower('1e77625c9818c25d4f4FA6b40D24Ef231D1740eF'), # OOPS! incorrect calldatalen
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
11: {
'to': '0xC9d28DcA3CD8cCFDF583643837E3C637Bc59A789', # can-opener
'data': '0xb95460f8' + '0'*24 + str.lower('1e77625c9818c25d4f4FA6b40D24Ef231D1740eF'), # open(address(canned-collapser))
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
12: {
'to': '', # none! (CREATE)
'data': '0x608080600c6000396000f3003415600957600080fd5b60e060020a6000350460205263c85e07b96020511415606a576000805259600052601480606c600051396000516000f0606052606051604052337f9f0f13e03835c7dcca2675cb51976e07bd186b2e351cefe0db24ec0fe62105ef60206040a25b00602a6113375560028060126000396000f30030ff', # deploy: collapser-stamping-press (optimised) (old)
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
13: {
'to': '0xE725E70c7A00fF3Fb32B6C01Cce44600710d673e', # collapser-stamping-press (old)
'data': '0xc85e07b9', # stamp()
'gas': 90000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
# the following three have been batched in a single run
14: {
'to': '0xE16f7d74353e2822E85d68b8a8DE2ae02f80486E', # uncanned-collapser (from nonce 11)
'gas': 25000, # OOPS! OoG
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
15: {
'to': '0xB7521f1Ba8c23dc60962D8cF8F842AAD46B3873A', # cloned-collapser (from nonce 4)
'gas': 25000, # OOPS! OoG
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
16: {
'to': '0x8cAF1dc82a0Fabc1374E5246C506dEAeD974789b', # stamped-collapser (from nonce 13)
'gas': 25000, # OOPS! OoG
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
# the following three have been batched in a single run
17: {
'to': '0xE16f7d74353e2822E85d68b8a8DE2ae02f80486E', # uncanned-collapser (from nonce 11)
'gas': 42000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
18: {
'to': '0xB7521f1Ba8c23dc60962D8cF8F842AAD46B3873A', # cloned-collapser (from nonce 4)
'gas': 42000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
19: {
'to': '0x8cAF1dc82a0Fabc1374E5246C506dEAeD974789b', # stamped-collapser (from nonce 13)
'gas': 42000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
20: {
'to': '', # none! (CREATE)
'data': '0x60898061000d6000396000f3003415600957600080fd5b60e060020a6000350460205263c85e07b96020511415606f5760008052596000526014806075600051396000516000f0606052606051604052337f9f0f13e03835c7dcca2675cb51976e07bd186b2e351cefe0db24ec0fe62105ef60206040a260206060f35b600080fd00602a6113375560028060126000396000f30030ff', # deploy: updated stamping-press: collapser (optimised)
'gas': 150000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
21: {
'to': '0xb20ad6089B9BEDCF6dDaadc4D9A56AD86694359a', # updated stamping-press
'data': '0xc85e07b9', # stamp()
'gas': 90000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
22: {
'to': '0x7CEFB94598C954b3Cabf6a8d57dBaE822321Ff53', # stamped-collapser (from nonce 21)
'gas': 42000,
'gasPrice': Web3.toWei(1337, 'lovelace'),
},
# testing for https://github.com/ethereum/py-evm/pull/1224#issuecomment-418408696
# data copied from:
# https://github.com/ethereum/tests/blob/61185fe4b8762118fe9ee318539683b47cb04ed6/BlockchainTests/GeneralStateTests/stRevertTest/RevertInCreateInInit_d0g0v0.json#L33
23: {
'to': '', # none!
'data': '0x3050600c80602260003960006000f0503d6000556020600060003e600051600155006211223360005260206000fd',
'gas': 420420,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# NOT ON MAINNET!!!
# first ever live transient multisend test - debugging why it doesn't work :/
24: {
'to': '', # none!
'data': '0x6060356060525b606051156043576020606051026080016040526000806000806020604051013560405135617530f1603657600080fd5b6001606051036060526006565b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'gas': 100000,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# fix: forgot `value`
25: {
'to': '', # none!
'data': '0x6060356060525b606051156043576020606051026080016040526000806000806020604051013560405135617530f1603657600080fd5b6001606051036060526006565b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'value': 85, # 42+43
'gas': 100000,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# repeat: geth node no longer has historic state to run trace :/
26: {
'to': '', # none!
'data': '0x6060356060525b606051156043576020606051026080016040526000806000806020604051013560405135617530f1603657600080fd5b6001606051036060526006565b0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'value': 85, # 42+43
'gas': 420420,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# after debug: use `codecopy` instead of `calldataload` (first attempt)
27: {
'to': '', # none!
'data': '0x602060566060395b6060511560545760206060510260206056010160405260206040516080396020806040510160a03960008060008060a051608051617530f1604757600080fd5b6001606051036060526007565b0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'value': 85, # 42+43
'gas': 420420,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# first version passing local `pytester` run
28: {
'to': '', # none!
'data': '0x6020604b6060395b60605115601b576001606051036060526007565b6040606051026020604b01016040526040805160803960008060008060a051608051617530f1604957600080fd5b0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'value': 85, # 42+43
'gas': 420420,
'gasPrice': Web3.toWei(1, 'shannon'),
},
# first to send to at least 2 recipients successfully
29: {
'to': '', # none!
'data': '0x6020604b6060395b606051156049576001606051036060526040606051026020604b01016040526040805160803960008060008060a051608051617530f1604557600080fd5b6007565b0000000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000002a0000000000000000000000000000000000000000000000000000000000001001000000000000000000000000000000000000000000000000000000000000002b',
'value': 85, # 42+43
'gas': 420420,
'gasPrice': Web3.toWei(1, 'shannon'),
},
}