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