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