@keep-network/tbtc-v2 1.6.0-dev.17 → 1.6.0-dev.19

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 (157) hide show
  1. package/artifacts/BLS.json +1 -1
  2. package/artifacts/Bank.json +3 -3
  3. package/artifacts/BeaconAuthorization.json +1 -1
  4. package/artifacts/BeaconDkg.json +1 -1
  5. package/artifacts/BeaconDkgValidator.json +1 -1
  6. package/artifacts/BeaconInactivity.json +1 -1
  7. package/artifacts/BeaconSortitionPool.json +3 -3
  8. package/artifacts/Bridge.json +5 -5
  9. package/artifacts/BridgeGovernance.json +2 -2
  10. package/artifacts/BridgeGovernanceParameters.json +2 -2
  11. package/artifacts/Deposit.json +2 -2
  12. package/artifacts/DepositSweep.json +2 -2
  13. package/artifacts/DonationVault.json +3 -3
  14. package/artifacts/EcdsaDkgValidator.json +1 -1
  15. package/artifacts/EcdsaInactivity.json +1 -1
  16. package/artifacts/EcdsaSortitionPool.json +3 -3
  17. package/artifacts/Fraud.json +2 -2
  18. package/artifacts/LightRelay.json +18 -18
  19. package/artifacts/LightRelayMaintainerProxy.json +8 -8
  20. package/artifacts/MaintainerProxy.json +19 -19
  21. package/artifacts/MovingFunds.json +2 -2
  22. package/artifacts/NuCypherToken.json +2 -2
  23. package/artifacts/RandomBeacon.json +2 -2
  24. package/artifacts/RandomBeaconChaosnet.json +2 -2
  25. package/artifacts/RandomBeaconGovernance.json +2 -2
  26. package/artifacts/Redemption.json +2 -2
  27. package/artifacts/ReimbursementPool.json +2 -2
  28. package/artifacts/T.json +2 -2
  29. package/artifacts/TBTC.json +3 -3
  30. package/artifacts/TBTCToken.json +3 -3
  31. package/artifacts/TBTCVault.json +23 -23
  32. package/artifacts/TokenStaking.json +1 -1
  33. package/artifacts/TokenholderGovernor.json +9 -9
  34. package/artifacts/TokenholderTimelock.json +8 -8
  35. package/artifacts/VendingMachine.json +3 -3
  36. package/artifacts/VendingMachineNuCypher.json +1 -1
  37. package/artifacts/VendingMachineV2.json +3 -3
  38. package/artifacts/VendingMachineV3.json +3 -3
  39. package/artifacts/WalletProposalValidator.json +2 -2
  40. package/artifacts/WalletRegistry.json +5 -5
  41. package/artifacts/WalletRegistryGovernance.json +2 -2
  42. package/artifacts/Wallets.json +2 -2
  43. package/artifacts/solcInputs/{d86f3b9c8cafe2e77604a4fc30b88b09.json → 19f15a13262ffc15233697ce606a19a1.json} +1 -1
  44. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  45. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  46. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  47. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  48. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  49. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  50. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  51. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  52. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  53. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  54. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  55. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  56. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  57. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  58. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  59. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  60. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  61. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  62. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  63. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  64. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  65. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.dbg.json +1 -1
  66. package/build/contracts/integrator/AbstractTBTCDepositor.sol/AbstractTBTCDepositor.json +0 -19
  67. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  68. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  69. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  70. package/build/contracts/l2/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  71. package/build/contracts/l2/L2WormholeGateway.sol/IWormholeTokenBridge.dbg.json +1 -1
  72. package/build/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  73. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  74. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  75. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  76. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  77. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  78. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +4 -0
  79. package/build/contracts/test/BankStub.sol/BankStub.json +555 -0
  80. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +4 -0
  81. package/build/contracts/test/BridgeStub.sol/BridgeStub.json +3318 -0
  82. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +4 -0
  83. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +30 -0
  84. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +4 -0
  85. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.json +467 -0
  86. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +4 -0
  87. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +96 -0
  88. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +4 -0
  89. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +456 -0
  90. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +4 -0
  91. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +89 -0
  92. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +4 -0
  93. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +102 -0
  94. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +4 -0
  95. package/build/contracts/test/TestERC20.sol/TestERC20.json +508 -0
  96. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +4 -0
  97. package/build/contracts/test/TestERC721.sol/TestERC721.json +390 -0
  98. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +4 -0
  99. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +35 -0
  100. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.dbg.json +4 -0
  101. package/build/contracts/test/TestTBTCDepositor.sol/MockBridge.json +224 -0
  102. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.dbg.json +4 -0
  103. package/build/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +87 -0
  104. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.dbg.json +4 -0
  105. package/build/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +264 -0
  106. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +4 -0
  107. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +372 -0
  108. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  109. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  110. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  111. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  112. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  113. package/contracts/integrator/AbstractTBTCDepositor.sol +10 -17
  114. package/contracts/test/BankStub.sol +11 -0
  115. package/contracts/test/BridgeStub.sol +174 -0
  116. package/contracts/test/HeartbeatStub.sol +16 -0
  117. package/contracts/test/LightRelayStub.sol +15 -0
  118. package/contracts/test/ReceiveApprovalStub.sol +33 -0
  119. package/contracts/test/SepoliaLightRelay.sol +48 -0
  120. package/contracts/test/SystemTestRelay.sol +57 -0
  121. package/contracts/test/TestBitcoinTx.sol +24 -0
  122. package/contracts/test/TestERC20.sol +12 -0
  123. package/contracts/test/TestERC721.sol +16 -0
  124. package/contracts/test/TestEcdsaLib.sol +17 -0
  125. package/contracts/test/TestTBTCDepositor.sol +196 -0
  126. package/contracts/test/WormholeBridgeStub.sol +125 -0
  127. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +6 -6
  128. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +6 -6
  129. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +6 -6
  130. package/export/artifacts/contracts/l2/L2TBTC.sol/L2TBTC.json +40 -40
  131. package/export/artifacts/contracts/l2/L2WormholeGateway.sol/L2WormholeGateway.json +47 -47
  132. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +88 -88
  133. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  134. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  135. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  136. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +30 -30
  137. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +2 -2
  138. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  139. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  140. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  141. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +14 -14
  142. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +5 -5
  143. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  144. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  145. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +2 -2
  146. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockBridge.json +36 -36
  147. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/MockTBTCVault.json +23 -23
  148. package/export/artifacts/contracts/test/TestTBTCDepositor.sol/TestTBTCDepositor.json +1846 -2016
  149. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  150. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  151. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  152. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +135 -135
  153. package/export/typechain/factories/AbstractTBTCDepositor__factory.js +0 -19
  154. package/export/typechain/factories/MockBridge__factory.js +1 -1
  155. package/export/typechain/factories/MockTBTCVault__factory.js +1 -1
  156. package/export/typechain/factories/TestTBTCDepositor__factory.js +1 -20
  157. package/package.json +1 -2
