@instadapp/avocado-base 0.0.0-dev.9d62a67 → 0.0.0-dev.9df0ab2
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/multisigAgnosticForwarder.json +1 -0
- package/assets/images/icons/stars.svg +4 -0
- package/components/ActionLogo.vue +2 -0
- package/components/ActionMetadata.vue +2 -2
- package/contracts/MultisigAgnosticForwarder.ts +1413 -0
- package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2051 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/package.json +2 -2
- package/utils/metadata.ts +89 -8
- package/utils/network.ts +62 -9
- package/utils/utils.d.ts +8 -1
|
@@ -6,4 +6,5 @@ export { BalanceResolver__factory } from "./BalanceResolver__factory";
|
|
|
6
6
|
export { Erc20__factory } from "./Erc20__factory";
|
|
7
7
|
export { Forwarder__factory } from "./Forwarder__factory";
|
|
8
8
|
export { GaslessWallet__factory } from "./GaslessWallet__factory";
|
|
9
|
+
export { MultisigAgnosticForwarder__factory } from "./MultisigAgnosticForwarder__factory";
|
|
9
10
|
export { MultisigForwarder__factory } from "./MultisigForwarder__factory";
|
package/contracts/index.ts
CHANGED
|
@@ -6,6 +6,7 @@ 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 { MultisigAgnosticForwarder } from "./MultisigAgnosticForwarder";
|
|
9
10
|
export type { MultisigForwarder } from "./MultisigForwarder";
|
|
10
11
|
export * as factories from "./factories";
|
|
11
12
|
export { AvoFactoryProxy__factory } from "./factories/AvoFactoryProxy__factory";
|
|
@@ -13,4 +14,5 @@ export { BalanceResolver__factory } from "./factories/BalanceResolver__factory";
|
|
|
13
14
|
export { Erc20__factory } from "./factories/Erc20__factory";
|
|
14
15
|
export { Forwarder__factory } from "./factories/Forwarder__factory";
|
|
15
16
|
export { GaslessWallet__factory } from "./factories/GaslessWallet__factory";
|
|
17
|
+
export { MultisigAgnosticForwarder__factory } from "./factories/MultisigAgnosticForwarder__factory";
|
|
16
18
|
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.9df0ab2",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./nuxt.config.ts",
|
|
6
6
|
"types": "global.d.ts",
|
|
@@ -29,7 +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.
|
|
32
|
+
"viem": "^2.10.5",
|
|
33
33
|
"xxhashjs": "^0.2.2"
|
|
34
34
|
}
|
|
35
35
|
}
|
package/utils/metadata.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { ethers, utils } from "ethers";
|
|
2
|
-
import { Forwarder__factory, MultisigForwarder__factory } from "../contracts";
|
|
2
|
+
import { Forwarder__factory, MultisigForwarder__factory, MultisigAgnosticForwarder__factory } from "../contracts";
|
|
3
3
|
import { toBN } from "./bignumber";
|
|
4
4
|
|
|
5
5
|
export const MetadataEnums = {
|
|
6
6
|
transfer: "transfer",
|
|
7
7
|
bridge: "bridge",
|
|
8
|
+
'bridge-v2': 'bridge-v2',
|
|
8
9
|
swap: "swap",
|
|
9
10
|
"gas-topup": "gas-topup",
|
|
10
11
|
upgrade: "upgrade",
|
|
@@ -12,6 +13,7 @@ export const MetadataEnums = {
|
|
|
12
13
|
deploy: "deploy",
|
|
13
14
|
permit2: "permit2",
|
|
14
15
|
"cross-transfer": "cross-transfer",
|
|
16
|
+
'cross-transfer-v2': 'cross-transfer-v2',
|
|
15
17
|
auth: "auth",
|
|
16
18
|
rejection: "rejection",
|
|
17
19
|
"instadapp-pro": "instadapp-pro",
|
|
@@ -37,6 +39,14 @@ const actionMetadataTypes: Record<MetadataTypes, string[]> = {
|
|
|
37
39
|
"uint256 amount",
|
|
38
40
|
"address receiver",
|
|
39
41
|
],
|
|
42
|
+
"cross-transfer-v2": [
|
|
43
|
+
"address fromToken",
|
|
44
|
+
"address toToken",
|
|
45
|
+
"uint256 toChainId",
|
|
46
|
+
"uint256 amount",
|
|
47
|
+
"address receiver",
|
|
48
|
+
"bytes32 provider",
|
|
49
|
+
],
|
|
40
50
|
bridge: [
|
|
41
51
|
"uint256 amount",
|
|
42
52
|
"address receiver",
|
|
@@ -46,6 +56,16 @@ const actionMetadataTypes: Record<MetadataTypes, string[]> = {
|
|
|
46
56
|
"uint256 bridgeFee",
|
|
47
57
|
"address nativeToken",
|
|
48
58
|
],
|
|
59
|
+
'bridge-v2': [
|
|
60
|
+
"uint256 amount",
|
|
61
|
+
"address receiver",
|
|
62
|
+
"address fromToken",
|
|
63
|
+
"address toToken",
|
|
64
|
+
"uint256 toChainId",
|
|
65
|
+
"uint256 bridgeFee",
|
|
66
|
+
"address nativeToken",
|
|
67
|
+
"bytes32 provider",
|
|
68
|
+
],
|
|
49
69
|
swap: [
|
|
50
70
|
"address sellToken",
|
|
51
71
|
"address buyToken",
|
|
@@ -154,8 +174,21 @@ export const encodeCrossTransferMetadata = (
|
|
|
154
174
|
params: CrossSendMetadataProps,
|
|
155
175
|
single = true
|
|
156
176
|
) => {
|
|
157
|
-
|
|
158
|
-
|
|
177
|
+
|
|
178
|
+
const type = params.provider ? MetadataEnums["cross-transfer-v2"] : MetadataEnums["cross-transfer"]
|
|
179
|
+
|
|
180
|
+
const encodedData = params.provider ? ethers.utils.defaultAbiCoder.encode(
|
|
181
|
+
actionMetadataTypes[type],
|
|
182
|
+
[
|
|
183
|
+
params.fromToken,
|
|
184
|
+
params.toToken,
|
|
185
|
+
params.toChainId,
|
|
186
|
+
params.amount,
|
|
187
|
+
params.receiver,
|
|
188
|
+
params.provider
|
|
189
|
+
]
|
|
190
|
+
) : ethers.utils.defaultAbiCoder.encode(
|
|
191
|
+
actionMetadataTypes[type],
|
|
159
192
|
[
|
|
160
193
|
params.fromToken,
|
|
161
194
|
params.toToken,
|
|
@@ -166,7 +199,7 @@ export const encodeCrossTransferMetadata = (
|
|
|
166
199
|
);
|
|
167
200
|
|
|
168
201
|
const data = encodeMetadata({
|
|
169
|
-
type: MetadataEnums[
|
|
202
|
+
type: MetadataEnums[type],
|
|
170
203
|
encodedData,
|
|
171
204
|
});
|
|
172
205
|
|
|
@@ -295,7 +328,21 @@ export const encodeBridgeMetadata = (
|
|
|
295
328
|
params: BridgeMetadataProps,
|
|
296
329
|
single = true
|
|
297
330
|
) => {
|
|
298
|
-
const
|
|
331
|
+
const type = params.version === '2' ? MetadataEnums["bridge-v2"] : MetadataEnums.bridge
|
|
332
|
+
|
|
333
|
+
const encodedData = params.version === '2' ? ethers.utils.defaultAbiCoder.encode(
|
|
334
|
+
actionMetadataTypes["bridge-v2"],
|
|
335
|
+
[
|
|
336
|
+
params.amount,
|
|
337
|
+
params.receiver,
|
|
338
|
+
params.fromToken,
|
|
339
|
+
params.toToken,
|
|
340
|
+
params.toChainId,
|
|
341
|
+
params.bridgeFee,
|
|
342
|
+
params.nativeToken,
|
|
343
|
+
params.provider
|
|
344
|
+
]
|
|
345
|
+
): ethers.utils.defaultAbiCoder.encode(
|
|
299
346
|
actionMetadataTypes.bridge,
|
|
300
347
|
[
|
|
301
348
|
params.amount,
|
|
@@ -309,7 +356,7 @@ export const encodeBridgeMetadata = (
|
|
|
309
356
|
);
|
|
310
357
|
|
|
311
358
|
const data = encodeMetadata({
|
|
312
|
-
type
|
|
359
|
+
type,
|
|
313
360
|
encodedData,
|
|
314
361
|
});
|
|
315
362
|
|
|
@@ -419,11 +466,21 @@ export const decodeMetadata = (metadata: string) => {
|
|
|
419
466
|
|
|
420
467
|
const iface = Forwarder__factory.createInterface();
|
|
421
468
|
const ifaceMultisig = MultisigForwarder__factory.createInterface();
|
|
469
|
+
const ifaceAgnostic = MultisigAgnosticForwarder__factory.createInterface();
|
|
422
470
|
|
|
423
471
|
const getMetadataFromData = (data: string) => {
|
|
424
472
|
let metadata = "0x";
|
|
425
473
|
|
|
426
|
-
|
|
474
|
+
|
|
475
|
+
if(data.startsWith('0xc5e15557')) {
|
|
476
|
+
const executeData = ifaceAgnostic.decodeFunctionData("executeChainAgnosticV1", data);
|
|
477
|
+
|
|
478
|
+
const metadata = executeData?.params_?.params?.metadata
|
|
479
|
+
|
|
480
|
+
return metadata === '0x' || !metadata ? null : metadata
|
|
481
|
+
}
|
|
482
|
+
|
|
483
|
+
else if (data.startsWith("0x18e7f485")) {
|
|
427
484
|
const executeData = iface.decodeFunctionData("execute", data);
|
|
428
485
|
if (executeData.metadata_ === "0x" || !executeData.metadata_) {
|
|
429
486
|
return null;
|
|
@@ -479,6 +536,16 @@ const typesPayload: IPayload = {
|
|
|
479
536
|
toChainId: data.toChainId ? data.toChainId.toString() : null,
|
|
480
537
|
bridgeFee: toBN(data.bridgeFee).toFixed(),
|
|
481
538
|
}),
|
|
539
|
+
'bridge-v2': (data, type) => ({
|
|
540
|
+
type: 'bridge',
|
|
541
|
+
amount: toBN(data.amount).toFixed(),
|
|
542
|
+
receiver: data.receiver,
|
|
543
|
+
toToken: data.toToken,
|
|
544
|
+
fromToken: data.fromToken,
|
|
545
|
+
toChainId: data.toChainId ? data.toChainId.toString() : null,
|
|
546
|
+
bridgeFee: toBN(data.bridgeFee).toFixed(),
|
|
547
|
+
provider: utils.parseBytes32String(data.provider || ""),
|
|
548
|
+
}),
|
|
482
549
|
swap: (data, type) => ({
|
|
483
550
|
type,
|
|
484
551
|
buyAmount: toBN(data.buyAmount).toFixed(),
|
|
@@ -526,6 +593,15 @@ const typesPayload: IPayload = {
|
|
|
526
593
|
amount: toBN(data.amount).toFixed(),
|
|
527
594
|
receiver: data.receiver,
|
|
528
595
|
}),
|
|
596
|
+
"cross-transfer-v2": (data, type) => ({
|
|
597
|
+
type: 'cross-transfer',
|
|
598
|
+
fromToken: data.fromToken,
|
|
599
|
+
toToken: data.toToken,
|
|
600
|
+
toChainId: data.toChainId ? data.toChainId.toString() : null,
|
|
601
|
+
amount: toBN(data.amount).toFixed(),
|
|
602
|
+
receiver: data.receiver,
|
|
603
|
+
provider: utils.parseBytes32String(data.provider || ""),
|
|
604
|
+
}),
|
|
529
605
|
auth: (data) => ({
|
|
530
606
|
type: data.remove ? "remove-authority" : "add-authority",
|
|
531
607
|
address: data.address,
|
|
@@ -559,6 +635,7 @@ const typesPayload: IPayload = {
|
|
|
559
635
|
}),
|
|
560
636
|
mass: (data, type) => ({
|
|
561
637
|
type,
|
|
638
|
+
data,
|
|
562
639
|
}),
|
|
563
640
|
};
|
|
564
641
|
|
|
@@ -581,7 +658,7 @@ const parseMetadata = (metadata: string) => {
|
|
|
581
658
|
decodedMetadata.type
|
|
582
659
|
) as keyof typeof actionMetadataTypes;
|
|
583
660
|
|
|
584
|
-
const decodedData = ethers.utils.defaultAbiCoder.decode(
|
|
661
|
+
const decodedData = decodedMetadata?.data === '0x' ? '' : ethers.utils.defaultAbiCoder.decode(
|
|
585
662
|
actionMetadataTypes[type],
|
|
586
663
|
decodedMetadata.data
|
|
587
664
|
);
|
|
@@ -604,6 +681,10 @@ const parseMetadata = (metadata: string) => {
|
|
|
604
681
|
* @returns {string} - The modified sentence with hyphens replaced with spaces and the first letter of each word capitalized.
|
|
605
682
|
*/
|
|
606
683
|
export const formatTxType = (txType: string) => {
|
|
684
|
+
if(txType === 'mass') {
|
|
685
|
+
return 'Chain Agnostic Payments'
|
|
686
|
+
}
|
|
687
|
+
|
|
607
688
|
const finalSentence = txType
|
|
608
689
|
.replace("-", " ")
|
|
609
690
|
.replace(/(^\w{1})|(\s+\w{1})/g, (letter) => letter.toUpperCase());
|
package/utils/network.ts
CHANGED
|
@@ -15,6 +15,8 @@ import {
|
|
|
15
15
|
scroll,
|
|
16
16
|
opBNB,
|
|
17
17
|
mode,
|
|
18
|
+
blast,
|
|
19
|
+
linea
|
|
18
20
|
} from "viem/chains";
|
|
19
21
|
import {
|
|
20
22
|
AVO_PROD_CHAIN_NAME,
|
|
@@ -76,7 +78,7 @@ export const networks: Network[] = [
|
|
|
76
78
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
77
79
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
78
80
|
explorerUrl: "https://polygonscan.com",
|
|
79
|
-
apiURL: "https://api.polygonscan.com",
|
|
81
|
+
apiURL: "https://api.polygonscan.com/api",
|
|
80
82
|
fakeTransactionHash:
|
|
81
83
|
"0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92",
|
|
82
84
|
get serverRpcUrl() {
|
|
@@ -105,7 +107,7 @@ export const networks: Network[] = [
|
|
|
105
107
|
fakeTransactionHash:
|
|
106
108
|
"0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843",
|
|
107
109
|
explorerUrl: "https://arbiscan.io",
|
|
108
|
-
apiURL: "https://api.arbiscan.io",
|
|
110
|
+
apiURL: "https://api.arbiscan.io/api",
|
|
109
111
|
get serverRpcUrl() {
|
|
110
112
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
111
113
|
},
|
|
@@ -129,7 +131,7 @@ export const networks: Network[] = [
|
|
|
129
131
|
explorerUrl: "https://etherscan.io",
|
|
130
132
|
fakeTransactionHash:
|
|
131
133
|
"0x13232dd32cef2f641ead890a507710c96560c8c9c3d5fab6facb5ec563c49433",
|
|
132
|
-
apiURL: "https://api.etherscan.io",
|
|
134
|
+
apiURL: "https://api.etherscan.io/api",
|
|
133
135
|
color: "#5D5FEF",
|
|
134
136
|
get serverRpcUrl() {
|
|
135
137
|
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -154,7 +156,7 @@ export const networks: Network[] = [
|
|
|
154
156
|
explorerUrl: "https://basescan.org",
|
|
155
157
|
fakeTransactionHash:
|
|
156
158
|
"0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e",
|
|
157
|
-
apiURL: "https://api.basescan.org",
|
|
159
|
+
apiURL: "https://api.basescan.org/api",
|
|
158
160
|
get serverRpcUrl() {
|
|
159
161
|
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
160
162
|
},
|
|
@@ -178,7 +180,7 @@ export const networks: Network[] = [
|
|
|
178
180
|
color: "#FF0420",
|
|
179
181
|
viemChain: optimism,
|
|
180
182
|
chainId: 10,
|
|
181
|
-
apiURL: "https://api-optimistic.etherscan.io",
|
|
183
|
+
apiURL: "https://api-optimistic.etherscan.io/api",
|
|
182
184
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
183
185
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
184
186
|
fakeTransactionHash:
|
|
@@ -204,7 +206,7 @@ export const networks: Network[] = [
|
|
|
204
206
|
ankrName: "polygon_zkevm",
|
|
205
207
|
viemChain: polygonZkEvm,
|
|
206
208
|
explorerUrl: "https://zkevm.polygonscan.com",
|
|
207
|
-
apiURL: "https://api-zkevm.polygonscan.com",
|
|
209
|
+
apiURL: "https://api-zkevm.polygonscan.com/api",
|
|
208
210
|
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
209
211
|
fakeTransactionHash:
|
|
210
212
|
"0x1077130463ade91ad4e9c43c3195298e26a99970975238128912490eea12bf41",
|
|
@@ -233,7 +235,7 @@ export const networks: Network[] = [
|
|
|
233
235
|
viemChain: bsc,
|
|
234
236
|
fakeTransactionHash:
|
|
235
237
|
"0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
|
|
236
|
-
apiURL: "https://api.bscscan.com",
|
|
238
|
+
apiURL: "https://api.bscscan.com/api",
|
|
237
239
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
238
240
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
239
241
|
get serverRpcUrl() {
|
|
@@ -262,7 +264,7 @@ export const networks: Network[] = [
|
|
|
262
264
|
explorerUrl: "https://snowtrace.io",
|
|
263
265
|
fakeTransactionHash:
|
|
264
266
|
"0x233aac7402558dd4e23f938a50f983e67f5c9604233981c7ac74e63737b8294e",
|
|
265
|
-
apiURL: "https://api.
|
|
267
|
+
apiURL: "https://api.routescan.io/v2/network/mainnet/evm/43114/etherscan/api",
|
|
266
268
|
get serverRpcUrl() {
|
|
267
269
|
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
268
270
|
},
|
|
@@ -281,6 +283,7 @@ export const networks: Network[] = [
|
|
|
281
283
|
chainId: 250,
|
|
282
284
|
zerionName: "fantom",
|
|
283
285
|
explorerUrl: "https://ftmscan.com",
|
|
286
|
+
apiURL: 'https://api.ftmscan.com/api',
|
|
284
287
|
ankrName: "fantom",
|
|
285
288
|
color: "#1969ff",
|
|
286
289
|
viemChain: fantom,
|
|
@@ -313,7 +316,7 @@ export const networks: Network[] = [
|
|
|
313
316
|
explorerUrl: "https://gnosisscan.io",
|
|
314
317
|
fakeTransactionHash:
|
|
315
318
|
"0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b",
|
|
316
|
-
apiURL: "https://api.gnosisscan.io",
|
|
319
|
+
apiURL: "https://api.gnosisscan.io/api",
|
|
317
320
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
318
321
|
get serverRpcUrl() {
|
|
319
322
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -335,6 +338,7 @@ export const networks: Network[] = [
|
|
|
335
338
|
color: "#78d64b",
|
|
336
339
|
viemChain: aurora,
|
|
337
340
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
341
|
+
apiURL:'https://explorer.mainnet.aurora.dev/api/v2',
|
|
338
342
|
fakeTransactionHash:
|
|
339
343
|
"0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
|
|
340
344
|
get serverRpcUrl() {
|
|
@@ -358,6 +362,7 @@ export const networks: Network[] = [
|
|
|
358
362
|
zerionName: "fuse",
|
|
359
363
|
color: "#78d64b",
|
|
360
364
|
explorerUrl: "https://explorer.fuse.io",
|
|
365
|
+
apiURL: 'https://explorer.fuse.io/api/v2',
|
|
361
366
|
viemChain: fuse,
|
|
362
367
|
fakeTransactionHash:
|
|
363
368
|
"0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def",
|
|
@@ -382,6 +387,7 @@ export const networks: Network[] = [
|
|
|
382
387
|
color: "#78d64b",
|
|
383
388
|
ankrName: 'scroll',
|
|
384
389
|
explorerUrl: "https://scrollscan.com",
|
|
390
|
+
apiURL: 'https://api.scrollscan.com/api',
|
|
385
391
|
viemChain: scroll,
|
|
386
392
|
fakeTransactionHash:
|
|
387
393
|
"0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01",
|
|
@@ -403,6 +409,7 @@ export const networks: Network[] = [
|
|
|
403
409
|
chainId: 204,
|
|
404
410
|
color: "#78d64b",
|
|
405
411
|
explorerUrl: "https://opbnbscan.com",
|
|
412
|
+
apiURL: null,
|
|
406
413
|
viemChain: opBNB,
|
|
407
414
|
fakeTransactionHash:
|
|
408
415
|
"0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7",
|
|
@@ -425,6 +432,7 @@ export const networks: Network[] = [
|
|
|
425
432
|
color: "#d7ff00",
|
|
426
433
|
explorerUrl: 'https://explorer.mode.network',
|
|
427
434
|
fakeTransactionHash: '0xb58002db3481f2c51855a91280ec940d0bebec075c4b362b9f90c21a2b14edbe',
|
|
435
|
+
apiURL: 'https://explorer.mode.network/api/v2',
|
|
428
436
|
params: {
|
|
429
437
|
rpcUrls: ["https://1rpc.io/mode"],
|
|
430
438
|
chainName: "Mode",
|
|
@@ -439,6 +447,49 @@ export const networks: Network[] = [
|
|
|
439
447
|
},
|
|
440
448
|
viemChain: mode,
|
|
441
449
|
},
|
|
450
|
+
{
|
|
451
|
+
chainId: 81457,
|
|
452
|
+
name: "Blast",
|
|
453
|
+
color: "#78d64b",
|
|
454
|
+
explorerUrl: 'https://blastscan.io',
|
|
455
|
+
apiURL:'https://api.blastscan.io/api',
|
|
456
|
+
fakeTransactionHash: '0x934ed8516242f8c08bb9e0e90bb1f989d92ceb6b0333e86ac2d555f25ac27e58',
|
|
457
|
+
params: {
|
|
458
|
+
rpcUrls: ['https://rpc.ankr.com/blast'],
|
|
459
|
+
chainName: "Blast",
|
|
460
|
+
nativeCurrency: {
|
|
461
|
+
name: "Ethereum",
|
|
462
|
+
symbol: "ETH",
|
|
463
|
+
decimals: 18,
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
get serverRpcUrl() {
|
|
467
|
+
return process.env?.BLAST_RPC_URL || this.params.rpcUrls[0];
|
|
468
|
+
},
|
|
469
|
+
viemChain: blast,
|
|
470
|
+
},
|
|
471
|
+
// {
|
|
472
|
+
// chainId: 59144,
|
|
473
|
+
// name: "Linea",
|
|
474
|
+
// apiURL: "https://api.lineascan.build/api",
|
|
475
|
+
// color: "#78d64b",
|
|
476
|
+
// explorerUrl: "https://lineascan.build",
|
|
477
|
+
// params: {
|
|
478
|
+
// rpcUrls: ["https://linea-mainnet.public.blastapi.io"],
|
|
479
|
+
// chainName: "Linea",
|
|
480
|
+
// "nativeCurrency": {
|
|
481
|
+
// "name": "Linea Ether",
|
|
482
|
+
// "symbol": "ETH",
|
|
483
|
+
// "decimals": 18
|
|
484
|
+
// },
|
|
485
|
+
// },
|
|
486
|
+
// fakeTransactionHash: '0x62d068a66eb1515a09e993200e8a495c7fead512689ba78e50523c8e83bbf5b5',
|
|
487
|
+
// get serverRpcUrl() {
|
|
488
|
+
// return process.env?.LINEA_RPC_URL || this.params.rpcUrls[0];
|
|
489
|
+
// },
|
|
490
|
+
// viemChain: linea,
|
|
491
|
+
// ankrName:'linea',
|
|
492
|
+
// },
|
|
442
493
|
// {
|
|
443
494
|
// name: "Manta Pacific",
|
|
444
495
|
// chainId: 169,
|
|
@@ -461,6 +512,7 @@ export const networks: Network[] = [
|
|
|
461
512
|
{
|
|
462
513
|
name: AVO_PROD_CHAIN_NAME,
|
|
463
514
|
chainId: AVO_PROD_CHAIN_ID,
|
|
515
|
+
apiURL:null,
|
|
464
516
|
isAvocado: true,
|
|
465
517
|
balanceResolverAddress: "",
|
|
466
518
|
fakeTransactionHash: "",
|
|
@@ -482,6 +534,7 @@ export const networks: Network[] = [
|
|
|
482
534
|
},
|
|
483
535
|
{
|
|
484
536
|
name: AVO_STAGING_CHAIN_NAME,
|
|
537
|
+
apiURL: null,
|
|
485
538
|
chainId: AVO_STAGING_CHAIN_ID,
|
|
486
539
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
487
540
|
color: "#16A34A",
|
package/utils/utils.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ declare global {
|
|
|
20
20
|
| 63400
|
|
21
21
|
| 169
|
|
22
22
|
| 34443
|
|
23
|
+
| 81457
|
|
24
|
+
| 59144
|
|
23
25
|
|
|
24
26
|
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
25
27
|
|
|
@@ -43,7 +45,8 @@ declare global {
|
|
|
43
45
|
explorerUrl: string;
|
|
44
46
|
fakeTransactionHash: string;
|
|
45
47
|
viemChain: Chain;
|
|
46
|
-
|
|
48
|
+
// must start with https://
|
|
49
|
+
apiURL: `https://${string}` | null;
|
|
47
50
|
params: {
|
|
48
51
|
chainName?: string;
|
|
49
52
|
iconUrls?: string[];
|
|
@@ -80,8 +83,10 @@ declare global {
|
|
|
80
83
|
toChainId: string;
|
|
81
84
|
amount: string;
|
|
82
85
|
receiver: string;
|
|
86
|
+
provider?: string;
|
|
83
87
|
};
|
|
84
88
|
|
|
89
|
+
|
|
85
90
|
type AuthMetadataProps = {
|
|
86
91
|
address: string;
|
|
87
92
|
chainId: string;
|
|
@@ -107,6 +112,8 @@ declare global {
|
|
|
107
112
|
toChainId: string;
|
|
108
113
|
bridgeFee: string;
|
|
109
114
|
nativeToken: string;
|
|
115
|
+
version?: string;
|
|
116
|
+
provider: string;
|
|
110
117
|
};
|
|
111
118
|
|
|
112
119
|
type SwapMetadataProps = {
|