@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.
- package/README.adoc +12 -0
- package/artifacts/.chainId +1 -1
- package/artifacts/Bank.json +807 -0
- package/artifacts/Bridge.json +2300 -0
- package/artifacts/Deposit.json +117 -0
- package/artifacts/DepositSweep.json +77 -0
- package/artifacts/EcdsaDkgValidator.json +532 -0
- package/artifacts/EcdsaInactivity.json +156 -0
- package/artifacts/EcdsaSortitionPool.json +1004 -0
- package/artifacts/Fraud.json +164 -0
- package/artifacts/KeepRegistry.json +99 -0
- package/artifacts/KeepStake.json +286 -0
- package/artifacts/KeepToken.json +711 -0
- package/artifacts/KeepTokenStaking.json +483 -0
- package/artifacts/MovingFunds.json +249 -0
- package/artifacts/NuCypherStakingEscrow.json +256 -0
- package/artifacts/NuCypherToken.json +711 -0
- package/artifacts/RandomBeaconStub.json +141 -0
- package/artifacts/Redemption.json +174 -0
- package/artifacts/ReimbursementPool.json +509 -0
- package/artifacts/Relay.json +123 -0
- package/artifacts/T.json +1148 -0
- package/artifacts/TBTC.json +36 -35
- package/artifacts/TBTCToken.json +738 -0
- package/artifacts/TBTCVault.json +691 -0
- package/artifacts/TokenStaking.json +2288 -0
- package/artifacts/TokenholderGovernor.json +1795 -0
- package/artifacts/TokenholderTimelock.json +1058 -0
- package/artifacts/VendingMachine.json +34 -33
- package/artifacts/VendingMachineKeep.json +400 -0
- package/artifacts/VendingMachineNuCypher.json +400 -0
- package/artifacts/WalletRegistry.json +1843 -0
- package/artifacts/WalletRegistryGovernance.json +2754 -0
- package/artifacts/Wallets.json +186 -0
- package/artifacts/solcInputs/5e62cff1ead0900b07facca4b559e818.json +314 -0
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.dbg.json +1 -1
- package/build/contracts/GovernanceUtils.sol/GovernanceUtils.json +2 -2
- package/build/contracts/bank/Bank.sol/Bank.dbg.json +4 -0
- package/build/contracts/bank/Bank.sol/Bank.json +542 -0
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.dbg.json +4 -0
- package/build/contracts/bank/IReceiveBalanceApproval.sol/IReceiveBalanceApproval.json +34 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.dbg.json +4 -0
- package/build/contracts/bridge/BitcoinTx.sol/BitcoinTx.json +10 -0
- package/build/contracts/bridge/Bridge.sol/Bridge.dbg.json +4 -0
- package/build/contracts/bridge/Bridge.sol/Bridge.json +2686 -0
- package/build/contracts/bridge/BridgeState.sol/BridgeState.dbg.json +4 -0
- package/build/contracts/bridge/BridgeState.sol/BridgeState.json +226 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.dbg.json +4 -0
- package/build/contracts/bridge/Deposit.sol/Deposit.json +72 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.dbg.json +4 -0
- package/build/contracts/bridge/DepositSweep.sol/DepositSweep.json +30 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.dbg.json +4 -0
- package/build/contracts/bridge/EcdsaLib.sol/EcdsaLib.json +10 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.dbg.json +4 -0
- package/build/contracts/bridge/Fraud.sol/Fraud.json +86 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.dbg.json +4 -0
- package/build/contracts/bridge/Heartbeat.sol/Heartbeat.json +10 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.dbg.json +4 -0
- package/build/contracts/bridge/IRelay.sol/IRelay.json +37 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.dbg.json +4 -0
- package/build/contracts/bridge/MovingFunds.sol/MovingFunds.json +138 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/OutboundTx.json +10 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.dbg.json +4 -0
- package/build/contracts/bridge/Redemption.sol/Redemption.json +92 -0
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.dbg.json +1 -1
- package/build/contracts/bridge/VendingMachine.sol/VendingMachine.json +2 -2
- package/build/contracts/bridge/Wallets.sol/Wallets.dbg.json +4 -0
- package/build/contracts/bridge/Wallets.sol/Wallets.json +112 -0
- package/build/contracts/token/TBTC.sol/TBTC.dbg.json +1 -1
- package/build/contracts/token/TBTC.sol/TBTC.json +4 -4
- package/build/contracts/vault/DonationVault.sol/DonationVault.dbg.json +4 -0
- package/build/contracts/vault/DonationVault.sol/DonationVault.json +108 -0
- package/build/contracts/vault/IVault.sol/IVault.dbg.json +4 -0
- package/build/contracts/vault/IVault.sol/IVault.json +52 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.dbg.json +4 -0
- package/build/contracts/vault/TBTCVault.sol/TBTCVault.json +449 -0
- package/contracts/GovernanceUtils.sol +4 -4
- package/contracts/bank/Bank.sol +436 -0
- package/contracts/bank/IReceiveBalanceApproval.sol +45 -0
- package/contracts/bridge/BitcoinTx.sol +326 -0
- package/contracts/bridge/Bridge.sol +1793 -0
- package/contracts/bridge/BridgeState.sol +739 -0
- package/contracts/bridge/Deposit.sol +269 -0
- package/contracts/bridge/DepositSweep.sol +574 -0
- package/contracts/bridge/EcdsaLib.sol +45 -0
- package/contracts/bridge/Fraud.sol +579 -0
- package/contracts/bridge/Heartbeat.sol +112 -0
- package/contracts/bridge/IRelay.sol +28 -0
- package/contracts/bridge/MovingFunds.sol +1077 -0
- package/contracts/bridge/Redemption.sol +1020 -0
- package/contracts/bridge/VendingMachine.sol +2 -2
- package/contracts/bridge/Wallets.sol +719 -0
- package/contracts/hardhat-dependency-compiler/.hardhat-dependency-compiler +1 -0
- package/contracts/hardhat-dependency-compiler/@keep-network/ecdsa/contracts/WalletRegistry.sol +3 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +3 -0
- package/contracts/hardhat-dependency-compiler/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +3 -0
- package/contracts/token/TBTC.sol +1 -1
- package/contracts/vault/DonationVault.sol +125 -0
- package/contracts/vault/IVault.sol +44 -0
- package/contracts/vault/TBTCVault.sol +305 -0
- package/deploy/00_resolve_relay.ts +28 -0
- package/deploy/00_resolve_tbtc_v1_token.ts +1 -1
- package/deploy/01_deploy_tbtc_v2_token.ts +8 -1
- package/deploy/02_deploy_vending_machine.ts +7 -0
- package/deploy/{03_transfer_roles.ts → 03_transfer_vending_machine_roles.ts} +1 -1
- package/deploy/04_deploy_bank.ts +27 -0
- package/deploy/05_deploy_bridge.ts +80 -0
- package/deploy/06_deploy_tbtc_vault.ts +30 -0
- package/deploy/07_bank_update_bridge.ts +19 -0
- package/deploy/08_transfer_bank_ownership.ts +15 -0
- package/deploy/09_transfer_tbtc_vault_ownership.ts +15 -0
- package/deploy/10_transfer_bridge_governance.ts +20 -0
- package/deploy/11_initialize_wallet_owner.ts +18 -0
- package/deploy/11_transfer_proxy_admin_ownership.ts +30 -0
- package/deploy/12_deploy_proxy_admin_with_deputy.ts +33 -0
- package/export/deploy/00_resolve_relay.js +24 -0
- package/export/deploy/00_resolve_tbtc_v1_token.js +24 -0
- package/export/deploy/01_deploy_tbtc_v2_token.js +19 -0
- package/export/deploy/02_deploy_vending_machine.js +25 -0
- package/export/deploy/03_transfer_vending_machine_roles.js +19 -0
- package/export/deploy/04_deploy_bank.js +21 -0
- package/export/deploy/05_deploy_bridge.js +69 -0
- package/export/deploy/06_deploy_tbtc_vault.js +24 -0
- package/export/deploy/07_bank_update_bridge.js +13 -0
- package/export/deploy/08_transfer_bank_ownership.js +11 -0
- package/export/deploy/09_transfer_tbtc_vault_ownership.js +11 -0
- package/export/deploy/10_transfer_bridge_governance.js +11 -0
- package/export/deploy/11_initialize_wallet_owner.js +14 -0
- package/export/deploy/11_transfer_proxy_admin_ownership.js +23 -0
- package/export/deploy/12_deploy_proxy_admin_with_deputy.js +22 -0
- package/export/hardhat.config.js +169 -0
- package/export/test/bank/Bank.test.js +1012 -0
- package/export/test/bridge/Bridge.Deployment.test.js +76 -0
- package/export/test/bridge/Bridge.Deposit.test.js +1834 -0
- package/export/test/bridge/Bridge.Frauds.test.js +1349 -0
- package/export/test/bridge/Bridge.MovingFunds.test.js +2437 -0
- package/export/test/bridge/Bridge.Parameters.test.js +400 -0
- package/export/test/bridge/Bridge.Redemption.test.js +2523 -0
- package/export/test/bridge/Bridge.Vaults.test.js +74 -0
- package/export/test/bridge/Bridge.Wallets.test.js +1017 -0
- package/export/test/bridge/EcdsaLib.test.js +46 -0
- package/export/test/bridge/Heartbeat.test.js +77 -0
- package/export/test/bridge/VendingMachine.Upgrade.test.js +160 -0
- package/export/test/bridge/VendingMachine.test.js +762 -0
- package/export/test/data/deposit-sweep.js +655 -0
- package/export/test/data/ecdsa.js +18 -0
- package/export/test/data/fraud.js +158 -0
- package/export/test/data/moving-funds.js +815 -0
- package/export/test/data/redemption.js +1011 -0
- package/export/test/fixtures/bridge.js +54 -0
- package/export/test/fixtures/index.js +57 -0
- package/export/test/helpers/contract-test-helpers.js +18 -0
- package/export/test/integration/Slashing.test.js +279 -0
- package/export/test/integration/WalleCreation.test.js +66 -0
- package/export/test/integration/utils/ecdsa-wallet-registry.js +137 -0
- package/export/test/integration/utils/fixture.js +77 -0
- package/export/test/integration/utils/gas.js +36 -0
- package/export/test/integration/utils/random-beacon.js +26 -0
- package/export/test/integration/utils/staking.js +19 -0
- package/export/test/vault/DonationVault.test.js +202 -0
- package/export/test/vault/TBTCVault.Redemption.test.js +357 -0
- package/export/test/vault/TBTCVault.test.js +768 -0
- package/export/typechain/BTCUtils.js +2 -0
- package/export/typechain/Bank.js +2 -0
- package/export/typechain/BankStub.js +2 -0
- package/export/typechain/Bridge.js +2 -0
- package/export/typechain/BridgeState.js +2 -0
- package/export/typechain/BridgeStub.js +2 -0
- package/export/typechain/Deposit.js +2 -0
- package/export/typechain/DepositSweep.js +2 -0
- package/export/typechain/DonationVault.js +2 -0
- package/export/typechain/ERC165.js +2 -0
- package/export/typechain/ERC1967Proxy.js +2 -0
- package/export/typechain/ERC1967Upgrade.js +2 -0
- package/export/typechain/ERC20WithPermit.js +2 -0
- package/export/typechain/ERC721.js +2 -0
- package/export/typechain/EcdsaAuthorization.js +2 -0
- package/export/typechain/EcdsaDkg.js +2 -0
- package/export/typechain/EcdsaDkgValidator.js +2 -0
- package/export/typechain/EcdsaInactivity.js +2 -0
- package/export/typechain/Fraud.js +2 -0
- package/export/typechain/Governable.js +2 -0
- package/export/typechain/HeartbeatStub.js +2 -0
- package/export/typechain/IApplication.js +2 -0
- package/export/typechain/IApproveAndCall.js +2 -0
- package/export/typechain/IBeacon.js +2 -0
- package/export/typechain/IERC165.js +2 -0
- package/export/typechain/IERC1822Proxiable.js +2 -0
- package/export/typechain/IERC20.js +2 -0
- package/export/typechain/IERC20Metadata.js +2 -0
- package/export/typechain/IERC20WithPermit.js +2 -0
- package/export/typechain/IERC721.js +2 -0
- package/export/typechain/IERC721Metadata.js +2 -0
- package/export/typechain/IERC721Receiver.js +2 -0
- package/export/typechain/IRandomBeacon.js +2 -0
- package/export/typechain/IRandomBeaconConsumer.js +2 -0
- package/export/typechain/IReceiveApproval.js +2 -0
- package/export/typechain/IReceiveBalanceApproval.js +2 -0
- package/export/typechain/IRelay.js +2 -0
- package/export/typechain/IStaking.js +2 -0
- package/export/typechain/IVault.js +2 -0
- package/export/typechain/IWalletOwner.js +2 -0
- package/export/typechain/IWalletRegistry.js +2 -0
- package/export/typechain/Initializable.js +2 -0
- package/export/typechain/MisfundRecovery.js +2 -0
- package/export/typechain/MovingFunds.js +2 -0
- package/export/typechain/Ownable.js +2 -0
- package/export/typechain/Proxy.js +2 -0
- package/export/typechain/ProxyAdmin.js +2 -0
- package/export/typechain/ReceiveApprovalStub.js +2 -0
- package/export/typechain/Redemption.js +2 -0
- package/export/typechain/Reimbursable.js +2 -0
- package/export/typechain/ReimbursementPool.js +2 -0
- package/export/typechain/Rewards.js +2 -0
- package/export/typechain/SortitionPool.js +2 -0
- package/export/typechain/SortitionTree.js +2 -0
- package/export/typechain/TBTC.js +2 -0
- package/export/typechain/TBTCVault.js +2 -0
- package/export/typechain/TestERC20.js +2 -0
- package/export/typechain/TestERC721.js +2 -0
- package/export/typechain/TestEcdsaLib.js +2 -0
- package/export/typechain/TestRelay.js +2 -0
- package/export/typechain/TransparentUpgradeableProxy.js +2 -0
- package/export/typechain/VendingMachine.js +2 -0
- package/export/typechain/WalletRegistry.js +2 -0
- package/export/typechain/Wallets.js +2 -0
- package/export/typechain/common.js +2 -0
- package/export/typechain/factories/BTCUtils__factory.js +94 -0
- package/export/typechain/factories/BankStub__factory.js +586 -0
- package/export/typechain/factories/Bank__factory.js +573 -0
- package/export/typechain/factories/BridgeState__factory.js +257 -0
- package/export/typechain/factories/BridgeStub__factory.js +2912 -0
- package/export/typechain/factories/Bridge__factory.js +2526 -0
- package/export/typechain/factories/DepositSweep__factory.js +61 -0
- package/export/typechain/factories/Deposit__factory.js +103 -0
- package/export/typechain/factories/DonationVault__factory.js +139 -0
- package/export/typechain/factories/ERC165__factory.js +38 -0
- package/export/typechain/factories/ERC1967Proxy__factory.js +111 -0
- package/export/typechain/factories/ERC1967Upgrade__factory.js +64 -0
- package/export/typechain/factories/ERC20WithPermit__factory.js +524 -0
- package/export/typechain/factories/ERC721__factory.js +388 -0
- package/export/typechain/factories/EcdsaAuthorization__factory.js +211 -0
- package/export/typechain/factories/EcdsaDkgValidator__factory.js +441 -0
- package/export/typechain/factories/EcdsaDkg__factory.js +192 -0
- package/export/typechain/factories/EcdsaInactivity__factory.js +134 -0
- package/export/typechain/factories/Fraud__factory.js +117 -0
- package/export/typechain/factories/Governable__factory.js +64 -0
- package/export/typechain/factories/HeartbeatStub__factory.js +61 -0
- package/export/typechain/factories/IApplication__factory.js +152 -0
- package/export/typechain/factories/IApproveAndCall__factory.js +48 -0
- package/export/typechain/factories/IBeacon__factory.js +32 -0
- package/export/typechain/factories/IERC165__factory.js +38 -0
- package/export/typechain/factories/IERC1822Proxiable__factory.js +32 -0
- package/export/typechain/factories/IERC20Metadata__factory.js +241 -0
- package/export/typechain/factories/IERC20WithPermit__factory.js +389 -0
- package/export/typechain/factories/IERC20__factory.js +202 -0
- package/export/typechain/factories/IERC721Metadata__factory.js +349 -0
- package/export/typechain/factories/IERC721Receiver__factory.js +53 -0
- package/export/typechain/factories/IERC721__factory.js +304 -0
- package/export/typechain/factories/IRandomBeaconConsumer__factory.js +37 -0
- package/export/typechain/factories/IRandomBeacon__factory.js +32 -0
- package/export/typechain/factories/IReceiveApproval__factory.js +47 -0
- package/export/typechain/factories/IReceiveBalanceApproval__factory.js +42 -0
- package/export/typechain/factories/IRelay__factory.js +45 -0
- package/export/typechain/factories/IStaking__factory.js +722 -0
- package/export/typechain/factories/IVault__factory.js +60 -0
- package/export/typechain/factories/IWalletOwner__factory.js +65 -0
- package/export/typechain/factories/IWalletRegistry__factory.js +138 -0
- package/export/typechain/factories/Initializable__factory.js +32 -0
- package/export/typechain/factories/MisfundRecovery__factory.js +145 -0
- package/export/typechain/factories/MovingFunds__factory.js +169 -0
- package/export/typechain/factories/Ownable__factory.js +71 -0
- package/export/typechain/factories/ProxyAdmin__factory.js +191 -0
- package/export/typechain/factories/Proxy__factory.js +27 -0
- package/export/typechain/factories/ReceiveApprovalStub__factory.js +127 -0
- package/export/typechain/factories/Redemption__factory.js +123 -0
- package/export/typechain/factories/Reimbursable__factory.js +58 -0
- package/export/typechain/factories/ReimbursementPool__factory.js +350 -0
- package/export/typechain/factories/Rewards__factory.js +117 -0
- package/export/typechain/factories/SortitionPool__factory.js +610 -0
- package/export/typechain/factories/SortitionTree__factory.js +149 -0
- package/export/typechain/factories/TBTCVault__factory.js +480 -0
- package/export/typechain/factories/TBTC__factory.js +564 -0
- package/export/typechain/factories/TestERC20__factory.js +539 -0
- package/export/typechain/factories/TestERC721__factory.js +421 -0
- package/export/typechain/factories/TestEcdsaLib__factory.js +66 -0
- package/export/typechain/factories/TestRelay__factory.js +94 -0
- package/export/typechain/factories/TransparentUpgradeableProxy__factory.js +186 -0
- package/export/typechain/factories/VendingMachine__factory.js +549 -0
- package/export/typechain/factories/WalletRegistry__factory.js +1919 -0
- package/export/typechain/factories/Wallets__factory.js +143 -0
- package/export/typechain/index.js +132 -0
- package/export.json +15932 -503
- package/package.json +47 -26
- package/artifacts/solcInputs/7cc3eda3cb3ff2522d18b5e7b31ea228.json +0 -104
|
@@ -0,0 +1,564 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TBTC__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: "value",
|
|
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: "previousOwner",
|
|
46
|
+
type: "address",
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
indexed: true,
|
|
50
|
+
internalType: "address",
|
|
51
|
+
name: "newOwner",
|
|
52
|
+
type: "address",
|
|
53
|
+
},
|
|
54
|
+
],
|
|
55
|
+
name: "OwnershipTransferred",
|
|
56
|
+
type: "event",
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
anonymous: false,
|
|
60
|
+
inputs: [
|
|
61
|
+
{
|
|
62
|
+
indexed: true,
|
|
63
|
+
internalType: "address",
|
|
64
|
+
name: "from",
|
|
65
|
+
type: "address",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
indexed: true,
|
|
69
|
+
internalType: "address",
|
|
70
|
+
name: "to",
|
|
71
|
+
type: "address",
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
indexed: false,
|
|
75
|
+
internalType: "uint256",
|
|
76
|
+
name: "value",
|
|
77
|
+
type: "uint256",
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
name: "Transfer",
|
|
81
|
+
type: "event",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
inputs: [],
|
|
85
|
+
name: "DOMAIN_SEPARATOR",
|
|
86
|
+
outputs: [
|
|
87
|
+
{
|
|
88
|
+
internalType: "bytes32",
|
|
89
|
+
name: "",
|
|
90
|
+
type: "bytes32",
|
|
91
|
+
},
|
|
92
|
+
],
|
|
93
|
+
stateMutability: "view",
|
|
94
|
+
type: "function",
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
inputs: [],
|
|
98
|
+
name: "PERMIT_TYPEHASH",
|
|
99
|
+
outputs: [
|
|
100
|
+
{
|
|
101
|
+
internalType: "bytes32",
|
|
102
|
+
name: "",
|
|
103
|
+
type: "bytes32",
|
|
104
|
+
},
|
|
105
|
+
],
|
|
106
|
+
stateMutability: "view",
|
|
107
|
+
type: "function",
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
inputs: [
|
|
111
|
+
{
|
|
112
|
+
internalType: "address",
|
|
113
|
+
name: "",
|
|
114
|
+
type: "address",
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
internalType: "address",
|
|
118
|
+
name: "",
|
|
119
|
+
type: "address",
|
|
120
|
+
},
|
|
121
|
+
],
|
|
122
|
+
name: "allowance",
|
|
123
|
+
outputs: [
|
|
124
|
+
{
|
|
125
|
+
internalType: "uint256",
|
|
126
|
+
name: "",
|
|
127
|
+
type: "uint256",
|
|
128
|
+
},
|
|
129
|
+
],
|
|
130
|
+
stateMutability: "view",
|
|
131
|
+
type: "function",
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
inputs: [
|
|
135
|
+
{
|
|
136
|
+
internalType: "address",
|
|
137
|
+
name: "spender",
|
|
138
|
+
type: "address",
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
internalType: "uint256",
|
|
142
|
+
name: "amount",
|
|
143
|
+
type: "uint256",
|
|
144
|
+
},
|
|
145
|
+
],
|
|
146
|
+
name: "approve",
|
|
147
|
+
outputs: [
|
|
148
|
+
{
|
|
149
|
+
internalType: "bool",
|
|
150
|
+
name: "",
|
|
151
|
+
type: "bool",
|
|
152
|
+
},
|
|
153
|
+
],
|
|
154
|
+
stateMutability: "nonpayable",
|
|
155
|
+
type: "function",
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
inputs: [
|
|
159
|
+
{
|
|
160
|
+
internalType: "address",
|
|
161
|
+
name: "spender",
|
|
162
|
+
type: "address",
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
internalType: "uint256",
|
|
166
|
+
name: "amount",
|
|
167
|
+
type: "uint256",
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
internalType: "bytes",
|
|
171
|
+
name: "extraData",
|
|
172
|
+
type: "bytes",
|
|
173
|
+
},
|
|
174
|
+
],
|
|
175
|
+
name: "approveAndCall",
|
|
176
|
+
outputs: [
|
|
177
|
+
{
|
|
178
|
+
internalType: "bool",
|
|
179
|
+
name: "",
|
|
180
|
+
type: "bool",
|
|
181
|
+
},
|
|
182
|
+
],
|
|
183
|
+
stateMutability: "nonpayable",
|
|
184
|
+
type: "function",
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
inputs: [
|
|
188
|
+
{
|
|
189
|
+
internalType: "address",
|
|
190
|
+
name: "",
|
|
191
|
+
type: "address",
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
name: "balanceOf",
|
|
195
|
+
outputs: [
|
|
196
|
+
{
|
|
197
|
+
internalType: "uint256",
|
|
198
|
+
name: "",
|
|
199
|
+
type: "uint256",
|
|
200
|
+
},
|
|
201
|
+
],
|
|
202
|
+
stateMutability: "view",
|
|
203
|
+
type: "function",
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
inputs: [
|
|
207
|
+
{
|
|
208
|
+
internalType: "uint256",
|
|
209
|
+
name: "amount",
|
|
210
|
+
type: "uint256",
|
|
211
|
+
},
|
|
212
|
+
],
|
|
213
|
+
name: "burn",
|
|
214
|
+
outputs: [],
|
|
215
|
+
stateMutability: "nonpayable",
|
|
216
|
+
type: "function",
|
|
217
|
+
},
|
|
218
|
+
{
|
|
219
|
+
inputs: [
|
|
220
|
+
{
|
|
221
|
+
internalType: "address",
|
|
222
|
+
name: "account",
|
|
223
|
+
type: "address",
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
internalType: "uint256",
|
|
227
|
+
name: "amount",
|
|
228
|
+
type: "uint256",
|
|
229
|
+
},
|
|
230
|
+
],
|
|
231
|
+
name: "burnFrom",
|
|
232
|
+
outputs: [],
|
|
233
|
+
stateMutability: "nonpayable",
|
|
234
|
+
type: "function",
|
|
235
|
+
},
|
|
236
|
+
{
|
|
237
|
+
inputs: [],
|
|
238
|
+
name: "cachedChainId",
|
|
239
|
+
outputs: [
|
|
240
|
+
{
|
|
241
|
+
internalType: "uint256",
|
|
242
|
+
name: "",
|
|
243
|
+
type: "uint256",
|
|
244
|
+
},
|
|
245
|
+
],
|
|
246
|
+
stateMutability: "view",
|
|
247
|
+
type: "function",
|
|
248
|
+
},
|
|
249
|
+
{
|
|
250
|
+
inputs: [],
|
|
251
|
+
name: "cachedDomainSeparator",
|
|
252
|
+
outputs: [
|
|
253
|
+
{
|
|
254
|
+
internalType: "bytes32",
|
|
255
|
+
name: "",
|
|
256
|
+
type: "bytes32",
|
|
257
|
+
},
|
|
258
|
+
],
|
|
259
|
+
stateMutability: "view",
|
|
260
|
+
type: "function",
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
inputs: [],
|
|
264
|
+
name: "decimals",
|
|
265
|
+
outputs: [
|
|
266
|
+
{
|
|
267
|
+
internalType: "uint8",
|
|
268
|
+
name: "",
|
|
269
|
+
type: "uint8",
|
|
270
|
+
},
|
|
271
|
+
],
|
|
272
|
+
stateMutability: "view",
|
|
273
|
+
type: "function",
|
|
274
|
+
},
|
|
275
|
+
{
|
|
276
|
+
inputs: [
|
|
277
|
+
{
|
|
278
|
+
internalType: "address",
|
|
279
|
+
name: "recipient",
|
|
280
|
+
type: "address",
|
|
281
|
+
},
|
|
282
|
+
{
|
|
283
|
+
internalType: "uint256",
|
|
284
|
+
name: "amount",
|
|
285
|
+
type: "uint256",
|
|
286
|
+
},
|
|
287
|
+
],
|
|
288
|
+
name: "mint",
|
|
289
|
+
outputs: [],
|
|
290
|
+
stateMutability: "nonpayable",
|
|
291
|
+
type: "function",
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
inputs: [],
|
|
295
|
+
name: "name",
|
|
296
|
+
outputs: [
|
|
297
|
+
{
|
|
298
|
+
internalType: "string",
|
|
299
|
+
name: "",
|
|
300
|
+
type: "string",
|
|
301
|
+
},
|
|
302
|
+
],
|
|
303
|
+
stateMutability: "view",
|
|
304
|
+
type: "function",
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
inputs: [
|
|
308
|
+
{
|
|
309
|
+
internalType: "address",
|
|
310
|
+
name: "",
|
|
311
|
+
type: "address",
|
|
312
|
+
},
|
|
313
|
+
],
|
|
314
|
+
name: "nonce",
|
|
315
|
+
outputs: [
|
|
316
|
+
{
|
|
317
|
+
internalType: "uint256",
|
|
318
|
+
name: "",
|
|
319
|
+
type: "uint256",
|
|
320
|
+
},
|
|
321
|
+
],
|
|
322
|
+
stateMutability: "view",
|
|
323
|
+
type: "function",
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
inputs: [],
|
|
327
|
+
name: "owner",
|
|
328
|
+
outputs: [
|
|
329
|
+
{
|
|
330
|
+
internalType: "address",
|
|
331
|
+
name: "",
|
|
332
|
+
type: "address",
|
|
333
|
+
},
|
|
334
|
+
],
|
|
335
|
+
stateMutability: "view",
|
|
336
|
+
type: "function",
|
|
337
|
+
},
|
|
338
|
+
{
|
|
339
|
+
inputs: [
|
|
340
|
+
{
|
|
341
|
+
internalType: "address",
|
|
342
|
+
name: "owner",
|
|
343
|
+
type: "address",
|
|
344
|
+
},
|
|
345
|
+
{
|
|
346
|
+
internalType: "address",
|
|
347
|
+
name: "spender",
|
|
348
|
+
type: "address",
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
internalType: "uint256",
|
|
352
|
+
name: "amount",
|
|
353
|
+
type: "uint256",
|
|
354
|
+
},
|
|
355
|
+
{
|
|
356
|
+
internalType: "uint256",
|
|
357
|
+
name: "deadline",
|
|
358
|
+
type: "uint256",
|
|
359
|
+
},
|
|
360
|
+
{
|
|
361
|
+
internalType: "uint8",
|
|
362
|
+
name: "v",
|
|
363
|
+
type: "uint8",
|
|
364
|
+
},
|
|
365
|
+
{
|
|
366
|
+
internalType: "bytes32",
|
|
367
|
+
name: "r",
|
|
368
|
+
type: "bytes32",
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
internalType: "bytes32",
|
|
372
|
+
name: "s",
|
|
373
|
+
type: "bytes32",
|
|
374
|
+
},
|
|
375
|
+
],
|
|
376
|
+
name: "permit",
|
|
377
|
+
outputs: [],
|
|
378
|
+
stateMutability: "nonpayable",
|
|
379
|
+
type: "function",
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
inputs: [
|
|
383
|
+
{
|
|
384
|
+
internalType: "contract IERC20",
|
|
385
|
+
name: "token",
|
|
386
|
+
type: "address",
|
|
387
|
+
},
|
|
388
|
+
{
|
|
389
|
+
internalType: "address",
|
|
390
|
+
name: "recipient",
|
|
391
|
+
type: "address",
|
|
392
|
+
},
|
|
393
|
+
{
|
|
394
|
+
internalType: "uint256",
|
|
395
|
+
name: "amount",
|
|
396
|
+
type: "uint256",
|
|
397
|
+
},
|
|
398
|
+
],
|
|
399
|
+
name: "recoverERC20",
|
|
400
|
+
outputs: [],
|
|
401
|
+
stateMutability: "nonpayable",
|
|
402
|
+
type: "function",
|
|
403
|
+
},
|
|
404
|
+
{
|
|
405
|
+
inputs: [
|
|
406
|
+
{
|
|
407
|
+
internalType: "contract IERC721",
|
|
408
|
+
name: "token",
|
|
409
|
+
type: "address",
|
|
410
|
+
},
|
|
411
|
+
{
|
|
412
|
+
internalType: "address",
|
|
413
|
+
name: "recipient",
|
|
414
|
+
type: "address",
|
|
415
|
+
},
|
|
416
|
+
{
|
|
417
|
+
internalType: "uint256",
|
|
418
|
+
name: "tokenId",
|
|
419
|
+
type: "uint256",
|
|
420
|
+
},
|
|
421
|
+
{
|
|
422
|
+
internalType: "bytes",
|
|
423
|
+
name: "data",
|
|
424
|
+
type: "bytes",
|
|
425
|
+
},
|
|
426
|
+
],
|
|
427
|
+
name: "recoverERC721",
|
|
428
|
+
outputs: [],
|
|
429
|
+
stateMutability: "nonpayable",
|
|
430
|
+
type: "function",
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
inputs: [],
|
|
434
|
+
name: "renounceOwnership",
|
|
435
|
+
outputs: [],
|
|
436
|
+
stateMutability: "nonpayable",
|
|
437
|
+
type: "function",
|
|
438
|
+
},
|
|
439
|
+
{
|
|
440
|
+
inputs: [],
|
|
441
|
+
name: "symbol",
|
|
442
|
+
outputs: [
|
|
443
|
+
{
|
|
444
|
+
internalType: "string",
|
|
445
|
+
name: "",
|
|
446
|
+
type: "string",
|
|
447
|
+
},
|
|
448
|
+
],
|
|
449
|
+
stateMutability: "view",
|
|
450
|
+
type: "function",
|
|
451
|
+
},
|
|
452
|
+
{
|
|
453
|
+
inputs: [],
|
|
454
|
+
name: "totalSupply",
|
|
455
|
+
outputs: [
|
|
456
|
+
{
|
|
457
|
+
internalType: "uint256",
|
|
458
|
+
name: "",
|
|
459
|
+
type: "uint256",
|
|
460
|
+
},
|
|
461
|
+
],
|
|
462
|
+
stateMutability: "view",
|
|
463
|
+
type: "function",
|
|
464
|
+
},
|
|
465
|
+
{
|
|
466
|
+
inputs: [
|
|
467
|
+
{
|
|
468
|
+
internalType: "address",
|
|
469
|
+
name: "recipient",
|
|
470
|
+
type: "address",
|
|
471
|
+
},
|
|
472
|
+
{
|
|
473
|
+
internalType: "uint256",
|
|
474
|
+
name: "amount",
|
|
475
|
+
type: "uint256",
|
|
476
|
+
},
|
|
477
|
+
],
|
|
478
|
+
name: "transfer",
|
|
479
|
+
outputs: [
|
|
480
|
+
{
|
|
481
|
+
internalType: "bool",
|
|
482
|
+
name: "",
|
|
483
|
+
type: "bool",
|
|
484
|
+
},
|
|
485
|
+
],
|
|
486
|
+
stateMutability: "nonpayable",
|
|
487
|
+
type: "function",
|
|
488
|
+
},
|
|
489
|
+
{
|
|
490
|
+
inputs: [
|
|
491
|
+
{
|
|
492
|
+
internalType: "address",
|
|
493
|
+
name: "spender",
|
|
494
|
+
type: "address",
|
|
495
|
+
},
|
|
496
|
+
{
|
|
497
|
+
internalType: "address",
|
|
498
|
+
name: "recipient",
|
|
499
|
+
type: "address",
|
|
500
|
+
},
|
|
501
|
+
{
|
|
502
|
+
internalType: "uint256",
|
|
503
|
+
name: "amount",
|
|
504
|
+
type: "uint256",
|
|
505
|
+
},
|
|
506
|
+
],
|
|
507
|
+
name: "transferFrom",
|
|
508
|
+
outputs: [
|
|
509
|
+
{
|
|
510
|
+
internalType: "bool",
|
|
511
|
+
name: "",
|
|
512
|
+
type: "bool",
|
|
513
|
+
},
|
|
514
|
+
],
|
|
515
|
+
stateMutability: "nonpayable",
|
|
516
|
+
type: "function",
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
inputs: [
|
|
520
|
+
{
|
|
521
|
+
internalType: "address",
|
|
522
|
+
name: "newOwner",
|
|
523
|
+
type: "address",
|
|
524
|
+
},
|
|
525
|
+
],
|
|
526
|
+
name: "transferOwnership",
|
|
527
|
+
outputs: [],
|
|
528
|
+
stateMutability: "nonpayable",
|
|
529
|
+
type: "function",
|
|
530
|
+
},
|
|
531
|
+
];
|
|
532
|
+
const _bytecode = "0x60c06040523480156200001157600080fd5b50604051806040016040528060078152602001663a212a21903b1960c91b815250604051806040016040528060048152602001637442544360e01b8152506200006962000063620000af60201b60201c565b620000b3565b81516200007e906005906020850190620001b4565b50805162000094906006906020840190620001b4565b5046608052620000a362000103565b60a052506200033b9050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f600560405162000137919062000297565b60408051918290038220828201825260018352603160f81b6020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b828054620001c2906200025a565b90600052602060002090601f016020900481019282620001e6576000855562000231565b82601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b5b808211156200023f576000815560010162000244565b600181811c908216806200026f57607f821691505b602082108114156200029157634e487b7160e01b600052602260045260246000fd5b50919050565b600080835481600182811c915080831680620002b457607f831692505b6020808410821415620002d557634e487b7160e01b86526022600452602486fd5b818015620002ec5760018114620002fe576200032d565b60ff198616895284890196506200032d565b60008a81526020902060005b86811015620003255781548b8201529085019083016200030a565b505084890196505b509498975050505050505050565b60805160a051611ba86200036f6000396000818161034901526105fa0152600081816102d901526105d10152611ba86000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c8063715018a6116100e3578063b4f94b2e1161008c578063dd62ed3e11610066578063dd62ed3e14610391578063f2fde38b146103bc578063fc4e51f6146103cf57600080fd5b8063b4f94b2e14610344578063cae9ca511461036b578063d505accf1461037e57600080fd5b80638da5cb5b116100bd5780638da5cb5b1461030e57806395d89b4114610329578063a9059cbb1461033157600080fd5b8063715018a6146102cc578063771da5c5146102d457806379cc6790146102fb57600080fd5b8063313ce5671161014557806342966c681161011f57806342966c681461027957806370a082311461028c57806370ae92d2146102ac57600080fd5b8063313ce567146102445780633644e5151461025e57806340c10f191461026657600080fd5b806318160ddd1161017657806318160ddd146101f357806323b872dd1461020a57806330adf81f1461021d57600080fd5b806306fdde031461019d578063095ea7b3146101bb5780631171bda9146101de575b600080fd5b6101a56103e2565b6040516101b29190611670565b60405180910390f35b6101ce6101c9366004611698565b610470565b60405190151581526020016101b2565b6101f16101ec3660046116c4565b610486565b005b6101fc60045481565b6040519081526020016101b2565b6101ce6102183660046116c4565b6104fe565b6101fc7f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c981565b61024c601281565b60405160ff90911681526020016101b2565b6101fc6105cd565b6101f1610274366004611698565b610629565b6101f1610287366004611705565b610762565b6101fc61029a36600461171e565b60016020526000908152604090205481565b6101fc6102ba36600461171e565b60036020526000908152604090205481565b6101f161076f565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6101f1610309366004611698565b6107d5565b6000546040516001600160a01b0390911681526020016101b2565b6101a561086b565b6101ce61033f366004611698565b610878565b6101fc7f000000000000000000000000000000000000000000000000000000000000000081565b6101ce610379366004611751565b610885565b6101f161038c36600461181e565b610926565b6101fc61039f366004611895565b600260209081526000928352604080842090915290825290205481565b6101f16103ca36600461171e565b610c36565b6101f16103dd3660046118ce565b610d15565b600580546103ef9061196d565b80601f016020809104026020016040519081016040528092919081815260200182805461041b9061196d565b80156104685780601f1061043d57610100808354040283529160200191610468565b820191906000526020600020905b81548152906001019060200180831161044b57829003601f168201915b505050505081565b600061047d338484610dea565b50600192915050565b6000546001600160a01b031633146104e55760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b6104f96001600160a01b0384168383610ef8565b505050565b6001600160a01b038316600090815260026020908152604080832033845290915281205460001981146105b557828110156105a15760405162461bcd60e51b815260206004820152602160248201527f5472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6360448201527f650000000000000000000000000000000000000000000000000000000000000060648201526084016104dc565b6105b585336105b086856119be565b610dea565b6105c0858585610f78565b60019150505b9392505050565b60007f000000000000000000000000000000000000000000000000000000000000000046141561061c57507f000000000000000000000000000000000000000000000000000000000000000090565b610624611180565b905090565b6000546001600160a01b031633146106835760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104dc565b6001600160a01b0382166106d95760405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f2061646472657373000000000000000060448201526064016104dc565b80600460008282546106eb91906119d5565b90915550506001600160a01b038216600090815260016020526040812080548392906107189084906119d5565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b61076c338261124b565b50565b6000546001600160a01b031633146107c95760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104dc565b6107d3600061132f565b565b6001600160a01b0382166000908152600260209081526040808320338452909152902054600019811461086157818110156108525760405162461bcd60e51b815260206004820152601d60248201527f4275726e20616d6f756e74206578636565647320616c6c6f77616e636500000060448201526064016104dc565b61086183336105b085856119be565b6104f9838361124b565b600680546103ef9061196d565b600061047d338484610f78565b60006108918484610470565b1561091c576040517f8f4ffcb10000000000000000000000000000000000000000000000000000000081526001600160a01b03851690638f4ffcb1906108e19033908790309088906004016119ed565b600060405180830381600087803b1580156108fb57600080fd5b505af115801561090f573d6000803e3d6000fd5b50505050600190506105c6565b5060009392505050565b428410156109765760405162461bcd60e51b815260206004820152601260248201527f5065726d697373696f6e2065787069726564000000000000000000000000000060448201526064016104dc565b7f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08111156109e65760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202773272076616c7565000000000060448201526064016104dc565b8260ff16601b14806109fb57508260ff16601c145b610a475760405162461bcd60e51b815260206004820152601b60248201527f496e76616c6964207369676e6174757265202776272076616c7565000000000060448201526064016104dc565b6000610a516105cd565b6001600160a01b038916600090815260036020526040812080547f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c9928c928c928c92909190610a9f83611a29565b909155506040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810187905260e00160405160208183030381529060405280519060200120604051602001610b339291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b60408051601f198184030181528282528051602091820120600080855291840180845281905260ff88169284019290925260608301869052608083018590529092509060019060a0016020604051602081039080840390855afa158015610b9e573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811615801590610bd45750886001600160a01b0316816001600160a01b0316145b610c205760405162461bcd60e51b815260206004820152601160248201527f496e76616c6964207369676e617475726500000000000000000000000000000060448201526064016104dc565b610c2b898989610dea565b505050505050505050565b6000546001600160a01b03163314610c905760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104dc565b6001600160a01b038116610d0c5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084016104dc565b61076c8161132f565b6000546001600160a01b03163314610d6f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016104dc565b6040517fb88d4fde0000000000000000000000000000000000000000000000000000000081526001600160a01b0386169063b88d4fde90610dbc9030908890889088908890600401611a44565b600060405180830381600087803b158015610dd657600080fd5b505af1158015610c2b573d6000803e3d6000fd5b6001600160a01b038316610e405760405162461bcd60e51b815260206004820152601d60248201527f417070726f76652066726f6d20746865207a65726f206164647265737300000060448201526064016104dc565b6001600160a01b038216610e965760405162461bcd60e51b815260206004820152601b60248201527f417070726f766520746f20746865207a65726f2061646472657373000000000060448201526064016104dc565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb000000000000000000000000000000000000000000000000000000001790526104f9908490611397565b6001600160a01b038316610fce5760405162461bcd60e51b815260206004820152601e60248201527f5472616e736665722066726f6d20746865207a65726f2061646472657373000060448201526064016104dc565b6001600160a01b0382166110245760405162461bcd60e51b815260206004820152601c60248201527f5472616e7366657220746f20746865207a65726f20616464726573730000000060448201526064016104dc565b6001600160a01b03821630141561107d5760405162461bcd60e51b815260206004820152601d60248201527f5472616e7366657220746f2074686520746f6b656e206164647265737300000060448201526064016104dc565b6001600160a01b038316600090815260016020526040902054818110156110e65760405162461bcd60e51b815260206004820152601f60248201527f5472616e7366657220616d6f756e7420657863656564732062616c616e63650060448201526064016104dc565b6110f082826119be565b6001600160a01b0380861660009081526001602052604080822093909355908516815290812080548492906111269084906119d5565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161117291815260200190565b60405180910390a350505050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60056040516111b29190611a98565b604080519182900382208282018252600183527f31000000000000000000000000000000000000000000000000000000000000006020938401528151928301939093528101919091527fc89efdaa54c0f20c7adf612882df0950f5a951637e0307cdcb4c672f298b8bc660608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b6001600160a01b038216600090815260016020526040902054818110156112b45760405162461bcd60e51b815260206004820152601b60248201527f4275726e20616d6f756e7420657863656564732062616c616e6365000000000060448201526064016104dc565b6112be82826119be565b6001600160a01b038416600090815260016020526040812091909155600480548492906112ec9084906119be565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610eeb565b600080546001600160a01b038381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60006113ec826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661147c9092919063ffffffff16565b8051909150156104f9578080602001905181019061140a9190611b34565b6104f95760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f7420737563636565640000000000000000000000000000000000000000000060648201526084016104dc565b606061148b8484600085611493565b949350505050565b60608247101561150b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084016104dc565b6001600160a01b0385163b6115625760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016104dc565b600080866001600160a01b0316858760405161157e9190611b56565b60006040518083038185875af1925050503d80600081146115bb576040519150601f19603f3d011682016040523d82523d6000602084013e6115c0565b606091505b50915091506115d08282866115db565b979650505050505050565b606083156115ea5750816105c6565b8251156115fa5782518084602001fd5b8160405162461bcd60e51b81526004016104dc9190611670565b60005b8381101561162f578181015183820152602001611617565b8381111561163e576000848401525b50505050565b6000815180845261165c816020860160208601611614565b601f01601f19169290920160200192915050565b6020815260006105c66020830184611644565b6001600160a01b038116811461076c57600080fd5b600080604083850312156116ab57600080fd5b82356116b681611683565b946020939093013593505050565b6000806000606084860312156116d957600080fd5b83356116e481611683565b925060208401356116f481611683565b929592945050506040919091013590565b60006020828403121561171757600080fd5b5035919050565b60006020828403121561173057600080fd5b81356105c681611683565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561176657600080fd5b833561177181611683565b925060208401359150604084013567ffffffffffffffff8082111561179557600080fd5b818601915086601f8301126117a957600080fd5b8135818111156117bb576117bb61173b565b604051601f8201601f19908116603f011681019083821181831017156117e3576117e361173b565b816040528281528960208487010111156117fc57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b600080600080600080600060e0888a03121561183957600080fd5b873561184481611683565b9650602088013561185481611683565b95506040880135945060608801359350608088013560ff8116811461187857600080fd5b9699959850939692959460a0840135945060c09093013592915050565b600080604083850312156118a857600080fd5b82356118b381611683565b915060208301356118c381611683565b809150509250929050565b6000806000806000608086880312156118e657600080fd5b85356118f181611683565b9450602086013561190181611683565b935060408601359250606086013567ffffffffffffffff8082111561192557600080fd5b818801915088601f83011261193957600080fd5b81358181111561194857600080fd5b89602082850101111561195a57600080fd5b9699959850939650602001949392505050565b600181811c9082168061198157607f821691505b602082108114156119a257634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6000828210156119d0576119d06119a8565b500390565b600082198211156119e8576119e86119a8565b500190565b60006001600160a01b03808716835285602084015280851660408401525060806060830152611a1f6080830184611644565b9695505050505050565b6000600019821415611a3d57611a3d6119a8565b5060010190565b60006001600160a01b03808816835280871660208401525084604083015260806060830152826080830152828460a0840137600060a0848401015260a0601f19601f85011683010190509695505050505050565b600080835481600182811c915080831680611ab457607f831692505b6020808410821415611ad457634e487b7160e01b86526022600452602486fd5b818015611ae85760018114611af957611b26565b60ff19861689528489019650611b26565b60008a81526020902060005b86811015611b1e5781548b820152908501908301611b05565b505084890196505b509498975050505050505050565b600060208284031215611b4657600080fd5b815180151581146105c657600080fd5b60008251611b68818460208701611614565b919091019291505056fea26469706673582212200696cd3256db0b36223a5700e6cea3fffa743482f615567d8b7e36aa30fb943a64736f6c63430008090033";
|
|
533
|
+
const isSuperArgs = (xs) => xs.length > 1;
|
|
534
|
+
class TBTC__factory extends ethers_1.ContractFactory {
|
|
535
|
+
constructor(...args) {
|
|
536
|
+
if (isSuperArgs(args)) {
|
|
537
|
+
super(...args);
|
|
538
|
+
}
|
|
539
|
+
else {
|
|
540
|
+
super(_abi, _bytecode, args[0]);
|
|
541
|
+
}
|
|
542
|
+
}
|
|
543
|
+
deploy(overrides) {
|
|
544
|
+
return super.deploy(overrides || {});
|
|
545
|
+
}
|
|
546
|
+
getDeployTransaction(overrides) {
|
|
547
|
+
return super.getDeployTransaction(overrides || {});
|
|
548
|
+
}
|
|
549
|
+
attach(address) {
|
|
550
|
+
return super.attach(address);
|
|
551
|
+
}
|
|
552
|
+
connect(signer) {
|
|
553
|
+
return super.connect(signer);
|
|
554
|
+
}
|
|
555
|
+
static createInterface() {
|
|
556
|
+
return new ethers_1.utils.Interface(_abi);
|
|
557
|
+
}
|
|
558
|
+
static connect(address, signerOrProvider) {
|
|
559
|
+
return new ethers_1.Contract(address, _abi, signerOrProvider);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
exports.TBTC__factory = TBTC__factory;
|
|
563
|
+
TBTC__factory.bytecode = _bytecode;
|
|
564
|
+
TBTC__factory.abi = _abi;
|