@instadapp/avocado-base 0.0.0-dev.d695dce → 0.0.0-dev.d8050bd
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/forwarder.json +8 -8
- package/abi/multisigForwarder.json +697 -0
- package/app.vue +7 -0
- package/assets/images/icons/arrow-left.svg +5 -0
- package/assets/images/icons/arrow-right.svg +5 -0
- package/assets/images/icons/avocado.svg +4 -0
- package/assets/images/icons/bridge-2.svg +3 -0
- package/assets/images/icons/bridge.svg +7 -0
- package/assets/images/icons/calendar.svg +8 -0
- package/assets/images/icons/change-threshold.svg +4 -0
- package/assets/images/icons/check-circle.svg +4 -0
- package/assets/images/icons/chevron-down.svg +4 -0
- package/assets/images/icons/clipboard.svg +7 -0
- package/assets/images/icons/clock-circle.svg +5 -0
- package/assets/images/icons/copy.svg +5 -0
- package/assets/images/icons/cross-transfer.svg +7 -0
- package/assets/images/icons/dapp.svg +4 -0
- package/assets/images/icons/deploy.svg +12 -0
- package/assets/images/icons/error-circle.svg +6 -0
- package/assets/images/icons/exclamation-circle.svg +13 -0
- package/assets/images/icons/exclamation-octagon.svg +13 -0
- package/assets/images/icons/exclamation-triangle.svg +5 -0
- package/assets/images/icons/external-link.svg +6 -0
- package/assets/images/icons/eye.svg +4 -0
- package/assets/images/icons/flowers.svg +8 -0
- package/assets/images/icons/gas-emoji.svg +193 -0
- package/assets/images/icons/gas.svg +14 -0
- package/assets/images/icons/gift.svg +153 -0
- package/assets/images/icons/globe.svg +110 -0
- package/assets/images/icons/hamburger.svg +6 -0
- package/assets/images/icons/hammer.svg +5 -0
- package/assets/images/icons/info-2.svg +12 -0
- package/assets/images/icons/instadapp-pro.svg +4 -0
- package/assets/images/icons/logout.svg +3 -0
- package/assets/images/icons/moon.svg +3 -0
- package/assets/images/icons/multi-send.svg +7 -0
- package/assets/images/icons/network.svg +13 -0
- package/assets/images/icons/options.svg +5 -0
- package/assets/images/icons/permit-sign.svg +11 -0
- package/assets/images/icons/plus-circle.svg +6 -0
- package/assets/images/icons/plus.svg +5 -0
- package/assets/images/icons/power-off-bg.svg +24 -0
- package/assets/images/icons/power-off.svg +19 -0
- package/assets/images/icons/power-on.svg +19 -0
- package/assets/images/icons/qr.svg +20 -0
- package/assets/images/icons/question-circle.svg +14 -0
- package/assets/images/icons/refresh.svg +6 -0
- package/assets/images/icons/reject-proposal.svg +6 -0
- package/assets/images/icons/search.svg +12 -0
- package/assets/images/icons/sun.svg +3 -0
- package/assets/images/icons/transfer.svg +5 -0
- package/assets/images/icons/trash-2.svg +8 -0
- package/assets/images/icons/upgrade.svg +4 -0
- package/assets/images/icons/wave.svg +214 -0
- package/assets/images/icons/x.svg +5 -0
- package/components/ActionLogo.vue +40 -0
- package/components/ActionMetadata.vue +78 -0
- package/components/AuthorityAvatar.vue +38 -0
- package/components/ChainLogo.vue +14 -556
- package/components/CopyClipboard.vue +64 -0
- package/components/metadata/Bridge.vue +59 -0
- package/components/metadata/CrossTransfer.vue +79 -0
- package/components/metadata/GasTopup.vue +39 -0
- package/components/metadata/Permit2.vue +42 -0
- package/components/metadata/Signers.vue +63 -0
- package/components/metadata/Swap.vue +74 -0
- package/components/metadata/Transfer.vue +50 -0
- package/components.d.ts +13 -0
- package/contracts/Forwarder.ts +4 -4
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/Forwarder__factory.ts +8 -8
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +1 -0
- package/contracts/index.ts +2 -0
- package/nuxt.config.ts +17 -1
- package/package.json +9 -4
- package/utils/avocado.ts +2 -0
- package/utils/bignumber.ts +20 -0
- package/utils/formatter.ts +1 -1
- package/utils/helper.ts +8 -0
- package/utils/metadata.ts +360 -179
- package/utils/network.ts +227 -74
- package/utils/services.ts +21 -0
- package/utils/utils.d.ts +131 -114
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: "Mainnet",
|
|
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,9 @@ export const networks: Network[] = [
|
|
|
35
25
|
balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
|
|
36
26
|
usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
|
|
37
27
|
explorerUrl: "https://polygonscan.com",
|
|
28
|
+
apiURL: "https://api.polygonscan.com",
|
|
29
|
+
fakeTransactionHash:
|
|
30
|
+
"0x906c551abd5873a428505b6530ac14d91367820706c7ee525f6d7313265d1c92",
|
|
38
31
|
get serverRpcUrl() {
|
|
39
32
|
return process.env?.POLYGON_RPC_URL || this.params.rpcUrls[0];
|
|
40
33
|
},
|
|
@@ -57,7 +50,10 @@ export const networks: Network[] = [
|
|
|
57
50
|
chainId: 42161,
|
|
58
51
|
usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
|
|
59
52
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
53
|
+
fakeTransactionHash:
|
|
54
|
+
"0x9fa291c3b09d31f19b1fa5dd05f30169d1364036d5f7c14b026410bc07bd8843",
|
|
60
55
|
explorerUrl: "https://arbiscan.io",
|
|
56
|
+
apiURL: "https://api.arbiscan.io",
|
|
61
57
|
get serverRpcUrl() {
|
|
62
58
|
return process.env?.ARBITRUM_RPC_URL || this.params.rpcUrls[0];
|
|
63
59
|
},
|
|
@@ -71,6 +67,55 @@ export const networks: Network[] = [
|
|
|
71
67
|
rpcUrls: ["https://arb1.arbitrum.io/rpc"],
|
|
72
68
|
},
|
|
73
69
|
},
|
|
70
|
+
{
|
|
71
|
+
name: "Ethereum",
|
|
72
|
+
debankName: "eth",
|
|
73
|
+
ankrName: "eth",
|
|
74
|
+
zerionName: "ethereum",
|
|
75
|
+
chainId: 1,
|
|
76
|
+
explorerUrl: "https://etherscan.io",
|
|
77
|
+
fakeTransactionHash:
|
|
78
|
+
"0x13232dd32cef2f641ead890a507710c96560c8c9c3d5fab6facb5ec563c49433",
|
|
79
|
+
apiURL: "https://api.etherscan.io",
|
|
80
|
+
color: "#5D5FEF",
|
|
81
|
+
get serverRpcUrl() {
|
|
82
|
+
return process.env?.MAINNET_RPC_URL || this.params.rpcUrls[0];
|
|
83
|
+
},
|
|
84
|
+
balanceResolverAddress: "0x5b7D61b389D12e1f5873d0cCEe7E675915AB5F43",
|
|
85
|
+
usdcAddress: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
|
|
86
|
+
params: {
|
|
87
|
+
rpcUrls: ["https://rpc.ankr.com/eth"],
|
|
88
|
+
nativeCurrency: {
|
|
89
|
+
name: "Ethereum",
|
|
90
|
+
symbol: "ETH",
|
|
91
|
+
decimals: 18,
|
|
92
|
+
},
|
|
93
|
+
},
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
name: "Base",
|
|
97
|
+
chainId: 8453,
|
|
98
|
+
color: "#1E2024",
|
|
99
|
+
ankrName: "base",
|
|
100
|
+
explorerUrl: "https://basescan.org",
|
|
101
|
+
fakeTransactionHash:
|
|
102
|
+
"0xf7833d80da33730c4fc5d4c64151f0eaa64c0c0535be022af0228a44cc4e9c8e",
|
|
103
|
+
apiURL: "https://api.basescan.org",
|
|
104
|
+
get serverRpcUrl() {
|
|
105
|
+
return process.env?.BASE_RPC_URL || this.params.rpcUrls[0];
|
|
106
|
+
},
|
|
107
|
+
usdcAddress: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA",
|
|
108
|
+
balanceResolverAddress: "0x23c8EAb8a4373dD16b0947Ebe8bf76Ff7A49d13C",
|
|
109
|
+
params: {
|
|
110
|
+
rpcUrls: ["https://rpc.ankr.com/base"],
|
|
111
|
+
chainName: "Base",
|
|
112
|
+
nativeCurrency: {
|
|
113
|
+
name: "Ethereum",
|
|
114
|
+
symbol: "ETH",
|
|
115
|
+
decimals: 18,
|
|
116
|
+
},
|
|
117
|
+
},
|
|
118
|
+
},
|
|
74
119
|
{
|
|
75
120
|
name: "Optimism",
|
|
76
121
|
debankName: "op",
|
|
@@ -78,8 +123,11 @@ export const networks: Network[] = [
|
|
|
78
123
|
zerionName: "optimism",
|
|
79
124
|
color: "#FF0420",
|
|
80
125
|
chainId: 10,
|
|
126
|
+
apiURL: "https://api-optimistic.etherscan.io",
|
|
81
127
|
usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
|
|
82
128
|
balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
|
|
129
|
+
fakeTransactionHash:
|
|
130
|
+
"0xee7311d68059732b05088f2144dfec6c7a4f5fd0433eb85306afcd6bdf17cebc",
|
|
83
131
|
explorerUrl: "https://optimistic.etherscan.io",
|
|
84
132
|
get serverRpcUrl() {
|
|
85
133
|
return process.env?.OPTIMISM_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -95,26 +143,27 @@ export const networks: Network[] = [
|
|
|
95
143
|
},
|
|
96
144
|
},
|
|
97
145
|
{
|
|
98
|
-
name: "
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
146
|
+
name: "Polygon zkEVM",
|
|
147
|
+
chainId: 1101,
|
|
148
|
+
color: "#8544f6",
|
|
149
|
+
ankrName: "polygon_zkevm",
|
|
150
|
+
explorerUrl: "https://zkevm.polygonscan.com",
|
|
151
|
+
apiURL: "https://api-zkevm.polygonscan.com",
|
|
152
|
+
balanceResolverAddress: "0x48D1Fa5Ee6691a1E0B45d2B515650997BEA27a01",
|
|
153
|
+
fakeTransactionHash:
|
|
154
|
+
"0x1077130463ade91ad4e9c43c3195298e26a99970975238128912490eea12bf41",
|
|
155
|
+
usdcAddress: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035",
|
|
107
156
|
get serverRpcUrl() {
|
|
108
|
-
return process.env?.
|
|
157
|
+
return process.env?.POLYGON_ZKEVM_RPC_URL || this.params.rpcUrls[0];
|
|
109
158
|
},
|
|
110
159
|
params: {
|
|
111
|
-
chainName: "
|
|
160
|
+
chainName: "polygon zkEVM",
|
|
161
|
+
rpcUrls: ["https://zkevm-rpc.com"],
|
|
112
162
|
nativeCurrency: {
|
|
113
|
-
name: "
|
|
114
|
-
symbol: "
|
|
163
|
+
name: "Ethereum",
|
|
164
|
+
symbol: "ETH",
|
|
115
165
|
decimals: 18,
|
|
116
166
|
},
|
|
117
|
-
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
118
167
|
},
|
|
119
168
|
},
|
|
120
169
|
{
|
|
@@ -125,6 +174,9 @@ export const networks: Network[] = [
|
|
|
125
174
|
color: "#F3BA2F",
|
|
126
175
|
chainId: 56,
|
|
127
176
|
explorerUrl: "https://bscscan.com",
|
|
177
|
+
fakeTransactionHash:
|
|
178
|
+
"0x897d54bf8e492f840bd4d8f1e743bfcab8226ab4d5a899e47ee433dcd6d6abf7",
|
|
179
|
+
apiURL: "https://api.bscscan.com",
|
|
128
180
|
usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
|
|
129
181
|
balanceResolverAddress: "0xb808cff38706e267067b0af427726aa099f69f89",
|
|
130
182
|
get serverRpcUrl() {
|
|
@@ -140,14 +192,68 @@ export const networks: Network[] = [
|
|
|
140
192
|
},
|
|
141
193
|
},
|
|
142
194
|
},
|
|
195
|
+
{
|
|
196
|
+
name: "Avalanche",
|
|
197
|
+
debankName: "avax",
|
|
198
|
+
ankrName: "avalanche",
|
|
199
|
+
zerionName: "avalanche",
|
|
200
|
+
color: "#EB5757",
|
|
201
|
+
chainId: 43114,
|
|
202
|
+
usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
|
|
203
|
+
balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
|
|
204
|
+
explorerUrl: "https://snowtrace.io",
|
|
205
|
+
fakeTransactionHash:
|
|
206
|
+
"0x233aac7402558dd4e23f938a50f983e67f5c9604233981c7ac74e63737b8294e",
|
|
207
|
+
apiURL: "https://api.snowtrace.io",
|
|
208
|
+
get serverRpcUrl() {
|
|
209
|
+
return process.env?.AVALANCHE_RPC_URL || this.params.rpcUrls[0];
|
|
210
|
+
},
|
|
211
|
+
params: {
|
|
212
|
+
chainName: "Avalanche Network",
|
|
213
|
+
nativeCurrency: {
|
|
214
|
+
name: "Avalanche",
|
|
215
|
+
symbol: "AVAX",
|
|
216
|
+
decimals: 18,
|
|
217
|
+
},
|
|
218
|
+
rpcUrls: ["https://rpc.ankr.com/avalanche"],
|
|
219
|
+
},
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
name: "Fantom",
|
|
223
|
+
chainId: 250,
|
|
224
|
+
zerionName: "fantom",
|
|
225
|
+
explorerUrl: "https://ftmscan.com",
|
|
226
|
+
ankrName: "fantom",
|
|
227
|
+
color: "#1969ff",
|
|
228
|
+
get serverRpcUrl() {
|
|
229
|
+
return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
|
|
230
|
+
},
|
|
231
|
+
usdcAddress: "0x04068da6c83afcfa0e13ba15a6696662335d5b75",
|
|
232
|
+
balanceResolverAddress: "0x929376c77a2fb8152375a089a4fccf84ff481479",
|
|
233
|
+
fakeTransactionHash:
|
|
234
|
+
"0x1e9a8405d660172314124e06896212c0786d7fb1550b89410d4bc87e9e8054e4",
|
|
235
|
+
params: {
|
|
236
|
+
rpcUrls: ["https://rpc.ankr.com/fantom"],
|
|
237
|
+
chainName: "Fantom",
|
|
238
|
+
nativeCurrency: {
|
|
239
|
+
name: "Fantom",
|
|
240
|
+
symbol: "FTM",
|
|
241
|
+
decimals: 18,
|
|
242
|
+
},
|
|
243
|
+
},
|
|
244
|
+
},
|
|
143
245
|
{
|
|
144
246
|
name: "Gnosis",
|
|
145
247
|
debankName: "xdai",
|
|
146
248
|
zerionName: "xdai",
|
|
147
249
|
color: "#04795C",
|
|
250
|
+
ankrName: "gnosis",
|
|
148
251
|
chainId: 100,
|
|
149
252
|
balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
|
|
150
253
|
explorerUrl: "https://gnosisscan.io",
|
|
254
|
+
fakeTransactionHash:
|
|
255
|
+
"0x1513033806310a2c3b29f2276f8aa7388461b0ef9f8499c297e68c12187c179b",
|
|
256
|
+
apiURL: "https://api.gnosisscan.io",
|
|
151
257
|
usdcAddress: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83",
|
|
152
258
|
get serverRpcUrl() {
|
|
153
259
|
return process.env?.GNOSIS_RPC_URL || this.params.rpcUrls[0];
|
|
@@ -162,33 +268,14 @@ export const networks: Network[] = [
|
|
|
162
268
|
},
|
|
163
269
|
},
|
|
164
270
|
},
|
|
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
|
-
|
|
179
|
-
nativeCurrency: {
|
|
180
|
-
name: "Ethereum",
|
|
181
|
-
symbol: "ETH",
|
|
182
|
-
decimals: 18,
|
|
183
|
-
},
|
|
184
|
-
},
|
|
185
|
-
},
|
|
186
271
|
{
|
|
187
272
|
name: "Aurora",
|
|
188
273
|
chainId: 1313161554,
|
|
189
274
|
zerionName: "aurora",
|
|
190
275
|
color: "#78d64b",
|
|
191
276
|
explorerUrl: "https://explorer.mainnet.aurora.dev",
|
|
277
|
+
fakeTransactionHash:
|
|
278
|
+
"0x0923401c5a80c39a5cd57c098a6c4729edbefd0db6894def7d349493f4ff3ec6",
|
|
192
279
|
get serverRpcUrl() {
|
|
193
280
|
return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
|
|
194
281
|
},
|
|
@@ -205,23 +292,64 @@ export const networks: Network[] = [
|
|
|
205
292
|
},
|
|
206
293
|
},
|
|
207
294
|
{
|
|
208
|
-
name: "
|
|
209
|
-
chainId:
|
|
210
|
-
zerionName: "
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
295
|
+
name: "Fuse",
|
|
296
|
+
chainId: 122,
|
|
297
|
+
zerionName: "fuse",
|
|
298
|
+
color: "#78d64b",
|
|
299
|
+
explorerUrl: "https://explorer.fuse.io",
|
|
300
|
+
fakeTransactionHash:
|
|
301
|
+
"0xf22a8031de9b978a57c728e18c6b54633356c39db4d0466e53b9b7c3ee7f8def",
|
|
214
302
|
get serverRpcUrl() {
|
|
215
|
-
return process.env?.
|
|
303
|
+
return process.env?.FUSE_RPC_URL || this.params.rpcUrls[0];
|
|
216
304
|
},
|
|
217
|
-
usdcAddress: "
|
|
218
|
-
balanceResolverAddress: "
|
|
305
|
+
usdcAddress: "",
|
|
306
|
+
balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
|
|
219
307
|
params: {
|
|
220
|
-
rpcUrls: ["https://
|
|
221
|
-
chainName: "
|
|
308
|
+
rpcUrls: ["https://fuse-mainnet.chainstacklabs.com"],
|
|
309
|
+
chainName: "Fuse",
|
|
222
310
|
nativeCurrency: {
|
|
223
|
-
|
|
224
|
-
|
|
311
|
+
decimals: 18,
|
|
312
|
+
name: "Fuse",
|
|
313
|
+
symbol: "fuse",
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
},
|
|
317
|
+
{
|
|
318
|
+
name: "Scroll",
|
|
319
|
+
chainId: 534352,
|
|
320
|
+
color: "#78d64b",
|
|
321
|
+
explorerUrl: "https://scrollscan.com",
|
|
322
|
+
fakeTransactionHash:
|
|
323
|
+
"0x6bf297c414264fc8cddd47224632b4426a02138df2f50fe891eca87f6aefea01",
|
|
324
|
+
get serverRpcUrl() {
|
|
325
|
+
return process.env?.SCROLL_RPC_URL || this.params.rpcUrls[0];
|
|
326
|
+
},
|
|
327
|
+
params: {
|
|
328
|
+
rpcUrls: ["https://rpc.scroll.io"],
|
|
329
|
+
chainName: "Scroll",
|
|
330
|
+
nativeCurrency: {
|
|
331
|
+
name: "Ethereum",
|
|
332
|
+
symbol: "ETH",
|
|
333
|
+
decimals: 18,
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
name: "opBNB",
|
|
339
|
+
chainId: 204,
|
|
340
|
+
color: "#78d64b",
|
|
341
|
+
explorerUrl: "https://opbnbscan.com",
|
|
342
|
+
fakeTransactionHash:
|
|
343
|
+
"0xb9438a3eae61442bc7d419d79930370ce09ac0f46e0695025751e3bfe1a931e7",
|
|
344
|
+
get serverRpcUrl() {
|
|
345
|
+
return process.env?.OPBNB_RPC_URL || this.params.rpcUrls[0];
|
|
346
|
+
},
|
|
347
|
+
params: {
|
|
348
|
+
rpcUrls: ["https://opbnb-mainnet-rpc.bnbchain.org"],
|
|
349
|
+
chainName: "opBNB",
|
|
350
|
+
nativeCurrency: {
|
|
351
|
+
name: "BNB",
|
|
352
|
+
symbol: "BNB",
|
|
225
353
|
decimals: 18,
|
|
226
354
|
},
|
|
227
355
|
},
|
|
@@ -231,6 +359,7 @@ export const networks: Network[] = [
|
|
|
231
359
|
chainId: AVO_PROD_CHAIN_ID,
|
|
232
360
|
isAvocado: true,
|
|
233
361
|
balanceResolverAddress: "",
|
|
362
|
+
fakeTransactionHash: "",
|
|
234
363
|
color: "#16A34A",
|
|
235
364
|
usdcAddress: "",
|
|
236
365
|
serverRpcUrl: AVO_PROD_RPC_URL,
|
|
@@ -252,6 +381,7 @@ export const networks: Network[] = [
|
|
|
252
381
|
serverRpcUrl: AVO_STAGING_RPC_URL,
|
|
253
382
|
color: "#16A34A",
|
|
254
383
|
explorerUrl: AVO_STAGING_EXPLORER_URL,
|
|
384
|
+
fakeTransactionHash: "",
|
|
255
385
|
isAvocado: true,
|
|
256
386
|
balanceResolverAddress: "",
|
|
257
387
|
usdcAddress: "",
|
|
@@ -268,6 +398,25 @@ export const networks: Network[] = [
|
|
|
268
398
|
},
|
|
269
399
|
];
|
|
270
400
|
|
|
401
|
+
export const chainUsdcAddresses = [
|
|
402
|
+
{ chainId: 1, address: "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" },
|
|
403
|
+
{ chainId: 10, address: "0x7f5c764cbc14f9669b88837ca1490cca17c31607" },
|
|
404
|
+
{ chainId: 56, address: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" },
|
|
405
|
+
{ chainId: 100, address: "0xddafbb505ad214d7b80b1f830fccc89b60fb7a83" },
|
|
406
|
+
{ chainId: 137, address: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174" },
|
|
407
|
+
{ chainId: 250, address: "0x04068da6c83afcfa0e13ba15a6696662335d5b75" },
|
|
408
|
+
{ chainId: 42161, address: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8" },
|
|
409
|
+
{ chainId: 42161, address: "0xaf88d065e77c8cc2239327c5edb3a432268e5831" },
|
|
410
|
+
{ chainId: 43114, address: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e" },
|
|
411
|
+
{ chainId: 43114, address: "0xa7d7079b0fead91f3e65f86e8915cb59c1a4c664" },
|
|
412
|
+
{ chainId: 1101, address: "0xa8ce8aee21bc2a48a5ef670afcc9274c7bbbc035" },
|
|
413
|
+
{
|
|
414
|
+
chainId: 1313161554,
|
|
415
|
+
address: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
|
|
416
|
+
},
|
|
417
|
+
{ chainId: 8453, address: "0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA" },
|
|
418
|
+
];
|
|
419
|
+
|
|
271
420
|
export const getNetworkByChainId = (
|
|
272
421
|
chainId: ChainId | number | string
|
|
273
422
|
): Network => {
|
|
@@ -280,12 +429,16 @@ export const availableNetworks = networks.filter(
|
|
|
280
429
|
|
|
281
430
|
export const chainIdToName = (chainId: ChainId | number | string) => {
|
|
282
431
|
const network = getNetworkByChainId(chainId);
|
|
283
|
-
return network
|
|
432
|
+
return network?.name;
|
|
284
433
|
};
|
|
285
434
|
|
|
286
435
|
export const getRpcURLByChainId = (chainId: ChainId | number | string) => {
|
|
287
|
-
|
|
288
|
-
|
|
436
|
+
try {
|
|
437
|
+
const network = getNetworkByChainId(chainId);
|
|
438
|
+
return network.params.rpcUrls[0];
|
|
439
|
+
} catch (e) {
|
|
440
|
+
return "";
|
|
441
|
+
}
|
|
289
442
|
};
|
|
290
443
|
|
|
291
444
|
export const RPCMap = networks.reduce((acc, network) => {
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export const fetchTokenByAddress = async (
|
|
2
|
+
address: string,
|
|
3
|
+
chainId: string | number,
|
|
4
|
+
tokens?: ITokenPrice[]
|
|
5
|
+
) => {
|
|
6
|
+
if (!address || !chainId) return null;
|
|
7
|
+
|
|
8
|
+
if (tokens?.length) {
|
|
9
|
+
const token = tokens.find((token) => token.address?.toLocaleLowerCase() === address?.toLocaleLowerCase() && token.chain_id == chainId);
|
|
10
|
+
if (token) return token;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
|
|
14
|
+
params: {
|
|
15
|
+
sparkline: false,
|
|
16
|
+
"addresses[]": [address],
|
|
17
|
+
},
|
|
18
|
+
})) as ITokenPrice[];
|
|
19
|
+
|
|
20
|
+
return token;
|
|
21
|
+
};
|
package/utils/utils.d.ts
CHANGED
|
@@ -1,118 +1,135 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
declare global {
|
|
2
|
+
type ChainId =
|
|
3
|
+
| 1
|
|
4
|
+
| 137
|
|
5
|
+
| 42161
|
|
6
|
+
| 10
|
|
7
|
+
| 56
|
|
8
|
+
| 43114
|
|
9
|
+
| 100
|
|
10
|
+
| 1101
|
|
11
|
+
| 250
|
|
12
|
+
| 634
|
|
13
|
+
| 1313161554
|
|
14
|
+
| 8453
|
|
15
|
+
| 122
|
|
16
|
+
| 534352
|
|
17
|
+
| 204
|
|
18
|
+
| 63400;
|
|
19
|
+
|
|
20
|
+
type ISlackMessageType = "danger" | "error" | "success" | "banner";
|
|
21
|
+
|
|
22
|
+
type MetadataTypes = keyof typeof MetadataEnums;
|
|
23
|
+
|
|
24
|
+
type PayloadFunction = (data: any, type: MetadataTypes) => any;
|
|
25
|
+
|
|
26
|
+
type IPayload = Record<MetadataTypes, PayloadFunction>;
|
|
27
|
+
|
|
28
|
+
interface Network {
|
|
29
|
+
name: string;
|
|
30
|
+
debankName?: string;
|
|
31
|
+
ankrName?: string;
|
|
32
|
+
zerionName?: string;
|
|
33
|
+
chainId: ChainId;
|
|
34
|
+
color: string;
|
|
35
|
+
isAvocado?: boolean;
|
|
36
|
+
serverRpcUrl: string | undefined;
|
|
37
|
+
balanceResolverAddress?: string;
|
|
38
|
+
usdcAddress?: string;
|
|
39
|
+
explorerUrl: string;
|
|
40
|
+
fakeTransactionHash: string;
|
|
41
|
+
apiURL?: string;
|
|
42
|
+
params: {
|
|
43
|
+
chainName?: string;
|
|
44
|
+
iconUrls?: string[];
|
|
45
|
+
rpcUrls: string[];
|
|
46
|
+
nativeCurrency?: {
|
|
47
|
+
name: string;
|
|
48
|
+
symbol: string;
|
|
49
|
+
decimals: number;
|
|
50
|
+
};
|
|
37
51
|
};
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
type SignMetadataProps = {
|
|
55
|
+
token: string;
|
|
56
|
+
spender: string;
|
|
57
|
+
amount: string;
|
|
58
|
+
expiration: string;
|
|
38
59
|
};
|
|
60
|
+
|
|
61
|
+
type DappMetadataProps = {
|
|
62
|
+
name: string;
|
|
63
|
+
url: string;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
type SendMetadataProps = {
|
|
67
|
+
token: string;
|
|
68
|
+
amount: string;
|
|
69
|
+
receiver: string;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
type CrossSendMetadataProps = {
|
|
73
|
+
fromToken: string;
|
|
74
|
+
toToken: string;
|
|
75
|
+
toChainId: string;
|
|
76
|
+
amount: string;
|
|
77
|
+
receiver: string;
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
type AuthMetadataProps = {
|
|
81
|
+
address: string;
|
|
82
|
+
chainId: string;
|
|
83
|
+
remove: boolean;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
type UpgradeMetadataProps = {
|
|
87
|
+
version: string;
|
|
88
|
+
walletImpl: string;
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
type TopupMetadataProps = {
|
|
92
|
+
amount: string;
|
|
93
|
+
token: string;
|
|
94
|
+
onBehalf: string;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
type BridgeMetadataProps = {
|
|
98
|
+
amount: string;
|
|
99
|
+
receiver: string;
|
|
100
|
+
fromToken: string;
|
|
101
|
+
toToken: string;
|
|
102
|
+
toChainId: string;
|
|
103
|
+
bridgeFee: string;
|
|
104
|
+
nativeToken: string;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
type SwapMetadataProps = {
|
|
108
|
+
sellToken: string;
|
|
109
|
+
buyToken: string;
|
|
110
|
+
sellAmount: string;
|
|
111
|
+
buyAmount: string;
|
|
112
|
+
receiver: string;
|
|
113
|
+
protocol?: string;
|
|
114
|
+
};
|
|
115
|
+
|
|
116
|
+
type MetadataProps = {
|
|
117
|
+
type: MetadataTypes;
|
|
118
|
+
encodedData: string;
|
|
119
|
+
version?: string;
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
interface ITokenPrice {
|
|
123
|
+
address: string;
|
|
124
|
+
chain_id: string;
|
|
125
|
+
name: string;
|
|
126
|
+
symbol: string;
|
|
127
|
+
decimals: number;
|
|
128
|
+
logo_url: string;
|
|
129
|
+
price: string;
|
|
130
|
+
coingecko_id: string;
|
|
131
|
+
sparkline_price_7d: number[];
|
|
132
|
+
}
|
|
39
133
|
}
|
|
40
134
|
|
|
41
|
-
|
|
42
|
-
token: string;
|
|
43
|
-
spender: string;
|
|
44
|
-
amount: string;
|
|
45
|
-
expiration: string;
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
type DappMetadataProps = {
|
|
49
|
-
name: string;
|
|
50
|
-
url: string;
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
type SendMetadataProps = {
|
|
54
|
-
token: string;
|
|
55
|
-
amount: string;
|
|
56
|
-
receiver: string;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
type CrossSendMetadataProps = {
|
|
60
|
-
fromToken: string;
|
|
61
|
-
toToken: string;
|
|
62
|
-
toChainId: string;
|
|
63
|
-
amount: string;
|
|
64
|
-
receiver: string;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
type AuthMetadataProps = {
|
|
68
|
-
address: string;
|
|
69
|
-
chainId: string;
|
|
70
|
-
remove: boolean;
|
|
71
|
-
};
|
|
72
|
-
|
|
73
|
-
type UpgradeMetadataProps = {
|
|
74
|
-
version: string;
|
|
75
|
-
walletImpl: string;
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
type TopupMetadataProps = {
|
|
79
|
-
amount: string;
|
|
80
|
-
token: string;
|
|
81
|
-
onBehalf: string;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
type BridgeMetadataProps = {
|
|
85
|
-
amount: string;
|
|
86
|
-
receiver: string;
|
|
87
|
-
fromToken: string;
|
|
88
|
-
toToken: string;
|
|
89
|
-
toChainId: string;
|
|
90
|
-
bridgeFee: string;
|
|
91
|
-
nativeToken: string;
|
|
92
|
-
};
|
|
93
|
-
|
|
94
|
-
type SwapMetadataProps = {
|
|
95
|
-
sellToken: string;
|
|
96
|
-
buyToken: string;
|
|
97
|
-
sellAmount: string;
|
|
98
|
-
buyAmount: string;
|
|
99
|
-
receiver: string;
|
|
100
|
-
protocol?: string;
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
type MetadataProps = {
|
|
104
|
-
type:
|
|
105
|
-
| "transfer"
|
|
106
|
-
| "bridge"
|
|
107
|
-
| "swap"
|
|
108
|
-
| "multi"
|
|
109
|
-
| "gas-topup"
|
|
110
|
-
| "upgrade"
|
|
111
|
-
| "dapp"
|
|
112
|
-
| "deploy"
|
|
113
|
-
| "permit2"
|
|
114
|
-
| "cross-transfer"
|
|
115
|
-
| "auth";
|
|
116
|
-
encodedData: string;
|
|
117
|
-
version?: string;
|
|
118
|
-
};
|
|
135
|
+
export {};
|