@wireio/stake 0.2.4 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/lib/stake.browser.js +5991 -4340
  2. package/lib/stake.browser.js.map +1 -1
  3. package/lib/stake.d.ts +74 -60
  4. package/lib/stake.js +9782 -8054
  5. package/lib/stake.js.map +1 -1
  6. package/lib/stake.m.js +5991 -4340
  7. package/lib/stake.m.js.map +1 -1
  8. package/package.json +1 -1
  9. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.dbg.json +4 -0
  10. package/src/assets/ethereum/ABI/liqEth/BeaconState.sol/BeaconState.json +807 -0
  11. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.dbg.json +1 -1
  12. package/src/assets/ethereum/ABI/liqEth/DepositManager.sol/DepositManager.json +184 -346
  13. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.dbg.json +4 -0
  14. package/src/assets/ethereum/ABI/liqEth/LiqEthAuthority.sol/LiqEthAuthority.json +1289 -0
  15. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IAccounting.dbg.json +1 -1
  16. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositContract.dbg.json +1 -1
  17. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IDepositManager.dbg.json +1 -1
  18. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.dbg.json +4 -0
  19. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/ILiqEthUpgradeable.json +29 -0
  20. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.dbg.json +1 -1
  21. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20.json +36 -0
  22. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.dbg.json +4 -0
  23. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IRewardsERC20Pausable.json +263 -0
  24. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.dbg.json +1 -1
  25. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IStakingModule.json +226 -0
  26. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.dbg.json +1 -1
  27. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IValidatorBalanceVerifier.json +59 -0
  28. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.dbg.json +1 -1
  29. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/IWithdrawalRecord.json +14 -12
  30. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.dbg.json +1 -1
  31. package/src/assets/ethereum/ABI/liqEth/LiqEthCommon.sol/LiqEthCommon.json +2 -2
  32. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.dbg.json +4 -0
  33. package/src/assets/ethereum/ABI/liqEth/LiqEthManaged.sol/LiqEthManaged.json +229 -0
  34. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20Upgradeable.dbg.json +4 -0
  35. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20Pausable.sol/RewardsERC20Pausable.json → RewardsERC20.sol/RewardsERC20Upgradeable.json} +140 -78
  36. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.dbg.json +4 -0
  37. package/src/assets/ethereum/ABI/liqEth/{RewardsERC20.sol/RewardsERC20.json → RewardsERC20Pausable.sol/RewardsERC20PausableUpgradeable.json} +218 -30
  38. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.dbg.json +1 -1
  39. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/BeaconRoots.json +2 -2
  40. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.dbg.json +1 -1
  41. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZ.json +2 -2
  42. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.dbg.json +4 -0
  43. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZExtras.json +10 -0
  44. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.dbg.json +4 -0
  45. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/SSZVec48.json +10 -0
  46. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.dbg.json +1 -1
  47. package/src/assets/ethereum/ABI/liqEth/ValidatorBalanceVerifier.sol/ValidatorBalanceVerifier.json +121 -55
  48. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.dbg.json +1 -1
  49. package/src/assets/ethereum/ABI/liqEth/Yield.sol/YieldOracle.json +836 -273
  50. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.dbg.json +1 -1
  51. package/src/assets/ethereum/ABI/liqEth/accounting.sol/Accounting.json +150 -168
  52. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.dbg.json +1 -1
  53. package/src/assets/ethereum/ABI/liqEth/liqEth.sol/LiqEthToken.json +301 -186
  54. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.dbg.json +1 -1
  55. package/src/assets/ethereum/ABI/liqEth/stakingModule.sol/StakingModule.json +814 -206
  56. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.dbg.json +1 -1
  57. package/src/assets/ethereum/ABI/liqEth/withdrawalQueue.sol/WithdrawalQueue.json +244 -198
  58. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.dbg.json +1 -1
  59. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/Uint64BE.json +2 -2
  60. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.dbg.json +1 -1
  61. package/src/assets/ethereum/ABI/liqEth/withdrawalVault.sol/WithdrawalVault.json +165 -152
  62. package/src/assets/ethereum/ABI/outpost/Aggregator.sol/Aggregator.json +82 -0
  63. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.dbg.json +1 -1
  64. package/src/assets/ethereum/ABI/outpost/Depositor.sol/Depositor.json +167 -282
  65. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/AggregatorV3Interface.dbg.json +1 -1
  66. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.dbg.json +1 -1
  67. package/src/assets/ethereum/ABI/outpost/EthUsdPriceConsumer.sol/EthUsdPriceConsumer.json +2 -54
  68. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.dbg.json +1 -1
  69. package/src/assets/ethereum/ABI/outpost/OPP.sol/OPP.json +26 -8
  70. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.dbg.json +1 -1
  71. package/src/assets/ethereum/ABI/outpost/OPPInbound.sol/OPPInbound.json +2 -2
  72. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.dbg.json +4 -0
  73. package/src/assets/ethereum/ABI/outpost/Pretoken.sol/Pretoken.json +1650 -0
  74. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.dbg.json +1 -1
  75. package/src/assets/ethereum/ABI/outpost/ReceiptNFT.sol/ReceiptNFT.json +2 -22
  76. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.dbg.json +4 -0
  77. package/src/assets/ethereum/ABI/outpost/interfaces/IPretoken.sol/IPretoken.json +29 -0
  78. package/src/assets/ethereum/ABI/outpost/interfaces/IWarrant.sol/IWarrant.dbg.json +1 -1
  79. package/src/networks/ethereum/clients/deposit.client.ts +86 -8
  80. package/src/networks/ethereum/clients/liq.client.ts +47 -0
  81. package/src/networks/ethereum/clients/pretoken.client.ts +127 -0
  82. package/src/networks/ethereum/clients/stake.client.ts +87 -24
  83. package/src/networks/ethereum/contract.ts +34 -48
  84. package/src/networks/ethereum/ethereum.ts +219 -96
  85. package/src/networks/ethereum/types.ts +9 -6
  86. package/src/networks/ethereum/utils.ts +308 -0
  87. package/src/networks/solana/clients/token.client.ts +0 -1
  88. package/src/networks/solana/solana.ts +44 -146
  89. package/src/networks/solana/types.ts +6 -2
  90. package/src/networks/solana/utils.ts +4 -6
  91. package/src/staker/types.ts +62 -0
  92. package/src/types.ts +18 -33
  93. package/src/assets/ethereum/ABI/liqEth/RewardsERC20.sol/RewardsERC20.dbg.json +0 -4
  94. package/src/assets/ethereum/ABI/liqEth/RewardsERC20Pausable.sol/RewardsERC20Pausable.dbg.json +0 -4
  95. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.dbg.json +0 -4
  96. package/src/assets/ethereum/ABI/liqEth/Yield.sol/BeaconRoots.json +0 -10
  97. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.dbg.json +0 -4
  98. package/src/assets/ethereum/ABI/liqEth/Yield.sol/SSZ.json +0 -10
  99. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.dbg.json +0 -4
  100. package/src/assets/ethereum/ABI/outpost/Warrant.sol/Warrant.json +0 -1650
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/f26a3bdbd4033af8421132fc6adca199.json"
3
+ "buildInfo": "../../../build-info/b5e46b2b97b85c57c7cd2a26cf972153.json"
4
4
  }
