@instadapp/avocado-base 0.0.98 → 0.1.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/components/ActionMetadata.vue +4 -0
- package/package.json +3 -2
- package/utils/formatter.ts +1 -1
- package/utils/metadata.ts +14 -0
- package/utils/network.ts +87 -0
- package/utils/utils.d.ts +5 -1
|
@@ -23,6 +23,10 @@ provide('tokens', props.tokens);
|
|
|
23
23
|
<MetadataBridge v-if="metadata.type === 'bridge'" :metadata="metadata" :chain_id="chain_id" />
|
|
24
24
|
<MetadataPermit2 v-if="metadata.type === 'permit2'" :metadata="metadata" :chain_id="chain_id" />
|
|
25
25
|
|
|
26
|
+
<div v-if="metadata.type === 'mass'">
|
|
27
|
+
Mass Transfer
|
|
28
|
+
</div>
|
|
29
|
+
|
|
26
30
|
<div class="text-left w-fit capitalize" v-if="metadata.type === 'import'">
|
|
27
31
|
Import from {{ metadata.protocol }} ({{ (formatUsd(fromWei(metadata.valueInUsd, 10))) }})
|
|
28
32
|
</div>
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@instadapp/avocado-base",
|
|
3
|
-
"version": "0.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./nuxt.config.ts",
|
|
6
6
|
"types": "global.d.ts",
|
|
7
|
-
|
|
7
|
+
"engines": {
|
|
8
8
|
"node": ">=v18.18.0"
|
|
9
9
|
},
|
|
10
10
|
"scripts": {
|
|
@@ -29,6 +29,7 @@
|
|
|
29
29
|
"@vueuse/nuxt": "^10.2.0",
|
|
30
30
|
"bignumber.js": "^9.1.1",
|
|
31
31
|
"ethers": "^5.7.2",
|
|
32
|
+
"viem": "^2.7.16",
|
|
32
33
|
"xxhashjs": "^0.2.2"
|
|
33
34
|
}
|
|
34
35
|
}
|
package/utils/formatter.ts
CHANGED
|
@@ -19,7 +19,7 @@ export function formatPercent(
|
|
|
19
19
|
return formatter.format(valueAsNumber);
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
export function shortenHash(hash: string
|
|
22
|
+
export function shortenHash(hash: string | `0x${string}`, length: number = 4) {
|
|
23
23
|
if (!hash) return;
|
|
24
24
|
if (hash.length < 12) return hash;
|
|
25
25
|
const beginningChars = hash.startsWith("0x") ? length + 2 : length;
|
package/utils/metadata.ts
CHANGED
|
@@ -19,6 +19,7 @@ export const MetadataEnums = {
|
|
|
19
19
|
"remove-signers": "remove-signers",
|
|
20
20
|
"change-threshold": "change-threshold",
|
|
21
21
|
import: "import",
|
|
22
|
+
mass: "mass",
|
|
22
23
|
"tx-builder": "tx-builder",
|
|
23
24
|
"avocado-bridge": "avocado-bridge",
|
|
24
25
|
} as const;
|
|
@@ -72,6 +73,7 @@ const actionMetadataTypes: Record<MetadataTypes, string[]> = {
|
|
|
72
73
|
"change-threshold": ["uint8 count"],
|
|
73
74
|
rejection: ["bytes32 id"],
|
|
74
75
|
"avocado-bridge": ["bytes32 id", "uint256 toChainId"],
|
|
76
|
+
mass: ["bool isMass"],
|
|
75
77
|
};
|
|
76
78
|
|
|
77
79
|
const encodeMetadata = (props: MetadataProps) => {
|
|
@@ -366,6 +368,15 @@ export const encodeImportMetadata = (
|
|
|
366
368
|
return single ? encodeMultipleActions(data) : data;
|
|
367
369
|
};
|
|
368
370
|
|
|
371
|
+
export const encodeMassMetadata = (single = true) => {
|
|
372
|
+
const data = encodeMetadata({
|
|
373
|
+
type: MetadataEnums.mass,
|
|
374
|
+
encodedData: '0x',
|
|
375
|
+
});
|
|
376
|
+
|
|
377
|
+
return single ? encodeMultipleActions(data) : data;
|
|
378
|
+
}
|
|
379
|
+
|
|
369
380
|
export const encodeAddSignersMetadata = (
|
|
370
381
|
addresses: string[],
|
|
371
382
|
single = true
|
|
@@ -546,6 +557,9 @@ const typesPayload: IPayload = {
|
|
|
546
557
|
id: data.id,
|
|
547
558
|
toChainId: data.toChainId ? data.toChainId.toString() : null,
|
|
548
559
|
}),
|
|
560
|
+
mass: (data, type) => ({
|
|
561
|
+
type,
|
|
562
|
+
}),
|
|
549
563
|
};
|
|
550
564
|
|
|
551
565
|
const parseMetadata = (metadata: string) => {
|
package/utils/network.ts
CHANGED
|
@@ -1,4 +1,21 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
|
+
import {
|
|
3
|
+
polygon,
|
|
4
|
+
arbitrum,
|
|
5
|
+
mainnet,
|
|
6
|
+
base,
|
|
7
|
+
optimism,
|
|
8
|
+
polygonZkEvm,
|
|
9
|
+
bsc,
|
|
10
|
+
avalanche,
|
|
11
|
+
fantom,
|
|
12
|
+
gnosis,
|
|
13
|
+
aurora,
|
|
14
|
+
fuse,
|
|
15
|
+
scroll,
|
|
16
|
+
opBNB,
|
|
17
|
+
mode,
|
|
18
|
+
} from "viem/chains";
|
|
2
19
|
import {
|
|
3
20
|
AVO_PROD_CHAIN_NAME,
|
|
4
21
|
AVO_PROD_CHAIN_ID,
|
|
@@ -9,11 +26,44 @@ import {
|
|
|
9
26
|
AVO_STAGING_RPC_URL,
|
|
10
27
|
AVO_STAGING_EXPLORER_URL,
|
|
11
28
|
} from "./avocado";
|
|
29
|
+
import { defineChain } from "viem";
|
|
12
30
|
|
|
13
31
|
export const bridgeDisabledNetworks = [];
|
|
14
32
|
|
|
15
33
|
export const networksSimulationNotSupported = [1313161554, 1101];
|
|
16
34
|
|
|
35
|
+
const avocado = defineChain({
|
|
36
|
+
id: AVO_PROD_CHAIN_ID,
|
|
37
|
+
name: AVO_PROD_CHAIN_NAME,
|
|
38
|
+
nativeCurrency: {
|
|
39
|
+
name: "Avocado",
|
|
40
|
+
symbol: "USDC",
|
|
41
|
+
decimals: 18,
|
|
42
|
+
},
|
|
43
|
+
rpcUrls: {
|
|
44
|
+
default: { http: [AVO_PROD_RPC_URL] },
|
|
45
|
+
},
|
|
46
|
+
blockExplorers: {
|
|
47
|
+
default: { name: "Avoscan", url: AVO_PROD_EXPLORER_URL },
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
const avocadoStaging = defineChain({
|
|
52
|
+
id: AVO_STAGING_CHAIN_ID,
|
|
53
|
+
name: AVO_STAGING_CHAIN_NAME,
|
|
54
|
+
nativeCurrency: {
|
|
55
|
+
name: "Avocado",
|
|
56
|
+
symbol: "USDC",
|
|
57
|
+
decimals: 18,
|
|
58
|
+
},
|
|
59
|
+
rpcUrls: {
|
|
60
|
+
default: { http: [AVO_STAGING_RPC_URL] },
|
|
61
|
+
},
|
|
62
|
+
blockExplorers: {
|
|
63
|
+
default: { name: "Avoscan", url: AVO_STAGING_EXPLORER_URL },
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
|
|
17
67
|
export const networks: Network[] = [
|
|
18
68
|
{
|
|
19
69
|
name: "Polygon",
|
|
@@ -22,6 +72,7 @@ export const networks: Network[] = [
|
|
|
22
72
|
zerionName: "polygon",
|
|
23
73
|
color: "#7A4ADD",
|
|
24
74
|
chainId: 137,
|
|
75
|
+
viemChain: polygon,
|
|
25
76
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
26
77
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
27
78
|
explorerUrl: "https://polygonscan.com",
|
|
@@ -46,6 +97,7 @@ export const networks: Network[] = [
|
|
|
46
97
|
debankName: "arb",
|
|
47
98
|
ankrName: "arbitrum",
|
|
48
99
|
zerionName: "arbitrum",
|
|
100
|
+
viemChain: arbitrum,
|
|
49
101
|
color: "#2D374B",
|
|
50
102
|
chainId: 42161,
|
|
51
103
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
@@ -72,6 +124,7 @@ export const networks: Network[] = [
|
|
|
72
124
|
debankName: "eth",
|
|
73
125
|
ankrName: "eth",
|
|
74
126
|
zerionName: "ethereum",
|
|
127
|
+
viemChain: mainnet,
|
|
75
128
|
chainId: 1,
|
|
76
129
|
explorerUrl: "https://etherscan.io",
|
|
77
130
|
fakeTransactionHash:
|
|
@@ -97,6 +150,7 @@ export const networks: Network[] = [
|
|
|
97
150
|
chainId: 8453,
|
|
98
151
|
color: "#1E2024",
|
|
99
152
|
ankrName: "base",
|
|
153
|
+
viemChain: base,
|
|
100
154
|
explorerUrl: "https://basescan.org",
|
|
101
155
|
fakeTransactionHash:
|
|
102
156
|
"0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e",
|
|
@@ -122,6 +176,7 @@ export const networks: Network[] = [
|
|
|
122
176
|
ankrName: "optimism",
|
|
123
177
|
zerionName: "optimism",
|
|
124
178
|
color: "#FF0420",
|
|
179
|
+
viemChain: optimism,
|
|
125
180
|
chainId: 10,
|
|
126
181
|
apiURL: "https://api-optimistic.etherscan.io",
|
|
127
182
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
@@ -147,6 +202,7 @@ export const networks: Network[] = [
|
|
|
147
202
|
chainId: 1101,
|
|
148
203
|
color: "#8544f6",
|
|
149
204
|
ankrName: "polygon_zkevm",
|
|
205
|
+
viemChain: polygonZkEvm,
|
|
150
206
|
explorerUrl: "https://zkevm.polygonscan.com",
|
|
151
207
|
apiURL: "https://api-zkevm.polygonscan.com",
|
|
152
208
|
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
@@ -174,6 +230,7 @@ export const networks: Network[] = [
|
|
|
174
230
|
color: "#F3BA2F",
|
|
175
231
|
chainId: 56,
|
|
176
232
|
explorerUrl: "https://bscscan.com",
|
|
233
|
+
viemChain: bsc,
|
|
177
234
|
fakeTransactionHash:
|
|
178
235
|
"0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
|
|
179
236
|
apiURL: "https://api.bscscan.com",
|
|
@@ -198,6 +255,7 @@ export const networks: Network[] = [
|
|
|
198
255
|
ankrName: "avalanche",
|
|
199
256
|
zerionName: "avalanche",
|
|
200
257
|
color: "#EB5757",
|
|
258
|
+
viemChain: avalanche,
|
|
201
259
|
chainId: 43114,
|
|
202
260
|
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
203
261
|
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
@@ -225,6 +283,7 @@ export const networks: Network[] = [
|
|
|
225
283
|
explorerUrl: "https://ftmscan.com",
|
|
226
284
|
ankrName: "fantom",
|
|
227
285
|
color: "#1969ff",
|
|
286
|
+
viemChain: fantom,
|
|
228
287
|
get serverRpcUrl() {
|
|
229
288
|
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
230
289
|
},
|
|
@@ -248,6 +307,7 @@ export const networks: Network[] = [
|
|
|
248
307
|
zerionName: "xdai",
|
|
249
308
|
color: "#04795C",
|
|
250
309
|
ankrName: "gnosis",
|
|
310
|
+
viemChain: gnosis,
|
|
251
311
|
chainId: 100,
|
|
252
312
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
253
313
|
explorerUrl: "https://gnosisscan.io",
|
|
@@ -273,6 +333,7 @@ export const networks: Network[] = [
|
|
|
273
333
|
chainId: 1313161554,
|
|
274
334
|
zerionName: "aurora",
|
|
275
335
|
color: "#78d64b",
|
|
336
|
+
viemChain: aurora,
|
|
276
337
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
277
338
|
fakeTransactionHash:
|
|
278
339
|
"0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
|
|
@@ -297,6 +358,7 @@ export const networks: Network[] = [
|
|
|
297
358
|
zerionName: "fuse",
|
|
298
359
|
color: "#78d64b",
|
|
299
360
|
explorerUrl: "https://explorer.fuse.io",
|
|
361
|
+
viemChain: fuse,
|
|
300
362
|
fakeTransactionHash:
|
|
301
363
|
"0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def",
|
|
302
364
|
get serverRpcUrl() {
|
|
@@ -318,7 +380,9 @@ export const networks: Network[] = [
|
|
|
318
380
|
name: "Scroll",
|
|
319
381
|
chainId: 534352,
|
|
320
382
|
color: "#78d64b",
|
|
383
|
+
ankrName: 'scroll',
|
|
321
384
|
explorerUrl: "https://scrollscan.com",
|
|
385
|
+
viemChain: scroll,
|
|
322
386
|
fakeTransactionHash:
|
|
323
387
|
"0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01",
|
|
324
388
|
get serverRpcUrl() {
|
|
@@ -339,6 +403,7 @@ export const networks: Network[] = [
|
|
|
339
403
|
chainId: 204,
|
|
340
404
|
color: "#78d64b",
|
|
341
405
|
explorerUrl: "https://opbnbscan.com",
|
|
406
|
+
viemChain: opBNB,
|
|
342
407
|
fakeTransactionHash:
|
|
343
408
|
"0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7",
|
|
344
409
|
get serverRpcUrl() {
|
|
@@ -354,6 +419,26 @@ export const networks: Network[] = [
|
|
|
354
419
|
},
|
|
355
420
|
},
|
|
356
421
|
},
|
|
422
|
+
{
|
|
423
|
+
chainId: 34443,
|
|
424
|
+
name: "Mode",
|
|
425
|
+
color: "#d7ff00",
|
|
426
|
+
explorerUrl: 'https://explorer.mode.network',
|
|
427
|
+
fakeTransactionHash: '0xb58002db3481f2c51855a91280ec940d0bebec075c4b362b9f90c21a2b14edbe',
|
|
428
|
+
params: {
|
|
429
|
+
rpcUrls: ["https://1rpc.io/mode"],
|
|
430
|
+
chainName: "Mode",
|
|
431
|
+
nativeCurrency: {
|
|
432
|
+
name: "Ethereum",
|
|
433
|
+
symbol: "ETH",
|
|
434
|
+
decimals: 18,
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
get serverRpcUrl() {
|
|
438
|
+
return process.env?.MODE_RPC_URL || this.params.rpcUrls[0];
|
|
439
|
+
},
|
|
440
|
+
viemChain: mode,
|
|
441
|
+
},
|
|
357
442
|
// {
|
|
358
443
|
// name: "Manta Pacific",
|
|
359
444
|
// chainId: 169,
|
|
@@ -379,6 +464,7 @@ export const networks: Network[] = [
|
|
|
379
464
|
isAvocado: true,
|
|
380
465
|
balanceResolverAddress: "",
|
|
381
466
|
fakeTransactionHash: "",
|
|
467
|
+
viemChain: avocado,
|
|
382
468
|
color: "#16A34A",
|
|
383
469
|
usdcAddress: "",
|
|
384
470
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
@@ -400,6 +486,7 @@ export const networks: Network[] = [
|
|
|
400
486
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
401
487
|
color: "#16A34A",
|
|
402
488
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
489
|
+
viemChain: avocadoStaging,
|
|
403
490
|
fakeTransactionHash: "",
|
|
404
491
|
isAvocado: true,
|
|
405
492
|
balanceResolverAddress: "",
|
package/utils/utils.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { Chain } from "viem";
|
|
2
|
+
|
|
1
3
|
declare global {
|
|
2
4
|
type ChainId =
|
|
3
5
|
| 1
|
|
@@ -16,7 +18,8 @@ declare global {
|
|
|
16
18
|
| 534352
|
|
17
19
|
| 204
|
|
18
20
|
| 63400
|
|
19
|
-
| 169
|
|
21
|
+
| 169
|
|
22
|
+
| 34443
|
|
20
23
|
|
|
21
24
|
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
22
25
|
|
|
@@ -39,6 +42,7 @@ declare global {
|
|
|
39
42
|
usdcAddress?: string;
|
|
40
43
|
explorerUrl: string;
|
|
41
44
|
fakeTransactionHash: string;
|
|
45
|
+
viemChain: Chain;
|
|
42
46
|
apiURL?: string;
|
|
43
47
|
params: {
|
|
44
48
|
chainName?: string;
|