@@ -0,0 +1,3318 @@
1
+ {
2
+ "_format": "hh-sol-artifact-1",
3
+ "contractName": "BridgeStub",
4
+ "sourceName": "contracts/test/BridgeStub.sol",
5
+ "abi": [
6
+ {
7
+ "anonymous": false,
8
+ "inputs": [
9
+ {
10
+ "indexed": false,
11
+ "internalType": "uint64",
12
+ "name": "depositDustThreshold",
13
+ "type": "uint64"
14
+ },
15
+ {
16
+ "indexed": false,
17
+ "internalType": "uint64",
18
+ "name": "depositTreasuryFeeDivisor",
19
+ "type": "uint64"
20
+ },
21
+ {
22
+ "indexed": false,
23
+ "internalType": "uint64",
24
+ "name": "depositTxMaxFee",
25
+ "type": "uint64"
26
+ },
27
+ {
28
+ "indexed": false,
29
+ "internalType": "uint32",
30
+ "name": "depositRevealAheadPeriod",
31
+ "type": "uint32"
32
+ }
33
+ ],
34
+ "name": "DepositParametersUpdated",
35
+ "type": "event"
36
+ },
37
+ {
38
+ "anonymous": false,
39
+ "inputs": [
40
+ {
41
+ "indexed": false,
42
+ "internalType": "bytes32",
43
+ "name": "fundingTxHash",
44
+ "type": "bytes32"
45
+ },
46
+ {
47
+ "indexed": false,
48
+ "internalType": "uint32",
49
+ "name": "fundingOutputIndex",
50
+ "type": "uint32"
51
+ },
52
+ {
53
+ "indexed": true,
54
+ "internalType": "address",
55
+ "name": "depositor",
56
+ "type": "address"
57
+ },
58
+ {
59
+ "indexed": false,
60
+ "internalType": "uint64",
61
+ "name": "amount",
62
+ "type": "uint64"
63
+ },
64
+ {
65
+ "indexed": false,
66
+ "internalType": "bytes8",
67
+ "name": "blindingFactor",
68
+ "type": "bytes8"
69
+ },
70
+ {
71
+ "indexed": true,
72
+ "internalType": "bytes20",
73
+ "name": "walletPubKeyHash",
74
+ "type": "bytes20"
75
+ },
76
+ {
77
+ "indexed": false,
78
+ "internalType": "bytes20",
79
+ "name": "refundPubKeyHash",
80
+ "type": "bytes20"
81
+ },
82
+ {
83
+ "indexed": false,
84
+ "internalType": "bytes4",
85
+ "name": "refundLocktime",
86
+ "type": "bytes4"
87
+ },
88
+ {
89
+ "indexed": false,
90
+ "internalType": "address",
91
+ "name": "vault",
92
+ "type": "address"
93
+ }
94
+ ],
95
+ "name": "DepositRevealed",
96
+ "type": "event"
97
+ },
98
+ {
99
+ "anonymous": false,
100
+ "inputs": [
101
+ {
102
+ "indexed": false,
103
+ "internalType": "bytes20",
104
+ "name": "walletPubKeyHash",
105
+ "type": "bytes20"
106
+ },
107
+ {
108
+ "indexed": false,
109
+ "internalType": "bytes32",
110
+ "name": "sweepTxHash",
111
+ "type": "bytes32"
112
+ }
113
+ ],
114
+ "name": "DepositsSwept",
115
+ "type": "event"
116
+ },
117
+ {
118
+ "anonymous": false,
119
+ "inputs": [
120
+ {
121
+ "indexed": true,
122
+ "internalType": "bytes20",
123
+ "name": "walletPubKeyHash",
124
+ "type": "bytes20"
125
+ },
126
+ {
127
+ "indexed": false,
128
+ "internalType": "bytes32",
129
+ "name": "sighash",
130
+ "type": "bytes32"
131
+ }
132
+ ],
133
+ "name": "FraudChallengeDefeatTimedOut",
134
+ "type": "event"
135
+ },
136
+ {
137
+ "anonymous": false,
138
+ "inputs": [
139
+ {
140
+ "indexed": true,
141
+ "internalType": "bytes20",
142
+ "name": "walletPubKeyHash",
143
+ "type": "bytes20"
144
+ },
145
+ {
146
+ "indexed": false,
147
+ "internalType": "bytes32",
148
+ "name": "sighash",
149
+ "type": "bytes32"
150
+ }
151
+ ],
152
+ "name": "FraudChallengeDefeated",
153
+ "type": "event"
154
+ },
155
+ {
156
+ "anonymous": false,
157
+ "inputs": [
158
+ {
159
+ "indexed": true,
160
+ "internalType": "bytes20",
161
+ "name": "walletPubKeyHash",
162
+ "type": "bytes20"
163
+ },
164
+ {
165
+ "indexed": false,
166
+ "internalType": "bytes32",
167
+ "name": "sighash",
168
+ "type": "bytes32"
169
+ },
170
+ {
171
+ "indexed": false,
172
+ "internalType": "uint8",
173
+ "name": "v",
174
+ "type": "uint8"
175
+ },
176
+ {
177
+ "indexed": false,
178
+ "internalType": "bytes32",
179
+ "name": "r",
180
+ "type": "bytes32"
181
+ },
182
+ {
183
+ "indexed": false,
184
+ "internalType": "bytes32",
185
+ "name": "s",
186
+ "type": "bytes32"
187
+ }
188
+ ],
189
+ "name": "FraudChallengeSubmitted",
190
+ "type": "event"
191
+ },
192
+ {
193
+ "anonymous": false,
194
+ "inputs": [
195
+ {
196
+ "indexed": false,
197
+ "internalType": "uint96",
198
+ "name": "fraudChallengeDepositAmount",
199
+ "type": "uint96"
200
+ },
201
+ {
202
+ "indexed": false,
203
+ "internalType": "uint32",
204
+ "name": "fraudChallengeDefeatTimeout",
205
+ "type": "uint32"
206
+ },
207
+ {
208
+ "indexed": false,
209
+ "internalType": "uint96",
210
+ "name": "fraudSlashingAmount",
211
+ "type": "uint96"
212
+ },
213
+ {
214
+ "indexed": false,
215
+ "internalType": "uint32",
216
+ "name": "fraudNotifierRewardMultiplier",
217
+ "type": "uint32"
218
+ }
219
+ ],
220
+ "name": "FraudParametersUpdated",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": false,
228
+ "internalType": "address",
229
+ "name": "oldGovernance",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "address",
235
+ "name": "newGovernance",
236
+ "type": "address"
237
+ }
238
+ ],
239
+ "name": "GovernanceTransferred",
240
+ "type": "event"
241
+ },
242
+ {
243
+ "anonymous": false,
244
+ "inputs": [
245
+ {
246
+ "indexed": false,
247
+ "internalType": "uint8",
248
+ "name": "version",
249
+ "type": "uint8"
250
+ }
251
+ ],
252
+ "name": "Initialized",
253
+ "type": "event"
254
+ },
255
+ {
256
+ "anonymous": false,
257
+ "inputs": [
258
+ {
259
+ "indexed": true,
260
+ "internalType": "bytes20",
261
+ "name": "walletPubKeyHash",
262
+ "type": "bytes20"
263
+ },
264
+ {
265
+ "indexed": false,
266
+ "internalType": "bytes32",
267
+ "name": "movingFundsTxHash",
268
+ "type": "bytes32"
269
+ },
270
+ {
271
+ "indexed": false,
272
+ "internalType": "uint32",
273
+ "name": "movingFundsTxOutputIndex",
274
+ "type": "uint32"
275
+ }
276
+ ],
277
+ "name": "MovedFundsSweepTimedOut",
278
+ "type": "event"
279
+ },
280
+ {
281
+ "anonymous": false,
282
+ "inputs": [
283
+ {
284
+ "indexed": true,
285
+ "internalType": "bytes20",
286
+ "name": "walletPubKeyHash",
287
+ "type": "bytes20"
288
+ },
289
+ {
290
+ "indexed": false,
291
+ "internalType": "bytes32",
292
+ "name": "sweepTxHash",
293
+ "type": "bytes32"
294
+ }
295
+ ],
296
+ "name": "MovedFundsSwept",
297
+ "type": "event"
298
+ },
299
+ {
300
+ "anonymous": false,
301
+ "inputs": [
302
+ {
303
+ "indexed": true,
304
+ "internalType": "bytes20",
305
+ "name": "walletPubKeyHash",
306
+ "type": "bytes20"
307
+ }
308
+ ],
309
+ "name": "MovingFundsBelowDustReported",
310
+ "type": "event"
311
+ },
312
+ {
313
+ "anonymous": false,
314
+ "inputs": [
315
+ {
316
+ "indexed": true,
317
+ "internalType": "bytes20",
318
+ "name": "walletPubKeyHash",
319
+ "type": "bytes20"
320
+ },
321
+ {
322
+ "indexed": false,
323
+ "internalType": "bytes20[]",
324
+ "name": "targetWallets",
325
+ "type": "bytes20[]"
326
+ },
327
+ {
328
+ "indexed": false,
329
+ "internalType": "address",
330
+ "name": "submitter",
331
+ "type": "address"
332
+ }
333
+ ],
334
+ "name": "MovingFundsCommitmentSubmitted",
335
+ "type": "event"
336
+ },
337
+ {
338
+ "anonymous": false,
339
+ "inputs": [
340
+ {
341
+ "indexed": true,
342
+ "internalType": "bytes20",
343
+ "name": "walletPubKeyHash",
344
+ "type": "bytes20"
345
+ },
346
+ {
347
+ "indexed": false,
348
+ "internalType": "bytes32",
349
+ "name": "movingFundsTxHash",
350
+ "type": "bytes32"
351
+ }
352
+ ],
353
+ "name": "MovingFundsCompleted",
354
+ "type": "event"
355
+ },
356
+ {
357
+ "anonymous": false,
358
+ "inputs": [
359
+ {
360
+ "indexed": false,
361
+ "internalType": "uint64",
362
+ "name": "movingFundsTxMaxTotalFee",
363
+ "type": "uint64"
364
+ },
365
+ {
366
+ "indexed": false,
367
+ "internalType": "uint64",
368
+ "name": "movingFundsDustThreshold",
369
+ "type": "uint64"
370
+ },
371
+ {
372
+ "indexed": false,
373
+ "internalType": "uint32",
374
+ "name": "movingFundsTimeoutResetDelay",
375
+ "type": "uint32"
376
+ },
377
+ {
378
+ "indexed": false,
379
+ "internalType": "uint32",
380
+ "name": "movingFundsTimeout",
381
+ "type": "uint32"
382
+ },
383
+ {
384
+ "indexed": false,
385
+ "internalType": "uint96",
386
+ "name": "movingFundsTimeoutSlashingAmount",
387
+ "type": "uint96"
388
+ },
389
+ {
390
+ "indexed": false,
391
+ "internalType": "uint32",
392
+ "name": "movingFundsTimeoutNotifierRewardMultiplier",
393
+ "type": "uint32"
394
+ },
395
+ {
396
+ "indexed": false,
397
+ "internalType": "uint16",
398
+ "name": "movingFundsCommitmentGasOffset",
399
+ "type": "uint16"
400
+ },
401
+ {
402
+ "indexed": false,
403
+ "internalType": "uint64",
404
+ "name": "movedFundsSweepTxMaxTotalFee",
405
+ "type": "uint64"
406
+ },
407
+ {
408
+ "indexed": false,
409
+ "internalType": "uint32",
410
+ "name": "movedFundsSweepTimeout",
411
+ "type": "uint32"
412
+ },
413
+ {
414
+ "indexed": false,
415
+ "internalType": "uint96",
416
+ "name": "movedFundsSweepTimeoutSlashingAmount",
417
+ "type": "uint96"
418
+ },
419
+ {
420
+ "indexed": false,
421
+ "internalType": "uint32",
422
+ "name": "movedFundsSweepTimeoutNotifierRewardMultiplier",
423
+ "type": "uint32"
424
+ }
425
+ ],
426
+ "name": "MovingFundsParametersUpdated",
427
+ "type": "event"
428
+ },
429
+ {
430
+ "anonymous": false,
431
+ "inputs": [
432
+ {
433
+ "indexed": true,
434
+ "internalType": "bytes20",
435
+ "name": "walletPubKeyHash",
436
+ "type": "bytes20"
437
+ }
438
+ ],
439
+ "name": "MovingFundsTimedOut",
440
+ "type": "event"
441
+ },
442
+ {
443
+ "anonymous": false,
444
+ "inputs": [
445
+ {
446
+ "indexed": true,
447
+ "internalType": "bytes20",
448
+ "name": "walletPubKeyHash",
449
+ "type": "bytes20"
450
+ }
451
+ ],
452
+ "name": "MovingFundsTimeoutReset",
453
+ "type": "event"
454
+ },
455
+ {
456
+ "anonymous": false,
457
+ "inputs": [
458
+ {
459
+ "indexed": true,
460
+ "internalType": "bytes32",
461
+ "name": "ecdsaWalletID",
462
+ "type": "bytes32"
463
+ },
464
+ {
465
+ "indexed": true,
466
+ "internalType": "bytes20",
467
+ "name": "walletPubKeyHash",
468
+ "type": "bytes20"
469
+ }
470
+ ],
471
+ "name": "NewWalletRegistered",
472
+ "type": "event"
473
+ },
474
+ {
475
+ "anonymous": false,
476
+ "inputs": [],
477
+ "name": "NewWalletRequested",
478
+ "type": "event"
479
+ },
480
+ {
481
+ "anonymous": false,
482
+ "inputs": [
483
+ {
484
+ "indexed": false,
485
+ "internalType": "uint64",
486
+ "name": "redemptionDustThreshold",
487
+ "type": "uint64"
488
+ },
489
+ {
490
+ "indexed": false,
491
+ "internalType": "uint64",
492
+ "name": "redemptionTreasuryFeeDivisor",
493
+ "type": "uint64"
494
+ },
495
+ {
496
+ "indexed": false,
497
+ "internalType": "uint64",
498
+ "name": "redemptionTxMaxFee",
499
+ "type": "uint64"
500
+ },
501
+ {
502
+ "indexed": false,
503
+ "internalType": "uint64",
504
+ "name": "redemptionTxMaxTotalFee",
505
+ "type": "uint64"
506
+ },
507
+ {
508
+ "indexed": false,
509
+ "internalType": "uint32",
510
+ "name": "redemptionTimeout",
511
+ "type": "uint32"
512
+ },
513
+ {
514
+ "indexed": false,
515
+ "internalType": "uint96",
516
+ "name": "redemptionTimeoutSlashingAmount",
517
+ "type": "uint96"
518
+ },
519
+ {
520
+ "indexed": false,
521
+ "internalType": "uint32",
522
+ "name": "redemptionTimeoutNotifierRewardMultiplier",
523
+ "type": "uint32"
524
+ }
525
+ ],
526
+ "name": "RedemptionParametersUpdated",
527
+ "type": "event"
528
+ },
529
+ {
530
+ "anonymous": false,
531
+ "inputs": [
532
+ {
533
+ "indexed": true,
534
+ "internalType": "bytes20",
535
+ "name": "walletPubKeyHash",
536
+ "type": "bytes20"
537
+ },
538
+ {
539
+ "indexed": false,
540
+ "internalType": "bytes",
541
+ "name": "redeemerOutputScript",
542
+ "type": "bytes"
543
+ },
544
+ {
545
+ "indexed": true,
546
+ "internalType": "address",
547
+ "name": "redeemer",
548
+ "type": "address"
549
+ },
550
+ {
551
+ "indexed": false,
552
+ "internalType": "uint64",
553
+ "name": "requestedAmount",
554
+ "type": "uint64"
555
+ },
556
+ {
557
+ "indexed": false,
558
+ "internalType": "uint64",
559
+ "name": "treasuryFee",
560
+ "type": "uint64"
561
+ },
562
+ {
563
+ "indexed": false,
564
+ "internalType": "uint64",
565
+ "name": "txMaxFee",
566
+ "type": "uint64"
567
+ }
568
+ ],
569
+ "name": "RedemptionRequested",
570
+ "type": "event"
571
+ },
572
+ {
573
+ "anonymous": false,
574
+ "inputs": [
575
+ {
576
+ "indexed": true,
577
+ "internalType": "bytes20",
578
+ "name": "walletPubKeyHash",
579
+ "type": "bytes20"
580
+ },
581
+ {
582
+ "indexed": false,
583
+ "internalType": "bytes",
584
+ "name": "redeemerOutputScript",
585
+ "type": "bytes"
586
+ }
587
+ ],
588
+ "name": "RedemptionTimedOut",
589
+ "type": "event"
590
+ },
591
+ {
592
+ "anonymous": false,
593
+ "inputs": [
594
+ {
595
+ "indexed": true,
596
+ "internalType": "bytes20",
597
+ "name": "walletPubKeyHash",
598
+ "type": "bytes20"
599
+ },
600
+ {
601
+ "indexed": false,
602
+ "internalType": "bytes32",
603
+ "name": "redemptionTxHash",
604
+ "type": "bytes32"
605
+ }
606
+ ],
607
+ "name": "RedemptionsCompleted",
608
+ "type": "event"
609
+ },
610
+ {
611
+ "anonymous": false,
612
+ "inputs": [
613
+ {
614
+ "indexed": true,
615
+ "internalType": "address",
616
+ "name": "spvMaintainer",
617
+ "type": "address"
618
+ },
619
+ {
620
+ "indexed": false,
621
+ "internalType": "bool",
622
+ "name": "isTrusted",
623
+ "type": "bool"
624
+ }
625
+ ],
626
+ "name": "SpvMaintainerStatusUpdated",
627
+ "type": "event"
628
+ },
629
+ {
630
+ "anonymous": false,
631
+ "inputs": [
632
+ {
633
+ "indexed": false,
634
+ "internalType": "address",
635
+ "name": "treasury",
636
+ "type": "address"
637
+ }
638
+ ],
639
+ "name": "TreasuryUpdated",
640
+ "type": "event"
641
+ },
642
+ {
643
+ "anonymous": false,
644
+ "inputs": [
645
+ {
646
+ "indexed": true,
647
+ "internalType": "address",
648
+ "name": "vault",
649
+ "type": "address"
650
+ },
651
+ {
652
+ "indexed": false,
653
+ "internalType": "bool",
654
+ "name": "isTrusted",
655
+ "type": "bool"
656
+ }
657
+ ],
658
+ "name": "VaultStatusUpdated",
659
+ "type": "event"
660
+ },
661
+ {
662
+ "anonymous": false,
663
+ "inputs": [
664
+ {
665
+ "indexed": true,
666
+ "internalType": "bytes32",
667
+ "name": "ecdsaWalletID",
668
+ "type": "bytes32"
669
+ },
670
+ {
671
+ "indexed": true,
672
+ "internalType": "bytes20",
673
+ "name": "walletPubKeyHash",
674
+ "type": "bytes20"
675
+ }
676
+ ],
677
+ "name": "WalletClosed",
678
+ "type": "event"
679
+ },
680
+ {
681
+ "anonymous": false,
682
+ "inputs": [
683
+ {
684
+ "indexed": true,
685
+ "internalType": "bytes32",
686
+ "name": "ecdsaWalletID",
687
+ "type": "bytes32"
688
+ },
689
+ {
690
+ "indexed": true,
691
+ "internalType": "bytes20",
692
+ "name": "walletPubKeyHash",
693
+ "type": "bytes20"
694
+ }
695
+ ],
696
+ "name": "WalletClosing",
697
+ "type": "event"
698
+ },
699
+ {
700
+ "anonymous": false,
701
+ "inputs": [
702
+ {
703
+ "indexed": true,
704
+ "internalType": "bytes32",
705
+ "name": "ecdsaWalletID",
706
+ "type": "bytes32"
707
+ },
708
+ {
709
+ "indexed": true,
710
+ "internalType": "bytes20",
711
+ "name": "walletPubKeyHash",
712
+ "type": "bytes20"
713
+ }
714
+ ],
715
+ "name": "WalletMovingFunds",
716
+ "type": "event"
717
+ },
718
+ {
719
+ "anonymous": false,
720
+ "inputs": [
721
+ {
722
+ "indexed": false,
723
+ "internalType": "uint32",
724
+ "name": "walletCreationPeriod",
725
+ "type": "uint32"
726
+ },
727
+ {
728
+ "indexed": false,
729
+ "internalType": "uint64",
730
+ "name": "walletCreationMinBtcBalance",
731
+ "type": "uint64"
732
+ },
733
+ {
734
+ "indexed": false,
735
+ "internalType": "uint64",
736
+ "name": "walletCreationMaxBtcBalance",
737
+ "type": "uint64"
738
+ },
739
+ {
740
+ "indexed": false,
741
+ "internalType": "uint64",
742
+ "name": "walletClosureMinBtcBalance",
743
+ "type": "uint64"
744
+ },
745
+ {
746
+ "indexed": false,
747
+ "internalType": "uint32",
748
+ "name": "walletMaxAge",
749
+ "type": "uint32"
750
+ },
751
+ {
752
+ "indexed": false,
753
+ "internalType": "uint64",
754
+ "name": "walletMaxBtcTransfer",
755
+ "type": "uint64"
756
+ },
757
+ {
758
+ "indexed": false,
759
+ "internalType": "uint32",
760
+ "name": "walletClosingPeriod",
761
+ "type": "uint32"
762
+ }
763
+ ],
764
+ "name": "WalletParametersUpdated",
765
+ "type": "event"
766
+ },
767
+ {
768
+ "anonymous": false,
769
+ "inputs": [
770
+ {
771
+ "indexed": true,
772
+ "internalType": "bytes32",
773
+ "name": "ecdsaWalletID",
774
+ "type": "bytes32"
775
+ },
776
+ {
777
+ "indexed": true,
778
+ "internalType": "bytes20",
779
+ "name": "walletPubKeyHash",
780
+ "type": "bytes20"
781
+ }
782
+ ],
783
+ "name": "WalletTerminated",
784
+ "type": "event"
785
+ },
786
+ {
787
+ "inputs": [
788
+ {
789
+ "internalType": "bytes32",
790
+ "name": "ecdsaWalletID",
791
+ "type": "bytes32"
792
+ },
793
+ {
794
+ "internalType": "bytes32",
795
+ "name": "publicKeyX",
796
+ "type": "bytes32"
797
+ },
798
+ {
799
+ "internalType": "bytes32",
800
+ "name": "publicKeyY",
801
+ "type": "bytes32"
802
+ }
803
+ ],
804
+ "name": "__ecdsaWalletCreatedCallback",
805
+ "outputs": [],
806
+ "stateMutability": "nonpayable",
807
+ "type": "function"
808
+ },
809
+ {
810
+ "inputs": [
811
+ {
812
+ "internalType": "bytes32",
813
+ "name": "",
814
+ "type": "bytes32"
815
+ },
816
+ {
817
+ "internalType": "bytes32",
818
+ "name": "publicKeyX",
819
+ "type": "bytes32"
820
+ },
821
+ {
822
+ "internalType": "bytes32",
823
+ "name": "publicKeyY",
824
+ "type": "bytes32"
825
+ }
826
+ ],
827
+ "name": "__ecdsaWalletHeartbeatFailedCallback",
828
+ "outputs": [],
829
+ "stateMutability": "nonpayable",
830
+ "type": "function"
831
+ },
832
+ {
833
+ "inputs": [],
834
+ "name": "activeWalletPubKeyHash",
835
+ "outputs": [
836
+ {
837
+ "internalType": "bytes20",
838
+ "name": "",
839
+ "type": "bytes20"
840
+ }
841
+ ],
842
+ "stateMutability": "view",
843
+ "type": "function"
844
+ },
845
+ {
846
+ "inputs": [],
847
+ "name": "contractReferences",
848
+ "outputs": [
849
+ {
850
+ "internalType": "contract Bank",
851
+ "name": "bank",
852
+ "type": "address"
853
+ },
854
+ {
855
+ "internalType": "contract IRelay",
856
+ "name": "relay",
857
+ "type": "address"
858
+ },
859
+ {
860
+ "internalType": "contract IWalletRegistry",
861
+ "name": "ecdsaWalletRegistry",
862
+ "type": "address"
863
+ },
864
+ {
865
+ "internalType": "contract ReimbursementPool",
866
+ "name": "reimbursementPool",
867
+ "type": "address"
868
+ }
869
+ ],
870
+ "stateMutability": "view",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [
875
+ {
876
+ "internalType": "bytes",
877
+ "name": "walletPublicKey",
878
+ "type": "bytes"
879
+ },
880
+ {
881
+ "internalType": "bytes",
882
+ "name": "preimage",
883
+ "type": "bytes"
884
+ },
885
+ {
886
+ "internalType": "bool",
887
+ "name": "witness",
888
+ "type": "bool"
889
+ }
890
+ ],
891
+ "name": "defeatFraudChallenge",
892
+ "outputs": [],
893
+ "stateMutability": "nonpayable",
894
+ "type": "function"
895
+ },
896
+ {
897
+ "inputs": [
898
+ {
899
+ "internalType": "bytes",
900
+ "name": "walletPublicKey",
901
+ "type": "bytes"
902
+ },
903
+ {
904
+ "internalType": "bytes",
905
+ "name": "heartbeatMessage",
906
+ "type": "bytes"
907
+ }
908
+ ],
909
+ "name": "defeatFraudChallengeWithHeartbeat",
910
+ "outputs": [],
911
+ "stateMutability": "nonpayable",
912
+ "type": "function"
913
+ },
914
+ {
915
+ "inputs": [],
916
+ "name": "depositParameters",
917
+ "outputs": [
918
+ {
919
+ "internalType": "uint64",
920
+ "name": "depositDustThreshold",
921
+ "type": "uint64"
922
+ },
923
+ {
924
+ "internalType": "uint64",
925
+ "name": "depositTreasuryFeeDivisor",
926
+ "type": "uint64"
927
+ },
928
+ {
929
+ "internalType": "uint64",
930
+ "name": "depositTxMaxFee",
931
+ "type": "uint64"
932
+ },
933
+ {
934
+ "internalType": "uint32",
935
+ "name": "depositRevealAheadPeriod",
936
+ "type": "uint32"
937
+ }
938
+ ],
939
+ "stateMutability": "view",
940
+ "type": "function"
941
+ },
942
+ {
943
+ "inputs": [
944
+ {
945
+ "internalType": "uint256",
946
+ "name": "depositKey",
947
+ "type": "uint256"
948
+ }
949
+ ],
950
+ "name": "deposits",
951
+ "outputs": [
952
+ {
953
+ "components": [
954
+ {
955
+ "internalType": "address",
956
+ "name": "depositor",
957
+ "type": "address"
958
+ },
959
+ {
960
+ "internalType": "uint64",
961
+ "name": "amount",
962
+ "type": "uint64"
963
+ },
964
+ {
965
+ "internalType": "uint32",
966
+ "name": "revealedAt",
967
+ "type": "uint32"
968
+ },
969
+ {
970
+ "internalType": "address",
971
+ "name": "vault",
972
+ "type": "address"
973
+ },
974
+ {
975
+ "internalType": "uint64",
976
+ "name": "treasuryFee",
977
+ "type": "uint64"
978
+ },
979
+ {
980
+ "internalType": "uint32",
981
+ "name": "sweptAt",
982
+ "type": "uint32"
983
+ },
984
+ {
985
+ "internalType": "bytes32",
986
+ "name": "extraData",
987
+ "type": "bytes32"
988
+ }
989
+ ],
990
+ "internalType": "struct Deposit.DepositRequest",
991
+ "name": "",
992
+ "type": "tuple"
993
+ }
994
+ ],
995
+ "stateMutability": "view",
996
+ "type": "function"
997
+ },
998
+ {
999
+ "inputs": [
1000
+ {
1001
+ "internalType": "uint256",
1002
+ "name": "challengeKey",
1003
+ "type": "uint256"
1004
+ }
1005
+ ],
1006
+ "name": "fraudChallenges",
1007
+ "outputs": [
1008
+ {
1009
+ "components": [
1010
+ {
1011
+ "internalType": "address",
1012
+ "name": "challenger",
1013
+ "type": "address"
1014
+ },
1015
+ {
1016
+ "internalType": "uint256",
1017
+ "name": "depositAmount",
1018
+ "type": "uint256"
1019
+ },
1020
+ {
1021
+ "internalType": "uint32",
1022
+ "name": "reportedAt",
1023
+ "type": "uint32"
1024
+ },
1025
+ {
1026
+ "internalType": "bool",
1027
+ "name": "resolved",
1028
+ "type": "bool"
1029
+ }
1030
+ ],
1031
+ "internalType": "struct Fraud.FraudChallenge",
1032
+ "name": "",
1033
+ "type": "tuple"
1034
+ }
1035
+ ],
1036
+ "stateMutability": "view",
1037
+ "type": "function"
1038
+ },
1039
+ {
1040
+ "inputs": [],
1041
+ "name": "fraudParameters",
1042
+ "outputs": [
1043
+ {
1044
+ "internalType": "uint96",
1045
+ "name": "fraudChallengeDepositAmount",
1046
+ "type": "uint96"
1047
+ },
1048
+ {
1049
+ "internalType": "uint32",
1050
+ "name": "fraudChallengeDefeatTimeout",
1051
+ "type": "uint32"
1052
+ },
1053
+ {
1054
+ "internalType": "uint96",
1055
+ "name": "fraudSlashingAmount",
1056
+ "type": "uint96"
1057
+ },
1058
+ {
1059
+ "internalType": "uint32",
1060
+ "name": "fraudNotifierRewardMultiplier",
1061
+ "type": "uint32"
1062
+ }
1063
+ ],
1064
+ "stateMutability": "view",
1065
+ "type": "function"
1066
+ },
1067
+ {
1068
+ "inputs": [],
1069
+ "name": "governance",
1070
+ "outputs": [
1071
+ {
1072
+ "internalType": "address",
1073
+ "name": "",
1074
+ "type": "address"
1075
+ }
1076
+ ],
1077
+ "stateMutability": "view",
1078
+ "type": "function"
1079
+ },
1080
+ {
1081
+ "inputs": [
1082
+ {
1083
+ "internalType": "address",
1084
+ "name": "_bank",
1085
+ "type": "address"
1086
+ },
1087
+ {
1088
+ "internalType": "address",
1089
+ "name": "_relay",
1090
+ "type": "address"
1091
+ },
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "_treasury",
1095
+ "type": "address"
1096
+ },
1097
+ {
1098
+ "internalType": "address",
1099
+ "name": "_ecdsaWalletRegistry",
1100
+ "type": "address"
1101
+ },
1102
+ {
1103
+ "internalType": "address payable",
1104
+ "name": "_reimbursementPool",
1105
+ "type": "address"
1106
+ },
1107
+ {
1108
+ "internalType": "uint96",
1109
+ "name": "_txProofDifficultyFactor",
1110
+ "type": "uint96"
1111
+ }
1112
+ ],
1113
+ "name": "initialize",
1114
+ "outputs": [],
1115
+ "stateMutability": "nonpayable",
1116
+ "type": "function"
1117
+ },
1118
+ {
1119
+ "inputs": [
1120
+ {
1121
+ "internalType": "address",
1122
+ "name": "vault",
1123
+ "type": "address"
1124
+ }
1125
+ ],
1126
+ "name": "isVaultTrusted",
1127
+ "outputs": [
1128
+ {
1129
+ "internalType": "bool",
1130
+ "name": "",
1131
+ "type": "bool"
1132
+ }
1133
+ ],
1134
+ "stateMutability": "view",
1135
+ "type": "function"
1136
+ },
1137
+ {
1138
+ "inputs": [],
1139
+ "name": "liveWalletsCount",
1140
+ "outputs": [
1141
+ {
1142
+ "internalType": "uint32",
1143
+ "name": "",
1144
+ "type": "uint32"
1145
+ }
1146
+ ],
1147
+ "stateMutability": "view",
1148
+ "type": "function"
1149
+ },
1150
+ {
1151
+ "inputs": [
1152
+ {
1153
+ "internalType": "uint256",
1154
+ "name": "requestKey",
1155
+ "type": "uint256"
1156
+ }
1157
+ ],
1158
+ "name": "movedFundsSweepRequests",
1159
+ "outputs": [
1160
+ {
1161
+ "components": [
1162
+ {
1163
+ "internalType": "bytes20",
1164
+ "name": "walletPubKeyHash",
1165
+ "type": "bytes20"
1166
+ },
1167
+ {
1168
+ "internalType": "uint64",
1169
+ "name": "value",
1170
+ "type": "uint64"
1171
+ },
1172
+ {
1173
+ "internalType": "uint32",
1174
+ "name": "createdAt",
1175
+ "type": "uint32"
1176
+ },
1177
+ {
1178
+ "internalType": "enum MovingFunds.MovedFundsSweepRequestState",
1179
+ "name": "state",
1180
+ "type": "uint8"
1181
+ }
1182
+ ],
1183
+ "internalType": "struct MovingFunds.MovedFundsSweepRequest",
1184
+ "name": "",
1185
+ "type": "tuple"
1186
+ }
1187
+ ],
1188
+ "stateMutability": "view",
1189
+ "type": "function"
1190
+ },
1191
+ {
1192
+ "inputs": [],
1193
+ "name": "movingFundsParameters",
1194
+ "outputs": [
1195
+ {
1196
+ "internalType": "uint64",
1197
+ "name": "movingFundsTxMaxTotalFee",
1198
+ "type": "uint64"
1199
+ },
1200
+ {
1201
+ "internalType": "uint64",
1202
+ "name": "movingFundsDustThreshold",
1203
+ "type": "uint64"
1204
+ },
1205
+ {
1206
+ "internalType": "uint32",
1207
+ "name": "movingFundsTimeoutResetDelay",
1208
+ "type": "uint32"
1209
+ },
1210
+ {
1211
+ "internalType": "uint32",
1212
+ "name": "movingFundsTimeout",
1213
+ "type": "uint32"
1214
+ },
1215
+ {
1216
+ "internalType": "uint96",
1217
+ "name": "movingFundsTimeoutSlashingAmount",
1218
+ "type": "uint96"
1219
+ },
1220
+ {
1221
+ "internalType": "uint32",
1222
+ "name": "movingFundsTimeoutNotifierRewardMultiplier",
1223
+ "type": "uint32"
1224
+ },
1225
+ {
1226
+ "internalType": "uint16",
1227
+ "name": "movingFundsCommitmentGasOffset",
1228
+ "type": "uint16"
1229
+ },
1230
+ {
1231
+ "internalType": "uint64",
1232
+ "name": "movedFundsSweepTxMaxTotalFee",
1233
+ "type": "uint64"
1234
+ },
1235
+ {
1236
+ "internalType": "uint32",
1237
+ "name": "movedFundsSweepTimeout",
1238
+ "type": "uint32"
1239
+ },
1240
+ {
1241
+ "internalType": "uint96",
1242
+ "name": "movedFundsSweepTimeoutSlashingAmount",
1243
+ "type": "uint96"
1244
+ },
1245
+ {
1246
+ "internalType": "uint32",
1247
+ "name": "movedFundsSweepTimeoutNotifierRewardMultiplier",
1248
+ "type": "uint32"
1249
+ }
1250
+ ],
1251
+ "stateMutability": "view",
1252
+ "type": "function"
1253
+ },
1254
+ {
1255
+ "inputs": [
1256
+ {
1257
+ "internalType": "bytes",
1258
+ "name": "walletPublicKey",
1259
+ "type": "bytes"
1260
+ },
1261
+ {
1262
+ "internalType": "uint32[]",
1263
+ "name": "walletMembersIDs",
1264
+ "type": "uint32[]"
1265
+ },
1266
+ {
1267
+ "internalType": "bytes",
1268
+ "name": "preimageSha256",
1269
+ "type": "bytes"
1270
+ }
1271
+ ],
1272
+ "name": "notifyFraudChallengeDefeatTimeout",
1273
+ "outputs": [],
1274
+ "stateMutability": "nonpayable",
1275
+ "type": "function"
1276
+ },
1277
+ {
1278
+ "inputs": [
1279
+ {
1280
+ "internalType": "bytes32",
1281
+ "name": "movingFundsTxHash",
1282
+ "type": "bytes32"
1283
+ },
1284
+ {
1285
+ "internalType": "uint32",
1286
+ "name": "movingFundsTxOutputIndex",
1287
+ "type": "uint32"
1288
+ },
1289
+ {
1290
+ "internalType": "uint32[]",
1291
+ "name": "walletMembersIDs",
1292
+ "type": "uint32[]"
1293
+ }
1294
+ ],
1295
+ "name": "notifyMovedFundsSweepTimeout",
1296
+ "outputs": [],
1297
+ "stateMutability": "nonpayable",
1298
+ "type": "function"
1299
+ },
1300
+ {
1301
+ "inputs": [
1302
+ {
1303
+ "internalType": "bytes20",
1304
+ "name": "walletPubKeyHash",
1305
+ "type": "bytes20"
1306
+ },
1307
+ {
1308
+ "components": [
1309
+ {
1310
+ "internalType": "bytes32",
1311
+ "name": "txHash",
1312
+ "type": "bytes32"
1313
+ },
1314
+ {
1315
+ "internalType": "uint32",
1316
+ "name": "txOutputIndex",
1317
+ "type": "uint32"
1318
+ },
1319
+ {
1320
+ "internalType": "uint64",
1321
+ "name": "txOutputValue",
1322
+ "type": "uint64"
1323
+ }
1324
+ ],
1325
+ "internalType": "struct BitcoinTx.UTXO",
1326
+ "name": "mainUtxo",
1327
+ "type": "tuple"
1328
+ }
1329
+ ],
1330
+ "name": "notifyMovingFundsBelowDust",
1331
+ "outputs": [],
1332
+ "stateMutability": "nonpayable",
1333
+ "type": "function"
1334
+ },
1335
+ {
1336
+ "inputs": [
1337
+ {
1338
+ "internalType": "bytes20",
1339
+ "name": "walletPubKeyHash",
1340
+ "type": "bytes20"
1341
+ },
1342
+ {
1343
+ "internalType": "uint32[]",
1344
+ "name": "walletMembersIDs",
1345
+ "type": "uint32[]"
1346
+ }
1347
+ ],
1348
+ "name": "notifyMovingFundsTimeout",
1349
+ "outputs": [],
1350
+ "stateMutability": "nonpayable",
1351
+ "type": "function"
1352
+ },
1353
+ {
1354
+ "inputs": [
1355
+ {
1356
+ "internalType": "bytes20",
1357
+ "name": "walletPubKeyHash",
1358
+ "type": "bytes20"
1359
+ },
1360
+ {
1361
+ "internalType": "uint32[]",
1362
+ "name": "walletMembersIDs",
1363
+ "type": "uint32[]"
1364
+ },
1365
+ {
1366
+ "internalType": "bytes",
1367
+ "name": "redeemerOutputScript",
1368
+ "type": "bytes"
1369
+ }
1370
+ ],
1371
+ "name": "notifyRedemptionTimeout",
1372
+ "outputs": [],
1373
+ "stateMutability": "nonpayable",
1374
+ "type": "function"
1375
+ },
1376
+ {
1377
+ "inputs": [
1378
+ {
1379
+ "internalType": "bytes20",
1380
+ "name": "walletPubKeyHash",
1381
+ "type": "bytes20"
1382
+ },
1383
+ {
1384
+ "components": [
1385
+ {
1386
+ "internalType": "bytes32",
1387
+ "name": "txHash",
1388
+ "type": "bytes32"
1389
+ },
1390
+ {
1391
+ "internalType": "uint32",
1392
+ "name": "txOutputIndex",
1393
+ "type": "uint32"
1394
+ },
1395
+ {
1396
+ "internalType": "uint64",
1397
+ "name": "txOutputValue",
1398
+ "type": "uint64"
1399
+ }
1400
+ ],
1401
+ "internalType": "struct BitcoinTx.UTXO",
1402
+ "name": "walletMainUtxo",
1403
+ "type": "tuple"
1404
+ }
1405
+ ],
1406
+ "name": "notifyWalletCloseable",
1407
+ "outputs": [],
1408
+ "stateMutability": "nonpayable",
1409
+ "type": "function"
1410
+ },
1411
+ {
1412
+ "inputs": [
1413
+ {
1414
+ "internalType": "bytes20",
1415
+ "name": "walletPubKeyHash",
1416
+ "type": "bytes20"
1417
+ }
1418
+ ],
1419
+ "name": "notifyWalletClosingPeriodElapsed",
1420
+ "outputs": [],
1421
+ "stateMutability": "nonpayable",
1422
+ "type": "function"
1423
+ },
1424
+ {
1425
+ "inputs": [
1426
+ {
1427
+ "internalType": "uint256",
1428
+ "name": "redemptionKey",
1429
+ "type": "uint256"
1430
+ }
1431
+ ],
1432
+ "name": "pendingRedemptions",
1433
+ "outputs": [
1434
+ {
1435
+ "components": [
1436
+ {
1437
+ "internalType": "address",
1438
+ "name": "redeemer",
1439
+ "type": "address"
1440
+ },
1441
+ {
1442
+ "internalType": "uint64",
1443
+ "name": "requestedAmount",
1444
+ "type": "uint64"
1445
+ },
1446
+ {
1447
+ "internalType": "uint64",
1448
+ "name": "treasuryFee",
1449
+ "type": "uint64"
1450
+ },
1451
+ {
1452
+ "internalType": "uint64",
1453
+ "name": "txMaxFee",
1454
+ "type": "uint64"
1455
+ },
1456
+ {
1457
+ "internalType": "uint32",
1458
+ "name": "requestedAt",
1459
+ "type": "uint32"
1460
+ }
1461
+ ],
1462
+ "internalType": "struct Redemption.RedemptionRequest",
1463
+ "name": "",
1464
+ "type": "tuple"
1465
+ }
1466
+ ],
1467
+ "stateMutability": "view",
1468
+ "type": "function"
1469
+ },
1470
+ {
1471
+ "inputs": [
1472
+ {
1473
+ "internalType": "bytes20",
1474
+ "name": "walletPubKeyHash",
1475
+ "type": "bytes20"
1476
+ },
1477
+ {
1478
+ "components": [
1479
+ {
1480
+ "internalType": "bytes32",
1481
+ "name": "txHash",
1482
+ "type": "bytes32"
1483
+ },
1484
+ {
1485
+ "internalType": "uint32",
1486
+ "name": "txOutputIndex",
1487
+ "type": "uint32"
1488
+ },
1489
+ {
1490
+ "internalType": "uint64",
1491
+ "name": "txOutputValue",
1492
+ "type": "uint64"
1493
+ }
1494
+ ],
1495
+ "internalType": "struct BitcoinTx.UTXO",
1496
+ "name": "utxo",
1497
+ "type": "tuple"
1498
+ }
1499
+ ],
1500
+ "name": "processPendingMovedFundsSweepRequest",
1501
+ "outputs": [],
1502
+ "stateMutability": "nonpayable",
1503
+ "type": "function"
1504
+ },
1505
+ {
1506
+ "inputs": [
1507
+ {
1508
+ "internalType": "address",
1509
+ "name": "balanceOwner",
1510
+ "type": "address"
1511
+ },
1512
+ {
1513
+ "internalType": "uint256",
1514
+ "name": "amount",
1515
+ "type": "uint256"
1516
+ },
1517
+ {
1518
+ "internalType": "bytes",
1519
+ "name": "redemptionData",
1520
+ "type": "bytes"
1521
+ }
1522
+ ],
1523
+ "name": "receiveBalanceApproval",
1524
+ "outputs": [],
1525
+ "stateMutability": "nonpayable",
1526
+ "type": "function"
1527
+ },
1528
+ {
1529
+ "inputs": [],
1530
+ "name": "redemptionParameters",
1531
+ "outputs": [
1532
+ {
1533
+ "internalType": "uint64",
1534
+ "name": "redemptionDustThreshold",
1535
+ "type": "uint64"
1536
+ },
1537
+ {
1538
+ "internalType": "uint64",
1539
+ "name": "redemptionTreasuryFeeDivisor",
1540
+ "type": "uint64"
1541
+ },
1542
+ {
1543
+ "internalType": "uint64",
1544
+ "name": "redemptionTxMaxFee",
1545
+ "type": "uint64"
1546
+ },
1547
+ {
1548
+ "internalType": "uint64",
1549
+ "name": "redemptionTxMaxTotalFee",
1550
+ "type": "uint64"
1551
+ },
1552
+ {
1553
+ "internalType": "uint32",
1554
+ "name": "redemptionTimeout",
1555
+ "type": "uint32"
1556
+ },
1557
+ {
1558
+ "internalType": "uint96",
1559
+ "name": "redemptionTimeoutSlashingAmount",
1560
+ "type": "uint96"
1561
+ },
1562
+ {
1563
+ "internalType": "uint32",
1564
+ "name": "redemptionTimeoutNotifierRewardMultiplier",
1565
+ "type": "uint32"
1566
+ }
1567
+ ],
1568
+ "stateMutability": "view",
1569
+ "type": "function"
1570
+ },
1571
+ {
1572
+ "inputs": [
1573
+ {
1574
+ "components": [
1575
+ {
1576
+ "internalType": "bytes32",
1577
+ "name": "txHash",
1578
+ "type": "bytes32"
1579
+ },
1580
+ {
1581
+ "internalType": "uint32",
1582
+ "name": "txOutputIndex",
1583
+ "type": "uint32"
1584
+ },
1585
+ {
1586
+ "internalType": "uint64",
1587
+ "name": "txOutputValue",
1588
+ "type": "uint64"
1589
+ }
1590
+ ],
1591
+ "internalType": "struct BitcoinTx.UTXO",
1592
+ "name": "activeWalletMainUtxo",
1593
+ "type": "tuple"
1594
+ }
1595
+ ],
1596
+ "name": "requestNewWallet",
1597
+ "outputs": [],
1598
+ "stateMutability": "nonpayable",
1599
+ "type": "function"
1600
+ },
1601
+ {
1602
+ "inputs": [
1603
+ {
1604
+ "internalType": "bytes20",
1605
+ "name": "walletPubKeyHash",
1606
+ "type": "bytes20"
1607
+ },
1608
+ {
1609
+ "components": [
1610
+ {
1611
+ "internalType": "bytes32",
1612
+ "name": "txHash",
1613
+ "type": "bytes32"
1614
+ },
1615
+ {
1616
+ "internalType": "uint32",
1617
+ "name": "txOutputIndex",
1618
+ "type": "uint32"
1619
+ },
1620
+ {
1621
+ "internalType": "uint64",
1622
+ "name": "txOutputValue",
1623
+ "type": "uint64"
1624
+ }
1625
+ ],
1626
+ "internalType": "struct BitcoinTx.UTXO",
1627
+ "name": "mainUtxo",
1628
+ "type": "tuple"
1629
+ },
1630
+ {
1631
+ "internalType": "bytes",
1632
+ "name": "redeemerOutputScript",
1633
+ "type": "bytes"
1634
+ },
1635
+ {
1636
+ "internalType": "uint64",
1637
+ "name": "amount",
1638
+ "type": "uint64"
1639
+ }
1640
+ ],
1641
+ "name": "requestRedemption",
1642
+ "outputs": [],
1643
+ "stateMutability": "nonpayable",
1644
+ "type": "function"
1645
+ },
1646
+ {
1647
+ "inputs": [
1648
+ {
1649
+ "internalType": "bytes20",
1650
+ "name": "walletPubKeyHash",
1651
+ "type": "bytes20"
1652
+ }
1653
+ ],
1654
+ "name": "resetMovingFundsTimeout",
1655
+ "outputs": [],
1656
+ "stateMutability": "nonpayable",
1657
+ "type": "function"
1658
+ },
1659
+ {
1660
+ "inputs": [
1661
+ {
1662
+ "components": [
1663
+ {
1664
+ "internalType": "bytes4",
1665
+ "name": "version",
1666
+ "type": "bytes4"
1667
+ },
1668
+ {
1669
+ "internalType": "bytes",
1670
+ "name": "inputVector",
1671
+ "type": "bytes"
1672
+ },
1673
+ {
1674
+ "internalType": "bytes",
1675
+ "name": "outputVector",
1676
+ "type": "bytes"
1677
+ },
1678
+ {
1679
+ "internalType": "bytes4",
1680
+ "name": "locktime",
1681
+ "type": "bytes4"
1682
+ }
1683
+ ],
1684
+ "internalType": "struct BitcoinTx.Info",
1685
+ "name": "fundingTx",
1686
+ "type": "tuple"
1687
+ },
1688
+ {
1689
+ "components": [
1690
+ {
1691
+ "internalType": "uint32",
1692
+ "name": "fundingOutputIndex",
1693
+ "type": "uint32"
1694
+ },
1695
+ {
1696
+ "internalType": "bytes8",
1697
+ "name": "blindingFactor",
1698
+ "type": "bytes8"
1699
+ },
1700
+ {
1701
+ "internalType": "bytes20",
1702
+ "name": "walletPubKeyHash",
1703
+ "type": "bytes20"
1704
+ },
1705
+ {
1706
+ "internalType": "bytes20",
1707
+ "name": "refundPubKeyHash",
1708
+ "type": "bytes20"
1709
+ },
1710
+ {
1711
+ "internalType": "bytes4",
1712
+ "name": "refundLocktime",
1713
+ "type": "bytes4"
1714
+ },
1715
+ {
1716
+ "internalType": "address",
1717
+ "name": "vault",
1718
+ "type": "address"
1719
+ }
1720
+ ],
1721
+ "internalType": "struct Deposit.DepositRevealInfo",
1722
+ "name": "reveal",
1723
+ "type": "tuple"
1724
+ }
1725
+ ],
1726
+ "name": "revealDeposit",
1727
+ "outputs": [],
1728
+ "stateMutability": "nonpayable",
1729
+ "type": "function"
1730
+ },
1731
+ {
1732
+ "inputs": [
1733
+ {
1734
+ "components": [
1735
+ {
1736
+ "internalType": "bytes4",
1737
+ "name": "version",
1738
+ "type": "bytes4"
1739
+ },
1740
+ {
1741
+ "internalType": "bytes",
1742
+ "name": "inputVector",
1743
+ "type": "bytes"
1744
+ },
1745
+ {
1746
+ "internalType": "bytes",
1747
+ "name": "outputVector",
1748
+ "type": "bytes"
1749
+ },
1750
+ {
1751
+ "internalType": "bytes4",
1752
+ "name": "locktime",
1753
+ "type": "bytes4"
1754
+ }
1755
+ ],
1756
+ "internalType": "struct BitcoinTx.Info",
1757
+ "name": "fundingTx",
1758
+ "type": "tuple"
1759
+ },
1760
+ {
1761
+ "components": [
1762
+ {
1763
+ "internalType": "uint32",
1764
+ "name": "fundingOutputIndex",
1765
+ "type": "uint32"
1766
+ },
1767
+ {
1768
+ "internalType": "bytes8",
1769
+ "name": "blindingFactor",
1770
+ "type": "bytes8"
1771
+ },
1772
+ {
1773
+ "internalType": "bytes20",
1774
+ "name": "walletPubKeyHash",
1775
+ "type": "bytes20"
1776
+ },
1777
+ {
1778
+ "internalType": "bytes20",
1779
+ "name": "refundPubKeyHash",
1780
+ "type": "bytes20"
1781
+ },
1782
+ {
1783
+ "internalType": "bytes4",
1784
+ "name": "refundLocktime",
1785
+ "type": "bytes4"
1786
+ },
1787
+ {
1788
+ "internalType": "address",
1789
+ "name": "vault",
1790
+ "type": "address"
1791
+ }
1792
+ ],
1793
+ "internalType": "struct Deposit.DepositRevealInfo",
1794
+ "name": "reveal",
1795
+ "type": "tuple"
1796
+ },
1797
+ {
1798
+ "internalType": "bytes32",
1799
+ "name": "extraData",
1800
+ "type": "bytes32"
1801
+ }
1802
+ ],
1803
+ "name": "revealDepositWithExtraData",
1804
+ "outputs": [],
1805
+ "stateMutability": "nonpayable",
1806
+ "type": "function"
1807
+ },
1808
+ {
1809
+ "inputs": [
1810
+ {
1811
+ "internalType": "bytes20",
1812
+ "name": "activeWalletPubKeyHash",
1813
+ "type": "bytes20"
1814
+ }
1815
+ ],
1816
+ "name": "setActiveWallet",
1817
+ "outputs": [],
1818
+ "stateMutability": "nonpayable",
1819
+ "type": "function"
1820
+ },
1821
+ {
1822
+ "inputs": [
1823
+ {
1824
+ "internalType": "uint64",
1825
+ "name": "_depositDustThreshold",
1826
+ "type": "uint64"
1827
+ }
1828
+ ],
1829
+ "name": "setDepositDustThreshold",
1830
+ "outputs": [],
1831
+ "stateMutability": "nonpayable",
1832
+ "type": "function"
1833
+ },
1834
+ {
1835
+ "inputs": [
1836
+ {
1837
+ "internalType": "uint32",
1838
+ "name": "_depositRevealAheadPeriod",
1839
+ "type": "uint32"
1840
+ }
1841
+ ],
1842
+ "name": "setDepositRevealAheadPeriod",
1843
+ "outputs": [],
1844
+ "stateMutability": "nonpayable",
1845
+ "type": "function"
1846
+ },
1847
+ {
1848
+ "inputs": [
1849
+ {
1850
+ "internalType": "uint64",
1851
+ "name": "_depositTxMaxFee",
1852
+ "type": "uint64"
1853
+ }
1854
+ ],
1855
+ "name": "setDepositTxMaxFee",
1856
+ "outputs": [],
1857
+ "stateMutability": "nonpayable",
1858
+ "type": "function"
1859
+ },
1860
+ {
1861
+ "inputs": [
1862
+ {
1863
+ "internalType": "uint64",
1864
+ "name": "_movedFundsSweepTxMaxTotalFee",
1865
+ "type": "uint64"
1866
+ }
1867
+ ],
1868
+ "name": "setMovedFundsSweepTxMaxTotalFee",
1869
+ "outputs": [],
1870
+ "stateMutability": "nonpayable",
1871
+ "type": "function"
1872
+ },
1873
+ {
1874
+ "inputs": [
1875
+ {
1876
+ "internalType": "bytes20",
1877
+ "name": "walletPubKeyHash",
1878
+ "type": "bytes20"
1879
+ },
1880
+ {
1881
+ "components": [
1882
+ {
1883
+ "internalType": "bytes32",
1884
+ "name": "txHash",
1885
+ "type": "bytes32"
1886
+ },
1887
+ {
1888
+ "internalType": "uint32",
1889
+ "name": "txOutputIndex",
1890
+ "type": "uint32"
1891
+ },
1892
+ {
1893
+ "internalType": "uint64",
1894
+ "name": "txOutputValue",
1895
+ "type": "uint64"
1896
+ }
1897
+ ],
1898
+ "internalType": "struct BitcoinTx.UTXO",
1899
+ "name": "utxo",
1900
+ "type": "tuple"
1901
+ }
1902
+ ],
1903
+ "name": "setPendingMovedFundsSweepRequest",
1904
+ "outputs": [],
1905
+ "stateMutability": "nonpayable",
1906
+ "type": "function"
1907
+ },
1908
+ {
1909
+ "inputs": [
1910
+ {
1911
+ "components": [
1912
+ {
1913
+ "internalType": "bytes32",
1914
+ "name": "txHash",
1915
+ "type": "bytes32"
1916
+ },
1917
+ {
1918
+ "internalType": "uint32",
1919
+ "name": "txOutputIndex",
1920
+ "type": "uint32"
1921
+ },
1922
+ {
1923
+ "internalType": "uint64",
1924
+ "name": "txOutputValue",
1925
+ "type": "uint64"
1926
+ }
1927
+ ],
1928
+ "internalType": "struct BitcoinTx.UTXO[]",
1929
+ "name": "utxos",
1930
+ "type": "tuple[]"
1931
+ }
1932
+ ],
1933
+ "name": "setProcessedMovedFundsSweepRequests",
1934
+ "outputs": [],
1935
+ "stateMutability": "nonpayable",
1936
+ "type": "function"
1937
+ },
1938
+ {
1939
+ "inputs": [
1940
+ {
1941
+ "internalType": "uint64",
1942
+ "name": "_redemptionDustThreshold",
1943
+ "type": "uint64"
1944
+ }
1945
+ ],
1946
+ "name": "setRedemptionDustThreshold",
1947
+ "outputs": [],
1948
+ "stateMutability": "nonpayable",
1949
+ "type": "function"
1950
+ },
1951
+ {
1952
+ "inputs": [
1953
+ {
1954
+ "internalType": "uint64",
1955
+ "name": "_redemptionTreasuryFeeDivisor",
1956
+ "type": "uint64"
1957
+ }
1958
+ ],
1959
+ "name": "setRedemptionTreasuryFeeDivisor",
1960
+ "outputs": [],
1961
+ "stateMutability": "nonpayable",
1962
+ "type": "function"
1963
+ },
1964
+ {
1965
+ "inputs": [
1966
+ {
1967
+ "components": [
1968
+ {
1969
+ "internalType": "bytes32",
1970
+ "name": "txHash",
1971
+ "type": "bytes32"
1972
+ },
1973
+ {
1974
+ "internalType": "uint32",
1975
+ "name": "txOutputIndex",
1976
+ "type": "uint32"
1977
+ },
1978
+ {
1979
+ "internalType": "uint64",
1980
+ "name": "txOutputValue",
1981
+ "type": "uint64"
1982
+ }
1983
+ ],
1984
+ "internalType": "struct BitcoinTx.UTXO[]",
1985
+ "name": "utxos",
1986
+ "type": "tuple[]"
1987
+ }
1988
+ ],
1989
+ "name": "setSpentMainUtxos",
1990
+ "outputs": [],
1991
+ "stateMutability": "nonpayable",
1992
+ "type": "function"
1993
+ },
1994
+ {
1995
+ "inputs": [
1996
+ {
1997
+ "internalType": "address",
1998
+ "name": "spvMaintainer",
1999
+ "type": "address"
2000
+ },
2001
+ {
2002
+ "internalType": "bool",
2003
+ "name": "isTrusted",
2004
+ "type": "bool"
2005
+ }
2006
+ ],
2007
+ "name": "setSpvMaintainerStatus",
2008
+ "outputs": [],
2009
+ "stateMutability": "nonpayable",
2010
+ "type": "function"
2011
+ },
2012
+ {
2013
+ "inputs": [
2014
+ {
2015
+ "components": [
2016
+ {
2017
+ "internalType": "bytes32",
2018
+ "name": "txHash",
2019
+ "type": "bytes32"
2020
+ },
2021
+ {
2022
+ "internalType": "uint32",
2023
+ "name": "txOutputIndex",
2024
+ "type": "uint32"
2025
+ },
2026
+ {
2027
+ "internalType": "uint64",
2028
+ "name": "txOutputValue",
2029
+ "type": "uint64"
2030
+ }
2031
+ ],
2032
+ "internalType": "struct BitcoinTx.UTXO[]",
2033
+ "name": "utxos",
2034
+ "type": "tuple[]"
2035
+ }
2036
+ ],
2037
+ "name": "setSweptDeposits",
2038
+ "outputs": [],
2039
+ "stateMutability": "nonpayable",
2040
+ "type": "function"
2041
+ },
2042
+ {
2043
+ "inputs": [
2044
+ {
2045
+ "internalType": "address",
2046
+ "name": "vault",
2047
+ "type": "address"
2048
+ },
2049
+ {
2050
+ "internalType": "bool",
2051
+ "name": "isTrusted",
2052
+ "type": "bool"
2053
+ }
2054
+ ],
2055
+ "name": "setVaultStatus",
2056
+ "outputs": [],
2057
+ "stateMutability": "nonpayable",
2058
+ "type": "function"
2059
+ },
2060
+ {
2061
+ "inputs": [
2062
+ {
2063
+ "internalType": "bytes20",
2064
+ "name": "walletPubKeyHash",
2065
+ "type": "bytes20"
2066
+ },
2067
+ {
2068
+ "components": [
2069
+ {
2070
+ "internalType": "bytes32",
2071
+ "name": "ecdsaWalletID",
2072
+ "type": "bytes32"
2073
+ },
2074
+ {
2075
+ "internalType": "bytes32",
2076
+ "name": "mainUtxoHash",
2077
+ "type": "bytes32"
2078
+ },
2079
+ {
2080
+ "internalType": "uint64",
2081
+ "name": "pendingRedemptionsValue",
2082
+ "type": "uint64"
2083
+ },
2084
+ {
2085
+ "internalType": "uint32",
2086
+ "name": "createdAt",
2087
+ "type": "uint32"
2088
+ },
2089
+ {
2090
+ "internalType": "uint32",
2091
+ "name": "movingFundsRequestedAt",
2092
+ "type": "uint32"
2093
+ },
2094
+ {
2095
+ "internalType": "uint32",
2096
+ "name": "closingStartedAt",
2097
+ "type": "uint32"
2098
+ },
2099
+ {
2100
+ "internalType": "uint32",
2101
+ "name": "pendingMovedFundsSweepRequestsCount",
2102
+ "type": "uint32"
2103
+ },
2104
+ {
2105
+ "internalType": "enum Wallets.WalletState",
2106
+ "name": "state",
2107
+ "type": "uint8"
2108
+ },
2109
+ {
2110
+ "internalType": "bytes32",
2111
+ "name": "movingFundsTargetWalletsCommitmentHash",
2112
+ "type": "bytes32"
2113
+ }
2114
+ ],
2115
+ "internalType": "struct Wallets.Wallet",
2116
+ "name": "wallet",
2117
+ "type": "tuple"
2118
+ }
2119
+ ],
2120
+ "name": "setWallet",
2121
+ "outputs": [],
2122
+ "stateMutability": "nonpayable",
2123
+ "type": "function"
2124
+ },
2125
+ {
2126
+ "inputs": [
2127
+ {
2128
+ "internalType": "bytes20",
2129
+ "name": "walletPubKeyHash",
2130
+ "type": "bytes20"
2131
+ },
2132
+ {
2133
+ "components": [
2134
+ {
2135
+ "internalType": "bytes32",
2136
+ "name": "txHash",
2137
+ "type": "bytes32"
2138
+ },
2139
+ {
2140
+ "internalType": "uint32",
2141
+ "name": "txOutputIndex",
2142
+ "type": "uint32"
2143
+ },
2144
+ {
2145
+ "internalType": "uint64",
2146
+ "name": "txOutputValue",
2147
+ "type": "uint64"
2148
+ }
2149
+ ],
2150
+ "internalType": "struct BitcoinTx.UTXO",
2151
+ "name": "utxo",
2152
+ "type": "tuple"
2153
+ }
2154
+ ],
2155
+ "name": "setWalletMainUtxo",
2156
+ "outputs": [],
2157
+ "stateMutability": "nonpayable",
2158
+ "type": "function"
2159
+ },
2160
+ {
2161
+ "inputs": [
2162
+ {
2163
+ "internalType": "uint256",
2164
+ "name": "utxoKey",
2165
+ "type": "uint256"
2166
+ }
2167
+ ],
2168
+ "name": "spentMainUTXOs",
2169
+ "outputs": [
2170
+ {
2171
+ "internalType": "bool",
2172
+ "name": "",
2173
+ "type": "bool"
2174
+ }
2175
+ ],
2176
+ "stateMutability": "view",
2177
+ "type": "function"
2178
+ },
2179
+ {
2180
+ "inputs": [
2181
+ {
2182
+ "components": [
2183
+ {
2184
+ "internalType": "bytes4",
2185
+ "name": "version",
2186
+ "type": "bytes4"
2187
+ },
2188
+ {
2189
+ "internalType": "bytes",
2190
+ "name": "inputVector",
2191
+ "type": "bytes"
2192
+ },
2193
+ {
2194
+ "internalType": "bytes",
2195
+ "name": "outputVector",
2196
+ "type": "bytes"
2197
+ },
2198
+ {
2199
+ "internalType": "bytes4",
2200
+ "name": "locktime",
2201
+ "type": "bytes4"
2202
+ }
2203
+ ],
2204
+ "internalType": "struct BitcoinTx.Info",
2205
+ "name": "sweepTx",
2206
+ "type": "tuple"
2207
+ },
2208
+ {
2209
+ "components": [
2210
+ {
2211
+ "internalType": "bytes",
2212
+ "name": "merkleProof",
2213
+ "type": "bytes"
2214
+ },
2215
+ {
2216
+ "internalType": "uint256",
2217
+ "name": "txIndexInBlock",
2218
+ "type": "uint256"
2219
+ },
2220
+ {
2221
+ "internalType": "bytes",
2222
+ "name": "bitcoinHeaders",
2223
+ "type": "bytes"
2224
+ },
2225
+ {
2226
+ "internalType": "bytes32",
2227
+ "name": "coinbasePreimage",
2228
+ "type": "bytes32"
2229
+ },
2230
+ {
2231
+ "internalType": "bytes",
2232
+ "name": "coinbaseProof",
2233
+ "type": "bytes"
2234
+ }
2235
+ ],
2236
+ "internalType": "struct BitcoinTx.Proof",
2237
+ "name": "sweepProof",
2238
+ "type": "tuple"
2239
+ },
2240
+ {
2241
+ "components": [
2242
+ {
2243
+ "internalType": "bytes32",
2244
+ "name": "txHash",
2245
+ "type": "bytes32"
2246
+ },
2247
+ {
2248
+ "internalType": "uint32",
2249
+ "name": "txOutputIndex",
2250
+ "type": "uint32"
2251
+ },
2252
+ {
2253
+ "internalType": "uint64",
2254
+ "name": "txOutputValue",
2255
+ "type": "uint64"
2256
+ }
2257
+ ],
2258
+ "internalType": "struct BitcoinTx.UTXO",
2259
+ "name": "mainUtxo",
2260
+ "type": "tuple"
2261
+ },
2262
+ {
2263
+ "internalType": "address",
2264
+ "name": "vault",
2265
+ "type": "address"
2266
+ }
2267
+ ],
2268
+ "name": "submitDepositSweepProof",
2269
+ "outputs": [],
2270
+ "stateMutability": "nonpayable",
2271
+ "type": "function"
2272
+ },
2273
+ {
2274
+ "inputs": [
2275
+ {
2276
+ "internalType": "bytes",
2277
+ "name": "walletPublicKey",
2278
+ "type": "bytes"
2279
+ },
2280
+ {
2281
+ "internalType": "bytes",
2282
+ "name": "preimageSha256",
2283
+ "type": "bytes"
2284
+ },
2285
+ {
2286
+ "components": [
2287
+ {
2288
+ "internalType": "bytes32",
2289
+ "name": "r",
2290
+ "type": "bytes32"
2291
+ },
2292
+ {
2293
+ "internalType": "bytes32",
2294
+ "name": "s",
2295
+ "type": "bytes32"
2296
+ },
2297
+ {
2298
+ "internalType": "uint8",
2299
+ "name": "v",
2300
+ "type": "uint8"
2301
+ }
2302
+ ],
2303
+ "internalType": "struct BitcoinTx.RSVSignature",
2304
+ "name": "signature",
2305
+ "type": "tuple"
2306
+ }
2307
+ ],
2308
+ "name": "submitFraudChallenge",
2309
+ "outputs": [],
2310
+ "stateMutability": "payable",
2311
+ "type": "function"
2312
+ },
2313
+ {
2314
+ "inputs": [
2315
+ {
2316
+ "components": [
2317
+ {
2318
+ "internalType": "bytes4",
2319
+ "name": "version",
2320
+ "type": "bytes4"
2321
+ },
2322
+ {
2323
+ "internalType": "bytes",
2324
+ "name": "inputVector",
2325
+ "type": "bytes"
2326
+ },
2327
+ {
2328
+ "internalType": "bytes",
2329
+ "name": "outputVector",
2330
+ "type": "bytes"
2331
+ },
2332
+ {
2333
+ "internalType": "bytes4",
2334
+ "name": "locktime",
2335
+ "type": "bytes4"
2336
+ }
2337
+ ],
2338
+ "internalType": "struct BitcoinTx.Info",
2339
+ "name": "sweepTx",
2340
+ "type": "tuple"
2341
+ },
2342
+ {
2343
+ "components": [
2344
+ {
2345
+ "internalType": "bytes",
2346
+ "name": "merkleProof",
2347
+ "type": "bytes"
2348
+ },
2349
+ {
2350
+ "internalType": "uint256",
2351
+ "name": "txIndexInBlock",
2352
+ "type": "uint256"
2353
+ },
2354
+ {
2355
+ "internalType": "bytes",
2356
+ "name": "bitcoinHeaders",
2357
+ "type": "bytes"
2358
+ },
2359
+ {
2360
+ "internalType": "bytes32",
2361
+ "name": "coinbasePreimage",
2362
+ "type": "bytes32"
2363
+ },
2364
+ {
2365
+ "internalType": "bytes",
2366
+ "name": "coinbaseProof",
2367
+ "type": "bytes"
2368
+ }
2369
+ ],
2370
+ "internalType": "struct BitcoinTx.Proof",
2371
+ "name": "sweepProof",
2372
+ "type": "tuple"
2373
+ },
2374
+ {
2375
+ "components": [
2376
+ {
2377
+ "internalType": "bytes32",
2378
+ "name": "txHash",
2379
+ "type": "bytes32"
2380
+ },
2381
+ {
2382
+ "internalType": "uint32",
2383
+ "name": "txOutputIndex",
2384
+ "type": "uint32"
2385
+ },
2386
+ {
2387
+ "internalType": "uint64",
2388
+ "name": "txOutputValue",
2389
+ "type": "uint64"
2390
+ }
2391
+ ],
2392
+ "internalType": "struct BitcoinTx.UTXO",
2393
+ "name": "mainUtxo",
2394
+ "type": "tuple"
2395
+ }
2396
+ ],
2397
+ "name": "submitMovedFundsSweepProof",
2398
+ "outputs": [],
2399
+ "stateMutability": "nonpayable",
2400
+ "type": "function"
2401
+ },
2402
+ {
2403
+ "inputs": [
2404
+ {
2405
+ "internalType": "bytes20",
2406
+ "name": "walletPubKeyHash",
2407
+ "type": "bytes20"
2408
+ },
2409
+ {
2410
+ "components": [
2411
+ {
2412
+ "internalType": "bytes32",
2413
+ "name": "txHash",
2414
+ "type": "bytes32"
2415
+ },
2416
+ {
2417
+ "internalType": "uint32",
2418
+ "name": "txOutputIndex",
2419
+ "type": "uint32"
2420
+ },
2421
+ {
2422
+ "internalType": "uint64",
2423
+ "name": "txOutputValue",
2424
+ "type": "uint64"
2425
+ }
2426
+ ],
2427
+ "internalType": "struct BitcoinTx.UTXO",
2428
+ "name": "walletMainUtxo",
2429
+ "type": "tuple"
2430
+ },
2431
+ {
2432
+ "internalType": "uint32[]",
2433
+ "name": "walletMembersIDs",
2434
+ "type": "uint32[]"
2435
+ },
2436
+ {
2437
+ "internalType": "uint256",
2438
+ "name": "walletMemberIndex",
2439
+ "type": "uint256"
2440
+ },
2441
+ {
2442
+ "internalType": "bytes20[]",
2443
+ "name": "targetWallets",
2444
+ "type": "bytes20[]"
2445
+ }
2446
+ ],
2447
+ "name": "submitMovingFundsCommitment",
2448
+ "outputs": [],
2449
+ "stateMutability": "nonpayable",
2450
+ "type": "function"
2451
+ },
2452
+ {
2453
+ "inputs": [
2454
+ {
2455
+ "components": [
2456
+ {
2457
+ "internalType": "bytes4",
2458
+ "name": "version",
2459
+ "type": "bytes4"
2460
+ },
2461
+ {
2462
+ "internalType": "bytes",
2463
+ "name": "inputVector",
2464
+ "type": "bytes"
2465
+ },
2466
+ {
2467
+ "internalType": "bytes",
2468
+ "name": "outputVector",
2469
+ "type": "bytes"
2470
+ },
2471
+ {
2472
+ "internalType": "bytes4",
2473
+ "name": "locktime",
2474
+ "type": "bytes4"
2475
+ }
2476
+ ],
2477
+ "internalType": "struct BitcoinTx.Info",
2478
+ "name": "movingFundsTx",
2479
+ "type": "tuple"
2480
+ },
2481
+ {
2482
+ "components": [
2483
+ {
2484
+ "internalType": "bytes",
2485
+ "name": "merkleProof",
2486
+ "type": "bytes"
2487
+ },
2488
+ {
2489
+ "internalType": "uint256",
2490
+ "name": "txIndexInBlock",
2491
+ "type": "uint256"
2492
+ },
2493
+ {
2494
+ "internalType": "bytes",
2495
+ "name": "bitcoinHeaders",
2496
+ "type": "bytes"
2497
+ },
2498
+ {
2499
+ "internalType": "bytes32",
2500
+ "name": "coinbasePreimage",
2501
+ "type": "bytes32"
2502
+ },
2503
+ {
2504
+ "internalType": "bytes",
2505
+ "name": "coinbaseProof",
2506
+ "type": "bytes"
2507
+ }
2508
+ ],
2509
+ "internalType": "struct BitcoinTx.Proof",
2510
+ "name": "movingFundsProof",
2511
+ "type": "tuple"
2512
+ },
2513
+ {
2514
+ "components": [
2515
+ {
2516
+ "internalType": "bytes32",
2517
+ "name": "txHash",
2518
+ "type": "bytes32"
2519
+ },
2520
+ {
2521
+ "internalType": "uint32",
2522
+ "name": "txOutputIndex",
2523
+ "type": "uint32"
2524
+ },
2525
+ {
2526
+ "internalType": "uint64",
2527
+ "name": "txOutputValue",
2528
+ "type": "uint64"
2529
+ }
2530
+ ],
2531
+ "internalType": "struct BitcoinTx.UTXO",
2532
+ "name": "mainUtxo",
2533
+ "type": "tuple"
2534
+ },
2535
+ {
2536
+ "internalType": "bytes20",
2537
+ "name": "walletPubKeyHash",
2538
+ "type": "bytes20"
2539
+ }
2540
+ ],
2541
+ "name": "submitMovingFundsProof",
2542
+ "outputs": [],
2543
+ "stateMutability": "nonpayable",
2544
+ "type": "function"
2545
+ },
2546
+ {
2547
+ "inputs": [
2548
+ {
2549
+ "components": [
2550
+ {
2551
+ "internalType": "bytes4",
2552
+ "name": "version",
2553
+ "type": "bytes4"
2554
+ },
2555
+ {
2556
+ "internalType": "bytes",
2557
+ "name": "inputVector",
2558
+ "type": "bytes"
2559
+ },
2560
+ {
2561
+ "internalType": "bytes",
2562
+ "name": "outputVector",
2563
+ "type": "bytes"
2564
+ },
2565
+ {
2566
+ "internalType": "bytes4",
2567
+ "name": "locktime",
2568
+ "type": "bytes4"
2569
+ }
2570
+ ],
2571
+ "internalType": "struct BitcoinTx.Info",
2572
+ "name": "redemptionTx",
2573
+ "type": "tuple"
2574
+ },
2575
+ {
2576
+ "components": [
2577
+ {
2578
+ "internalType": "bytes",
2579
+ "name": "merkleProof",
2580
+ "type": "bytes"
2581
+ },
2582
+ {
2583
+ "internalType": "uint256",
2584
+ "name": "txIndexInBlock",
2585
+ "type": "uint256"
2586
+ },
2587
+ {
2588
+ "internalType": "bytes",
2589
+ "name": "bitcoinHeaders",
2590
+ "type": "bytes"
2591
+ },
2592
+ {
2593
+ "internalType": "bytes32",
2594
+ "name": "coinbasePreimage",
2595
+ "type": "bytes32"
2596
+ },
2597
+ {
2598
+ "internalType": "bytes",
2599
+ "name": "coinbaseProof",
2600
+ "type": "bytes"
2601
+ }
2602
+ ],
2603
+ "internalType": "struct BitcoinTx.Proof",
2604
+ "name": "redemptionProof",
2605
+ "type": "tuple"
2606
+ },
2607
+ {
2608
+ "components": [
2609
+ {
2610
+ "internalType": "bytes32",
2611
+ "name": "txHash",
2612
+ "type": "bytes32"
2613
+ },
2614
+ {
2615
+ "internalType": "uint32",
2616
+ "name": "txOutputIndex",
2617
+ "type": "uint32"
2618
+ },
2619
+ {
2620
+ "internalType": "uint64",
2621
+ "name": "txOutputValue",
2622
+ "type": "uint64"
2623
+ }
2624
+ ],
2625
+ "internalType": "struct BitcoinTx.UTXO",
2626
+ "name": "mainUtxo",
2627
+ "type": "tuple"
2628
+ },
2629
+ {
2630
+ "internalType": "bytes20",
2631
+ "name": "walletPubKeyHash",
2632
+ "type": "bytes20"
2633
+ }
2634
+ ],
2635
+ "name": "submitRedemptionProof",
2636
+ "outputs": [],
2637
+ "stateMutability": "nonpayable",
2638
+ "type": "function"
2639
+ },
2640
+ {
2641
+ "inputs": [
2642
+ {
2643
+ "internalType": "uint256",
2644
+ "name": "redemptionKey",
2645
+ "type": "uint256"
2646
+ }
2647
+ ],
2648
+ "name": "timedOutRedemptions",
2649
+ "outputs": [
2650
+ {
2651
+ "components": [
2652
+ {
2653
+ "internalType": "address",
2654
+ "name": "redeemer",
2655
+ "type": "address"
2656
+ },
2657
+ {
2658
+ "internalType": "uint64",
2659
+ "name": "requestedAmount",
2660
+ "type": "uint64"
2661
+ },
2662
+ {
2663
+ "internalType": "uint64",
2664
+ "name": "treasuryFee",
2665
+ "type": "uint64"
2666
+ },
2667
+ {
2668
+ "internalType": "uint64",
2669
+ "name": "txMaxFee",
2670
+ "type": "uint64"
2671
+ },
2672
+ {
2673
+ "internalType": "uint32",
2674
+ "name": "requestedAt",
2675
+ "type": "uint32"
2676
+ }
2677
+ ],
2678
+ "internalType": "struct Redemption.RedemptionRequest",
2679
+ "name": "",
2680
+ "type": "tuple"
2681
+ }
2682
+ ],
2683
+ "stateMutability": "view",
2684
+ "type": "function"
2685
+ },
2686
+ {
2687
+ "inputs": [
2688
+ {
2689
+ "internalType": "bytes20",
2690
+ "name": "walletPubKeyHash",
2691
+ "type": "bytes20"
2692
+ },
2693
+ {
2694
+ "components": [
2695
+ {
2696
+ "internalType": "bytes32",
2697
+ "name": "txHash",
2698
+ "type": "bytes32"
2699
+ },
2700
+ {
2701
+ "internalType": "uint32",
2702
+ "name": "txOutputIndex",
2703
+ "type": "uint32"
2704
+ },
2705
+ {
2706
+ "internalType": "uint64",
2707
+ "name": "txOutputValue",
2708
+ "type": "uint64"
2709
+ }
2710
+ ],
2711
+ "internalType": "struct BitcoinTx.UTXO",
2712
+ "name": "utxo",
2713
+ "type": "tuple"
2714
+ }
2715
+ ],
2716
+ "name": "timeoutPendingMovedFundsSweepRequest",
2717
+ "outputs": [],
2718
+ "stateMutability": "nonpayable",
2719
+ "type": "function"
2720
+ },
2721
+ {
2722
+ "inputs": [
2723
+ {
2724
+ "internalType": "address",
2725
+ "name": "newGovernance",
2726
+ "type": "address"
2727
+ }
2728
+ ],
2729
+ "name": "transferGovernance",
2730
+ "outputs": [],
2731
+ "stateMutability": "nonpayable",
2732
+ "type": "function"
2733
+ },
2734
+ {
2735
+ "inputs": [],
2736
+ "name": "treasury",
2737
+ "outputs": [
2738
+ {
2739
+ "internalType": "address",
2740
+ "name": "",
2741
+ "type": "address"
2742
+ }
2743
+ ],
2744
+ "stateMutability": "view",
2745
+ "type": "function"
2746
+ },
2747
+ {
2748
+ "inputs": [],
2749
+ "name": "txProofDifficultyFactor",
2750
+ "outputs": [
2751
+ {
2752
+ "internalType": "uint256",
2753
+ "name": "",
2754
+ "type": "uint256"
2755
+ }
2756
+ ],
2757
+ "stateMutability": "view",
2758
+ "type": "function"
2759
+ },
2760
+ {
2761
+ "inputs": [
2762
+ {
2763
+ "internalType": "uint64",
2764
+ "name": "depositDustThreshold",
2765
+ "type": "uint64"
2766
+ },
2767
+ {
2768
+ "internalType": "uint64",
2769
+ "name": "depositTreasuryFeeDivisor",
2770
+ "type": "uint64"
2771
+ },
2772
+ {
2773
+ "internalType": "uint64",
2774
+ "name": "depositTxMaxFee",
2775
+ "type": "uint64"
2776
+ },
2777
+ {
2778
+ "internalType": "uint32",
2779
+ "name": "depositRevealAheadPeriod",
2780
+ "type": "uint32"
2781
+ }
2782
+ ],
2783
+ "name": "updateDepositParameters",
2784
+ "outputs": [],
2785
+ "stateMutability": "nonpayable",
2786
+ "type": "function"
2787
+ },
2788
+ {
2789
+ "inputs": [
2790
+ {
2791
+ "internalType": "uint96",
2792
+ "name": "fraudChallengeDepositAmount",
2793
+ "type": "uint96"
2794
+ },
2795
+ {
2796
+ "internalType": "uint32",
2797
+ "name": "fraudChallengeDefeatTimeout",
2798
+ "type": "uint32"
2799
+ },
2800
+ {
2801
+ "internalType": "uint96",
2802
+ "name": "fraudSlashingAmount",
2803
+ "type": "uint96"
2804
+ },
2805
+ {
2806
+ "internalType": "uint32",
2807
+ "name": "fraudNotifierRewardMultiplier",
2808
+ "type": "uint32"
2809
+ }
2810
+ ],
2811
+ "name": "updateFraudParameters",
2812
+ "outputs": [],
2813
+ "stateMutability": "nonpayable",
2814
+ "type": "function"
2815
+ },
2816
+ {
2817
+ "inputs": [
2818
+ {
2819
+ "internalType": "uint64",
2820
+ "name": "movingFundsTxMaxTotalFee",
2821
+ "type": "uint64"
2822
+ },
2823
+ {
2824
+ "internalType": "uint64",
2825
+ "name": "movingFundsDustThreshold",
2826
+ "type": "uint64"
2827
+ },
2828
+ {
2829
+ "internalType": "uint32",
2830
+ "name": "movingFundsTimeoutResetDelay",
2831
+ "type": "uint32"
2832
+ },
2833
+ {
2834
+ "internalType": "uint32",
2835
+ "name": "movingFundsTimeout",
2836
+ "type": "uint32"
2837
+ },
2838
+ {
2839
+ "internalType": "uint96",
2840
+ "name": "movingFundsTimeoutSlashingAmount",
2841
+ "type": "uint96"
2842
+ },
2843
+ {
2844
+ "internalType": "uint32",
2845
+ "name": "movingFundsTimeoutNotifierRewardMultiplier",
2846
+ "type": "uint32"
2847
+ },
2848
+ {
2849
+ "internalType": "uint16",
2850
+ "name": "movingFundsCommitmentGasOffset",
2851
+ "type": "uint16"
2852
+ },
2853
+ {
2854
+ "internalType": "uint64",
2855
+ "name": "movedFundsSweepTxMaxTotalFee",
2856
+ "type": "uint64"
2857
+ },
2858
+ {
2859
+ "internalType": "uint32",
2860
+ "name": "movedFundsSweepTimeout",
2861
+ "type": "uint32"
2862
+ },
2863
+ {
2864
+ "internalType": "uint96",
2865
+ "name": "movedFundsSweepTimeoutSlashingAmount",
2866
+ "type": "uint96"
2867
+ },
2868
+ {
2869
+ "internalType": "uint32",
2870
+ "name": "movedFundsSweepTimeoutNotifierRewardMultiplier",
2871
+ "type": "uint32"
2872
+ }
2873
+ ],
2874
+ "name": "updateMovingFundsParameters",
2875
+ "outputs": [],
2876
+ "stateMutability": "nonpayable",
2877
+ "type": "function"
2878
+ },
2879
+ {
2880
+ "inputs": [
2881
+ {
2882
+ "internalType": "uint64",
2883
+ "name": "redemptionDustThreshold",
2884
+ "type": "uint64"
2885
+ },
2886
+ {
2887
+ "internalType": "uint64",
2888
+ "name": "redemptionTreasuryFeeDivisor",
2889
+ "type": "uint64"
2890
+ },
2891
+ {
2892
+ "internalType": "uint64",
2893
+ "name": "redemptionTxMaxFee",
2894
+ "type": "uint64"
2895
+ },
2896
+ {
2897
+ "internalType": "uint64",
2898
+ "name": "redemptionTxMaxTotalFee",
2899
+ "type": "uint64"
2900
+ },
2901
+ {
2902
+ "internalType": "uint32",
2903
+ "name": "redemptionTimeout",
2904
+ "type": "uint32"
2905
+ },
2906
+ {
2907
+ "internalType": "uint96",
2908
+ "name": "redemptionTimeoutSlashingAmount",
2909
+ "type": "uint96"
2910
+ },
2911
+ {
2912
+ "internalType": "uint32",
2913
+ "name": "redemptionTimeoutNotifierRewardMultiplier",
2914
+ "type": "uint32"
2915
+ }
2916
+ ],
2917
+ "name": "updateRedemptionParameters",
2918
+ "outputs": [],
2919
+ "stateMutability": "nonpayable",
2920
+ "type": "function"
2921
+ },
2922
+ {
2923
+ "inputs": [
2924
+ {
2925
+ "internalType": "address",
2926
+ "name": "treasury",
2927
+ "type": "address"
2928
+ }
2929
+ ],
2930
+ "name": "updateTreasury",
2931
+ "outputs": [],
2932
+ "stateMutability": "nonpayable",
2933
+ "type": "function"
2934
+ },
2935
+ {
2936
+ "inputs": [
2937
+ {
2938
+ "internalType": "uint32",
2939
+ "name": "walletCreationPeriod",
2940
+ "type": "uint32"
2941
+ },
2942
+ {
2943
+ "internalType": "uint64",
2944
+ "name": "walletCreationMinBtcBalance",
2945
+ "type": "uint64"
2946
+ },
2947
+ {
2948
+ "internalType": "uint64",
2949
+ "name": "walletCreationMaxBtcBalance",
2950
+ "type": "uint64"
2951
+ },
2952
+ {
2953
+ "internalType": "uint64",
2954
+ "name": "walletClosureMinBtcBalance",
2955
+ "type": "uint64"
2956
+ },
2957
+ {
2958
+ "internalType": "uint32",
2959
+ "name": "walletMaxAge",
2960
+ "type": "uint32"
2961
+ },
2962
+ {
2963
+ "internalType": "uint64",
2964
+ "name": "walletMaxBtcTransfer",
2965
+ "type": "uint64"
2966
+ },
2967
+ {
2968
+ "internalType": "uint32",
2969
+ "name": "walletClosingPeriod",
2970
+ "type": "uint32"
2971
+ }
2972
+ ],
2973
+ "name": "updateWalletParameters",
2974
+ "outputs": [],
2975
+ "stateMutability": "nonpayable",
2976
+ "type": "function"
2977
+ },
2978
+ {
2979
+ "inputs": [],
2980
+ "name": "walletParameters",
2981
+ "outputs": [
2982
+ {
2983
+ "internalType": "uint32",
2984
+ "name": "walletCreationPeriod",
2985
+ "type": "uint32"
2986
+ },
2987
+ {
2988
+ "internalType": "uint64",
2989
+ "name": "walletCreationMinBtcBalance",
2990
+ "type": "uint64"
2991
+ },
2992
+ {
2993
+ "internalType": "uint64",
2994
+ "name": "walletCreationMaxBtcBalance",
2995
+ "type": "uint64"
2996
+ },
2997
+ {
2998
+ "internalType": "uint64",
2999
+ "name": "walletClosureMinBtcBalance",
3000
+ "type": "uint64"
3001
+ },
3002
+ {
3003
+ "internalType": "uint32",
3004
+ "name": "walletMaxAge",
3005
+ "type": "uint32"
3006
+ },
3007
+ {
3008
+ "internalType": "uint64",
3009
+ "name": "walletMaxBtcTransfer",
3010
+ "type": "uint64"
3011
+ },
3012
+ {
3013
+ "internalType": "uint32",
3014
+ "name": "walletClosingPeriod",
3015
+ "type": "uint32"
3016
+ }
3017
+ ],
3018
+ "stateMutability": "view",
3019
+ "type": "function"
3020
+ },
3021
+ {
3022
+ "inputs": [
3023
+ {
3024
+ "internalType": "bytes20",
3025
+ "name": "walletPubKeyHash",
3026
+ "type": "bytes20"
3027
+ }
3028
+ ],
3029
+ "name": "wallets",
3030
+ "outputs": [
3031
+ {
3032
+ "components": [
3033
+ {
3034
+ "internalType": "bytes32",
3035
+ "name": "ecdsaWalletID",
3036
+ "type": "bytes32"
3037
+ },
3038
+ {
3039
+ "internalType": "bytes32",
3040
+ "name": "mainUtxoHash",
3041
+ "type": "bytes32"
3042
+ },
3043
+ {
3044
+ "internalType": "uint64",
3045
+ "name": "pendingRedemptionsValue",
3046
+ "type": "uint64"
3047
+ },
3048
+ {
3049
+ "internalType": "uint32",
3050
+ "name": "createdAt",
3051
+ "type": "uint32"
3052
+ },
3053
+ {
3054
+ "internalType": "uint32",
3055
+ "name": "movingFundsRequestedAt",
3056
+ "type": "uint32"
3057
+ },
3058
+ {
3059
+ "internalType": "uint32",
3060
+ "name": "closingStartedAt",
3061
+ "type": "uint32"
3062
+ },
3063
+ {
3064
+ "internalType": "uint32",
3065
+ "name": "pendingMovedFundsSweepRequestsCount",
3066
+ "type": "uint32"
3067
+ },
3068
+ {
3069
+ "internalType": "enum Wallets.WalletState",
3070
+ "name": "state",
3071
+ "type": "uint8"
3072
+ },
3073
+ {
3074
+ "internalType": "bytes32",
3075
+ "name": "movingFundsTargetWalletsCommitmentHash",
3076
+ "type": "bytes32"
3077
+ }
3078
+ ],
3079
+ "internalType": "struct Wallets.Wallet",
3080
+ "name": "",
3081
+ "type": "tuple"
3082
+ }
3083
+ ],
3084
+ "stateMutability": "view",
3085
+ "type": "function"
3086
+ }
3087
+ ],
3088
+ "bytecode": "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b603254610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60325460ff9081161015620000e2576032805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b61630c80620000f46000396000f3fe6080604052600436106104145760003560e01c80638ac89ce111610228578063c8b5d2db11610128578063e404c0a9116100bb578063e65e19d51161008a578063f139b0881161006f578063f139b08814611383578063f18cf1b1146113c1578063fca4ba4c146113ee57600080fd5b8063e65e19d514611336578063ee1dd3ea1461136357600080fd5b8063e404c0a91461129d578063e44bdd31146112bd578063e509397d146112dd578063e53c0b55146112fd57600080fd5b8063dc49117b116100f7578063dc49117b146111fa578063dccfb3b91461121a578063ded1d24a1461123a578063df7cd4ae1461126657600080fd5b8063c8b5d2db1461117a578063d246ce161461119a578063d38bfff4146111ba578063d6eccdf0146111da57600080fd5b8063b036c1ee116101bb578063b95b947d1161018a578063be05abe31161016f578063be05abe31461103b578063c3b5ffc914611101578063c42b64d01461112157600080fd5b8063b95b947d14610ffb578063bd1501311461101b57600080fd5b8063b036c1ee14610f1f578063b2146cd614610f7b578063b5da217114610fbb578063b8afb0a514610fdb57600080fd5b8063a8fa0f42116101f7578063a8fa0f4214610d34578063a9de2f3a14610d54578063abaeed8f14610da1578063b02c43d014610dc157600080fd5b80638ac89ce114610cb457806392238f3214610cd45780639821c38b14610cf4578063a145e2d514610d1457600080fd5b806359e6a456116103335780636c854186116102c657806377145f21116102955780637f51bb1f1161027a5780637f51bb1f14610c5457806386f0143914610c74578063883d6a1114610c9457600080fd5b806377145f2114610c1457806379fc4eb314610c3457600080fd5b80636c85418614610a945780636e70ce4114610af057806374babd9c14610b7657806375b922d114610b9657600080fd5b80636187990511610302578063618799051461099457806361ccf97a146109b457806361d027b314610a63578063685ce1b114610a8157600080fd5b806359e6a456146108de5780635aa6e6751461091c5780635f2b2d0d1461095457806360d712fc1461097457600080fd5b806331a4889a116103ab5780633dce98121161037a5780633dce98121461083d578063475d05701461085d57806350aea15a1461087d578063539c63221461089d57600080fd5b806331a4889a146106e057806333e957cb1461070057806338326507146107df5780633c0038f4146107ff57600080fd5b80630b6ba19d116103e75780630b6ba19d146105a35780630bb7a73a1461066057806324028c11146106805780632bb818c2146106b257600080fd5b806303d952f7146104195780630674f26614610541578063074534441461056357806307f7d22314610583575b600080fd5b34801561042557600080fd5b506104d66104343660046149c3565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152604a6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b90046001600160401b039081169382019390935260019091015480831693820193909352600160401b83049091166060820152600160801b90910463ffffffff16608082015290565b6040516105389190600060a0820190506001600160a01b03835116825260208301516001600160401b038082166020850152806040860151166040850152806060860151166060850152505063ffffffff608084015116608083015292915050565b60405180910390f35b34801561054d57600080fd5b5061056161055c366004614a24565b61140e565b005b34801561056f57600080fd5b5061056161057e366004614ac4565b61149d565b34801561058f57600080fd5b5061056161059e366004614ac4565b611636565b3480156105af57600080fd5b506104d66105be3660046149c3565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152604b6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b90046001600160401b039081169382019390935260019091015480831693820193909352600160401b83049091166060820152600160801b90910463ffffffff16608082015290565b34801561066c57600080fd5b5061056161067b366004614ac4565b6116bf565b34801561068c57600080fd5b50604454600160a01b900463ffffffff1660405163ffffffff9091168152602001610538565b3480156106be57600080fd5b50603454600160a01b90046001600160601b0316604051908152602001610538565b3480156106ec57600080fd5b506105616106fb366004614b3c565b611815565b34801561070c57600080fd5b5061079b61071b3660046149c3565b604080516080810182526000808252602082018190529181018290526060810191909152506000908152604c6020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b604051610538919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b3480156107eb57600080fd5b506105616107fa366004614bf9565b6118a7565b34801561080b57600080fd5b5061056161081a366004614c55565b603f805467ffffffffffffffff19166001600160401b0392909216919091179055565b34801561084957600080fd5b50610561610858366004614c79565b611915565b34801561086957600080fd5b50610561610878366004614cba565b6119a5565b34801561088957600080fd5b50610561610898366004614d09565b611a47565b3480156108a957600080fd5b506105616108b8366004614d58565b6039805463ffffffff909216600160c01b0263ffffffff60c01b19909216919091179055565b3480156108ea57600080fd5b506105616108f9366004614c55565b6039805467ffffffffffffffff19166001600160401b0392909216919091179055565b34801561092857600080fd5b5060005461093c906001600160a01b031681565b6040516001600160a01b039091168152602001610538565b34801561096057600080fd5b5061056161096f366004614d85565b611aa0565b34801561098057600080fd5b5061056161098f366004614d85565b611b5a565b3480156109a057600080fd5b506105616109af366004614ac4565b611c0c565b3480156109c057600080fd5b50610a1760425460435460445460455463ffffffff600160a01b85048116956001600160401b03600160c01b9687900481169686821696600160401b8104831696600160801b909104851695919004909116921690565b6040805163ffffffff98891681526001600160401b039788166020820152958716908601529285166060850152908516608084015290921660a0820152911660c082015260e001610538565b348015610a6f57600080fd5b506037546001600160a01b031661093c565b610561610a8f366004614e53565b611d00565b348015610aa057600080fd5b50610561610aaf366004614c55565b603f80546001600160401b03909216600160401b027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b348015610afc57600080fd5b50603f54604154604080516001600160401b038085168252600160401b850481166020830152600160801b808604821693830193909352600160c01b909404909316606084015263ffffffff80831660808501526001600160601b0364010000000084041660a085015291041660c082015260e001610538565b348015610b8257600080fd5b50610561610b91366004614ecd565b611d59565b348015610ba257600080fd5b50610bdd6041546042546001600160601b03600160a01b90920482169263ffffffff8083169364010000000084041692600160801b90041690565b604080516001600160601b03958616815263ffffffff94851660208201529490921691840191909152166060820152608001610538565b348015610c2057600080fd5b50610561610c2f366004614f41565b611e1a565b348015610c4057600080fd5b50610561610c4f366004614fc1565b611e75565b348015610c6057600080fd5b50610561610c6f366004615054565b611ed0565b348015610c8057600080fd5b50610561610c8f366004615095565b611f38565b348015610ca057600080fd5b50610561610caf3660046150ed565b611f8f565b348015610cc057600080fd5b50610561610ccf366004615195565b611ffa565b348015610ce057600080fd5b50610561610cef36600461520f565b6120b2565b348015610d0057600080fd5b50610561610d0f366004615261565b612109565b348015610d2057600080fd5b50610561610d2f3660046152d5565b6121bf565b348015610d4057600080fd5b50610561610d4f366004614c79565b612245565b348015610d6057600080fd5b50603354603454603554603654604080516001600160a01b039586168152938516602085015291841691830191909152919091166060820152608001610538565b348015610dad57600080fd5b50610561610dbc3660046152f1565b6122ab565b348015610dcd57600080fd5b50610ea0610ddc3660046149c3565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915250600090815260466020908152604091829020825160e08101845281546001600160a01b0380821683526001600160401b03600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b6040516105389190600060e0820190506001600160a01b0380845116835260208401516001600160401b0380821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b348015610f2b57600080fd5b50610561610f3a366004614c55565b603980546001600160401b03909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055565b348015610f8757600080fd5b50610fab610f963660046149c3565b6000908152604d602052604090205460ff1690565b6040519015158152602001610538565b348015610fc757600080fd5b50610561610fd63660046153a3565b6123d9565b348015610fe757600080fd5b50610561610ff6366004614ecd565b612444565b34801561100757600080fd5b50610561611016366004615417565b61253c565b34801561102757600080fd5b50610561611036366004615458565b6125ce565b34801561104757600080fd5b50603b54603c54603e54604080516001600160401b038086168252600160401b80870482166020840152600160801b80880463ffffffff90811695850195909552600160a01b909704841660608401526001600160601b0380871660808501526c01000000000000000000000000808804861660a08601529790960461ffff1660c084015290841660e083015283048216610100820152938204909216610120840152600160c01b90041661014082015261016001610538565b34801561110d57600080fd5b5061056161111c3660046154d4565b612686565b34801561112d57600080fd5b50603954604080516001600160401b038084168252600160401b840481166020830152600160801b84041691810191909152600160c01b90910463ffffffff166060820152608001610538565b34801561118657600080fd5b506105616111953660046155b3565b612702565b3480156111a657600080fd5b506105616111b53660046155ce565b61270d565b3480156111c657600080fd5b506105616111d5366004615054565b612c63565b3480156111e657600080fd5b506105616111f536600461564c565b612d42565b34801561120657600080fd5b506105616112153660046156c5565b612d9f565b34801561122657600080fd5b50610561611235366004614ecd565b612e07565b34801561124657600080fd5b5060445460601b6040516001600160601b03199091168152602001610538565b34801561127257600080fd5b506105616112813660046155b3565b604480546001600160a01b03191660609290921c919091179055565b3480156112a957600080fd5b506105616112b8366004614ac4565b612ec6565b3480156112c957600080fd5b506105616112d8366004614ac4565b612f70565b3480156112e957600080fd5b506105616112f8366004615195565b612fc5565b34801561130957600080fd5b50610fab611318366004615054565b6001600160a01b031660009081526047602052604090205460ff1690565b34801561134257600080fd5b506113566113513660046155b3565b61307b565b604051610538919061572c565b34801561136f57600080fd5b5061056161137e3660046155b3565b61319e565b34801561138f57600080fd5b5061056161139e366004614c55565b603e805467ffffffffffffffff19166001600160401b0392909216919091179055565b3480156113cd57600080fd5b506113e16113dc3660046149c3565b6131ff565b60405161053891906157d0565b3480156113fa57600080fd5b50610561611409366004615828565b6132b7565b6040517f94fcaf8d00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__906394fcaf8d90611467906033908890889088908890600401615896565b60006040518083038186803b15801561147f57600080fd5b505af4158015611493573d6000803e3d6000fd5b5050505050505050565b600081356114b16040840160208501614d58565b6040516020016114d892919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815282825280516020918201206080840183526001600160601b03198716845293508201906115189060608601908601614c55565b6001600160401b0316815263ffffffff421660208201526040016001905260008281526049602090815260409182902083518154928501519385015163ffffffff16600160e01b027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160401b03909516600160a01b026001600160e01b0319909416606092831c1793909317939093169190911781559082015160018083018054909160ff19909116908360038111156115d4576115d4615702565b021790555050506001600160601b031983166000908152604e602052604090206002018054600160a01b900463ffffffff16906014611612836158e5565b91906101000a81548163ffffffff021916908363ffffffff16021790555050505050565b6040517f260b6cde00000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063260b6cde9061168b9060339086908690600401615947565b60006040518083038186803b1580156116a357600080fd5b505af41580156116b7573d6000803e3d6000fd5b505050505050565b600081356116d36040840160208501614d58565b6040516020016116fa92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012060008181526049909352912090915060018082015460ff16600381111561173b5761173b615702565b146117a15760405162461bcd60e51b815260206004820152602b60248201527f537475622073776565702072657175657374206d75737420626520696e20506560448201526a6e64696e6720737461746560a81b60648201526084015b60405180910390fd5b6001808201805460039260ff1990911690835b02179055506001600160601b031984166000908152604e602052604090206002018054600160a01b900463ffffffff169060146117f083615973565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050505050565b6040517fa76558b300000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063a76558b39061187090603390899089908990899089906004016159d9565b60006040518083038186803b15801561188857600080fd5b505af415801561189c573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146119015760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61190f60338585858561330c565b50505050565b6040517fc87de7f400000000000000000000000000000000000000000000000000000000815260336004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063c87de7f4906064015b60006040518083038186803b15801561198857600080fd5b505af415801561199c573d6000803e3d6000fd5b50505050505050565b6033546001600160a01b031633146119ff5760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652062616e6b000000000000000000006044820152606401611798565b73__$9935b6ea18e0c526c293569ddd26842c9b$__63d2539808603386611a2587613565565b86866040518663ffffffff1660e01b8152600401611467959493929190615a23565b6040517f899bef9d00000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063899bef9d90611467906033908890889088908890600401615a66565b6000546001600160a01b03163314611afa5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038216600081815260486020908152604091829020805460ff191685151590811790915591519182527f8779ecd5a875d699b846953c9af5ef54f4a354fe4568c460d43c14c31911917091015b60405180910390a25050565b6000546001600160a01b03163314611bb45760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038216600081815260476020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f9101611b4e565b60008135611c206040840160208501614d58565b604051602001611c4792919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012060008181526049909352912090915060018082015460ff166003811115611c8857611c88615702565b14611ce95760405162461bcd60e51b815260206004820152602b60248201527f537475622073776565702072657175657374206d75737420626520696e20506560448201526a6e64696e6720737461746560a81b6064820152608401611798565b6001808201805460029260ff1990911690836117b4565b6040517feb8fdd5d00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__9063eb8fdd5d90611467906033908890889088908890600401615ad8565b60005b81811015611e15576000838383818110611d7857611d78615b3f565b90506060020160000135848484818110611d9457611d94615b3f565b9050606002016020016020810190611dac9190614d58565b604051602001611dd392919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301206000908152604d9092529020805460ff191660011790555080611e0d81615b55565b915050611d5c565b505050565b6040517f624526fe00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__9063624526fe906118709060339089908990899089908990600401615b6e565b6040517f80ffe94a00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__906380ffe94a906118709060339089908990899089908990600401615bb1565b6000546001600160a01b03163314611f2a5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b611f356033826135e8565b50565b6040517fe4f3925d00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__9063e4f3925d9061197090603390879087908790600401615d83565b6000546001600160a01b03163314611fe95760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61199c603388888888888888613696565b3360009081526048602052604090205460ff166120595760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fa164de6e00000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063a164de6e90611467906033908890889088908890600401615e40565b6040517f07f96c4200000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__906307f96c429061197090603390879087908790600401615e95565b3360009081526048602052604090205460ff166121685760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fb79a972500000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063b79a97259061197090603390879087908790600401615ebf565b6040517fd079fbb100000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063d079fbb190612212906033908590600401615f03565b60006040518083038186803b15801561222a57600080fd5b505af415801561223e573d6000803e3d6000fd5b5050505050565b6040517f4afbe4c90000000000000000000000000000000000000000000000000000000081526033600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634afbe4c990608401611970565b60005a6040517fc8f7794300000000000000000000000000000000000000000000000000000000815290915073__$edce581bb06331cf4dae1387760565e5d1$__9063c8f7794390612310906033908c908c908c908c908c908c908c90600401615f17565b60006040518083038186803b15801561232857600080fd5b505af415801561233c573d6000803e3d6000fd5b5050603654603c546001600160a01b039091169250637ad226dc9150600160801b900461ffff165a61236e9085615fa2565b6123789190615fbb565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156123b757600080fd5b505af11580156123cb573d6000803e3d6000fd5b505050505050505050505050565b6000546001600160a01b031633146124335760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61199c603388888888888888613997565b60005b81811015611e1557600083838381811061246357612463615b3f565b9050606002016000013584848481811061247f5761247f615b3f565b90506060020160200160208101906124979190614d58565b6040516020016124be92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012060009081526046909252902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f61d998e000000000000000000000000000000000000000000000000000000000179055508061253481615b55565b915050612447565b6001600160601b031982166000908152604e6020526040902081906125618282616036565b5060019050612577610100830160e084016161b2565b600581111561258857612588615702565b036125ca5760448054600160a01b900463ffffffff169060146125aa836158e5565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b5050565b3360009081526048602052604090205460ff1661262d5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fd22cd45b00000000000000000000000000000000000000000000000000000000815273__$24f7e155a6d011c1bf9032506ba9b1954c$__9063d22cd45b906114679060339088908890889088906004016161cf565b6000546001600160a01b031633146126e05760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6126f560338c8c8c8c8c8c8c8c8c8c8c613e8a565b5050505050505050505050565b611f35603382614599565b603254610100900460ff161580801561272d5750603254600160ff909116105b806127475750303b158015612747575060325460ff166001145b6127b95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401611798565b6032805460ff1916600117905580156127dc576032805461ff0019166101001790555b6001600160a01b0387166128325760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f00000000006044820152606401611798565b603380546001600160a01b0319166001600160a01b038981169190911790915586166128a05760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f000000006044820152606401611798565b603480546001600160a01b0319166001600160a01b038881169190911790915584166129345760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401611798565b603580546001600160a01b0319166001600160a01b038681169190911790915583166129c85760405162461bcd60e51b815260206004820152602960248201527f5265696d62757273656d656e7420506f6f6c20616464726573732063616e6e6f60448201527f74206265207a65726f00000000000000000000000000000000000000000000006064820152608401611798565b603680546001600160a01b0319166001600160a01b03858116919091179091558516612a365760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f006044820152606401611798565b603780546001600160a01b03199081166001600160a01b038881169190911790925560348054909216600160a01b6001600160601b0386160217909155603980546001600160e01b03199081167a13c68000000000000186a000000000000007d000000000000f4240179091557a0f424000000000000186a000000000000007d000000000000f4240603f55603b805477ffffffffffffffffffffffffffffffffffffffffffffffff191676093a800007e9000000000000030d4000000000000186a0179055603c80547fffffffffffffffffffffffffffff00000000000000000000000000000000000016713a9800000064000000056bc75e2d63100000179055603e80549091167864000000056bc75e2d6310000000093a8000000000000186a01790557b4563918244f4000000000064000000056bc75e2d63100000000697806041557b05f5e10000093a8000000064000000056bc75e2d6310000000093a806042556043805490911672eff1000000000002faf08000000002540be4001790556044805477ffffffffffffffffffffffffffffffffffffffffffffffff167b3b9aca00000000000000000000000000000000000000000000000000179055604580546234bc0063ffffffff19909116179055612c15336146cb565b801561199c576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050505050565b6000546001600160a01b03163314612cbd5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038116612d395760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401611798565b611f35816146cb565b6040517ff5ada44200000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063f5ada44290611870906033908990899033908a908a908a90600401616223565b6000546001600160a01b03163314612df95760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61190f603385858585614725565b60005b81811015611e15576000838383818110612e2657612e26615b3f565b90506060020160000135848484818110612e4257612e42615b3f565b9050606002016020016020810190612e5a9190614d58565b604051602001612e8192919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600090815260499092529020600101805460ff191660021790555080612ebe81615b55565b915050612e0a565b8035612ed86040830160208401614d58565b612ee86060840160408501614c55565b604051602001612f369392919092835260e09190911b6001600160e01b031916602083015260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff19166024820152602c0190565b60408051601f1981840301815291815281516020928301206001600160601b03199094166000908152604e90925290206001019190915550565b6040517f3af3b15400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90633af3b1549061168b9060339086908690600401615947565b3360009081526048602052604090205460ff166130245760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517e92bac900000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__906292bac990611467906033908890889088908890600401615e40565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091526001600160601b031982166000908152604e60209081526040918290208251610120810184528154815260018201549281019290925260028101546001600160401b0381169383019390935263ffffffff600160401b8404811660608401526c01000000000000000000000000840481166080840152600160801b8404811660a0840152600160a01b84041660c0830152909160e083019060ff600160c01b90910416600581111561317857613178615702565b600581111561318957613189615702565b81526020016003820154815250509050919050565b6040517f9b69e71d000000000000000000000000000000000000000000000000000000008152603360048201526001600160601b03198216602482015273__$edce581bb06331cf4dae1387760565e5d1$__90639b69e71d90604401612212565b6132276040805160808101825260008082526020820181905291810182905290606082015290565b60008281526049602090815260409182902082516080810184528154606081811b6001600160601b0319168352600160a01b82046001600160401b031694830194909452600160e01b900463ffffffff16938101939093526001810154909183019060ff16600381111561329d5761329d615702565b60038111156132ae576132ae615702565b90525092915050565b6040517faea7fd0b00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__9063aea7fd0b9061168b9060339086908690600401616288565b6000846001600160401b03161161338b5760405162461bcd60e51b815260206004820152603060248201527f4465706f7369742064757374207468726573686f6c64206d757374206265206760448201527f726561746572207468616e207a65726f000000000000000000000000000000006064820152608401611798565b816001600160401b0316846001600160401b0316116134125760405162461bcd60e51b815260206004820152603e60248201527f4465706f7369742064757374207468726573686f6c64206d757374206265206760448201527f726561746572207468616e206465706f736974205458206d61782066656500006064820152608401611798565b6000826001600160401b0316116134915760405162461bcd60e51b815260206004820152603560248201527f4465706f736974207472616e73616374696f6e206d617820666565206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152608401611798565b6006850180546001600160401b038681166fffffffffffffffffffffffffffffffff199092168217600160401b878316908102919091177fffffffff000000000000000000000000ffffffffffffffffffffffffffffffff16600160801b92871692830263ffffffff60c01b191617600160c01b63ffffffff87169081029190911790945560408051938452602084019190915282015260608101919091527f20b0edfa765e9ea8de6866efa2435850051a5dc3737d1aec22b0fdff8a3cbddf906080015b60405180910390a15050505050565b60006001600160401b038211156135e45760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f34206269747300000000000000000000000000000000000000000000000000006064820152608401611798565b5090565b6001600160a01b03811661363e5760405162461bcd60e51b815260206004820181905260248201527f54726561737572792061646472657373206d757374206e6f74206265203078306044820152606401611798565b6004820180546001600160a01b0319166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1906020015b60405180910390a15050565b856001600160401b0316856001600160401b0316116137435760405162461bcd60e51b815260206004820152605960248201527f57616c6c6574206372656174696f6e206d6178696d756d204254432062616c6160448201527f6e6365206d7573742062652067726561746572207468616e207468652063726560648201527f6174696f6e206d696e696d756d204254432062616c616e636500000000000000608482015260a401611798565b6000826001600160401b0316116137c25760405162461bcd60e51b815260206004820152603560248201527f57616c6c6574206d6178696d756d20425443207472616e73666572206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152608401611798565b60008163ffffffff161161383e5760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420636c6f73696e6720706572696f64206d75737420626520677260448201527f6561746572207468616e207a65726f00000000000000000000000000000000006064820152608401611798565b600f880180546001600160401b03808916600160c01b90810277ffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff808e16600160a01b0282166001600160a01b03909616959095179190911790945560108c018054888516600160801b0263ffffffff60801b198b8616600160401b026fffffffffffffffffffffffffffffffff199093168d871617929092179190911617905560118c018054928716909102919093161790915560128901805491831663ffffffff199092169190911790556040517fc7d3a9af08692aeae771c329fddd95c7237a9f76fec996325f3959eeff07d4ac9061398590899089908990899089908990899063ffffffff97881681526001600160401b03968716602082015294861660408601529285166060850152908516608084015290921660a0820152911660c082015260e00190565b60405180910390a15050505050505050565b60088801546001600160401b03600160401b909104811690881611613a4a5760405162461bcd60e51b815260206004820152604a60248201527f526564656d7074696f6e2064757374207468726573686f6c64206d757374206260448201527f652067726561746572207468616e206d6f76696e672066756e6473206475737460648201527f207468726573686f6c6400000000000000000000000000000000000000000000608482015260a401611798565b846001600160401b0316876001600160401b031611613af85760405162461bcd60e51b8152602060048201526044602482018190527f526564656d7074696f6e2064757374207468726573686f6c64206d7573742062908201527f652067726561746572207468616e20726564656d7074696f6e205458206d617860648201527f2066656500000000000000000000000000000000000000000000000000000000608482015260a401611798565b6000856001600160401b031611613b775760405162461bcd60e51b815260206004820152603860248201527f526564656d7074696f6e207472616e73616374696f6e206d617820666565206d60448201527f7573742062652067726561746572207468616e207a65726f00000000000000006064820152608401611798565b846001600160401b0316846001600160401b03161015613c4b5760405162461bcd60e51b815260206004820152607460248201527f526564656d7074696f6e207472616e73616374696f6e206d617820746f74616c60448201527f20666565206d7573742062652067726561746572207468616e206f722065717560648201527f616c20746f2074686520726564656d7074696f6e207472616e73616374696f6e60848201527f207065722d72657175657374206d61782066656500000000000000000000000060a482015260c401611798565b60008363ffffffff1611613cc75760405162461bcd60e51b815260206004820152602c60248201527f526564656d7074696f6e2074696d656f7574206d75737420626520677265617460448201527f6572207468616e207a65726f00000000000000000000000000000000000000006064820152608401611798565b60648163ffffffff161115613d6a5760405162461bcd60e51b815260206004820152604b60248201527f526564656d7074696f6e2074696d656f7574206e6f746966696572207265776160448201527f7264206d756c7469706c696572206d75737420626520696e207468652072616e60648201527f6765205b302c203130305d000000000000000000000000000000000000000000608482015260a401611798565b600c880180546001600160401b038981166fffffffffffffffffffffffffffffffff199283168117600160401b8b8416908102919091176fffffffffffffffffffffffffffffffff16600160801b8b851681810277ffffffffffffffffffffffffffffffffffffffffffffffff1692909217600160c01b958c1695860217909655600e8e01805463ffffffff8b81169190971681176401000000006001600160601b038c169081029190911763ffffffff60801b1916978a1698890297909717909155604080519485526020850193909352918301526060820192909252608081019190915260a081019190915260c08101919091527f2c682acb687f36d9e4d486fc0c681b0e802911b0fb56f3e0d54f373e7f89a7c49060e001613985565b60008b6001600160401b031611613f0b576040805162461bcd60e51b81526020600482015260248101919091527f4d6f76696e672066756e6473207472616e73616374696f6e206d617820746f7460448201527f616c20666565206d7573742062652067726561746572207468616e207a65726f6064820152608401611798565b60008a6001600160401b0316118015613f345750600c8c01546001600160401b03908116908b16105b613fcc5760405162461bcd60e51b815260206004820152605e60248201527f4d6f76696e672066756e64732064757374207468726573686f6c64206d75737460448201527f2062652067726561746572207468616e207a65726f20616e64206c6f7765722060648201527f7468616e20726564656d7074696f6e2064757374207468726573686f6c640000608482015260a401611798565b60008963ffffffff16116140485760405162461bcd60e51b815260206004820152603a60248201527f4d6f76696e672066756e64732074696d656f75742072657365742064656c617960448201527f206d7573742062652067726561746572207468616e207a65726f0000000000006064820152608401611798565b8863ffffffff168863ffffffff16116140c95760405162461bcd60e51b815260206004820152603960248201527f4d6f76696e672066756e64732074696d656f7574206d7573742062652067726560448201527f61746572207468616e206974732072657365742064656c6179000000000000006064820152608401611798565b60648663ffffffff16111561416c5760405162461bcd60e51b815260206004820152604d60248201527f4d6f76696e672066756e64732074696d656f7574206e6f74696669657220726560448201527f77617264206d756c7469706c696572206d75737420626520696e20746865207260648201527f616e6765205b302c203130305d00000000000000000000000000000000000000608482015260a401611798565b6000846001600160401b0316116142115760405162461bcd60e51b815260206004820152604560248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d6160448201527f7820746f74616c20666565206d7573742062652067726561746572207468616e60648201527f207a65726f000000000000000000000000000000000000000000000000000000608482015260a401611798565b60008363ffffffff161161428d5760405162461bcd60e51b815260206004820152603360248201527f4d6f7665642066756e64732073776565702074696d656f7574206d757374206260448201527f652067726561746572207468616e207a65726f000000000000000000000000006064820152608401611798565b60648163ffffffff1611156143305760405162461bcd60e51b815260206004820152605260248201527f4d6f7665642066756e64732073776565702074696d656f7574206e6f7469666960448201527f657220726577617264206d756c7469706c696572206d75737420626520696e2060648201527f7468652072616e6765205b302c203130305d0000000000000000000000000000608482015260a401611798565b8a8c60080160006101000a8154816001600160401b0302191690836001600160401b03160217905550898c60080160086101000a8154816001600160401b0302191690836001600160401b03160217905550888c60080160106101000a81548163ffffffff021916908363ffffffff160217905550878c60080160146101000a81548163ffffffff021916908363ffffffff160217905550868c60090160006101000a8154816001600160601b0302191690836001600160601b03160217905550858c600901600c6101000a81548163ffffffff021916908363ffffffff160217905550848c60090160106101000a81548161ffff021916908361ffff160217905550838c600b0160006101000a8154816001600160401b0302191690836001600160401b03160217905550828c600b0160086101000a81548163ffffffff021916908363ffffffff160217905550818c600b01600c6101000a8154816001600160601b0302191690836001600160601b03160217905550808c600b0160186101000a81548163ffffffff021916908363ffffffff1602179055507fdd096c0b696aec16e055260a26ba0980984d19c11cd2ae6f6dbd0b67e0c3bf0d8b8b8b8b8b8b8b8b8b8b8b6040516145839b9a999897969594939291906001600160401b039b8c168152998b1660208b015263ffffffff98891660408b015296881660608a01526001600160601b0395861660808a015293871660a089015261ffff9290921660c088015290961660e086015294831661010085015293909316610120830152919091166101408201526101600190565b60405180910390a1505050505050505050505050565b6001600160601b031981166000908152601b83016020526040902060036002820154600160c01b900460ff1660058111156145d6576145d6615702565b146146235760405162461bcd60e51b815260206004820152601f60248201527f57616c6c6574206d75737420626520696e20436c6f73696e67207374617465006044820152606401611798565b601283015460028201546146479163ffffffff90811691600160801b9004166162b2565b63ffffffff1642116146c15760405162461bcd60e51b815260206004820152602260248201527f436c6f73696e6720706572696f6420686173206e6f7420656c6170736564207960448201527f65740000000000000000000000000000000000000000000000000000000000006064820152608401611798565b611e1583836148d6565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910161368a565b60008363ffffffff16116147a15760405162461bcd60e51b815260206004820152603860248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d60448201527f7573742062652067726561746572207468616e207a65726f00000000000000006064820152608401611798565b60648163ffffffff16111561481e5760405162461bcd60e51b815260206004820152603e60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d75737420626520696e207468652072616e6765205b302c203130305d00006064820152608401611798565b600e850180546001600160a01b0316600160a01b6001600160601b0387811691820292909217909255600f8701805463ffffffff8781166fffffffffffffffffffffffffffffffff1990921682176401000000009488169485021763ffffffff60801b1916600160801b9187169182021790925560408051948552602085019190915283019190915260608201527fc6d044ae75b875a43eb23bedc79d2b694b00ed95b5b8bf2a657328af9dda090d90608001613556565b6001600160601b031981166000818152601b8401602052604080822060028101805460ff60c01b19167804000000000000000000000000000000000000000000000000179055805491519093927f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d91a3600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916149959160040190815260200190565b600060405180830381600087803b1580156149af57600080fd5b505af115801561199c573d6000803e3d6000fd5b6000602082840312156149d557600080fd5b5035919050565b60008083601f8401126149ee57600080fd5b5081356001600160401b03811115614a0557600080fd5b602083019150836020828501011115614a1d57600080fd5b9250929050565b60008060008060408587031215614a3a57600080fd5b84356001600160401b0380821115614a5157600080fd5b614a5d888389016149dc565b90965094506020870135915080821115614a7657600080fd5b50614a83878288016149dc565b95989497509550505050565b80356001600160601b031981168114614aa757600080fd5b919050565b600060608284031215614abe57600080fd5b50919050565b60008060808385031215614ad757600080fd5b614ae083614a8f565b9150614aef8460208501614aac565b90509250929050565b60008083601f840112614b0a57600080fd5b5081356001600160401b03811115614b2157600080fd5b6020830191508360208260051b8501011115614a1d57600080fd5b600080600080600060608688031215614b5457600080fd5b614b5d86614a8f565b945060208601356001600160401b0380821115614b7957600080fd5b614b8589838a01614af8565b90965094506040880135915080821115614b9e57600080fd5b50614bab888289016149dc565b969995985093965092949392505050565b6001600160401b0381168114611f3557600080fd5b8035614aa781614bbc565b63ffffffff81168114611f3557600080fd5b8035614aa781614bdc565b60008060008060808587031215614c0f57600080fd5b8435614c1a81614bbc565b93506020850135614c2a81614bbc565b92506040850135614c3a81614bbc565b91506060850135614c4a81614bdc565b939692955090935050565b600060208284031215614c6757600080fd5b8135614c7281614bbc565b9392505050565b600080600060608486031215614c8e57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b0381168114611f3557600080fd5b60008060008060608587031215614cd057600080fd5b8435614cdb81614ca5565b93506020850135925060408501356001600160401b03811115614cfd57600080fd5b614a83878288016149dc565b60008060008060608587031215614d1f57600080fd5b843593506020850135614d3181614bdc565b925060408501356001600160401b03811115614d4c57600080fd5b614a8387828801614af8565b600060208284031215614d6a57600080fd5b8135614c7281614bdc565b80358015158114614aa757600080fd5b60008060408385031215614d9857600080fd5b8235614da381614ca5565b9150614aef60208401614d75565b634e487b7160e01b600052604160045260246000fd5b600082601f830112614dd857600080fd5b81356001600160401b0380821115614df257614df2614db1565b604051601f8301601f19908116603f01168101908282118183101715614e1a57614e1a614db1565b81604052838152866020858801011115614e3357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060a08587031215614e6957600080fd5b84356001600160401b0380821115614e8057600080fd5b614e8c888389016149dc565b90965094506020870135915080821115614ea557600080fd5b50614eb287828801614dc7565b925050614ec28660408701614aac565b905092959194509250565b60008060208385031215614ee057600080fd5b82356001600160401b0380821115614ef757600080fd5b818501915085601f830112614f0b57600080fd5b813581811115614f1a57600080fd5b866020606083028501011115614f2f57600080fd5b60209290920196919550909350505050565b600080600080600060608688031215614f5957600080fd5b85356001600160401b0380821115614f7057600080fd5b614f7c89838a016149dc565b90975095506020880135915080821115614f9557600080fd5b50614fa2888289016149dc565b9094509250614fb5905060408701614d75565b90509295509295909350565b600080600080600060608688031215614fd957600080fd5b85356001600160401b0380821115614ff057600080fd5b614ffc89838a016149dc565b9097509550602088013591508082111561501557600080fd5b61502189838a01614af8565b9095509350604088013591508082111561503a57600080fd5b5061504788828901614dc7565b9150509295509295909350565b60006020828403121561506657600080fd5b8135614c7281614ca5565b600060808284031215614abe57600080fd5b600060c08284031215614abe57600080fd5b600080600061010084860312156150ab57600080fd5b83356001600160401b038111156150c157600080fd5b6150cd86828701615071565b9350506150dd8560208601615083565b915060e084013590509250925092565b600080600080600080600060e0888a03121561510857600080fd5b873561511381614bdc565b9650602088013561512381614bbc565b9550604088013561513381614bbc565b9450606088013561514381614bbc565b9350608088013561515381614bdc565b925060a088013561516381614bbc565b915060c088013561517381614bdc565b8091505092959891949750929550565b600060a08284031215614abe57600080fd5b60008060008060c085870312156151ab57600080fd5b84356001600160401b03808211156151c257600080fd5b6151ce88838901615071565b955060208701359150808211156151e457600080fd5b506151f187828801615183565b9350506152018660408701614aac565b9150614ec260a08601614a8f565b60008060006040848603121561522457600080fd5b61522d84614a8f565b925060208401356001600160401b0381111561524857600080fd5b61525486828701614af8565b9497909650939450505050565b600080600060a0848603121561527657600080fd5b83356001600160401b038082111561528d57600080fd5b61529987838801615071565b945060208601359150808211156152af57600080fd5b506152bc86828701615183565b9250506152cc8560408601614aac565b90509250925092565b6000606082840312156152e757600080fd5b614c728383614aac565b600080600080600080600060e0888a03121561530c57600080fd5b61531588614a8f565b96506153248960208a01614aac565b955060808801356001600160401b038082111561534057600080fd5b61534c8b838c01614af8565b909750955060a08a0135945060c08a013591508082111561536c57600080fd5b506153798a828b01614af8565b989b979a50959850939692959293505050565b80356001600160601b0381168114614aa757600080fd5b600080600080600080600060e0888a0312156153be57600080fd5b87356153c981614bbc565b965060208801356153d981614bbc565b955060408801356153e981614bbc565b945060608801356153f981614bbc565b9350608088013561540981614bdc565b925061516360a0890161538c565b60008082840361014081121561542c57600080fd5b61543584614a8f565b9250610120601f198201121561544a57600080fd5b506020830190509250929050565b60008060008060c0858703121561546e57600080fd5b84356001600160401b038082111561548557600080fd5b61549188838901615071565b955060208701359150808211156154a757600080fd5b506154b487828801615183565b9350506154c48660408701614aac565b915060a0850135614c4a81614ca5565b60008060008060008060008060008060006101608c8e0312156154f657600080fd5b8b3561550181614bbc565b9a5060208c013561551181614bbc565b995060408c013561552181614bdc565b985060608c013561553181614bdc565b975061553f60808d0161538c565b965060a08c013561554f81614bdc565b955060c08c013561ffff8116811461556657600080fd5b945061557460e08d01614bd1565b93506155836101008d01614bee565b92506155926101208d0161538c565b91506155a16101408d01614bee565b90509295989b509295989b9093969950565b6000602082840312156155c557600080fd5b614c7282614a8f565b60008060008060008060c087890312156155e757600080fd5b86356155f281614ca5565b9550602087013561560281614ca5565b9450604087013561561281614ca5565b9350606087013561562281614ca5565b9250608087013561563281614ca5565b915061564060a0880161538c565b90509295509295509295565b600080600080600060c0868803121561566457600080fd5b61566d86614a8f565b945061567c8760208801614aac565b935060808601356001600160401b0381111561569757600080fd5b6156a3888289016149dc565b90945092505060a08601356156b781614bbc565b809150509295509295909350565b600080600080608085870312156156db57600080fd5b6156e48561538c565b935060208501356156f481614bdc565b9250614c3a6040860161538c565b634e487b7160e01b600052602160045260246000fd5b6006811061572857615728615702565b9052565b60006101208201905082518252602083015160208301526001600160401b03604084015116604083015263ffffffff6060840151166060830152608083015161577d608084018263ffffffff169052565b5060a083015161579560a084018263ffffffff169052565b5060c08301516157ad60c084018263ffffffff169052565b5060e08301516157c060e0840182615718565b5061010092830151919092015290565b81516001600160601b03191681526020808301516001600160401b03169082015260408083015163ffffffff1690820152606082015160808201906004811061581b5761581b615702565b8060608401525092915050565b60008060e0838503121561583b57600080fd5b82356001600160401b0381111561585157600080fd5b61585d85828601615071565b925050614aef8460208501615083565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8581526060602082015260006158b060608301868861586d565b82810360408401526158c381858761586d565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8083168181036158fe576158fe6158cf565b6001019392505050565b80358252602081013561591a81614bdc565b63ffffffff166020830152604081013561593381614bbc565b6001600160401b0381166040840152505050565b8381526001600160601b03198316602082015260a0810161596b6040830184615908565b949350505050565b600063ffffffff821680615989576159896158cf565b6000190192915050565b8183526000602080850194508260005b858110156159ce5781356159b681614bdc565b63ffffffff16875295820195908201906001016159a3565b509495945050505050565b8681526001600160601b031986166020820152608060408201526000615a03608083018688615993565b8281036060840152615a1681858761586d565b9998505050505050505050565b8581526001600160a01b03851660208201526001600160401b0384166040820152608060608201526000615a5b60808301848661586d565b979650505050505050565b85815284602082015263ffffffff84166040820152608060608201526000615a5b608083018486615993565b6000815180845260005b81811015615ab857602081850181015186830182015201615a9c565b506000602082860101526020601f19601f83011685010191505092915050565b85815260c060208201526000615af260c08301868861586d565b8281036040840152615b048186615a92565b9150508235606083015260208301356080830152604083013560ff8116808214615b2d57600080fd5b8060a085015250509695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201615b6757615b676158cf565b5060010190565b868152608060208201526000615b8860808301878961586d565b8281036040840152615b9b81868861586d565b9150508215156060830152979650505050505050565b868152608060208201526000615bcb60808301878961586d565b8281036040840152615bde818688615993565b90508281036060840152615a168185615a92565b80356001600160e01b031981168114614aa757600080fd5b6000808335601e19843603018112615c2157600080fd5b83016020810192503590506001600160401b03811115615c4057600080fd5b803603821315614a1d57600080fd5b60006001600160e01b031980615c6484615bf2565b168452615c746020840184615c0a565b60806020870152615c8960808701828461586d565b915050615c996040850185615c0a565b8683036040880152615cac83828461586d565b9250505081615cbd60608601615bf2565b166060860152809250505092915050565b8035615cd981614bdc565b63ffffffff168252602081013577ffffffffffffffffffffffffffffffffffffffffffffffff198116808214615d0e57600080fd5b602084015250615d2060408201614a8f565b6001600160601b0319818116604085015280615d3e60608501614a8f565b16606085015250506001600160e01b0319615d5b60808301615bf2565b16608083015260a0810135615d6f81614ca5565b6001600160a01b03811660a0840152505050565b6000610120868352806020840152615d9d81840187615c4f565b915050615dad6040830185615cce565b8261010083015295945050505050565b6000615dc98283615c0a565b60a08552615ddb60a08601828461586d565b91505060208301356020850152615df56040840184615c0a565b8583036040870152615e0883828461586d565b9250505060608301356060850152615e236080840184615c0a565b8583036080870152615e3683828461586d565b9695505050505050565b85815260e060208201526000615e5960e0830187615c4f565b8281036040840152615e6b8187615dbd565b915050615e7b6060830185615908565b6001600160601b0319831660c08301529695505050505050565b8481526001600160601b031984166020820152606060408201526000615e36606083018486615993565b84815260c060208201526000615ed860c0830186615c4f565b8281036040840152615eea8186615dbd565b915050615efa6060830184615908565b95945050505050565b82815260808101614c726020830184615908565b60006101008a835260206001600160601b0319808c1682860152615f3e604086018c615908565b8260a0860152615f518386018a8c615993565b60c0860189905285810360e0870152868152879350820160005b87811015615f905782615f7d86614a8f565b1682529383019390830190600101615f6b565b509d9c50505050505050505050505050565b81810381811115615fb557615fb56158cf565b92915050565b80820180821115615fb557615fb56158cf565b60008135615fb581614bdc565b60068110611f3557600080fd5b60008135615fb581615fdb565b6006821061600557616005615702565b805478ff0000000000000000000000000000000000000000000000008360c01b1660ff60c01b198216178255505050565b813581556020820135600182015560028101604083013561605681614bbc565b6001600160401b0381166001600160401b0319835416178255506160a961607f60608501615fce565b82546bffffffff0000000000000000191660409190911b6bffffffff000000000000000016178255565b6160f96160b860808501615fce565b82547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff1660609190911b6fffffffff00000000000000000000000016178255565b61613561610860a08501615fce565b825463ffffffff60801b191660809190911b73ffffffff0000000000000000000000000000000016178255565b61618d61614460c08501615fce565b82547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b77ffffffff000000000000000000000000000000000000000016178255565b6161a261619c60e08501615fe8565b82615ff5565b5061010082013560038201555050565b6000602082840312156161c457600080fd5b8135614c7281615fdb565b85815260e0602082015260006161e860e0830187615c4f565b82810360408401526161fa8187615dbd565b91505061620a6060830185615908565b6001600160a01b03831660c08301529695505050505050565b8781526001600160601b03198716602082015260006101006162486040840189615908565b6001600160a01b03871660a08401528060c084015261626a818401868861586d565b9150506001600160401b03831660e083015298975050505050505050565b60006101008583528060208401526162a281840186615c4f565b91505061596b6040830184615cce565b63ffffffff8181168382160190808211156162cf576162cf6158cf565b509291505056fea264697066735822122096225913d1bde465febfa0639fa387e31580e00089cf3d68ade2a78d1171600464736f6c63430008110033",
3089
+ "deployedBytecode": "0x6080604052600436106104145760003560e01c80638ac89ce111610228578063c8b5d2db11610128578063e404c0a9116100bb578063e65e19d51161008a578063f139b0881161006f578063f139b08814611383578063f18cf1b1146113c1578063fca4ba4c146113ee57600080fd5b8063e65e19d514611336578063ee1dd3ea1461136357600080fd5b8063e404c0a91461129d578063e44bdd31146112bd578063e509397d146112dd578063e53c0b55146112fd57600080fd5b8063dc49117b116100f7578063dc49117b146111fa578063dccfb3b91461121a578063ded1d24a1461123a578063df7cd4ae1461126657600080fd5b8063c8b5d2db1461117a578063d246ce161461119a578063d38bfff4146111ba578063d6eccdf0146111da57600080fd5b8063b036c1ee116101bb578063b95b947d1161018a578063be05abe31161016f578063be05abe31461103b578063c3b5ffc914611101578063c42b64d01461112157600080fd5b8063b95b947d14610ffb578063bd1501311461101b57600080fd5b8063b036c1ee14610f1f578063b2146cd614610f7b578063b5da217114610fbb578063b8afb0a514610fdb57600080fd5b8063a8fa0f42116101f7578063a8fa0f4214610d34578063a9de2f3a14610d54578063abaeed8f14610da1578063b02c43d014610dc157600080fd5b80638ac89ce114610cb457806392238f3214610cd45780639821c38b14610cf4578063a145e2d514610d1457600080fd5b806359e6a456116103335780636c854186116102c657806377145f21116102955780637f51bb1f1161027a5780637f51bb1f14610c5457806386f0143914610c74578063883d6a1114610c9457600080fd5b806377145f2114610c1457806379fc4eb314610c3457600080fd5b80636c85418614610a945780636e70ce4114610af057806374babd9c14610b7657806375b922d114610b9657600080fd5b80636187990511610302578063618799051461099457806361ccf97a146109b457806361d027b314610a63578063685ce1b114610a8157600080fd5b806359e6a456146108de5780635aa6e6751461091c5780635f2b2d0d1461095457806360d712fc1461097457600080fd5b806331a4889a116103ab5780633dce98121161037a5780633dce98121461083d578063475d05701461085d57806350aea15a1461087d578063539c63221461089d57600080fd5b806331a4889a146106e057806333e957cb1461070057806338326507146107df5780633c0038f4146107ff57600080fd5b80630b6ba19d116103e75780630b6ba19d146105a35780630bb7a73a1461066057806324028c11146106805780632bb818c2146106b257600080fd5b806303d952f7146104195780630674f26614610541578063074534441461056357806307f7d22314610583575b600080fd5b34801561042557600080fd5b506104d66104343660046149c3565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152604a6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b90046001600160401b039081169382019390935260019091015480831693820193909352600160401b83049091166060820152600160801b90910463ffffffff16608082015290565b6040516105389190600060a0820190506001600160a01b03835116825260208301516001600160401b038082166020850152806040860151166040850152806060860151166060850152505063ffffffff608084015116608083015292915050565b60405180910390f35b34801561054d57600080fd5b5061056161055c366004614a24565b61140e565b005b34801561056f57600080fd5b5061056161057e366004614ac4565b61149d565b34801561058f57600080fd5b5061056161059e366004614ac4565b611636565b3480156105af57600080fd5b506104d66105be3660046149c3565b6040805160a081018252600080825260208201819052918101829052606081018290526080810191909152506000908152604b6020908152604091829020825160a08101845281546001600160a01b0381168252600160a01b90046001600160401b039081169382019390935260019091015480831693820193909352600160401b83049091166060820152600160801b90910463ffffffff16608082015290565b34801561066c57600080fd5b5061056161067b366004614ac4565b6116bf565b34801561068c57600080fd5b50604454600160a01b900463ffffffff1660405163ffffffff9091168152602001610538565b3480156106be57600080fd5b50603454600160a01b90046001600160601b0316604051908152602001610538565b3480156106ec57600080fd5b506105616106fb366004614b3c565b611815565b34801561070c57600080fd5b5061079b61071b3660046149c3565b604080516080810182526000808252602082018190529181018290526060810191909152506000908152604c6020908152604091829020825160808101845281546001600160a01b031681526001820154928101929092526002015463ffffffff81169282019290925264010000000090910460ff161515606082015290565b604051610538919081516001600160a01b031681526020808301519082015260408083015163ffffffff169082015260609182015115159181019190915260800190565b3480156107eb57600080fd5b506105616107fa366004614bf9565b6118a7565b34801561080b57600080fd5b5061056161081a366004614c55565b603f805467ffffffffffffffff19166001600160401b0392909216919091179055565b34801561084957600080fd5b50610561610858366004614c79565b611915565b34801561086957600080fd5b50610561610878366004614cba565b6119a5565b34801561088957600080fd5b50610561610898366004614d09565b611a47565b3480156108a957600080fd5b506105616108b8366004614d58565b6039805463ffffffff909216600160c01b0263ffffffff60c01b19909216919091179055565b3480156108ea57600080fd5b506105616108f9366004614c55565b6039805467ffffffffffffffff19166001600160401b0392909216919091179055565b34801561092857600080fd5b5060005461093c906001600160a01b031681565b6040516001600160a01b039091168152602001610538565b34801561096057600080fd5b5061056161096f366004614d85565b611aa0565b34801561098057600080fd5b5061056161098f366004614d85565b611b5a565b3480156109a057600080fd5b506105616109af366004614ac4565b611c0c565b3480156109c057600080fd5b50610a1760425460435460445460455463ffffffff600160a01b85048116956001600160401b03600160c01b9687900481169686821696600160401b8104831696600160801b909104851695919004909116921690565b6040805163ffffffff98891681526001600160401b039788166020820152958716908601529285166060850152908516608084015290921660a0820152911660c082015260e001610538565b348015610a6f57600080fd5b506037546001600160a01b031661093c565b610561610a8f366004614e53565b611d00565b348015610aa057600080fd5b50610561610aaf366004614c55565b603f80546001600160401b03909216600160401b027fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff909216919091179055565b348015610afc57600080fd5b50603f54604154604080516001600160401b038085168252600160401b850481166020830152600160801b808604821693830193909352600160c01b909404909316606084015263ffffffff80831660808501526001600160601b0364010000000084041660a085015291041660c082015260e001610538565b348015610b8257600080fd5b50610561610b91366004614ecd565b611d59565b348015610ba257600080fd5b50610bdd6041546042546001600160601b03600160a01b90920482169263ffffffff8083169364010000000084041692600160801b90041690565b604080516001600160601b03958616815263ffffffff94851660208201529490921691840191909152166060820152608001610538565b348015610c2057600080fd5b50610561610c2f366004614f41565b611e1a565b348015610c4057600080fd5b50610561610c4f366004614fc1565b611e75565b348015610c6057600080fd5b50610561610c6f366004615054565b611ed0565b348015610c8057600080fd5b50610561610c8f366004615095565b611f38565b348015610ca057600080fd5b50610561610caf3660046150ed565b611f8f565b348015610cc057600080fd5b50610561610ccf366004615195565b611ffa565b348015610ce057600080fd5b50610561610cef36600461520f565b6120b2565b348015610d0057600080fd5b50610561610d0f366004615261565b612109565b348015610d2057600080fd5b50610561610d2f3660046152d5565b6121bf565b348015610d4057600080fd5b50610561610d4f366004614c79565b612245565b348015610d6057600080fd5b50603354603454603554603654604080516001600160a01b039586168152938516602085015291841691830191909152919091166060820152608001610538565b348015610dad57600080fd5b50610561610dbc3660046152f1565b6122ab565b348015610dcd57600080fd5b50610ea0610ddc3660046149c3565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c081019190915250600090815260466020908152604091829020825160e08101845281546001600160a01b0380821683526001600160401b03600160a01b80840482169685019690965263ffffffff600160e01b9384900481169785019790975260018501549182166060850152948104909416608083015290920490921660a082015260029091015460c082015290565b6040516105389190600060e0820190506001600160a01b0380845116835260208401516001600160401b0380821660208601526040860151915063ffffffff80831660408701528360608801511660608701528160808801511660808701528060a08801511660a08701525050505060c083015160c083015292915050565b348015610f2b57600080fd5b50610561610f3a366004614c55565b603980546001600160401b03909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff909216919091179055565b348015610f8757600080fd5b50610fab610f963660046149c3565b6000908152604d602052604090205460ff1690565b6040519015158152602001610538565b348015610fc757600080fd5b50610561610fd63660046153a3565b6123d9565b348015610fe757600080fd5b50610561610ff6366004614ecd565b612444565b34801561100757600080fd5b50610561611016366004615417565b61253c565b34801561102757600080fd5b50610561611036366004615458565b6125ce565b34801561104757600080fd5b50603b54603c54603e54604080516001600160401b038086168252600160401b80870482166020840152600160801b80880463ffffffff90811695850195909552600160a01b909704841660608401526001600160601b0380871660808501526c01000000000000000000000000808804861660a08601529790960461ffff1660c084015290841660e083015283048216610100820152938204909216610120840152600160c01b90041661014082015261016001610538565b34801561110d57600080fd5b5061056161111c3660046154d4565b612686565b34801561112d57600080fd5b50603954604080516001600160401b038084168252600160401b840481166020830152600160801b84041691810191909152600160c01b90910463ffffffff166060820152608001610538565b34801561118657600080fd5b506105616111953660046155b3565b612702565b3480156111a657600080fd5b506105616111b53660046155ce565b61270d565b3480156111c657600080fd5b506105616111d5366004615054565b612c63565b3480156111e657600080fd5b506105616111f536600461564c565b612d42565b34801561120657600080fd5b506105616112153660046156c5565b612d9f565b34801561122657600080fd5b50610561611235366004614ecd565b612e07565b34801561124657600080fd5b5060445460601b6040516001600160601b03199091168152602001610538565b34801561127257600080fd5b506105616112813660046155b3565b604480546001600160a01b03191660609290921c919091179055565b3480156112a957600080fd5b506105616112b8366004614ac4565b612ec6565b3480156112c957600080fd5b506105616112d8366004614ac4565b612f70565b3480156112e957600080fd5b506105616112f8366004615195565b612fc5565b34801561130957600080fd5b50610fab611318366004615054565b6001600160a01b031660009081526047602052604090205460ff1690565b34801561134257600080fd5b506113566113513660046155b3565b61307b565b604051610538919061572c565b34801561136f57600080fd5b5061056161137e3660046155b3565b61319e565b34801561138f57600080fd5b5061056161139e366004614c55565b603e805467ffffffffffffffff19166001600160401b0392909216919091179055565b3480156113cd57600080fd5b506113e16113dc3660046149c3565b6131ff565b60405161053891906157d0565b3480156113fa57600080fd5b50610561611409366004615828565b6132b7565b6040517f94fcaf8d00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__906394fcaf8d90611467906033908890889088908890600401615896565b60006040518083038186803b15801561147f57600080fd5b505af4158015611493573d6000803e3d6000fd5b5050505050505050565b600081356114b16040840160208501614d58565b6040516020016114d892919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815282825280516020918201206080840183526001600160601b03198716845293508201906115189060608601908601614c55565b6001600160401b0316815263ffffffff421660208201526040016001905260008281526049602090815260409182902083518154928501519385015163ffffffff16600160e01b027bffffffffffffffffffffffffffffffffffffffffffffffffffffffff6001600160401b03909516600160a01b026001600160e01b0319909416606092831c1793909317939093169190911781559082015160018083018054909160ff19909116908360038111156115d4576115d4615702565b021790555050506001600160601b031983166000908152604e602052604090206002018054600160a01b900463ffffffff16906014611612836158e5565b91906101000a81548163ffffffff021916908363ffffffff16021790555050505050565b6040517f260b6cde00000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063260b6cde9061168b9060339086908690600401615947565b60006040518083038186803b1580156116a357600080fd5b505af41580156116b7573d6000803e3d6000fd5b505050505050565b600081356116d36040840160208501614d58565b6040516020016116fa92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012060008181526049909352912090915060018082015460ff16600381111561173b5761173b615702565b146117a15760405162461bcd60e51b815260206004820152602b60248201527f537475622073776565702072657175657374206d75737420626520696e20506560448201526a6e64696e6720737461746560a81b60648201526084015b60405180910390fd5b6001808201805460039260ff1990911690835b02179055506001600160601b031984166000908152604e602052604090206002018054600160a01b900463ffffffff169060146117f083615973565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050505050565b6040517fa76558b300000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063a76558b39061187090603390899089908990899089906004016159d9565b60006040518083038186803b15801561188857600080fd5b505af415801561189c573d6000803e3d6000fd5b505050505050505050565b6000546001600160a01b031633146119015760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61190f60338585858561330c565b50505050565b6040517fc87de7f400000000000000000000000000000000000000000000000000000000815260336004820152602481018390526044810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063c87de7f4906064015b60006040518083038186803b15801561198857600080fd5b505af415801561199c573d6000803e3d6000fd5b50505050505050565b6033546001600160a01b031633146119ff5760405162461bcd60e51b815260206004820152601660248201527f43616c6c6572206973206e6f74207468652062616e6b000000000000000000006044820152606401611798565b73__$9935b6ea18e0c526c293569ddd26842c9b$__63d2539808603386611a2587613565565b86866040518663ffffffff1660e01b8152600401611467959493929190615a23565b6040517f899bef9d00000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063899bef9d90611467906033908890889088908890600401615a66565b6000546001600160a01b03163314611afa5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038216600081815260486020908152604091829020805460ff191685151590811790915591519182527f8779ecd5a875d699b846953c9af5ef54f4a354fe4568c460d43c14c31911917091015b60405180910390a25050565b6000546001600160a01b03163314611bb45760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038216600081815260476020908152604091829020805460ff191685151590811790915591519182527f9065599c12c4294d9e2201638226d0d0beb95c228f468c4e7c2bdb8322b6066f9101611b4e565b60008135611c206040840160208501614d58565b604051602001611c4792919091825260e01b6001600160e01b031916602082015260240190565b60408051601f19818403018152918152815160209283012060008181526049909352912090915060018082015460ff166003811115611c8857611c88615702565b14611ce95760405162461bcd60e51b815260206004820152602b60248201527f537475622073776565702072657175657374206d75737420626520696e20506560448201526a6e64696e6720737461746560a81b6064820152608401611798565b6001808201805460029260ff1990911690836117b4565b6040517feb8fdd5d00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__9063eb8fdd5d90611467906033908890889088908890600401615ad8565b60005b81811015611e15576000838383818110611d7857611d78615b3f565b90506060020160000135848484818110611d9457611d94615b3f565b9050606002016020016020810190611dac9190614d58565b604051602001611dd392919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291815281516020928301206000908152604d9092529020805460ff191660011790555080611e0d81615b55565b915050611d5c565b505050565b6040517f624526fe00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__9063624526fe906118709060339089908990899089908990600401615b6e565b6040517f80ffe94a00000000000000000000000000000000000000000000000000000000815273__$a542940934c03bae9a39609192cb25cc3c$__906380ffe94a906118709060339089908990899089908990600401615bb1565b6000546001600160a01b03163314611f2a5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b611f356033826135e8565b50565b6040517fe4f3925d00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__9063e4f3925d9061197090603390879087908790600401615d83565b6000546001600160a01b03163314611fe95760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61199c603388888888888888613696565b3360009081526048602052604090205460ff166120595760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fa164de6e00000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063a164de6e90611467906033908890889088908890600401615e40565b6040517f07f96c4200000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__906307f96c429061197090603390879087908790600401615e95565b3360009081526048602052604090205460ff166121685760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fb79a972500000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__9063b79a97259061197090603390879087908790600401615ebf565b6040517fd079fbb100000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__9063d079fbb190612212906033908590600401615f03565b60006040518083038186803b15801561222a57600080fd5b505af415801561223e573d6000803e3d6000fd5b5050505050565b6040517f4afbe4c90000000000000000000000000000000000000000000000000000000081526033600482015260248101849052604481018390526064810182905273__$0f118c52967a3847a37f0a2ef02ffcee04$__90634afbe4c990608401611970565b60005a6040517fc8f7794300000000000000000000000000000000000000000000000000000000815290915073__$edce581bb06331cf4dae1387760565e5d1$__9063c8f7794390612310906033908c908c908c908c908c908c908c90600401615f17565b60006040518083038186803b15801561232857600080fd5b505af415801561233c573d6000803e3d6000fd5b5050603654603c546001600160a01b039091169250637ad226dc9150600160801b900461ffff165a61236e9085615fa2565b6123789190615fbb565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b1580156123b757600080fd5b505af11580156123cb573d6000803e3d6000fd5b505050505050505050505050565b6000546001600160a01b031633146124335760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61199c603388888888888888613997565b60005b81811015611e1557600083838381811061246357612463615b3f565b9050606002016000013584848481811061247f5761247f615b3f565b90506060020160200160208101906124979190614d58565b6040516020016124be92919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f19018152918152815160209283012060009081526046909252902060010180547bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f61d998e000000000000000000000000000000000000000000000000000000000179055508061253481615b55565b915050612447565b6001600160601b031982166000908152604e6020526040902081906125618282616036565b5060019050612577610100830160e084016161b2565b600581111561258857612588615702565b036125ca5760448054600160a01b900463ffffffff169060146125aa836158e5565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b5050565b3360009081526048602052604090205460ff1661262d5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517fd22cd45b00000000000000000000000000000000000000000000000000000000815273__$24f7e155a6d011c1bf9032506ba9b1954c$__9063d22cd45b906114679060339088908890889088906004016161cf565b6000546001600160a01b031633146126e05760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6126f560338c8c8c8c8c8c8c8c8c8c8c613e8a565b5050505050505050505050565b611f35603382614599565b603254610100900460ff161580801561272d5750603254600160ff909116105b806127475750303b158015612747575060325460ff166001145b6127b95760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401611798565b6032805460ff1916600117905580156127dc576032805461ff0019166101001790555b6001600160a01b0387166128325760405162461bcd60e51b815260206004820152601b60248201527f42616e6b20616464726573732063616e6e6f74206265207a65726f00000000006044820152606401611798565b603380546001600160a01b0319166001600160a01b038981169190911790915586166128a05760405162461bcd60e51b815260206004820152601c60248201527f52656c617920616464726573732063616e6e6f74206265207a65726f000000006044820152606401611798565b603480546001600160a01b0319166001600160a01b038881169190911790915584166129345760405162461bcd60e51b815260206004820152602c60248201527f45434453412057616c6c6574205265676973747279206164647265737320636160448201527f6e6e6f74206265207a65726f00000000000000000000000000000000000000006064820152608401611798565b603580546001600160a01b0319166001600160a01b038681169190911790915583166129c85760405162461bcd60e51b815260206004820152602960248201527f5265696d62757273656d656e7420506f6f6c20616464726573732063616e6e6f60448201527f74206265207a65726f00000000000000000000000000000000000000000000006064820152608401611798565b603680546001600160a01b0319166001600160a01b03858116919091179091558516612a365760405162461bcd60e51b815260206004820152601f60248201527f547265617375727920616464726573732063616e6e6f74206265207a65726f006044820152606401611798565b603780546001600160a01b03199081166001600160a01b038881169190911790925560348054909216600160a01b6001600160601b0386160217909155603980546001600160e01b03199081167a13c68000000000000186a000000000000007d000000000000f4240179091557a0f424000000000000186a000000000000007d000000000000f4240603f55603b805477ffffffffffffffffffffffffffffffffffffffffffffffff191676093a800007e9000000000000030d4000000000000186a0179055603c80547fffffffffffffffffffffffffffff00000000000000000000000000000000000016713a9800000064000000056bc75e2d63100000179055603e80549091167864000000056bc75e2d6310000000093a8000000000000186a01790557b4563918244f4000000000064000000056bc75e2d63100000000697806041557b05f5e10000093a8000000064000000056bc75e2d6310000000093a806042556043805490911672eff1000000000002faf08000000002540be4001790556044805477ffffffffffffffffffffffffffffffffffffffffffffffff167b3b9aca00000000000000000000000000000000000000000000000000179055604580546234bc0063ffffffff19909116179055612c15336146cb565b801561199c576032805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050505050565b6000546001600160a01b03163314612cbd5760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b6001600160a01b038116612d395760405162461bcd60e51b815260206004820152602260248201527f4e657720676f7665726e616e636520697320746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401611798565b611f35816146cb565b6040517ff5ada44200000000000000000000000000000000000000000000000000000000815273__$9935b6ea18e0c526c293569ddd26842c9b$__9063f5ada44290611870906033908990899033908a908a908a90600401616223565b6000546001600160a01b03163314612df95760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f742074686520676f7665726e616e6365000000006044820152606401611798565b61190f603385858585614725565b60005b81811015611e15576000838383818110612e2657612e26615b3f565b90506060020160000135848484818110612e4257612e42615b3f565b9050606002016020016020810190612e5a9190614d58565b604051602001612e8192919091825260e01b6001600160e01b031916602082015260240190565b60408051808303601f190181529181528151602092830120600090815260499092529020600101805460ff191660021790555080612ebe81615b55565b915050612e0a565b8035612ed86040830160208401614d58565b612ee86060840160408501614c55565b604051602001612f369392919092835260e09190911b6001600160e01b031916602083015260c01b77ffffffffffffffffffffffffffffffffffffffffffffffff19166024820152602c0190565b60408051601f1981840301815291815281516020928301206001600160601b03199094166000908152604e90925290206001019190915550565b6040517f3af3b15400000000000000000000000000000000000000000000000000000000815273__$0f118c52967a3847a37f0a2ef02ffcee04$__90633af3b1549061168b9060339086908690600401615947565b3360009081526048602052604090205460ff166130245760405162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206973206e6f7420535056206d61696e7461696e6572000000006044820152606401611798565b6040517e92bac900000000000000000000000000000000000000000000000000000000815273__$edce581bb06331cf4dae1387760565e5d1$__906292bac990611467906033908890889088908890600401615e40565b6040805161012081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e081018290526101008101919091526001600160601b031982166000908152604e60209081526040918290208251610120810184528154815260018201549281019290925260028101546001600160401b0381169383019390935263ffffffff600160401b8404811660608401526c01000000000000000000000000840481166080840152600160801b8404811660a0840152600160a01b84041660c0830152909160e083019060ff600160c01b90910416600581111561317857613178615702565b600581111561318957613189615702565b81526020016003820154815250509050919050565b6040517f9b69e71d000000000000000000000000000000000000000000000000000000008152603360048201526001600160601b03198216602482015273__$edce581bb06331cf4dae1387760565e5d1$__90639b69e71d90604401612212565b6132276040805160808101825260008082526020820181905291810182905290606082015290565b60008281526049602090815260409182902082516080810184528154606081811b6001600160601b0319168352600160a01b82046001600160401b031694830194909452600160e01b900463ffffffff16938101939093526001810154909183019060ff16600381111561329d5761329d615702565b60038111156132ae576132ae615702565b90525092915050565b6040517faea7fd0b00000000000000000000000000000000000000000000000000000000815273__$894ce12e79ca3e5683c1b49e363f37fa22$__9063aea7fd0b9061168b9060339086908690600401616288565b6000846001600160401b03161161338b5760405162461bcd60e51b815260206004820152603060248201527f4465706f7369742064757374207468726573686f6c64206d757374206265206760448201527f726561746572207468616e207a65726f000000000000000000000000000000006064820152608401611798565b816001600160401b0316846001600160401b0316116134125760405162461bcd60e51b815260206004820152603e60248201527f4465706f7369742064757374207468726573686f6c64206d757374206265206760448201527f726561746572207468616e206465706f736974205458206d61782066656500006064820152608401611798565b6000826001600160401b0316116134915760405162461bcd60e51b815260206004820152603560248201527f4465706f736974207472616e73616374696f6e206d617820666565206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152608401611798565b6006850180546001600160401b038681166fffffffffffffffffffffffffffffffff199092168217600160401b878316908102919091177fffffffff000000000000000000000000ffffffffffffffffffffffffffffffff16600160801b92871692830263ffffffff60c01b191617600160c01b63ffffffff87169081029190911790945560408051938452602084019190915282015260608101919091527f20b0edfa765e9ea8de6866efa2435850051a5dc3737d1aec22b0fdff8a3cbddf906080015b60405180910390a15050505050565b60006001600160401b038211156135e45760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201527f34206269747300000000000000000000000000000000000000000000000000006064820152608401611798565b5090565b6001600160a01b03811661363e5760405162461bcd60e51b815260206004820181905260248201527f54726561737572792061646472657373206d757374206e6f74206265203078306044820152606401611798565b6004820180546001600160a01b0319166001600160a01b0383169081179091556040519081527f7dae230f18360d76a040c81f050aa14eb9d6dc7901b20fc5d855e2a20fe814d1906020015b60405180910390a15050565b856001600160401b0316856001600160401b0316116137435760405162461bcd60e51b815260206004820152605960248201527f57616c6c6574206372656174696f6e206d6178696d756d204254432062616c6160448201527f6e6365206d7573742062652067726561746572207468616e207468652063726560648201527f6174696f6e206d696e696d756d204254432062616c616e636500000000000000608482015260a401611798565b6000826001600160401b0316116137c25760405162461bcd60e51b815260206004820152603560248201527f57616c6c6574206d6178696d756d20425443207472616e73666572206d75737460448201527f2062652067726561746572207468616e207a65726f00000000000000000000006064820152608401611798565b60008163ffffffff161161383e5760405162461bcd60e51b815260206004820152602f60248201527f57616c6c657420636c6f73696e6720706572696f64206d75737420626520677260448201527f6561746572207468616e207a65726f00000000000000000000000000000000006064820152608401611798565b600f880180546001600160401b03808916600160c01b90810277ffffffffffffffffffffffffffffffffffffffffffffffff63ffffffff808e16600160a01b0282166001600160a01b03909616959095179190911790945560108c018054888516600160801b0263ffffffff60801b198b8616600160401b026fffffffffffffffffffffffffffffffff199093168d871617929092179190911617905560118c018054928716909102919093161790915560128901805491831663ffffffff199092169190911790556040517fc7d3a9af08692aeae771c329fddd95c7237a9f76fec996325f3959eeff07d4ac9061398590899089908990899089908990899063ffffffff97881681526001600160401b03968716602082015294861660408601529285166060850152908516608084015290921660a0820152911660c082015260e00190565b60405180910390a15050505050505050565b60088801546001600160401b03600160401b909104811690881611613a4a5760405162461bcd60e51b815260206004820152604a60248201527f526564656d7074696f6e2064757374207468726573686f6c64206d757374206260448201527f652067726561746572207468616e206d6f76696e672066756e6473206475737460648201527f207468726573686f6c6400000000000000000000000000000000000000000000608482015260a401611798565b846001600160401b0316876001600160401b031611613af85760405162461bcd60e51b8152602060048201526044602482018190527f526564656d7074696f6e2064757374207468726573686f6c64206d7573742062908201527f652067726561746572207468616e20726564656d7074696f6e205458206d617860648201527f2066656500000000000000000000000000000000000000000000000000000000608482015260a401611798565b6000856001600160401b031611613b775760405162461bcd60e51b815260206004820152603860248201527f526564656d7074696f6e207472616e73616374696f6e206d617820666565206d60448201527f7573742062652067726561746572207468616e207a65726f00000000000000006064820152608401611798565b846001600160401b0316846001600160401b03161015613c4b5760405162461bcd60e51b815260206004820152607460248201527f526564656d7074696f6e207472616e73616374696f6e206d617820746f74616c60448201527f20666565206d7573742062652067726561746572207468616e206f722065717560648201527f616c20746f2074686520726564656d7074696f6e207472616e73616374696f6e60848201527f207065722d72657175657374206d61782066656500000000000000000000000060a482015260c401611798565b60008363ffffffff1611613cc75760405162461bcd60e51b815260206004820152602c60248201527f526564656d7074696f6e2074696d656f7574206d75737420626520677265617460448201527f6572207468616e207a65726f00000000000000000000000000000000000000006064820152608401611798565b60648163ffffffff161115613d6a5760405162461bcd60e51b815260206004820152604b60248201527f526564656d7074696f6e2074696d656f7574206e6f746966696572207265776160448201527f7264206d756c7469706c696572206d75737420626520696e207468652072616e60648201527f6765205b302c203130305d000000000000000000000000000000000000000000608482015260a401611798565b600c880180546001600160401b038981166fffffffffffffffffffffffffffffffff199283168117600160401b8b8416908102919091176fffffffffffffffffffffffffffffffff16600160801b8b851681810277ffffffffffffffffffffffffffffffffffffffffffffffff1692909217600160c01b958c1695860217909655600e8e01805463ffffffff8b81169190971681176401000000006001600160601b038c169081029190911763ffffffff60801b1916978a1698890297909717909155604080519485526020850193909352918301526060820192909252608081019190915260a081019190915260c08101919091527f2c682acb687f36d9e4d486fc0c681b0e802911b0fb56f3e0d54f373e7f89a7c49060e001613985565b60008b6001600160401b031611613f0b576040805162461bcd60e51b81526020600482015260248101919091527f4d6f76696e672066756e6473207472616e73616374696f6e206d617820746f7460448201527f616c20666565206d7573742062652067726561746572207468616e207a65726f6064820152608401611798565b60008a6001600160401b0316118015613f345750600c8c01546001600160401b03908116908b16105b613fcc5760405162461bcd60e51b815260206004820152605e60248201527f4d6f76696e672066756e64732064757374207468726573686f6c64206d75737460448201527f2062652067726561746572207468616e207a65726f20616e64206c6f7765722060648201527f7468616e20726564656d7074696f6e2064757374207468726573686f6c640000608482015260a401611798565b60008963ffffffff16116140485760405162461bcd60e51b815260206004820152603a60248201527f4d6f76696e672066756e64732074696d656f75742072657365742064656c617960448201527f206d7573742062652067726561746572207468616e207a65726f0000000000006064820152608401611798565b8863ffffffff168863ffffffff16116140c95760405162461bcd60e51b815260206004820152603960248201527f4d6f76696e672066756e64732074696d656f7574206d7573742062652067726560448201527f61746572207468616e206974732072657365742064656c6179000000000000006064820152608401611798565b60648663ffffffff16111561416c5760405162461bcd60e51b815260206004820152604d60248201527f4d6f76696e672066756e64732074696d656f7574206e6f74696669657220726560448201527f77617264206d756c7469706c696572206d75737420626520696e20746865207260648201527f616e6765205b302c203130305d00000000000000000000000000000000000000608482015260a401611798565b6000846001600160401b0316116142115760405162461bcd60e51b815260206004820152604560248201527f4d6f7665642066756e6473207377656570207472616e73616374696f6e206d6160448201527f7820746f74616c20666565206d7573742062652067726561746572207468616e60648201527f207a65726f000000000000000000000000000000000000000000000000000000608482015260a401611798565b60008363ffffffff161161428d5760405162461bcd60e51b815260206004820152603360248201527f4d6f7665642066756e64732073776565702074696d656f7574206d757374206260448201527f652067726561746572207468616e207a65726f000000000000000000000000006064820152608401611798565b60648163ffffffff1611156143305760405162461bcd60e51b815260206004820152605260248201527f4d6f7665642066756e64732073776565702074696d656f7574206e6f7469666960448201527f657220726577617264206d756c7469706c696572206d75737420626520696e2060648201527f7468652072616e6765205b302c203130305d0000000000000000000000000000608482015260a401611798565b8a8c60080160006101000a8154816001600160401b0302191690836001600160401b03160217905550898c60080160086101000a8154816001600160401b0302191690836001600160401b03160217905550888c60080160106101000a81548163ffffffff021916908363ffffffff160217905550878c60080160146101000a81548163ffffffff021916908363ffffffff160217905550868c60090160006101000a8154816001600160601b0302191690836001600160601b03160217905550858c600901600c6101000a81548163ffffffff021916908363ffffffff160217905550848c60090160106101000a81548161ffff021916908361ffff160217905550838c600b0160006101000a8154816001600160401b0302191690836001600160401b03160217905550828c600b0160086101000a81548163ffffffff021916908363ffffffff160217905550818c600b01600c6101000a8154816001600160601b0302191690836001600160601b03160217905550808c600b0160186101000a81548163ffffffff021916908363ffffffff1602179055507fdd096c0b696aec16e055260a26ba0980984d19c11cd2ae6f6dbd0b67e0c3bf0d8b8b8b8b8b8b8b8b8b8b8b6040516145839b9a999897969594939291906001600160401b039b8c168152998b1660208b015263ffffffff98891660408b015296881660608a01526001600160601b0395861660808a015293871660a089015261ffff9290921660c088015290961660e086015294831661010085015293909316610120830152919091166101408201526101600190565b60405180910390a1505050505050505050505050565b6001600160601b031981166000908152601b83016020526040902060036002820154600160c01b900460ff1660058111156145d6576145d6615702565b146146235760405162461bcd60e51b815260206004820152601f60248201527f57616c6c6574206d75737420626520696e20436c6f73696e67207374617465006044820152606401611798565b601283015460028201546146479163ffffffff90811691600160801b9004166162b2565b63ffffffff1642116146c15760405162461bcd60e51b815260206004820152602260248201527f436c6f73696e6720706572696f6420686173206e6f7420656c6170736564207960448201527f65740000000000000000000000000000000000000000000000000000000000006064820152608401611798565b611e1583836148d6565b600080546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5f56bee8cffbe9a78652a74a60705edede02af10b0bbb888ca44b79a0d42ce80910161368a565b60008363ffffffff16116147a15760405162461bcd60e51b815260206004820152603860248201527f4672617564206368616c6c656e6765206465666561742074696d656f7574206d60448201527f7573742062652067726561746572207468616e207a65726f00000000000000006064820152608401611798565b60648163ffffffff16111561481e5760405162461bcd60e51b815260206004820152603e60248201527f4672617564206e6f74696669657220726577617264206d756c7469706c69657260448201527f206d75737420626520696e207468652072616e6765205b302c203130305d00006064820152608401611798565b600e850180546001600160a01b0316600160a01b6001600160601b0387811691820292909217909255600f8701805463ffffffff8781166fffffffffffffffffffffffffffffffff1990921682176401000000009488169485021763ffffffff60801b1916600160801b9187169182021790925560408051948552602085019190915283019190915260608201527fc6d044ae75b875a43eb23bedc79d2b694b00ed95b5b8bf2a657328af9dda090d90608001613556565b6001600160601b031981166000818152601b8401602052604080822060028101805460ff60c01b19167804000000000000000000000000000000000000000000000000179055805491519093927f47b159947c3066cb253f60e8f046cfd747411788a545cb189679e3fa1467b28d91a3600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb927916149959160040190815260200190565b600060405180830381600087803b1580156149af57600080fd5b505af115801561199c573d6000803e3d6000fd5b6000602082840312156149d557600080fd5b5035919050565b60008083601f8401126149ee57600080fd5b5081356001600160401b03811115614a0557600080fd5b602083019150836020828501011115614a1d57600080fd5b9250929050565b60008060008060408587031215614a3a57600080fd5b84356001600160401b0380821115614a5157600080fd5b614a5d888389016149dc565b90965094506020870135915080821115614a7657600080fd5b50614a83878288016149dc565b95989497509550505050565b80356001600160601b031981168114614aa757600080fd5b919050565b600060608284031215614abe57600080fd5b50919050565b60008060808385031215614ad757600080fd5b614ae083614a8f565b9150614aef8460208501614aac565b90509250929050565b60008083601f840112614b0a57600080fd5b5081356001600160401b03811115614b2157600080fd5b6020830191508360208260051b8501011115614a1d57600080fd5b600080600080600060608688031215614b5457600080fd5b614b5d86614a8f565b945060208601356001600160401b0380821115614b7957600080fd5b614b8589838a01614af8565b90965094506040880135915080821115614b9e57600080fd5b50614bab888289016149dc565b969995985093965092949392505050565b6001600160401b0381168114611f3557600080fd5b8035614aa781614bbc565b63ffffffff81168114611f3557600080fd5b8035614aa781614bdc565b60008060008060808587031215614c0f57600080fd5b8435614c1a81614bbc565b93506020850135614c2a81614bbc565b92506040850135614c3a81614bbc565b91506060850135614c4a81614bdc565b939692955090935050565b600060208284031215614c6757600080fd5b8135614c7281614bbc565b9392505050565b600080600060608486031215614c8e57600080fd5b505081359360208301359350604090920135919050565b6001600160a01b0381168114611f3557600080fd5b60008060008060608587031215614cd057600080fd5b8435614cdb81614ca5565b93506020850135925060408501356001600160401b03811115614cfd57600080fd5b614a83878288016149dc565b60008060008060608587031215614d1f57600080fd5b843593506020850135614d3181614bdc565b925060408501356001600160401b03811115614d4c57600080fd5b614a8387828801614af8565b600060208284031215614d6a57600080fd5b8135614c7281614bdc565b80358015158114614aa757600080fd5b60008060408385031215614d9857600080fd5b8235614da381614ca5565b9150614aef60208401614d75565b634e487b7160e01b600052604160045260246000fd5b600082601f830112614dd857600080fd5b81356001600160401b0380821115614df257614df2614db1565b604051601f8301601f19908116603f01168101908282118183101715614e1a57614e1a614db1565b81604052838152866020858801011115614e3357600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060a08587031215614e6957600080fd5b84356001600160401b0380821115614e8057600080fd5b614e8c888389016149dc565b90965094506020870135915080821115614ea557600080fd5b50614eb287828801614dc7565b925050614ec28660408701614aac565b905092959194509250565b60008060208385031215614ee057600080fd5b82356001600160401b0380821115614ef757600080fd5b818501915085601f830112614f0b57600080fd5b813581811115614f1a57600080fd5b866020606083028501011115614f2f57600080fd5b60209290920196919550909350505050565b600080600080600060608688031215614f5957600080fd5b85356001600160401b0380821115614f7057600080fd5b614f7c89838a016149dc565b90975095506020880135915080821115614f9557600080fd5b50614fa2888289016149dc565b9094509250614fb5905060408701614d75565b90509295509295909350565b600080600080600060608688031215614fd957600080fd5b85356001600160401b0380821115614ff057600080fd5b614ffc89838a016149dc565b9097509550602088013591508082111561501557600080fd5b61502189838a01614af8565b9095509350604088013591508082111561503a57600080fd5b5061504788828901614dc7565b9150509295509295909350565b60006020828403121561506657600080fd5b8135614c7281614ca5565b600060808284031215614abe57600080fd5b600060c08284031215614abe57600080fd5b600080600061010084860312156150ab57600080fd5b83356001600160401b038111156150c157600080fd5b6150cd86828701615071565b9350506150dd8560208601615083565b915060e084013590509250925092565b600080600080600080600060e0888a03121561510857600080fd5b873561511381614bdc565b9650602088013561512381614bbc565b9550604088013561513381614bbc565b9450606088013561514381614bbc565b9350608088013561515381614bdc565b925060a088013561516381614bbc565b915060c088013561517381614bdc565b8091505092959891949750929550565b600060a08284031215614abe57600080fd5b60008060008060c085870312156151ab57600080fd5b84356001600160401b03808211156151c257600080fd5b6151ce88838901615071565b955060208701359150808211156151e457600080fd5b506151f187828801615183565b9350506152018660408701614aac565b9150614ec260a08601614a8f565b60008060006040848603121561522457600080fd5b61522d84614a8f565b925060208401356001600160401b0381111561524857600080fd5b61525486828701614af8565b9497909650939450505050565b600080600060a0848603121561527657600080fd5b83356001600160401b038082111561528d57600080fd5b61529987838801615071565b945060208601359150808211156152af57600080fd5b506152bc86828701615183565b9250506152cc8560408601614aac565b90509250925092565b6000606082840312156152e757600080fd5b614c728383614aac565b600080600080600080600060e0888a03121561530c57600080fd5b61531588614a8f565b96506153248960208a01614aac565b955060808801356001600160401b038082111561534057600080fd5b61534c8b838c01614af8565b909750955060a08a0135945060c08a013591508082111561536c57600080fd5b506153798a828b01614af8565b989b979a50959850939692959293505050565b80356001600160601b0381168114614aa757600080fd5b600080600080600080600060e0888a0312156153be57600080fd5b87356153c981614bbc565b965060208801356153d981614bbc565b955060408801356153e981614bbc565b945060608801356153f981614bbc565b9350608088013561540981614bdc565b925061516360a0890161538c565b60008082840361014081121561542c57600080fd5b61543584614a8f565b9250610120601f198201121561544a57600080fd5b506020830190509250929050565b60008060008060c0858703121561546e57600080fd5b84356001600160401b038082111561548557600080fd5b61549188838901615071565b955060208701359150808211156154a757600080fd5b506154b487828801615183565b9350506154c48660408701614aac565b915060a0850135614c4a81614ca5565b60008060008060008060008060008060006101608c8e0312156154f657600080fd5b8b3561550181614bbc565b9a5060208c013561551181614bbc565b995060408c013561552181614bdc565b985060608c013561553181614bdc565b975061553f60808d0161538c565b965060a08c013561554f81614bdc565b955060c08c013561ffff8116811461556657600080fd5b945061557460e08d01614bd1565b93506155836101008d01614bee565b92506155926101208d0161538c565b91506155a16101408d01614bee565b90509295989b509295989b9093969950565b6000602082840312156155c557600080fd5b614c7282614a8f565b60008060008060008060c087890312156155e757600080fd5b86356155f281614ca5565b9550602087013561560281614ca5565b9450604087013561561281614ca5565b9350606087013561562281614ca5565b9250608087013561563281614ca5565b915061564060a0880161538c565b90509295509295509295565b600080600080600060c0868803121561566457600080fd5b61566d86614a8f565b945061567c8760208801614aac565b935060808601356001600160401b0381111561569757600080fd5b6156a3888289016149dc565b90945092505060a08601356156b781614bbc565b809150509295509295909350565b600080600080608085870312156156db57600080fd5b6156e48561538c565b935060208501356156f481614bdc565b9250614c3a6040860161538c565b634e487b7160e01b600052602160045260246000fd5b6006811061572857615728615702565b9052565b60006101208201905082518252602083015160208301526001600160401b03604084015116604083015263ffffffff6060840151166060830152608083015161577d608084018263ffffffff169052565b5060a083015161579560a084018263ffffffff169052565b5060c08301516157ad60c084018263ffffffff169052565b5060e08301516157c060e0840182615718565b5061010092830151919092015290565b81516001600160601b03191681526020808301516001600160401b03169082015260408083015163ffffffff1690820152606082015160808201906004811061581b5761581b615702565b8060608401525092915050565b60008060e0838503121561583b57600080fd5b82356001600160401b0381111561585157600080fd5b61585d85828601615071565b925050614aef8460208501615083565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8581526060602082015260006158b060608301868861586d565b82810360408401526158c381858761586d565b98975050505050505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8083168181036158fe576158fe6158cf565b6001019392505050565b80358252602081013561591a81614bdc565b63ffffffff166020830152604081013561593381614bbc565b6001600160401b0381166040840152505050565b8381526001600160601b03198316602082015260a0810161596b6040830184615908565b949350505050565b600063ffffffff821680615989576159896158cf565b6000190192915050565b8183526000602080850194508260005b858110156159ce5781356159b681614bdc565b63ffffffff16875295820195908201906001016159a3565b509495945050505050565b8681526001600160601b031986166020820152608060408201526000615a03608083018688615993565b8281036060840152615a1681858761586d565b9998505050505050505050565b8581526001600160a01b03851660208201526001600160401b0384166040820152608060608201526000615a5b60808301848661586d565b979650505050505050565b85815284602082015263ffffffff84166040820152608060608201526000615a5b608083018486615993565b6000815180845260005b81811015615ab857602081850181015186830182015201615a9c565b506000602082860101526020601f19601f83011685010191505092915050565b85815260c060208201526000615af260c08301868861586d565b8281036040840152615b048186615a92565b9150508235606083015260208301356080830152604083013560ff8116808214615b2d57600080fd5b8060a085015250509695505050505050565b634e487b7160e01b600052603260045260246000fd5b600060018201615b6757615b676158cf565b5060010190565b868152608060208201526000615b8860808301878961586d565b8281036040840152615b9b81868861586d565b9150508215156060830152979650505050505050565b868152608060208201526000615bcb60808301878961586d565b8281036040840152615bde818688615993565b90508281036060840152615a168185615a92565b80356001600160e01b031981168114614aa757600080fd5b6000808335601e19843603018112615c2157600080fd5b83016020810192503590506001600160401b03811115615c4057600080fd5b803603821315614a1d57600080fd5b60006001600160e01b031980615c6484615bf2565b168452615c746020840184615c0a565b60806020870152615c8960808701828461586d565b915050615c996040850185615c0a565b8683036040880152615cac83828461586d565b9250505081615cbd60608601615bf2565b166060860152809250505092915050565b8035615cd981614bdc565b63ffffffff168252602081013577ffffffffffffffffffffffffffffffffffffffffffffffff198116808214615d0e57600080fd5b602084015250615d2060408201614a8f565b6001600160601b0319818116604085015280615d3e60608501614a8f565b16606085015250506001600160e01b0319615d5b60808301615bf2565b16608083015260a0810135615d6f81614ca5565b6001600160a01b03811660a0840152505050565b6000610120868352806020840152615d9d81840187615c4f565b915050615dad6040830185615cce565b8261010083015295945050505050565b6000615dc98283615c0a565b60a08552615ddb60a08601828461586d565b91505060208301356020850152615df56040840184615c0a565b8583036040870152615e0883828461586d565b9250505060608301356060850152615e236080840184615c0a565b8583036080870152615e3683828461586d565b9695505050505050565b85815260e060208201526000615e5960e0830187615c4f565b8281036040840152615e6b8187615dbd565b915050615e7b6060830185615908565b6001600160601b0319831660c08301529695505050505050565b8481526001600160601b031984166020820152606060408201526000615e36606083018486615993565b84815260c060208201526000615ed860c0830186615c4f565b8281036040840152615eea8186615dbd565b915050615efa6060830184615908565b95945050505050565b82815260808101614c726020830184615908565b60006101008a835260206001600160601b0319808c1682860152615f3e604086018c615908565b8260a0860152615f518386018a8c615993565b60c0860189905285810360e0870152868152879350820160005b87811015615f905782615f7d86614a8f565b1682529383019390830190600101615f6b565b509d9c50505050505050505050505050565b81810381811115615fb557615fb56158cf565b92915050565b80820180821115615fb557615fb56158cf565b60008135615fb581614bdc565b60068110611f3557600080fd5b60008135615fb581615fdb565b6006821061600557616005615702565b805478ff0000000000000000000000000000000000000000000000008360c01b1660ff60c01b198216178255505050565b813581556020820135600182015560028101604083013561605681614bbc565b6001600160401b0381166001600160401b0319835416178255506160a961607f60608501615fce565b82546bffffffff0000000000000000191660409190911b6bffffffff000000000000000016178255565b6160f96160b860808501615fce565b82547fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff1660609190911b6fffffffff00000000000000000000000016178255565b61613561610860a08501615fce565b825463ffffffff60801b191660809190911b73ffffffff0000000000000000000000000000000016178255565b61618d61614460c08501615fce565b82547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff1660a09190911b77ffffffff000000000000000000000000000000000000000016178255565b6161a261619c60e08501615fe8565b82615ff5565b5061010082013560038201555050565b6000602082840312156161c457600080fd5b8135614c7281615fdb565b85815260e0602082015260006161e860e0830187615c4f565b82810360408401526161fa8187615dbd565b91505061620a6060830185615908565b6001600160a01b03831660c08301529695505050505050565b8781526001600160601b03198716602082015260006101006162486040840189615908565b6001600160a01b03871660a08401528060c084015261626a818401868861586d565b9150506001600160401b03831660e083015298975050505050505050565b60006101008583528060208401526162a281840186615c4f565b91505061596b6040830184615cce565b63ffffffff8181168382160190808211156162cf576162cf6158cf565b509291505056fea264697066735822122096225913d1bde465febfa0639fa387e31580e00089cf3d68ade2a78d1171600464736f6c63430008110033",
3090
+ "linkReferences": {
3091
+ "contracts/bridge/Deposit.sol": {
3092
+ "Deposit": [
3093
+ {
3094
+ "length": 20,
3095
+ "start": 8276
3096
+ },
3097
+ {
3098
+ "length": 20,
3099
+ "start": 13267
3100
+ }
3101
+ ]
3102
+ },
3103
+ "contracts/bridge/DepositSweep.sol": {
3104
+ "DepositSweep": [
3105
+ {
3106
+ "length": 20,
3107
+ "start": 10057
3108
+ }
3109
+ ]
3110
+ },
3111
+ "contracts/bridge/Fraud.sol": {
3112
+ "Fraud": [
3113
+ {
3114
+ "length": 20,
3115
+ "start": 5418
3116
+ },
3117
+ {
3118
+ "length": 20,
3119
+ "start": 7708
3120
+ },
3121
+ {
3122
+ "length": 20,
3123
+ "start": 7990
3124
+ },
3125
+ {
3126
+ "length": 20,
3127
+ "start": 8081
3128
+ }
3129
+ ]
3130
+ },
3131
+ "contracts/bridge/MovingFunds.sol": {
3132
+ "MovingFunds": [
3133
+ {
3134
+ "length": 20,
3135
+ "start": 5970
3136
+ },
3137
+ {
3138
+ "length": 20,
3139
+ "start": 7011
3140
+ },
3141
+ {
3142
+ "length": 20,
3143
+ "start": 8654
3144
+ },
3145
+ {
3146
+ "length": 20,
3147
+ "start": 8836
3148
+ },
3149
+ {
3150
+ "length": 20,
3151
+ "start": 9165
3152
+ },
3153
+ {
3154
+ "length": 20,
3155
+ "start": 12607
3156
+ },
3157
+ {
3158
+ "length": 20,
3159
+ "start": 13009
3160
+ }
3161
+ ]
3162
+ },
3163
+ "contracts/bridge/Redemption.sol": {
3164
+ "Redemption": [
3165
+ {
3166
+ "length": 20,
3167
+ "start": 6449
3168
+ },
3169
+ {
3170
+ "length": 20,
3171
+ "start": 6901
3172
+ },
3173
+ {
3174
+ "length": 20,
3175
+ "start": 8565
3176
+ },
3177
+ {
3178
+ "length": 20,
3179
+ "start": 11870
3180
+ }
3181
+ ]
3182
+ },
3183
+ "contracts/bridge/Wallets.sol": {
3184
+ "Wallets": [
3185
+ {
3186
+ "length": 20,
3187
+ "start": 6726
3188
+ },
3189
+ {
3190
+ "length": 20,
3191
+ "start": 8923
3192
+ },
3193
+ {
3194
+ "length": 20,
3195
+ "start": 9085
3196
+ },
3197
+ {
3198
+ "length": 20,
3199
+ "start": 12428
3200
+ }
3201
+ ]
3202
+ }
3203
+ },
3204
+ "deployedLinkReferences": {
3205
+ "contracts/bridge/Deposit.sol": {
3206
+ "Deposit": [
3207
+ {
3208
+ "length": 20,
3209
+ "start": 8032
3210
+ },
3211
+ {
3212
+ "length": 20,
3213
+ "start": 13023
3214
+ }
3215
+ ]
3216
+ },
3217
+ "contracts/bridge/DepositSweep.sol": {
3218
+ "DepositSweep": [
3219
+ {
3220
+ "length": 20,
3221
+ "start": 9813
3222
+ }
3223
+ ]
3224
+ },
3225
+ "contracts/bridge/Fraud.sol": {
3226
+ "Fraud": [
3227
+ {
3228
+ "length": 20,
3229
+ "start": 5174
3230
+ },
3231
+ {
3232
+ "length": 20,
3233
+ "start": 7464
3234
+ },
3235
+ {
3236
+ "length": 20,
3237
+ "start": 7746
3238
+ },
3239
+ {
3240
+ "length": 20,
3241
+ "start": 7837
3242
+ }
3243
+ ]
3244
+ },
3245
+ "contracts/bridge/MovingFunds.sol": {
3246
+ "MovingFunds": [
3247
+ {
3248
+ "length": 20,
3249
+ "start": 5726
3250
+ },
3251
+ {
3252
+ "length": 20,
3253
+ "start": 6767
3254
+ },
3255
+ {
3256
+ "length": 20,
3257
+ "start": 8410
3258
+ },
3259
+ {
3260
+ "length": 20,
3261
+ "start": 8592
3262
+ },
3263
+ {
3264
+ "length": 20,
3265
+ "start": 8921
3266
+ },
3267
+ {
3268
+ "length": 20,
3269
+ "start": 12363
3270
+ },
3271
+ {
3272
+ "length": 20,
3273
+ "start": 12765
3274
+ }
3275
+ ]
3276
+ },
3277
+ "contracts/bridge/Redemption.sol": {
3278
+ "Redemption": [
3279
+ {
3280
+ "length": 20,
3281
+ "start": 6205
3282
+ },
3283
+ {
3284
+ "length": 20,
3285
+ "start": 6657
3286
+ },
3287
+ {
3288
+ "length": 20,
3289
+ "start": 8321
3290
+ },
3291
+ {
3292
+ "length": 20,
3293
+ "start": 11626
3294
+ }
3295
+ ]
3296
+ },
3297
+ "contracts/bridge/Wallets.sol": {
3298
+ "Wallets": [
3299
+ {
3300
+ "length": 20,
3301
+ "start": 6482
3302
+ },
3303
+ {
3304
+ "length": 20,
3305
+ "start": 8679
3306
+ },
3307
+ {
3308
+ "length": 20,
3309
+ "start": 8841
3310
+ },
3311
+ {
3312
+ "length": 20,
3313
+ "start": 12184
3314
+ }
3315
+ ]
3316
+ }
3317
+ }
3318
+ }