@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,720 @@
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.RebateStaking__factory = void 0;
44
+ /* Autogenerated file. Do not edit manually. */
45
+ /* tslint:disable */
46
+ /* eslint-disable */
47
+ var ethers_1 = require("ethers");
48
+ var _abi = [
49
+ {
50
+ inputs: [],
51
+ stateMutability: "nonpayable",
52
+ type: "constructor",
53
+ },
54
+ {
55
+ inputs: [],
56
+ name: "AmountCannotBeZero",
57
+ type: "error",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "AmountTooBig",
62
+ type: "error",
63
+ },
64
+ {
65
+ inputs: [],
66
+ name: "CallerNotBridge",
67
+ type: "error",
68
+ },
69
+ {
70
+ inputs: [],
71
+ name: "NoUnstakingProcess",
72
+ type: "error",
73
+ },
74
+ {
75
+ inputs: [],
76
+ name: "ParametersCannotBeZero",
77
+ type: "error",
78
+ },
79
+ {
80
+ inputs: [],
81
+ name: "RollingWindowCannotBeZero",
82
+ type: "error",
83
+ },
84
+ {
85
+ inputs: [],
86
+ name: "UnstakingAlreadyStarted",
87
+ type: "error",
88
+ },
89
+ {
90
+ inputs: [],
91
+ name: "UnstakingNotFinished",
92
+ type: "error",
93
+ },
94
+ {
95
+ inputs: [],
96
+ name: "ZeroAddress",
97
+ type: "error",
98
+ },
99
+ {
100
+ anonymous: false,
101
+ inputs: [
102
+ {
103
+ indexed: false,
104
+ internalType: "uint8",
105
+ name: "version",
106
+ type: "uint8",
107
+ },
108
+ ],
109
+ name: "Initialized",
110
+ type: "event",
111
+ },
112
+ {
113
+ anonymous: false,
114
+ inputs: [
115
+ {
116
+ indexed: true,
117
+ internalType: "address",
118
+ name: "previousOwner",
119
+ type: "address",
120
+ },
121
+ {
122
+ indexed: true,
123
+ internalType: "address",
124
+ name: "newOwner",
125
+ type: "address",
126
+ },
127
+ ],
128
+ name: "OwnershipTransferred",
129
+ type: "event",
130
+ },
131
+ {
132
+ anonymous: false,
133
+ inputs: [
134
+ {
135
+ indexed: false,
136
+ internalType: "address",
137
+ name: "staker",
138
+ type: "address",
139
+ },
140
+ {
141
+ indexed: false,
142
+ internalType: "uint256",
143
+ name: "requestedAt",
144
+ type: "uint256",
145
+ },
146
+ ],
147
+ name: "RebateCanceled",
148
+ type: "event",
149
+ },
150
+ {
151
+ anonymous: false,
152
+ inputs: [
153
+ {
154
+ indexed: false,
155
+ internalType: "uint256",
156
+ name: "rebatePerToken",
157
+ type: "uint256",
158
+ },
159
+ ],
160
+ name: "RebatePerTokenUpdated",
161
+ type: "event",
162
+ },
163
+ {
164
+ anonymous: false,
165
+ inputs: [
166
+ {
167
+ indexed: false,
168
+ internalType: "address",
169
+ name: "staker",
170
+ type: "address",
171
+ },
172
+ {
173
+ indexed: false,
174
+ internalType: "uint64",
175
+ name: "rebate",
176
+ type: "uint64",
177
+ },
178
+ ],
179
+ name: "RebateReceived",
180
+ type: "event",
181
+ },
182
+ {
183
+ anonymous: false,
184
+ inputs: [
185
+ {
186
+ indexed: false,
187
+ internalType: "uint256",
188
+ name: "rollingWindow",
189
+ type: "uint256",
190
+ },
191
+ ],
192
+ name: "RollingWindowUpdated",
193
+ type: "event",
194
+ },
195
+ {
196
+ anonymous: false,
197
+ inputs: [
198
+ {
199
+ indexed: false,
200
+ internalType: "address",
201
+ name: "staker",
202
+ type: "address",
203
+ },
204
+ {
205
+ indexed: false,
206
+ internalType: "uint256",
207
+ name: "amount",
208
+ type: "uint256",
209
+ },
210
+ ],
211
+ name: "Staked",
212
+ type: "event",
213
+ },
214
+ {
215
+ anonymous: false,
216
+ inputs: [
217
+ {
218
+ indexed: false,
219
+ internalType: "address",
220
+ name: "staker",
221
+ type: "address",
222
+ },
223
+ {
224
+ indexed: false,
225
+ internalType: "uint256",
226
+ name: "amount",
227
+ type: "uint256",
228
+ },
229
+ ],
230
+ name: "UnstakeFinished",
231
+ type: "event",
232
+ },
233
+ {
234
+ anonymous: false,
235
+ inputs: [
236
+ {
237
+ indexed: false,
238
+ internalType: "address",
239
+ name: "staker",
240
+ type: "address",
241
+ },
242
+ {
243
+ indexed: false,
244
+ internalType: "uint256",
245
+ name: "amount",
246
+ type: "uint256",
247
+ },
248
+ ],
249
+ name: "UnstakeStarted",
250
+ type: "event",
251
+ },
252
+ {
253
+ anonymous: false,
254
+ inputs: [
255
+ {
256
+ indexed: false,
257
+ internalType: "uint256",
258
+ name: "unstakingPeriod",
259
+ type: "uint256",
260
+ },
261
+ ],
262
+ name: "UnstakingPeriodUpdated",
263
+ type: "event",
264
+ },
265
+ {
266
+ inputs: [
267
+ {
268
+ internalType: "address",
269
+ name: "user",
270
+ type: "address",
271
+ },
272
+ {
273
+ internalType: "uint64",
274
+ name: "treasuryFee",
275
+ type: "uint64",
276
+ },
277
+ ],
278
+ name: "applyForRebate",
279
+ outputs: [
280
+ {
281
+ internalType: "uint64",
282
+ name: "",
283
+ type: "uint64",
284
+ },
285
+ ],
286
+ stateMutability: "nonpayable",
287
+ type: "function",
288
+ },
289
+ {
290
+ inputs: [],
291
+ name: "bridge",
292
+ outputs: [
293
+ {
294
+ internalType: "address",
295
+ name: "",
296
+ type: "address",
297
+ },
298
+ ],
299
+ stateMutability: "view",
300
+ type: "function",
301
+ },
302
+ {
303
+ inputs: [
304
+ {
305
+ internalType: "address",
306
+ name: "user",
307
+ type: "address",
308
+ },
309
+ {
310
+ internalType: "uint256",
311
+ name: "requestedAt",
312
+ type: "uint256",
313
+ },
314
+ ],
315
+ name: "cancelRebate",
316
+ outputs: [],
317
+ stateMutability: "nonpayable",
318
+ type: "function",
319
+ },
320
+ {
321
+ inputs: [
322
+ {
323
+ internalType: "address",
324
+ name: "receiver",
325
+ type: "address",
326
+ },
327
+ ],
328
+ name: "finalizeUnstaking",
329
+ outputs: [],
330
+ stateMutability: "nonpayable",
331
+ type: "function",
332
+ },
333
+ {
334
+ inputs: [
335
+ {
336
+ internalType: "address",
337
+ name: "user",
338
+ type: "address",
339
+ },
340
+ ],
341
+ name: "getAvailableRebate",
342
+ outputs: [
343
+ {
344
+ internalType: "uint64",
345
+ name: "rebateInWindow",
346
+ type: "uint64",
347
+ },
348
+ ],
349
+ stateMutability: "view",
350
+ type: "function",
351
+ },
352
+ {
353
+ inputs: [
354
+ {
355
+ internalType: "address",
356
+ name: "user",
357
+ type: "address",
358
+ },
359
+ {
360
+ internalType: "uint256",
361
+ name: "index",
362
+ type: "uint256",
363
+ },
364
+ ],
365
+ name: "getRebate",
366
+ outputs: [
367
+ {
368
+ internalType: "uint32",
369
+ name: "timestamp",
370
+ type: "uint32",
371
+ },
372
+ {
373
+ internalType: "uint64",
374
+ name: "feeRebate",
375
+ type: "uint64",
376
+ },
377
+ ],
378
+ stateMutability: "view",
379
+ type: "function",
380
+ },
381
+ {
382
+ inputs: [
383
+ {
384
+ internalType: "address",
385
+ name: "user",
386
+ type: "address",
387
+ },
388
+ ],
389
+ name: "getRebateCap",
390
+ outputs: [
391
+ {
392
+ internalType: "uint64",
393
+ name: "",
394
+ type: "uint64",
395
+ },
396
+ ],
397
+ stateMutability: "view",
398
+ type: "function",
399
+ },
400
+ {
401
+ inputs: [
402
+ {
403
+ internalType: "address",
404
+ name: "user",
405
+ type: "address",
406
+ },
407
+ ],
408
+ name: "getRebateLength",
409
+ outputs: [
410
+ {
411
+ internalType: "uint256",
412
+ name: "",
413
+ type: "uint256",
414
+ },
415
+ ],
416
+ stateMutability: "view",
417
+ type: "function",
418
+ },
419
+ {
420
+ inputs: [
421
+ {
422
+ internalType: "address",
423
+ name: "user",
424
+ type: "address",
425
+ },
426
+ ],
427
+ name: "getStake",
428
+ outputs: [
429
+ {
430
+ internalType: "uint96",
431
+ name: "stakedAmount",
432
+ type: "uint96",
433
+ },
434
+ ],
435
+ stateMutability: "view",
436
+ type: "function",
437
+ },
438
+ {
439
+ inputs: [
440
+ {
441
+ internalType: "address",
442
+ name: "user",
443
+ type: "address",
444
+ },
445
+ ],
446
+ name: "getUnstakingAmount",
447
+ outputs: [
448
+ {
449
+ internalType: "uint96",
450
+ name: "unstakingAmount",
451
+ type: "uint96",
452
+ },
453
+ {
454
+ internalType: "uint32",
455
+ name: "unstakingTimestamp",
456
+ type: "uint32",
457
+ },
458
+ ],
459
+ stateMutability: "view",
460
+ type: "function",
461
+ },
462
+ {
463
+ inputs: [
464
+ {
465
+ internalType: "address",
466
+ name: "_bridge",
467
+ type: "address",
468
+ },
469
+ {
470
+ internalType: "address",
471
+ name: "_token",
472
+ type: "address",
473
+ },
474
+ {
475
+ internalType: "uint256",
476
+ name: "_rollingWindow",
477
+ type: "uint256",
478
+ },
479
+ {
480
+ internalType: "uint256",
481
+ name: "_unstakingPeriod",
482
+ type: "uint256",
483
+ },
484
+ {
485
+ internalType: "uint256",
486
+ name: "_rebatePerToken",
487
+ type: "uint256",
488
+ },
489
+ ],
490
+ name: "initialize",
491
+ outputs: [],
492
+ stateMutability: "nonpayable",
493
+ type: "function",
494
+ },
495
+ {
496
+ inputs: [],
497
+ name: "owner",
498
+ outputs: [
499
+ {
500
+ internalType: "address",
501
+ name: "",
502
+ type: "address",
503
+ },
504
+ ],
505
+ stateMutability: "view",
506
+ type: "function",
507
+ },
508
+ {
509
+ inputs: [],
510
+ name: "rebatePerToken",
511
+ outputs: [
512
+ {
513
+ internalType: "uint256",
514
+ name: "",
515
+ type: "uint256",
516
+ },
517
+ ],
518
+ stateMutability: "view",
519
+ type: "function",
520
+ },
521
+ {
522
+ inputs: [],
523
+ name: "renounceOwnership",
524
+ outputs: [],
525
+ stateMutability: "nonpayable",
526
+ type: "function",
527
+ },
528
+ {
529
+ inputs: [],
530
+ name: "rollingWindow",
531
+ outputs: [
532
+ {
533
+ internalType: "uint256",
534
+ name: "",
535
+ type: "uint256",
536
+ },
537
+ ],
538
+ stateMutability: "view",
539
+ type: "function",
540
+ },
541
+ {
542
+ inputs: [
543
+ {
544
+ internalType: "uint96",
545
+ name: "amount",
546
+ type: "uint96",
547
+ },
548
+ ],
549
+ name: "stake",
550
+ outputs: [],
551
+ stateMutability: "nonpayable",
552
+ type: "function",
553
+ },
554
+ {
555
+ inputs: [
556
+ {
557
+ internalType: "address",
558
+ name: "",
559
+ type: "address",
560
+ },
561
+ ],
562
+ name: "stakes",
563
+ outputs: [
564
+ {
565
+ internalType: "uint96",
566
+ name: "stakedAmount",
567
+ type: "uint96",
568
+ },
569
+ {
570
+ internalType: "uint96",
571
+ name: "unstakingAmount",
572
+ type: "uint96",
573
+ },
574
+ {
575
+ internalType: "uint32",
576
+ name: "unstakingTimestamp",
577
+ type: "uint32",
578
+ },
579
+ {
580
+ internalType: "uint256",
581
+ name: "rollingWindowStartIndex",
582
+ type: "uint256",
583
+ },
584
+ ],
585
+ stateMutability: "view",
586
+ type: "function",
587
+ },
588
+ {
589
+ inputs: [
590
+ {
591
+ internalType: "uint96",
592
+ name: "amount",
593
+ type: "uint96",
594
+ },
595
+ ],
596
+ name: "startUnstaking",
597
+ outputs: [],
598
+ stateMutability: "nonpayable",
599
+ type: "function",
600
+ },
601
+ {
602
+ inputs: [],
603
+ name: "token",
604
+ outputs: [
605
+ {
606
+ internalType: "contract IERC20Upgradeable",
607
+ name: "",
608
+ type: "address",
609
+ },
610
+ ],
611
+ stateMutability: "view",
612
+ type: "function",
613
+ },
614
+ {
615
+ inputs: [
616
+ {
617
+ internalType: "address",
618
+ name: "newOwner",
619
+ type: "address",
620
+ },
621
+ ],
622
+ name: "transferOwnership",
623
+ outputs: [],
624
+ stateMutability: "nonpayable",
625
+ type: "function",
626
+ },
627
+ {
628
+ inputs: [],
629
+ name: "unstakingPeriod",
630
+ outputs: [
631
+ {
632
+ internalType: "uint256",
633
+ name: "",
634
+ type: "uint256",
635
+ },
636
+ ],
637
+ stateMutability: "view",
638
+ type: "function",
639
+ },
640
+ {
641
+ inputs: [
642
+ {
643
+ internalType: "uint256",
644
+ name: "_newRebatePerToken",
645
+ type: "uint256",
646
+ },
647
+ ],
648
+ name: "updateRebatePerToken",
649
+ outputs: [],
650
+ stateMutability: "nonpayable",
651
+ type: "function",
652
+ },
653
+ {
654
+ inputs: [
655
+ {
656
+ internalType: "uint256",
657
+ name: "_newRollingWindow",
658
+ type: "uint256",
659
+ },
660
+ ],
661
+ name: "updateRollingWindow",
662
+ outputs: [],
663
+ stateMutability: "nonpayable",
664
+ type: "function",
665
+ },
666
+ {
667
+ inputs: [
668
+ {
669
+ internalType: "uint256",
670
+ name: "_newUnstakingPeriod",
671
+ type: "uint256",
672
+ },
673
+ ],
674
+ name: "updateUnstakingPeriod",
675
+ outputs: [],
676
+ stateMutability: "nonpayable",
677
+ type: "function",
678
+ },
679
+ ];
680
+ var _bytecode = "0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611864806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c8063aabd792a116100c3578063e700ed351161007c578063e700ed3514610393578063e78cea92146103ca578063f21c783b146103dd578063f2fde38b146103e6578063fc0c546a146103f9578063fc1332db1461040c57600080fd5b8063aabd792a1461032b578063b3b27d7e1461033e578063c7abd59414610351578063d13f90b41461035a578063d5874a021461036d578063ddb0f90c1461038057600080fd5b806376b640321161011557806376b640321461025757806377a1ab33146102835780637a766460146102965780637b3c9d1a146102e05780638741d9b4146102f35780638da5cb5b1461030657600080fd5b806316934fc41461015d57806326f8c952146101e557806339e823f0146101fc57806351c1df8b1461022757806361f129ad1461023a578063715018a61461024f575b600080fd5b6101aa61016b366004611501565b606a60205260009081526040902080546001909101546001600160601b0380831692600160601b810490911691600160c01b90910463ffffffff169084565b604080516001600160601b03958616815294909316602085015263ffffffff9091169183019190915260608201526080015b60405180910390f35b6101ee60675481565b6040519081526020016101dc565b61020f61020a36600461151c565b610478565b6040516001600160401b0390911681526020016101dc565b61020f610235366004611501565b6105fb565b61024d61024836600461155f565b6106f1565b005b61024d6107c9565b6101ee610265366004611501565b6001600160a01b03166000908152606a602052604090206002015490565b61020f610291366004611501565b6107dd565b6102c86102a4366004611501565b6001600160a01b03166000908152606a60205260409020546001600160601b031690565b6040516001600160601b0390911681526020016101dc565b61024d6102ee366004611588565b610805565b61024d6103013660046115a1565b610849565b6033546001600160a01b03165b6040516001600160a01b0390911681526020016101dc565b61024d61033936600461155f565b6109bb565b61024d61034c366004611588565b610ad0565b6101ee60695481565b61024d6103683660046115cb565b610b0d565b61024d61037b366004611501565b610caa565b61024d61038e366004611588565b610e10565b6103a66103a13660046115a1565b610e6e565b6040805163ffffffff90931683526001600160401b039091166020830152016101dc565b606654610313906001600160a01b031681565b6101ee60685481565b61024d6103f4366004611501565b610ed3565b606554610313906001600160a01b031681565b61045461041a366004611501565b6001600160a01b03166000908152606a6020526040902054600160601b81046001600160601b031691600160c01b90910463ffffffff1690565b604080516001600160601b03909316835263ffffffff9091166020830152016101dc565b6066546000906001600160a01b031633146104a65760405163356a0b3d60e21b815260040160405180910390fd5b6001600160a01b0383166000908152606a60205260408120906104c882610f4c565b9050806001600160401b03166000036104e55783925050506105f5565b60006104f083610f9e565b9050806001600160401b0316826001600160401b031611610516578493505050506105f5565b6000610522828461162e565b9050856001600160401b0316816001600160401b031611156105415750845b6002840180546001810182556000918252602090912060339091020180546001600160401b038316640100000000026bffffffffffffffffffffffff1990911663ffffffff4216171781556040517f9c91e7e9f8f891850b80895e36d53ebba2d9558dc606eb310e6750ddb05445d5906105db908a9085906001600160a01b039290921682526001600160401b0316602082015260400190565b60405180910390a16105ed828861162e565b955050505050505b92915050565b6001600160a01b0381166000908152606a602052604081208161061d82610f4c565b9050806001600160401b031660000361063a575060009392505050565b600282015460000361064d579392505050565b60006067544261065d9190611655565b60018401549091505b60028401548110156106dd57600084600201828154811061068957610689611668565b60009182526020909120603390910201805490915063ffffffff1683116106ca5780546106c79064010000000090046001600160401b03168761167e565b95505b50806106d58161169e565b915050610666565b506106e8848361162e565b95945050505050565b806001600160601b031660000361071b5760405163d11b25af60e01b815260040160405180910390fd5b336000908152606a602052604081208054909183918391906107479084906001600160601b03166116b7565b92506101000a8154816001600160601b0302191690836001600160601b031602179055507f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d338360405161079c9291906116d7565b60405180910390a16065546107c5906001600160a01b031633306001600160601b03861661106b565b5050565b6107d16110dc565b6107db6000611136565b565b6001600160a01b0381166000908152606a602052604081206107fe81610f4c565b9392505050565b61080d6110dc565b60688190556040518181527f25c99a0119c3fb36cd24461dd1b8cff937972aa2ce86b3f5e4efb47a9015b0f2906020015b60405180910390a150565b6066546001600160a01b031633146108745760405163356a0b3d60e21b815260040160405180910390fd5b6001600160a01b0382166000908152606a60205260408120805490916001600160601b0390911690036108a657505050565b6000606754426108b69190611655565b60028301546001840154919250905b818110156109b35760008460020182815481106108e4576108e4611668565b60009182526020909120603390910201805490915063ffffffff1686101561090c57506109b3565b805463ffffffff168411156109375760018501805490600061092d8361169e565b91905055506109a0565b805463ffffffff1686036109a05780546bffffffffffffffff0000000019168155604080516001600160a01b0389168152602081018890527fb4b5b5684e992a98557bd35baf25674e01c0315e306e008a137a1051f0db7b23910160405180910390a1506109b3565b50806109ab8161169e565b9150506108c5565b505050505050565b806001600160601b03166000036109e55760405163d11b25af60e01b815260040160405180910390fd5b336000908152606a602052604090208054600160c01b900463ffffffff1615610a21576040516323e9144f60e21b815260040160405180910390fd5b80546001600160601b039081169083161115610a5057604051636b2f218360e01b815260040160405180910390fd5b8054600160601b600160e01b031916600160c01b4263ffffffff16026bffffffffffffffffffffffff60601b191617600160601b6001600160601b038416021781556040517f8dc99017bbc3e43adb345ab51be913750c7a9122ad67841b0f97b12ef3241e7490610ac490339085906116d7565b60405180910390a15050565b610ad86110dc565b60698190556040518181527f4d2199d69d6eeaaf6ff17312c20d0a408fc2c9df5698a87da4b1c9bdfeea8a709060200161083e565b600054610100900460ff1615808015610b2d5750600054600160ff909116105b80610b475750303b158015610b47575060005460ff166001145b610baf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff191660011790558015610bd2576000805461ff0019166101001790555b6001600160a01b0386161580610bef57506001600160a01b038516155b80610bf8575083155b15610c1657604051632dbe4d6760e11b815260040160405180910390fd5b606680546001600160a01b038089166001600160a01b0319928316179092556065805492881692909116919091179055606784905560688390556069829055610c5d611188565b80156109b3576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050505050565b6001600160a01b038116610cd15760405163d92e233d60e01b815260040160405180910390fd5b336000908152606a6020526040812080549091600160c01b90910463ffffffff169003610d11576040516346f333f560e01b815260040160405180910390fd5b60685481544291610d2e91600160c01b900463ffffffff166116f9565b1115610d4d57604051630781a91760e31b815260040160405180910390fd5b80546001600160601b03600160601b82048116918391600091610d729185911661170c565b82546101009290920a6001600160601b038181021990931691831602179091558254600160601b600160e01b031981168455604051600160601b90910490911691507fce1a25e80f3ff7c01363501765d22d8c1e6a01dd7a29b161ab5991c7bce3393390610de390339084906116d7565b60405180910390a1606554610e0b906001600160a01b0316846001600160601b0384166111b7565b505050565b610e186110dc565b80600003610e395760405163779df4eb60e11b815260040160405180910390fd5b60678190556040518181527f5bf49171ec21a2225ebd540f888d4c4c23845e503a0af5c533a99ff874a7617a9060200161083e565b6001600160a01b0382166000908152606a6020526040812060020180548291829185908110610e9f57610e9f611668565b600091825260209091206033909102015463ffffffff8116966401000000009091046001600160401b031695509350505050565b610edb6110dc565b6001600160a01b038116610f405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610ba6565b610f4981611136565b50565b6000606954600003610f6057506000919050565b60695482546105f59190610f86906001600160601b03600160601b82048116911661170c565b6001600160601b0316610f99919061172c565b6111e7565b60028101546000908103610fb457506000919050565b600060675442610fc49190611655565b60028401546001850154919250905b81811015611063576000856002018281548110610ff257610ff2611668565b60009182526020909120603390910201805490915063ffffffff16841115611030576001860180549060006110268361169e565b9190505550611050565b805461104d9064010000000090046001600160401b03168661167e565b94505b508061105b8161169e565b915050610fd3565b505050919050565b6040516001600160a01b03808516602483015283166044820152606481018290526110d69085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611253565b50505050565b6033546001600160a01b031633146107db5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610ba6565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166111af5760405162461bcd60e51b8152600401610ba69061174e565b6107db611325565b6040516001600160a01b038316602482015260448101829052610e0b90849063a9059cbb60e01b9060640161109f565b60006001600160401b0382111561124f5760405162461bcd60e51b815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203660448201526534206269747360d01b6064820152608401610ba6565b5090565b60006112a8826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113559092919063ffffffff16565b805190915015610e0b57808060200190518101906112c69190611799565b610e0b5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610ba6565b600054610100900460ff1661134c5760405162461bcd60e51b8152600401610ba69061174e565b6107db33611136565b6060611364848460008561136c565b949350505050565b6060824710156113cd5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610ba6565b600080866001600160a01b031685876040516113e991906117df565b60006040518083038185875af1925050503d8060008114611426576040519150601f19603f3d011682016040523d82523d6000602084013e61142b565b606091505b509150915061143c87838387611447565b979650505050505050565b606083156114b65782516000036114af576001600160a01b0385163b6114af5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ba6565b5081611364565b61136483838151156114cb5781518083602001fd5b8060405162461bcd60e51b8152600401610ba691906117fb565b80356001600160a01b03811681146114fc57600080fd5b919050565b60006020828403121561151357600080fd5b6107fe826114e5565b6000806040838503121561152f57600080fd5b611538836114e5565b915060208301356001600160401b038116811461155457600080fd5b809150509250929050565b60006020828403121561157157600080fd5b81356001600160601b03811681146107fe57600080fd5b60006020828403121561159a57600080fd5b5035919050565b600080604083850312156115b457600080fd5b6115bd836114e5565b946020939093013593505050565b600080600080600060a086880312156115e357600080fd5b6115ec866114e5565b94506115fa602087016114e5565b94979496505050506040830135926060810135926080909101359150565b634e487b7160e01b600052601160045260246000fd5b6001600160401b0382811682821603908082111561164e5761164e611618565b5092915050565b818103818111156105f5576105f5611618565b634e487b7160e01b600052603260045260246000fd5b6001600160401b0381811683821601908082111561164e5761164e611618565b6000600182016116b0576116b0611618565b5060010190565b6001600160601b0381811683821601908082111561164e5761164e611618565b6001600160a01b039290921682526001600160601b0316602082015260400190565b808201808211156105f5576105f5611618565b6001600160601b0382811682821603908082111561164e5761164e611618565b60008261174957634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156117ab57600080fd5b815180151581146107fe57600080fd5b60005b838110156117d65781810151838201526020016117be565b50506000910152565b600082516117f18184602087016117bb565b9190910192915050565b602081526000825180602084015261181a8160408501602087016117bb565b601f01601f1916919091016040019291505056fea2646970667358221220bdd83a25c45b13fce3a64ab6252a7d3600122443956d56c6219fb903bbe36d9264736f6c63430008110033";
681
+ var isSuperArgs = function (xs) { return xs.length > 1; };
682
+ var RebateStaking__factory = /** @class */ (function (_super) {
683
+ __extends(RebateStaking__factory, _super);
684
+ function RebateStaking__factory() {
685
+ var args = [];
686
+ for (var _i = 0; _i < arguments.length; _i++) {
687
+ args[_i] = arguments[_i];
688
+ }
689
+ var _this = this;
690
+ if (isSuperArgs(args)) {
691
+ _this = _super.apply(this, __spreadArray([], __read(args), false)) || this;
692
+ }
693
+ else {
694
+ _this = _super.call(this, _abi, _bytecode, args[0]) || this;
695
+ }
696
+ return _this;
697
+ }
698
+ RebateStaking__factory.prototype.deploy = function (overrides) {
699
+ return _super.prototype.deploy.call(this, overrides || {});
700
+ };
701
+ RebateStaking__factory.prototype.getDeployTransaction = function (overrides) {
702
+ return _super.prototype.getDeployTransaction.call(this, overrides || {});
703
+ };
704
+ RebateStaking__factory.prototype.attach = function (address) {
705
+ return _super.prototype.attach.call(this, address);
706
+ };
707
+ RebateStaking__factory.prototype.connect = function (signer) {
708
+ return _super.prototype.connect.call(this, signer);
709
+ };
710
+ RebateStaking__factory.createInterface = function () {
711
+ return new ethers_1.utils.Interface(_abi);
712
+ };
713
+ RebateStaking__factory.connect = function (address, signerOrProvider) {
714
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
715
+ };
716
+ RebateStaking__factory.bytecode = _bytecode;
717
+ RebateStaking__factory.abi = _abi;
718
+ return RebateStaking__factory;
719
+ }(ethers_1.ContractFactory));
720
+ exports.RebateStaking__factory = RebateStaking__factory;