@keep-network/tbtc-v2 0.1.0 → 0.1.1-dev

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