@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,638 @@
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.MockL1BTCRedeemerWormhole__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: "InsufficientBalance",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "SourceAddressNotAuthorized",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "ZeroAddress",
72
+ type: "error",
73
+ },
74
+ {
75
+ anonymous: false,
76
+ inputs: [
77
+ {
78
+ indexed: true,
79
+ internalType: "bytes32",
80
+ name: "sender",
81
+ type: "bytes32",
82
+ },
83
+ {
84
+ indexed: false,
85
+ internalType: "bool",
86
+ name: "allowed",
87
+ type: "bool",
88
+ },
89
+ ],
90
+ name: "AllowedSenderUpdated",
91
+ type: "event",
92
+ },
93
+ {
94
+ anonymous: false,
95
+ inputs: [
96
+ {
97
+ indexed: false,
98
+ internalType: "uint256",
99
+ name: "requestRedemptionGasOffset",
100
+ type: "uint256",
101
+ },
102
+ ],
103
+ name: "GasOffsetParametersUpdated",
104
+ type: "event",
105
+ },
106
+ {
107
+ anonymous: false,
108
+ inputs: [
109
+ {
110
+ indexed: false,
111
+ internalType: "uint8",
112
+ name: "version",
113
+ type: "uint8",
114
+ },
115
+ ],
116
+ name: "Initialized",
117
+ type: "event",
118
+ },
119
+ {
120
+ anonymous: false,
121
+ inputs: [
122
+ {
123
+ indexed: true,
124
+ internalType: "address",
125
+ name: "previousOwner",
126
+ type: "address",
127
+ },
128
+ {
129
+ indexed: true,
130
+ internalType: "address",
131
+ name: "newOwner",
132
+ type: "address",
133
+ },
134
+ ],
135
+ name: "OwnershipTransferred",
136
+ type: "event",
137
+ },
138
+ {
139
+ anonymous: false,
140
+ inputs: [
141
+ {
142
+ indexed: true,
143
+ internalType: "uint256",
144
+ name: "redemptionKey",
145
+ type: "uint256",
146
+ },
147
+ {
148
+ indexed: true,
149
+ internalType: "bytes20",
150
+ name: "walletPubKeyHash",
151
+ type: "bytes20",
152
+ },
153
+ {
154
+ components: [
155
+ {
156
+ internalType: "bytes32",
157
+ name: "txHash",
158
+ type: "bytes32",
159
+ },
160
+ {
161
+ internalType: "uint32",
162
+ name: "txOutputIndex",
163
+ type: "uint32",
164
+ },
165
+ {
166
+ internalType: "uint64",
167
+ name: "txOutputValue",
168
+ type: "uint64",
169
+ },
170
+ ],
171
+ indexed: false,
172
+ internalType: "struct BitcoinTx.UTXO",
173
+ name: "mainUtxo",
174
+ type: "tuple",
175
+ },
176
+ {
177
+ indexed: true,
178
+ internalType: "bytes",
179
+ name: "redemptionOutputScript",
180
+ type: "bytes",
181
+ },
182
+ {
183
+ indexed: false,
184
+ internalType: "uint256",
185
+ name: "amount",
186
+ type: "uint256",
187
+ },
188
+ ],
189
+ name: "RedemptionRequested",
190
+ type: "event",
191
+ },
192
+ {
193
+ anonymous: false,
194
+ inputs: [
195
+ {
196
+ indexed: true,
197
+ internalType: "address",
198
+ name: "_address",
199
+ type: "address",
200
+ },
201
+ {
202
+ indexed: false,
203
+ internalType: "bool",
204
+ name: "authorization",
205
+ type: "bool",
206
+ },
207
+ ],
208
+ name: "ReimbursementAuthorizationUpdated",
209
+ type: "event",
210
+ },
211
+ {
212
+ anonymous: false,
213
+ inputs: [
214
+ {
215
+ indexed: false,
216
+ internalType: "address",
217
+ name: "newReimbursementPool",
218
+ type: "address",
219
+ },
220
+ ],
221
+ name: "ReimbursementPoolUpdated",
222
+ type: "event",
223
+ },
224
+ {
225
+ anonymous: false,
226
+ inputs: [
227
+ {
228
+ indexed: true,
229
+ internalType: "address",
230
+ name: "recipient",
231
+ type: "address",
232
+ },
233
+ {
234
+ indexed: false,
235
+ internalType: "uint256",
236
+ name: "amount",
237
+ type: "uint256",
238
+ },
239
+ ],
240
+ name: "TbtcRescued",
241
+ type: "event",
242
+ },
243
+ {
244
+ inputs: [],
245
+ name: "SATOSHI_MULTIPLIER",
246
+ outputs: [
247
+ {
248
+ internalType: "uint256",
249
+ name: "",
250
+ type: "uint256",
251
+ },
252
+ ],
253
+ stateMutability: "view",
254
+ type: "function",
255
+ },
256
+ {
257
+ inputs: [
258
+ {
259
+ internalType: "bytes32",
260
+ name: "",
261
+ type: "bytes32",
262
+ },
263
+ ],
264
+ name: "allowedSenders",
265
+ outputs: [
266
+ {
267
+ internalType: "bool",
268
+ name: "",
269
+ type: "bool",
270
+ },
271
+ ],
272
+ stateMutability: "view",
273
+ type: "function",
274
+ },
275
+ {
276
+ inputs: [],
277
+ name: "bank",
278
+ outputs: [
279
+ {
280
+ internalType: "contract IBank",
281
+ name: "",
282
+ type: "address",
283
+ },
284
+ ],
285
+ stateMutability: "view",
286
+ type: "function",
287
+ },
288
+ {
289
+ inputs: [
290
+ {
291
+ internalType: "address",
292
+ name: "_thresholdBridge",
293
+ type: "address",
294
+ },
295
+ {
296
+ internalType: "address",
297
+ name: "_wormholeTokenBridge",
298
+ type: "address",
299
+ },
300
+ {
301
+ internalType: "address",
302
+ name: "_tbtcToken",
303
+ type: "address",
304
+ },
305
+ {
306
+ internalType: "address",
307
+ name: "_bank",
308
+ type: "address",
309
+ },
310
+ {
311
+ internalType: "address",
312
+ name: "_tbtcVault",
313
+ type: "address",
314
+ },
315
+ ],
316
+ name: "initialize",
317
+ outputs: [],
318
+ stateMutability: "nonpayable",
319
+ type: "function",
320
+ },
321
+ {
322
+ inputs: [],
323
+ name: "mockRedemptionAmountTBTC",
324
+ outputs: [
325
+ {
326
+ internalType: "uint256",
327
+ name: "",
328
+ type: "uint256",
329
+ },
330
+ ],
331
+ stateMutability: "view",
332
+ type: "function",
333
+ },
334
+ {
335
+ inputs: [],
336
+ name: "owner",
337
+ outputs: [
338
+ {
339
+ internalType: "address",
340
+ name: "",
341
+ type: "address",
342
+ },
343
+ ],
344
+ stateMutability: "view",
345
+ type: "function",
346
+ },
347
+ {
348
+ inputs: [
349
+ {
350
+ internalType: "address",
351
+ name: "",
352
+ type: "address",
353
+ },
354
+ ],
355
+ name: "reimbursementAuthorizations",
356
+ outputs: [
357
+ {
358
+ internalType: "bool",
359
+ name: "",
360
+ type: "bool",
361
+ },
362
+ ],
363
+ stateMutability: "view",
364
+ type: "function",
365
+ },
366
+ {
367
+ inputs: [],
368
+ name: "reimbursementPool",
369
+ outputs: [
370
+ {
371
+ internalType: "contract ReimbursementPool",
372
+ name: "",
373
+ type: "address",
374
+ },
375
+ ],
376
+ stateMutability: "view",
377
+ type: "function",
378
+ },
379
+ {
380
+ inputs: [],
381
+ name: "renounceOwnership",
382
+ outputs: [],
383
+ stateMutability: "nonpayable",
384
+ type: "function",
385
+ },
386
+ {
387
+ inputs: [
388
+ {
389
+ internalType: "bytes20",
390
+ name: "walletPubKeyHash",
391
+ type: "bytes20",
392
+ },
393
+ {
394
+ components: [
395
+ {
396
+ internalType: "bytes32",
397
+ name: "txHash",
398
+ type: "bytes32",
399
+ },
400
+ {
401
+ internalType: "uint32",
402
+ name: "txOutputIndex",
403
+ type: "uint32",
404
+ },
405
+ {
406
+ internalType: "uint64",
407
+ name: "txOutputValue",
408
+ type: "uint64",
409
+ },
410
+ ],
411
+ internalType: "struct BitcoinTx.UTXO",
412
+ name: "mainUtxo",
413
+ type: "tuple",
414
+ },
415
+ {
416
+ internalType: "bytes",
417
+ name: "encodedVm",
418
+ type: "bytes",
419
+ },
420
+ ],
421
+ name: "requestRedemption",
422
+ outputs: [],
423
+ stateMutability: "nonpayable",
424
+ type: "function",
425
+ },
426
+ {
427
+ inputs: [],
428
+ name: "requestRedemptionGasOffset",
429
+ outputs: [
430
+ {
431
+ internalType: "uint256",
432
+ name: "",
433
+ type: "uint256",
434
+ },
435
+ ],
436
+ stateMutability: "view",
437
+ type: "function",
438
+ },
439
+ {
440
+ inputs: [
441
+ {
442
+ internalType: "address",
443
+ name: "recipient",
444
+ type: "address",
445
+ },
446
+ {
447
+ internalType: "uint256",
448
+ name: "amount",
449
+ type: "uint256",
450
+ },
451
+ ],
452
+ name: "rescueTbtc",
453
+ outputs: [],
454
+ stateMutability: "nonpayable",
455
+ type: "function",
456
+ },
457
+ {
458
+ inputs: [
459
+ {
460
+ internalType: "uint256",
461
+ name: "_amount",
462
+ type: "uint256",
463
+ },
464
+ ],
465
+ name: "setMockRedemptionAmountTBTC",
466
+ outputs: [],
467
+ stateMutability: "nonpayable",
468
+ type: "function",
469
+ },
470
+ {
471
+ inputs: [],
472
+ name: "tbtcToken",
473
+ outputs: [
474
+ {
475
+ internalType: "contract IERC20Upgradeable",
476
+ name: "",
477
+ type: "address",
478
+ },
479
+ ],
480
+ stateMutability: "view",
481
+ type: "function",
482
+ },
483
+ {
484
+ inputs: [],
485
+ name: "tbtcVault",
486
+ outputs: [
487
+ {
488
+ internalType: "contract ITBTCVault",
489
+ name: "",
490
+ type: "address",
491
+ },
492
+ ],
493
+ stateMutability: "view",
494
+ type: "function",
495
+ },
496
+ {
497
+ inputs: [],
498
+ name: "thresholdBridge",
499
+ outputs: [
500
+ {
501
+ internalType: "contract IBridge",
502
+ name: "",
503
+ type: "address",
504
+ },
505
+ ],
506
+ stateMutability: "view",
507
+ type: "function",
508
+ },
509
+ {
510
+ inputs: [
511
+ {
512
+ internalType: "address",
513
+ name: "newOwner",
514
+ type: "address",
515
+ },
516
+ ],
517
+ name: "transferOwnership",
518
+ outputs: [],
519
+ stateMutability: "nonpayable",
520
+ type: "function",
521
+ },
522
+ {
523
+ inputs: [
524
+ {
525
+ internalType: "bytes32",
526
+ name: "_sender",
527
+ type: "bytes32",
528
+ },
529
+ {
530
+ internalType: "bool",
531
+ name: "_allowed",
532
+ type: "bool",
533
+ },
534
+ ],
535
+ name: "updateAllowedSender",
536
+ outputs: [],
537
+ stateMutability: "nonpayable",
538
+ type: "function",
539
+ },
540
+ {
541
+ inputs: [
542
+ {
543
+ internalType: "uint256",
544
+ name: "_requestRedemptionGasOffset",
545
+ type: "uint256",
546
+ },
547
+ ],
548
+ name: "updateGasOffsetParameters",
549
+ outputs: [],
550
+ stateMutability: "nonpayable",
551
+ type: "function",
552
+ },
553
+ {
554
+ inputs: [
555
+ {
556
+ internalType: "address",
557
+ name: "_address",
558
+ type: "address",
559
+ },
560
+ {
561
+ internalType: "bool",
562
+ name: "authorization",
563
+ type: "bool",
564
+ },
565
+ ],
566
+ name: "updateReimbursementAuthorization",
567
+ outputs: [],
568
+ stateMutability: "nonpayable",
569
+ type: "function",
570
+ },
571
+ {
572
+ inputs: [
573
+ {
574
+ internalType: "contract ReimbursementPool",
575
+ name: "_reimbursementPool",
576
+ type: "address",
577
+ },
578
+ ],
579
+ name: "updateReimbursementPool",
580
+ outputs: [],
581
+ stateMutability: "nonpayable",
582
+ type: "function",
583
+ },
584
+ {
585
+ inputs: [],
586
+ name: "wormholeTokenBridge",
587
+ outputs: [
588
+ {
589
+ internalType: "contract IWormholeTokenBridge",
590
+ name: "",
591
+ type: "address",
592
+ },
593
+ ],
594
+ stateMutability: "view",
595
+ type: "function",
596
+ },
597
+ ];
598
+ var _bytecode = "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611bea806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80637b35b4e6116100b8578063c09975cd1161007c578063c09975cd146102b3578063c7ba0347146102c6578063d04b802c146102d2578063e5d3d714146102e5578063f11df69d146102f8578063f2fde38b1461030b57600080fd5b80637b35b4e6146102505780637fd9ec37146102635780638864abec146102865780638da5cb5b1461028f578063b6e92015146102a057600080fd5b80634e1179e71161010a5780634e1179e7146101c957806360ec23dd146101dc57806366b58a01146101ef578063715018a61461022257806376cdb03b1461022a5780637aff018e1461023d57600080fd5b80630f36403a1461014757806313b1af4e146101775780631459457a1461018c57806337f3907b1461019f57806339ccbbcc146101b2575b600080fd5b60685461015a906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b61018a610185366004611432565b61031e565b005b61018a61019a366004611477565b61037e565b60655461015a906001600160a01b031681565b6101bb60ff5481565b60405190815260200161016e565b61018a6101d73660046114e8565b610501565b61018a6101ea366004611514565b61060d565b6102126101fd366004611542565b60fd6020526000908152604090205460ff1681565b604051901515815260200161016e565b61018a610685565b60675461015a906001600160a01b031681565b61018a61024b36600461155f565b610699565b61018a61025e366004611542565b6106dc565b61021261027136600461155f565b60fe6020526000908152604090205460ff1681565b6101bb60fc5481565b6033546001600160a01b031661015a565b61018a6102ae366004611578565b610794565b60975461015a906001600160a01b031681565b6101bb6402540be40081565b61018a6102e036600461155f565b60ff55565b60665461015a906001600160a01b031681565b60fb5461015a906001600160a01b031681565b61018a610319366004611542565b610a36565b610326610aaf565b600082815260fe6020908152604091829020805460ff1916841515908117909155915191825283917f9d76b59314c7a36e3655663206e8a69841fcf7fc5aac238c15074c7443d3cbf191015b60405180910390a25050565b600054610100900460ff161580801561039e5750600054600160ff909116105b806103b85750303b1580156103b8575060005460ff166001145b6104205760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610443576000805461ff0019166101001790555b61044f86858585610b09565b610457610c4a565b61045f610c79565b6001600160a01b0385166104865760405163d92e233d60e01b815260040160405180910390fd5b60fb80546001600160a01b0319166001600160a01b03871617905561ea6060fc55671bc16d674ec8000060ff5580156104f9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050565b610509610aaf565b6001600160a01b0382166105305760405163d92e233d60e01b815260040160405180910390fd5b6066546040516370a0823160e01b815230600482015282916001600160a01b0316906370a0823190602401602060405180830381865afa158015610578573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059c9190611625565b10156105bb57604051631e9acf1760e31b815260040160405180910390fd5b6066546105d2906001600160a01b03168383610ca8565b816001600160a01b03167f70630e395b57e9ad0c43b8c5f45e98670b84c2c2a6d643c770ed52d79e9419548260405161037291815260200190565b610615610aaf565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610652911515815260200190565b60405180910390a26001600160a01b0391909116600090815260fd60205260409020805460ff1916911515919091179055565b61068d610aaf565b6106976000610d10565b565b6106a1610aaf565b60fc8190556040518181527f0720314b187e79d8d3896bdd9d2b4826d511d54e47b335e97a0b96029e57317f9060200160405180910390a150565b6033546001600160a01b031633146107365760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610417565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609780546001600160a01b0319166001600160a01b0392909216919091179055565b61079c610d62565b60005a60fb5460405163c3f511c160e01b81529192506000916001600160a01b039091169063c3f511c1906107d7908790879060040161163e565b6000604051808303816000875af11580156107f6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261081e9190810190611757565b60fb5460405163ea63738d60e01b81529192506000916001600160a01b039091169063ea63738d906108549085906004016117b7565b600060405180830381865afa158015610871573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261089991908101906117f2565b60c0810151600081815260fe60205260409020549192509060ff166108d15760405163fc02f5f560e01b815260040160405180910390fd5b60e082015160ff5460008190036108ed5750671bc16d674ec800005b60006109098b610902368d90038d018d6118e1565b8585610dbb565b5090508260405161091a9190611949565b60405180910390208b6bffffffffffffffffffffffff1916827fae8d85ba71600399e3ff7d3b573eb2964dd491f191983e6ac64db0fc0a9000ac8d86604051610964929190611965565b60405180910390a46097546001600160a01b031615801590610995575033600090815260fd602052604090205460ff165b15610a1f5760975460fc546001600160a01b0390911690637ad226dc905a6109bd908b6119c6565b6109c791906119d9565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610a0657600080fd5b505af1158015610a1a573d6000803e3d6000fd5b505050505b50505050505050610a30600160c955565b50505050565b610a3e610aaf565b6001600160a01b038116610aa35760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610417565b610aac81610d10565b50565b6033546001600160a01b031633146106975760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610417565b6065546001600160a01b0316151580610b2c57506066546001600160a01b031615155b80610b4157506067546001600160a01b031615155b15610b5e5760405162dc149f60e41b815260040160405180910390fd5b6001600160a01b038416610b855760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038316610bac5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038216610bd35760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038116610bfa5760405163d92e233d60e01b815260040160405180910390fd5b606580546001600160a01b039586166001600160a01b0319918216179091556066805494861694821694909417909355606780549285169284169290921790915560688054919093169116179055565b600054610100900460ff16610c715760405162461bcd60e51b8152600401610417906119ec565b610697610fea565b600054610100900460ff16610ca05760405162461bcd60e51b8152600401610417906119ec565b610697611011565b6040516001600160a01b038316602482015260448101829052610d0b90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611041565b505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600260c95403610db45760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610417565b600260c955565b6068546066546000918291610ddd916001600160a01b03918216911683611113565b606854606654610dfa916001600160a01b03918216911685611113565b6068546040516364e779b160e01b8152600481018590526001600160a01b03909116906364e779b190602401600060405180830381600087803b158015610e4057600080fd5b505af1158015610e54573d6000803e3d6000fd5b5050505060006402540be40084610e6b9190611a37565b606754606554604051635bfd99b960e01b81526001600160a01b0391821660048201526001600160401b03841660248201529293501690635bfd99b990604401600060405180830381600087803b158015610ec557600080fd5b505af1158015610ed9573d6000803e3d6000fd5b5050606554604051630d6eccdf60e41b81526001600160a01b03909116925063d6eccdf09150610f13908a908a908a908790600401611a59565b600060405180830381600087803b158015610f2d57600080fd5b505af1158015610f41573d6000803e3d6000fd5b50505050610f4f8786611228565b6065546040516303d952f760e01b8152600481018390529194506000916001600160a01b03909116906303d952f79060240160a060405180830381865afa158015610f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fc29190611ac2565b9050610fd681602001518260400151611247565b9250505094509492505050565b600160c955565b600054610100900460ff16610fe35760405162461bcd60e51b8152600401610417906119ec565b600054610100900460ff166110385760405162461bcd60e51b8152600401610417906119ec565b61069733610d10565b6000611096826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166112949092919063ffffffff16565b805190915015610d0b57808060200190518101906110b49190611b59565b610d0b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610417565b80158061118d5750604051636eb1769f60e11b81523060048201526001600160a01b03838116602483015284169063dd62ed3e90604401602060405180830381865afa158015611167573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061118b9190611625565b155b6111f85760405162461bcd60e51b815260206004820152603660248201527f5361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f60448201527520746f206e6f6e2d7a65726f20616c6c6f77616e636560501b6064820152608401610417565b6040516001600160a01b038316602482015260448101829052610d0b90849063095ea7b360e01b90606401610cd4565b8051602080830191909120600090815290839052603490205b92915050565b6000816001600160401b0316836001600160401b03161161126a57506000611241565b6402540be40061127a8385611b76565b6001600160401b031661128d9190611b9d565b9392505050565b60606112a384846000856112ab565b949350505050565b60608247101561130c5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610417565b600080866001600160a01b031685876040516113289190611949565b60006040518083038185875af1925050503d8060008114611365576040519150601f19603f3d011682016040523d82523d6000602084013e61136a565b606091505b509150915061137b87838387611386565b979650505050505050565b606083156113f55782516000036113ee576001600160a01b0385163b6113ee5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610417565b50816112a3565b6112a3838381511561140a5781518083602001fd5b8060405162461bcd60e51b815260040161041791906117b7565b8015158114610aac57600080fd5b6000806040838503121561144557600080fd5b82359150602083013561145781611424565b809150509250929050565b6001600160a01b0381168114610aac57600080fd5b600080600080600060a0868803121561148f57600080fd5b853561149a81611462565b945060208601356114aa81611462565b935060408601356114ba81611462565b925060608601356114ca81611462565b915060808601356114da81611462565b809150509295509295909350565b600080604083850312156114fb57600080fd5b823561150681611462565b946020939093013593505050565b6000806040838503121561152757600080fd5b823561153281611462565b9150602083013561145781611424565b60006020828403121561155457600080fd5b813561128d81611462565b60006020828403121561157157600080fd5b5035919050565b60008060008084860360a081121561158f57600080fd5b85356bffffffffffffffffffffffff19811681146115ac57600080fd5b94506060601f19820112156115c057600080fd5b5060208501925060808501356001600160401b03808211156115e157600080fd5b818701915087601f8301126115f557600080fd5b81358181111561160457600080fd5b88602082850101111561161657600080fd5b95989497505060200194505050565b60006020828403121561163757600080fd5b5051919050565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b634e487b7160e01b600052604160045260246000fd5b60405161010081016001600160401b03811182821017156116a6576116a661166d565b60405290565b60005b838110156116c75781810151838201526020016116af565b50506000910152565b600082601f8301126116e157600080fd5b81516001600160401b03808211156116fb576116fb61166d565b604051601f8301601f19908116603f011681019082821181831017156117235761172361166d565b8160405283815286602085880101111561173c57600080fd5b61174d8460208301602089016116ac565b9695505050505050565b60006020828403121561176957600080fd5b81516001600160401b0381111561177f57600080fd5b6112a3848285016116d0565b600081518084526117a38160208601602086016116ac565b601f01601f19169290920160200192915050565b60208152600061128d602083018461178b565b805160ff811681146117db57600080fd5b919050565b805161ffff811681146117db57600080fd5b60006020828403121561180457600080fd5b81516001600160401b038082111561181b57600080fd5b90830190610100828603121561183057600080fd5b611838611683565b611841836117ca565b81526020830151602082015260408301516040820152611863606084016117e0565b60608201526080830151608082015261187e60a084016117e0565b60a082015260c083015160c082015260e08301518281111561189f57600080fd5b6118ab878286016116d0565b60e08301525095945050505050565b63ffffffff81168114610aac57600080fd5b6001600160401b0381168114610aac57600080fd5b6000606082840312156118f357600080fd5b604051606081018181106001600160401b03821117156119155761191561166d565b60405282358152602083013561192a816118ba565b6020820152604083013561193d816118cc565b60408201529392505050565b6000825161195b8184602087016116ac565b9190910192915050565b8235815260808101602084013561197b816118ba565b63ffffffff1660208301526040840135611994816118cc565b6001600160401b03166040830152606090910191909152919050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611241576112416119b0565b80820180821115611241576112416119b0565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082611a5457634e487b7160e01b600052601260045260246000fd5b500490565b6bffffffffffffffffffffffff19851681528351602082015263ffffffff6020850151166040820152600060408501516001600160401b03808216606085015260c06080850152611aad60c085018761178b565b925080851660a0850152505095945050505050565b600060a08284031215611ad457600080fd5b60405160a081018181106001600160401b0382111715611af657611af661166d565b6040528251611b0481611462565b81526020830151611b14816118cc565b60208201526040830151611b27816118cc565b60408201526060830151611b3a816118cc565b60608201526080830151611b4d816118ba565b60808201529392505050565b600060208284031215611b6b57600080fd5b815161128d81611424565b6001600160401b03828116828216039080821115611b9657611b966119b0565b5092915050565b8082028115828204841417611241576112416119b056fea2646970667358221220a41acc4c4a0ec9b8987910ee0fbab2b2139b7cfb0227145f6b91f449d388013264736f6c63430008110033";
599
+ var isSuperArgs = function (xs) { return xs.length > 1; };
600
+ var MockL1BTCRedeemerWormhole__factory = /** @class */ (function (_super) {
601
+ __extends(MockL1BTCRedeemerWormhole__factory, _super);
602
+ function MockL1BTCRedeemerWormhole__factory() {
603
+ var args = [];
604
+ for (var _i = 0; _i < arguments.length; _i++) {
605
+ args[_i] = arguments[_i];
606
+ }
607
+ var _this = this;
608
+ if (isSuperArgs(args)) {
609
+ _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
610
+ }
611
+ else {
612
+ _this = _super.call(this, _abi, _bytecode, args[0]) || this;
613
+ }
614
+ return _this;
615
+ }
616
+ MockL1BTCRedeemerWormhole__factory.prototype.deploy = function (overrides) {
617
+ return _super.prototype.deploy.call(this, overrides || {});
618
+ };
619
+ MockL1BTCRedeemerWormhole__factory.prototype.getDeployTransaction = function (overrides) {
620
+ return _super.prototype.getDeployTransaction.call(this, overrides || {});
621
+ };
622
+ MockL1BTCRedeemerWormhole__factory.prototype.attach = function (address) {
623
+ return _super.prototype.attach.call(this, address);
624
+ };
625
+ MockL1BTCRedeemerWormhole__factory.prototype.connect = function (signer) {
626
+ return _super.prototype.connect.call(this, signer);
627
+ };
628
+ MockL1BTCRedeemerWormhole__factory.createInterface = function () {
629
+ return new ethers_1.utils.Interface(_abi);
630
+ };
631
+ MockL1BTCRedeemerWormhole__factory.connect = function (address, signerOrProvider) {
632
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
633
+ };
634
+ MockL1BTCRedeemerWormhole__factory.bytecode = _bytecode;
635
+ MockL1BTCRedeemerWormhole__factory.abi = _abi;
636
+ return MockL1BTCRedeemerWormhole__factory;
637
+ }(ethers_1.ContractFactory));
638
+ exports.MockL1BTCRedeemerWormhole__factory = MockL1BTCRedeemerWormhole__factory;