@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,586 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BankStub__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: "address",
15
+ name: "owner",
16
+ type: "address",
17
+ },
18
+ {
19
+ indexed: true,
20
+ internalType: "address",
21
+ name: "spender",
22
+ type: "address",
23
+ },
24
+ {
25
+ indexed: false,
26
+ internalType: "uint256",
27
+ name: "amount",
28
+ type: "uint256",
29
+ },
30
+ ],
31
+ name: "BalanceApproved",
32
+ type: "event",
33
+ },
34
+ {
35
+ anonymous: false,
36
+ inputs: [
37
+ {
38
+ indexed: true,
39
+ internalType: "address",
40
+ name: "owner",
41
+ type: "address",
42
+ },
43
+ {
44
+ indexed: false,
45
+ internalType: "uint256",
46
+ name: "amount",
47
+ type: "uint256",
48
+ },
49
+ ],
50
+ name: "BalanceDecreased",
51
+ type: "event",
52
+ },
53
+ {
54
+ anonymous: false,
55
+ inputs: [
56
+ {
57
+ indexed: true,
58
+ internalType: "address",
59
+ name: "owner",
60
+ type: "address",
61
+ },
62
+ {
63
+ indexed: false,
64
+ internalType: "uint256",
65
+ name: "amount",
66
+ type: "uint256",
67
+ },
68
+ ],
69
+ name: "BalanceIncreased",
70
+ type: "event",
71
+ },
72
+ {
73
+ anonymous: false,
74
+ inputs: [
75
+ {
76
+ indexed: true,
77
+ internalType: "address",
78
+ name: "from",
79
+ type: "address",
80
+ },
81
+ {
82
+ indexed: true,
83
+ internalType: "address",
84
+ name: "to",
85
+ type: "address",
86
+ },
87
+ {
88
+ indexed: false,
89
+ internalType: "uint256",
90
+ name: "amount",
91
+ type: "uint256",
92
+ },
93
+ ],
94
+ name: "BalanceTransferred",
95
+ type: "event",
96
+ },
97
+ {
98
+ anonymous: false,
99
+ inputs: [
100
+ {
101
+ indexed: false,
102
+ internalType: "address",
103
+ name: "newBridge",
104
+ type: "address",
105
+ },
106
+ ],
107
+ name: "BridgeUpdated",
108
+ type: "event",
109
+ },
110
+ {
111
+ anonymous: false,
112
+ inputs: [
113
+ {
114
+ indexed: true,
115
+ internalType: "address",
116
+ name: "previousOwner",
117
+ type: "address",
118
+ },
119
+ {
120
+ indexed: true,
121
+ internalType: "address",
122
+ name: "newOwner",
123
+ type: "address",
124
+ },
125
+ ],
126
+ name: "OwnershipTransferred",
127
+ type: "event",
128
+ },
129
+ {
130
+ inputs: [],
131
+ name: "DOMAIN_SEPARATOR",
132
+ outputs: [
133
+ {
134
+ internalType: "bytes32",
135
+ name: "",
136
+ type: "bytes32",
137
+ },
138
+ ],
139
+ stateMutability: "view",
140
+ type: "function",
141
+ },
142
+ {
143
+ inputs: [],
144
+ name: "PERMIT_TYPEHASH",
145
+ outputs: [
146
+ {
147
+ internalType: "bytes32",
148
+ name: "",
149
+ type: "bytes32",
150
+ },
151
+ ],
152
+ stateMutability: "view",
153
+ type: "function",
154
+ },
155
+ {
156
+ inputs: [
157
+ {
158
+ internalType: "address",
159
+ name: "",
160
+ type: "address",
161
+ },
162
+ {
163
+ internalType: "address",
164
+ name: "",
165
+ type: "address",
166
+ },
167
+ ],
168
+ name: "allowance",
169
+ outputs: [
170
+ {
171
+ internalType: "uint256",
172
+ name: "",
173
+ type: "uint256",
174
+ },
175
+ ],
176
+ stateMutability: "view",
177
+ type: "function",
178
+ },
179
+ {
180
+ inputs: [
181
+ {
182
+ internalType: "address",
183
+ name: "spender",
184
+ type: "address",
185
+ },
186
+ {
187
+ internalType: "uint256",
188
+ name: "amount",
189
+ type: "uint256",
190
+ },
191
+ ],
192
+ name: "approveBalance",
193
+ outputs: [],
194
+ stateMutability: "nonpayable",
195
+ type: "function",
196
+ },
197
+ {
198
+ inputs: [
199
+ {
200
+ internalType: "address",
201
+ name: "spender",
202
+ type: "address",
203
+ },
204
+ {
205
+ internalType: "uint256",
206
+ name: "amount",
207
+ type: "uint256",
208
+ },
209
+ {
210
+ internalType: "bytes",
211
+ name: "extraData",
212
+ type: "bytes",
213
+ },
214
+ ],
215
+ name: "approveBalanceAndCall",
216
+ outputs: [],
217
+ stateMutability: "nonpayable",
218
+ type: "function",
219
+ },
220
+ {
221
+ inputs: [
222
+ {
223
+ internalType: "address",
224
+ name: "",
225
+ type: "address",
226
+ },
227
+ ],
228
+ name: "balanceOf",
229
+ outputs: [
230
+ {
231
+ internalType: "uint256",
232
+ name: "",
233
+ type: "uint256",
234
+ },
235
+ ],
236
+ stateMutability: "view",
237
+ type: "function",
238
+ },
239
+ {
240
+ inputs: [],
241
+ name: "bridge",
242
+ outputs: [
243
+ {
244
+ internalType: "address",
245
+ name: "",
246
+ type: "address",
247
+ },
248
+ ],
249
+ stateMutability: "view",
250
+ type: "function",
251
+ },
252
+ {
253
+ inputs: [],
254
+ name: "cachedChainId",
255
+ outputs: [
256
+ {
257
+ internalType: "uint256",
258
+ name: "",
259
+ type: "uint256",
260
+ },
261
+ ],
262
+ stateMutability: "view",
263
+ type: "function",
264
+ },
265
+ {
266
+ inputs: [],
267
+ name: "cachedDomainSeparator",
268
+ outputs: [
269
+ {
270
+ internalType: "bytes32",
271
+ name: "",
272
+ type: "bytes32",
273
+ },
274
+ ],
275
+ stateMutability: "view",
276
+ type: "function",
277
+ },
278
+ {
279
+ inputs: [
280
+ {
281
+ internalType: "uint256",
282
+ name: "amount",
283
+ type: "uint256",
284
+ },
285
+ ],
286
+ name: "decreaseBalance",
287
+ outputs: [],
288
+ stateMutability: "nonpayable",
289
+ type: "function",
290
+ },
291
+ {
292
+ inputs: [
293
+ {
294
+ internalType: "address",
295
+ name: "spender",
296
+ type: "address",
297
+ },
298
+ {
299
+ internalType: "uint256",
300
+ name: "subtractedValue",
301
+ type: "uint256",
302
+ },
303
+ ],
304
+ name: "decreaseBalanceAllowance",
305
+ outputs: [],
306
+ stateMutability: "nonpayable",
307
+ type: "function",
308
+ },
309
+ {
310
+ inputs: [
311
+ {
312
+ internalType: "address",
313
+ name: "recipient",
314
+ type: "address",
315
+ },
316
+ {
317
+ internalType: "uint256",
318
+ name: "amount",
319
+ type: "uint256",
320
+ },
321
+ ],
322
+ name: "increaseBalance",
323
+ outputs: [],
324
+ stateMutability: "nonpayable",
325
+ type: "function",
326
+ },
327
+ {
328
+ inputs: [
329
+ {
330
+ internalType: "address",
331
+ name: "spender",
332
+ type: "address",
333
+ },
334
+ {
335
+ internalType: "uint256",
336
+ name: "addedValue",
337
+ type: "uint256",
338
+ },
339
+ ],
340
+ name: "increaseBalanceAllowance",
341
+ outputs: [],
342
+ stateMutability: "nonpayable",
343
+ type: "function",
344
+ },
345
+ {
346
+ inputs: [
347
+ {
348
+ internalType: "address",
349
+ name: "vault",
350
+ type: "address",
351
+ },
352
+ {
353
+ internalType: "address[]",
354
+ name: "recipients",
355
+ type: "address[]",
356
+ },
357
+ {
358
+ internalType: "uint256[]",
359
+ name: "amounts",
360
+ type: "uint256[]",
361
+ },
362
+ ],
363
+ name: "increaseBalanceAndCall",
364
+ outputs: [],
365
+ stateMutability: "nonpayable",
366
+ type: "function",
367
+ },
368
+ {
369
+ inputs: [
370
+ {
371
+ internalType: "address[]",
372
+ name: "recipients",
373
+ type: "address[]",
374
+ },
375
+ {
376
+ internalType: "uint256[]",
377
+ name: "amounts",
378
+ type: "uint256[]",
379
+ },
380
+ ],
381
+ name: "increaseBalances",
382
+ outputs: [],
383
+ stateMutability: "nonpayable",
384
+ type: "function",
385
+ },
386
+ {
387
+ inputs: [
388
+ {
389
+ internalType: "address",
390
+ name: "",
391
+ type: "address",
392
+ },
393
+ ],
394
+ name: "nonce",
395
+ outputs: [
396
+ {
397
+ internalType: "uint256",
398
+ name: "",
399
+ type: "uint256",
400
+ },
401
+ ],
402
+ stateMutability: "view",
403
+ type: "function",
404
+ },
405
+ {
406
+ inputs: [],
407
+ name: "owner",
408
+ outputs: [
409
+ {
410
+ internalType: "address",
411
+ name: "",
412
+ type: "address",
413
+ },
414
+ ],
415
+ stateMutability: "view",
416
+ type: "function",
417
+ },
418
+ {
419
+ inputs: [
420
+ {
421
+ internalType: "address",
422
+ name: "owner",
423
+ type: "address",
424
+ },
425
+ {
426
+ internalType: "address",
427
+ name: "spender",
428
+ type: "address",
429
+ },
430
+ {
431
+ internalType: "uint256",
432
+ name: "amount",
433
+ type: "uint256",
434
+ },
435
+ {
436
+ internalType: "uint256",
437
+ name: "deadline",
438
+ type: "uint256",
439
+ },
440
+ {
441
+ internalType: "uint8",
442
+ name: "v",
443
+ type: "uint8",
444
+ },
445
+ {
446
+ internalType: "bytes32",
447
+ name: "r",
448
+ type: "bytes32",
449
+ },
450
+ {
451
+ internalType: "bytes32",
452
+ name: "s",
453
+ type: "bytes32",
454
+ },
455
+ ],
456
+ name: "permit",
457
+ outputs: [],
458
+ stateMutability: "nonpayable",
459
+ type: "function",
460
+ },
461
+ {
462
+ inputs: [],
463
+ name: "renounceOwnership",
464
+ outputs: [],
465
+ stateMutability: "nonpayable",
466
+ type: "function",
467
+ },
468
+ {
469
+ inputs: [
470
+ {
471
+ internalType: "address",
472
+ name: "addr",
473
+ type: "address",
474
+ },
475
+ {
476
+ internalType: "uint256",
477
+ name: "amount",
478
+ type: "uint256",
479
+ },
480
+ ],
481
+ name: "setBalance",
482
+ outputs: [],
483
+ stateMutability: "nonpayable",
484
+ type: "function",
485
+ },
486
+ {
487
+ inputs: [
488
+ {
489
+ internalType: "address",
490
+ name: "recipient",
491
+ type: "address",
492
+ },
493
+ {
494
+ internalType: "uint256",
495
+ name: "amount",
496
+ type: "uint256",
497
+ },
498
+ ],
499
+ name: "transferBalance",
500
+ outputs: [],
501
+ stateMutability: "nonpayable",
502
+ type: "function",
503
+ },
504
+ {
505
+ inputs: [
506
+ {
507
+ internalType: "address",
508
+ name: "spender",
509
+ type: "address",
510
+ },
511
+ {
512
+ internalType: "address",
513
+ name: "recipient",
514
+ type: "address",
515
+ },
516
+ {
517
+ internalType: "uint256",
518
+ name: "amount",
519
+ type: "uint256",
520
+ },
521
+ ],
522
+ name: "transferBalanceFrom",
523
+ outputs: [],
524
+ stateMutability: "nonpayable",
525
+ type: "function",
526
+ },
527
+ {
528
+ inputs: [
529
+ {
530
+ internalType: "address",
531
+ name: "newOwner",
532
+ type: "address",
533
+ },
534
+ ],
535
+ name: "transferOwnership",
536
+ outputs: [],
537
+ stateMutability: "nonpayable",
538
+ type: "function",
539
+ },
540
+ {
541
+ inputs: [
542
+ {
543
+ internalType: "address",
544
+ name: "_bridge",
545
+ type: "address",
546
+ },
547
+ ],
548
+ name: "updateBridge",
549
+ outputs: [],
550
+ stateMutability: "nonpayable",
551
+ type: "function",
552
+ },
553
+ ];
554
+ const _bytecode = "0x60c060405234801561001057600080fd5b5061001a336100f9565b466080526100f16040805180820182526009815268544254432042616e6b60b81b6020918201528151808301835260018152603160f81b9082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa1cc9cffb2f2444066e5c95caef7925ee7ef97efc6002db29d3637e98e2f0dd2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b60a052610149565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60805160a0516118f461017c6000396000818161033801526105ee0152600081816102d901526105c501526118f46000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806370ae92d2116100e3578063bb7e61bc1161008c578063e30443bc11610066578063e30443bc146103ab578063e78cea92146103d5578063f2fde38b146103e857600080fd5b8063bb7e61bc1461035a578063d505accf1461036d578063dd62ed3e1461038057600080fd5b80637c6db49c116100bd5780637c6db49c146102fb5780638da5cb5b1461030e578063b4f94b2e1461033357600080fd5b806370ae92d2146102ac578063715018a6146102cc578063771da5c5146102d457600080fd5b80634a38757e116101455780635bfd99b91161011f5780635bfd99b9146102665780636eb382121461027957806370a082311461028c57600080fd5b80634a38757e1461022d57806356a6d9ef146102405780635b86f5991461025357600080fd5b80633644e515116101765780633644e515146101ff578063392aee431461020757806346b05e091461021a57600080fd5b80630b6d324c1461019d578063266a123a146101b257806330adf81f146101c5575b600080fd5b6101b06101ab366004611460565b6103fb565b005b6101b06101c03660046114d6565b6104ac565b6101ec7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b6040519081526020015b60405180910390f35b6101ec6105c1565b6101b0610215366004611542565b610711565b6101b0610228366004611460565b61076d565b6101b061023b36600461155b565b61077c565b6101b061024e366004611460565b61080a565b6101b0610261366004611460565b610815565b6101b0610274366004611460565b610879565b6101b06102873660046115e2565b6108b4565b6101ec61029a3660046115e2565b60026020526000908152604090205481565b6101ec6102ba3660046115e2565b60046020526000908152604090205481565b6101b06109c5565b6101ec7f000000000000000000000000000000000000000000000000000000000000000081565b6101b0610309366004611604565b610a2b565b6000546001600160a01b03165b6040516001600160a01b0390911681526020016101f6565b6101ec7f000000000000000000000000000000000000000000000000000000000000000081565b6101b0610368366004611640565b610aec565b6101b061037b3660046116c1565b610c69565b6101ec61038e366004611734565b600360209081526000928352604080842090915290825290205481565b6101b06103b9366004611460565b6001600160a01b03909116600090815260026020526040902055565b60015461031b906001600160a01b031681565b6101b06103f63660046115e2565b610f79565b3360009081526003602090815260408083206001600160a01b03861684529091529020548181101561049a5760405162461bcd60e51b815260206004820152602d60248201527f43616e206e6f742064656372656173652062616c616e636520616c6c6f77616e60448201527f63652062656c6f77207a65726f0000000000000000000000000000000000000060648201526084015b60405180910390fd5b6104a7338484840361105b565b505050565b6001546001600160a01b031633146105065760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74207468652062726964676500000000000000006044820152606401610491565b8281146105555760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e6774686044820152606401610491565b60005b838110156105ba576105a885858381811061057557610575611767565b905060200201602081019061058a91906115e2565b84848481811061059c5761059c611767565b90506020020135611138565b806105b281611793565b915050610558565b5050505050565b60007f000000000000000000000000000000000000000000000000000000000000000046141561061057507f000000000000000000000000000000000000000000000000000000000000000090565b50604080518082018252600981527f544254432042616e6b000000000000000000000000000000000000000000000060209182015281518083018352600181527f31000000000000000000000000000000000000000000000000000000000000009082015281517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f818301527fa1cc9cffb2f2444066e5c95caef7925ee7ef97efc6002db29d3637e98e2f0dd2818401527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a0808301919091528351808303909101815260c0909101909252815191012090565b33600090815260026020526040812080548392906107309084906117ae565b909155505060405181815233907f9c6be7c4260e52ea2e41d7f17932147ab78756f1bb2247a2554796d969741aff9060200160405180910390a250565b61077833838361105b565b5050565b61078733858561105b565b6040517f475d05700000000000000000000000000000000000000000000000000000000081526001600160a01b0385169063475d0570906107d29033908790879087906004016117c5565b600060405180830381600087803b1580156107ec57600080fd5b505af1158015610800573d6000803e3d6000fd5b5050505050505050565b610778338383611226565b6001546001600160a01b0316331461086f5760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74207468652062726964676500000000000000006044820152606401610491565b6107788282611138565b3360008181526003602090815260408083206001600160a01b0387168452909152902054610778919084906108af90859061180b565b61105b565b6000546001600160a01b0316331461090e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610491565b6001600160a01b0381166109645760405162461bcd60e51b815260206004820152601e60248201527f4272696467652061646472657373206d757374206e6f742062652030783000006044820152606401610491565b6001805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0383169081179091556040519081527fe1694c0b21fdceff6411daed547c7463c2341b9695387bc82595b5b9b1851d4a9060200160405180910390a150565b6000546001600160a01b03163314610a1f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610491565b610a2960006113e7565b565b6001600160a01b03831660009081526003602090815260408083203384529091529020546000198114610adb5781811015610ace5760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360448201527f65000000000000000000000000000000000000000000000000000000000000006064820152608401610491565b610adb843384840361105b565b610ae6848484611226565b50505050565b6001546001600160a01b03163314610b465760405162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f74207468652062726964676500000000000000006044820152606401610491565b828114610b955760405162461bcd60e51b815260206004820181905260248201527f417272617973206d7573742068617665207468652073616d65206c656e6774686044820152606401610491565b6000805b82811015610bd957838382818110610bb357610bb3611767565b9050602002013582610bc5919061180b565b915080610bd181611793565b915050610b99565b50610be48682611138565b6040517f461c63730000000000000000000000000000000000000000000000000000000081526001600160a01b0387169063461c637390610c2f908890889088908890600401611823565b600060405180830381600087803b158015610c4957600080fd5b505af1158015610c5d573d6000803e3d6000fd5b50505050505050505050565b42841015610cb95760405162461bcd60e51b815260206004820152601260248201527f5065726d697373696f6e206578706972656400000000000000000000000000006044820152606401610491565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0811115610d295760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202773272076616c756500000000006044820152606401610491565b8260ff16601b1480610d3e57508260ff16601c145b610d8a5760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202776272076616c756500000000006044820152606401610491565b6000610d946105c1565b6001600160a01b038916600090815260046020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92909190610de283611793565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610e769291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610ee1573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610f175750886001600160a01b0316816001600160a01b0316145b610f635760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e61747572650000000000000000000000000000006044820152606401610491565b610f6e89898961105b565b505050505050505050565b6000546001600160a01b03163314610fd35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610491565b6001600160a01b03811661104f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610491565b611058816113e7565b50565b6001600160a01b0382166110d75760405162461bcd60e51b815260206004820152602360248201527f43616e206e6f7420617070726f766520746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610491565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f2fe5e8e7796010737e636f63b35a0383dc160b68483984f2df987c78e842b405910160405180910390a3505050565b6001600160a01b0382163014156111b75760405162461bcd60e51b815260206004820152602160248201527f43616e206e6f7420696e6372656173652062616c616e636520666f722042616e60448201527f6b000000000000000000000000000000000000000000000000000000000000006064820152608401610491565b6001600160a01b038216600090815260026020526040812080548392906111df90849061180b565b90915550506040518181526001600160a01b038316907f7a702e80a9c183a6ce9d6732991df2e914555ba35a364a70aed2433984e7544b9060200160405180910390a25050565b6001600160a01b0382166112885760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610491565b6001600160a01b0382163014156112ed5760405162461bcd60e51b8152602060048201526024808201527f43616e206e6f74207472616e7366657220746f207468652042616e6b206164646044820152637265737360e01b6064820152608401610491565b6001600160a01b038316600090815260026020526040902054818110156113565760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e6365006044820152606401610491565b6001600160a01b0380851660009081526002602052604080822085850390559185168152908120805484929061138d90849061180b565b92505081905550826001600160a01b0316846001600160a01b03167f4163d0b06696468b3d7903f482bcd0097bd38a9a9086157479fd6c6561d24261846040516113d991815260200190565b60405180910390a350505050565b600080546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80356001600160a01b038116811461145b57600080fd5b919050565b6000806040838503121561147357600080fd5b61147c83611444565b946020939093013593505050565b60008083601f84011261149c57600080fd5b50813567ffffffffffffffff8111156114b457600080fd5b6020830191508360208260051b85010111156114cf57600080fd5b9250929050565b600080600080604085870312156114ec57600080fd5b843567ffffffffffffffff8082111561150457600080fd5b6115108883890161148a565b9096509450602087013591508082111561152957600080fd5b506115368782880161148a565b95989497509550505050565b60006020828403121561155457600080fd5b5035919050565b6000806000806060858703121561157157600080fd5b61157a85611444565b935060208501359250604085013567ffffffffffffffff8082111561159e57600080fd5b818701915087601f8301126115b257600080fd5b8135818111156115c157600080fd5b8860208285010111156115d357600080fd5b95989497505060200194505050565b6000602082840312156115f457600080fd5b6115fd82611444565b9392505050565b60008060006060848603121561161957600080fd5b61162284611444565b925061163060208501611444565b9150604084013590509250925092565b60008060008060006060868803121561165857600080fd5b61166186611444565b9450602086013567ffffffffffffffff8082111561167e57600080fd5b61168a89838a0161148a565b909650945060408801359150808211156116a357600080fd5b506116b08882890161148a565b969995985093965092949392505050565b600080600080600080600060e0888a0312156116dc57600080fd5b6116e588611444565b96506116f360208901611444565b95506040880135945060608801359350608088013560ff8116811461171757600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561174757600080fd5b61175083611444565b915061175e60208401611444565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b60006000198214156117a7576117a761177d565b5060010190565b6000828210156117c0576117c061177d565b500390565b6001600160a01b038516815283602082015260606040820152816060820152818360808301376000818301608090810191909152601f909201601f191601019392505050565b6000821982111561181e5761181e61177d565b500190565b6040808252810184905260008560608301825b87811015611864576001600160a01b0361184f84611444565b16825260209283019290910190600101611836565b5083810360208501528481527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff85111561189d57600080fd5b8460051b91508186602083013760009101602001908152969550505050505056fea264697066735822122065cfda25e20c32334a487c87625f3f7eb724f77e1e79193c199f7c63ce0eb57064736f6c63430008090033";
555
+ const isSuperArgs = (xs) => xs.length > 1;
556
+ class BankStub__factory extends ethers_1.ContractFactory {
557
+ constructor(...args) {
558
+ if (isSuperArgs(args)) {
559
+ super(...args);
560
+ }
561
+ else {
562
+ super(_abi, _bytecode, args[0]);
563
+ }
564
+ }
565
+ deploy(overrides) {
566
+ return super.deploy(overrides || {});
567
+ }
568
+ getDeployTransaction(overrides) {
569
+ return super.getDeployTransaction(overrides || {});
570
+ }
571
+ attach(address) {
572
+ return super.attach(address);
573
+ }
574
+ connect(signer) {
575
+ return super.connect(signer);
576
+ }
577
+ static createInterface() {
578
+ return new ethers_1.utils.Interface(_abi);
579
+ }
580
+ static connect(address, signerOrProvider) {
581
+ return new ethers_1.Contract(address, _abi, signerOrProvider);
582
+ }
583
+ }
584
+ exports.BankStub__factory = BankStub__factory;
585
+ BankStub__factory.bytecode = _bytecode;
586
+ BankStub__factory.abi = _abi;