@@ -7,37 +7,80 @@
7
7
  "inputs": [
8
8
  {
9
9
  "internalType": "address",
10
- "name": "_token",
10
+ "name": "authority",
11
11
  "type": "address"
12
- },
12
+ }
13
+ ],
14
+ "name": "AccessManagedInvalidAuthority",
15
+ "type": "error"
16
+ },
17
+ {
18
+ "inputs": [
13
19
  {
14
20
  "internalType": "address",
15
- "name": "admin",
21
+ "name": "caller",
16
22
  "type": "address"
23
+ },
24
+ {
25
+ "internalType": "uint32",
26
+ "name": "delay",
27
+ "type": "uint32"
17
28
  }
18
29
  ],
19
- "stateMutability": "nonpayable",
20
- "type": "constructor"
30
+ "name": "AccessManagedRequiredDelay",
31
+ "type": "error"
21
32
  },
22
33
  {
23
- "inputs": [],
24
- "name": "AccessControlBadConfirmation",
34
+ "inputs": [
35
+ {
36
+ "internalType": "address",
37
+ "name": "caller",
38
+ "type": "address"
39
+ }
40
+ ],
41
+ "name": "AccessManagedUnauthorized",
25
42
  "type": "error"
26
43
  },
27
44
  {
28
45
  "inputs": [
29
46
  {
30
47
  "internalType": "address",
31
- "name": "account",
48
+ "name": "target",
32
49
  "type": "address"
33
- },
50
+ }
51
+ ],
52
+ "name": "AddressEmptyCode",
53
+ "type": "error"
54
+ },
55
+ {
56
+ "inputs": [
34
57
  {
35
- "internalType": "bytes32",
36
- "name": "neededRole",
37
- "type": "bytes32"
58
+ "internalType": "address",
59
+ "name": "implementation",
60
+ "type": "address"
38
61
  }
39
62
  ],
40
- "name": "AccessControlUnauthorizedAccount",
63
+ "name": "ERC1967InvalidImplementation",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "ERC1967NonPayable",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "FailedCall",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "InvalidInitialization",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "NotInitializing",
41
84
  "type": "error"
42
85
  },
43
86
  {
@@ -45,23 +88,33 @@
45
88
  "name": "ReentrancyGuardReentrantCall",
46
89
  "type": "error"
47
90
  },
91
+ {
92
+ "inputs": [],
93
+ "name": "UUPSUnauthorizedCallContext",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [
98
+ {
99
+ "internalType": "bytes32",
100
+ "name": "slot",
101
+ "type": "bytes32"
102
+ }
103
+ ],
104
+ "name": "UUPSUnsupportedProxiableUUID",
105
+ "type": "error"
106
+ },
48
107
  {
49
108
  "anonymous": false,
50
109
  "inputs": [
51
110
  {
52
- "indexed": true,
111
+ "indexed": false,
53
112
  "internalType": "address",
54
- "name": "op",
113
+ "name": "authority",
55
114
  "type": "address"
56
- },
57
- {
58
- "indexed": false,
59
- "internalType": "uint256",
60
- "name": "tokenAmt",
61
- "type": "uint256"
62
115
  }
63
116
  ],
64
- "name": "BondLocked",
117
+ "name": "AuthorityUpdated",
65
118
  "type": "event"
66
119
  },
67
120
  {
@@ -80,7 +133,7 @@
80
133
  "type": "uint256"
81
134
  }
82
135
  ],
83
- "name": "BondUnlocked",
136
+ "name": "BondLocked",
84
137
  "type": "event"
85
138
  },
86
139
  {
@@ -99,105 +152,62 @@
99
152
  "type": "uint256"
100
153
  }
101
154
  ],
102
- "name": "PenaltyTaken",
155
+ "name": "BondUnlocked",
103
156
  "type": "event"
104
157
  },
105
158
  {
106
159
  "anonymous": false,
107
160
  "inputs": [
108
161
  {
109
- "indexed": true,
110
- "internalType": "bytes32",
111
- "name": "role",
112
- "type": "bytes32"
113
- },
114
- {
115
- "indexed": true,
116
- "internalType": "bytes32",
117
- "name": "previousAdminRole",
118
- "type": "bytes32"
119
- },
120
- {
121
- "indexed": true,
122
- "internalType": "bytes32",
123
- "name": "newAdminRole",
124
- "type": "bytes32"
162
+ "indexed": false,
163
+ "internalType": "uint64",
164
+ "name": "version",
165
+ "type": "uint64"
125
166
  }
126
167
  ],
127
- "name": "RoleAdminChanged",
168
+ "name": "Initialized",
128
169
  "type": "event"
129
170
  },
130
171
  {
131
172
  "anonymous": false,
132
173
  "inputs": [
133
- {
134
- "indexed": true,
135
- "internalType": "bytes32",
136
- "name": "role",
137
- "type": "bytes32"
138
- },
139
174
  {
140
175
  "indexed": true,
141
176
  "internalType": "address",
142
- "name": "account",
177
+ "name": "op",
143
178
  "type": "address"
144
179
  },
145
180
  {
146
- "indexed": true,
147
- "internalType": "address",
148
- "name": "sender",
149
- "type": "address"
181
+ "indexed": false,
182
+ "internalType": "uint256",
183
+ "name": "tokenAmt",
184
+ "type": "uint256"
150
185
  }
151
186
  ],
152
- "name": "RoleGranted",
187
+ "name": "PenaltyTaken",
153
188
  "type": "event"
154
189
  },
155
190
  {
156
191
  "anonymous": false,
157
192
  "inputs": [
158
- {
159
- "indexed": true,
160
- "internalType": "bytes32",
161
- "name": "role",
162
- "type": "bytes32"
163
- },
164
- {
165
- "indexed": true,
166
- "internalType": "address",
167
- "name": "account",
168
- "type": "address"
169
- },
170
193
  {
171
194
  "indexed": true,
172
195
  "internalType": "address",
173
- "name": "sender",
196
+ "name": "implementation",
174
197
  "type": "address"
175
198
  }
176
199
  ],
177
- "name": "RoleRevoked",
200
+ "name": "Upgraded",
178
201
  "type": "event"
179
202
  },
180
203
  {
181
204
  "inputs": [],
182
- "name": "DEFAULT_ADMIN_ROLE",
183
- "outputs": [
184
- {
185
- "internalType": "bytes32",
186
- "name": "",
187
- "type": "bytes32"
188
- }
189
- ],
190
- "stateMutability": "view",
191
- "type": "function"
192
- },
193
- {
194
- "inputs": [],
195
- "name": "MODULE_ROLE",
205
+ "name": "REQUIRED_BOND",
196
206
  "outputs": [
197
207
  {
198
- "internalType": "bytes32",
208
+ "internalType": "uint256",
199
209
  "name": "",
200
- "type": "bytes32"
210
+ "type": "uint256"
201
211
  }
202
212
  ],
203
213
  "stateMutability": "view",
@@ -205,7 +215,7 @@
205
215
  },
