@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,441 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EcdsaDkgValidator__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: "contract SortitionPool",
13
+ name: "_sortitionPool",
14
+ type: "address",
15
+ },
16
+ ],
17
+ stateMutability: "nonpayable",
18
+ type: "constructor",
19
+ },
20
+ {
21
+ inputs: [],
22
+ name: "activeThreshold",
23
+ outputs: [
24
+ {
25
+ internalType: "uint256",
26
+ name: "",
27
+ type: "uint256",
28
+ },
29
+ ],
30
+ stateMutability: "view",
31
+ type: "function",
32
+ },
33
+ {
34
+ inputs: [],
35
+ name: "groupSize",
36
+ outputs: [
37
+ {
38
+ internalType: "uint256",
39
+ name: "",
40
+ type: "uint256",
41
+ },
42
+ ],
43
+ stateMutability: "view",
44
+ type: "function",
45
+ },
46
+ {
47
+ inputs: [],
48
+ name: "groupThreshold",
49
+ outputs: [
50
+ {
51
+ internalType: "uint256",
52
+ name: "",
53
+ type: "uint256",
54
+ },
55
+ ],
56
+ stateMutability: "view",
57
+ type: "function",
58
+ },
59
+ {
60
+ inputs: [],
61
+ name: "publicKeyByteSize",
62
+ outputs: [
63
+ {
64
+ internalType: "uint256",
65
+ name: "",
66
+ type: "uint256",
67
+ },
68
+ ],
69
+ stateMutability: "view",
70
+ type: "function",
71
+ },
72
+ {
73
+ inputs: [],
74
+ name: "signatureByteSize",
75
+ outputs: [
76
+ {
77
+ internalType: "uint256",
78
+ name: "",
79
+ type: "uint256",
80
+ },
81
+ ],
82
+ stateMutability: "view",
83
+ type: "function",
84
+ },
85
+ {
86
+ inputs: [],
87
+ name: "sortitionPool",
88
+ outputs: [
89
+ {
90
+ internalType: "contract SortitionPool",
91
+ name: "",
92
+ type: "address",
93
+ },
94
+ ],
95
+ stateMutability: "view",
96
+ type: "function",
97
+ },
98
+ {
99
+ inputs: [
100
+ {
101
+ components: [
102
+ {
103
+ internalType: "uint256",
104
+ name: "submitterMemberIndex",
105
+ type: "uint256",
106
+ },
107
+ {
108
+ internalType: "bytes",
109
+ name: "groupPubKey",
110
+ type: "bytes",
111
+ },
112
+ {
113
+ internalType: "uint8[]",
114
+ name: "misbehavedMembersIndices",
115
+ type: "uint8[]",
116
+ },
117
+ {
118
+ internalType: "bytes",
119
+ name: "signatures",
120
+ type: "bytes",
121
+ },
122
+ {
123
+ internalType: "uint256[]",
124
+ name: "signingMembersIndices",
125
+ type: "uint256[]",
126
+ },
127
+ {
128
+ internalType: "uint32[]",
129
+ name: "members",
130
+ type: "uint32[]",
131
+ },
132
+ {
133
+ internalType: "bytes32",
134
+ name: "membersHash",
135
+ type: "bytes32",
136
+ },
137
+ ],
138
+ internalType: "struct EcdsaDkg.Result",
139
+ name: "result",
140
+ type: "tuple",
141
+ },
142
+ {
143
+ internalType: "uint256",
144
+ name: "seed",
145
+ type: "uint256",
146
+ },
147
+ {
148
+ internalType: "uint256",
149
+ name: "startBlock",
150
+ type: "uint256",
151
+ },
152
+ ],
153
+ name: "validate",
154
+ outputs: [
155
+ {
156
+ internalType: "bool",
157
+ name: "isValid",
158
+ type: "bool",
159
+ },
160
+ {
161
+ internalType: "string",
162
+ name: "errorMsg",
163
+ type: "string",
164
+ },
165
+ ],
166
+ stateMutability: "view",
167
+ type: "function",
168
+ },
169
+ {
170
+ inputs: [
171
+ {
172
+ components: [
173
+ {
174
+ internalType: "uint256",
175
+ name: "submitterMemberIndex",
176
+ type: "uint256",
177
+ },
178
+ {
179
+ internalType: "bytes",
180
+ name: "groupPubKey",
181
+ type: "bytes",
182
+ },
183
+ {
184
+ internalType: "uint8[]",
185
+ name: "misbehavedMembersIndices",
186
+ type: "uint8[]",
187
+ },
188
+ {
189
+ internalType: "bytes",
190
+ name: "signatures",
191
+ type: "bytes",
192
+ },
193
+ {
194
+ internalType: "uint256[]",
195
+ name: "signingMembersIndices",
196
+ type: "uint256[]",
197
+ },
198
+ {
199
+ internalType: "uint32[]",
200
+ name: "members",
201
+ type: "uint32[]",
202
+ },
203
+ {
204
+ internalType: "bytes32",
205
+ name: "membersHash",
206
+ type: "bytes32",
207
+ },
208
+ ],
209
+ internalType: "struct EcdsaDkg.Result",
210
+ name: "result",
211
+ type: "tuple",
212
+ },
213
+ ],
214
+ name: "validateFields",
215
+ outputs: [
216
+ {
217
+ internalType: "bool",
218
+ name: "isValid",
219
+ type: "bool",
220
+ },
221
+ {
222
+ internalType: "string",
223
+ name: "errorMsg",
224
+ type: "string",
225
+ },
226
+ ],
227
+ stateMutability: "view",
228
+ type: "function",
229
+ },
230
+ {
231
+ inputs: [
232
+ {
233
+ components: [
234
+ {
235
+ internalType: "uint256",
236
+ name: "submitterMemberIndex",
237
+ type: "uint256",
238
+ },
239
+ {
240
+ internalType: "bytes",
241
+ name: "groupPubKey",
242
+ type: "bytes",
243
+ },
244
+ {
245
+ internalType: "uint8[]",
246
+ name: "misbehavedMembersIndices",
247
+ type: "uint8[]",
248
+ },
249
+ {
250
+ internalType: "bytes",
251
+ name: "signatures",
252
+ type: "bytes",
253
+ },
254
+ {
255
+ internalType: "uint256[]",
256
+ name: "signingMembersIndices",
257
+ type: "uint256[]",
258
+ },
259
+ {
260
+ internalType: "uint32[]",
261
+ name: "members",
262
+ type: "uint32[]",
263
+ },
264
+ {
265
+ internalType: "bytes32",
266
+ name: "membersHash",
267
+ type: "bytes32",
268
+ },
269
+ ],
270
+ internalType: "struct EcdsaDkg.Result",
271
+ name: "result",
272
+ type: "tuple",
273
+ },
274
+ {
275
+ internalType: "uint256",
276
+ name: "seed",
277
+ type: "uint256",
278
+ },
279
+ ],
280
+ name: "validateGroupMembers",
281
+ outputs: [
282
+ {
283
+ internalType: "bool",
284
+ name: "",
285
+ type: "bool",
286
+ },
287
+ ],
288
+ stateMutability: "view",
289
+ type: "function",
290
+ },
291
+ {
292
+ inputs: [
293
+ {
294
+ components: [
295
+ {
296
+ internalType: "uint256",
297
+ name: "submitterMemberIndex",
298
+ type: "uint256",
299
+ },
300
+ {
301
+ internalType: "bytes",
302
+ name: "groupPubKey",
303
+ type: "bytes",
304
+ },
305
+ {
306
+ internalType: "uint8[]",
307
+ name: "misbehavedMembersIndices",
308
+ type: "uint8[]",
309
+ },
310
+ {
311
+ internalType: "bytes",
312
+ name: "signatures",
313
+ type: "bytes",
314
+ },
315
+ {
316
+ internalType: "uint256[]",
317
+ name: "signingMembersIndices",
318
+ type: "uint256[]",
319
+ },
320
+ {
321
+ internalType: "uint32[]",
322
+ name: "members",
323
+ type: "uint32[]",
324
+ },
325
+ {
326
+ internalType: "bytes32",
327
+ name: "membersHash",
328
+ type: "bytes32",
329
+ },
330
+ ],
331
+ internalType: "struct EcdsaDkg.Result",
332
+ name: "result",
333
+ type: "tuple",
334
+ },
335
+ ],
336
+ name: "validateMembersHash",
337
+ outputs: [
338
+ {
339
+ internalType: "bool",
340
+ name: "",
341
+ type: "bool",
342
+ },
343
+ ],
344
+ stateMutability: "view",
345
+ type: "function",
346
+ },
347
+ {
348
+ inputs: [
349
+ {
350
+ components: [
351
+ {
352
+ internalType: "uint256",
353
+ name: "submitterMemberIndex",
354
+ type: "uint256",
355
+ },
356
+ {
357
+ internalType: "bytes",
358
+ name: "groupPubKey",
359
+ type: "bytes",
360
+ },
361
+ {
362
+ internalType: "uint8[]",
363
+ name: "misbehavedMembersIndices",
364
+ type: "uint8[]",
365
+ },
366
+ {
367
+ internalType: "bytes",
368
+ name: "signatures",
369
+ type: "bytes",
370
+ },
371
+ {
372
+ internalType: "uint256[]",
373
+ name: "signingMembersIndices",
374
+ type: "uint256[]",
375
+ },
376
+ {
377
+ internalType: "uint32[]",
378
+ name: "members",
379
+ type: "uint32[]",
380
+ },
381
+ {
382
+ internalType: "bytes32",
383
+ name: "membersHash",
384
+ type: "bytes32",
385
+ },
386
+ ],
387
+ internalType: "struct EcdsaDkg.Result",
388
+ name: "result",
389
+ type: "tuple",
390
+ },
391
+ {
392
+ internalType: "uint256",
393
+ name: "startBlock",
394
+ type: "uint256",
395
+ },
396
+ ],
397
+ name: "validateSignatures",
398
+ outputs: [
399
+ {
400
+ internalType: "bool",
401
+ name: "",
402
+ type: "bool",
403
+ },
404
+ ],
405
+ stateMutability: "view",
406
+ type: "function",
407
+ },
408
+ ];
409
+ const _bytecode = "0x608060405234801561001057600080fd5b506040516119cf3803806119cf83398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61193c806100936000396000f3fe608060405234801561001057600080fd5b50600436106100c95760003560e01c806389ef44b011610081578063b54a23741161005b578063b54a237414610160578063e7667aba1461018b578063e7d10d9b1461019e57600080fd5b806389ef44b0146101225780639617c2a81461012a578063b2d44fce1461014d57600080fd5b80632c5c72df116100b25780632c5c72df146100f157806363b635ea146101125780636dcc64f81461011a57600080fd5b806305f8ae15146100ce578063281efe71146100e9575b600080fd5b6100d6604081565b6040519081526020015b60405180910390f35b6100d6605a81565b6101046100ff366004611301565b6101b1565b6040516100e092919061133e565b6100d6606481565b6100d6603381565b6100d6604181565b61013d61013836600461139d565b6106d7565b60405190151581526020016100e0565b61013d61015b366004611301565b610832565b600054610173906001600160a01b031681565b6040516001600160a01b0390911681526020016100e0565b6101046101993660046113e2565b610a3f565b61013d6101ac36600461139d565b610b78565b6000606060406101c46020850185611430565b90501461020957505060408051808201909152601a81527f4d616c666f726d65642067726f7570207075626c6963206b65790000000000006020820152600092909150565b3660006102196040860186611477565b9092509050605a61022b8260646114d7565b10156102575760006040518060600160405280602781526020016118bc60279139935093505050915091565b60018111156103a057600182826000818110610275576102756114ee565b905060200201602081019061028a919061151a565b60ff1610806102cc5750606482826102a36001826114d7565b8181106102b2576102b26114ee565b90506020020160208101906102c7919061151a565b60ff16115b156102f75760006040518060600160405280602481526020016118e360249139935093505050915091565b60015b8181101561039e57828282818110610314576103146114ee565b9050602002016020810190610329919061151a565b60ff1683836103396001856114d7565b818110610348576103486114ee565b905060200201602081019061035d919061151a565b60ff161061038c5760006040518060600160405280602481526020016118e36024913994509450505050915091565b806103968161153c565b9150506102fa565b505b600060416103b16060880188611430565b6103bc92915061156d565b90506103cb6060870187611430565b151590506104175760006040518060400160405280601681526020017f4e6f207369676e6174757265732070726f76696465640000000000000000000081525094509450505050915091565b60416104266060880188611430565b610431929150611581565b1561047a5760006040518060400160405280601a81526020017f4d616c666f726d6564207369676e61747572657320617272617900000000000081525094509450505050915091565b36600061048a6080890189611477565b90925090508281146104dc5760006040518060400160405280601b81526020017f556e6578706563746564207369676e61747572657320636f756e740000000000815250965096505050505050915091565b603383101561052b5760006040518060400160405280601281526020017f546f6f20666577207369676e6174757265730000000000000000000000000000815250965096505050505050915091565b606483111561057a5760006040518060400160405280601381526020017f546f6f206d616e79207369676e61747572657300000000000000000000000000815250965096505050505050915091565b60018282600081811061058f5761058f6114ee565b9050602002013510806105c45750606482826105ac6001826114d7565b8181106105bb576105bb6114ee565b90506020020135115b1561060f5760006040518060400160405280602081526020017f436f72727570746564207369676e696e67206d656d62657220696e6469636573815250965096505050505050915091565b60015b818110156106b65782828281811061062c5761062c6114ee565b90506020020135838360018461064291906114d7565b818110610651576106516114ee565b90506020020135106106a45760006040518060400160405280602081526020017f436f72727570746564207369676e696e67206d656d62657220696e646963657381525097509750505050505050915091565b806106ae8161153c565b915050610612565b50600160405180602001604052806000815250965096505050505050915091565b600036816106e860a0860186611477565b600080546040517f6c2530b90000000000000000000000000000000000000000000000000000000081526064600482015260248101899052939550919350916001600160a01b0390911690636c2530b99060440160006040518083038186803b15801561075457600080fd5b505afa158015610768573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526107909190810190611612565b805190915082146107a7576000935050505061082c565b60005b82811015610823578181815181106107c4576107c46114ee565b602002602001015163ffffffff168484838181106107e4576107e46114ee565b90506020020160208101906107f991906116b1565b63ffffffff161461081157600094505050505061082c565b8061081b8161153c565b9150506107aa565b50600193505050505b92915050565b6000806108426040840184611477565b905011156109fe5760006108596040840184611477565b905061086860a0850185611477565b6108739291506114d7565b67ffffffffffffffff81111561088b5761088b611595565b6040519080825280602002602001820160405280156108b4578160200160208202803683370190505b50905060008060005b6108ca60a0870187611477565b90508110156109c65760016108e26040880188611477565b858181106108f2576108f26114ee565b9050602002016020810190610907919061151a565b61091191906116ce565b60ff1681146109855761092760a0870187611477565b82818110610937576109376114ee565b905060200201602081019061094c91906116b1565b84838151811061095e5761095e6114ee565b63ffffffff909216602092830291909101909101528161097d8161153c565b9250506109b4565b60016109946040880188611477565b61099f9291506114d7565b8310156109b457826109b08161153c565b9350505b806109be8161153c565b9150506108bd565b508460c00135836040516020016109dd91906116f1565b60405160208183030381529060405280519060200120149350505050919050565b60c0820135610a1060a0840184611477565b604051602001610a2192919061173b565b60405160208183030381529060405280519060200120149050919050565b60006060600080610a4f876101b1565b9150915081610a6557600093509150610b709050565b610a6f8786610b78565b610ab65760006040518060400160405280601281526020017f496e76616c6964207369676e6174757265730000000000000000000000000000815250935093505050610b70565b610ac087876106d7565b610b075760006040518060400160405280601581526020017f496e76616c69642067726f7570206d656d626572730000000000000000000000815250935093505050610b70565b610b1087610832565b610b575760006040518060400160405280601481526020017f496e76616c6964206d656d626572732068617368000000000000000000000000815250935093505050610b70565b6001604051806020016040528060008152509350935050505b935093915050565b600080610c0d610b8b6020860186611430565b610b986040880188611477565b87604051602001610bad959493929190611786565b60408051601f1981840301815282825280516020918201207f19457468657265756d205369676e6564204d6573736167653a0a33320000000084830152603c8085019190915282518085039091018152605c909301909152815191012090565b9050366000610c1f6080870187611477565b909250905060008167ffffffffffffffff811115610c3f57610c3f611595565b604051908082528060200260200182016040528015610c68578160200160208202803683370190505b50905060005b82811015610d0557610c8360a0890189611477565b6001868685818110610c9757610c976114ee565b90506020020135610ca891906114d7565b818110610cb757610cb76114ee565b9050602002016020810190610ccc91906116b1565b828281518110610cde57610cde6114ee565b63ffffffff9092166020928302919091019091015280610cfd8161153c565b915050610c6e565b50600080546040517ff7f9a8fa0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063f7f9a8fa90610d509085906004016116f1565b60006040518083038186803b158015610d6857600080fd5b505afa158015610d7c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610da491908101906117d2565b9050606060006041610db88b84018c611430565b610dc392915061156d565b905060005b81811015610e9257610e2b610dde82604161186e565b6041610ded60608f018f611430565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929493925050610ea39050565b92506000610e398985610f58565b9050806001600160a01b0316858381518110610e5757610e576114ee565b60200260200101516001600160a01b031614610e7f576000995050505050505050505061082c565b5080610e8a8161153c565b915050610dc8565b5060019a9950505050505050505050565b60606000610eb1838561188d565b90508381118015610ec3575080855110155b610f145760405162461bcd60e51b815260206004820152601360248201527f536c696365206f7574206f6620626f756e64730000000000000000000000000060448201526064015b60405180910390fd5b604051915082604083010160405282825283850182038460208701018481015b80821015610f4d57815183830152602082019150610f34565b505050509392505050565b6000806000610f678585610f7c565b91509150610f7481610fec565b509392505050565b600080825160411415610fb35760208301516040840151606085015160001a610fa7878285856111aa565b94509450505050610fe5565b825160401415610fdd5760208301516040840151610fd2868383611297565b935093505050610fe5565b506000905060025b9250929050565b6000816004811115611000576110006118a5565b14156110095750565b600181600481111561101d5761101d6118a5565b141561106b5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610f0b565b600281600481111561107f5761107f6118a5565b14156110cd5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610f0b565b60038160048111156110e1576110e16118a5565b141561113a5760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610f0b565b600481600481111561114e5761114e6118a5565b14156111a75760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202776272076616c604482015261756560f01b6064820152608401610f0b565b50565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156111e1575060009050600361128e565b8460ff16601b141580156111f957508460ff16601c14155b1561120a575060009050600461128e565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561125e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166112875760006001925092505061128e565b9150600090505b94509492505050565b6000807f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8316816112cd60ff86901c601b61188d565b90506112db878288856111aa565b935093505050935093915050565b600060e082840312156112fb57600080fd5b50919050565b60006020828403121561131357600080fd5b813567ffffffffffffffff81111561132a57600080fd5b611336848285016112e9565b949350505050565b821515815260006020604081840152835180604085015260005b8181101561137457858101830151858201606001528201611358565b81811115611386576000606083870101525b50601f01601f191692909201606001949350505050565b600080604083850312156113b057600080fd5b823567ffffffffffffffff8111156113c757600080fd5b6113d3858286016112e9565b95602094909401359450505050565b6000806000606084860312156113f757600080fd5b833567ffffffffffffffff81111561140e57600080fd5b61141a868287016112e9565b9660208601359650604090950135949350505050565b6000808335601e1984360301811261144757600080fd5b83018035915067ffffffffffffffff82111561146257600080fd5b602001915036819003821315610fe557600080fd5b6000808335601e1984360301811261148e57600080fd5b83018035915067ffffffffffffffff8211156114a957600080fd5b6020019150600581901b3603821315610fe557600080fd5b634e487b7160e01b600052601160045260246000fd5b6000828210156114e9576114e96114c1565b500390565b634e487b7160e01b600052603260045260246000fd5b803560ff8116811461151557600080fd5b919050565b60006020828403121561152c57600080fd5b61153582611504565b9392505050565b6000600019821415611550576115506114c1565b5060010190565b634e487b7160e01b600052601260045260246000fd5b60008261157c5761157c611557565b500490565b60008261159057611590611557565b500690565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156115d4576115d4611595565b604052919050565b600067ffffffffffffffff8211156115f6576115f6611595565b5060051b60200190565b63ffffffff811681146111a757600080fd5b6000602080838503121561162557600080fd5b825167ffffffffffffffff81111561163c57600080fd5b8301601f8101851361164d57600080fd5b805161166061165b826115dc565b6115ab565b81815260059190911b8201830190838101908783111561167f57600080fd5b928401925b828410156116a657835161169781611600565b82529284019290840190611684565b979650505050505050565b6000602082840312156116c357600080fd5b813561153581611600565b600060ff821660ff8416808210156116e8576116e86114c1565b90039392505050565b6020808252825182820181905260009190848201906040850190845b8181101561172f57835163ffffffff168352928401929184019160010161170d565b50909695505050505050565b60208082528181018390526000908460408401835b8681101561177b57823561176381611600565b63ffffffff1682529183019190830190600101611750565b509695505050505050565b8486823760008186018181528590825b868110156117be5760ff6117a984611504565b16825260209283019290910190600101611796565b509384525050602090910195945050505050565b600060208083850312156117e557600080fd5b825167ffffffffffffffff8111156117fc57600080fd5b8301601f8101851361180d57600080fd5b805161181b61165b826115dc565b81815260059190911b8201830190838101908783111561183a57600080fd5b928401925b828410156116a65783516001600160a01b038116811461185f5760008081fd5b8252928401929084019061183f565b6000816000190483118215151615611888576118886114c1565b500290565b600082198211156118a0576118a06114c1565b500190565b634e487b7160e01b600052602160045260246000fdfe546f6f206d616e79206d656d62657273206d69736265686176696e6720647572696e6720444b47436f72727570746564206d697362656861766564206d656d6265727320696e6469636573a2646970667358221220e067b6b2774a5b5851815d25b00a82bf9a74e65e388f53e3de902f9c7a23e59e64736f6c63430008090033";
410
+ const isSuperArgs = (xs) => xs.length > 1;
411
+ class EcdsaDkgValidator__factory extends ethers_1.ContractFactory {
412
+ constructor(...args) {
413
+ if (isSuperArgs(args)) {
414
+ super(...args);
415
+ }
416
+ else {
417
+ super(_abi, _bytecode, args[0]);
418
+ }
419
+ }
420
+ deploy(_sortitionPool, overrides) {
421
+ return super.deploy(_sortitionPool, overrides || {});
422
+ }
423
+ getDeployTransaction(_sortitionPool, overrides) {
424
+ return super.getDeployTransaction(_sortitionPool, overrides || {});
425
+ }
426
+ attach(address) {
427
+ return super.attach(address);
428
+ }
429
+ connect(signer) {
430
+ return super.connect(signer);
431
+ }
432
+ static createInterface() {
433
+ return new ethers_1.utils.Interface(_abi);
434
+ }
435
+ static connect(address, signerOrProvider) {
436
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
437
+ }
438
+ }
439
+ exports.EcdsaDkgValidator__factory = EcdsaDkgValidator__factory;
440
+ EcdsaDkgValidator__factory.bytecode = _bytecode;
441
+ EcdsaDkgValidator__factory.abi = _abi;
@@ -0,0 +1,192 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EcdsaDkg__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: "bytes32",
15
+ name: "resultHash",
16
+ type: "bytes32",
17
+ },
18
+ {
19
+ indexed: true,
20
+ internalType: "address",
21
+ name: "approver",
22
+ type: "address",
23
+ },
24
+ ],
25
+ name: "DkgResultApproved",
26
+ type: "event",
27
+ },
28
+ {
29
+ anonymous: false,
30
+ inputs: [
31
+ {
32
+ indexed: true,
33
+ internalType: "bytes32",
34
+ name: "resultHash",
35
+ type: "bytes32",
36
+ },
37
+ {
38
+ indexed: true,
39
+ internalType: "address",
40
+ name: "challenger",
41
+ type: "address",
42
+ },
43
+ {
44
+ indexed: false,
45
+ internalType: "string",
46
+ name: "reason",
47
+ type: "string",
48
+ },
49
+ ],
50
+ name: "DkgResultChallenged",
51
+ type: "event",
52
+ },
53
+ {
54
+ anonymous: false,
55
+ inputs: [
56
+ {
57
+ indexed: true,
58
+ internalType: "bytes32",
59
+ name: "resultHash",
60
+ type: "bytes32",
61
+ },
62
+ {
63
+ indexed: true,
64
+ internalType: "uint256",
65
+ name: "seed",
66
+ type: "uint256",
67
+ },
68
+ {
69
+ components: [
70
+ {
71
+ internalType: "uint256",
72
+ name: "submitterMemberIndex",
73
+ type: "uint256",
74
+ },
75
+ {
76
+ internalType: "bytes",
77
+ name: "groupPubKey",
78
+ type: "bytes",
79
+ },
80
+ {
81
+ internalType: "uint8[]",
82
+ name: "misbehavedMembersIndices",
83
+ type: "uint8[]",
84
+ },
85
+ {
86
+ internalType: "bytes",
87
+ name: "signatures",
88
+ type: "bytes",
89
+ },
90
+ {
91
+ internalType: "uint256[]",
92
+ name: "signingMembersIndices",
93
+ type: "uint256[]",
94
+ },
95
+ {
96
+ internalType: "uint32[]",
97
+ name: "members",
98
+ type: "uint32[]",
99
+ },
100
+ {
101
+ internalType: "bytes32",
102
+ name: "membersHash",
103
+ type: "bytes32",
104
+ },
105
+ ],
106
+ indexed: false,
107
+ internalType: "struct EcdsaDkg.Result",
108
+ name: "result",
109
+ type: "tuple",
110
+ },
111
+ ],
112
+ name: "DkgResultSubmitted",
113
+ type: "event",
114
+ },
115
+ {
116
+ anonymous: false,
117
+ inputs: [],
118
+ name: "DkgSeedTimedOut",
119
+ type: "event",
120
+ },
121
+ {
122
+ anonymous: false,
123
+ inputs: [
124
+ {
125
+ indexed: true,
126
+ internalType: "uint256",
127
+ name: "seed",
128
+ type: "uint256",
129
+ },
130
+ ],
131
+ name: "DkgStarted",
132
+ type: "event",
133
+ },
134
+ {
135
+ anonymous: false,
136
+ inputs: [],
137
+ name: "DkgStateLocked",
138
+ type: "event",
139
+ },
140
+ {
141
+ anonymous: false,
142
+ inputs: [],
143
+ name: "DkgTimedOut",
144
+ type: "event",
145
+ },
146
+ {
147
+ inputs: [],
148
+ name: "groupSize",
149
+ outputs: [
150
+ {
151
+ internalType: "uint256",
152
+ name: "",
153
+ type: "uint256",
154
+ },
155
+ ],
156
+ stateMutability: "view",
157
+ type: "function",
158
+ },
159
+ ];
160
+ const _bytecode = "0x6087610038600b82828239805160001a607314602b57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c806363b635ea146038575b600080fd5b603f606481565b60405190815260200160405180910390f3fea264697066735822122074bedeac3e3d3b49d199ff4390e3c89a3c8546f65be04a814ed587fd5b4fe26664736f6c63430008090033";
161
+ const isSuperArgs = (xs) => xs.length > 1;
162
+ class EcdsaDkg__factory extends ethers_1.ContractFactory {
163
+ constructor(...args) {
164
+ if (isSuperArgs(args)) {
165
+ super(...args);
166
+ }
167
+ else {
168
+ super(_abi, _bytecode, args[0]);
169
+ }
170
+ }
171
+ deploy(overrides) {
172
+ return super.deploy(overrides || {});
173
+ }
174
+ getDeployTransaction(overrides) {
175
+ return super.getDeployTransaction(overrides || {});
176
+ }
177
+ attach(address) {
178
+ return super.attach(address);
179
+ }
180
+ connect(signer) {
181
+ return super.connect(signer);
182
+ }
183
+ static createInterface() {
184
+ return new ethers_1.utils.Interface(_abi);
185
+ }
186
+ static connect(address, signerOrProvider) {
187
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
188
+ }
189
+ }
190
+ exports.EcdsaDkg__factory = EcdsaDkg__factory;
191
+ EcdsaDkg__factory.bytecode = _bytecode;
192
+ EcdsaDkg__factory.abi = _abi;