@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,348 @@
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.L2BTCRedeemerWormhole__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
+ name: "AmountTooLowToRedeem",
52
+ type: "error",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "InvalidRedeemerOutputScript",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "MinimumRedemptionAmountZero",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "ZeroAddress",
67
+ type: "error",
68
+ },
69
+ {
70
+ anonymous: false,
71
+ inputs: [
72
+ {
73
+ indexed: false,
74
+ internalType: "uint8",
75
+ name: "version",
76
+ type: "uint8",
77
+ },
78
+ ],
79
+ name: "Initialized",
80
+ type: "event",
81
+ },
82
+ {
83
+ anonymous: false,
84
+ inputs: [
85
+ {
86
+ indexed: false,
87
+ internalType: "uint256",
88
+ name: "newMinimumAmount",
89
+ type: "uint256",
90
+ },
91
+ ],
92
+ name: "MinimumRedemptionAmountUpdated",
93
+ type: "event",
94
+ },
95
+ {
96
+ anonymous: false,
97
+ inputs: [
98
+ {
99
+ indexed: true,
100
+ internalType: "address",
101
+ name: "previousOwner",
102
+ type: "address",
103
+ },
104
+ {
105
+ indexed: true,
106
+ internalType: "address",
107
+ name: "newOwner",
108
+ type: "address",
109
+ },
110
+ ],
111
+ name: "OwnershipTransferred",
112
+ type: "event",
113
+ },
114
+ {
115
+ anonymous: false,
116
+ inputs: [
117
+ {
118
+ indexed: false,
119
+ internalType: "uint256",
120
+ name: "amount",
121
+ type: "uint256",
122
+ },
123
+ {
124
+ indexed: false,
125
+ internalType: "bytes",
126
+ name: "redeemerOutputScript",
127
+ type: "bytes",
128
+ },
129
+ {
130
+ indexed: false,
131
+ internalType: "uint32",
132
+ name: "nonce",
133
+ type: "uint32",
134
+ },
135
+ ],
136
+ name: "RedemptionRequestedOnL2",
137
+ type: "event",
138
+ },
139
+ {
140
+ inputs: [],
141
+ name: "gateway",
142
+ outputs: [
143
+ {
144
+ internalType: "contract IL2WormholeGateway",
145
+ name: "",
146
+ type: "address",
147
+ },
148
+ ],
149
+ stateMutability: "view",
150
+ type: "function",
151
+ },
152
+ {
153
+ inputs: [
154
+ {
155
+ internalType: "address",
156
+ name: "_tbtc",
157
+ type: "address",
158
+ },
159
+ {
160
+ internalType: "address",
161
+ name: "_gateway",
162
+ type: "address",
163
+ },
164
+ {
165
+ internalType: "bytes32",
166
+ name: "_l1BtcRedeemerWormholeAddress",
167
+ type: "bytes32",
168
+ },
169
+ ],
170
+ name: "initialize",
171
+ outputs: [],
172
+ stateMutability: "nonpayable",
173
+ type: "function",
174
+ },
175
+ {
176
+ inputs: [],
177
+ name: "l1BtcRedeemerWormholeAddress",
178
+ outputs: [
179
+ {
180
+ internalType: "bytes32",
181
+ name: "",
182
+ type: "bytes32",
183
+ },
184
+ ],
185
+ stateMutability: "view",
186
+ type: "function",
187
+ },
188
+ {
189
+ inputs: [],
190
+ name: "minimumRedemptionAmount",
191
+ outputs: [
192
+ {
193
+ internalType: "uint256",
194
+ name: "",
195
+ type: "uint256",
196
+ },
197
+ ],
198
+ stateMutability: "view",
199
+ type: "function",
200
+ },
201
+ {
202
+ inputs: [],
203
+ name: "owner",
204
+ outputs: [
205
+ {
206
+ internalType: "address",
207
+ name: "",
208
+ type: "address",
209
+ },
210
+ ],
211
+ stateMutability: "view",
212
+ type: "function",
213
+ },
214
+ {
215
+ inputs: [],
216
+ name: "redeemedAmount",
217
+ outputs: [
218
+ {
219
+ internalType: "uint256",
220
+ name: "",
221
+ type: "uint256",
222
+ },
223
+ ],
224
+ stateMutability: "view",
225
+ type: "function",
226
+ },
227
+ {
228
+ inputs: [],
229
+ name: "renounceOwnership",
230
+ outputs: [],
231
+ stateMutability: "nonpayable",
232
+ type: "function",
233
+ },
234
+ {
235
+ inputs: [
236
+ {
237
+ internalType: "uint256",
238
+ name: "amount",
239
+ type: "uint256",
240
+ },
241
+ {
242
+ internalType: "uint16",
243
+ name: "recipientChain",
244
+ type: "uint16",
245
+ },
246
+ {
247
+ internalType: "bytes",
248
+ name: "redeemerOutputScript",
249
+ type: "bytes",
250
+ },
251
+ {
252
+ internalType: "uint32",
253
+ name: "nonce",
254
+ type: "uint32",
255
+ },
256
+ ],
257
+ name: "requestRedemption",
258
+ outputs: [
259
+ {
260
+ internalType: "uint64",
261
+ name: "",
262
+ type: "uint64",
263
+ },
264
+ ],
265
+ stateMutability: "payable",
266
+ type: "function",
267
+ },
268
+ {
269
+ inputs: [],
270
+ name: "tbtc",
271
+ outputs: [
272
+ {
273
+ internalType: "contract IERC20Upgradeable",
274
+ name: "",
275
+ type: "address",
276
+ },
277
+ ],
278
+ stateMutability: "view",
279
+ type: "function",
280
+ },
281
+ {
282
+ inputs: [
283
+ {
284
+ internalType: "address",
285
+ name: "newOwner",
286
+ type: "address",
287
+ },
288
+ ],
289
+ name: "transferOwnership",
290
+ outputs: [],
291
+ stateMutability: "nonpayable",
292
+ type: "function",
293
+ },
294
+ {
295
+ inputs: [
296
+ {
297
+ internalType: "uint256",
298
+ name: "_newMinimumRedemptionAmount",
299
+ type: "uint256",
300
+ },
301
+ ],
302
+ name: "updateMinimumRedemptionAmount",
303
+ outputs: [],
304
+ stateMutability: "nonpayable",
305
+ type: "function",
306
+ },
307
+ ];
308
+ var _bytecode = "0x608060405234801561001057600080fd5b5061133c806100206000396000f3fe60806040526004361061009c5760003560e01c806389aba2a41161006457806389aba2a4146101655780638da5cb5b14610185578063a7731842146101a3578063e0f486ef146101b9578063e1308b33146101cf578063f2fde38b146101ef57600080fd5b8063010e4f90146100a1578063116191b6146100ca578063380faf53146101025780636133f9851461012e578063715018a614610150575b600080fd5b3480156100ad57600080fd5b506100b7609a5481565b6040519081526020015b60405180910390f35b3480156100d657600080fd5b506097546100ea906001600160a01b031681565b6040516001600160a01b0390911681526020016100c1565b610115610110366004610f5c565b61020f565b60405167ffffffffffffffff90911681526020016100c1565b34801561013a57600080fd5b5061014e61014936600461101a565b6103d6565b005b34801561015c57600080fd5b5061014e6105a3565b34801561017157600080fd5b5061014e610180366004611056565b6105b7565b34801561019157600080fd5b506033546001600160a01b03166100ea565b3480156101af57600080fd5b506100b7609b5481565b3480156101c557600080fd5b506100b760995481565b3480156101db57600080fd5b506098546100ea906001600160a01b031681565b3480156101fb57600080fd5b5061014e61020a36600461106f565b61061b565b6000610219610694565b600084848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092018290525084519495509361026393508592508491506106ed565b9050805160000361028757604051636ca039a760e11b815260040160405180910390fd5b6102908861095d565b97506099548810156102b557604051635eeb5f3b60e01b815260040160405180910390fd5b87609b60008282546102c791906110a0565b90915550506098546102e4906001600160a01b031633308b610985565b609754609854610301916001600160a01b0391821691168a6109f0565b7f645b325b6c39d12f8a4204b6ab713decc58c7fde74156d808ed2913f66cd94488887878760405161033694939291906110dc565b60405180910390a1609754609a546040516331f01ed760e01b81526001600160a01b03909216916331f01ed791349161037c918d918d91908b908e908e9060040161110d565b60206040518083038185885af115801561039a573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906103bf919061114f565b925050506103cd6001606555565b95945050505050565b600054610100900460ff16158080156103f65750600054600160ff909116105b806104105750303b158015610410575060005460ff166001145b6104785760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561049b576000805461ff0019166101001790555b6104a3610aa9565b6104ab610ad8565b6001600160a01b0384166104d25760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0383166104f95760405163d92e233d60e01b815260040160405180910390fd5b816105175760405163d92e233d60e01b815260040160405180910390fd5b609880546001600160a01b038087166001600160a01b0319928316179092556097805492861692909116919091179055609a829055662386f26fc10000609955801561059d576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6105ab610b07565b6105b56000610b61565b565b6105bf610b07565b806000036105e057604051630727164360e31b815260040160405180910390fd5b60998190556040518181527fb0c5d14bce9c0b09f7af6c417f716e2715365acac68deaddc4235374f26ef22d9060200160405180910390a150565b610623610b07565b6001600160a01b0381166106885760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161046f565b61069181610b61565b50565b6002606554036106e65760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015260640161046f565b6002606555565b6060600084848151811061070357610703611179565b016020015160f81c90508261071982600161118f565b60ff1614610737575050604080516020810190915260008152610956565b846107438560016110a0565b8151811061075357610753611179565b016020015160f81c6000036108125760028160ff161015610784575050604080516020810190915260008152610956565b6000856107928660026110a0565b815181106107a2576107a2611179565b016020015160f81c90506107b76002836111a8565b60ff16811415806107d55750806020141580156107d5575080601414155b156107f3576040518060200160405280600081525092505050610956565b6108096108018660036110a0565b879083610bb3565b92505050610956565b600061081e8686610c76565b90506001600160e81b03198116621976a960e81b036108ce57856108438660036110a0565b8151811061085357610853611179565b60209101015160f81c60141415806108995750610886600261087586886110a0565b61087f91906111c1565b8790610c76565b6001600160f01b03191661222b60f21b14155b156108b7576040518060200160405280600081525092505050610956565b6108096108c58660046110a0565b87906014610bb3565b6001600160e81b031981166205ea4560ea1b03610943578560016108f286886110a0565b6108fc91906111c1565b8151811061090c5761090c611179565b60209101015160f81c608714610935576040518060200160405280600081525092505050610956565b6108096108c58660036110a0565b5050506040805160208101909152600081525b9392505050565b600061096e6402540be400836111d4565b915061097f6402540be400836111f6565b92915050565b6040516001600160a01b038085166024830152831660448201526064810182905261059d9085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152610c85565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015610a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a65919061120d565b610a6f91906110a0565b6040516001600160a01b03851660248201526044810182905290915061059d90859063095ea7b360e01b906064016109b9565b6001606555565b600054610100900460ff16610ad05760405162461bcd60e51b815260040161046f90611226565b6105b5610d5c565b600054610100900460ff16610aff5760405162461bcd60e51b815260040161046f90611226565b6105b5610d8c565b6033546001600160a01b031633146105b55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161046f565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b606081600003610bd25750604080516020810190915260008152610956565b6000610bde83856110a0565b90508381118015610bf0575080855110155b610c325760405162461bcd60e51b8152602060048201526013602482015272536c696365206f7574206f6620626f756e647360681b604482015260640161046f565b604051915082604083010160405282825283850182038460208701018481015b80821015610c6b57815183830152602082019150610c52565b505050509392505050565b60006109568383016020015190565b6000610cda826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610db39092919063ffffffff16565b805190915015610d575780806020019051810190610cf89190611271565b610d575760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161046f565b505050565b600054610100900460ff16610d835760405162461bcd60e51b815260040161046f90611226565b6105b533610b61565b600054610100900460ff16610aa25760405162461bcd60e51b815260040161046f90611226565b6060610dc28484600085610dca565b949350505050565b606082471015610e2b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161046f565b600080866001600160a01b03168587604051610e4791906112b7565b60006040518083038185875af1925050503d8060008114610e84576040519150601f19603f3d011682016040523d82523d6000602084013e610e89565b606091505b5091509150610e9a87838387610ea5565b979650505050505050565b60608315610f14578251600003610f0d576001600160a01b0385163b610f0d5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161046f565b5081610dc2565b610dc28383815115610f295781518083602001fd5b8060405162461bcd60e51b815260040161046f91906112d3565b803563ffffffff81168114610f5757600080fd5b919050565b600080600080600060808688031215610f7457600080fd5b85359450602086013561ffff81168114610f8d57600080fd5b9350604086013567ffffffffffffffff80821115610faa57600080fd5b818801915088601f830112610fbe57600080fd5b813581811115610fcd57600080fd5b896020828501011115610fdf57600080fd5b602083019550809450505050610ff760608701610f43565b90509295509295909350565b80356001600160a01b0381168114610f5757600080fd5b60008060006060848603121561102f57600080fd5b61103884611003565b925061104660208501611003565b9150604084013590509250925092565b60006020828403121561106857600080fd5b5035919050565b60006020828403121561108157600080fd5b61095682611003565b634e487b7160e01b600052601160045260246000fd5b8082018082111561097f5761097f61108a565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b8481526060602082015260006110f66060830185876110b3565b905063ffffffff8316604083015295945050505050565b86815261ffff8616602082015284604082015263ffffffff8416606082015260a06080820152600061114360a0830184866110b3565b98975050505050505050565b60006020828403121561116157600080fd5b815167ffffffffffffffff8116811461095657600080fd5b634e487b7160e01b600052603260045260246000fd5b60ff818116838216019081111561097f5761097f61108a565b60ff828116828216039081111561097f5761097f61108a565b8181038181111561097f5761097f61108a565b6000826111f157634e487b7160e01b600052601260045260246000fd5b500490565b808202811582820484141761097f5761097f61108a565b60006020828403121561121f57600080fd5b5051919050565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b60006020828403121561128357600080fd5b8151801515811461095657600080fd5b60005b838110156112ae578181015183820152602001611296565b50506000910152565b600082516112c9818460208701611293565b9190910192915050565b60208152600082518060208401526112f2816040850160208701611293565b601f01601f1916919091016040019291505056fea264697066735822122091fa92b7ba575bde6eb5c9bcfd2a293ab63707f4def455aabfe6591413a997f064736f6c63430008110033";
309
+ var isSuperArgs = function (xs) { return xs.length > 1; };
310
+ var L2BTCRedeemerWormhole__factory = /** @class */ (function (_super) {
311
+ __extends(L2BTCRedeemerWormhole__factory, _super);
312
+ function L2BTCRedeemerWormhole__factory() {
313
+ var args = [];
314
+ for (var _i = 0; _i < arguments.length; _i++) {
315
+ args[_i] = arguments[_i];
316
+ }
317
+ var _this = this;
318
+ if (isSuperArgs(args)) {
319
+ _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
320
+ }
321
+ else {
322
+ _this = _super.call(this, _abi, _bytecode, args[0]) || this;
323
+ }
324
+ return _this;
325
+ }
326
+ L2BTCRedeemerWormhole__factory.prototype.deploy = function (overrides) {
327
+ return _super.prototype.deploy.call(this, overrides || {});
328
+ };
329
+ L2BTCRedeemerWormhole__factory.prototype.getDeployTransaction = function (overrides) {
330
+ return _super.prototype.getDeployTransaction.call(this, overrides || {});
331
+ };
332
+ L2BTCRedeemerWormhole__factory.prototype.attach = function (address) {
333
+ return _super.prototype.attach.call(this, address);
334
+ };
335
+ L2BTCRedeemerWormhole__factory.prototype.connect = function (signer) {
336
+ return _super.prototype.connect.call(this, signer);
337
+ };
338
+ L2BTCRedeemerWormhole__factory.createInterface = function () {
339
+ return new ethers_1.utils.Interface(_abi);
340
+ };
341
+ L2BTCRedeemerWormhole__factory.connect = function (address, signerOrProvider) {
342
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
343
+ };
344
+ L2BTCRedeemerWormhole__factory.bytecode = _bytecode;
345
+ L2BTCRedeemerWormhole__factory.abi = _abi;
346
+ return L2BTCRedeemerWormhole__factory;
347
+ }(ethers_1.ContractFactory));
348
+ exports.L2BTCRedeemerWormhole__factory = L2BTCRedeemerWormhole__factory;
@@ -1216,7 +1216,7 @@ var _abi = [
1216
1216
  type: "function",
1217
1217
  },
