@keep-network/tbtc-v2 0.1.0 → 0.1.1-dev

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 (296) hide show
  1. package/README.adoc +12 -0
  2. package/artifacts/.chainId +1 -1
  3. package/artifacts/Bank.json +807 -0
  4. package/artifacts/Bridge.json +2300 -0
  5. package/artifacts/Deposit.json +117 -0
  6. package/artifacts/DepositSweep.json +77 -0
  7. package/artifacts/EcdsaDkgValidator.json +532 -0
  8. package/artifacts/EcdsaInactivity.json +156 -0
  9. package/artifacts/EcdsaSortitionPool.json +1004 -0
  10. package/artifacts/Fraud.json +164 -0
  11. package/artifacts/KeepRegistry.json +99 -0
  12. package/artifacts/KeepStake.json +286 -0
  13. package/artifacts/KeepToken.json +711 -0
  14. package/artifacts/KeepTokenStaking.json +483 -0
  15. package/artifacts/MovingFunds.json +249 -0
  16. package/artifacts/NuCypherStakingEscrow.json +256 -0
  17. package/artifacts/NuCypherToken.json +711 -0
  18. package/artifacts/RandomBeaconStub.json +141 -0
  19. package/artifacts/Redemption.json +174 -0
  20. package/artifacts/ReimbursementPool.json +509 -0
  21. package/artifacts/Relay.json +123 -0
  22. package/artifacts/T.json +1148 -0
  23. package/artifacts/TBTC.json +36 -35
  24. package/artifacts/TBTCToken.json +738 -0
  25. package/artifacts/TBTCVault.json +691 -0
  26. package/artifacts/TokenStaking.json +2288 -0
  27. package/artifacts/TokenholderGovernor.json +1795 -0
  28. package/artifacts/TokenholderTimelock.json +1058 -0
  29. package/artifacts/VendingMachine.json +34 -33
  30. package/artifacts/VendingMachineKeep.json +400 -0
  31. package/artifacts/VendingMachineNuCypher.json +400 -0
  32. package/artifacts/WalletRegistry.json +1843 -0
  33. package/artifacts/WalletRegistryGovernance.json +2754 -0
  34. package/artifacts/Wallets.json +186 -0
  35. package/artifacts/solcInputs/5e62cff1ead0900b07facca4b559e818.json +314 -0
  36. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
  37. package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
  38. package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
  39. package/build/contracts/bank/Bank.sol/Bank.json +542 -0
  40. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
  41. package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
  42. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
  43. package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
  44. package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
  45. package/build/contracts/bridge/Bridge.sol/Bridge.json +2686 -0
  46. package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
  47. package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
  48. package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
  49. package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
  50. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
  51. package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
  52. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
  53. package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
  54. package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
  55. package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
  56. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
  57. package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
  58. package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
  59. package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
  60. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
  61. package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
  62. package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
  63. package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
  64. package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
  65. package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
  66. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
  67. package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
  68. package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
  69. package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
  70. package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
  71. package/build/contracts/token/TBTC.sol/TBTC.json +4 -4
  72. package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
  73. package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
  74. package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
  75. package/build/contracts/vault/IVault.sol/IVault.json +52 -0
  76. package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
  77. package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +449 -0
  78. package/contracts/GovernanceUtils.sol +4 -4
  79. package/contracts/bank/Bank.sol +436 -0
  80. package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
  81. package/contracts/bridge/BitcoinTx.sol +326 -0
  82. package/contracts/bridge/Bridge.sol +1793 -0
  83. package/contracts/bridge/BridgeState.sol +739 -0
  84. package/contracts/bridge/Deposit.sol +269 -0
  85. package/contracts/bridge/DepositSweep.sol +574 -0
  86. package/contracts/bridge/EcdsaLib.sol +45 -0
  87. package/contracts/bridge/Fraud.sol +579 -0
  88. package/contracts/bridge/Heartbeat.sol +112 -0
  89. package/contracts/bridge/IRelay.sol +28 -0
  90. package/contracts/bridge/MovingFunds.sol +1077 -0
  91. package/contracts/bridge/Redemption.sol +1020 -0
  92. package/contracts/bridge/VendingMachine.sol +2 -2
  93. package/contracts/bridge/Wallets.sol +719 -0
  94. package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
  95. package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
  96. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
  97. package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
  98. package/contracts/token/TBTC.sol +1 -1
  99. package/contracts/vault/DonationVault.sol +125 -0
  100. package/contracts/vault/IVault.sol +44 -0
  101. package/contracts/vault/TBTCVault.sol +305 -0
  102. package/deploy/00_resolve_relay.ts +28 -0
  103. package/deploy/00_resolve_tbtc_v1_token.ts +1 -1
  104. package/deploy/01_deploy_tbtc_v2_token.ts +8 -1
  105. package/deploy/02_deploy_vending_machine.ts +7 -0
  106. package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
  107. package/deploy/04_deploy_bank.ts +27 -0
  108. package/deploy/05_deploy_bridge.ts +80 -0
  109. package/deploy/06_deploy_tbtc_vault.ts +30 -0
  110. package/deploy/07_bank_update_bridge.ts +19 -0
  111. package/deploy/08_transfer_bank_ownership.ts +15 -0
  112. package/deploy/09_transfer_tbtc_vault_ownership.ts +15 -0
  113. package/deploy/10_transfer_bridge_governance.ts +20 -0
  114. package/deploy/11_initialize_wallet_owner.ts +18 -0
  115. package/deploy/11_transfer_proxy_admin_ownership.ts +30 -0
  116. package/deploy/12_deploy_proxy_admin_with_deputy.ts +33 -0
  117. package/export/deploy/00_resolve_relay.js +24 -0
  118. package/export/deploy/00_resolve_tbtc_v1_token.js +24 -0
  119. package/export/deploy/01_deploy_tbtc_v2_token.js +19 -0
  120. package/export/deploy/02_deploy_vending_machine.js +25 -0
  121. package/export/deploy/03_transfer_vending_machine_roles.js +19 -0
  122. package/export/deploy/04_deploy_bank.js +21 -0
  123. package/export/deploy/05_deploy_bridge.js +69 -0
  124. package/export/deploy/06_deploy_tbtc_vault.js +24 -0
  125. package/export/deploy/07_bank_update_bridge.js +13 -0
  126. package/export/deploy/08_transfer_bank_ownership.js +11 -0
  127. package/export/deploy/09_transfer_tbtc_vault_ownership.js +11 -0
  128. package/export/deploy/10_transfer_bridge_governance.js +11 -0
  129. package/export/deploy/11_initialize_wallet_owner.js +14 -0
  130. package/export/deploy/11_transfer_proxy_admin_ownership.js +23 -0
  131. package/export/deploy/12_deploy_proxy_admin_with_deputy.js +22 -0
  132. package/export/hardhat.config.js +169 -0
  133. package/export/test/bank/Bank.test.js +1012 -0
  134. package/export/test/bridge/Bridge.Deployment.test.js +76 -0
  135. package/export/test/bridge/Bridge.Deposit.test.js +1834 -0
  136. package/export/test/bridge/Bridge.Frauds.test.js +1349 -0
  137. package/export/test/bridge/Bridge.MovingFunds.test.js +2437 -0
  138. package/export/test/bridge/Bridge.Parameters.test.js +400 -0
  139. package/export/test/bridge/Bridge.Redemption.test.js +2523 -0
  140. package/export/test/bridge/Bridge.Vaults.test.js +74 -0
  141. package/export/test/bridge/Bridge.Wallets.test.js +1017 -0
  142. package/export/test/bridge/EcdsaLib.test.js +46 -0
  143. package/export/test/bridge/Heartbeat.test.js +77 -0
  144. package/export/test/bridge/VendingMachine.Upgrade.test.js +160 -0
  145. package/export/test/bridge/VendingMachine.test.js +762 -0
  146. package/export/test/data/deposit-sweep.js +655 -0
  147. package/export/test/data/ecdsa.js +18 -0
  148. package/export/test/data/fraud.js +158 -0
  149. package/export/test/data/moving-funds.js +815 -0
  150. package/export/test/data/redemption.js +1011 -0
  151. package/export/test/fixtures/bridge.js +54 -0
  152. package/export/test/fixtures/index.js +57 -0
  153. package/export/test/helpers/contract-test-helpers.js +18 -0
  154. package/export/test/integration/Slashing.test.js +279 -0
  155. package/export/test/integration/WalleCreation.test.js +66 -0
  156. package/export/test/integration/utils/ecdsa-wallet-registry.js +137 -0
  157. package/export/test/integration/utils/fixture.js +77 -0
  158. package/export/test/integration/utils/gas.js +36 -0
  159. package/export/test/integration/utils/random-beacon.js +26 -0
  160. package/export/test/integration/utils/staking.js +19 -0
  161. package/export/test/vault/DonationVault.test.js +202 -0
  162. package/export/test/vault/TBTCVault.Redemption.test.js +357 -0
  163. package/export/test/vault/TBTCVault.test.js +768 -0
  164. package/export/typechain/BTCUtils.js +2 -0
  165. package/export/typechain/Bank.js +2 -0
  166. package/export/typechain/BankStub.js +2 -0
  167. package/export/typechain/Bridge.js +2 -0
  168. package/export/typechain/BridgeState.js +2 -0
  169. package/export/typechain/BridgeStub.js +2 -0
  170. package/export/typechain/Deposit.js +2 -0
  171. package/export/typechain/DepositSweep.js +2 -0
  172. package/export/typechain/DonationVault.js +2 -0
  173. package/export/typechain/ERC165.js +2 -0
  174. package/export/typechain/ERC1967Proxy.js +2 -0
  175. package/export/typechain/ERC1967Upgrade.js +2 -0
  176. package/export/typechain/ERC20WithPermit.js +2 -0
  177. package/export/typechain/ERC721.js +2 -0
  178. package/export/typechain/EcdsaAuthorization.js +2 -0
  179. package/export/typechain/EcdsaDkg.js +2 -0
  180. package/export/typechain/EcdsaDkgValidator.js +2 -0
  181. package/export/typechain/EcdsaInactivity.js +2 -0
  182. package/export/typechain/Fraud.js +2 -0
  183. package/export/typechain/Governable.js +2 -0
  184. package/export/typechain/HeartbeatStub.js +2 -0
  185. package/export/typechain/IApplication.js +2 -0
  186. package/export/typechain/IApproveAndCall.js +2 -0
  187. package/export/typechain/IBeacon.js +2 -0
  188. package/export/typechain/IERC165.js +2 -0
  189. package/export/typechain/IERC1822Proxiable.js +2 -0
  190. package/export/typechain/IERC20.js +2 -0
  191. package/export/typechain/IERC20Metadata.js +2 -0
  192. package/export/typechain/IERC20WithPermit.js +2 -0
  193. package/export/typechain/IERC721.js +2 -0
  194. package/export/typechain/IERC721Metadata.js +2 -0
  195. package/export/typechain/IERC721Receiver.js +2 -0
  196. package/export/typechain/IRandomBeacon.js +2 -0
  197. package/export/typechain/IRandomBeaconConsumer.js +2 -0
  198. package/export/typechain/IReceiveApproval.js +2 -0
  199. package/export/typechain/IReceiveBalanceApproval.js +2 -0
  200. package/export/typechain/IRelay.js +2 -0
  201. package/export/typechain/IStaking.js +2 -0
  202. package/export/typechain/IVault.js +2 -0
  203. package/export/typechain/IWalletOwner.js +2 -0
  204. package/export/typechain/IWalletRegistry.js +2 -0
  205. package/export/typechain/Initializable.js +2 -0
  206. package/export/typechain/MisfundRecovery.js +2 -0
  207. package/export/typechain/MovingFunds.js +2 -0
  208. package/export/typechain/Ownable.js +2 -0
  209. package/export/typechain/Proxy.js +2 -0
  210. package/export/typechain/ProxyAdmin.js +2 -0
  211. package/export/typechain/ReceiveApprovalStub.js +2 -0
  212. package/export/typechain/Redemption.js +2 -0
  213. package/export/typechain/Reimbursable.js +2 -0
  214. package/export/typechain/ReimbursementPool.js +2 -0
  215. package/export/typechain/Rewards.js +2 -0
  216. package/export/typechain/SortitionPool.js +2 -0
  217. package/export/typechain/SortitionTree.js +2 -0
  218. package/export/typechain/TBTC.js +2 -0
  219. package/export/typechain/TBTCVault.js +2 -0
  220. package/export/typechain/TestERC20.js +2 -0
  221. package/export/typechain/TestERC721.js +2 -0
  222. package/export/typechain/TestEcdsaLib.js +2 -0
  223. package/export/typechain/TestRelay.js +2 -0
  224. package/export/typechain/TransparentUpgradeableProxy.js +2 -0
  225. package/export/typechain/VendingMachine.js +2 -0
  226. package/export/typechain/WalletRegistry.js +2 -0
  227. package/export/typechain/Wallets.js +2 -0
  228. package/export/typechain/common.js +2 -0
  229. package/export/typechain/factories/BTCUtils__factory.js +94 -0
  230. package/export/typechain/factories/BankStub__factory.js +586 -0
  231. package/export/typechain/factories/Bank__factory.js +573 -0
  232. package/export/typechain/factories/BridgeState__factory.js +257 -0
  233. package/export/typechain/factories/BridgeStub__factory.js +2912 -0
  234. package/export/typechain/factories/Bridge__factory.js +2526 -0
  235. package/export/typechain/factories/DepositSweep__factory.js +61 -0
  236. package/export/typechain/factories/Deposit__factory.js +103 -0
  237. package/export/typechain/factories/DonationVault__factory.js +139 -0
  238. package/export/typechain/factories/ERC165__factory.js +38 -0
  239. package/export/typechain/factories/ERC1967Proxy__factory.js +111 -0
  240. package/export/typechain/factories/ERC1967Upgrade__factory.js +64 -0
  241. package/export/typechain/factories/ERC20WithPermit__factory.js +524 -0
  242. package/export/typechain/factories/ERC721__factory.js +388 -0
  243. package/export/typechain/factories/EcdsaAuthorization__factory.js +211 -0
  244. package/export/typechain/factories/EcdsaDkgValidator__factory.js +441 -0
  245. package/export/typechain/factories/EcdsaDkg__factory.js +192 -0
  246. package/export/typechain/factories/EcdsaInactivity__factory.js +134 -0
  247. package/export/typechain/factories/Fraud__factory.js +117 -0
  248. package/export/typechain/factories/Governable__factory.js +64 -0
  249. package/export/typechain/factories/HeartbeatStub__factory.js +61 -0
  250. package/export/typechain/factories/IApplication__factory.js +152 -0
  251. package/export/typechain/factories/IApproveAndCall__factory.js +48 -0
  252. package/export/typechain/factories/IBeacon__factory.js +32 -0
  253. package/export/typechain/factories/IERC165__factory.js +38 -0
  254. package/export/typechain/factories/IERC1822Proxiable__factory.js +32 -0
  255. package/export/typechain/factories/IERC20Metadata__factory.js +241 -0
  256. package/export/typechain/factories/IERC20WithPermit__factory.js +389 -0
  257. package/export/typechain/factories/IERC20__factory.js +202 -0
  258. package/export/typechain/factories/IERC721Metadata__factory.js +349 -0
  259. package/export/typechain/factories/IERC721Receiver__factory.js +53 -0
  260. package/export/typechain/factories/IERC721__factory.js +304 -0
  261. package/export/typechain/factories/IRandomBeaconConsumer__factory.js +37 -0
  262. package/export/typechain/factories/IRandomBeacon__factory.js +32 -0
  263. package/export/typechain/factories/IReceiveApproval__factory.js +47 -0
  264. package/export/typechain/factories/IReceiveBalanceApproval__factory.js +42 -0
  265. package/export/typechain/factories/IRelay__factory.js +45 -0
  266. package/export/typechain/factories/IStaking__factory.js +722 -0
  267. package/export/typechain/factories/IVault__factory.js +60 -0
  268. package/export/typechain/factories/IWalletOwner__factory.js +65 -0
  269. package/export/typechain/factories/IWalletRegistry__factory.js +138 -0
  270. package/export/typechain/factories/Initializable__factory.js +32 -0
  271. package/export/typechain/factories/MisfundRecovery__factory.js +145 -0
  272. package/export/typechain/factories/MovingFunds__factory.js +169 -0
  273. package/export/typechain/factories/Ownable__factory.js +71 -0
  274. package/export/typechain/factories/ProxyAdmin__factory.js +191 -0
  275. package/export/typechain/factories/Proxy__factory.js +27 -0
  276. package/export/typechain/factories/ReceiveApprovalStub__factory.js +127 -0
  277. package/export/typechain/factories/Redemption__factory.js +123 -0
  278. package/export/typechain/factories/Reimbursable__factory.js +58 -0
  279. package/export/typechain/factories/ReimbursementPool__factory.js +350 -0
  280. package/export/typechain/factories/Rewards__factory.js +117 -0
  281. package/export/typechain/factories/SortitionPool__factory.js +610 -0
  282. package/export/typechain/factories/SortitionTree__factory.js +149 -0
  283. package/export/typechain/factories/TBTCVault__factory.js +480 -0
  284. package/export/typechain/factories/TBTC__factory.js +564 -0
  285. package/export/typechain/factories/TestERC20__factory.js +539 -0
  286. package/export/typechain/factories/TestERC721__factory.js +421 -0
  287. package/export/typechain/factories/TestEcdsaLib__factory.js +66 -0
  288. package/export/typechain/factories/TestRelay__factory.js +94 -0
  289. package/export/typechain/factories/TransparentUpgradeableProxy__factory.js +186 -0
  290. package/export/typechain/factories/VendingMachine__factory.js +549 -0
  291. package/export/typechain/factories/WalletRegistry__factory.js +1919 -0
  292. package/export/typechain/factories/Wallets__factory.js +143 -0
  293. package/export/typechain/index.js +132 -0
  294. package/export.json +15932 -503
  295. package/package.json +47 -26
  296. package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -104
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EcdsaInactivity__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "groupThreshold",
12
+ outputs: [
13
+ {
14
+ internalType: "uint256",
15
+ name: "",
16
+ type: "uint256",
17
+ },
18
+ ],
19
+ stateMutability: "view",
20
+ type: "function",
21
+ },
22
+ {
23
+ inputs: [],
24
+ name: "signatureByteSize",
25
+ outputs: [
26
+ {
27
+ internalType: "uint256",
28
+ name: "",
29
+ type: "uint256",
30
+ },
31
+ ],
32
+ stateMutability: "view",
33
+ type: "function",
34
+ },
35
+ {
36
+ inputs: [
37
+ {
38
+ internalType: "contract SortitionPool",
39
+ name: "sortitionPool",
40
+ type: "SortitionPool",
41
+ },
42
+ {
43
+ components: [
44
+ {
45
+ internalType: "bytes32",
46
+ name: "walletID",
47
+ type: "bytes32",
48
+ },
49
+ {
50
+ internalType: "uint256[]",
51
+ name: "inactiveMembersIndices",
52
+ type: "uint256[]",
53
+ },
54
+ {
55
+ internalType: "bool",
56
+ name: "heartbeatFailed",
57
+ type: "bool",
58
+ },
59
+ {
60
+ internalType: "bytes",
61
+ name: "signatures",
62
+ type: "bytes",
63
+ },
64
+ {
65
+ internalType: "uint256[]",
66
+ name: "signingMembersIndices",
67
+ type: "uint256[]",
68
+ },
69
+ ],
70
+ internalType: "struct EcdsaInactivity.Claim",
71
+ name: "claim",
72
+ type: "tuple",
73
+ },
74
+ {
75
+ internalType: "bytes",
76
+ name: "walletPubKey",
77
+ type: "bytes",
78
+ },
79
+ {
80
+ internalType: "uint256",
81
+ name: "nonce",
82
+ type: "uint256",
83
+ },
84
+ {
85
+ internalType: "uint32[]",
86
+ name: "groupMembers",
87
+ type: "uint32[]",
88
+ },
89
+ ],
90
+ name: "verifyClaim",
91
+ outputs: [
92
+ {
93
+ internalType: "uint32[]",
94
+ name: "inactiveMembers",
95
+ type: "uint32[]",
96
+ },
97
+ ],
98
+ stateMutability: "view",
99
+ type: "function",
100
+ },
101
+ ];
102
+ const _bytecode = "0x6111f661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c80636dcc64f81461005057806389ef44b01461006b578063f4df04be14610073575b600080fd5b610058603381565b6040519081526020015b60405180910390f35b610058604181565b610086610081366004610d0e565b610093565b6040516100629190610e14565b60606100ab6100a56020880188610e5e565b84610684565b600060416100bc6060890189610ea8565b6100c7929150610f1b565b90506100d66060880188610ea8565b1515905061012b5760405162461bcd60e51b815260206004820152601660248201527f4e6f207369676e6174757265732070726f76696465640000000000000000000060448201526064015b60405180910390fd5b604161013a6060890189610ea8565b610145929150610f2f565b156101925760405162461bcd60e51b815260206004820152601a60248201527f4d616c666f726d6564207369676e6174757265732061727261790000000000006044820152606401610122565b61019f6080880188610e5e565b905081146101ef5760405162461bcd60e51b815260206004820152601b60248201527f556e6578706563746564207369676e61747572657320636f756e7400000000006044820152606401610122565b60338110156102405760405162461bcd60e51b815260206004820152601260248201527f546f6f20666577207369676e61747572657300000000000000000000000000006044820152606401610122565b828111156102905760405162461bcd60e51b815260206004820152601360248201527f546f6f206d616e79207369676e617475726573000000000000000000000000006044820152606401610122565b6102a66102a06080890189610e5e565b85610684565b600061033e86886102ba60208c018c610e5e565b6102ca60608e0160408f01610f43565b6040516020016102de959493929190610f6c565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b90506000896001600160a01b031663f7f9a8fa87876040518363ffffffff1660e01b8152600401610370929190611015565b60006040518083038186803b15801561038857600080fd5b505afa15801561039c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526103c4919081019061105e565b905060606000805b858110156105255760006103e360808e018e610e5e565b838181106103f3576103f3611110565b90506020020135905061045c82604161040c9190611126565b60418f806060019061041e9190610ea8565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092949392505061082c9050565b9350600061046a87866108dc565b90506001600160a01b03811686610482600185611145565b8151811061049257610492611110565b60200260200101516001600160a01b0316146104f05760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e61747572650000000000000000000000000000006044820152606401610122565b831580156105065750336001600160a01b038216145b1561051057600193505b5050808061051d9061115c565b9150506103cc565b50806105735760405162461bcd60e51b815260206004820152601b60248201527f53656e646572206d75737420626520636c61696d207369676e657200000000006044820152606401610122565b61058060208c018c610e5e565b905067ffffffffffffffff81111561059a5761059a610c82565b6040519080825280602002602001820160405280156105c3578160200160208202803683370190505b50955060005b6105d660208d018d610e5e565b90508110156106745760006105ee60208e018e610e5e565b838181106105fe576105fe611110565b90506020020135905089896001836106169190611145565b81811061062557610625611110565b905060200201602081019061063a9190611177565b88838151811061064c5761064c611110565b63ffffffff90921660209283029190910190910152508061066c8161115c565b9150506105c9565b5050505050509695505050505050565b81158015906106935750808211155b6106df5760405162461bcd60e51b815260206004820152601960248201527f436f72727570746564206d656d6265727320696e6469636573000000000000006044820152606401610122565b6000838360008181106106f4576106f4611110565b9050602002013511801561072a5750808383610711600182611145565b81811061072057610720611110565b9050602002013511155b6107765760405162461bcd60e51b815260206004820152601960248201527f436f72727570746564206d656d6265727320696e6469636573000000000000006044820152606401610122565b60005b610784600184611145565b811015610826578383610798836001611192565b8181106107a7576107a7611110565b905060200201358484838181106107c0576107c0611110565b90506020020135106108145760405162461bcd60e51b815260206004820152601960248201527f436f72727570746564206d656d6265727320696e6469636573000000000000006044820152606401610122565b8061081e8161115c565b915050610779565b50505050565b6060600061083a8385611192565b9050838111801561084c575080855110155b6108985760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e6473000000000000000000000000006044820152606401610122565b604051915082604083010160405282825283850182038460208701018481015b808210156108d1578151838301526020820191506108b8565b505050509392505050565b60008060006108eb8585610900565b915091506108f881610970565b509392505050565b6000808251604114156109375760208301516040840151606085015160001a61092b87828585610b2e565b94509450505050610969565b8251604014156109615760208301516040840151610956868383610c1b565b935093505050610969565b506000905060025b9250929050565b6000816004811115610984576109846111aa565b141561098d5750565b60018160048111156109a1576109a16111aa565b14156109ef5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610122565b6002816004811115610a0357610a036111aa565b1415610a515760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610122565b6003816004811115610a6557610a656111aa565b1415610abe5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610122565b6004816004811115610ad257610ad26111aa565b1415610b2b5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610122565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0831115610b655750600090506003610c12565b8460ff16601b14158015610b7d57508460ff16601c14155b15610b8e5750600090506004610c12565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015610be2573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b038116610c0b57600060019250925050610c12565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff831681610c5160ff86901c601b611192565b9050610c5f87828885610b2e565b935093505050935093915050565b6001600160a01b0381168114610b2b57600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715610cc157610cc1610c82565b604052919050565b60008083601f840112610cdb57600080fd5b50813567ffffffffffffffff811115610cf357600080fd5b6020830191508360208260051b850101111561096957600080fd5b60008060008060008060a08789031215610d2757600080fd5b8635610d3281610c6d565b955060208781013567ffffffffffffffff80821115610d5057600080fd5b9089019060a0828c031215610d6457600080fd5b90965060408901359080821115610d7a57600080fd5b818a0191508a601f830112610d8e57600080fd5b813581811115610da057610da0610c82565b610db2601f8201601f19168501610c98565b8181528c85838601011115610dc657600080fd5b81858501868301376000918101909401529195506060890135945060808901359180831115610df457600080fd5b5050610e0289828a01610cc9565b979a9699509497509295939492505050565b6020808252825182820181905260009190848201906040850190845b81811015610e5257835163ffffffff1683529284019291840191600101610e30565b50909695505050505050565b6000808335601e19843603018112610e7557600080fd5b83018035915067ffffffffffffffff821115610e9057600080fd5b6020019150600581901b360382131561096957600080fd5b6000808335601e19843603018112610ebf57600080fd5b83018035915067ffffffffffffffff821115610eda57600080fd5b60200191503681900382131561096957600080fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600082610f2a57610f2a610eef565b500490565b600082610f3e57610f3e610eef565b500690565b600060208284031215610f5557600080fd5b81358015158114610f6557600080fd5b9392505050565b8581526000855160005b81811015610f9257602081890181015185830182015201610f76565b81811115610fa4576000602083860101525b5082017f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff851115610fd457600080fd5b8460051b8087602084013793151560f81b930160208101939093525050602101949350505050565b803563ffffffff8116811461101057600080fd5b919050565b60208082528181018390526000908460408401835b868110156110535763ffffffff61104084610ffc565b168252918301919083019060010161102a565b509695505050505050565b6000602080838503121561107157600080fd5b825167ffffffffffffffff8082111561108957600080fd5b818501915085601f83011261109d57600080fd5b8151818111156110af576110af610c82565b8060051b91506110c0848301610c98565b81815291830184019184810190888411156110da57600080fd5b938501935b8385101561110457845192506110f483610c6d565b82825293850193908501906110df565b98975050505050505050565b634e487b7160e01b600052603260045260246000fd5b600081600019048311821515161561114057611140610f05565b500290565b60008282101561115757611157610f05565b500390565b600060001982141561117057611170610f05565b5060010190565b60006020828403121561118957600080fd5b610f6582610ffc565b600082198211156111a5576111a5610f05565b500190565b634e487b7160e01b600052602160045260246000fdfea2646970667358221220f3171ed4fe1c25658d3d2fb519ad45a34873aa87f486199ca19a6e73ea9ad63764736f6c63430008090033";
103
+ const isSuperArgs = (xs) => xs.length > 1;
104
+ class EcdsaInactivity__factory extends ethers_1.ContractFactory {
105
+ constructor(...args) {
106
+ if (isSuperArgs(args)) {
107
+ super(...args);
108
+ }
109
+ else {
110
+ super(_abi, _bytecode, args[0]);
111
+ }
112
+ }
113
+ deploy(overrides) {
114
+ return super.deploy(overrides || {});
115
+ }
116
+ getDeployTransaction(overrides) {
117
+ return super.getDeployTransaction(overrides || {});
118
+ }
119
+ attach(address) {
120
+ return super.attach(address);
121
+ }
122
+ connect(signer) {
123
+ return super.connect(signer);
124
+ }
125
+ static createInterface() {
126
+ return new ethers_1.utils.Interface(_abi);
127
+ }
128
+ static connect(address, signerOrProvider) {
129
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
130
+ }
131
+ }
132
+ exports.EcdsaInactivity__factory = EcdsaInactivity__factory;
133
+ EcdsaInactivity__factory.bytecode = _bytecode;
134
+ EcdsaInactivity__factory.abi = _abi;
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Fraud__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: true,
14
+ internalType: "bytes20",
15
+ name: "walletPubKeyHash",
16
+ type: "bytes20",
17
+ },
18
+ {
19
+ indexed: false,
20
+ internalType: "bytes32",
21
+ name: "sighash",
22
+ type: "bytes32",
23
+ },
24
+ ],
25
+ name: "FraudChallengeDefeatTimedOut",
26
+ type: "event",
27
+ },
28
+ {
29
+ anonymous: false,
30
+ inputs: [
31
+ {
32
+ indexed: true,
33
+ internalType: "bytes20",
34
+ name: "walletPubKeyHash",
35
+ type: "bytes20",
36
+ },
37
+ {
38
+ indexed: false,
39
+ internalType: "bytes32",
40
+ name: "sighash",
41
+ type: "bytes32",
42
+ },
43
+ ],
44
+ name: "FraudChallengeDefeated",
45
+ type: "event",
46
+ },
47
+ {
48
+ anonymous: false,
49
+ inputs: [
50
+ {
51
+ indexed: true,
52
+ internalType: "bytes20",
53
+ name: "walletPubKeyHash",
54
+ type: "bytes20",
55
+ },
56
+ {
57
+ indexed: false,
58
+ internalType: "bytes32",
59
+ name: "sighash",
60
+ type: "bytes32",
61
+ },
62
+ {
63
+ indexed: false,
64
+ internalType: "uint8",
65
+ name: "v",
66
+ type: "uint8",
67
+ },
68
+ {
69
+ indexed: false,
70
+ internalType: "bytes32",
71
+ name: "r",
72
+ type: "bytes32",
73
+ },
74
+ {
75
+ indexed: false,
76
+ internalType: "bytes32",
77
+ name: "s",
78
+ type: "bytes32",
79
+ },
80
+ ],
81
+ name: "FraudChallengeSubmitted",
82
+ type: "event",
83
+ },
84
+ ];
85
+ const _bytecode = "0x61222661003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c8063624526fe1461005b57806380ffe94a1461007d57806394fcaf8d1461009d578063eb8fdd5d146100bd575b600080fd5b81801561006757600080fd5b5061007b610076366004611cde565b6100dd565b005b81801561008957600080fd5b5061007b610098366004611e12565b6103c2565b8180156100a957600080fd5b5061007b6100b8366004611edf565b61072c565b8180156100c957600080fd5b5061007b6100d8366004611f59565b6108e3565b600061011e84848080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d3b92505050565b9050600086868360405160200161013793929190611fe9565b60408051601f198184030181529181528151602092830120600081815260188c01909352912060028101549192509063ffffffff166101bd5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064015b60405180910390fd5b6002810154640100000000900460ff161561022c5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b6102368686610e00565b63ffffffff1660011461028b5760405162461bcd60e51b815260206004820152601260248201527f57726f6e6720736967686173682074797065000000000000000000000000000060448201526064016101b4565b6000846102a15761029c8787610e80565b6102ab565b6102ab87876110c4565b600081815260068c0160205260409020600101549091507c0100000000000000000000000000000000000000000000000000000000900463ffffffff161515806103055750600081815260198b01602052604090205460ff165b80610337575060026000828152600d8c01602052604090206001015460ff16600381111561033557610335611ffb565b145b6103a95760405162461bcd60e51b815260206004820152603060248201527f5370656e74205554584f206e6f7420666f756e6420616d6f6e6720636f72726560448201527f63746c79207370656e74205554584f730000000000000000000000000000000060648201526084016101b4565b6103b68a8a8a85886111ba565b50505050505050505050565b60006002826040516103d49190612011565b602060405180830381855afa1580156103f1573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610414919061204c565b9050600086868360405160200161042d93929190611fe9565b60408051601f198184030181529181528151602092830120600081815260188c01909352912060028101549192509063ffffffff166104ae5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff161561051d5760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b60158901546002820154610537919063ffffffff1661207b565b4210156105ac5760405162461bcd60e51b815260206004820152603260248201527f4672617564206368616c6c656e67652064656665617420706572696f6420646960448201527f64206e6f742074696d65206f757420796574000000000000000000000000000060648201526084016101b4565b60028101805464ff000000001916640100000000179055805460018201546040516001600160a01b0390921691620186a091906000818181858888f193505050503d8060008114610619576040519150601f19603f3d011682016040523d82523d6000602084013e61061e565b606091505b50505060006106ae61066a60008b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061131b9050565b604080516020601f8d018190048102820181019092528b81526106a991908d8d80838501838280828437600092019190915250929392505061131b9050565b611323565b905060006106bb826113cd565b83549091506106da908c9083908b908b906001600160a01b03166113f4565b6040518581526bffffffffffffffffffffffff198216907f635230b60143449f10a365568e2bd95e3e8aaed03855631722941c2bad634b77906020015b60405180910390a25050505050505050505050565b600061076d83838080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250610d3b92505050565b9050600085858360405160200161078693929190611fe9565b60408051601f198184030181529181528151602092830120600081815260188b01909352912060028101549192509063ffffffff166108075760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520646f6573206e6f74206578697374000060448201526064016101b4565b6002810154640100000000900460ff16156108765760405162461bcd60e51b815260206004820152602960248201527f4672617564206368616c6c656e67652068617320616c7265616479206265656e604482015268081c995cdbdb1d995960ba1b60648201526084016101b4565b61088085856115e2565b6108cc5760405162461bcd60e51b815260206004820152601d60248201527f4e6f7420612076616c696420686561727462656174206d65737361676500000060448201526064016101b4565b6108d988888884876111ba565b5050505050505050565b846014015434101561095d5760405162461bcd60e51b815260206004820152602660248201527f54686520616d6f756e74206f6620455448206465706f7369746564206973207460448201527f6f6f206c6f77000000000000000000000000000000000000000000000000000060648201526084016101b4565b600060028360405161096f9190612011565b602060405180830381855afa15801561098c573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906109af919061204c565b9050610a0985858080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508592506109fd9150506060860160408701612093565b85356020870135611672565b610a555760405162461bcd60e51b815260206004820152601e60248201527f5369676e617475726520766572696669636174696f6e206661696c757265000060448201526064016101b4565b6000610add610a9e600088888080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061131b9050565b604080516020601f8a018190048102820181019092528881526106a991908a8a80838501838280828437600092019190915250929392505061131b9050565b90506000610aea826113cd565b6bffffffffffffffffffffffff1981166000908152601d8a016020526040902090915060016002820154600160c01b900460ff166005811115610b2f57610b2f611ffb565b1480610b595750600280820154600160c01b900460ff166005811115610b5757610b57611ffb565b145b80610b83575060036002820154600160c01b900460ff166005811115610b8157610b81611ffb565b145b610bf55760405162461bcd60e51b815260206004820152603660248201527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e6760448201527f46756e6473206f7220436c6f73696e672073746174650000000000000000000060648201526084016101b4565b6000888886604051602001610c0c93929190611fe9565b60408051601f198184030181529181528151602092830120600081815260188e01909352912060028101549192509063ffffffff1615610c8e5760405162461bcd60e51b815260206004820152601e60248201527f4672617564206368616c6c656e676520616c726561647920657869737473000060448201526064016101b4565b805473ffffffffffffffffffffffffffffffffffffffff19163317815534600182015560028101805464ffffffffff191663ffffffff42161790556bffffffffffffffffffffffff1984167ff4aa58d09ba5de017eac597806dfcfc2cad287816cb1eb7729a032c82680c94d87610d0b60608b0160408c01612093565b6040516107179291908c359060208e01359093845260ff9290921660208401526040830152606082015260800190565b600060028083604051610d4e9190612011565b602060405180830381855afa158015610d6b573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610d8e919061204c565b604051602001610da091815260200190565b60408051601f1981840301815290829052610dba91612011565b602060405180830381855afa158015610dd7573d6000803e3d6000fd5b5050506040513d601f19601f82011682018060405250810190610dfa919061204c565b92915050565b600080610e50610e116004856120b6565b85858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117759050565b905060e081901c60d882901c63ff00ff001662ff00ff60e884901c1617601081811b91901c175b95945050505050565b6000806000610ec9600486868080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061178b9050565b90925090506000610edb83600561207b565b905060005b828110156110ba576000610f2d8389898080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119099050565b90506000610f74848a8a8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506119549050565b9150508015611099576000610fc2858b8b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117759050565b9050600061103261100c878d8d8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061199b9050565b60d881901c63ff00ff001662ff00ff60e89290921c9190911617601081811b91901c1790565b9050818160405160200161107592919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6040516020818303038152906040528051906020012060001c9850505050506110ba565b6110a3828561207b565b9350505080806110b2906120cd565b915050610ee0565b5050505092915050565b60008061110b604485858080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117759050565b9050600061115661100c604487878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061199b9050565b9050818160405160200161119992919091825260e01b7fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b60408051601f19818403018152919052805160209091012095945050505050565b60028201805464ff000000001916640100000000179055600485015460018301546040516001600160a01b0390921691620186a091906000818181858888f193505050503d806000811461122a576040519150601f19603f3d011682016040523d82523d6000602084013e61122f565b606091505b50505060006112ba61127b600087878080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929392505061131b9050565b604080516020601f89018190048102820181019092528781526106a99190898980838501838280828437600092019190915250929392505061131b9050565b905060006112c7826113cd565b9050806bffffffffffffffffffffffff19167f6ff720470ffad78f316655e2c7fc77a76763c13de0e19ee52149916ba7e44d3b8460405161130a91815260200190565b60405180910390a250505050505050565b016020015190565b606060006113326002846120e8565b61135d57507f0200000000000000000000000000000000000000000000000000000000000000611380565b507f03000000000000000000000000000000000000000000000000000000000000005b6040517fff00000000000000000000000000000000000000000000000000000000000000821660208201526021810185905260410160405160208183030381529060405291505092915050565b60006020600083516020850160025afa50602060006020600060035afa5050600c51919050565b6bffffffffffffffffffffffff1984166000908152601d8601602052604090206002810154600160c01b900460ff16600181600581111561143757611437611ffb565b14806114545750600281600581111561145257611452611ffb565b145b806114705750600381600581111561146e5761146e611ffb565b145b156115255760028701546016880154601789015484546040517fd8dc404d0000000000000000000000000000000000000000000000000000000081526001600160a01b039094169363d8dc404d936114e4936bffffffffffffffffffffffff9091169290918991908c908c9060040161210a565b600060405180830381600087803b1580156114fe57600080fd5b505af1158015611512573d6000803e3d6000fd5b5050505061152087876119b2565b6115d9565b600581600581111561153957611539611ffb565b1415611544576115d9565b60405162461bcd60e51b8152602060048201526044602482018190527f57616c6c6574206d75737420626520696e204c697665206f72204d6f76696e67908201527f46756e6473206f7220436c6f73696e67206f72205465726d696e61746564207360648201527f7461746500000000000000000000000000000000000000000000000000000000608482015260a4016101b4565b50505050505050565b6000601082146115f457506000610dfa565b611638600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506117759050565b7fffffffffffffffff0000000000000000000000000000000000000000000000009081161461166957506000610dfa565b50600192915050565b600085516040146116eb5760405162461bcd60e51b815260206004820152602760248201527f526571756972657320756e636f6d7072657373656420756e707265666978656460448201527f207075626b65790000000000000000000000000000000000000000000000000060648201526084016101b4565b60006116f687611b8b565b604080516000808252602082018084528a905260ff89169282019290925260608101879052608081018690529192509060019060a0016020604051602081039080840390855afa15801561174e573d6000803e3d6000fd5b5050604051601f1901516001600160a01b0390811693169290921498975050505050505050565b60006117848383016020015190565b9392505050565b600080600061179a8585611c10565b905060ff81166117cc5760008585815181106117b8576117b8612195565b016020015190935060f81c91506119029050565b836117d88260016121ab565b60ff166117e5919061207b565b855110156117fc5760001960009250925050611902565b60008160ff16600214156118415761183661182261181b87600161207b565b8890611775565b62ffff0060e882901c1660f89190911c1790565b61ffff1690506118f8565b8160ff166004141561186b5761185e61100c61181b87600161207b565b63ffffffff1690506118f8565b8160ff16600814156118f8576118eb61188861181b87600161207b565b60c01c64ff000000ff600882811c91821665ff000000ff009390911b92831617601090811b67ffffffffffffffff1666ff00ff00ff00ff9290921667ff00ff00ff00ff009093169290921790911c65ffff0000ffff1617602081811c91901b1790565b67ffffffffffffffff1690505b60ff909116925090505b9250929050565b60008060006119188585611954565b90925090506000198214156119335760001992505050610dfa565b8061193f83602561207b565b611949919061207b565b610e7790600461207b565b60008061196283602561207b565b84511015611977575060001990506000611902565b60008061198e8661198987602461207b565b61178b565b9097909650945050505050565b60006117846119ab83602061207b565b8490611775565b6bffffffffffffffffffffffff1981166000908152601d83016020526040902060016002820154600160c01b900460ff1660058111156119f4576119f4611ffb565b1415611a4a57601b8301805474010000000000000000000000000000000000000000900463ffffffff16906014611a2a836121d0565b91906101000a81548163ffffffff021916908363ffffffff160217905550505b6002810180547fffffffffffffff00ffffffffffffffffffffffffffffffffffffffffffffffff16780500000000000000000000000000000000000000000000000017905580546040516bffffffffffffffffffffffff19841691907f9272a280b0f32f70b00ad0b546499c68e3ecc6f7bb7ef43491ec5d7b99bf69ef90600090a3601b83015460601b6bffffffffffffffffffffffff199081169083161415611b0e57601b8301805473ffffffffffffffffffffffffffffffffffffffff191690555b600283015481546040517f343bb9270000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163343bb92791611b5d9160040190815260200190565b600060405180830381600087803b158015611b7757600080fd5b505af11580156115d9573d6000803e3d6000fd5b60008151604014611c045760405162461bcd60e51b815260206004820152602d60248201527f5075626b6579206d7573742062652036342d62797465207261772c20756e636f60448201527f6d70726573736564206b65792e0000000000000000000000000000000000000060648201526084016101b4565b50805160209091012090565b6000828281518110611c2457611c24612195565b60209101015160f81c60ff1415611c3d57506008610dfa565b828281518110611c4f57611c4f612195565b60209101015160f81c60fe1415611c6857506004610dfa565b828281518110611c7a57611c7a612195565b60209101015160f81c60fd1415611c9357506002610dfa565b50600092915050565b60008083601f840112611cae57600080fd5b50813567ffffffffffffffff811115611cc657600080fd5b60208301915083602082850101111561190257600080fd5b60008060008060008060808789031215611cf757600080fd5b86359550602087013567ffffffffffffffff80821115611d1657600080fd5b611d228a838b01611c9c565b90975095506040890135915080821115611d3b57600080fd5b50611d4889828a01611c9c565b90945092505060608701358015158114611d6157600080fd5b809150509295509295509295565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611d9657600080fd5b813567ffffffffffffffff80821115611db157611db1611d6f565b604051601f8301601f19908116603f01168101908282118183101715611dd957611dd9611d6f565b81604052838152866020858801011115611df257600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060808789031215611e2b57600080fd5b86359550602087013567ffffffffffffffff80821115611e4a57600080fd5b611e568a838b01611c9c565b90975095506040890135915080821115611e6f57600080fd5b818901915089601f830112611e8357600080fd5b813581811115611e9257600080fd5b8a60208260051b8501011115611ea757600080fd5b602083019550809450506060890135915080821115611ec557600080fd5b50611ed289828a01611d85565b9150509295509295509295565b600080600080600060608688031215611ef757600080fd5b85359450602086013567ffffffffffffffff80821115611f1657600080fd5b611f2289838a01611c9c565b90965094506040880135915080821115611f3b57600080fd5b50611f4888828901611c9c565b969995985093965092949392505050565b600080600080600085870360c0811215611f7257600080fd5b86359550602087013567ffffffffffffffff80821115611f9157600080fd5b611f9d8a838b01611c9c565b90975095506040890135915080821115611fb657600080fd5b50611fc389828a01611d85565b9350506060605f1982011215611fd857600080fd5b506060860190509295509295909350565b82848237909101908152602001919050565b634e487b7160e01b600052602160045260246000fd5b6000825160005b818110156120325760208186018101518583015201612018565b81811115612041576000828501525b509190910192915050565b60006020828403121561205e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561208e5761208e612065565b500190565b6000602082840312156120a557600080fd5b813560ff8116811461178457600080fd5b6000828210156120c8576120c8612065565b500390565b60006000198214156120e1576120e1612065565b5060010190565b60008261210557634e487b7160e01b600052601260045260246000fd5b500690565b600060a082016bffffffffffffffffffffffff89168352602088818501526001600160a01b038816604085015286606085015260a060808501528185835260c0850190508692506000805b8781101561218457843563ffffffff8116808214612171578384fd5b8452509383019391830191600101612155565b50909b9a5050505050505050505050565b634e487b7160e01b600052603260045260246000fd5b600060ff821660ff84168060ff038211156121c8576121c8612065565b019392505050565b600063ffffffff8216806121e6576121e6612065565b600019019291505056fea2646970667358221220bb720af7c3ddde76b437b31e700dd91b30a9116a3cb9275ba21214c3bfd51acd64736f6c63430008090033";
86
+ const isSuperArgs = (xs) => xs.length > 1;
87
+ class Fraud__factory extends ethers_1.ContractFactory {
88
+ constructor(...args) {
89
+ if (isSuperArgs(args)) {
90
+ super(...args);
91
+ }
92
+ else {
93
+ super(_abi, _bytecode, args[0]);
94
+ }
95
+ }
96
+ deploy(overrides) {
97
+ return super.deploy(overrides || {});
98
+ }
99
+ getDeployTransaction(overrides) {
100
+ return super.getDeployTransaction(overrides || {});
101
+ }
102
+ attach(address) {
103
+ return super.attach(address);
104
+ }
105
+ connect(signer) {
106
+ return super.connect(signer);
107
+ }
108
+ static createInterface() {
109
+ return new ethers_1.utils.Interface(_abi);
110
+ }
111
+ static connect(address, signerOrProvider) {
112
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
113
+ }
114
+ }
115
+ exports.Fraud__factory = Fraud__factory;
116
+ Fraud__factory.bytecode = _bytecode;
117
+ Fraud__factory.abi = _abi;
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Governable__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: false,
14
+ internalType: "address",
15
+ name: "oldGovernance",
16
+ type: "address",
17
+ },
18
+ {
19
+ indexed: false,
20
+ internalType: "address",
21
+ name: "newGovernance",
22
+ type: "address",
23
+ },
24
+ ],
25
+ name: "GovernanceTransferred",
26
+ type: "event",
27
+ },
28
+ {
29
+ inputs: [],
30
+ name: "governance",
31
+ outputs: [
32
+ {
33
+ internalType: "address",
34
+ name: "",
35
+ type: "address",
36
+ },
37
+ ],
38
+ stateMutability: "view",
39
+ type: "function",
40
+ },
41
+ {
42
+ inputs: [
43
+ {
44
+ internalType: "address",
45
+ name: "newGovernance",
46
+ type: "address",
47
+ },
48
+ ],
49
+ name: "transferGovernance",
50
+ outputs: [],
51
+ stateMutability: "nonpayable",
52
+ type: "function",
53
+ },
54
+ ];
55
+ class Governable__factory {
56
+ static createInterface() {
57
+ return new ethers_1.utils.Interface(_abi);
58
+ }
59
+ static connect(address, signerOrProvider) {
60
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
61
+ }
62
+ }
63
+ exports.Governable__factory = Governable__factory;
64
+ Governable__factory.abi = _abi;
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HeartbeatStub__factory = void 0;
4
+ /* Autogenerated file. Do not edit manually. */
5
+ /* tslint:disable */
6
+ /* eslint-disable */
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "bytes",
13
+ name: "message",
14
+ type: "bytes",
15
+ },
16
+ ],
17
+ name: "isValidHeartbeatMessage",
18
+ outputs: [
19
+ {
20
+ internalType: "bool",
21
+ name: "",
22
+ type: "bool",
23
+ },
24
+ ],
25
+ stateMutability: "pure",
26
+ type: "function",
27
+ },
28
+ ];
29
+ const _bytecode = "0x608060405234801561001057600080fd5b506101b3806100206000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ea5bf84914610030575b600080fd5b61004361003e36600461010b565b610057565b604051901515815260200160405180910390f35b6000610063838361006c565b90505b92915050565b60006010821461007e57506000610066565b6100c2600084848080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525092939250506100fc9050565b7fffffffffffffffff000000000000000000000000000000000000000000000000908116146100f357506000610066565b50600192915050565b60006100638383016020015190565b6000806020838503121561011e57600080fd5b823567ffffffffffffffff8082111561013657600080fd5b818501915085601f83011261014a57600080fd5b81358181111561015957600080fd5b86602082850101111561016b57600080fd5b6020929092019691955090935050505056fea264697066735822122097019dae054ca0996a9369e2fbc308645366e5d668ebace2fd7241a92ca67fc164736f6c63430008090033";
30
+ const isSuperArgs = (xs) => xs.length > 1;
31
+ class HeartbeatStub__factory extends ethers_1.ContractFactory {
32
+ constructor(...args) {
33
+ if (isSuperArgs(args)) {
34
+ super(...args);
35
+ }
36
+ else {
37
+ super(_abi, _bytecode, args[0]);
38
+ }
39
+ }
40
+ deploy(overrides) {
41
+ return super.deploy(overrides || {});
42
+ }
43
+ getDeployTransaction(overrides) {
44
+ return super.getDeployTransaction(overrides || {});
45
+ }
46
+ attach(address) {
47
+ return super.attach(address);
48
+ }
49
+ connect(signer) {
50
+ return super.connect(signer);
51
+ }
52
+ static createInterface() {
53
+ return new ethers_1.utils.Interface(_abi);
54
+ }
55
+ static connect(address, signerOrProvider) {
56
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
57
+ }
58
+ }
59
+ exports.HeartbeatStub__factory = HeartbeatStub__factory;
60
+ HeartbeatStub__factory.bytecode = _bytecode;
61
+ HeartbeatStub__factory.abi = _abi;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IApplication__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ anonymous: false,
11
+ inputs: [
12
+ {
13
+ indexed: true,
14
+ internalType: "address",
15
+ name: "stakingProvider",
16
+ type: "address",
17
+ },
18
+ {
19
+ indexed: false,
20
+ internalType: "uint96",
21
+ name: "amount",
22
+ type: "uint96",
23
+ },
24
+ ],
25
+ name: "RewardsWithdrawn",
26
+ type: "event",
27
+ },
28
+ {
29
+ inputs: [
30
+ {
31
+ internalType: "address",
32
+ name: "stakingProvider",
33
+ type: "address",
34
+ },
35
+ {
36
+ internalType: "uint96",
37
+ name: "fromAmount",
38
+ type: "uint96",
39
+ },
40
+ {
41
+ internalType: "uint96",
42
+ name: "toAmount",
43
+ type: "uint96",
44
+ },
45
+ ],
46
+ name: "authorizationDecreaseRequested",
47
+ outputs: [],
48
+ stateMutability: "nonpayable",
49
+ type: "function",
50
+ },
51
+ {
52
+ inputs: [
53
+ {
54
+ internalType: "address",
55
+ name: "stakingProvider",
56
+ type: "address",
57
+ },
58
+ {
59
+ internalType: "uint96",
60
+ name: "fromAmount",
61
+ type: "uint96",
62
+ },
63
+ {
64
+ internalType: "uint96",
65
+ name: "toAmount",
66
+ type: "uint96",
67
+ },
68
+ ],
69
+ name: "authorizationIncreased",
70
+ outputs: [],
71
+ stateMutability: "nonpayable",
72
+ type: "function",
73
+ },
74
+ {
75
+ inputs: [
76
+ {
77
+ internalType: "address",
78
+ name: "stakingProvider",
79
+ type: "address",
80
+ },
81
+ ],
82
+ name: "availableRewards",
83
+ outputs: [
84
+ {
85
+ internalType: "uint96",
86
+ name: "",
87
+ type: "uint96",
88
+ },
89
+ ],
90
+ stateMutability: "view",
91
+ type: "function",
92
+ },
93
+ {
94
+ inputs: [
95
+ {
96
+ internalType: "address",
97
+ name: "stakingProvider",
98
+ type: "address",
99
+ },
100
+ {
101
+ internalType: "uint96",
102
+ name: "fromAmount",
103
+ type: "uint96",
104
+ },
105
+ {
106
+ internalType: "uint96",
107
+ name: "toAmount",
108
+ type: "uint96",
109
+ },
110
+ ],
111
+ name: "involuntaryAuthorizationDecrease",
112
+ outputs: [],
113
+ stateMutability: "nonpayable",
114
+ type: "function",
115
+ },
116
+ {
117
+ inputs: [],
118
+ name: "minimumAuthorization",
119
+ outputs: [
120
+ {
121
+ internalType: "uint96",
122
+ name: "",
123
+ type: "uint96",
124
+ },
125
+ ],
126
+ stateMutability: "view",
127
+ type: "function",
128
+ },
129
+ {
130
+ inputs: [
131
+ {
132
+ internalType: "address",
133
+ name: "stakingProvider",
134
+ type: "address",
135
+ },
136
+ ],
137
+ name: "withdrawRewards",
138
+ outputs: [],
139
+ stateMutability: "nonpayable",
140
+ type: "function",
141
+ },
142
+ ];
143
+ class IApplication__factory {
144
+ static createInterface() {
145
+ return new ethers_1.utils.Interface(_abi);
146
+ }
147
+ static connect(address, signerOrProvider) {
148
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
149
+ }
150
+ }
151
+ exports.IApplication__factory = IApplication__factory;
152
+ IApplication__factory.abi = _abi;
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IApproveAndCall__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [
11
+ {
12
+ internalType: "address",
13
+ name: "spender",
14
+ type: "address",
15
+ },
16
+ {
17
+ internalType: "uint256",
18
+ name: "amount",
19
+ type: "uint256",
20
+ },
21
+ {
22
+ internalType: "bytes",
23
+ name: "extraData",
24
+ type: "bytes",
25
+ },
26
+ ],
27
+ name: "approveAndCall",
28
+ outputs: [
29
+ {
30
+ internalType: "bool",
31
+ name: "",
32
+ type: "bool",
33
+ },
34
+ ],
35
+ stateMutability: "nonpayable",
36
+ type: "function",
37
+ },
38
+ ];
39
+ class IApproveAndCall__factory {
40
+ static createInterface() {
41
+ return new ethers_1.utils.Interface(_abi);
42
+ }
43
+ static connect(address, signerOrProvider) {
44
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
45
+ }
46
+ }
47
+ exports.IApproveAndCall__factory = IApproveAndCall__factory;
48
+ IApproveAndCall__factory.abi = _abi;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ /* Autogenerated file. Do not edit manually. */
3
+ /* tslint:disable */
4
+ /* eslint-disable */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IBeacon__factory = void 0;
7
+ const ethers_1 = require("ethers");
8
+ const _abi = [
9
+ {
10
+ inputs: [],
11
+ name: "implementation",
12
+ outputs: [
13
+ {
14
+ internalType: "address",
15
+ name: "",
16
+ type: "address",
17
+ },
18
+ ],
19
+ stateMutability: "view",
20
+ type: "function",
21
+ },
22
+ ];
23
+ class IBeacon__factory {
24
+ static createInterface() {
25
+ return new ethers_1.utils.Interface(_abi);
26
+ }
27
+ static connect(address, signerOrProvider) {
28
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
29
+ }
30
+ }
31
+ exports.IBeacon__factory = IBeacon__factory;
32
+ IBeacon__factory.abi = _abi;