@instadapp/avocado-base 0.0.0-dev.4ee8c59 → 0.0.0-dev.608fae8
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/abi/multisigForwarder.json +697 -0
- package/assets/images/icons/info-2.svg +12 -0
- package/components/ActionMetadata.vue +5 -4
- package/components/AuthorityAvatar.vue +38 -0
- package/components/ChainLogo.vue +8 -207
- package/components/metadata/Bridge.vue +21 -5
- package/components/metadata/Signers.vue +63 -0
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/package.json +5 -3
- package/utils/helper.ts +2 -1
- package/utils/metadata.ts +35 -17
- package/utils/network.ts +151 -103
- package/utils/utils.d.ts +5 -5
package/contracts/index.ts
CHANGED
|
@@ -6,9 +6,11 @@ export type { BalanceResolver } from "./BalanceResolver";
|
|
|
6
6
|
export type { Erc20 } from "./Erc20";
|
|
7
7
|
export type { Forwarder } from "./Forwarder";
|
|
8
8
|
export type { GaslessWallet } from "./GaslessWallet";
|
|
9
|
+
export type { MultisigForwarder } from "./MultisigForwarder";
|
|
9
10
|
export * as factories from "./factories";
|
|
10
11
|
export { AvoFactoryProxy__factory } from "./factories/AvoFactoryProxy__factory";
|
|
11
12
|
export { BalanceResolver__factory } from "./factories/BalanceResolver__factory";
|
|
12
13
|
export { Erc20__factory } from "./factories/Erc20__factory";
|
|
13
14
|
export { Forwarder__factory } from "./factories/Forwarder__factory";
|
|
14
15
|
export { GaslessWallet__factory } from "./factories/GaslessWallet__factory";
|
|
16
|
+
export { MultisigForwarder__factory } from "./factories/MultisigForwarder__factory";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instadapp/avocado-base",
|
|
3
|
-
"version": "0.0.0-dev.
|
|
3
|
+
"version": "0.0.0-dev.608fae8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./nuxt.config.ts",
|
|
6
6
|
"types": "global.d.ts",
|
|
@@ -20,11 +20,13 @@
|
|
|
20
20
|
"nuxt-svgo": "^3.1.0",
|
|
21
21
|
"rimraf": "^3.0.2",
|
|
22
22
|
"typechain": "^8.1.1",
|
|
23
|
-
"unplugin-vue-components": "^0.25.1"
|
|
23
|
+
"unplugin-vue-components": "^0.25.1",
|
|
24
|
+
"vue-tippy": "^6.0.0"
|
|
24
25
|
},
|
|
25
26
|
"dependencies": {
|
|
26
27
|
"@vueuse/nuxt": "^10.2.0",
|
|
27
28
|
"bignumber.js": "^9.1.1",
|
|
28
|
-
"ethers": "^5.7.2"
|
|
29
|
+
"ethers": "^5.7.2",
|
|
30
|
+
"xxhashjs": "^0.2.2"
|
|
29
31
|
}
|
|
30
32
|
}
|
package/utils/helper.ts
CHANGED
package/utils/metadata.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ethers, utils } from "ethers";
|
|
2
|
-
import { Forwarder__factory } from "../contracts";
|
|
2
|
+
import { Forwarder__factory, MultisigForwarder__factory } from "../contracts";
|
|
3
|
+
import { toBN } from "./bignumber";
|
|
3
4
|
|
|
4
5
|
export const MetadataEnums = {
|
|
5
6
|
"transfer": "transfer",
|
|
@@ -17,6 +18,7 @@ import { Forwarder__factory } from "../contracts";
|
|
|
17
18
|
"add-signers": "add-signers",
|
|
18
19
|
"remove-signers": "remove-signers",
|
|
19
20
|
"change-threshold": "change-threshold",
|
|
21
|
+
"import": "import",
|
|
20
22
|
} as const;
|
|
21
23
|
|
|
22
24
|
const multiMetadataTypes = ["bytes[]"];
|
|
@@ -52,6 +54,7 @@ const actionMetadataTypes: Record<MetadataTypes, string[]> = {
|
|
|
52
54
|
"gas-topup": ["uint256 amount", "address token", "address onBehalf"],
|
|
53
55
|
upgrade: ["bytes32 version", "address walletImpl"],
|
|
54
56
|
dapp: ["string name", "string url"],
|
|
57
|
+
"import": ["bytes32 protocol", "uint256 valueInUsd"],
|
|
55
58
|
auth: ["address address", "uint256 chainId", "bool remove"],
|
|
56
59
|
deploy: [],
|
|
57
60
|
permit2: [
|
|
@@ -306,6 +309,24 @@ export const encodeRemoveSignersMetadata = (
|
|
|
306
309
|
return single ? encodeMultipleActions(data) : data;
|
|
307
310
|
};
|
|
308
311
|
|
|
312
|
+
export const encodeImportMetadata = (
|
|
313
|
+
protocol: string,
|
|
314
|
+
valueInUsd: string,
|
|
315
|
+
single = true
|
|
316
|
+
) => {
|
|
317
|
+
const encodedData = ethers.utils.defaultAbiCoder.encode(
|
|
318
|
+
actionMetadataTypes["import"],
|
|
319
|
+
[protocol, valueInUsd]
|
|
320
|
+
);
|
|
321
|
+
|
|
322
|
+
const data = encodeMetadata({
|
|
323
|
+
type: MetadataEnums["import"],
|
|
324
|
+
encodedData,
|
|
325
|
+
});
|
|
326
|
+
|
|
327
|
+
return single ? encodeMultipleActions(data) : data;
|
|
328
|
+
};
|
|
329
|
+
|
|
309
330
|
export const encodeAddSignersMetadata = (
|
|
310
331
|
addresses: string[],
|
|
311
332
|
single = true
|
|
@@ -346,8 +367,10 @@ export const decodeMetadata = (metadata: string) => {
|
|
|
346
367
|
}
|
|
347
368
|
};
|
|
348
369
|
|
|
370
|
+
const iface = Forwarder__factory.createInterface();
|
|
371
|
+
const ifaceMultisig = MultisigForwarder__factory.createInterface();
|
|
372
|
+
|
|
349
373
|
const getMetadataFromData = (data: string) => {
|
|
350
|
-
const iface = Forwarder__factory.createInterface();
|
|
351
374
|
let metadata = "0x";
|
|
352
375
|
|
|
353
376
|
if (data.startsWith("0x18e7f485")) {
|
|
@@ -367,28 +390,18 @@ const getMetadataFromData = (data: string) => {
|
|
|
367
390
|
} else {
|
|
368
391
|
metadata = executeDataV2.params_.metadata;
|
|
369
392
|
}
|
|
370
|
-
} else if (data.startsWith("0x85114d53")) {
|
|
371
|
-
const executeDataV3 = iface.decodeFunctionData("executeV3", data);
|
|
372
|
-
if (
|
|
373
|
-
executeDataV3.params_.metadata === "0x" ||
|
|
374
|
-
!executeDataV3.params_.metadata
|
|
375
|
-
) {
|
|
376
|
-
return null;
|
|
377
|
-
} else {
|
|
378
|
-
metadata = executeDataV3.params_.metadata;
|
|
379
|
-
}
|
|
380
393
|
} else {
|
|
381
|
-
const
|
|
382
|
-
"
|
|
394
|
+
const executeDataMultisig = ifaceMultisig.decodeFunctionData(
|
|
395
|
+
"executeV1",
|
|
383
396
|
data
|
|
384
397
|
);
|
|
385
398
|
if (
|
|
386
|
-
|
|
387
|
-
!
|
|
399
|
+
executeDataMultisig.params_.metadata === "0x" ||
|
|
400
|
+
!executeDataMultisig.params_.metadata
|
|
388
401
|
) {
|
|
389
402
|
return null;
|
|
390
403
|
} else {
|
|
391
|
-
metadata =
|
|
404
|
+
metadata = executeDataMultisig.params_.metadata;
|
|
392
405
|
}
|
|
393
406
|
}
|
|
394
407
|
|
|
@@ -397,6 +410,11 @@ const getMetadataFromData = (data: string) => {
|
|
|
397
410
|
|
|
398
411
|
|
|
399
412
|
const typesPayload: IPayload = {
|
|
413
|
+
import: (data, type) => ({
|
|
414
|
+
type,
|
|
415
|
+
protocol: utils.parseBytes32String(data.protocol || ""),
|
|
416
|
+
valueInUsd: toBN(data.valueInUsd).toFixed(),
|
|
417
|
+
}),
|
|
400
418
|
transfer: (data, type) => ({
|
|
401
419
|
type,
|
|
402
420
|
token: data.token,
|
package/utils/network.ts
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
+
import {
|
|
3
|
+
AVO_PROD_CHAIN_NAME,
|
|
4
|
+
AVO_PROD_CHAIN_ID,
|
|
5
|
+
AVO_PROD_RPC_URL,
|
|
6
|
+
AVO_PROD_EXPLORER_URL,
|
|
7
|
+
AVO_STAGING_CHAIN_NAME,
|
|
8
|
+
AVO_STAGING_CHAIN_ID,
|
|
9
|
+
AVO_STAGING_RPC_URL,
|
|
10
|
+
AVO_STAGING_EXPLORER_URL,
|
|
11
|
+
} from "./avocado";
|
|
2
12
|
|
|
3
|
-
export const bridgeDisabledNetworks = [
|
|
13
|
+
export const bridgeDisabledNetworks = [];
|
|
14
|
+
|
|
15
|
+
export const networksSimulationNotSupported = [1313161554, 1101];
|
|
4
16
|
|
|
5
17
|
export const networks: Network[] = [
|
|
6
|
-
{
|
|
7
|
-
name: "Ethereum",
|
|
8
|
-
debankName: "eth",
|
|
9
|
-
ankrName: "eth",
|
|
10
|
-
zerionName: "ethereum",
|
|
11
|
-
chainId: 1,
|
|
12
|
-
explorerUrl: "https://etherscan.io",
|
|
13
|
-
color: "#5D5FEF",
|
|
14
|
-
get serverRpcUrl() {
|
|
15
|
-
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
16
|
-
},
|
|
17
|
-
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
18
|
-
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
19
|
-
params: {
|
|
20
|
-
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
21
|
-
nativeCurrency: {
|
|
22
|
-
name: "Ethereum",
|
|
23
|
-
symbol: "ETH",
|
|
24
|
-
decimals: 18,
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
18
|
{
|
|
29
19
|
name: "Polygon",
|
|
30
20
|
debankName: "matic",
|
|
@@ -35,6 +25,7 @@ export const networks: Network[] = [
|
|
|
35
25
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
36
26
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
37
27
|
explorerUrl: "https://polygonscan.com",
|
|
28
|
+
apiURL: "https://api.polygonscan.com",
|
|
38
29
|
get serverRpcUrl() {
|
|
39
30
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
40
31
|
},
|
|
@@ -58,6 +49,7 @@ export const networks: Network[] = [
|
|
|
58
49
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
59
50
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
60
51
|
explorerUrl: "https://arbiscan.io",
|
|
52
|
+
apiURL: "https://api.arbiscan.io",
|
|
61
53
|
get serverRpcUrl() {
|
|
62
54
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
63
55
|
},
|
|
@@ -71,6 +63,51 @@ export const networks: Network[] = [
|
|
|
71
63
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
72
64
|
},
|
|
73
65
|
},
|
|
66
|
+
{
|
|
67
|
+
name: "Ethereum",
|
|
68
|
+
debankName: "eth",
|
|
69
|
+
ankrName: "eth",
|
|
70
|
+
zerionName: "ethereum",
|
|
71
|
+
chainId: 1,
|
|
72
|
+
explorerUrl: "https://etherscan.io",
|
|
73
|
+
apiURL: "https://api.etherscan.io",
|
|
74
|
+
color: "#5D5FEF",
|
|
75
|
+
get serverRpcUrl() {
|
|
76
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
77
|
+
},
|
|
78
|
+
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
79
|
+
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
80
|
+
params: {
|
|
81
|
+
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
82
|
+
nativeCurrency: {
|
|
83
|
+
name: "Ethereum",
|
|
84
|
+
symbol: "ETH",
|
|
85
|
+
decimals: 18,
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
name: "Base",
|
|
91
|
+
chainId: 8453,
|
|
92
|
+
color: "#1E2024",
|
|
93
|
+
ankrName: "base",
|
|
94
|
+
explorerUrl: "https://basescan.org",
|
|
95
|
+
apiURL: "https://api.basescan.org",
|
|
96
|
+
get serverRpcUrl() {
|
|
97
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
98
|
+
},
|
|
99
|
+
usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
100
|
+
balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
|
|
101
|
+
params: {
|
|
102
|
+
rpcUrls: ["https://rpc.ankr.com/base"],
|
|
103
|
+
chainName: "Base",
|
|
104
|
+
nativeCurrency: {
|
|
105
|
+
name: "Ethereum",
|
|
106
|
+
symbol: "ETH",
|
|
107
|
+
decimals: 18,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
},
|
|
74
111
|
{
|
|
75
112
|
name: "Optimism",
|
|
76
113
|
debankName: "op",
|
|
@@ -78,6 +115,7 @@ export const networks: Network[] = [
|
|
|
78
115
|
zerionName: "optimism",
|
|
79
116
|
color: "#FF0420",
|
|
80
117
|
chainId: 10,
|
|
118
|
+
apiURL: "https://api-optimistic.etherscan.io",
|
|
81
119
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
82
120
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
83
121
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
@@ -95,26 +133,25 @@ export const networks: Network[] = [
|
|
|
95
133
|
},
|
|
96
134
|
},
|
|
97
135
|
{
|
|
98
|
-
name: "
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
explorerUrl: "https://snowtrace.io",
|
|
136
|
+
name: "Polygon zkEVM",
|
|
137
|
+
chainId: 1101,
|
|
138
|
+
color: "#8544f6",
|
|
139
|
+
ankrName: "polygon_zkevm",
|
|
140
|
+
explorerUrl: "https://zkevm.polygonscan.com",
|
|
141
|
+
apiURL: "https://api-zkevm.polygonscan.com",
|
|
142
|
+
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
143
|
+
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
107
144
|
get serverRpcUrl() {
|
|
108
|
-
return process.env?.
|
|
145
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
109
146
|
},
|
|
110
147
|
params: {
|
|
111
|
-
chainName: "
|
|
148
|
+
chainName: "polygon zkEVM",
|
|
149
|
+
rpcUrls: ["https://zkevm-rpc.com"],
|
|
112
150
|
nativeCurrency: {
|
|
113
|
-
name: "
|
|
114
|
-
symbol: "
|
|
151
|
+
name: "Ethereum",
|
|
152
|
+
symbol: "ETH",
|
|
115
153
|
decimals: 18,
|
|
116
154
|
},
|
|
117
|
-
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
118
155
|
},
|
|
119
156
|
},
|
|
120
157
|
{
|
|
@@ -125,6 +162,7 @@ export const networks: Network[] = [
|
|
|
125
162
|
color: "#F3BA2F",
|
|
126
163
|
chainId: 56,
|
|
127
164
|
explorerUrl: "https://bscscan.com",
|
|
165
|
+
apiURL: "https://api.bscscan.com",
|
|
128
166
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
129
167
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
130
168
|
get serverRpcUrl() {
|
|
@@ -140,14 +178,62 @@ export const networks: Network[] = [
|
|
|
140
178
|
},
|
|
141
179
|
},
|
|
142
180
|
},
|
|
181
|
+
{
|
|
182
|
+
name: "Avalanche",
|
|
183
|
+
debankName: "avax",
|
|
184
|
+
ankrName: "avalanche",
|
|
185
|
+
zerionName: "avalanche",
|
|
186
|
+
color: "#EB5757",
|
|
187
|
+
chainId: 43114,
|
|
188
|
+
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
189
|
+
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
190
|
+
explorerUrl: "https://snowtrace.io",
|
|
191
|
+
apiURL: "https://api.snowtrace.io",
|
|
192
|
+
get serverRpcUrl() {
|
|
193
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
194
|
+
},
|
|
195
|
+
params: {
|
|
196
|
+
chainName: "Avalanche Network",
|
|
197
|
+
nativeCurrency: {
|
|
198
|
+
name: "Avalanche",
|
|
199
|
+
symbol: "AVAX",
|
|
200
|
+
decimals: 18,
|
|
201
|
+
},
|
|
202
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
203
|
+
},
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
name: "Fantom",
|
|
207
|
+
chainId: 250,
|
|
208
|
+
zerionName: "fantom",
|
|
209
|
+
explorerUrl: "https://ftmscan.com",
|
|
210
|
+
ankrName: "fantom",
|
|
211
|
+
color: "#1969ff",
|
|
212
|
+
get serverRpcUrl() {
|
|
213
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
214
|
+
},
|
|
215
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
216
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
217
|
+
params: {
|
|
218
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
219
|
+
chainName: "Fantom",
|
|
220
|
+
nativeCurrency: {
|
|
221
|
+
name: "Fantom",
|
|
222
|
+
symbol: "FTM",
|
|
223
|
+
decimals: 18,
|
|
224
|
+
},
|
|
225
|
+
},
|
|
226
|
+
},
|
|
143
227
|
{
|
|
144
228
|
name: "Gnosis",
|
|
145
229
|
debankName: "xdai",
|
|
146
230
|
zerionName: "xdai",
|
|
147
231
|
color: "#04795C",
|
|
232
|
+
ankrName: "gnosis",
|
|
148
233
|
chainId: 100,
|
|
149
234
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
150
235
|
explorerUrl: "https://gnosisscan.io",
|
|
236
|
+
apiURL: "https://api.gnosisscan.io",
|
|
151
237
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
152
238
|
get serverRpcUrl() {
|
|
153
239
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -162,26 +248,6 @@ export const networks: Network[] = [
|
|
|
162
248
|
},
|
|
163
249
|
},
|
|
164
250
|
},
|
|
165
|
-
{
|
|
166
|
-
name: "Polygon zkEVM",
|
|
167
|
-
chainId: 1101,
|
|
168
|
-
color: "#8544f6",
|
|
169
|
-
explorerUrl: "https://zkevm.polygonscan.com",
|
|
170
|
-
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
171
|
-
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
172
|
-
get serverRpcUrl() {
|
|
173
|
-
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
174
|
-
},
|
|
175
|
-
params: {
|
|
176
|
-
chainName: "polygon zkEVM",
|
|
177
|
-
rpcUrls: ["https://zkevm-rpc.com"],
|
|
178
|
-
nativeCurrency: {
|
|
179
|
-
name: "Ethereum",
|
|
180
|
-
symbol: "ETH",
|
|
181
|
-
decimals: 18,
|
|
182
|
-
},
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
251
|
{
|
|
186
252
|
name: "Aurora",
|
|
187
253
|
chainId: 1313161554,
|
|
@@ -204,46 +270,25 @@ export const networks: Network[] = [
|
|
|
204
270
|
},
|
|
205
271
|
},
|
|
206
272
|
{
|
|
207
|
-
name: "
|
|
208
|
-
chainId:
|
|
209
|
-
zerionName: "
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
color: "#1969ff",
|
|
273
|
+
name: "Fuse",
|
|
274
|
+
chainId: 122,
|
|
275
|
+
zerionName: "fuse",
|
|
276
|
+
color: "#78d64b",
|
|
277
|
+
explorerUrl: "https://explorer.fuse.io",
|
|
213
278
|
get serverRpcUrl() {
|
|
214
|
-
return process.env?.
|
|
279
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
|
|
215
280
|
},
|
|
216
|
-
usdcAddress: "
|
|
217
|
-
balanceResolverAddress: "
|
|
281
|
+
usdcAddress: "",
|
|
282
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
218
283
|
params: {
|
|
219
|
-
rpcUrls: ["https://
|
|
220
|
-
chainName: "
|
|
284
|
+
rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
|
|
285
|
+
chainName: "Fuse",
|
|
221
286
|
nativeCurrency: {
|
|
222
|
-
name: "Fantom",
|
|
223
|
-
symbol: "FTM",
|
|
224
287
|
decimals: 18,
|
|
288
|
+
name: "Fuse",
|
|
289
|
+
symbol: "fuse",
|
|
225
290
|
},
|
|
226
291
|
},
|
|
227
|
-
},
|
|
228
|
-
{
|
|
229
|
-
name: 'Base',
|
|
230
|
-
chainId: 8453,
|
|
231
|
-
color: '#1E2024',
|
|
232
|
-
explorerUrl: 'https://basescan.org',
|
|
233
|
-
get serverRpcUrl() {
|
|
234
|
-
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
235
|
-
},
|
|
236
|
-
usdcAddress: '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA',
|
|
237
|
-
balanceResolverAddress: '0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C',
|
|
238
|
-
params: {
|
|
239
|
-
rpcUrls: ['https://rpc.ankr.com/base'],
|
|
240
|
-
chainName: "Base",
|
|
241
|
-
nativeCurrency: {
|
|
242
|
-
name: "Ethereum",
|
|
243
|
-
symbol: "ETH",
|
|
244
|
-
decimals: 18,
|
|
245
|
-
},
|
|
246
|
-
}
|
|
247
292
|
},
|
|
248
293
|
{
|
|
249
294
|
name: AVO_PROD_CHAIN_NAME,
|
|
@@ -288,19 +333,22 @@ export const networks: Network[] = [
|
|
|
288
333
|
];
|
|
289
334
|
|
|
290
335
|
export const chainUsdcAddresses = [
|
|
291
|
-
{ chainId: 1, address:
|
|
292
|
-
{ chainId: 10, address:
|
|
293
|
-
{ chainId: 56, address:
|
|
294
|
-
{ chainId: 100, address:
|
|
295
|
-
{ chainId: 137, address:
|
|
296
|
-
{ chainId: 250, address:
|
|
297
|
-
{ chainId: 42161, address:
|
|
298
|
-
{ chainId: 42161, address:
|
|
299
|
-
{ chainId: 43114, address:
|
|
300
|
-
{ chainId: 43114, address:
|
|
301
|
-
{ chainId: 1101, address:
|
|
302
|
-
{
|
|
303
|
-
|
|
336
|
+
{ chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
|
|
337
|
+
{ chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
|
|
338
|
+
{ chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
|
|
339
|
+
{ chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
|
|
340
|
+
{ chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
|
|
341
|
+
{ chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
|
|
342
|
+
{ chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
|
|
343
|
+
{ chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
|
|
344
|
+
{ chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
|
|
345
|
+
{ chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
|
|
346
|
+
{ chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
|
|
347
|
+
{
|
|
348
|
+
chainId: 1313161554,
|
|
349
|
+
address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
350
|
+
},
|
|
351
|
+
{ chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
|
|
304
352
|
];
|
|
305
353
|
|
|
306
354
|
export const getNetworkByChainId = (
|
package/utils/utils.d.ts
CHANGED
|
@@ -12,8 +12,9 @@ declare global {
|
|
|
12
12
|
| 634
|
|
13
13
|
| 1313161554
|
|
14
14
|
| 8453
|
|
15
|
+
| 122
|
|
15
16
|
| 63400;
|
|
16
|
-
|
|
17
|
+
|
|
17
18
|
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
18
19
|
|
|
19
20
|
type MetadataTypes = keyof typeof MetadataEnums;
|
|
@@ -34,6 +35,7 @@ declare global {
|
|
|
34
35
|
balanceResolverAddress?: string;
|
|
35
36
|
usdcAddress: string;
|
|
36
37
|
explorerUrl: string;
|
|
38
|
+
apiURL?: string;
|
|
37
39
|
params: {
|
|
38
40
|
chainName?: string;
|
|
39
41
|
iconUrls?: string[];
|
|
@@ -109,7 +111,7 @@ declare global {
|
|
|
109
111
|
};
|
|
110
112
|
|
|
111
113
|
type MetadataProps = {
|
|
112
|
-
type: MetadataTypes
|
|
114
|
+
type: MetadataTypes;
|
|
113
115
|
encodedData: string;
|
|
114
116
|
version?: string;
|
|
115
117
|
};
|
|
@@ -125,8 +127,6 @@ declare global {
|
|
|
125
127
|
coingecko_id: string;
|
|
126
128
|
sparkline_price_7d: number[];
|
|
127
129
|
}
|
|
128
|
-
|
|
129
130
|
}
|
|
130
131
|
|
|
131
|
-
export {
|
|
132
|
-
|
|
132
|
+
export {};
|