@0xsquid/react-hooks 1.0.0
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/.babelrc +7 -0
- package/.eslintignore +1 -0
- package/.eslintrc.json +44 -0
- package/dist/index.js +6 -0
- package/jest.config.ts +28 -0
- package/package.json +124 -0
- package/scripts/copyAssets.js +27 -0
- package/scripts/removeBuildTestFolder.js +28 -0
- package/scripts/replacePaths.js +37 -0
- package/src/assets/images/icons/wallets/binance.svg +4 -0
- package/src/assets/images/icons/wallets/bitget.svg +43 -0
- package/src/assets/images/icons/wallets/bitkeep.svg +9 -0
- package/src/assets/images/icons/wallets/blockchaindotcom.svg +11 -0
- package/src/assets/images/icons/wallets/brave.svg +18 -0
- package/src/assets/images/icons/wallets/c98.svg +3 -0
- package/src/assets/images/icons/wallets/coinbase.svg +5 -0
- package/src/assets/images/icons/wallets/cosmostation.svg +9 -0
- package/src/assets/images/icons/wallets/defiConnect.svg +25 -0
- package/src/assets/images/icons/wallets/exodus.svg +33 -0
- package/src/assets/images/icons/wallets/fetchai.svg +1 -0
- package/src/assets/images/icons/wallets/index.ts +43 -0
- package/src/assets/images/icons/wallets/keplr.svg +9 -0
- package/src/assets/images/icons/wallets/leap.svg +35 -0
- package/src/assets/images/icons/wallets/metamask.svg +48 -0
- package/src/assets/images/icons/wallets/okx.svg +1 -0
- package/src/assets/images/icons/wallets/rabby.svg +1 -0
- package/src/assets/images/icons/wallets/trustwallet.svg +11 -0
- package/src/assets/images/icons/wallets/walletConnect.svg +11 -0
- package/src/assets/images/icons/wallets/wallet_icon.svg +1 -0
- package/src/assets/images/icons/wallets/xdefi.svg +9 -0
- package/src/assets/images/icons/wallets/zerion.svg +11 -0
- package/src/connectors/ExodusConnector.ts +6 -0
- package/src/connectors/LedgerLiveConnector.ts +226 -0
- package/src/contracts/typechain/ERC20.d.ts +441 -0
- package/src/contracts/typechain/factories/ERC20__factory.d.ts +56 -0
- package/src/contracts/typechain/factories/ERC20__factory.ts +340 -0
- package/src/core/constants.ts +549 -0
- package/src/core/externalLinks.ts +26 -0
- package/src/core/index.ts +1 -0
- package/src/core/multicall3.ts +22 -0
- package/src/core/numbers.ts +44 -0
- package/src/core/providers/CosmosProvider.tsx +55 -0
- package/src/core/queries/queries-keys.ts +156 -0
- package/src/core/queries/react-query-config.ts +13 -0
- package/src/core/types/components.ts +16 -0
- package/src/core/types/config.ts +52 -0
- package/src/core/types/dex.ts +31 -0
- package/src/core/types/error.ts +52 -0
- package/src/core/types/event.ts +16 -0
- package/src/core/types/route.ts +21 -0
- package/src/core/types/swap.ts +8 -0
- package/src/core/types/tokens.ts +30 -0
- package/src/core/types/transaction.ts +84 -0
- package/src/core/types/types.ts +37 -0
- package/src/core/types/wallet.ts +83 -0
- package/src/hooks/chains/useSquidChains.ts +66 -0
- package/src/hooks/cosmos/useCosmos.ts +279 -0
- package/src/hooks/cosmos/useCosmosForChain.ts +33 -0
- package/src/hooks/index.ts +32 -0
- package/src/hooks/navigation/useKeyboardNavigation.ts +88 -0
- package/src/hooks/store/useSquidStore.ts +80 -0
- package/src/hooks/swap/useSwap.ts +359 -0
- package/src/hooks/tokens/useAllTokensWithBalance.ts +157 -0
- package/src/hooks/tokens/useBalance.ts +180 -0
- package/src/hooks/tokens/useMultiChainBalance.ts +59 -0
- package/src/hooks/tokens/usePrices.ts +52 -0
- package/src/hooks/tokens/useSingleTokenPrice.ts +45 -0
- package/src/hooks/tokens/useSquidTokens.ts +48 -0
- package/src/hooks/tokens/useTokensWithBalance.ts +169 -0
- package/src/hooks/transaction/useEstimate.ts +397 -0
- package/src/hooks/transaction/useEstimatePriceImpact.ts +39 -0
- package/src/hooks/transaction/useExecuteTransaction.ts +440 -0
- package/src/hooks/transaction/useExpress.ts +46 -0
- package/src/hooks/transaction/useGetRoute.ts +145 -0
- package/src/hooks/transaction/useSingleTransaction.ts +155 -0
- package/src/hooks/transaction/useTransaction.ts +734 -0
- package/src/hooks/user/useUserParams.ts +63 -0
- package/src/hooks/wallet/useAddToken.ts +53 -0
- package/src/hooks/wallet/useAutoConnect.ts +56 -0
- package/src/hooks/wallet/useGnosisContext.ts +84 -0
- package/src/hooks/wallet/useIntegratorContext.ts +44 -0
- package/src/hooks/wallet/useMultiChainWallet.ts +146 -0
- package/src/hooks/wallet/useWallet.ts +86 -0
- package/src/hooks/webapp-router/useSquidRouter.ts +42 -0
- package/src/index.ts +5 -0
- package/src/provider/index.tsx +105 -0
- package/src/react-app-env.d.ts +2 -0
- package/src/services/external/analyticsService.ts +46 -0
- package/src/services/external/coingeckoService.ts +35 -0
- package/src/services/external/rpcService.ts +196 -0
- package/src/services/external/secretService.ts +178 -0
- package/src/services/index.ts +1 -0
- package/src/services/internal/apiService.ts +6 -0
- package/src/services/internal/assetsService.ts +84 -0
- package/src/services/internal/configService.ts +261 -0
- package/src/services/internal/errorService.ts +124 -0
- package/src/services/internal/eventService.ts +93 -0
- package/src/services/internal/priceService.ts +10 -0
- package/src/services/internal/transactionService.ts +255 -0
- package/src/services/internal/transactionStatusService.ts +293 -0
- package/src/services/internal/walletService.ts +158 -0
- package/src/tests/assetsService.test.ts +176 -0
- package/src/tests/configService.test.ts +486 -0
- package/src/tests/fetchSquidData.ts +43 -0
- package/src/tests/jest-svg-transform.ts +19 -0
- package/src/tests/sample.json +0 -0
- package/src/tests/walletService.test.ts +178 -0
- package/tsconfig.json +30 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { ERC20, ERC20Interface } from "@/contracts/typechain/ERC20";
|
|
2
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
3
|
+
import { ContractFactory, Overrides, Signer } from "ethers";
|
|
4
|
+
export declare class ERC20__factory extends ContractFactory {
|
|
5
|
+
constructor(...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>);
|
|
6
|
+
deploy(name_: string, symbol_: string, overrides?: Overrides & {
|
|
7
|
+
from?: string | Promise<string>;
|
|
8
|
+
}): Promise<ERC20>;
|
|
9
|
+
getDeployTransaction(name_: string, symbol_: string, overrides?: Overrides & {
|
|
10
|
+
from?: string | Promise<string>;
|
|
11
|
+
}): TransactionRequest;
|
|
12
|
+
attach(address: string): ERC20;
|
|
13
|
+
connect(signer: Signer): ERC20__factory;
|
|
14
|
+
static readonly bytecode = "0x60806040523480156200001157600080fd5b5060405162000af038038062000af08339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b61085e80620002926000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c391906106c4565b60405180910390f35b6100df6100da366004610735565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f36600461075f565b61024a565b604051601281526020016100c3565b6100df610131366004610735565b61026e565b6100f361014436600461079b565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df610175366004610735565b61029f565b6100df610188366004610735565b61031f565b6100f361019b3660046107bd565b61032d565b6060600380546101af906107f0565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107f0565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b919061082b565b610358565b6060600480546101af906107f0565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061066b90849061082b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106b791815260200190565b60405180910390a36104f0565b600060208083528351808285015260005b818110156106f1578581018301518582016040015282016106d5565b81811115610703576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461073057600080fd5b919050565b6000806040838503121561074857600080fd5b61075183610719565b946020939093013593505050565b60008060006060848603121561077457600080fd5b61077d84610719565b925061078b60208501610719565b9150604084013590509250925092565b6000602082840312156107ad57600080fd5b6107b682610719565b9392505050565b600080604083850312156107d057600080fd5b6107d983610719565b91506107e760208401610719565b90509250929050565b600181811c9082168061080457607f821691505b6020821081141561082557634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561084c57634e487b7160e01b600052601160045260246000fd5b50019056fea164736f6c634300080b000a";
|
|
15
|
+
static readonly abi: ({
|
|
16
|
+
inputs: {
|
|
17
|
+
internalType: string;
|
|
18
|
+
name: string;
|
|
19
|
+
type: string;
|
|
20
|
+
}[];
|
|
21
|
+
stateMutability: string;
|
|
22
|
+
type: string;
|
|
23
|
+
anonymous?: undefined;
|
|
24
|
+
name?: undefined;
|
|
25
|
+
outputs?: undefined;
|
|
26
|
+
} | {
|
|
27
|
+
anonymous: boolean;
|
|
28
|
+
inputs: {
|
|
29
|
+
indexed: boolean;
|
|
30
|
+
internalType: string;
|
|
31
|
+
name: string;
|
|
32
|
+
type: string;
|
|
33
|
+
}[];
|
|
34
|
+
name: string;
|
|
35
|
+
type: string;
|
|
36
|
+
stateMutability?: undefined;
|
|
37
|
+
outputs?: undefined;
|
|
38
|
+
} | {
|
|
39
|
+
inputs: {
|
|
40
|
+
internalType: string;
|
|
41
|
+
name: string;
|
|
42
|
+
type: string;
|
|
43
|
+
}[];
|
|
44
|
+
name: string;
|
|
45
|
+
outputs: {
|
|
46
|
+
internalType: string;
|
|
47
|
+
name: string;
|
|
48
|
+
type: string;
|
|
49
|
+
}[];
|
|
50
|
+
stateMutability: string;
|
|
51
|
+
type: string;
|
|
52
|
+
anonymous?: undefined;
|
|
53
|
+
})[];
|
|
54
|
+
static createInterface(): ERC20Interface;
|
|
55
|
+
static connect(address: string, signerOrProvider: Signer | Provider): ERC20;
|
|
56
|
+
}
|
|
@@ -0,0 +1,340 @@
|
|
|
1
|
+
/* Autogenerated file. Do not edit manually. */
|
|
2
|
+
/* tslint:disable */
|
|
3
|
+
/* eslint-disable */
|
|
4
|
+
|
|
5
|
+
import type { ERC20, ERC20Interface } from "@/contracts/typechain/ERC20";
|
|
6
|
+
import { Provider, TransactionRequest } from "@ethersproject/providers";
|
|
7
|
+
import { Contract, ContractFactory, Overrides, Signer, utils } from "ethers";
|
|
8
|
+
|
|
9
|
+
const _abi = [
|
|
10
|
+
{
|
|
11
|
+
inputs: [
|
|
12
|
+
{
|
|
13
|
+
internalType: "string",
|
|
14
|
+
name: "name_",
|
|
15
|
+
type: "string",
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
internalType: "string",
|
|
19
|
+
name: "symbol_",
|
|
20
|
+
type: "string",
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
stateMutability: "nonpayable",
|
|
24
|
+
type: "constructor",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
anonymous: false,
|
|
28
|
+
inputs: [
|
|
29
|
+
{
|
|
30
|
+
indexed: true,
|
|
31
|
+
internalType: "address",
|
|
32
|
+
name: "owner",
|
|
33
|
+
type: "address",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
indexed: true,
|
|
37
|
+
internalType: "address",
|
|
38
|
+
name: "spender",
|
|
39
|
+
type: "address",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
indexed: false,
|
|
43
|
+
internalType: "uint256",
|
|
44
|
+
name: "value",
|
|
45
|
+
type: "uint256",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
name: "Approval",
|
|
49
|
+
type: "event",
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
anonymous: false,
|
|
53
|
+
inputs: [
|
|
54
|
+
{
|
|
55
|
+
indexed: true,
|
|
56
|
+
internalType: "address",
|
|
57
|
+
name: "from",
|
|
58
|
+
type: "address",
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
indexed: true,
|
|
62
|
+
internalType: "address",
|
|
63
|
+
name: "to",
|
|
64
|
+
type: "address",
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
indexed: false,
|
|
68
|
+
internalType: "uint256",
|
|
69
|
+
name: "value",
|
|
70
|
+
type: "uint256",
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
|
+
name: "Transfer",
|
|
74
|
+
type: "event",
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
inputs: [
|
|
78
|
+
{
|
|
79
|
+
internalType: "address",
|
|
80
|
+
name: "owner",
|
|
81
|
+
type: "address",
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
internalType: "address",
|
|
85
|
+
name: "spender",
|
|
86
|
+
type: "address",
|
|
87
|
+
},
|
|
88
|
+
],
|
|
89
|
+
name: "allowance",
|
|
90
|
+
outputs: [
|
|
91
|
+
{
|
|
92
|
+
internalType: "uint256",
|
|
93
|
+
name: "",
|
|
94
|
+
type: "uint256",
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
|
+
stateMutability: "view",
|
|
98
|
+
type: "function",
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
inputs: [
|
|
102
|
+
{
|
|
103
|
+
internalType: "address",
|
|
104
|
+
name: "spender",
|
|
105
|
+
type: "address",
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
internalType: "uint256",
|
|
109
|
+
name: "amount",
|
|
110
|
+
type: "uint256",
|
|
111
|
+
},
|
|
112
|
+
],
|
|
113
|
+
name: "approve",
|
|
114
|
+
outputs: [
|
|
115
|
+
{
|
|
116
|
+
internalType: "bool",
|
|
117
|
+
name: "",
|
|
118
|
+
type: "bool",
|
|
119
|
+
},
|
|
120
|
+
],
|
|
121
|
+
stateMutability: "nonpayable",
|
|
122
|
+
type: "function",
|
|
123
|
+
},
|
|
124
|
+
{
|
|
125
|
+
inputs: [
|
|
126
|
+
{
|
|
127
|
+
internalType: "address",
|
|
128
|
+
name: "account",
|
|
129
|
+
type: "address",
|
|
130
|
+
},
|
|
131
|
+
],
|
|
132
|
+
name: "balanceOf",
|
|
133
|
+
outputs: [
|
|
134
|
+
{
|
|
135
|
+
internalType: "uint256",
|
|
136
|
+
name: "",
|
|
137
|
+
type: "uint256",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
stateMutability: "view",
|
|
141
|
+
type: "function",
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
inputs: [],
|
|
145
|
+
name: "decimals",
|
|
146
|
+
outputs: [
|
|
147
|
+
{
|
|
148
|
+
internalType: "uint8",
|
|
149
|
+
name: "",
|
|
150
|
+
type: "uint8",
|
|
151
|
+
},
|
|
152
|
+
],
|
|
153
|
+
stateMutability: "view",
|
|
154
|
+
type: "function",
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
inputs: [
|
|
158
|
+
{
|
|
159
|
+
internalType: "address",
|
|
160
|
+
name: "spender",
|
|
161
|
+
type: "address",
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
internalType: "uint256",
|
|
165
|
+
name: "subtractedValue",
|
|
166
|
+
type: "uint256",
|
|
167
|
+
},
|
|
168
|
+
],
|
|
169
|
+
name: "decreaseAllowance",
|
|
170
|
+
outputs: [
|
|
171
|
+
{
|
|
172
|
+
internalType: "bool",
|
|
173
|
+
name: "",
|
|
174
|
+
type: "bool",
|
|
175
|
+
},
|
|
176
|
+
],
|
|
177
|
+
stateMutability: "nonpayable",
|
|
178
|
+
type: "function",
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
inputs: [
|
|
182
|
+
{
|
|
183
|
+
internalType: "address",
|
|
184
|
+
name: "spender",
|
|
185
|
+
type: "address",
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
internalType: "uint256",
|
|
189
|
+
name: "addedValue",
|
|
190
|
+
type: "uint256",
|
|
191
|
+
},
|
|
192
|
+
],
|
|
193
|
+
name: "increaseAllowance",
|
|
194
|
+
outputs: [
|
|
195
|
+
{
|
|
196
|
+
internalType: "bool",
|
|
197
|
+
name: "",
|
|
198
|
+
type: "bool",
|
|
199
|
+
},
|
|
200
|
+
],
|
|
201
|
+
stateMutability: "nonpayable",
|
|
202
|
+
type: "function",
|
|
203
|
+
},
|
|
204
|
+
{
|
|
205
|
+
inputs: [],
|
|
206
|
+
name: "name",
|
|
207
|
+
outputs: [
|
|
208
|
+
{
|
|
209
|
+
internalType: "string",
|
|
210
|
+
name: "",
|
|
211
|
+
type: "string",
|
|
212
|
+
},
|
|
213
|
+
],
|
|
214
|
+
stateMutability: "view",
|
|
215
|
+
type: "function",
|
|
216
|
+
},
|
|
217
|
+
{
|
|
218
|
+
inputs: [],
|
|
219
|
+
name: "symbol",
|
|
220
|
+
outputs: [
|
|
221
|
+
{
|
|
222
|
+
internalType: "string",
|
|
223
|
+
name: "",
|
|
224
|
+
type: "string",
|
|
225
|
+
},
|
|
226
|
+
],
|
|
227
|
+
stateMutability: "view",
|
|
228
|
+
type: "function",
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
inputs: [],
|
|
232
|
+
name: "totalSupply",
|
|
233
|
+
outputs: [
|
|
234
|
+
{
|
|
235
|
+
internalType: "uint256",
|
|
236
|
+
name: "",
|
|
237
|
+
type: "uint256",
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
stateMutability: "view",
|
|
241
|
+
type: "function",
|
|
242
|
+
},
|
|
243
|
+
{
|
|
244
|
+
inputs: [
|
|
245
|
+
{
|
|
246
|
+
internalType: "address",
|
|
247
|
+
name: "to",
|
|
248
|
+
type: "address",
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
internalType: "uint256",
|
|
252
|
+
name: "amount",
|
|
253
|
+
type: "uint256",
|
|
254
|
+
},
|
|
255
|
+
],
|
|
256
|
+
name: "transfer",
|
|
257
|
+
outputs: [
|
|
258
|
+
{
|
|
259
|
+
internalType: "bool",
|
|
260
|
+
name: "",
|
|
261
|
+
type: "bool",
|
|
262
|
+
},
|
|
263
|
+
],
|
|
264
|
+
stateMutability: "nonpayable",
|
|
265
|
+
type: "function",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
inputs: [
|
|
269
|
+
{
|
|
270
|
+
internalType: "address",
|
|
271
|
+
name: "from",
|
|
272
|
+
type: "address",
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
internalType: "address",
|
|
276
|
+
name: "to",
|
|
277
|
+
type: "address",
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
internalType: "uint256",
|
|
281
|
+
name: "amount",
|
|
282
|
+
type: "uint256",
|
|
283
|
+
},
|
|
284
|
+
],
|
|
285
|
+
name: "transferFrom",
|
|
286
|
+
outputs: [
|
|
287
|
+
{
|
|
288
|
+
internalType: "bool",
|
|
289
|
+
name: "",
|
|
290
|
+
type: "bool",
|
|
291
|
+
},
|
|
292
|
+
],
|
|
293
|
+
stateMutability: "nonpayable",
|
|
294
|
+
type: "function",
|
|
295
|
+
},
|
|
296
|
+
];
|
|
297
|
+
|
|
298
|
+
const _bytecode =
|
|
299
|
+
"0x60806040523480156200001157600080fd5b5060405162000af038038062000af08339810160408190526200003491620001db565b81516200004990600390602085019062000068565b5080516200005f90600490602084019062000068565b50505062000282565b828054620000769062000245565b90600052602060002090601f0160209004810192826200009a5760008555620000e5565b82601f10620000b557805160ff1916838001178555620000e5565b82800160010185558215620000e5579182015b82811115620000e5578251825591602001919060010190620000c8565b50620000f3929150620000f7565b5090565b5b80821115620000f35760008155600101620000f8565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200013657600080fd5b81516001600160401b03808211156200015357620001536200010e565b604051601f8301601f19908116603f011681019082821181831017156200017e576200017e6200010e565b816040528381526020925086838588010111156200019b57600080fd5b600091505b83821015620001bf5785820183015181830184015290820190620001a0565b83821115620001d15760008385830101525b9695505050505050565b60008060408385031215620001ef57600080fd5b82516001600160401b03808211156200020757600080fd5b620002158683870162000124565b935060208501519150808211156200022c57600080fd5b506200023b8582860162000124565b9150509250929050565b600181811c908216806200025a57607f821691505b602082108114156200027c57634e487b7160e01b600052602260045260246000fd5b50919050565b61085e80620002926000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461012357806370a082311461013657806395d89b411461015f578063a457c2d714610167578063a9059cbb1461017a578063dd62ed3e1461018d57600080fd5b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100ef57806323b872dd14610101578063313ce56714610114575b600080fd5b6100b66101a0565b6040516100c391906106c4565b60405180910390f35b6100df6100da366004610735565b610232565b60405190151581526020016100c3565b6002545b6040519081526020016100c3565b6100df61010f36600461075f565b61024a565b604051601281526020016100c3565b6100df610131366004610735565b61026e565b6100f361014436600461079b565b6001600160a01b031660009081526020819052604090205490565b6100b6610290565b6100df610175366004610735565b61029f565b6100df610188366004610735565b61031f565b6100f361019b3660046107bd565b61032d565b6060600380546101af906107f0565b80601f01602080910402602001604051908101604052809291908181526020018280546101db906107f0565b80156102285780601f106101fd57610100808354040283529160200191610228565b820191906000526020600020905b81548152906001019060200180831161020b57829003601f168201915b5050505050905090565b600033610240818585610358565b5060019392505050565b60003361025885828561047c565b6102638585856104f6565b506001949350505050565b600033610240818585610281838361032d565b61028b919061082b565b610358565b6060600480546101af906107f0565b600033816102ad828661032d565b9050838110156103125760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b60648201526084015b60405180910390fd5b6102638286868403610358565b6000336102408185856104f6565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166103ba5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610309565b6001600160a01b03821661041b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610309565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610488848461032d565b905060001981146104f057818110156104e35760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610309565b6104f08484848403610358565b50505050565b6001600160a01b03831661055a5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610309565b6001600160a01b0382166105bc5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610309565b6001600160a01b038316600090815260208190526040902054818110156106345760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610309565b6001600160a01b0380851660009081526020819052604080822085850390559185168152908120805484929061066b90849061082b565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516106b791815260200190565b60405180910390a36104f0565b600060208083528351808285015260005b818110156106f1578581018301518582016040015282016106d5565b81811115610703576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b038116811461073057600080fd5b919050565b6000806040838503121561074857600080fd5b61075183610719565b946020939093013593505050565b60008060006060848603121561077457600080fd5b61077d84610719565b925061078b60208501610719565b9150604084013590509250925092565b6000602082840312156107ad57600080fd5b6107b682610719565b9392505050565b600080604083850312156107d057600080fd5b6107d983610719565b91506107e760208401610719565b90509250929050565b600181811c9082168061080457607f821691505b6020821081141561082557634e487b7160e01b600052602260045260246000fd5b50919050565b6000821982111561084c57634e487b7160e01b600052601160045260246000fd5b50019056fea164736f6c634300080b000a";
|
|
300
|
+
|
|
301
|
+
export class ERC20__factory extends ContractFactory {
|
|
302
|
+
constructor(
|
|
303
|
+
...args: [signer: Signer] | ConstructorParameters<typeof ContractFactory>
|
|
304
|
+
) {
|
|
305
|
+
if (args.length === 1) {
|
|
306
|
+
super(_abi, _bytecode, args[0]);
|
|
307
|
+
} else {
|
|
308
|
+
super(...args);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
deploy(
|
|
313
|
+
name_: string,
|
|
314
|
+
symbol_: string,
|
|
315
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
316
|
+
): Promise<ERC20> {
|
|
317
|
+
return super.deploy(name_, symbol_, overrides || {}) as Promise<ERC20>;
|
|
318
|
+
}
|
|
319
|
+
getDeployTransaction(
|
|
320
|
+
name_: string,
|
|
321
|
+
symbol_: string,
|
|
322
|
+
overrides?: Overrides & { from?: string | Promise<string> }
|
|
323
|
+
): TransactionRequest {
|
|
324
|
+
return super.getDeployTransaction(name_, symbol_, overrides || {});
|
|
325
|
+
}
|
|
326
|
+
attach(address: string): ERC20 {
|
|
327
|
+
return super.attach(address) as ERC20;
|
|
328
|
+
}
|
|
329
|
+
connect(signer: Signer): ERC20__factory {
|
|
330
|
+
return super.connect(signer) as ERC20__factory;
|
|
331
|
+
}
|
|
332
|
+
static readonly bytecode = _bytecode;
|
|
333
|
+
static readonly abi = _abi;
|
|
334
|
+
static createInterface(): ERC20Interface {
|
|
335
|
+
return new utils.Interface(_abi) as ERC20Interface;
|
|
336
|
+
}
|
|
337
|
+
static connect(address: string, signerOrProvider: Signer | Provider): ERC20 {
|
|
338
|
+
return new Contract(address, _abi, signerOrProvider) as ERC20;
|
|
339
|
+
}
|
|
340
|
+
}
|