@keep-network/tbtc-v2 1.8.0 → 1.8.2

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 (203) hide show
  1. package/artifacts/Bridge.json +1998 -1972
  2. package/artifacts/Bridge_v2_Implementation.json +2817 -0
  3. package/artifacts/Deposit.json +7 -7
  4. package/artifacts/Redemption.json +95 -171
  5. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  6. package/build/contracts/Timelock.sol/Timelock.dbg.json +1 -1
  7. package/build/contracts/bank/Bank.sol/Bank.dbg.json +1 -1
  8. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +1 -1
  9. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +1 -1
  10. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +2 -2
  11. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +1 -1
  12. package/build/contracts/bridge/Bridge.sol/Bridge.json +74 -48
  13. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.dbg.json +1 -1
  14. package/build/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +2 -2
  15. package/build/contracts/bridge/BridgeGovernanceParameters.sol/BridgeGovernanceParameters.dbg.json +1 -1
  16. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +1 -1
  17. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +2 -2
  18. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +1 -1
  19. package/build/contracts/bridge/Deposit.sol/Deposit.json +2 -2
  20. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +1 -1
  21. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +2 -2
  22. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +1 -1
  23. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +1 -1
  24. package/build/contracts/bridge/Fraud.sol/Fraud.json +2 -2
  25. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +1 -1
  26. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +1 -1
  27. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +1 -1
  28. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +2 -2
  29. package/build/contracts/bridge/Redemption.sol/IRedemptionWatchtower.dbg.json +1 -1
  30. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +1 -1
  31. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +2 -2
  32. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +1 -1
  33. package/build/contracts/bridge/Redemption.sol/Redemption.json +2 -2
  34. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.dbg.json +1 -1
  35. package/build/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +2 -2
  36. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  37. package/build/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.dbg.json +1 -1
  38. package/build/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.dbg.json +1 -1
  39. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.dbg.json +1 -1
  40. package/build/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +2 -2
  41. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +1 -1
  42. package/build/contracts/bridge/Wallets.sol/Wallets.json +2 -2
  43. package/build/contracts/cross-chain/AbstractL1BTCDepositor.sol/AbstractL1BTCDepositor.dbg.json +1 -1
  44. package/build/contracts/cross-chain/L2TBTC.sol/L2TBTC.dbg.json +1 -1
  45. package/build/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.dbg.json +1 -1
  46. package/build/contracts/cross-chain/starknet/interfaces/IStarkGateBridge.sol/IStarkGateBridge.dbg.json +1 -1
  47. package/build/contracts/cross-chain/utils/Crosschain.sol/CrosschainUtils.dbg.json +1 -1
  48. package/build/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.dbg.json +1 -1
  49. package/build/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.dbg.json +1 -1
  50. package/build/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.dbg.json +1 -1
  51. package/build/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.dbg.json +1 -1
  52. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormhole.dbg.json +1 -1
  53. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeGateway.dbg.json +1 -1
  54. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeReceiver.dbg.json +1 -1
  55. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeRelayer.dbg.json +1 -1
  56. package/build/contracts/cross-chain/wormhole/Wormhole.sol/IWormholeTokenBridge.dbg.json +1 -1
  57. package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeTypes.dbg.json +1 -1
  58. package/build/contracts/cross-chain/wormhole/Wormhole.sol/WormholeUtils.dbg.json +1 -1
  59. package/build/contracts/integrator/AbstractBTCDepositor.sol/AbstractBTCDepositor.dbg.json +1 -1
  60. package/build/contracts/integrator/IBridge.sol/IBridge.dbg.json +1 -1
  61. package/build/contracts/integrator/IBridge.sol/IBridgeTypes.dbg.json +1 -1
  62. package/build/contracts/integrator/ITBTCVault.sol/ITBTCVault.dbg.json +1 -1
  63. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.dbg.json +1 -1
  64. package/build/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +2 -2
  65. package/build/contracts/relay/LightRelay.sol/ILightRelay.dbg.json +1 -1
  66. package/build/contracts/relay/LightRelay.sol/LightRelay.dbg.json +1 -1
  67. package/build/contracts/relay/LightRelay.sol/RelayUtils.dbg.json +1 -1
  68. package/build/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.dbg.json +1 -1
  69. package/build/contracts/test/BankStub.sol/BankStub.dbg.json +1 -1
  70. package/build/contracts/test/BridgeStub.sol/BridgeStub.dbg.json +1 -1
  71. package/build/contracts/test/BridgeStub.sol/BridgeStub.json +74 -48
  72. package/build/contracts/test/HeartbeatStub.sol/HeartbeatStub.dbg.json +1 -1
  73. package/build/contracts/test/LightRelayStub.sol/LightRelayStub.dbg.json +1 -1
  74. package/build/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.dbg.json +1 -1
  75. package/build/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.dbg.json +1 -1
  76. package/build/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.dbg.json +1 -1
  77. package/build/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.dbg.json +1 -1
  78. package/build/contracts/test/MockTBTCToken.sol/MockTBTCToken.dbg.json +1 -1
  79. package/build/contracts/test/MockTBTCVault.sol/MockTBTCVault.dbg.json +1 -1
  80. package/build/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.dbg.json +1 -1
  81. package/build/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.dbg.json +1 -1
  82. package/build/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.dbg.json +1 -1
  83. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.dbg.json +1 -1
  84. package/build/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +2 -2
  85. package/build/contracts/test/TestBTCDepositor.sol/MockBridge.dbg.json +1 -1
  86. package/build/contracts/test/TestBTCDepositor.sol/MockTBTCVault.dbg.json +1 -1
  87. package/build/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.dbg.json +1 -1
  88. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.dbg.json +1 -1
  89. package/build/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +2 -2
  90. package/build/contracts/test/TestERC20.sol/TestERC20.dbg.json +1 -1
  91. package/build/contracts/test/TestERC721.sol/TestERC721.dbg.json +1 -1
  92. package/build/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.dbg.json +1 -1
  93. package/build/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.dbg.json +1 -1
  94. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  95. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +1 -1
  96. package/build/contracts/vault/IVault.sol/IVault.dbg.json +1 -1
  97. package/build/contracts/vault/TBTCOptimisticMinting.sol/TBTCOptimisticMinting.dbg.json +1 -1
  98. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +1 -1
  99. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +2 -2
  100. package/contracts/bridge/Bridge.sol +34 -0
  101. package/contracts/bridge/Deposit.sol +7 -5
  102. package/deploy/80_upgrade_bridge_v2.ts +107 -54
  103. package/deploy/81_upgrade_bridge_v2_vault_fix.ts +160 -0
  104. package/export/artifacts/contracts/bridge/Bridge.sol/Bridge.json +4891 -4170
  105. package/export/artifacts/contracts/bridge/BridgeGovernance.sol/BridgeGovernance.json +207 -207
  106. package/export/artifacts/contracts/bridge/RedemptionWatchtower.sol/RedemptionWatchtower.json +104 -104
  107. package/export/artifacts/contracts/bridge/VendingMachine.sol/VendingMachine.json +67 -67
  108. package/export/artifacts/contracts/bridge/VendingMachineV2.sol/VendingMachineV2.json +24 -24
  109. package/export/artifacts/contracts/bridge/VendingMachineV3.sol/VendingMachineV3.json +26 -26
  110. package/export/artifacts/contracts/bridge/WalletProposalValidator.sol/WalletProposalValidator.json +72 -72
  111. package/export/artifacts/contracts/cross-chain/L2TBTC.sol/L2TBTC.json +40 -40
  112. package/export/artifacts/contracts/cross-chain/starknet/StarkNetBitcoinDepositor.sol/StarkNetBitcoinDepositor.json +3360 -3360
  113. package/export/artifacts/contracts/cross-chain/wormhole/BTCDepositorWormhole.sol/BTCDepositorWormhole.json +117 -117
  114. package/export/artifacts/contracts/cross-chain/wormhole/L1BTCDepositorWormhole.sol/L1BTCDepositorWormhole.json +140 -140
  115. package/export/artifacts/contracts/cross-chain/wormhole/L2BTCDepositorWormhole.sol/L2BTCDepositorWormhole.json +37 -37
  116. package/export/artifacts/contracts/cross-chain/wormhole/L2WormholeGateway.sol/L2WormholeGateway.json +51 -51
  117. package/export/artifacts/contracts/maintainer/MaintainerProxy.sol/MaintainerProxy.json +103 -103
  118. package/export/artifacts/contracts/relay/LightRelay.sol/LightRelay.json +57 -57
  119. package/export/artifacts/contracts/relay/LightRelayMaintainerProxy.sol/LightRelayMaintainerProxy.json +31 -31
  120. package/export/artifacts/contracts/test/BankStub.sol/BankStub.json +2 -2
  121. package/export/artifacts/contracts/test/BridgeStub.sol/BridgeStub.json +5130 -4414
  122. package/export/artifacts/contracts/test/HeartbeatStub.sol/HeartbeatStub.json +4 -4
  123. package/export/artifacts/contracts/test/LightRelayStub.sol/LightRelayStub.json +59 -59
  124. package/export/artifacts/contracts/test/MockBridgeForStarkNet.sol/MockBridgeForStarkNet.json +730 -730
  125. package/export/artifacts/contracts/test/MockStarkGateBridge.sol/MockStarkGateBridge.json +956 -956
  126. package/export/artifacts/contracts/test/MockTBTCBridge.sol/MockTBTCBridge.json +781 -781
  127. package/export/artifacts/contracts/test/MockTBTCBridgeWithSweep.sol/MockTBTCBridgeWithSweep.json +458 -458
  128. package/export/artifacts/contracts/test/MockTBTCToken.sol/MockTBTCToken.json +1273 -1273
  129. package/export/artifacts/contracts/test/MockTBTCVault.sol/MockTBTCVault.json +305 -305
  130. package/export/artifacts/contracts/test/ReceiveApprovalStub.sol/ReceiveApprovalStub.json +7 -7
  131. package/export/artifacts/contracts/test/ReentrancyAttacker.sol/ReentrancyAttacker.json +204 -204
  132. package/export/artifacts/contracts/test/SepoliaLightRelay.sol/SepoliaLightRelay.json +59 -59
  133. package/export/artifacts/contracts/test/SystemTestRelay.sol/SystemTestRelay.json +19 -19
  134. package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockBridge.json +34 -34
  135. package/export/artifacts/contracts/test/TestBTCDepositor.sol/MockTBTCVault.json +20 -20
  136. package/export/artifacts/contracts/test/TestBTCDepositor.sol/TestBTCDepositor.json +52 -52
  137. package/export/artifacts/contracts/test/TestBitcoinTx.sol/TestBitcoinTx.json +124 -124
  138. package/export/artifacts/contracts/test/TestERC20.sol/TestERC20.json +6 -6
  139. package/export/artifacts/contracts/test/TestERC721.sol/TestERC721.json +8 -8
  140. package/export/artifacts/contracts/test/TestEcdsaLib.sol/TestEcdsaLib.json +4 -4
  141. package/export/artifacts/contracts/test/WormholeBridgeStub.sol/WormholeBridgeStub.json +37 -37
  142. package/export/artifacts/contracts/token/TBTC.sol/TBTC.json +2 -2
  143. package/export/artifacts/contracts/vault/DonationVault.sol/DonationVault.json +11 -11
  144. package/export/artifacts/contracts/vault/TBTCVault.sol/TBTCVault.json +144 -144
  145. package/export/deploy/80_upgrade_bridge_v2.js +127 -90
  146. package/export/deploy/81_upgrade_bridge_v2_vault_fix.js +211 -0
  147. package/export/typechain/AbstractBTCRedeemer.js +2 -0
  148. package/export/typechain/IBank.js +2 -0
  149. package/export/typechain/IL2WormholeGateway.js +2 -0
  150. package/export/typechain/INttManager.js +2 -0
  151. package/export/typechain/INttManagerWithExecutor.js +2 -0
  152. package/export/typechain/L1BTCDepositorNtt.js +2 -0
  153. package/export/typechain/L1BTCDepositorNttWithExecutor.js +2 -0
  154. package/export/typechain/L1BTCRedeemerWormhole.js +2 -0
  155. package/export/typechain/L2BTCRedeemerWormhole.js +2 -0
  156. package/export/typechain/MockBank.js +2 -0
  157. package/export/typechain/MockBridgeWithRebateStaking.js +2 -0
  158. package/export/typechain/MockL1BTCRedeemerWormhole.js +2 -0
  159. package/export/typechain/MockNttManager.js +2 -0
  160. package/export/typechain/MockNttManagerWithExecutor.js +2 -0
  161. package/export/typechain/NativeBTCDepositor.js +2 -0
  162. package/export/typechain/RebateStaking.js +2 -0
  163. package/export/typechain/TestBTCRedeemer.js +2 -0
  164. package/export/typechain/TestBTCUtilsHelper.js +2 -0
  165. package/export/typechain/TransceiverStructs.js +2 -0
  166. package/export/typechain/factories/AbstractBTCRedeemer__factory.js +204 -0
  167. package/export/typechain/factories/BridgeGovernance__factory.js +1 -1
  168. package/export/typechain/factories/BridgeState__factory.js +1 -1
  169. package/export/typechain/factories/BridgeStub__factory.js +27 -1
  170. package/export/typechain/factories/Bridge__factory.js +27 -1
  171. package/export/typechain/factories/DepositSweep__factory.js +1 -1
  172. package/export/typechain/factories/Deposit__factory.js +1 -1
  173. package/export/typechain/factories/Fraud__factory.js +1 -1
  174. package/export/typechain/factories/IBank__factory.js +138 -0
  175. package/export/typechain/factories/IL2WormholeGateway__factory.js +61 -0
  176. package/export/typechain/factories/INttManagerWithExecutor__factory.js +183 -0
  177. package/export/typechain/factories/INttManager__factory.js +51 -0
  178. package/export/typechain/factories/L1BTCDepositorNttWithExecutor__factory.js +1454 -0
  179. package/export/typechain/factories/L1BTCDepositorNtt__factory.js +920 -0
  180. package/export/typechain/factories/L1BTCRedeemerWormhole__factory.js +622 -0
  181. package/export/typechain/factories/L2BTCRedeemerWormhole__factory.js +348 -0
  182. package/export/typechain/factories/MaintainerProxy__factory.js +1 -1
  183. package/export/typechain/factories/MockBank__factory.js +248 -0
  184. package/export/typechain/factories/MockBridgeWithRebateStaking__factory.js +129 -0
  185. package/export/typechain/factories/MockL1BTCRedeemerWormhole__factory.js +638 -0
  186. package/export/typechain/factories/MockNttManagerWithExecutor__factory.js +423 -0
  187. package/export/typechain/factories/MockNttManager__factory.js +211 -0
  188. package/export/typechain/factories/MovingFunds__factory.js +1 -1
  189. package/export/typechain/factories/NativeBTCDepositor__factory.js +635 -0
  190. package/export/typechain/factories/RebateStaking__factory.js +720 -0
  191. package/export/typechain/factories/RedemptionWatchtower__factory.js +1 -1
  192. package/export/typechain/factories/Redemption__factory.js +1 -1
  193. package/export/typechain/factories/SystemTestRelay__factory.js +1 -1
  194. package/export/typechain/factories/TBTCVault__factory.js +1 -1
  195. package/export/typechain/factories/TestBTCRedeemer__factory.js +425 -0
  196. package/export/typechain/factories/TestBTCUtilsHelper__factory.js +109 -0
  197. package/export/typechain/factories/TestBitcoinTx__factory.js +1 -1
  198. package/export/typechain/factories/TransceiverStructs__factory.js +853 -0
  199. package/export/typechain/factories/WalletProposalValidator__factory.js +1 -1
  200. package/export/typechain/factories/Wallets__factory.js +1 -1
  201. package/export/typechain/index.js +40 -2
  202. package/export.json +40910 -0
  203. package/package.json +1 -1