1218
1218
  ];
1219
- var _bytecode = "0x60806040523480156200001157600080fd5b50604051620023d6380380620023d683398101604081905262000034916200011a565b6200003f33620000b1565b603380546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055617530603855610fa060398190556103e8603a55614e20603b55610dac603c819055616590603d55603e55603f55610bb860405561271060415561138860425562000159565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200011757600080fd5b50565b600080604083850312156200012e57600080fd5b82516200013b8162000101565b60208401519092506200014e8162000101565b809150509250929050565b61226d80620001696000396000f3fe608060405234801561001057600080fd5b50600436106102c75760003560e01c80639821c38b1161017b578063e12bad86116100d8578063e78cea921161008c578063f2fde38b11610071578063f2fde38b14610545578063f5c3c08414610558578063fc9a7c141461057857600080fd5b8063e78cea921461051f578063ee1dd3ea1461053257600080fd5b8063e44bdd31116100bd578063e44bdd31146104f0578063e46e6eda14610503578063e509397d1461050c57600080fd5b8063e12bad86146104de578063e3cfecd1146104e757600080fd5b8063bd1501311161012f578063c8b5d2db11610114578063c8b5d2db146104a2578063ca05b902146104b5578063ddd23f5e146104d557600080fd5b8063bd1501311461047c578063c09975cd1461048f57600080fd5b8063a145e2d511610160578063a145e2d514610443578063a95f786614610456578063bae516aa1461046957600080fd5b80639821c38b1461041d5780639f4b337d1461043057600080fd5b80636eb382121161022957806384862c19116101dd5780638ac89ce1116101c25780638ac89ce1146103f05780638da5cb5b1461040357806393b743bd1461041457600080fd5b806384862c19146103de57806389065e60146103e757600080fd5b806377145f211161020e57806377145f21146103a557806377ee72c8146103b85780637b35b4e6146103cb57600080fd5b80636eb382121461038a578063715018a61461039d57600080fd5b80632f5e2af7116102805780634147907c116102655780634147907c1461034d5780634b0e45711461035657806355e190361461038157600080fd5b80632f5e2af71461033c578063391f71701461034457600080fd5b806307f7d223116102b157806307f7d223146102f457806313f1a99f1461030757806319fd5c451461032557600080fd5b806215b04e146102cc5780630674f266146102e1575b600080fd5b6102df6102da3660046119f4565b61058b565b005b6102df6102ef366004611a61565b610619565b6102df610302366004611b07565b610729565b61030f610891565b60405161031c9190611b3b565b60405180910390f35b61032e603e5481565b60405190815260200161031c565b61030f6108f3565b61032e603a5481565b61032e60395481565b610369610364366004611b88565b610953565b6040516001600160a01b03909116815260200161031c565b61032e60385481565b6102df6103983660046119f4565b61097d565b6102df6109d9565b6102df6103b3366004611ba1565b6109ed565b6102df6103c63660046119f4565b610b00565b6102df6103d93660046119f4565b610c81565b61032e60425481565b61032e60415481565b6102df6103fe366004611c4e565b610d48565b6000546001600160a01b0316610369565b61032e60405481565b6102df61042b366004611cd4565b610e49565b6102df61043e3660046119f4565b610faf565b6102df610451366004611d49565b61103d565b610369610464366004611b88565b61119d565b6102df610477366004611d65565b6111ad565b6102df61048a366004611dd7565b611274565b600154610369906001600160a01b031681565b6102df6104b0366004611e5f565b611375565b61032e6104c33660046119f4565b60346020526000908152604090205481565b61032e603b5481565b61032e603d5481565b61032e603c5481565b6102df6104fe366004611b07565b61147a565b61032e603f5481565b6102df61051a366004611c4e565b611577565b603354610369906001600160a01b031681565b6102df610540366004611e5f565b611678565b6102df6105533660046119f4565b611724565b61032e6105663660046119f4565b60366020526000908152604090205481565b6102df6105863660046119f4565b6117b4565b610593611935565b603580546001810182557fcfa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603460205260408082209290925590517f7b22a9ca0e4062aa08f1b002d95a3d99342205c693cb088e382d8e20cfb70a3a9190a250565b60005a6033546040517f0674f2660000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690630674f2669061066c908890889088908890600401611ea3565b600060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b50506001546042546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b6106cb9190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561070a57600080fd5b505af115801561071e573d6000803e3d6000fd5b505050505050505050565b3360009081526034602052604081205490036107875760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b60448201526064015b60405180910390fd5b60005a6033546040517f07f7d2230000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906307f7d223906107d69086908690600401611f61565b600060405180830381600087803b1580156107f057600080fd5b505af1158015610804573d6000803e3d6000fd5b5050600154603c546001600160a01b039091169250637ad226dc91505a61082b9085611eeb565b6108359190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561087457600080fd5b505af1158015610888573d6000803e3d6000fd5b50505050505050565b606060378054806020026020016040519081016040528092919081815260200182805480156108e957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108cb575b5050505050905090565b606060358054806020026020016040519081016040528092919081815260200182805480156108e9576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108cb575050505050905090565b6037818154811061096357600080fd5b6000918252602090912001546001600160a01b0316905081565b610985611935565b603380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6109e1611935565b6109eb600061198f565b565b60005a6033546040517f77145f210000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906377145f2190610a429089908990899089908990600401611f84565b600060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b50506001546041546001600160a01b039091169250637ad226dc91505a610a979085611eeb565b610aa19190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b50505050505050505050565b610b08611935565b6001600160a01b03811660009081526036602052604081205490819003610b715760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a6500000000604482015260640161077e565b6037805460009190610b8590600190611eeb565b81548110610b9557610b95611fc0565b6000918252602090912001546001600160a01b03169050806037610bba600185611eeb565b81548110610bca57610bca611fc0565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506037805480610c0957610c09611fd6565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260369091526040808320859055908516808352818320839055905190917f8534c5565cb2e3175cf88e9616a3b20f6c5caf29d831c49d3f762921507780af91a2505050565b33610c946000546001600160a01b031690565b6001600160a01b031614610cea5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640161077e565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152603660205260408120549003610da15760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517f8ac89ce10000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690638ac89ce190610df490889088908890889060040161214c565b600060405180830381600087803b158015610e0e57600080fd5b505af1158015610e22573d6000803e3d6000fd5b50506001546039546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b336000908152603660205260408120549003610ea25760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517f9821c38b0000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690639821c38b90610ef39087908790879060040161219f565b600060405180830381600087803b158015610f0d57600080fd5b505af1158015610f21573d6000803e3d6000fd5b5050600154603d546001600160a01b039091169250637ad226dc91505a610f489085611eeb565b610f529190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610f9157600080fd5b505af1158015610fa5573d6000803e3d6000fd5b5050505050505050565b610fb7611935565b603780546001810182557f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603660205260408082209290925590517feb6ed19fe6551d940b426deea5c55162c4b2e6b3256f3507173e8f15be01faf39190a250565b3360009081526034602052604081205490036110965760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fa145e2d50000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063a145e2d5906110e39085906004016121dc565b600060405180830381600087803b1580156110fd57600080fd5b505af1158015611111573d6000803e3d6000fd5b5050600154603e546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b6111429190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b505050505050565b6035818154811061096357600080fd5b6111b5611935565b60388b905560398a9055603a899055603b889055603c879055603d869055603e859055603f84905560408381556041839055604282905580518c8152602081018c90529081018a9052606081018990526080810188905260a0810187905260c0810186905260e081018590526101008101849052610120810183905261014081018290527f2696d8d4050334a4233b7a4a7d94d1ae1badb0a200e1b222f2a9837664b4cc5e906101600160405180910390a15050505050505050505050565b3360009081526036602052604081205490036112cd5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fbd1501310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063bd150131906113209088908890889088906004016121ea565b600060405180830381600087803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b50506001546038546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b3360009081526034602052604081205490036113ce5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fc8b5d2db0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063c8b5d2db90602401600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50506001546040546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b3360009081526034602052604081205490036114d35760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fe44bdd310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e44bdd31906115229086908690600401611f61565b600060405180830381600087803b15801561153c57600080fd5b505af1158015611550573d6000803e3d6000fd5b5050600154603f546001600160a01b039091169250637ad226dc91505a61082b9085611eeb565b3360009081526036602052604081205490036115d05760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fe509397d0000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e509397d9061162390889088908890889060040161214c565b600060405180830381600087803b15801561163d57600080fd5b505af1158015611651573d6000803e3d6000fd5b5050600154603b546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b60005a6033546040517fee1dd3ea0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063ee1dd3ea90602401600060405180830381600087803b1580156116e957600080fd5b505af11580156116fd573d6000803e3d6000fd5b5050600154603a546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b61172c611935565b6001600160a01b0381166117a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161077e565b6117b18161198f565b50565b6117bc611935565b6001600160a01b038116600090815260346020526040812054908190036118255760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a6500000000604482015260640161077e565b603580546000919061183990600190611eeb565b8154811061184957611849611fc0565b6000918252602090912001546001600160a01b0316905080603561186e600185611eeb565b8154811061187e5761187e611fc0565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060358054806118bd576118bd611fd6565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260349091526040808320859055908516808352818320839055905190917fb43b4403ab2d3b17d8f18b9366c2da409c988c0a99b8ca0b006f9115dd676cb691a2505050565b6000546001600160a01b031633146109eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161077e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146117b157600080fd5b600060208284031215611a0657600080fd5b8135611a11816119df565b9392505050565b60008083601f840112611a2a57600080fd5b50813567ffffffffffffffff811115611a4257600080fd5b602083019150836020828501011115611a5a57600080fd5b9250929050565b60008060008060408587031215611a7757600080fd5b843567ffffffffffffffff80821115611a8f57600080fd5b611a9b88838901611a18565b90965094506020870135915080821115611ab457600080fd5b50611ac187828801611a18565b95989497509550505050565b80356bffffffffffffffffffffffff1981168114611aea57600080fd5b919050565b600060608284031215611b0157600080fd5b50919050565b60008060808385031215611b1a57600080fd5b611b2383611acd565b9150611b328460208501611aef565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015611b7c5783516001600160a01b031683529284019291840191600101611b57565b50909695505050505050565b600060208284031215611b9a57600080fd5b5035919050565b600080600080600060608688031215611bb957600080fd5b853567ffffffffffffffff80821115611bd157600080fd5b611bdd89838a01611a18565b90975095506020880135915080821115611bf657600080fd5b50611c0388828901611a18565b90945092505060408601358015158114611c1c57600080fd5b809150509295509295909350565b600060808284031215611b0157600080fd5b600060a08284031215611b0157600080fd5b60008060008060c08587031215611c6457600080fd5b843567ffffffffffffffff80821115611c7c57600080fd5b611c8888838901611c2a565b95506020870135915080821115611c9e57600080fd5b50611cab87828801611c3c565b935050611cbb8660408701611aef565b9150611cc960a08601611acd565b905092959194509250565b600080600060a08486031215611ce957600080fd5b833567ffffffffffffffff80821115611d0157600080fd5b611d0d87838801611c2a565b94506020860135915080821115611d2357600080fd5b50611d3086828701611c3c565b925050611d408560408601611aef565b90509250925092565b600060608284031215611d5b57600080fd5b611a118383611aef565b60008060008060008060008060008060006101608c8e031215611d8757600080fd5b505089359b60208b01359b5060408b01359a60608101359a506080810135995060a0810135985060c0810135975060e0810135965061010081013595506101208101359450610140013592509050565b60008060008060c08587031215611ded57600080fd5b843567ffffffffffffffff80821115611e0557600080fd5b611e1188838901611c2a565b95506020870135915080821115611e2757600080fd5b50611e3487828801611c3c565b935050611e448660408701611aef565b915060a0850135611e54816119df565b939692955090935050565b600060208284031215611e7157600080fd5b611a1182611acd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611eb7604083018688611e7a565b8281036020840152611eca818587611e7a565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611efe57611efe611ed5565b92915050565b80820180821115611efe57611efe611ed5565b80358252602081013563ffffffff8116808214611f3357600080fd5b602084015250604081013567ffffffffffffffff8116808214611f5557600080fd5b80604085015250505050565b6bffffffffffffffffffffffff198316815260808101611a116020830184611f17565b606081526000611f98606083018789611e7a565b8281036020840152611fab818688611e7a565b91505082151560408301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b80356001600160e01b031981168114611aea57600080fd5b6000808335601e1984360301811261201b57600080fd5b830160208101925035905067ffffffffffffffff81111561203b57600080fd5b803603821315611a5a57600080fd5b60006001600160e01b03198061205f84611fec565b16845261206f6020840184612004565b60806020870152612084608087018284611e7a565b9150506120946040850185612004565b86830360408801526120a7838284611e7a565b92505050816120b860608601611fec565b166060860152809250505092915050565b60006120d58283612004565b60a085526120e760a086018284611e7a565b915050602083013560208501526121016040840184612004565b8583036040870152612114838284611e7a565b925050506060830135606085015261212f6080840184612004565b8583036080870152612142838284611e7a565b9695505050505050565b60c08152600061215f60c083018761204a565b828103602084015261217181876120c9565b9150506121816040830185611f17565b6bffffffffffffffffffffffff19831660a083015295945050505050565b60a0815260006121b260a083018661204a565b82810360208401526121c481866120c9565b9150506121d46040830184611f17565b949350505050565b60608101611efe8284611f17565b60c0815260006121fd60c083018761204a565b828103602084015261220f81876120c9565b91505061221f6040830185611f17565b6001600160a01b03831660a08301529594505050505056fea2646970667358221220b5f512cb9bc2ef14468882dbfd40040f7bb798246ec57b5ddd29749769ab25ba64736f6c63430008110033";
1219
+ var _bytecode = "0x60806040523480156200001157600080fd5b50604051620023d6380380620023d683398101604081905262000034916200011a565b6200003f33620000b1565b603380546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055617530603855610fa060398190556103e8603a55614e20603b55610dac603c819055616590603d55603e55603f55610bb860405561271060415561138860425562000159565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146200011757600080fd5b50565b600080604083850312156200012e57600080fd5b82516200013b8162000101565b60208401519092506200014e8162000101565b809150509250929050565b61226d80620001696000396000f3fe608060405234801561001057600080fd5b50600436106102c75760003560e01c80639821c38b1161017b578063e12bad86116100d8578063e78cea921161008c578063f2fde38b11610071578063f2fde38b14610545578063f5c3c08414610558578063fc9a7c141461057857600080fd5b8063e78cea921461051f578063ee1dd3ea1461053257600080fd5b8063e44bdd31116100bd578063e44bdd31146104f0578063e46e6eda14610503578063e509397d1461050c57600080fd5b8063e12bad86146104de578063e3cfecd1146104e757600080fd5b8063bd1501311161012f578063c8b5d2db11610114578063c8b5d2db146104a2578063ca05b902146104b5578063ddd23f5e146104d557600080fd5b8063bd1501311461047c578063c09975cd1461048f57600080fd5b8063a145e2d511610160578063a145e2d514610443578063a95f786614610456578063bae516aa1461046957600080fd5b80639821c38b1461041d5780639f4b337d1461043057600080fd5b80636eb382121161022957806384862c19116101dd5780638ac89ce1116101c25780638ac89ce1146103f05780638da5cb5b1461040357806393b743bd1461041457600080fd5b806384862c19146103de57806389065e60146103e757600080fd5b806377145f211161020e57806377145f21146103a557806377ee72c8146103b85780637b35b4e6146103cb57600080fd5b80636eb382121461038a578063715018a61461039d57600080fd5b80632f5e2af7116102805780634147907c116102655780634147907c1461034d5780634b0e45711461035657806355e190361461038157600080fd5b80632f5e2af71461033c578063391f71701461034457600080fd5b806307f7d223116102b157806307f7d223146102f457806313f1a99f1461030757806319fd5c451461032557600080fd5b806215b04e146102cc5780630674f266146102e1575b600080fd5b6102df6102da3660046119f4565b61058b565b005b6102df6102ef366004611a61565b610619565b6102df610302366004611b07565b610729565b61030f610891565b60405161031c9190611b3b565b60405180910390f35b61032e603e5481565b60405190815260200161031c565b61030f6108f3565b61032e603a5481565b61032e60395481565b610369610364366004611b88565b610953565b6040516001600160a01b03909116815260200161031c565b61032e60385481565b6102df6103983660046119f4565b61097d565b6102df6109d9565b6102df6103b3366004611ba1565b6109ed565b6102df6103c63660046119f4565b610b00565b6102df6103d93660046119f4565b610c81565b61032e60425481565b61032e60415481565b6102df6103fe366004611c4e565b610d48565b6000546001600160a01b0316610369565b61032e60405481565b6102df61042b366004611cd4565b610e49565b6102df61043e3660046119f4565b610faf565b6102df610451366004611d49565b61103d565b610369610464366004611b88565b61119d565b6102df610477366004611d65565b6111ad565b6102df61048a366004611dd7565b611274565b600154610369906001600160a01b031681565b6102df6104b0366004611e5f565b611375565b61032e6104c33660046119f4565b60346020526000908152604090205481565b61032e603b5481565b61032e603d5481565b61032e603c5481565b6102df6104fe366004611b07565b61147a565b61032e603f5481565b6102df61051a366004611c4e565b611577565b603354610369906001600160a01b031681565b6102df610540366004611e5f565b611678565b6102df6105533660046119f4565b611724565b61032e6105663660046119f4565b60366020526000908152604090205481565b6102df6105863660046119f4565b6117b4565b610593611935565b603580546001810182557fcfa4bec1d3298408bb5afcfcd9c430549c5b31f8aa5c5848151c0a55f473c34d0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603460205260408082209290925590517f7b22a9ca0e4062aa08f1b002d95a3d99342205c693cb088e382d8e20cfb70a3a9190a250565b60005a6033546040517f0674f2660000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690630674f2669061066c908890889088908890600401611ea3565b600060405180830381600087803b15801561068657600080fd5b505af115801561069a573d6000803e3d6000fd5b50506001546042546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b6106cb9190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561070a57600080fd5b505af115801561071e573d6000803e3d6000fd5b505050505050505050565b3360009081526034602052604081205490036107875760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b60448201526064015b60405180910390fd5b60005a6033546040517f07f7d2230000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906307f7d223906107d69086908690600401611f61565b600060405180830381600087803b1580156107f057600080fd5b505af1158015610804573d6000803e3d6000fd5b5050600154603c546001600160a01b039091169250637ad226dc91505a61082b9085611eeb565b6108359190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561087457600080fd5b505af1158015610888573d6000803e3d6000fd5b50505050505050565b606060378054806020026020016040519081016040528092919081815260200182805480156108e957602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116108cb575b5050505050905090565b606060358054806020026020016040519081016040528092919081815260200182805480156108e9576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116108cb575050505050905090565b6037818154811061096357600080fd5b6000918252602090912001546001600160a01b0316905081565b610985611935565b603380546001600160a01b0319166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6109e1611935565b6109eb600061198f565b565b60005a6033546040517f77145f210000000000000000000000000000000000000000000000000000000081529192506001600160a01b0316906377145f2190610a429089908990899089908990600401611f84565b600060405180830381600087803b158015610a5c57600080fd5b505af1158015610a70573d6000803e3d6000fd5b50506001546041546001600160a01b039091169250637ad226dc91505a610a979085611eeb565b610aa19190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610ae057600080fd5b505af1158015610af4573d6000803e3d6000fd5b50505050505050505050565b610b08611935565b6001600160a01b03811660009081526036602052604081205490819003610b715760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a6500000000604482015260640161077e565b6037805460009190610b8590600190611eeb565b81548110610b9557610b95611fc0565b6000918252602090912001546001600160a01b03169050806037610bba600185611eeb565b81548110610bca57610bca611fc0565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506037805480610c0957610c09611fd6565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260369091526040808320859055908516808352818320839055905190917f8534c5565cb2e3175cf88e9616a3b20f6c5caf29d831c49d3f762921507780af91a2505050565b33610c946000546001600160a01b031690565b6001600160a01b031614610cea5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e6572000000000000000000604482015260640161077e565b6040516001600160a01b03821681527f0e2d2343d31b085b7c4e56d1c8a6ec79f7ab07460386f1c9a1756239fe2533ac9060200160405180910390a1600180546001600160a01b0319166001600160a01b0392909216919091179055565b336000908152603660205260408120549003610da15760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517f8ac89ce10000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690638ac89ce190610df490889088908890889060040161214c565b600060405180830381600087803b158015610e0e57600080fd5b505af1158015610e22573d6000803e3d6000fd5b50506001546039546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b336000908152603660205260408120549003610ea25760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517f9821c38b0000000000000000000000000000000000000000000000000000000081529192506001600160a01b031690639821c38b90610ef39087908790879060040161219f565b600060405180830381600087803b158015610f0d57600080fd5b505af1158015610f21573d6000803e3d6000fd5b5050600154603d546001600160a01b039091169250637ad226dc91505a610f489085611eeb565b610f529190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b158015610f9157600080fd5b505af1158015610fa5573d6000803e3d6000fd5b5050505050505050565b610fb7611935565b603780546001810182557f42a7b7dd785cd69714a189dffb3fd7d7174edc9ece837694ce50f7078f7c31ae0180546001600160a01b0319166001600160a01b03841690811790915590546000828152603660205260408082209290925590517feb6ed19fe6551d940b426deea5c55162c4b2e6b3256f3507173e8f15be01faf39190a250565b3360009081526034602052604081205490036110965760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fa145e2d50000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063a145e2d5906110e39085906004016121dc565b600060405180830381600087803b1580156110fd57600080fd5b505af1158015611111573d6000803e3d6000fd5b5050600154603e546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b6111429190611f04565b6040516001600160e01b031960e084901b1681526004810191909152336024820152604401600060405180830381600087803b15801561118157600080fd5b505af1158015611195573d6000803e3d6000fd5b505050505050565b6035818154811061096357600080fd5b6111b5611935565b60388b905560398a9055603a899055603b889055603c879055603d869055603e859055603f84905560408381556041839055604282905580518c8152602081018c90529081018a9052606081018990526080810188905260a0810187905260c0810186905260e081018590526101008101849052610120810183905261014081018290527f2696d8d4050334a4233b7a4a7d94d1ae1badb0a200e1b222f2a9837664b4cc5e906101600160405180910390a15050505050505050505050565b3360009081526036602052604081205490036112cd5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fbd1501310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063bd150131906113209088908890889088906004016121ea565b600060405180830381600087803b15801561133a57600080fd5b505af115801561134e573d6000803e3d6000fd5b50506001546038546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b3360009081526034602052604081205490036113ce5760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fc8b5d2db0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063c8b5d2db90602401600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50506001546040546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b3360009081526034602052604081205490036114d35760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fe44bdd310000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e44bdd31906115229086908690600401611f61565b600060405180830381600087803b15801561153c57600080fd5b505af1158015611550573d6000803e3d6000fd5b5050600154603f546001600160a01b039091169250637ad226dc91505a61082b9085611eeb565b3360009081526036602052604081205490036115d05760405162461bcd60e51b815260206004820152601860248201527710d85b1b195c881a5cc81b9bdd08185d5d1a1bdc9a5e995960421b604482015260640161077e565b60005a6033546040517fe509397d0000000000000000000000000000000000000000000000000000000081529192506001600160a01b03169063e509397d9061162390889088908890889060040161214c565b600060405180830381600087803b15801561163d57600080fd5b505af1158015611651573d6000803e3d6000fd5b5050600154603b546001600160a01b039091169250637ad226dc91505a6106c19085611eeb565b60005a6033546040517fee1dd3ea0000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff19851660048201529192506001600160a01b03169063ee1dd3ea90602401600060405180830381600087803b1580156116e957600080fd5b505af11580156116fd573d6000803e3d6000fd5b5050600154603a546001600160a01b039091169250637ad226dc91505a6111389085611eeb565b61172c611935565b6001600160a01b0381166117a85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f6464726573730000000000000000000000000000000000000000000000000000606482015260840161077e565b6117b18161198f565b50565b6117bc611935565b6001600160a01b038116600090815260346020526040812054908190036118255760405162461bcd60e51b815260206004820152601c60248201527f4e6f206d61696e7461696e657220746f20756e617574686f72697a6500000000604482015260640161077e565b603580546000919061183990600190611eeb565b8154811061184957611849611fc0565b6000918252602090912001546001600160a01b0316905080603561186e600185611eeb565b8154811061187e5761187e611fc0565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060358054806118bd576118bd611fd6565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03838116835260349091526040808320859055908516808352818320839055905190917fb43b4403ab2d3b17d8f18b9366c2da409c988c0a99b8ca0b006f9115dd676cb691a2505050565b6000546001600160a01b031633146109eb5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161077e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146117b157600080fd5b600060208284031215611a0657600080fd5b8135611a11816119df565b9392505050565b60008083601f840112611a2a57600080fd5b50813567ffffffffffffffff811115611a4257600080fd5b602083019150836020828501011115611a5a57600080fd5b9250929050565b60008060008060408587031215611a7757600080fd5b843567ffffffffffffffff80821115611a8f57600080fd5b611a9b88838901611a18565b90965094506020870135915080821115611ab457600080fd5b50611ac187828801611a18565b95989497509550505050565b80356bffffffffffffffffffffffff1981168114611aea57600080fd5b919050565b600060608284031215611b0157600080fd5b50919050565b60008060808385031215611b1a57600080fd5b611b2383611acd565b9150611b328460208501611aef565b90509250929050565b6020808252825182820181905260009190848201906040850190845b81811015611b7c5783516001600160a01b031683529284019291840191600101611b57565b50909695505050505050565b600060208284031215611b9a57600080fd5b5035919050565b600080600080600060608688031215611bb957600080fd5b853567ffffffffffffffff80821115611bd157600080fd5b611bdd89838a01611a18565b90975095506020880135915080821115611bf657600080fd5b50611c0388828901611a18565b90945092505060408601358015158114611c1c57600080fd5b809150509295509295909350565b600060808284031215611b0157600080fd5b600060a08284031215611b0157600080fd5b60008060008060c08587031215611c6457600080fd5b843567ffffffffffffffff80821115611c7c57600080fd5b611c8888838901611c2a565b95506020870135915080821115611c9e57600080fd5b50611cab87828801611c3c565b935050611cbb8660408701611aef565b9150611cc960a08601611acd565b905092959194509250565b600080600060a08486031215611ce957600080fd5b833567ffffffffffffffff80821115611d0157600080fd5b611d0d87838801611c2a565b94506020860135915080821115611d2357600080fd5b50611d3086828701611c3c565b925050611d408560408601611aef565b90509250925092565b600060608284031215611d5b57600080fd5b611a118383611aef565b60008060008060008060008060008060006101608c8e031215611d8757600080fd5b505089359b60208b01359b5060408b01359a60608101359a506080810135995060a0810135985060c0810135975060e0810135965061010081013595506101208101359450610140013592509050565b60008060008060c08587031215611ded57600080fd5b843567ffffffffffffffff80821115611e0557600080fd5b611e1188838901611c2a565b95506020870135915080821115611e2757600080fd5b50611e3487828801611c3c565b935050611e448660408701611aef565b915060a0850135611e54816119df565b939692955090935050565b600060208284031215611e7157600080fd5b611a1182611acd565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b604081526000611eb7604083018688611e7a565b8281036020840152611eca818587611e7a565b979650505050505050565b634e487b7160e01b600052601160045260246000fd5b81810381811115611efe57611efe611ed5565b92915050565b80820180821115611efe57611efe611ed5565b80358252602081013563ffffffff8116808214611f3357600080fd5b602084015250604081013567ffffffffffffffff8116808214611f5557600080fd5b80604085015250505050565b6bffffffffffffffffffffffff198316815260808101611a116020830184611f17565b606081526000611f98606083018789611e7a565b8281036020840152611fab818688611e7a565b91505082151560408301529695505050505050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052603160045260246000fd5b80356001600160e01b031981168114611aea57600080fd5b6000808335601e1984360301811261201b57600080fd5b830160208101925035905067ffffffffffffffff81111561203b57600080fd5b803603821315611a5a57600080fd5b60006001600160e01b03198061205f84611fec565b16845261206f6020840184612004565b60806020870152612084608087018284611e7a565b9150506120946040850185612004565b86830360408801526120a7838284611e7a565b92505050816120b860608601611fec565b166060860152809250505092915050565b60006120d58283612004565b60a085526120e760a086018284611e7a565b915050602083013560208501526121016040840184612004565b8583036040870152612114838284611e7a565b925050506060830135606085015261212f6080840184612004565b8583036080870152612142838284611e7a565b9695505050505050565b60c08152600061215f60c083018761204a565b828103602084015261217181876120c9565b9150506121816040830185611f17565b6bffffffffffffffffffffffff19831660a083015295945050505050565b60a0815260006121b260a083018661204a565b82810360208401526121c481866120c9565b9150506121d46040830184611f17565b949350505050565b60608101611efe8284611f17565b60c0815260006121fd60c083018761204a565b828103602084015261220f81876120c9565b91505061221f6040830185611f17565b6001600160a01b03831660a08301529594505050505056fea264697066735822122051136d8efbb90ed3c79899345e820aaeb040370d7cfbfec4e54c1c6a14cc859964736f6c63430008110033";
1220
1220
  var isSuperArgs = function (xs) { return xs.length > 1; };
1221
1221
  var MaintainerProxy__factory = /** @class */ (function (_super) {
1222
1222
  __extends(MaintainerProxy__factory, _super);