@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,920 @@
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.L1BTCDepositorNtt__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: "uint16",
60
+ name: "chainId",
61
+ type: "uint16",
62
+ },
63
+ ],
64
+ name: "DefaultSupportedChainUpdated",
65
+ type: "event",
66
+ },
67
+ {
68
+ anonymous: false,
69
+ inputs: [
70
+ {
71
+ indexed: true,
72
+ internalType: "uint256",
73
+ name: "depositKey",
74
+ type: "uint256",
75
+ },
76
+ {
77
+ indexed: true,
78
+ internalType: "bytes32",
79
+ name: "destinationChainDepositOwner",
80
+ type: "bytes32",
81
+ },
82
+ {
83
+ indexed: true,
84
+ internalType: "address",
85
+ name: "l1Sender",
86
+ type: "address",
87
+ },
88
+ {
89
+ indexed: false,
90
+ internalType: "uint256",
91
+ name: "initialAmount",
92
+ type: "uint256",
93
+ },
94
+ {
95
+ indexed: false,
96
+ internalType: "uint256",
97
+ name: "tbtcAmount",
98
+ type: "uint256",
99
+ },
100
+ ],
101
+ name: "DepositFinalized",
102
+ type: "event",
103
+ },
104
+ {
105
+ anonymous: false,
106
+ inputs: [
107
+ {
108
+ indexed: true,
109
+ internalType: "uint256",
110
+ name: "depositKey",
111
+ type: "uint256",
112
+ },
113
+ {
114
+ indexed: true,
115
+ internalType: "bytes32",
116
+ name: "destinationChainDepositOwner",
117
+ type: "bytes32",
118
+ },
119
+ {
120
+ indexed: true,
121
+ internalType: "address",
122
+ name: "l1Sender",
123
+ type: "address",
124
+ },
125
+ ],
126
+ name: "DepositInitialized",
127
+ type: "event",
128
+ },
129
+ {
130
+ anonymous: false,
131
+ inputs: [
132
+ {
133
+ indexed: false,
134
+ internalType: "uint256",
135
+ name: "initializeDepositGasOffset",
136
+ type: "uint256",
137
+ },
138
+ {
139
+ indexed: false,
140
+ internalType: "uint256",
141
+ name: "finalizeDepositGasOffset",
142
+ type: "uint256",
143
+ },
144
+ ],
145
+ name: "GasOffsetParametersUpdated",
146
+ type: "event",
147
+ },
148
+ {
149
+ anonymous: false,
150
+ inputs: [
151
+ {
152
+ indexed: false,
153
+ internalType: "uint8",
154
+ name: "version",
155
+ type: "uint8",
156
+ },
157
+ ],
158
+ name: "Initialized",
159
+ type: "event",
160
+ },
161
+ {
162
+ anonymous: false,
163
+ inputs: [
164
+ {
165
+ indexed: true,
166
+ internalType: "address",
167
+ name: "oldManager",
168
+ type: "address",
169
+ },
170
+ {
171
+ indexed: true,
172
+ internalType: "address",
173
+ name: "newManager",
174
+ type: "address",
175
+ },
176
+ ],
177
+ name: "NttManagerUpdated",
178
+ type: "event",
179
+ },
180
+ {
181
+ anonymous: false,
182
+ inputs: [
183
+ {
184
+ indexed: true,
185
+ internalType: "address",
186
+ name: "previousOwner",
187
+ type: "address",
188
+ },
189
+ {
190
+ indexed: true,
191
+ internalType: "address",
192
+ name: "newOwner",
193
+ type: "address",
194
+ },
195
+ ],
196
+ name: "OwnershipTransferred",
197
+ type: "event",
198
+ },
199
+ {
200
+ anonymous: false,
201
+ inputs: [
202
+ {
203
+ indexed: false,
204
+ internalType: "bool",
205
+ name: "reimburseTxMaxFee",
206
+ type: "bool",
207
+ },
208
+ ],
209
+ name: "ReimburseTxMaxFeeUpdated",
210
+ type: "event",
211
+ },
212
+ {
213
+ anonymous: false,
214
+ inputs: [
215
+ {
216
+ indexed: true,
217
+ internalType: "address",
218
+ name: "_address",
219
+ type: "address",
220
+ },
221
+ {
222
+ indexed: false,
223
+ internalType: "bool",
224
+ name: "authorization",
225
+ type: "bool",
226
+ },
227
+ ],
228
+ name: "ReimbursementAuthorizationUpdated",
229
+ type: "event",
230
+ },
231
+ {
232
+ anonymous: false,
233
+ inputs: [
234
+ {
235
+ indexed: false,
236
+ internalType: "address",
237
+ name: "newReimbursementPool",
238
+ type: "address",
239
+ },
240
+ ],
241
+ name: "ReimbursementPoolUpdated",
242
+ type: "event",
243
+ },
244
+ {
245
+ anonymous: false,
246
+ inputs: [
247
+ {
248
+ indexed: true,
249
+ internalType: "uint16",
250
+ name: "chainId",
251
+ type: "uint16",
252
+ },
253
+ {
254
+ indexed: false,
255
+ internalType: "bool",
256
+ name: "supported",
257
+ type: "bool",
258
+ },
259
+ ],
260
+ name: "SupportedChainUpdated",
261
+ type: "event",
262
+ },
263
+ {
264
+ anonymous: false,
265
+ inputs: [
266
+ {
267
+ indexed: false,
268
+ internalType: "uint256",
269
+ name: "amount",
270
+ type: "uint256",
271
+ },
272
+ {
273
+ indexed: false,
274
+ internalType: "uint16",
275
+ name: "destinationChain",
276
+ type: "uint16",
277
+ },
278
+ {
279
+ indexed: false,
280
+ internalType: "bytes32",
281
+ name: "actualRecipient",
282
+ type: "bytes32",
283
+ },
284
+ {
285
+ indexed: false,
286
+ internalType: "uint64",
287
+ name: "transferSequence",
288
+ type: "uint64",
289
+ },
290
+ {
291
+ indexed: false,
292
+ internalType: "bytes32",
293
+ name: "encodedReceiver",
294
+ type: "bytes32",
295
+ },
296
+ ],
297
+ name: "TokensTransferredNTT",
298
+ type: "event",
299
+ },
300
+ {
301
+ inputs: [],
302
+ name: "SATOSHI_MULTIPLIER",
303
+ outputs: [
304
+ {
305
+ internalType: "uint256",
306
+ name: "",
307
+ type: "uint256",
308
+ },
309
+ ],
310
+ stateMutability: "view",
311
+ type: "function",
312
+ },
313
+ {
314
+ inputs: [],
315
+ name: "bridge",
316
+ outputs: [
317
+ {
318
+ internalType: "contract IBridge",
319
+ name: "",
320
+ type: "address",
321
+ },
322
+ ],
323
+ stateMutability: "view",
324
+ type: "function",
325
+ },
326
+ {
327
+ inputs: [
328
+ {
329
+ internalType: "bytes32",
330
+ name: "encodedReceiver",
331
+ type: "bytes32",
332
+ },
333
+ ],
334
+ name: "decodeDestinationReceiver",
335
+ outputs: [
336
+ {
337
+ internalType: "uint16",
338
+ name: "chainId",
339
+ type: "uint16",
340
+ },
341
+ {
342
+ internalType: "address",
343
+ name: "recipient",
344
+ type: "address",
345
+ },
346
+ ],
347
+ stateMutability: "pure",
348
+ type: "function",
349
+ },
350
+ {
351
+ inputs: [],
352
+ name: "defaultSupportedChain",
353
+ outputs: [
354
+ {
355
+ internalType: "uint16",
356
+ name: "",
357
+ type: "uint16",
358
+ },
359
+ ],
360
+ stateMutability: "view",
361
+ type: "function",
362
+ },
363
+ {
364
+ inputs: [
365
+ {
366
+ internalType: "uint256",
367
+ name: "",
368
+ type: "uint256",
369
+ },
370
+ ],
371
+ name: "deposits",
372
+ outputs: [
373
+ {
374
+ internalType: "enum AbstractL1BTCDepositor.DepositState",
375
+ name: "",
376
+ type: "uint8",
377
+ },
378
+ ],
379
+ stateMutability: "view",
380
+ type: "function",
381
+ },
382
+ {
383
+ inputs: [
384
+ {
385
+ internalType: "uint16",
386
+ name: "chainId",
387
+ type: "uint16",
388
+ },
389
+ {
390
+ internalType: "address",
391
+ name: "recipient",
392
+ type: "address",
393
+ },
394
+ ],
395
+ name: "encodeDestinationReceiver",
396
+ outputs: [
397
+ {
398
+ internalType: "bytes32",
399
+ name: "encoded",
400
+ type: "bytes32",
401
+ },
402
+ ],
403
+ stateMutability: "pure",
404
+ type: "function",
405
+ },
406
+ {
407
+ inputs: [
408
+ {
409
+ internalType: "uint256",
410
+ name: "depositKey",
411
+ type: "uint256",
412
+ },
413
+ ],
414
+ name: "finalizeDeposit",
415
+ outputs: [],
416
+ stateMutability: "payable",
417
+ type: "function",
418
+ },
419
+ {
420
+ inputs: [],
421
+ name: "finalizeDepositGasOffset",
422
+ outputs: [
423
+ {
424
+ internalType: "uint256",
425
+ name: "",
426
+ type: "uint256",
427
+ },
428
+ ],
429
+ stateMutability: "view",
430
+ type: "function",
431
+ },
432
+ {
433
+ inputs: [
434
+ {
435
+ internalType: "uint256",
436
+ name: "",
437
+ type: "uint256",
438
+ },
439
+ ],
440
+ name: "gasReimbursements",
441
+ outputs: [
442
+ {
443
+ internalType: "address",
444
+ name: "receiver",
445
+ type: "address",
446
+ },
447
+ {
448
+ internalType: "uint96",
449
+ name: "gasSpent",
450
+ type: "uint96",
451
+ },
452
+ ],
453
+ stateMutability: "view",
454
+ type: "function",
455
+ },
456
+ {
457
+ inputs: [],
458
+ name: "getNttConfiguration",
459
+ outputs: [
460
+ {
461
+ internalType: "address",
462
+ name: "manager",
463
+ type: "address",
464
+ },
465
+ ],
466
+ stateMutability: "view",
467
+ type: "function",
468
+ },
469
+ {
470
+ inputs: [
471
+ {
472
+ internalType: "address",
473
+ name: "_tbtcBridge",
474
+ type: "address",
475
+ },
476
+ {
477
+ internalType: "address",
478
+ name: "_tbtcVault",
479
+ type: "address",
480
+ },
481
+ {
482
+ internalType: "address",
483
+ name: "_nttManager",
484
+ type: "address",
485
+ },
486
+ ],
487
+ name: "initialize",
488
+ outputs: [],
489
+ stateMutability: "nonpayable",
490
+ type: "function",
491
+ },
492
+ {
493
+ inputs: [
494
+ {
495
+ components: [
496
+ {
497
+ internalType: "bytes4",
498
+ name: "version",
499
+ type: "bytes4",
500
+ },
501
+ {
502
+ internalType: "bytes",
503
+ name: "inputVector",
504
+ type: "bytes",
505
+ },
506
+ {
507
+ internalType: "bytes",
508
+ name: "outputVector",
509
+ type: "bytes",
510
+ },
511
+ {
512
+ internalType: "bytes4",
513
+ name: "locktime",
514
+ type: "bytes4",
515
+ },
516
+ ],
517
+ internalType: "struct IBridgeTypes.BitcoinTxInfo",
518
+ name: "fundingTx",
519
+ type: "tuple",
520
+ },
521
+ {
522
+ components: [
523
+ {
524
+ internalType: "uint32",
525
+ name: "fundingOutputIndex",
526
+ type: "uint32",
527
+ },
528
+ {
529
+ internalType: "bytes8",
530
+ name: "blindingFactor",
531
+ type: "bytes8",
532
+ },
533
+ {
534
+ internalType: "bytes20",
535
+ name: "walletPubKeyHash",
536
+ type: "bytes20",
537
+ },
538
+ {
539
+ internalType: "bytes20",
540
+ name: "refundPubKeyHash",
541
+ type: "bytes20",
542
+ },
543
+ {
544
+ internalType: "bytes4",
545
+ name: "refundLocktime",
546
+ type: "bytes4",
547
+ },
548
+ {
549
+ internalType: "address",
550
+ name: "vault",
551
+ type: "address",
552
+ },
553
+ ],
554
+ internalType: "struct IBridgeTypes.DepositRevealInfo",
555
+ name: "reveal",
556
+ type: "tuple",
557
+ },
558
+ {
559
+ internalType: "bytes32",
560
+ name: "destinationChainDepositOwner",
561
+ type: "bytes32",
562
+ },
563
+ ],
564
+ name: "initializeDeposit",
565
+ outputs: [],
566
+ stateMutability: "nonpayable",
567
+ type: "function",
568
+ },
569
+ {
570
+ inputs: [],
571
+ name: "initializeDepositGasOffset",
572
+ outputs: [
573
+ {
574
+ internalType: "uint256",
575
+ name: "",
576
+ type: "uint256",
577
+ },
578
+ ],
579
+ stateMutability: "view",
580
+ type: "function",
581
+ },
582
+ {
583
+ inputs: [],
584
+ name: "nttManager",
585
+ outputs: [
586
+ {
587
+ internalType: "contract INttManager",
588
+ name: "",
589
+ type: "address",
590
+ },
591
+ ],
592
+ stateMutability: "view",
593
+ type: "function",
594
+ },
595
+ {
596
+ inputs: [],
597
+ name: "owner",
598
+ outputs: [
599
+ {
600
+ internalType: "address",
601
+ name: "",
602
+ type: "address",
603
+ },
604
+ ],
605
+ stateMutability: "view",
606
+ type: "function",
607
+ },
608
+ {
609
+ inputs: [
610
+ {
611
+ internalType: "uint16",
612
+ name: "_destinationChain",
613
+ type: "uint16",
614
+ },
615
+ ],
616
+ name: "quoteFinalizeDeposit",
617
+ outputs: [
618
+ {
619
+ internalType: "uint256",
620
+ name: "cost",
621
+ type: "uint256",
622
+ },
623
+ ],
624
+ stateMutability: "view",
625
+ type: "function",
626
+ },
627
+ {
628
+ inputs: [],
629
+ name: "quoteFinalizeDeposit",
630
+ outputs: [
631
+ {
632
+ internalType: "uint256",
633
+ name: "cost",
634
+ type: "uint256",
635
+ },
636
+ ],
637
+ stateMutability: "view",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [],
642
+ name: "reimburseTxMaxFee",
643
+ outputs: [
644
+ {
645
+ internalType: "bool",
646
+ name: "",
647
+ type: "bool",
648
+ },
649
+ ],
650
+ stateMutability: "view",
651
+ type: "function",
652
+ },
653
+ {
654
+ inputs: [
655
+ {
656
+ internalType: "address",
657
+ name: "",
658
+ type: "address",
659
+ },
660
+ ],
661
+ name: "reimbursementAuthorizations",
662
+ outputs: [
663
+ {
664
+ internalType: "bool",
665
+ name: "",
666
+ type: "bool",
667
+ },
668
+ ],
669
+ stateMutability: "view",
670
+ type: "function",
671
+ },
672
+ {
673
+ inputs: [],
674
+ name: "reimbursementPool",
675
+ outputs: [
676
+ {
677
+ internalType: "contract ReimbursementPool",
678
+ name: "",
679
+ type: "address",
680
+ },
681
+ ],
682
+ stateMutability: "view",
683
+ type: "function",
684
+ },
685
+ {
686
+ inputs: [],
687
+ name: "renounceOwnership",
688
+ outputs: [],
689
+ stateMutability: "nonpayable",
690
+ type: "function",
691
+ },
692
+ {
693
+ inputs: [
694
+ {
695
+ internalType: "address",
696
+ name: "_token",
697
+ type: "address",
698
+ },
699
+ {
700
+ internalType: "address",
701
+ name: "_to",
702
+ type: "address",
703
+ },
704
+ {
705
+ internalType: "uint256",
706
+ name: "_amount",
707
+ type: "uint256",
708
+ },
709
+ ],
710
+ name: "retrieveTokens",
711
+ outputs: [],
712
+ stateMutability: "nonpayable",
713
+ type: "function",
714
+ },
715
+ {
716
+ inputs: [
717
+ {
718
+ internalType: "uint16",
719
+ name: "_chainId",
720
+ type: "uint16",
721
+ },
722
+ ],
723
+ name: "setDefaultSupportedChain",
724
+ outputs: [],
725
+ stateMutability: "nonpayable",
726
+ type: "function",
727
+ },
728
+ {
729
+ inputs: [
730
+ {
731
+ internalType: "bool",
732
+ name: "_reimburseTxMaxFee",
733
+ type: "bool",
734
+ },
735
+ ],
736
+ name: "setReimburseTxMaxFee",
737
+ outputs: [],
738
+ stateMutability: "nonpayable",
739
+ type: "function",
740
+ },
741
+ {
742
+ inputs: [
743
+ {
744
+ internalType: "uint16",
745
+ name: "_chainId",
746
+ type: "uint16",
747
+ },
748
+ {
749
+ internalType: "bool",
750
+ name: "_supported",
751
+ type: "bool",
752
+ },
753
+ ],
754
+ name: "setSupportedChain",
755
+ outputs: [],
756
+ stateMutability: "nonpayable",
757
+ type: "function",
758
+ },
759
+ {
760
+ inputs: [
761
+ {
762
+ internalType: "uint16",
763
+ name: "",
764
+ type: "uint16",
765
+ },
766
+ ],
767
+ name: "supportedChains",
768
+ outputs: [
769
+ {
770
+ internalType: "bool",
771
+ name: "",
772
+ type: "bool",
773
+ },
774
+ ],
775
+ stateMutability: "view",
776
+ type: "function",
777
+ },
778
+ {
779
+ inputs: [],
780
+ name: "tbtcToken",
781
+ outputs: [
782
+ {
783
+ internalType: "contract IERC20Upgradeable",
784
+ name: "",
785
+ type: "address",
786
+ },
787
+ ],
788
+ stateMutability: "view",
789
+ type: "function",
790
+ },
791
+ {
792
+ inputs: [],
793
+ name: "tbtcVault",
794
+ outputs: [
795
+ {
796
+ internalType: "contract ITBTCVault",
797
+ name: "",
798
+ type: "address",
799
+ },
800
+ ],
801
+ stateMutability: "view",
802
+ type: "function",
803
+ },
804
+ {
805
+ inputs: [
806
+ {
807
+ internalType: "address",
808
+ name: "newOwner",
809
+ type: "address",
810
+ },
811
+ ],
812
+ name: "transferOwnership",
813
+ outputs: [],
814
+ stateMutability: "nonpayable",
815
+ type: "function",
816
+ },
817
+ {
818
+ inputs: [
819
+ {
820
+ internalType: "uint256",
821
+ name: "_initializeDepositGasOffset",
822
+ type: "uint256",
823
+ },
824
+ {
825
+ internalType: "uint256",
826
+ name: "_finalizeDepositGasOffset",
827
+ type: "uint256",
828
+ },
829
+ ],
830
+ name: "updateGasOffsetParameters",
831
+ outputs: [],
832
+ stateMutability: "nonpayable",
833
+ type: "function",
834
+ },
835
+ {
836
+ inputs: [
837
+ {
838
+ internalType: "address",
839
+ name: "_newNttManager",
840
+ type: "address",
841
+ },
842
+ ],
843
+ name: "updateNttManager",
844
+ outputs: [],
845
+ stateMutability: "nonpayable",
846
+ type: "function",
847
+ },
848
+ {
849
+ inputs: [
850
+ {
851
+ internalType: "address",
852
+ name: "_address",
853
+ type: "address",
854
+ },
855
+ {
856
+ internalType: "bool",
857
+ name: "authorization",
858
+ type: "bool",
859
+ },
860
+ ],
861
+ name: "updateReimbursementAuthorization",
862
+ outputs: [],
863
+ stateMutability: "nonpayable",
864
+ type: "function",
865
+ },
866
+ {
867
+ inputs: [
868
+ {
869
+ internalType: "contract ReimbursementPool",
870
+ name: "_reimbursementPool",
871
+ type: "address",
872
+ },
873
+ ],
874
+ name: "updateReimbursementPool",
875
+ outputs: [],
876
+ stateMutability: "nonpayable",
877
+ type: "function",
878
+ },
879
+ ];
880
+ var _bytecode = "0x60806040523480156200001157600080fd5b506200001c62000022565b620000e4565b603154610100900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60315460ff9081161015620000e2576031805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612f4080620000f46000396000f3fe6080604052600436106101ee5760003560e01c80637c9e9ffb1161010d578063c0c53b8b116100a0578063e78cea921161006f578063e78cea921461063d578063f2fde38b1461065d578063fc17655c1461067d578063fc1b77691461069d578063fe012b9b146106bd57600080fd5b8063c0c53b8b146105b6578063c7ba0347146105d6578063d7c0d022146105ef578063e5d3d7141461061d57600080fd5b8063af6385a5116100dc578063af6385a5146104e8578063b02c43d014610508578063bec1bd3d14610545578063c09975cd1461059657600080fd5b80637c9e9ffb14610418578063801e645b146104875780638da5cb5b146104aa5780639e0e4e2f146104c857600080fd5b806346d9d49a11610185578063715018a611610154578063715018a6146103a95780637b0e1c57146103be5780637b35b4e6146103de5780637be04b6a146103fe57600080fd5b806346d9d49a1461032657806360ec23dd1461033957806366b58a01146103595780636da5658a1461038957600080fd5b806313b38cce116101c157806313b38cce146102b457806324fb21db146102c957806327ce36c6146102ee5780633861d48d1461030457600080fd5b80630af048b6146101f35780630f36403a146102265780630fa1ba441461025e57806310d5878314610274575b600080fd5b3480156101ff57600080fd5b5061021361020e366004612482565b6106dd565b6040519081526020015b60405180910390f35b34801561023257600080fd5b50600154610246906001600160a01b031681565b6040516001600160a01b03909116815260200161021d565b34801561026a57600080fd5b5061021360cc5481565b34801561028057600080fd5b506102a461028f366004612482565b60cf6020526000908152604090205460ff1681565b604051901515815260200161021d565b3480156102c057600080fd5b506102136107a9565b3480156102d557600080fd5b5060ce546102469061010090046001600160a01b031681565b3480156102fa57600080fd5b5061021360cb5481565b34801561031057600080fd5b5061032461031f3660046124b2565b610857565b005b6103246103343660046124cf565b6108df565b34801561034557600080fd5b506103246103543660046124f6565b610c13565b34801561036557600080fd5b506102a46103743660046124b2565b60cd6020526000908152604090205460ff1681565b34801561039557600080fd5b506103246103a436600461252f565b610c8b565b3480156103b557600080fd5b50610324610e5c565b3480156103ca57600080fd5b506103246103d9366004612597565b610e70565b3480156103ea57600080fd5b506103246103f93660046124b2565b610f44565b34801561040a57600080fd5b5060ce546102a49060ff1681565b34801561042457600080fd5b506104606104333660046124cf565b60ca602052600090815260409020546001600160a01b03811690600160a01b90046001600160601b031682565b604080516001600160a01b0390931683526001600160601b0390911660208301520161021d565b34801561049357600080fd5b5060ce5461010090046001600160a01b0316610246565b3480156104b657600080fd5b506064546001600160a01b0316610246565b3480156104d457600080fd5b506103246104e33660046125d8565b610ffc565b3480156104f457600080fd5b50610324610503366004612482565b61104b565b34801561051457600080fd5b506105386105233660046124cf565b60c86020526000908152604090205460ff1681565b60405161021d9190612610565b34801561055157600080fd5b506105746105603660046124cf565b60f081901c916001600160f01b0390911690565b6040805161ffff90931683526001600160a01b0390911660208301520161021d565b3480156105a257600080fd5b50609654610246906001600160a01b031681565b3480156105c257600080fd5b506103246105d1366004612638565b611134565b3480156105e257600080fd5b506102136402540be40081565b3480156105fb57600080fd5b5060d05461060a9061ffff1681565b60405161ffff909116815260200161021d565b34801561062957600080fd5b5060c954610246906001600160a01b031681565b34801561064957600080fd5b50600054610246906001600160a01b031681565b34801561066957600080fd5b506103246106783660046124b2565b611297565b34801561068957600080fd5b50610213610698366004612683565b611310565b3480156106a957600080fd5b506103246106b83660046126af565b611331565b3480156106c957600080fd5b506103246106d83660046126cb565b6113b7565b61ffff8116600090815260cf602052604081205460ff166107195760405162461bcd60e51b8152600401610710906126e8565b60405180910390fd5b60ce5460408051639057412d60e01b815261ffff851660048201526024810191909152600060448201526101009091046001600160a01b031690639057412d906064015b600060405180830381865afa15801561077a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107a29190810190612765565b9392505050565b6000806107b960d05461ffff1690565b90508061ffff1660000361080f5760405162461bcd60e51b815260206004820152601e60248201527f4e6f20737570706f7274656420636861696e7320636f6e6669677572656400006044820152606401610710565b60ce5460408051639057412d60e01b815261ffff841660048201526024810191909152600060448201526101009091046001600160a01b031690639057412d9060640161075d565b61085f611406565b6001600160a01b0381166108855760405162461bcd60e51b815260040161071090612812565b60ce80546001600160a01b03838116610100818102610100600160a81b031985161790945560405193909204169182907f1502bdd9a0b074e158f160e22b1178adf112814c24de0b53a8480a2b1f0d0b3f90600090a35050565b60005a90506001600083815260c8602052604090205460ff166002811115610909576109096125fa565b1461094c5760405162461bcd60e51b815260206004820152601360248201527257726f6e67206465706f73697420737461746560681b6044820152606401610710565b600082815260c860205260408120805460ff19166002179055808061097085611460565b60ce54929550909350915060ff1615610a2d5760008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa1580156109d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fb919061287d565b509250505060006402540be400826001600160401b0316610a1c91906128e9565b9050610a288185612900565b935050505b60408051848152602081018490523391839188917f3ce59c3fab27374bdb9dc4e3719f29a8f10d802b559892bf124b8231dc8cfac0910160405180910390a4610a76828261165e565b6096546001600160a01b031615610c0c57600085815260ca60209081526040918290208251808401909352546001600160a01b038116808452600160a01b9091046001600160601b03169183019190915215610b5557600086815260ca60209081526040808320929092556096549083015183519251631eb489b760e21b81526001600160601b0390911660048201526001600160a01b039283166024820152911690637ad226dc90604401600060405180830381600087803b158015610b3c57600080fd5b505af1158015610b50573d6000803e3d6000fd5b505050505b33600090815260cd602052604090205460ff1615610c0a576000610b78346118f7565b60965460cc549192506001600160a01b031690637ad226dc90835a610b9d908b612913565b610ba79190612900565b610bb19190612900565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610bf057600080fd5b505af1158015610c04573d6000803e3d6000fd5b50505050505b505b5050505050565b610c1b611406565b816001600160a01b03167f1fff4aae494aaedff71ff8b04de50a56543bb83ce05b033c3fb4a93e065c05fc82604051610c58911515815260200190565b60405180910390a26001600160a01b0391909116600090815260cd60205260409020805460ff1916911515919091179055565b60005a905081610cdd5760405162461bcd60e51b815260206004820181905260248201527f4c32206465706f736974206f776e6572206d757374206e6f74206265203078306044820152606401610710565b6000610d00610ceb866129ad565b610cfa36879003870187612a71565b85611a4a565b50905060008082815260c8602052604090205460ff166002811115610d2757610d276125fa565b14610d6a5760405162461bcd60e51b815260206004820152601360248201527257726f6e67206465706f73697420737461746560681b6044820152606401610710565b600081815260c86020526040808220805460ff19166001179055513391859184917fe96a7294b221e4b744709e3f7346a6459fc446e57715e57713a470407023442991a46096546001600160a01b031615801590610dd7575033600090815260cd602052604090205460ff165b15610c0c57600060cb545a610dec9085612913565b610df69190612900565b90506001600160601b03811115610e0f57505050505050565b6040805180820182523381526001600160601b039283166020808301918252600095865260ca90529190932092519051909116600160a01b026001600160a01b0390911617905550505050565b610e64611406565b610e6e6000611bb9565b565b610e78611406565b6001600160a01b038216610ee15760405162461bcd60e51b815260206004820152602a60248201527f43616e6e6f7420726574726965766520746f6b656e7320746f20746865207a65604482015269726f206164647265737360b01b6064820152608401610710565b6001600160a01b038316610f2b576040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015610f25573d6000803e3d6000fd5b50505050565b610f3f6001600160a01b0384168383611c0b565b505050565b6064546001600160a01b03163314610f9e5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e65720000000000000000006044820152606401610710565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1609680546001600160a01b0319166001600160a01b0392909216919091179055565b611004611406565b60cb82905560cc81905560408051838152602081018390527fb8df1fba472926f296225c210e366f62b21fec23b8e1b6b0a375724798ca9c0a910160405180910390a15050565b611053611406565b8061ffff166000036110775760405162461bcd60e51b815260040161071090612b22565b61ffff8116600090815260cf602052604090205460ff166110f45760405162461bcd60e51b815260206004820152603160248201527f436861696e206d75737420626520737570706f72746564206265666f72652073604482015270195d1d1a5b99c8185cc8191959985d5b1d607a1b6064820152608401610710565b60d0805461ffff191661ffff83169081179091556040517f39b84d3f86e19ac9682a0a87eb51ecb89695101c7ce611485e575315c7a061fb90600090a250565b603154610100900460ff16158080156111545750603154600160ff909116105b8061116e5750303b15801561116e575060315460ff166001145b6111d15760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610710565b6031805460ff1916600117905580156111f4576031805461ff0019166101001790555b6111fe8484611c6e565b611206611d14565b6001600160a01b03821661122c5760405162461bcd60e51b815260040161071090612812565b60ce8054610100600160a81b0319166101006001600160a01b038516021790558015610f25576031805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b61129f611406565b6001600160a01b0381166113045760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610710565b61130d81611bb9565b50565b6001600160f01b031960f083901b166001600160a01b038216175b92915050565b611339611406565b8161ffff1660000361135d5760405162461bcd60e51b815260040161071090612b22565b61ffff8216600081815260cf6020908152604091829020805460ff191685151590811790915591519182527fd7c98ac15d07c39e8b183ff91e176f4182ae24075447712bba29ff669a72da74910160405180910390a25050565b6113bf611406565b60ce805460ff19168215159081179091556040519081527f6dcf7dd477751916b5aa15e99f6f3008aa5fa398339c3abd2d92eaaf13b357879060200160405180910390a150565b6064546001600160a01b03163314610e6e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610710565b60008054604051630b02c43d60e41b8152600481018490528291829182916001600160a01b03169063b02c43d09060240160e060405180830381865afa1580156114ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d29190612b59565b9050806040015163ffffffff1660000361152e5760405162461bcd60e51b815260206004820152601760248201527f4465706f736974206e6f7420696e697469616c697a65640000000000000000006044820152606401610710565b600154604051631b189aa960e21b8152600481018790526000916001600160a01b031690636c626aa49060240160408051808303816000875af1158015611579573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159d9190612c0b565b9150508160a0015163ffffffff1660001415806115c257506001600160401b03811615155b61161a5760405162461bcd60e51b815260206004820152602360248201527f4465706f736974206e6f742066696e616c697a6564206279207468652062726960448201526264676560e81b6064820152608401610710565b6402540be40082602001516001600160401b031661163891906128e9565b945061164c82602001518360800151611d43565b93508160c00151925050509193909250565b600082116116ae5760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e74206d7573742062652067726561746572207468616e20300000006044820152606401610710565b60006116b982611ec4565b61ffff8116600090815260cf602052604090205490915060ff166116ef5760405162461bcd60e51b8152600401610710906126e8565b60006001600160f01b03831660ce5460408051639057412d60e01b815261ffff8616600482015260248101919091526000604482018190529293506101009091046001600160a01b031690639057412d90606401600060405180830381865afa158015611760573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117889190810190612765565b915050803410156117e75760405162461bcd60e51b815260206004820152602360248201527f5061796d656e7420666f7220576f726d686f6c65204e545420697320746f6f206044820152626c6f7760e81b6064820152608401610710565b60ce5460c95461180a916001600160a01b03918216916101009091041687611f22565b60ce54604051630961b94d60e41b81526004810187905261ffff851660248201526044810184905260009161010090046001600160a01b03169063961b94d090349060640160206040518083038185885af115801561186d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906118929190612c3e565b6040805188815261ffff871660208201529081018590526001600160401b0382166060820152608081018790529091507f246faf754bb326d6f6245f60a4ed2718cc0584c1ebe1243ca55e768176f0a8ae9060a00160405180910390a1505050505050565b600080609660009054906101000a90046001600160a01b03166001600160a01b0316633de39c116040518163ffffffff1660e01b8152600401602060405180830381865afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119719190612c59565b90506000609660009054906101000a90046001600160a01b03166001600160a01b031663e25b53456040518163ffffffff1660e01b8152600401602060405180830381865afa1580156119c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119ec9190612c59565b90506000823a106119fd57826119ff565b3a5b905080600003611a1457506000949350505050565b6000611a208287612c72565b905080831115611a365750600095945050505050565b611a408382612913565b9695505050505050565b60015460a083015160009182916001600160a01b03908116911614611aaa5760405162461bcd60e51b81526020600482015260166024820152750acc2ead8e840c2c8c8e4cae6e640dad2e6dac2e8c6d60531b6044820152606401610710565b611abd611ab686611fd4565b8551612014565b6000546040516386f0143960e01b81529193506001600160a01b0316906386f0143990611af290889088908890600401612ce4565b600060405180830381600087803b158015611b0c57600080fd5b505af1158015611b20573d6000803e3d6000fd5b5050600054604051630b02c43d60e41b8152600481018690526402540be40093506001600160a01b03909116915063b02c43d09060240160e060405180830381865afa158015611b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b989190612b59565b602001516001600160401b0316611baf91906128e9565b9050935093915050565b606480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6040516001600160a01b038316602482015260448101829052610f3f90849063a9059cbb60e01b906064015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261205e565b611c788282612130565b806001600160a01b031663e5d3d7146040518163ffffffff1660e01b8152600401602060405180830381865afa158015611cb6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611cda9190612dbf565b60c980546001600160a01b0319166001600160a01b0392909216919091179055505061ea6060cb55614e2060cc5560ce805460ff19169055565b603154610100900460ff16611d3b5760405162461bcd60e51b815260040161071090612ddc565b610e6e612289565b6000806402540be400611d568486612e27565b6001600160401b0316611d6991906128e9565b90506000600160009054906101000a90046001600160a01b03166001600160a01b03166309b53f516040518163ffffffff1660e01b8152600401602060405180830381865afa158015611dc0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611de49190612e4e565b63ffffffff1690506000808211611dfc576000611e06565b611e068284612c72565b905060008060009054906101000a90046001600160a01b03166001600160a01b031663c42b64d06040518163ffffffff1660e01b8152600401608060405180830381865afa158015611e5c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e80919061287d565b509250505060006402540be400826001600160401b0316611ea191906128e9565b905080611eae8487612913565b611eb89190612913565b98975050505050505050565b60f081901c6000819003611eea5760405162461bcd60e51b815260040161071090612b22565b61ffff8116600090815260cf602052604090205460ff16611f1d5760405162461bcd60e51b8152600401610710906126e8565b919050565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611f73573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611f979190612c59565b611fa19190612900565b6040516001600160a01b038516602482015260448101829052909150610f2590859063095ea7b360e01b90606401611c37565b600061132b82600001518360200151846040015185606001516040516020016120009493929190612e6b565b6040516020818303038152906040526122b9565b6000828260405160200161203f92919091825260e01b6001600160e01b031916602082015260240190565b60408051601f1981840301815291905280516020909101209392505050565b60006120b3826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166122e09092919063ffffffff16565b805190915015610f3f57808060200190518101906120d19190612ebe565b610f3f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610710565b6000546001600160a01b031615801561215257506001546001600160a01b0316155b6121af5760405162461bcd60e51b815260206004820152602860248201527f41627374726163744254434465706f7369746f7220616c726561647920696e696044820152671d1a585b1a5e995960c21b6064820152608401610710565b6001600160a01b0382166122055760405162461bcd60e51b815260206004820152601d60248201527f42726964676520616464726573732063616e6e6f74206265207a65726f0000006044820152606401610710565b6001600160a01b03811661225b5760405162461bcd60e51b815260206004820181905260248201527f544254435661756c7420616464726573732063616e6e6f74206265207a65726f6044820152606401610710565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055565b603154610100900460ff166122b05760405162461bcd60e51b815260040161071090612ddc565b610e6e33611bb9565b60006020600083516020850160025afa50602060006020600060025afa5050600051919050565b60606122ef84846000856122f7565b949350505050565b6060824710156123585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610710565b600080866001600160a01b031685876040516123749190612edb565b60006040518083038185875af1925050503d80600081146123b1576040519150601f19603f3d011682016040523d82523d6000602084013e6123b6565b606091505b50915091506123c7878383876123d2565b979650505050505050565b6060831561244157825160000361243a576001600160a01b0385163b61243a5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610710565b50816122ef565b6122ef83838151156124565781518083602001fd5b8060405162461bcd60e51b81526004016107109190612ef7565b803561ffff81168114611f1d57600080fd5b60006020828403121561249457600080fd5b6107a282612470565b6001600160a01b038116811461130d57600080fd5b6000602082840312156124c457600080fd5b81356107a28161249d565b6000602082840312156124e157600080fd5b5035919050565b801515811461130d57600080fd5b6000806040838503121561250957600080fd5b82356125148161249d565b91506020830135612524816124e8565b809150509250929050565b600080600083850361010081121561254657600080fd5b84356001600160401b0381111561255c57600080fd5b85016080818803121561256e57600080fd5b935060c0601f198201121561258257600080fd5b5060208401915060e084013590509250925092565b6000806000606084860312156125ac57600080fd5b83356125b78161249d565b925060208401356125c78161249d565b929592945050506040919091013590565b600080604083850312156125eb57600080fd5b50508035926020909101359150565b634e487b7160e01b600052602160045260246000fd5b602081016003831061263257634e487b7160e01b600052602160045260246000fd5b91905290565b60008060006060848603121561264d57600080fd5b83356126588161249d565b925060208401356126688161249d565b915060408401356126788161249d565b809150509250925092565b6000806040838503121561269657600080fd5b61269f83612470565b915060208301356125248161249d565b600080604083850312156126c257600080fd5b61251483612470565b6000602082840312156126dd57600080fd5b81356107a2816124e8565b6020808252601f908201527f44657374696e6174696f6e20636861696e206e6f7420737570706f7274656400604082015260600190565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561275d5761275d61271f565b604052919050565b6000806040838503121561277857600080fd5b82516001600160401b038082111561278f57600080fd5b818501915085601f8301126127a357600080fd5b81516020828211156127b7576127b761271f565b8160051b92506127c8818401612735565b82815292840181019281810190898511156127e257600080fd5b948201945b84861015612800578551825294820194908201906127e7565b97909101519698969750505050505050565b60208082526022908201527f4e5454204d616e6167657220616464726573732063616e6e6f74206265207a65604082015261726f60f01b606082015260800190565b80516001600160401b0381168114611f1d57600080fd5b63ffffffff8116811461130d57600080fd5b6000806000806080858703121561289357600080fd5b61289c85612854565b93506128aa60208601612854565b92506128b860408601612854565b915060608501516128c88161286b565b939692955090935050565b634e487b7160e01b600052601160045260246000fd5b808202811582820484141761132b5761132b6128d3565b8082018082111561132b5761132b6128d3565b8181038181111561132b5761132b6128d3565b80356001600160e01b031981168114611f1d57600080fd5b600082601f83011261294f57600080fd5b81356001600160401b038111156129685761296861271f565b61297b601f8201601f1916602001612735565b81815284602083860101111561299057600080fd5b816020850160208301376000918101602001919091529392505050565b6000608082360312156129bf57600080fd5b604051608081016001600160401b0382821081831117156129e2576129e261271f565b816040526129ef85612926565b83526020850135915080821115612a0557600080fd5b612a113683870161293e565b60208401526040850135915080821115612a2a57600080fd5b50612a373682860161293e565b604083015250612a4960608401612926565b606082015292915050565b80356bffffffffffffffffffffffff1981168114611f1d57600080fd5b600060c08284031215612a8357600080fd5b60405160c081018181106001600160401b0382111715612aa557612aa561271f565b6040528235612ab38161286b565b815260208301356001600160c01b031981168114612ad057600080fd5b6020820152612ae160408401612a54565b6040820152612af260608401612a54565b6060820152612b0360808401612926565b608082015260a0830135612b168161249d565b60a08201529392505050565b60208082526017908201527f436861696e2049442063616e6e6f74206265207a65726f000000000000000000604082015260600190565b600060e08284031215612b6b57600080fd5b60405160e081018181106001600160401b0382111715612b8d57612b8d61271f565b6040528251612b9b8161249d565b8152612ba960208401612854565b60208201526040830151612bbc8161286b565b60408201526060830151612bcf8161249d565b6060820152612be060808401612854565b608082015260a0830151612bf38161286b565b60a082015260c0928301519281019290925250919050565b60008060408385031215612c1e57600080fd5b612c2783612854565b9150612c3560208401612854565b90509250929050565b600060208284031215612c5057600080fd5b6107a282612854565b600060208284031215612c6b57600080fd5b5051919050565b600082612c8f57634e487b7160e01b600052601260045260246000fd5b500490565b60005b83811015612caf578181015183820152602001612c97565b50506000910152565b60008151808452612cd0816020860160208601612c94565b601f01601f19169290920160200192915050565b600061010080835263ffffffff60e01b8087511682850152602087015191506080610120850152612d19610180850183612cb8565b9150604087015160ff1985840301610140860152612d378382612cb8565b6060988901518316610160870152875163ffffffff166020808801919091528801516001600160c01b0319166040808801919091528801516bffffffffffffffffffffffff19908116878b01529888015190981660808087019190915287015190911660a080860191909152909501516001600160a01b031660c0840152505060e001525090565b600060208284031215612dd157600080fd5b81516107a28161249d565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6001600160401b03828116828216039080821115612e4757612e476128d3565b5092915050565b600060208284031215612e6057600080fd5b81516107a28161286b565b600063ffffffff60e01b80871683528551612e8d816004860160208a01612c94565b855190840190612ea4816004840160208a01612c94565b919094169301600481019390935250506008019392505050565b600060208284031215612ed057600080fd5b81516107a2816124e8565b60008251612eed818460208701612c94565b9190910192915050565b6020815260006107a26020830184612cb856fea2646970667358221220729eec267a64eab66865616c4edc6e2efe064c4cb9a08e0994c4d5c0896c29cf64736f6c63430008110033";
881
+ var isSuperArgs = function (xs) { return xs.length > 1; };
882
+ var L1BTCDepositorNtt__factory = /** @class */ (function (_super) {
883
+ __extends(L1BTCDepositorNtt__factory, _super);
884
+ function L1BTCDepositorNtt__factory() {
885
+ var args = [];
886
+ for (var _i = 0; _i < arguments.length; _i++) {
887
+ args[_i] = arguments[_i];
888
+ }
889
+ var _this = this;
890
+ if (isSuperArgs(args)) {
891
+ _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
892
+ }
893
+ else {
894
+ _this = _super.call(this, _abi, _bytecode, args[0]) || this;
895
+ }
896
+ return _this;
897
+ }
898
+ L1BTCDepositorNtt__factory.prototype.deploy = function (overrides) {
899
+ return _super.prototype.deploy.call(this, overrides || {});
900
+ };
901
+ L1BTCDepositorNtt__factory.prototype.getDeployTransaction = function (overrides) {
902
+ return _super.prototype.getDeployTransaction.call(this, overrides || {});
903
+ };
904
+ L1BTCDepositorNtt__factory.prototype.attach = function (address) {
905
+ return _super.prototype.attach.call(this, address);
906
+ };
907
+ L1BTCDepositorNtt__factory.prototype.connect = function (signer) {
908
+ return _super.prototype.connect.call(this, signer);
909
+ };
910
+ L1BTCDepositorNtt__factory.createInterface = function () {
911
+ return new ethers_1.utils.Interface(_abi);
912
+ };
913
+ L1BTCDepositorNtt__factory.connect = function (address, signerOrProvider) {
914
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
915
+ };
916
+ L1BTCDepositorNtt__factory.bytecode = _bytecode;
917
+ L1BTCDepositorNtt__factory.abi = _abi;
918
+ return L1BTCDepositorNtt__factory;
919
+ }(ethers_1.ContractFactory));
920
+ exports.L1BTCDepositorNtt__factory = L1BTCDepositorNtt__factory;