@@ -0,0 +1,622 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __read = (this && this.__read) || function (o, n) {
18
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
19
+ if (!m) return o;
20
+ var i = m.call(o), r, ar = [], e;
21
+ try {
22
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
23
+ }
24
+ catch (error) { e = { error: error }; }
25
+ finally {
26
+ try {
27
+ if (r && !r.done && (m = i["return"])) m.call(i);
28
+ }
29
+ finally { if (e) throw e.error; }
30
+ }
31
+ return ar;
32
+ };
33
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
34
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
35
+ if (ar || !(i in from)) {
36
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
37
+ ar[i] = from[i];
38
+ }
39
+ }
40
+ return to.concat(ar || Array.prototype.slice.call(from));
41
+ };
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.L1BTCRedeemerWormhole__factory = void 0;
44
+ /* Autogenerated file. Do not edit manually. */
45
+ /* tslint:disable */
46
+ /* eslint-disable */
47
+ var ethers_1 = require("ethers");
48
+ var _abi = [
49
+ {
50
+ inputs: [],
51
+ stateMutability: "nonpayable",
52
+ type: "constructor",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "AlreadyInitialized",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "CallerNotOwner",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "InsufficientBalance",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "SourceAddressNotAuthorized",
72
+ type: "error",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "WormholeTokenBridgeAlreadySet",
77
+ type: "error",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "ZeroAddress",
82
+ type: "error",
83
+ },
84
+ {
85
+ anonymous: false,
86
+ inputs: [
87
+ {
88
+ indexed: true,
89
+ internalType: "bytes32",
90
+ name: "sender",
91
+ type: "bytes32",
92
+ },
93
+ {
94
+ indexed: false,
95
+ internalType: "bool",
96
+ name: "allowed",
97
+ type: "bool",
98
+ },
99
+ ],
100
+ name: "AllowedSenderUpdated",
101
+ type: "event",
102
+ },
103
+ {
104
+ anonymous: false,
105
+ inputs: [
106
+ {
107
+ indexed: false,
108
+ internalType: "uint256",
109
+ name: "requestRedemptionGasOffset",
110
+ type: "uint256",
111
+ },
112
+ ],
113
+ name: "GasOffsetParametersUpdated",
114
+ type: "event",
115
+ },
116
+ {
117
+ anonymous: false,
118
+ inputs: [
119
+ {
120
+ indexed: false,
121
+ internalType: "uint8",
122
+ name: "version",
123
+ type: "uint8",
124
+ },
125
+ ],
126
+ name: "Initialized",
127
+ type: "event",
128
+ },
129
+ {
130
+ anonymous: false,
131
+ inputs: [
132
+ {
133
+ indexed: true,
134
+ internalType: "address",
135
+ name: "previousOwner",
136
+ type: "address",
137
+ },
138
+ {
139
+ indexed: true,
140
+ internalType: "address",
141
+ name: "newOwner",
142
+ type: "address",
143
+ },
144
+ ],
145
+ name: "OwnershipTransferred",
146
+ type: "event",
147
+ },
148
+ {
149
+ anonymous: false,
150
+ inputs: [
151
+ {
152
+ indexed: true,
153
+ internalType: "uint256",
154
+ name: "redemptionKey",
155
+ type: "uint256",
156
+ },
157
+ {
158
+ indexed: true,
159
+ internalType: "bytes20",
160
+ name: "walletPubKeyHash",
161
+ type: "bytes20",
162
+ },
163
+ {
164
+ components: [
165
+ {
166
+ internalType: "bytes32",
167
+ name: "txHash",
168
+ type: "bytes32",
169
+ },
170
+ {
171
+ internalType: "uint32",
172
+ name: "txOutputIndex",
173
+ type: "uint32",
174
+ },
175
+ {
176
+ internalType: "uint64",
177
+ name: "txOutputValue",
178
+ type: "uint64",
179
+ },
180
+ ],
181
+ indexed: false,
182
+ internalType: "struct BitcoinTx.UTXO",
183
+ name: "mainUtxo",
184
+ type: "tuple",
185
+ },
186
+ {
187
+ indexed: true,
188
+ internalType: "bytes",
189
+ name: "redemptionOutputScript",
190
+ type: "bytes",
191
+ },
192
+ {
193
+ indexed: false,
194
+ internalType: "uint256",
195
+ name: "amount",
196
+ type: "uint256",
197
+ },
198
+ ],
199
+ name: "RedemptionRequested",
200
+ type: "event",
201
+ },
202
+ {
203
+ anonymous: false,
204
+ inputs: [
205
+ {
206
+ indexed: true,
207
+ internalType: "address",
208
+ name: "_address",
209
+ type: "address",
210
+ },
211
+ {
212
+ indexed: false,
213
+ internalType: "bool",
214
+ name: "authorization",
215
+ type: "bool",
216
+ },
217
+ ],
218
+ name: "ReimbursementAuthorizationUpdated",
219
+ type: "event",
220
+ },
221
+ {
222
+ anonymous: false,
223
+ inputs: [
224
+ {
225
+ indexed: false,
226
+ internalType: "address",
227
+ name: "newReimbursementPool",
228
+ type: "address",
229
+ },
230
+ ],
231
+ name: "ReimbursementPoolUpdated",
232
+ type: "event",
233
+ },
234
+ {
235
+ anonymous: false,
236
+ inputs: [
237
+ {
238
+ indexed: true,
239
+ internalType: "address",
240
+ name: "recipient",
241
+ type: "address",
242
+ },
243
+ {
244
+ indexed: false,
245
+ internalType: "uint256",
246
+ name: "amount",
247
+ type: "uint256",
248
+ },
249
+ ],
250
+ name: "TbtcRescued",
251
+ type: "event",
252
+ },
253
+ {
254
+ inputs: [],
255
+ name: "SATOSHI_MULTIPLIER",
256
+ outputs: [
257
+ {
258
+ internalType: "uint256",
259
+ name: "",
260
+ type: "uint256",
261
+ },
262
+ ],
263
+ stateMutability: "view",
264
+ type: "function",
265
+ },
266
+ {
267
+ inputs: [
268
+ {
269
+ internalType: "bytes32",
270
+ name: "",
271
+ type: "bytes32",
272
+ },
273
+ ],
274
+ name: "allowedSenders",
275
+ outputs: [
276
+ {
277
+ internalType: "bool",
278
+ name: "",
279
+ type: "bool",
280
+ },
281
+ ],
282
+ stateMutability: "view",
283
+ type: "function",
284
+ },
285
+ {
286
+ inputs: [],
287
+ name: "bank",
288
+ outputs: [
289
+ {
290
+ internalType: "contract IBank",
291
+ name: "",
292
+ type: "address",
293
+ },
294
+ ],
295
+ stateMutability: "view",
296
+ type: "function",
297
+ },
298
+ {
299
+ inputs: [
300
+ {
301
+ internalType: "address",
302
+ name: "_thresholdBridge",
303
+ type: "address",
304
+ },
305
+ {
306
+ internalType: "address",
307
+ name: "_wormholeTokenBridge",
308
+ type: "address",
309
+ },
310
+ {
311
+ internalType: "address",
312
+ name: "_tbtcToken",
313
+ type: "address",
314
+ },
315
+ {
316
+ internalType: "address",
317
+ name: "_bank",
318
+ type: "address",
319
+ },
320
+ {
321
+ internalType: "address",
322
+ name: "_tbtcVault",
323
+ type: "address",
324
+ },
325
+ ],
326
+ name: "initialize",
327
+ outputs: [],
328
+ stateMutability: "nonpayable",
329
+ type: "function",
330
+ },
331
+ {
332
+ inputs: [],
333
+ name: "owner",
334
+ outputs: [
335
+ {
336
+ internalType: "address",
337
+ name: "",
338
+ type: "address",
339
+ },
340
+ ],
341
+ stateMutability: "view",
342
+ type: "function",
343
+ },
344
+ {
345
+ inputs: [
346
+ {
347
+ internalType: "address",
348
+ name: "",
349
+ type: "address",
350
+ },
351
+ ],
352
+ name: "reimbursementAuthorizations",
353
+ outputs: [
354
+ {
355
+ internalType: "bool",
356
+ name: "",
357
+ type: "bool",
358
+ },
359
+ ],
360
+ stateMutability: "view",
361
+ type: "function",
362
+ },
363
+ {
364
+ inputs: [],
365
+ name: "reimbursementPool",
366
+ outputs: [
367
+ {
368
+ internalType: "contract ReimbursementPool",
369
+ name: "",
370
+ type: "address",
371
+ },
372
+ ],
373
+ stateMutability: "view",
374
+ type: "function",
375
+ },
376
+ {
377
+ inputs: [],
378
+ name: "renounceOwnership",
379
+ outputs: [],
380
+ stateMutability: "nonpayable",
381
+ type: "function",
382
+ },
383
+ {
384
+ inputs: [
385
+ {
386
+ internalType: "bytes20",
387
+ name: "walletPubKeyHash",
388
+ type: "bytes20",
389
+ },
390
+ {
391
+ components: [
392
+ {
393
+ internalType: "bytes32",
394
+ name: "txHash",
395
+ type: "bytes32",
396
+ },
397
+ {
398
+ internalType: "uint32",
399
+ name: "txOutputIndex",
400
+ type: "uint32",
401
+ },
402
+ {
403
+ internalType: "uint64",
404
+ name: "txOutputValue",
405
+ type: "uint64",
406
+ },
407
+ ],
408
+ internalType: "struct BitcoinTx.UTXO",
409
+ name: "mainUtxo",
410
+ type: "tuple",
411
+ },
412
+ {
413
+ internalType: "bytes",
414
+ name: "encodedVm",
415
+ type: "bytes",
416
+ },
417
+ ],
418
+ name: "requestRedemption",
419
+ outputs: [],
420
+ stateMutability: "nonpayable",
421
+ type: "function",
422
+ },
423
+ {
424
+ inputs: [],
425
+ name: "requestRedemptionGasOffset",
426
+ outputs: [
427
+ {
428
+ internalType: "uint256",
429
+ name: "",
430
+ type: "uint256",
431
+ },
432
+ ],
433
+ stateMutability: "view",
434
+ type: "function",
435
+ },
436
+ {
437
+ inputs: [
438
+ {
439
+ internalType: "address",
440
+ name: "recipient",
441
+ type: "address",
442
+ },
443
+ {
444
+ internalType: "uint256",
445
+ name: "amount",
446
+ type: "uint256",
447
+ },
448
+ ],
449
+ name: "rescueTbtc",
450
+ outputs: [],
451
+ stateMutability: "nonpayable",
452
+ type: "function",
453
+ },
454
+ {
455
+ inputs: [],
456
+ name: "tbtcToken",
457
+ outputs: [
458
+ {
459
+ internalType: "contract IERC20Upgradeable",
460
+ name: "",
461
+ type: "address",
462
+ },
463
+ ],
464
+ stateMutability: "view",
465
+ type: "function",
466
+ },
467
+ {
468
+ inputs: [],
469
+ name: "tbtcVault",
470
+ outputs: [
471
+ {
472
+ internalType: "contract ITBTCVault",
473
+ name: "",
474
+ type: "address",
475
+ },
476
+ ],
477
+ stateMutability: "view",
478
+ type: "function",
479
+ },
480
+ {
481
+ inputs: [],
482
+ name: "thresholdBridge",
483
+ outputs: [
484
+ {
485
+ internalType: "contract IBridge",
486
+ name: "",
487
+ type: "address",
488
+ },
489
+ ],
490
+ stateMutability: "view",
491
+ type: "function",
492
+ },
493
+ {
494
+ inputs: [
495
+ {
496
+ internalType: "address",
497
+ name: "newOwner",
498
+ type: "address",
499
+ },
500
+ ],
501
+ name: "transferOwnership",
502
+ outputs: [],
503
+ stateMutability: "nonpayable",
504
+ type: "function",
505
+ },
506
+ {
507
+ inputs: [
508
+ {
509
+ internalType: "bytes32",
510
+ name: "_sender",
511
+ type: "bytes32",
512
+ },
513
+ {
514
+ internalType: "bool",
515
+ name: "_allowed",
516
+ type: "bool",
517
+ },
518
+ ],
519
+ name: "updateAllowedSender",
520
+ outputs: [],
521
+ stateMutability: "nonpayable",
522
+ type: "function",
523
+ },
524
+ {
525
+ inputs: [
526
+ {
527
+ internalType: "uint256",
528
+ name: "_requestRedemptionGasOffset",
529
+ type: "uint256",
530
+ },
531
+ ],
532
+ name: "updateGasOffsetParameters",
533
+ outputs: [],
534
+ stateMutability: "nonpayable",
535
+ type: "function",
536
+ },
537
+ {
538
+ inputs: [
539
+ {
540
+ internalType: "address",
541
+ name: "_address",
542
+ type: "address",
543
+ },
544
+ {
545
+ internalType: "bool",
546
+ name: "authorization",
547
+ type: "bool",
548
+ },
549
+ ],
550
+ name: "updateReimbursementAuthorization",
551
+ outputs: [],
552
+ stateMutability: "nonpayable",
553
+ type: "function",
554
+ },
555
+ {
556
+ inputs: [
557
+ {
558
+ internalType: "contract ReimbursementPool",
559
+ name: "_reimbursementPool",
560
+ type: "address",
561
+ },
562
+ ],
563
+ name: "updateReimbursementPool",
564
+ outputs: [],
565
+ stateMutability: "nonpayable",
566
+ type: "function",
567
+ },
568
+ {
569
+ inputs: [],
570
+ name: "wormholeTokenBridge",
571
+ outputs: [
572
+ {
573
+ internalType: "contract IWormholeTokenBridge",
574
+ name: "",
575
+ type: "address",
576
+ },
577
+ ],
578
+ stateMutability: "view",
579
+ type: "function",
580
+ },
581
+ ];
582
+ var _bytecode = "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611d48806100ed6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c80637b35b4e6116100ad578063c09975cd11610071578063c09975cd14610294578063c7ba0347146102a7578063e5d3d714146102b3578063f11df69d146102c6578063f2fde38b146102d957600080fd5b80637b35b4e6146102235780637fd9ec37146102365780638864abec146102595780638da5cb5b14610270578063b6e920151461028157600080fd5b806360ec23dd116100f457806360ec23dd146101af57806366b58a01146101c2578063715018a6146101f557806376cdb03b146101fd5780637aff018e1461021057600080fd5b80630f36403a1461013157806313b1af4e146101615780631459457a1461017657806337f3907b146101895780634e1179e71461019c575b600080fd5b606854610144906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61017461016f3660046114f0565b6102ec565b005b610174610184366004611535565b61034c565b606554610144906001600160a01b031681565b6101746101aa3660046115a6565b6104e5565b6101746101bd3660046115d2565b6105f1565b6101e56101d0366004611600565b60fd6020526000908152604090205460ff1681565b6040519015158152602001610158565b610174610669565b606754610144906001600160a01b031681565b61017461021e366004611624565b61067d565b610174610231366004611600565b6106c0565b6101e5610244366004611624565b60fe6020526000908152604090205460ff1681565b61026260fc5481565b604051908152602001610158565b6033546001600160a01b0316610144565b61017461028f36600461163d565b610749565b609754610144906001600160a01b031681565b6102626402540be40081565b606654610144906001600160a01b031681565b60fb54610144906001600160a01b031681565b6101746102e7366004611600565b610ac3565b6102f4610b3c565b600082815260fe6020908152604091829020805460ff1916841515908117909155915191825283917f9d76b59314c7a36e3655663206e8a69841fcf7fc5aac238c15074c7443d3cbf191015b60405180910390a25050565b600054610100900460ff161580801561036c5750600054600160ff909116105b806103865750303b158015610386575060005460ff166001145b6103ee5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610411576000805461ff0019166101001790555b61041d86858585610b96565b610425610cd7565b60fb546001600160a01b03161561044f57604051630381f16560e01b815260040160405180910390fd5b6001600160a01b0385166104765760405163d92e233d60e01b815260040160405180910390fd5b60fb80546001600160a01b0319166001600160a01b03871617905561ea6060fc5580156104dd576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b6104ed610b3c565b6001600160a01b0382166105145760405163d92e233d60e01b815260040160405180910390fd5b6066546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa15801561055c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061058091906116ea565b101561059f57604051631e9acf1760e31b815260040160405180910390fd5b6066546105b6906001600160a01b03168383610d06565b816001600160a01b03167f70630e395b57e9ad0c43b8c5f45e98670b84c2c2a6d643c770ed52d79e9419548260405161034091815260200190565b6105f9610b3c565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610636911515815260200190565b60405180910390a26001600160a01b0391909116600090815260fd60205260409020805460ff1916911515919091179055565b610671610b3c565b61067b6000610d6e565b565b610685610b3c565b60fc8190556040518181527f0720314b187e79d8d3896bdd9d2b4826d511d54e47b335e97a0b96029e57317f9060200160405180910390a150565b6033546001600160a01b031633146106eb57604051632e6c18c960e11b815260040160405180910390fd5b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b610751610dc0565b60005a6066546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa1580156107a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107c691906116ea565b60fb5460405163c3f511c160e01b81529192506000916001600160a01b039091169063c3f511c1906107fe9088908890600401611703565b6000604051808303816000875af115801561081d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526108459190810190611812565b6066546040516370a0823160e01b81523060048201529192506000916001600160a01b03909116906370a0823190602401602060405180830381865afa158015610893573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108b791906116ea565b905060006108c5848361185c565b60fb5460405163ea63738d60e01b81529192506000916001600160a01b039091169063ea63738d906108fb90879060040161189b565b600060405180830381865afa158015610918573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261094091908101906118d6565b60c0810151600081815260fe60205260409020549192509060ff166109785760405163fc02f5f560e01b815260040160405180910390fd5b60e082015160006109998d610992368f90038f018f6119c5565b8488610e19565b509050816040516109aa9190611a2d565b60405180910390208d6001600160601b031916827fae8d85ba71600399e3ff7d3b573eb2964dd491f191983e6ac64db0fc0a9000ac8f896040516109ef929190611a49565b60405180910390a46097546001600160a01b031615801590610a20575033600090815260fd602052604090205460ff165b15610aaa5760975460fc546001600160a01b0390911690637ad226dc905a610a48908d61185c565b610a529190611a94565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610a9157600080fd5b505af1158015610aa5573d6000803e3d6000fd5b505050505b505050505050505050610abd600160c955565b50505050565b610acb610b3c565b6001600160a01b038116610b305760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103e5565b610b3981610d6e565b50565b6033546001600160a01b0316331461067b5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016103e5565b6065546001600160a01b0316151580610bb957506066546001600160a01b031615155b80610bce57506067546001600160a01b031615155b15610beb5760405162dc149f60e41b815260040160405180910390fd5b6001600160a01b038416610c125760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316610c395760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610c605760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038116610c875760405163d92e233d60e01b815260040160405180910390fd5b606580546001600160a01b039586166001600160a01b0319918216179091556066805494861694821694909417909355606780549285169284169290921790915560688054919093169116179055565b600054610100900460ff16610cfe5760405162461bcd60e51b81526004016103e590611aa7565b61067b611041565b6040516001600160a01b038316602482015260448101829052610d6990849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611071565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260c95403610e125760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064016103e5565b600260c955565b6068546066546000918291610e3b916001600160a01b03918216911683611143565b606854606654610e58916001600160a01b03918216911685611143565b6068546040516364e779b160e01b8152600481018590526001600160a01b03909116906364e779b190602401600060405180830381600087803b158015610e9e57600080fd5b505af1158015610eb2573d6000803e3d6000fd5b5050505060006402540be40084610ec99190611af2565b606754606554604051635bfd99b960e01b81526001600160a01b0391821660048201526001600160401b03841660248201529293501690635bfd99b990604401600060405180830381600087803b158015610f2357600080fd5b505af1158015610f37573d6000803e3d6000fd5b5050606554604051630d6eccdf60e41b81526001600160a01b03909116925063d6eccdf09150610f71908a908a908a908790600401611b14565b600060405180830381600087803b158015610f8b57600080fd5b505af1158015610f9f573d6000803e3d6000fd5b50505050610fad8786611258565b6065546040516303d952f760e01b8152600481018390529194506000916001600160a01b03909116906303d952f79060240160a060405180830381865afa158015610ffc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110209190611b78565b905061103481602001518260400151611277565b9250505094509492505050565b600054610100900460ff166110685760405162461bcd60e51b81526004016103e590611aa7565b61067b33610d6e565b60006110c6826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113529092919063ffffffff16565b805190915015610d6957808060200190518101906110e49190611c0f565b610d695760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016103e5565b8015806111bd5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb91906116ea565b155b6112285760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b60648201526084016103e5565b6040516001600160a01b038316602482015260448101829052610d6990849063095ea7b360e01b90606401610d32565b8051602080830191909120600090815290839052603490205b92915050565b6000806402540be40061128a8486611c2c565b6001600160401b031661129d9190611c53565b90506000606560009054906101000a90046001600160a01b03166001600160a01b0316636e70ce416040518163ffffffff1660e01b815260040160e060405180830381865afa1580156112f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113189190611c6a565b505050509250505060006402540be400826001600160401b031661133c9190611c53565b9050611348818461185c565b9695505050505050565b60606113618484600085611369565b949350505050565b6060824710156113ca5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016103e5565b600080866001600160a01b031685876040516113e69190611a2d565b60006040518083038185875af1925050503d8060008114611423576040519150601f19603f3d011682016040523d82523d6000602084013e611428565b606091505b509150915061143987838387611444565b979650505050505050565b606083156114b35782516000036114ac576001600160a01b0385163b6114ac5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016103e5565b5081611361565b61136183838151156114c85781518083602001fd5b8060405162461bcd60e51b81526004016103e5919061189b565b8015158114610b3957600080fd5b6000806040838503121561150357600080fd5b823591506020830135611515816114e2565b809150509250929050565b6001600160a01b0381168114610b3957600080fd5b600080600080600060a0868803121561154d57600080fd5b853561155881611520565b9450602086013561156881611520565b9350604086013561157881611520565b9250606086013561158881611520565b9150608086013561159881611520565b809150509295509295909350565b600080604083850312156115b957600080fd5b82356115c481611520565b946020939093013593505050565b600080604083850312156115e557600080fd5b82356115f081611520565b91506020830135611515816114e2565b60006020828403121561161257600080fd5b813561161d81611520565b9392505050565b60006020828403121561163657600080fd5b5035919050565b60008060008084860360a081121561165457600080fd5b85356bffffffffffffffffffffffff198116811461167157600080fd5b94506060601f198201121561168557600080fd5b5060208501925060808501356001600160401b03808211156116a657600080fd5b818701915087601f8301126116ba57600080fd5b8135818111156116c957600080fd5b8860208285010111156116db57600080fd5b95989497505060200194505050565b6000602082840312156116fc57600080fd5b5051919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b038111828210171561176b5761176b611732565b60405290565b60005b8381101561178c578181015183820152602001611774565b50506000910152565b600082601f8301126117a657600080fd5b81516001600160401b03808211156117c0576117c0611732565b604051601f8301601f19908116603f011681019082821181831017156117e8576117e8611732565b8160405283815286602085880101111561180157600080fd5b611348846020830160208901611771565b60006020828403121561182457600080fd5b81516001600160401b0381111561183a57600080fd5b61136184828501611795565b634e487b7160e01b600052601160045260246000fd5b8181038181111561127157611271611846565b60008151808452611887816020860160208601611771565b601f01601f19169290920160200192915050565b60208152600061161d602083018461186f565b805160ff811681146118bf57600080fd5b919050565b805161ffff811681146118bf57600080fd5b6000602082840312156118e857600080fd5b81516001600160401b03808211156118ff57600080fd5b90830190610100828603121561191457600080fd5b61191c611748565b611925836118ae565b81526020830151602082015260408301516040820152611947606084016118c4565b60608201526080830151608082015261196260a084016118c4565b60a082015260c083015160c082015260e08301518281111561198357600080fd5b61198f87828601611795565b60e08301525095945050505050565b63ffffffff81168114610b3957600080fd5b6001600160401b0381168114610b3957600080fd5b6000606082840312156119d757600080fd5b604051606081018181106001600160401b03821117156119f9576119f9611732565b604052823581526020830135611a0e8161199e565b60208201526040830135611a21816119b0565b60408201529392505050565b60008251611a3f818460208701611771565b9190910192915050565b82358152608081016020840135611a5f8161199e565b63ffffffff1660208301526040840135611a78816119b0565b6001600160401b03166040830152606090910191909152919050565b8082018082111561127157611271611846565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082611b0f57634e487b7160e01b600052601260045260246000fd5b500490565b6001600160601b0319851681528351602082015263ffffffff6020850151166040820152600060408501516001600160401b03808216606085015260c06080850152611b6360c085018761186f565b925080851660a0850152505095945050505050565b600060a08284031215611b8a57600080fd5b60405160a081018181106001600160401b0382111715611bac57611bac611732565b6040528251611bba81611520565b81526020830151611bca816119b0565b60208201526040830151611bdd816119b0565b60408201526060830151611bf0816119b0565b60608201526080830151611c038161199e565b60808201529392505050565b600060208284031215611c2157600080fd5b815161161d816114e2565b6001600160401b03828116828216039080821115611c4c57611c4c611846565b5092915050565b808202811582820484141761127157611271611846565b600080600080600080600060e0888a031215611c8557600080fd5b8751611c90816119b0565b6020890151909750611ca1816119b0565b6040890151909650611cb2816119b0565b6060890151909550611cc3816119b0565b6080890151909450611cd48161199e565b60a08901519093506001600160601b0381168114611cf157600080fd5b60c0890151909250611d028161199e565b809150509295989194975092955056fea2646970667358221220279d35416b536cce06e6d87057540df9d578a0d6c55f9dcf8ac8f1a2e8b40e8e64736f6c63430008110033";
583
+ var isSuperArgs = function (xs) { return xs.length > 1; };
584
+ var L1BTCRedeemerWormhole__factory = /** @class */ (function (_super) {
585
+ __extends(L1BTCRedeemerWormhole__factory, _super);
586
+ function L1BTCRedeemerWormhole__factory() {
587
+ var args = [];
588
+ for (var _i = 0; _i < arguments.length; _i++) {
589
+ args[_i] = arguments[_i];
590
+ }
591
+ var _this = this;
592
+ if (isSuperArgs(args)) {
593
+ _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
594
+ }
595
+ else {
596
+ _this = _super.call(this, _abi, _bytecode, args[0]) || this;
597
+ }
598
+ return _this;
599
+ }
600
+ L1BTCRedeemerWormhole__factory.prototype.deploy = function (overrides) {
601
+ return _super.prototype.deploy.call(this, overrides || {});
602
+ };
603
+ L1BTCRedeemerWormhole__factory.prototype.getDeployTransaction = function (overrides) {
604
+ return _super.prototype.getDeployTransaction.call(this, overrides || {});
605
+ };
606
+ L1BTCRedeemerWormhole__factory.prototype.attach = function (address) {
607
+ return _super.prototype.attach.call(this, address);
608
+ };
609
+ L1BTCRedeemerWormhole__factory.prototype.connect = function (signer) {
610
+ return _super.prototype.connect.call(this, signer);
611
+ };
612
+ L1BTCRedeemerWormhole__factory.createInterface = function () {
613
+ return new ethers_1.utils.Interface(_abi);
614
+ };
615
+ L1BTCRedeemerWormhole__factory.connect = function (address, signerOrProvider) {
616
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
617
+ };
618
+ L1BTCRedeemerWormhole__factory.bytecode = _bytecode;
619
+ L1BTCRedeemerWormhole__factory.abi = _abi;
620
+ return L1BTCRedeemerWormhole__factory;
621
+ }(ethers_1.ContractFactory));
622
+ exports.L1BTCRedeemerWormhole__factory = L1BTCRedeemerWormhole__factory;