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