@instadapp/avocado-base 0.0.0-dev.0e696bd → 0.0.0-dev.1264496
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/AuthorityAvatar.vue +12 -0
- package/components/ChainLogo.vue +8 -207
- package/components/metadata/Signers.vue +30 -13
- 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 +1 -1
- package/utils/helper.ts +0 -11
- package/utils/metadata.ts +10 -17
- package/utils/network.ts +25 -1
- package/utils/utils.d.ts +1 -0
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
package/utils/helper.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as XXH from 'xxhashjs';
|
|
2
|
-
|
|
3
1
|
export const indexSorter = (aIndex: number, bIndex: number) => {
|
|
4
2
|
if (aIndex === -1 && bIndex === -1) {
|
|
5
3
|
return 0; // fallback to other sorting criteria
|
|
@@ -62,12 +60,3 @@ export function formatMultipleAddresses(addresses: string[], shorten = true) {
|
|
|
62
60
|
return formattedString
|
|
63
61
|
}
|
|
64
62
|
|
|
65
|
-
export function generateColor(address: string): string {
|
|
66
|
-
const hash = XXH.h32(address, 0xABCD).toNumber()
|
|
67
|
-
|
|
68
|
-
const hue = hash % 360
|
|
69
|
-
const saturation = 80 + (hash % 30)
|
|
70
|
-
const lightness = 70 + (hash % 20)
|
|
71
|
-
|
|
72
|
-
return `hsl(${hue}, ${saturation}%, ${lightness}%)`
|
|
73
|
-
}
|
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",
|
|
@@ -346,8 +347,10 @@ export const decodeMetadata = (metadata: string) => {
|
|
|
346
347
|
}
|
|
347
348
|
};
|
|
348
349
|
|
|
350
|
+
const iface = Forwarder__factory.createInterface();
|
|
351
|
+
const ifaceMultisig = MultisigForwarder__factory.createInterface();
|
|
352
|
+
|
|
349
353
|
const getMetadataFromData = (data: string) => {
|
|
350
|
-
const iface = Forwarder__factory.createInterface();
|
|
351
354
|
let metadata = "0x";
|
|
352
355
|
|
|
353
356
|
if (data.startsWith("0x18e7f485")) {
|
|
@@ -367,28 +370,18 @@ const getMetadataFromData = (data: string) => {
|
|
|
367
370
|
} else {
|
|
368
371
|
metadata = executeDataV2.params_.metadata;
|
|
369
372
|
}
|
|
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
373
|
} else {
|
|
381
|
-
const
|
|
382
|
-
"
|
|
374
|
+
const executeDataMultisig = ifaceMultisig.decodeFunctionData(
|
|
375
|
+
"executeV1",
|
|
383
376
|
data
|
|
384
377
|
);
|
|
385
378
|
if (
|
|
386
|
-
|
|
387
|
-
!
|
|
379
|
+
executeDataMultisig.params_.metadata === "0x" ||
|
|
380
|
+
!executeDataMultisig.params_.metadata
|
|
388
381
|
) {
|
|
389
382
|
return null;
|
|
390
383
|
} else {
|
|
391
|
-
metadata =
|
|
384
|
+
metadata = executeDataMultisig.params_.metadata;
|
|
392
385
|
}
|
|
393
386
|
}
|
|
394
387
|
|
package/utils/network.ts
CHANGED
|
@@ -1,6 +1,18 @@
|
|
|
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
18
|
{
|
|
@@ -13,6 +25,7 @@ export const networks: Network[] = [
|
|
|
13
25
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
14
26
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
15
27
|
explorerUrl: "https://polygonscan.com",
|
|
28
|
+
apiURL: 'https://api.polygonscan.com',
|
|
16
29
|
get serverRpcUrl() {
|
|
17
30
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
18
31
|
},
|
|
@@ -36,6 +49,7 @@ export const networks: Network[] = [
|
|
|
36
49
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
37
50
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
38
51
|
explorerUrl: "https://arbiscan.io",
|
|
52
|
+
apiURL: 'https://api.arbiscan.io',
|
|
39
53
|
get serverRpcUrl() {
|
|
40
54
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
41
55
|
},
|
|
@@ -56,6 +70,7 @@ export const networks: Network[] = [
|
|
|
56
70
|
zerionName: "ethereum",
|
|
57
71
|
chainId: 1,
|
|
58
72
|
explorerUrl: "https://etherscan.io",
|
|
73
|
+
apiURL: 'https://api.etherscan.io',
|
|
59
74
|
color: "#5D5FEF",
|
|
60
75
|
get serverRpcUrl() {
|
|
61
76
|
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -75,7 +90,9 @@ export const networks: Network[] = [
|
|
|
75
90
|
name: 'Base',
|
|
76
91
|
chainId: 8453,
|
|
77
92
|
color: '#1E2024',
|
|
93
|
+
ankrName:'base',
|
|
78
94
|
explorerUrl: 'https://basescan.org',
|
|
95
|
+
apiURL: 'https://api.basescan.org',
|
|
79
96
|
get serverRpcUrl() {
|
|
80
97
|
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
81
98
|
},
|
|
@@ -98,6 +115,7 @@ export const networks: Network[] = [
|
|
|
98
115
|
zerionName: "optimism",
|
|
99
116
|
color: "#FF0420",
|
|
100
117
|
chainId: 10,
|
|
118
|
+
apiURL: 'https://api-optimistic.etherscan.io',
|
|
101
119
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
102
120
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
103
121
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
@@ -118,7 +136,9 @@ export const networks: Network[] = [
|
|
|
118
136
|
name: "Polygon zkEVM",
|
|
119
137
|
chainId: 1101,
|
|
120
138
|
color: "#8544f6",
|
|
139
|
+
ankrName: 'polygon_zkevm',
|
|
121
140
|
explorerUrl: "https://zkevm.polygonscan.com",
|
|
141
|
+
apiURL: 'https://api-zkevm.polygonscan.com',
|
|
122
142
|
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
123
143
|
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
124
144
|
get serverRpcUrl() {
|
|
@@ -142,6 +162,7 @@ export const networks: Network[] = [
|
|
|
142
162
|
color: "#F3BA2F",
|
|
143
163
|
chainId: 56,
|
|
144
164
|
explorerUrl: "https://bscscan.com",
|
|
165
|
+
apiURL: 'https://api.bscscan.com',
|
|
145
166
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
146
167
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
147
168
|
get serverRpcUrl() {
|
|
@@ -167,6 +188,7 @@ export const networks: Network[] = [
|
|
|
167
188
|
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
168
189
|
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
169
190
|
explorerUrl: "https://snowtrace.io",
|
|
191
|
+
apiURL: 'https://api.snowtrace.io',
|
|
170
192
|
get serverRpcUrl() {
|
|
171
193
|
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
172
194
|
},
|
|
@@ -207,9 +229,11 @@ export const networks: Network[] = [
|
|
|
207
229
|
debankName: "xdai",
|
|
208
230
|
zerionName: "xdai",
|
|
209
231
|
color: "#04795C",
|
|
232
|
+
ankrName: 'gnosis',
|
|
210
233
|
chainId: 100,
|
|
211
234
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
212
235
|
explorerUrl: "https://gnosisscan.io",
|
|
236
|
+
apiURL:'https://api.gnosisscan.io',
|
|
213
237
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
214
238
|
get serverRpcUrl() {
|
|
215
239
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|