206
216
  {
207
217
  "inputs": [],
208
- "name": "REQUIRED_BOND",
218
+ "name": "UNIT",
209
219
  "outputs": [
210
220
  {
211
221
  "internalType": "uint256",
@@ -218,12 +228,12 @@
218
228
  },
219
229
  {
220
230
  "inputs": [],
221
- "name": "UNIT",
231
+ "name": "UPGRADE_INTERFACE_VERSION",
222
232
  "outputs": [
223
233
  {
224
- "internalType": "uint256",
234
+ "internalType": "string",
225
235
  "name": "",
226
- "type": "uint256"
236
+ "type": "string"
227
237
  }
228
238
  ],
229
239
  "stateMutability": "view",
@@ -260,6 +270,19 @@
260
270
  "stateMutability": "nonpayable",
261
271
  "type": "function"
262
272
  },
273
+ {
274
+ "inputs": [],
275
+ "name": "authority",
276
+ "outputs": [
277
+ {
278
+ "internalType": "address",
279
+ "name": "",
280
+ "type": "address"
281
+ }
282
+ ],
283
+ "stateMutability": "view",
284
+ "type": "function"
285
+ },
263
286
  {
264
287
  "inputs": [
265
288
  {
@@ -319,59 +342,29 @@
319
342
  {
320
343
  "inputs": [
321
344
  {
322
- "internalType": "bytes32",
323
- "name": "role",
324
- "type": "bytes32"
325
- }
326
- ],
327
- "name": "getRoleAdmin",
328
- "outputs": [
329
- {
330
- "internalType": "bytes32",
331
- "name": "",
332
- "type": "bytes32"
333
- }
334
- ],
335
- "stateMutability": "view",
336
- "type": "function"
337
- },
338
- {
339
- "inputs": [
340
- {
341
- "internalType": "bytes32",
342
- "name": "role",
343
- "type": "bytes32"
345
+ "internalType": "address",
346
+ "name": "_token",
347
+ "type": "address"
344
348
  },
345
349
  {
346
350
  "internalType": "address",
347
- "name": "account",
351
+ "name": "manager",
348
352
  "type": "address"
349
353
  }
350
354
  ],
351
- "name": "grantRole",
355
+ "name": "initialize",
352
356
  "outputs": [],
353
357
  "stateMutability": "nonpayable",
354
358
  "type": "function"
355
359
  },
356
360
  {
357
- "inputs": [
358
- {
359
- "internalType": "bytes32",
360
- "name": "role",
361
- "type": "bytes32"
362
- },
363
- {
364
- "internalType": "address",
365
- "name": "account",
366
- "type": "address"
367
- }
368
- ],
369
- "name": "hasRole",
361
+ "inputs": [],
362
+ "name": "isConsumingScheduledOp",
370
363
  "outputs": [
371
364
  {
372
- "internalType": "bool",
365
+ "internalType": "bytes4",
373
366
  "name": "",
374
- "type": "bool"
367
+ "type": "bytes4"
375
368
  }
376
369
  ],
377
370
  "stateMutability": "view",
@@ -430,73 +423,44 @@
430
423
  "type": "function"
431
424
  },
432
425
  {
433
- "inputs": [
426
+ "inputs": [],
427
+ "name": "proxiableUUID",
428
+ "outputs": [
434
429
  {
435
- "internalType": "address",
436
- "name": "operator",
437
- "type": "address"
430
+ "internalType": "bytes32",
431
+ "name": "",
432
+ "type": "bytes32"
438
433
  }
439
434
  ],
440
- "name": "removeKey",
441
- "outputs": [],
442
- "stateMutability": "nonpayable",
435
+ "stateMutability": "view",
443
436
  "type": "function"
444
437
  },
445
438
  {
446
439
  "inputs": [
447
- {
448
- "internalType": "bytes32",
449
- "name": "role",
450
- "type": "bytes32"
451
- },
452
440
  {
453
441
  "internalType": "address",
454
- "name": "callerConfirmation",
442
+ "name": "operator",
455
443
  "type": "address"
456
444
  }
457
445
  ],
458
- "name": "renounceRole",
446
+ "name": "removeKey",
459
447
  "outputs": [],
460
448
  "stateMutability": "nonpayable",
461
449
  "type": "function"
462
450
  },
463
451
  {
464
452
  "inputs": [
465
- {
466
- "internalType": "bytes32",
467
- "name": "role",
468
- "type": "bytes32"
469
- },
470
453
  {
471
454
  "internalType": "address",
472
- "name": "account",
455
+ "name": "newAuthority",
473
456
  "type": "address"
474
457
  }
475
458
  ],
476
- "name": "revokeRole",
459
+ "name": "setAuthority",
477
460
  "outputs": [],
478
461
  "stateMutability": "nonpayable",
479
462
  "type": "function"
480
463
  },
481
- {
482
- "inputs": [
483
- {
484
- "internalType": "bytes4",
485
- "name": "interfaceId",
486
- "type": "bytes4"
487
- }
488
- ],
489
- "name": "supportsInterface",
490
- "outputs": [
491
- {
492
- "internalType": "bool",
493
- "name": "",
494
- "type": "bool"
495
- }
496
- ],
497
- "stateMutability": "view",
498
- "type": "function"
499
- },
500
464
  {
501
465
  "inputs": [],
502
466
  "name": "token",
@@ -546,6 +510,24 @@
546
510
  "stateMutability": "nonpayable",
547
511
  "type": "function"
548
512
  },
513
+ {
514
+ "inputs": [
515
+ {
516
+ "internalType": "address",
517
+ "name": "newImplementation",
518
+ "type": "address"
519
+ },
520
+ {
521
+ "internalType": "bytes",
522
+ "name": "data",
523
+ "type": "bytes"
524
+ }
525
+ ],
526
+ "name": "upgradeToAndCall",
527
+ "outputs": [],
528
+ "stateMutability": "payable",
529
+ "type": "function"
530
+ },
549
531
  {
550
532
  "inputs": [
551
533
  {
@@ -566,8 +548,8 @@
566
548
  "type": "function"
567
549
  }
568
550
  ],
569
- "bytecode": "0x60a0346100f757601f6111fa38819003918201601f19168301916001600160401b038311848410176100fc5780849260409485528339810103126100f757610052602061004b83610112565b9201610112565b60018055906001600160a01b0390811680156100b25760805281166100a9575061007b33610126565b5060405161104390816101b7823960805181818161012a0152818161032c0152818161062101526109270152f35b61007b90610126565b60405162461bcd60e51b815260206004820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152606490fd5b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036100f757565b6001600160a01b031660008181527fad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5602052604081205490919060ff166101b257818052816020526040822081835260205260408220600160ff1982541617905533917f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b509056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610d3c575081631615310114610d18578163248a9ca314610cee5781632f2ff15d14610cc457816336568abe14610c7e5781635f7b68be14610bad57816369e7849914610ada578163809a42bb14610ab55781638bc392071461088157816391d148541461083b5781639d8e217714610814578163a217fddf146107f9578163a51fa5c7146107b5578163a6b520c01461077a578163a6be1ec8146105a9578163a7c3210214610551578163bb69d1e014610519578163c22dc3c01461045d578163d2ecf31e14610275578163d547741f14610236578163dd16713b1461015d575063fc0c546a1461011757600080fd5b34610159578160031936011261015957517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b91905034610232578060031936011261023257610178610da5565b9060243591610185610e57565b82156101ef576001600160a01b03168085526003602052818520805491948483019283106101dc575055519081527ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605890602090a280f35b634e487b7160e01b875260119052602486fd5b815162461bcd60e51b8152602081860152601f60248201527f746f6b656e416d74206d7573742062652067726561746572207468616e2030006044820152606490fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610d8f565b938387528660205286200154610ed1565b610f75565b5080f35b83833461015957606036600319011261015957610290610da5565b6044359363ffffffff929190838616602435818803610459576102b1610fea565b6102b9610e57565b809760018060a01b0380951688526020966003885286892093806103a2575b5050509181869798936103289795935480911161039a575b846102fa91610e12565b90558451629f15d760e81b815230918101918252602082019390935291948592839189918391604090910190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19081156103915750610363575b826001805580f35b813d831161038a575b6103768183610e1f565b8101031261038557818061035b565b600080fd5b503d61036c565b513d85823e3d90fd5b9350836102f0565b6001850190815490838216908110610404579183918b9c9d9896946103ce876103289e9c9a9896610dfc565b169064ffffffffff19161790556103ea60025492828416610dfc565b169063ffffffff19161760025591939897968193956102d8565b895162461bcd60e51b81528089018c9052602960248201527f446f65736e27742068617665206e756d4b65797320776f727468206f6620616360448201526874697665206b65797360b81b6064820152608490fd5b8680fd5b8383346101595760203660031901126101595780610479610da5565b6001600160a01b031683526003602052822081519091906060810167ffffffffffffffff8111828210176105045760209550825260018354938483520154906801bc16d674ec80000063ffffffff9485928560ff85871696878c8501528b1c16151591015204168082106104f1575b50505191168152f35b6104fc929450610dfc565b9184806104e8565b604186634e487b7160e01b6000525260246000fd5b5050346101595760203660031901126101595760209181906001600160a01b03610541610da5565b1681526003845220549051908152f35b5050346101595760203660031901126101595760609181906001600160a01b03610579610da5565b1681526003602052209060ff60018354930154825193845263ffffffff8116602085015260201c16151590820152f35b8383346101595780600319360112610159576105c3610da5565b6024356105ce610e57565b80156107505760018060a01b03809216928385526020926003845281862090815491828511600014610745576106048380610e12565b90558251629f15d760e81b815230898201908152602081018490527f000000000000000000000000000000000000000000000000000000000000000092909216929186908290819060400103818b875af1801561073b57908691610712575b505061066f9084610e12565b806106a2575b5050519081527fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb9190a280f35b813b1561045957869160248392855194859384926371cfd2e960e11b84528d8401525af18015610708576106d7575b80610675565b67ffffffffffffffff81969296116106f557855293945084866106d1565b634e487b7160e01b825260418752602482fd5b82513d88823e3d90fd5b813d8311610734575b6107258183610e1f565b81010312610459578489610663565b503d61071b565b84513d8a823e3d90fd5b610604858094610e12565b825162461bcd60e51b81526020818701526024810186905263191d5cdd60e21b6044820152606490fd5b505034610159578160031936011261015957602090517f5098275140f5753db46c42f6e139939968848633a1298402189fdfdafa69b4538152f35b5050346101595760203660031901126101595760209160ff9060019083906001600160a01b036107e3610da5565b16815260038652200154831c1690519015158152f35b50503461015957816003193601126101595751908152602090f35b505034610159578160031936011261015957602090516b033b2e3c9fd0803ce80000008152f35b9050346102325781600319360112610232578160209360ff9261085c610d8f565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b919050346102325760603660031901126102325761089d610da5565b91602491823591604480359460018060a01b03968787168097036109f0576108c3610fea565b6108cb610e57565b8515610a745787169687895260209660038852858a2063ffffffff600182015416610a3d578054888110610a055789928c94926109098b8994610e12565b90558851948593849263a9059cbb60e01b84528a8401528b888401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156109fb5789916109c1575b501561099057505050907f1ceab64053cad6d92ea3504e273effdf7a1b1006f7e8506741551d4f05bc74a6929151908152a26001805580f35b90600f6e151c985b9cd9995c8819985a5b1959608a1b9287606496519562461bcd60e51b8752860152840152820152fd5b90508681813d83116109f4575b6109d88183610e1f565b810103126109f0575180151581036109f05738610957565b8880fd5b503d6109ce565b85513d8b823e3d90fd5b875162461bcd60e51b81528088018b905260148187015273496e73756666696369656e742062616c616e636560601b81880152606490fd5b865162461bcd60e51b81528087018a9052601381860152721858dd1a5d99481ad95e4a1cca48195e1a5cdd606a1b81870152606490fd5b509060187f746f6b656e416d74206e6565647320746f206265203e20300000000000000000926020606496519562461bcd60e51b8752860152840152820152fd5b50503461015957816003193601126101595760209063ffffffff600254169051908152f35b9190503461023257602036600319011261023257610af6610da5565b610afe610e57565b6001600160a01b031683526003602052808320600101805463ffffffff9391929091848316918215610b6a5750509083610b3d64010000000093610de6565b169064ffffffffff19161717905560025490610b5a818316610de6565b169063ffffffff19161760025580f35b906020606492519162461bcd60e51b8352820152601760248201527f4e6f20616374697665206b657920746f2072656d6f76650000000000000000006044820152fd5b90503461023257602036600319011261023257610bc8610da5565b610bd0610e57565b60018060a01b0316835260036020526801bc16d674ec80000082842092600184019283549163ffffffff958680610c08818716610dbb565b1695869254041610610c3057505064ffffffffff191617905560025490610b5a818316610dbb565b906020608492519162461bcd60e51b8352820152602260248201527f496e73756666696369656e7420626f6e64656420746f6b656e7320666f72206b604482015261657960f01b6064820152fd5b838334610159578060031936011261015957610c98610d8f565b90336001600160a01b03831603610cb55750610271919235610f75565b5163334bd91960e11b81528390fd5b919050346102325780600319360112610232576102719135610ce9600161025b610d8f565b610ef7565b90503461023257602036600319011261023257816020936001923581528085522001549051908152f35b505034610159578160031936011261015957602090516801bc16d674ec8000008152f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610d7e575b5015158152f35b6301ffc9a760e01b14905083610d77565b602435906001600160a01b038216820361038557565b600435906001600160a01b038216820361038557565b90600163ffffffff80931601918211610dd057565b634e487b7160e01b600052601160045260246000fd5b63ffffffff9081166000190191908211610dd057565b63ffffffff9182169082160391908211610dd057565b91908203918211610dd057565b90601f8019910116810190811067ffffffffffffffff821117610e4157604052565b634e487b7160e01b600052604160045260246000fd5b3360009081527f4e24769379049736bdcd6bc0b5e5f804a41ee255ed9597b9d3079cbe2440763e60205260409020547f5098275140f5753db46c42f6e139939968848633a1298402189fdfdafa69b4539060ff1615610eb35750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610eb35750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610f7057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610f705780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b600260015414610ffb576002600155565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220071ec9e215344c87b4276cbee46aa6bc85b8f7705ecdf1c5e2123538677ad33c64736f6c63430008190033",
570
- "deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610d3c575081631615310114610d18578163248a9ca314610cee5781632f2ff15d14610cc457816336568abe14610c7e5781635f7b68be14610bad57816369e7849914610ada578163809a42bb14610ab55781638bc392071461088157816391d148541461083b5781639d8e217714610814578163a217fddf146107f9578163a51fa5c7146107b5578163a6b520c01461077a578163a6be1ec8146105a9578163a7c3210214610551578163bb69d1e014610519578163c22dc3c01461045d578163d2ecf31e14610275578163d547741f14610236578163dd16713b1461015d575063fc0c546a1461011757600080fd5b34610159578160031936011261015957517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b5080fd5b91905034610232578060031936011261023257610178610da5565b9060243591610185610e57565b82156101ef576001600160a01b03168085526003602052818520805491948483019283106101dc575055519081527ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605890602090a280f35b634e487b7160e01b875260119052602486fd5b815162461bcd60e51b8152602081860152601f60248201527f746f6b656e416d74206d7573742062652067726561746572207468616e2030006044820152606490fd5b8280fd5b91905034610232578060031936011261023257610271913561026c600161025b610d8f565b938387528660205286200154610ed1565b610f75565b5080f35b83833461015957606036600319011261015957610290610da5565b6044359363ffffffff929190838616602435818803610459576102b1610fea565b6102b9610e57565b809760018060a01b0380951688526020966003885286892093806103a2575b5050509181869798936103289795935480911161039a575b846102fa91610e12565b90558451629f15d760e81b815230918101918252602082019390935291948592839189918391604090910190565b03927f0000000000000000000000000000000000000000000000000000000000000000165af19081156103915750610363575b826001805580f35b813d831161038a575b6103768183610e1f565b8101031261038557818061035b565b600080fd5b503d61036c565b513d85823e3d90fd5b9350836102f0565b6001850190815490838216908110610404579183918b9c9d9896946103ce876103289e9c9a9896610dfc565b169064ffffffffff19161790556103ea60025492828416610dfc565b169063ffffffff19161760025591939897968193956102d8565b895162461bcd60e51b81528089018c9052602960248201527f446f65736e27742068617665206e756d4b65797320776f727468206f6620616360448201526874697665206b65797360b81b6064820152608490fd5b8680fd5b8383346101595760203660031901126101595780610479610da5565b6001600160a01b031683526003602052822081519091906060810167ffffffffffffffff8111828210176105045760209550825260018354938483520154906801bc16d674ec80000063ffffffff9485928560ff85871696878c8501528b1c16151591015204168082106104f1575b50505191168152f35b6104fc929450610dfc565b9184806104e8565b604186634e487b7160e01b6000525260246000fd5b5050346101595760203660031901126101595760209181906001600160a01b03610541610da5565b1681526003845220549051908152f35b5050346101595760203660031901126101595760609181906001600160a01b03610579610da5565b1681526003602052209060ff60018354930154825193845263ffffffff8116602085015260201c16151590820152f35b8383346101595780600319360112610159576105c3610da5565b6024356105ce610e57565b80156107505760018060a01b03809216928385526020926003845281862090815491828511600014610745576106048380610e12565b90558251629f15d760e81b815230898201908152602081018490527f000000000000000000000000000000000000000000000000000000000000000092909216929186908290819060400103818b875af1801561073b57908691610712575b505061066f9084610e12565b806106a2575b5050519081527fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb9190a280f35b813b1561045957869160248392855194859384926371cfd2e960e11b84528d8401525af18015610708576106d7575b80610675565b67ffffffffffffffff81969296116106f557855293945084866106d1565b634e487b7160e01b825260418752602482fd5b82513d88823e3d90fd5b813d8311610734575b6107258183610e1f565b81010312610459578489610663565b503d61071b565b84513d8a823e3d90fd5b610604858094610e12565b825162461bcd60e51b81526020818701526024810186905263191d5cdd60e21b6044820152606490fd5b505034610159578160031936011261015957602090517f5098275140f5753db46c42f6e139939968848633a1298402189fdfdafa69b4538152f35b5050346101595760203660031901126101595760209160ff9060019083906001600160a01b036107e3610da5565b16815260038652200154831c1690519015158152f35b50503461015957816003193601126101595751908152602090f35b505034610159578160031936011261015957602090516b033b2e3c9fd0803ce80000008152f35b9050346102325781600319360112610232578160209360ff9261085c610d8f565b903582528186528282206001600160a01b039091168252855220549151911615158152f35b919050346102325760603660031901126102325761089d610da5565b91602491823591604480359460018060a01b03968787168097036109f0576108c3610fea565b6108cb610e57565b8515610a745787169687895260209660038852858a2063ffffffff600182015416610a3d578054888110610a055789928c94926109098b8994610e12565b90558851948593849263a9059cbb60e01b84528a8401528b888401527f0000000000000000000000000000000000000000000000000000000000000000165af19081156109fb5789916109c1575b501561099057505050907f1ceab64053cad6d92ea3504e273effdf7a1b1006f7e8506741551d4f05bc74a6929151908152a26001805580f35b90600f6e151c985b9cd9995c8819985a5b1959608a1b9287606496519562461bcd60e51b8752860152840152820152fd5b90508681813d83116109f4575b6109d88183610e1f565b810103126109f0575180151581036109f05738610957565b8880fd5b503d6109ce565b85513d8b823e3d90fd5b875162461bcd60e51b81528088018b905260148187015273496e73756666696369656e742062616c616e636560601b81880152606490fd5b865162461bcd60e51b81528087018a9052601381860152721858dd1a5d99481ad95e4a1cca48195e1a5cdd606a1b81870152606490fd5b509060187f746f6b656e416d74206e6565647320746f206265203e20300000000000000000926020606496519562461bcd60e51b8752860152840152820152fd5b50503461015957816003193601126101595760209063ffffffff600254169051908152f35b9190503461023257602036600319011261023257610af6610da5565b610afe610e57565b6001600160a01b031683526003602052808320600101805463ffffffff9391929091848316918215610b6a5750509083610b3d64010000000093610de6565b169064ffffffffff19161717905560025490610b5a818316610de6565b169063ffffffff19161760025580f35b906020606492519162461bcd60e51b8352820152601760248201527f4e6f20616374697665206b657920746f2072656d6f76650000000000000000006044820152fd5b90503461023257602036600319011261023257610bc8610da5565b610bd0610e57565b60018060a01b0316835260036020526801bc16d674ec80000082842092600184019283549163ffffffff958680610c08818716610dbb565b1695869254041610610c3057505064ffffffffff191617905560025490610b5a818316610dbb565b906020608492519162461bcd60e51b8352820152602260248201527f496e73756666696369656e7420626f6e64656420746f6b656e7320666f72206b604482015261657960f01b6064820152fd5b838334610159578060031936011261015957610c98610d8f565b90336001600160a01b03831603610cb55750610271919235610f75565b5163334bd91960e11b81528390fd5b919050346102325780600319360112610232576102719135610ce9600161025b610d8f565b610ef7565b90503461023257602036600319011261023257816020936001923581528085522001549051908152f35b505034610159578160031936011261015957602090516801bc16d674ec8000008152f35b849134610232576020366003190112610232573563ffffffff60e01b81168091036102325760209250637965db0b60e01b8114908115610d7e575b5015158152f35b6301ffc9a760e01b14905083610d77565b602435906001600160a01b038216820361038557565b600435906001600160a01b038216820361038557565b90600163ffffffff80931601918211610dd057565b634e487b7160e01b600052601160045260246000fd5b63ffffffff9081166000190191908211610dd057565b63ffffffff9182169082160391908211610dd057565b91908203918211610dd057565b90601f8019910116810190811067ffffffffffffffff821117610e4157604052565b634e487b7160e01b600052604160045260246000fd5b3360009081527f4e24769379049736bdcd6bc0b5e5f804a41ee255ed9597b9d3079cbe2440763e60205260409020547f5098275140f5753db46c42f6e139939968848633a1298402189fdfdafa69b4539060ff1615610eb35750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600060205260406000203360005260205260ff6040600020541615610eb35750565b9060009180835282602052604083209160018060a01b03169182845260205260ff60408420541615600014610f7057808352826020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b9060009180835282602052604083209160018060a01b03169182845260205260ff604084205416600014610f705780835282602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b600260015414610ffb576002600155565b604051633ee5aeb560e01b8152600490fdfea2646970667358221220071ec9e215344c87b4276cbee46aa6bc85b8f7705ecdf1c5e2123538677ad33c64736f6c63430008190033",
551
+ "bytecode": "0x60a08060405234602957306080526115bf908161002f8239608051818181610cc001526114720152f35b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c918263161531011461111757508163485cc95514610f2d5781634f1ef28614610d2457816352d1902d14610cab5781635f7b68be14610bcc57816369e7849914610ae85781637a9e5e4b14610a6b578163809a42bb14610a455781638bc39207146108205781638fb36037146107cc5781639d8e2177146107a5578163a51fa5c714610762578163a6be1ec81461061f578163a7c32102146105c7578163ad3cb1cc14610526578163bb69d1e0146104ee578163bf7e214f146104b8578163c22dc3c0146103fc578163d2ecf31e14610211578163dd16713b14610136575063fc0c546a1461010c57600080fd5b34610132578160031936011261013257905490516001600160a01b039091168152602090f35b5080fd5b9190503461020d578060031936011261020d5761015161113a565b90602435916101603633611221565b82156101ca576001600160a01b03168085526001602052818520805491948483019283106101b7575055519081527ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605890602090a280f35b634e487b7160e01b875260119052602486fd5b815162461bcd60e51b8152602081860152601f60248201527f746f6b656e416d74206d7573742062652067726561746572207468616e2030006044820152606490fd5b8280fd5b839150346101325760603660031901126101325761022d61113a565b6044359363ffffffff9290918386166024358188036103f85761024e6113f7565b6102583633611221565b809760018060a01b038094168852602096600188528689209380610332575b5050509181869798936102ce9795935480911161032a575b8461029991611214565b905587548551629f15d760e81b8152309381019384526020840194909452929586939190911691839189918391604090910190565b03925af190811561032157506102f5575b82600160008051602061156a8339815191525580f35b813d831161031a575b610308818361117f565b810103126103175781806102df565b80fd5b503d6102fe565b513d85823e3d90fd5b93508361028f565b60018501908154908382169081106103a3579183918b9c9d98969461035e876102ce9e9c9a98966111fe565b169064ffffffffff19161790556103848c549263ffffffff60a01b928460a01c166111fe565b60a01b169063ffffffff60a01b1916178a559193989796819395610277565b895162461bcd60e51b8152808a018c9052602960248201527f446f65736e27742068617665206e756d4b65797320776f727468206f6620616360448201526874697665206b65797360b81b6064820152608490fd5b8680fd5b838334610132576020366003190112610132578061041861113a565b6001600160a01b031683526001602052822081519091906060810167ffffffffffffffff8111828210176104a35760209550825260018354938483520154906801bc16d674ec80000063ffffffff9485928560ff85871696878c8501528b1c1615159101520416808210610490575b50505191168152f35b61049b9294506111fe565b918480610487565b604186634e487b7160e01b6000525260246000fd5b50503461013257816003193601126101325760008051602061154a8339815191525490516001600160a01b039091168152602090f35b5050346101325760203660031901126101325760209181906001600160a01b0361051661113a565b1681526001845220549051908152f35b90503461020d578260031936011261020d578151908282019082821067ffffffffffffffff8311176105b25750825260058152602090640352e302e360dc1b6020820152825193849260208452825192836020860152825b84811061059c57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161057e565b604190634e487b7160e01b6000525260246000fd5b5050346101325760203660031901126101325760609181906001600160a01b036105ef61113a565b1681526001602052209060ff60018354930154825193845263ffffffff8116602085015260201c16151590820152f35b90503461020d578160031936011261020d5761063961113a565b91602435916106483633611221565b821561073a578460018060a01b0380951694858252600160205283822080549586811160001461072f575061067d8680611214565b905581541691823b156101325783516304c5978b60e51b8152309181019182526020820186905292839182908490829060400103925af18015610725576106ed575b507fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb9160209151908152a280f35b916020919461071c7fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb94611155565b949150916106bf565b82513d87823e3d90fd5b61067d908097611214565b606491519062461bcd60e51b8252602081830152602482015263191d5cdd60e21b6044820152fd5b5050346101325760203660031901126101325760209160ff9060019083906001600160a01b0361079061113a565b168152828652200154831c1690519015158152f35b505034610132578160031936011261013257602090516b033b2e3c9fd0803ce80000008152f35b50503461013257816003193601126101325760209160ff60008051602061154a8339815191525460a01c1660001461081a5750638fb3603760e01b905b516001600160e01b03199091168152f35b90610809565b90503461020d57606036600319011261020d5761083b61113a565b90602492833591604480359560018060a01b0395868816809803610980576108616113f7565b61086b3633611221565b8515610a045786169687895260209660018852858a2063ffffffff6001820154166109cd5780548881106109955789928c94926108a98b8994611214565b9055845416918851948593849263a9059cbb60e01b84528a8401528b888401525af190811561098b578991610951575b501561092057505050907f1ceab64053cad6d92ea3504e273effdf7a1b1006f7e8506741551d4f05bc74a6929151908152a2600160008051602061156a8339815191525580f35b90600f6e151c985b9cd9995c8819985a5b1959608a1b9287606496519562461bcd60e51b8752860152840152820152fd5b90508681813d8311610984575b610968818361117f565b810103126109805751801515810361098057386108d9565b8880fd5b503d61095e565b85513d8b823e3d90fd5b875162461bcd60e51b81528088018b905260148187015273496e73756666696369656e742062616c616e636560601b81880152606490fd5b865162461bcd60e51b81528087018a9052601381860152721858dd1a5d99481ad95e4a1cca48195e1a5cdd606a1b81870152606490fd5b509060187f746f6b656e416d74206e6565647320746f206265203e20300000000000000000926020606496519562461bcd60e51b8752860152840152820152fd5b50503461013257816003193601126101325763ffffffff6020925460a01c169051908152f35b90503461020d57602036600319011261020d57610a8661113a565b60008051602061154a8339815191525490926001600160a01b039182163303610ad457833b15610abd5784610aba8561139e565b80f35b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b9190503461020d57602036600319011261020d57610b0461113a565b610b0e3633611221565b6001600160a01b031683526001602081905281842001805463ffffffff9391929091848316918215610b895750509083610b4d640100000000936111e8565b169064ffffffffff191617179055815490610b7463ffffffff60a01b918360a01c166111e8565b60a01b169063ffffffff60a01b191617815580f35b906020606492519162461bcd60e51b8352820152601760248201527f4e6f20616374697665206b657920746f2072656d6f76650000000000000000006044820152fd5b90503461020d57602036600319011261020d57610be761113a565b610bf13633611221565b60018060a01b0316835260016020526801bc16d674ec80000082842092600184019283549163ffffffff958680610c298187166111bd565b1695869254041610610c5d57505064ffffffffff191617905581549063ffffffff60a01b90610b749060a084901c166111bd565b906020608492519162461bcd60e51b8352820152602260248201527f496e73756666696369656e7420626f6e64656420746f6b656e7320666f72206b604482015261657960f01b6064820152fd5b828434610317578060031936011261031757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610d1757602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9180915060031936011261020d57610d3a61113a565b90602493843567ffffffffffffffff811161013257366023820112156101325780850135610d67816111a1565b94610d748551968761117f565b81865260209182870193368a8383010111610f29578186928b869301873788010152610d9e611468565b610da83633611221565b610db0611468565b84516352d1902d60e01b81526001600160a01b038216969083818a818b5afa869181610efa575b50610df3575050505050505191634c9c8ce360e01b8352820152fd5b9088888894938c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91828103610ee55750853b15610ed1575080546001600160a01b031916821790558451889392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610eb3575050610ea59582915190845af4913d15610ea9573d610e97610e8e826111a1565b9251928361117f565b81528581943d92013e6114e6565b5080f35b50606092506114e6565b955095505050505034610ec557505080f35b63b398979f60e01b8152fd5b8651634c9c8ce360e01b8152808501849052fd5b8751632a87526960e21b815280860191909152fd5b9091508481813d8311610f22575b610f12818361117f565b810103126103f857519038610dd7565b503d610f08565b8580fd5b90503461020d578160031936011261020d57610f4761113a565b90602435906001600160a01b038083168303610f29577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009384549360ff85881c16159467ffffffffffffffff81168015908161110f575b6001149081611105575b1590816110fc575b506110ec5767ffffffffffffffff1981166001178755610ff79190866110cd575b50610fda611427565b610fe2611427565b610fea611427565b610ff2611427565b61139e565b610fff611427565b611007611427565b61100f611427565b600160008051602061156a83398151915255611029611427565b1690811561108a575084546001600160a01b031916178455611049578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b606490602086519162461bcd60e51b8352820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152fd5b68ffffffffffffffffff19166801000000000000000117875538610fd1565b875163f92ee8a960e01b81528590fd5b90501538610fb0565b303b159150610fa8565b879150610f9e565b849034610132578160031936011261013257806801bc16d674ec80000060209252f35b600435906001600160a01b038216820361115057565b600080fd5b67ffffffffffffffff811161116957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761116957604052565b67ffffffffffffffff811161116957601f01601f191660200190565b90600163ffffffff809316019182116111d257565b634e487b7160e01b600052601160045260246000fd5b63ffffffff90811660001901919082116111d257565b63ffffffff91821690821603919082116111d257565b919082039182116111d257565b60008051602061154a8339815191528054909290916001600160a01b03808416926004811061115057600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a0810181811067ffffffffffffffff82111761138a5791849188938452828052826020525190895afa611379575b156112c2575b50505050505050565b63ffffffff16156113635760ff60a01b19948516600160a01b178655833b1561115057606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af1908115611359575061134a575b508154169055388080808080806112b9565b61135390611155565b38611338565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c1502906112b3565b634e487b7160e01b85526041600452602485fd5b60008051602061154a83398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b60008051602061156a83398151915260028154146114155760029055565b604051633ee5aeb560e01b8152600490fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561145657565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163081149182156114b8575b50506114a657565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614159050388061149e565b9061150d57508051156114fb57602081519101fd5b60405163d6bda27560e01b8152600490fd5b81511580611540575b61151e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561151656fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220130ffcadfa1e2c9181efc453f49916e4653b67ca7908ce132161e8e04b8212c164736f6c63430008190033",
552
+ "deployedBytecode": "0x608060408181526004918236101561001657600080fd5b600092833560e01c918263161531011461111757508163485cc95514610f2d5781634f1ef28614610d2457816352d1902d14610cab5781635f7b68be14610bcc57816369e7849914610ae85781637a9e5e4b14610a6b578163809a42bb14610a455781638bc39207146108205781638fb36037146107cc5781639d8e2177146107a5578163a51fa5c714610762578163a6be1ec81461061f578163a7c32102146105c7578163ad3cb1cc14610526578163bb69d1e0146104ee578163bf7e214f146104b8578163c22dc3c0146103fc578163d2ecf31e14610211578163dd16713b14610136575063fc0c546a1461010c57600080fd5b34610132578160031936011261013257905490516001600160a01b039091168152602090f35b5080fd5b9190503461020d578060031936011261020d5761015161113a565b90602435916101603633611221565b82156101ca576001600160a01b03168085526001602052818520805491948483019283106101b7575055519081527ff6a4fac3c715c43d37e594d3f60bb5e3782af5a2aac2783711964a70277b605890602090a280f35b634e487b7160e01b875260119052602486fd5b815162461bcd60e51b8152602081860152601f60248201527f746f6b656e416d74206d7573742062652067726561746572207468616e2030006044820152606490fd5b8280fd5b839150346101325760603660031901126101325761022d61113a565b6044359363ffffffff9290918386166024358188036103f85761024e6113f7565b6102583633611221565b809760018060a01b038094168852602096600188528689209380610332575b5050509181869798936102ce9795935480911161032a575b8461029991611214565b905587548551629f15d760e81b8152309381019384526020840194909452929586939190911691839189918391604090910190565b03925af190811561032157506102f5575b82600160008051602061156a8339815191525580f35b813d831161031a575b610308818361117f565b810103126103175781806102df565b80fd5b503d6102fe565b513d85823e3d90fd5b93508361028f565b60018501908154908382169081106103a3579183918b9c9d98969461035e876102ce9e9c9a98966111fe565b169064ffffffffff19161790556103848c549263ffffffff60a01b928460a01c166111fe565b60a01b169063ffffffff60a01b1916178a559193989796819395610277565b895162461bcd60e51b8152808a018c9052602960248201527f446f65736e27742068617665206e756d4b65797320776f727468206f6620616360448201526874697665206b65797360b81b6064820152608490fd5b8680fd5b838334610132576020366003190112610132578061041861113a565b6001600160a01b031683526001602052822081519091906060810167ffffffffffffffff8111828210176104a35760209550825260018354938483520154906801bc16d674ec80000063ffffffff9485928560ff85871696878c8501528b1c1615159101520416808210610490575b50505191168152f35b61049b9294506111fe565b918480610487565b604186634e487b7160e01b6000525260246000fd5b50503461013257816003193601126101325760008051602061154a8339815191525490516001600160a01b039091168152602090f35b5050346101325760203660031901126101325760209181906001600160a01b0361051661113a565b1681526001845220549051908152f35b90503461020d578260031936011261020d578151908282019082821067ffffffffffffffff8311176105b25750825260058152602090640352e302e360dc1b6020820152825193849260208452825192836020860152825b84811061059c57505050828201840152601f01601f19168101030190f35b818101830151888201880152879550820161057e565b604190634e487b7160e01b6000525260246000fd5b5050346101325760203660031901126101325760609181906001600160a01b036105ef61113a565b1681526001602052209060ff60018354930154825193845263ffffffff8116602085015260201c16151590820152f35b90503461020d578160031936011261020d5761063961113a565b91602435916106483633611221565b821561073a578460018060a01b0380951694858252600160205283822080549586811160001461072f575061067d8680611214565b905581541691823b156101325783516304c5978b60e51b8152309181019182526020820186905292839182908490829060400103925af18015610725576106ed575b507fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb9160209151908152a280f35b916020919461071c7fc57c84598a60e5e50ef2ea857abd1e7a3448f0c409793c74d91f3a315d1fcccb94611155565b949150916106bf565b82513d87823e3d90fd5b61067d908097611214565b606491519062461bcd60e51b8252602081830152602482015263191d5cdd60e21b6044820152fd5b5050346101325760203660031901126101325760209160ff9060019083906001600160a01b0361079061113a565b168152828652200154831c1690519015158152f35b505034610132578160031936011261013257602090516b033b2e3c9fd0803ce80000008152f35b50503461013257816003193601126101325760209160ff60008051602061154a8339815191525460a01c1660001461081a5750638fb3603760e01b905b516001600160e01b03199091168152f35b90610809565b90503461020d57606036600319011261020d5761083b61113a565b90602492833591604480359560018060a01b0395868816809803610980576108616113f7565b61086b3633611221565b8515610a045786169687895260209660018852858a2063ffffffff6001820154166109cd5780548881106109955789928c94926108a98b8994611214565b9055845416918851948593849263a9059cbb60e01b84528a8401528b888401525af190811561098b578991610951575b501561092057505050907f1ceab64053cad6d92ea3504e273effdf7a1b1006f7e8506741551d4f05bc74a6929151908152a2600160008051602061156a8339815191525580f35b90600f6e151c985b9cd9995c8819985a5b1959608a1b9287606496519562461bcd60e51b8752860152840152820152fd5b90508681813d8311610984575b610968818361117f565b810103126109805751801515810361098057386108d9565b8880fd5b503d61095e565b85513d8b823e3d90fd5b875162461bcd60e51b81528088018b905260148187015273496e73756666696369656e742062616c616e636560601b81880152606490fd5b865162461bcd60e51b81528087018a9052601381860152721858dd1a5d99481ad95e4a1cca48195e1a5cdd606a1b81870152606490fd5b509060187f746f6b656e416d74206e6565647320746f206265203e20300000000000000000926020606496519562461bcd60e51b8752860152840152820152fd5b50503461013257816003193601126101325763ffffffff6020925460a01c169051908152f35b90503461020d57602036600319011261020d57610a8661113a565b60008051602061154a8339815191525490926001600160a01b039182163303610ad457833b15610abd5784610aba8561139e565b80f35b516361798f2f60e11b815292169082015260249150fd5b5162d1953b60e31b81523381840152602490fd5b9190503461020d57602036600319011261020d57610b0461113a565b610b0e3633611221565b6001600160a01b031683526001602081905281842001805463ffffffff9391929091848316918215610b895750509083610b4d640100000000936111e8565b169064ffffffffff191617179055815490610b7463ffffffff60a01b918360a01c166111e8565b60a01b169063ffffffff60a01b191617815580f35b906020606492519162461bcd60e51b8352820152601760248201527f4e6f20616374697665206b657920746f2072656d6f76650000000000000000006044820152fd5b90503461020d57602036600319011261020d57610be761113a565b610bf13633611221565b60018060a01b0316835260016020526801bc16d674ec80000082842092600184019283549163ffffffff958680610c298187166111bd565b1695869254041610610c5d57505064ffffffffff191617905581549063ffffffff60a01b90610b749060a084901c166111bd565b906020608492519162461bcd60e51b8352820152602260248201527f496e73756666696369656e7420626f6e64656420746f6b656e7320666f72206b604482015261657960f01b6064820152fd5b828434610317578060031936011261031757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610d1757602090517f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8152f35b5163703e46dd60e11b8152fd5b9180915060031936011261020d57610d3a61113a565b90602493843567ffffffffffffffff811161013257366023820112156101325780850135610d67816111a1565b94610d748551968761117f565b81865260209182870193368a8383010111610f29578186928b869301873788010152610d9e611468565b610da83633611221565b610db0611468565b84516352d1902d60e01b81526001600160a01b038216969083818a818b5afa869181610efa575b50610df3575050505050505191634c9c8ce360e01b8352820152fd5b9088888894938c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc91828103610ee55750853b15610ed1575080546001600160a01b031916821790558451889392917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8580a2825115610eb3575050610ea59582915190845af4913d15610ea9573d610e97610e8e826111a1565b9251928361117f565b81528581943d92013e6114e6565b5080f35b50606092506114e6565b955095505050505034610ec557505080f35b63b398979f60e01b8152fd5b8651634c9c8ce360e01b8152808501849052fd5b8751632a87526960e21b815280860191909152fd5b9091508481813d8311610f22575b610f12818361117f565b810103126103f857519038610dd7565b503d610f08565b8580fd5b90503461020d578160031936011261020d57610f4761113a565b90602435906001600160a01b038083168303610f29577ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009384549360ff85881c16159467ffffffffffffffff81168015908161110f575b6001149081611105575b1590816110fc575b506110ec5767ffffffffffffffff1981166001178755610ff79190866110cd575b50610fda611427565b610fe2611427565b610fea611427565b610ff2611427565b61139e565b610fff611427565b611007611427565b61100f611427565b600160008051602061156a83398151915255611029611427565b1690811561108a575084546001600160a01b031916178455611049578280f35b805468ff00000000000000001916905551600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a138808280f35b606490602086519162461bcd60e51b8352820152601860248201527f5a65726f2061646472657373206e6f7420616c6c6f77656400000000000000006044820152fd5b68ffffffffffffffffff19166801000000000000000117875538610fd1565b875163f92ee8a960e01b81528590fd5b90501538610fb0565b303b159150610fa8565b879150610f9e565b849034610132578160031936011261013257806801bc16d674ec80000060209252f35b600435906001600160a01b038216820361115057565b600080fd5b67ffffffffffffffff811161116957604052565b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff82111761116957604052565b67ffffffffffffffff811161116957601f01601f191660200190565b90600163ffffffff809316019182116111d257565b634e487b7160e01b600052601160045260246000fd5b63ffffffff90811660001901919082116111d257565b63ffffffff91821690821603919082116111d257565b919082039182116111d257565b60008051602061154a8339815191528054909290916001600160a01b03808416926004811061115057600080604094855194602086019163b700961360e01b8352169485602482015230604482015263ffffffff60e01b84351660648201526064815260a0810181811067ffffffffffffffff82111761138a5791849188938452828052826020525190895afa611379575b156112c2575b50505050505050565b63ffffffff16156113635760ff60a01b19948516600160a01b178655833b1561115057606493600092838551968780958194634a63ebf760e11b835260048301528860248301528060448301528084848401378181018301849052601f01601f191681010301925af1908115611359575061134a575b508154169055388080808080806112b9565b61135390611155565b38611338565b513d6000823e3d90fd5b50602491519062d1953b60e31b82526004820152fd5b50516020518060201c1502906112b3565b634e487b7160e01b85526041600452602485fd5b60008051602061154a83398151915280546001600160a01b0319166001600160a01b0390921691821790556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad90602090a1565b60008051602061156a83398151915260028154146114155760029055565b604051633ee5aeb560e01b8152600490fd5b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561145657565b604051631afcd79f60e31b8152600490fd5b6001600160a01b037f000000000000000000000000000000000000000000000000000000000000000081163081149182156114b8575b50506114a657565b60405163703e46dd60e11b8152600490fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc541614159050388061149e565b9061150d57508051156114fb57602081519101fd5b60405163d6bda27560e01b8152600490fd5b81511580611540575b61151e575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b1561151656fef3177357ab46d8af007ab3fdb9af81da189e1068fefdc0073dca88a2cab40a009b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f00a2646970667358221220130ffcadfa1e2c9181efc453f49916e4653b67ca7908ce132161e8e04b8212c164736f6c63430008190033",
571
553
  "linkReferences": {},
572
554
  "deployedLinkReferences": {}
573
555
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "_format": "hh-sol-dbg-1",
3
- "buildInfo": "../../../build-info/f26a3bdbd4033af8421132fc6adca199.json"
3
+ "buildInfo": "../../../build-info/b5e46b2b97b85c57c7cd2a26cf972153.json"
4
4
  }