@instadapp/avocado-base 0.0.0-dev.a80e59d → 0.0.0-dev.aeaa72b
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/.github/workflows/npm-publish-dev.yml +2 -5
- package/.vscode/settings.json +67 -0
- package/abi/avoFactoryProxy.json +1 -1
- package/abi/forwarder.json +1 -1
- package/abi/multisigAgnosticForwarder.json +937 -0
- package/abi/multisigForwarder.json +697 -0
- package/app.vue +5 -5
- package/assets/images/icons/check.svg +3 -0
- package/assets/images/icons/copy.svg +9 -2
- package/assets/images/icons/hammer.svg +5 -0
- package/assets/images/icons/info-2.svg +12 -0
- package/assets/images/icons/stars.svg +4 -0
- package/components/ActionLogo.vue +33 -29
- package/components/ActionMetadata.vue +45 -29
- package/components/Address.vue +74 -0
- package/components/AuthorityAvatar.vue +15 -2
- package/components/ChainLogo.vue +22 -224
- package/components/CopyClipboard.vue +16 -38
- package/components/metadata/Bridge.vue +22 -23
- package/components/metadata/CrossTransfer.vue +35 -30
- package/components/metadata/GasTopup.vue +14 -15
- package/components/metadata/Permit2.vue +12 -13
- package/components/metadata/Signers.vue +12 -38
- package/components/metadata/Swap.vue +45 -53
- package/components/metadata/Transfer.vue +25 -27
- package/contracts/MultisigAgnosticForwarder.ts +1423 -0
- package/contracts/MultisigForwarder.ts +859 -0
- package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2135 -0
- package/contracts/factories/MultisigForwarder__factory.ts +721 -0
- package/contracts/factories/index.ts +2 -0
- package/contracts/index.ts +4 -0
- package/eslint.config.mjs +34 -0
- package/nuxt.config.ts +21 -12
- package/package.json +14 -14
- package/server/utils/index.ts +4 -4
- package/utils/avocado.ts +17 -17
- package/utils/bignumber.ts +47 -36
- package/utils/formatter.ts +55 -61
- package/utils/helper.ts +33 -41
- package/utils/metadata.ts +431 -310
- package/utils/network.ts +496 -201
- package/utils/services.ts +11 -13
- package/utils/utils.d.ts +119 -104
package/utils/services.ts
CHANGED
|
@@ -1,21 +1,19 @@
|
|
|
1
|
-
export
|
|
2
|
-
address
|
|
3
|
-
|
|
4
|
-
tokens?: ITokenPrice[]
|
|
5
|
-
) => {
|
|
6
|
-
if (!address || !chainId) return null;
|
|
1
|
+
export async function fetchTokenByAddress(address: string, chainId: string | number, tokens?: ITokenPrice[]) {
|
|
2
|
+
if (!address || !chainId)
|
|
3
|
+
return null
|
|
7
4
|
|
|
8
5
|
if (tokens?.length) {
|
|
9
|
-
const token = tokens.find(
|
|
10
|
-
if (token)
|
|
6
|
+
const token = tokens.find(token => token.address?.toLocaleLowerCase() === address?.toLocaleLowerCase() && token.chain_id == chainId)
|
|
7
|
+
if (token)
|
|
8
|
+
return token
|
|
11
9
|
}
|
|
12
10
|
|
|
13
11
|
const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
|
|
14
12
|
params: {
|
|
15
|
-
sparkline: false,
|
|
16
|
-
|
|
13
|
+
'sparkline': false,
|
|
14
|
+
'addresses[]': [address],
|
|
17
15
|
},
|
|
18
|
-
})) as ITokenPrice[]
|
|
16
|
+
})) as ITokenPrice[]
|
|
19
17
|
|
|
20
|
-
return token
|
|
21
|
-
}
|
|
18
|
+
return token
|
|
19
|
+
}
|
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
|
|
@@ -12,121 +14,134 @@ declare global {
|
|
|
12
14
|
| 634
|
|
13
15
|
| 1313161554
|
|
14
16
|
| 8453
|
|
15
|
-
|
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
| 122
|
|
18
|
+
| 534352
|
|
19
|
+
| 204
|
|
20
|
+
| 63400
|
|
21
|
+
| 169
|
|
22
|
+
| 34443
|
|
23
|
+
| 81457
|
|
24
|
+
| 59144
|
|
25
|
+
|
|
26
|
+
type ISlackMessageType = 'danger' | 'error' | 'success' | 'banner'
|
|
18
27
|
|
|
19
|
-
type MetadataTypes = keyof typeof MetadataEnums
|
|
28
|
+
type MetadataTypes = keyof typeof MetadataEnums
|
|
20
29
|
|
|
21
|
-
type PayloadFunction = (data: any, type: MetadataTypes) => any
|
|
30
|
+
type PayloadFunction = (data: any, type: MetadataTypes) => any
|
|
22
31
|
|
|
23
|
-
type IPayload = Record<MetadataTypes, PayloadFunction
|
|
32
|
+
type IPayload = Record<MetadataTypes, PayloadFunction>
|
|
24
33
|
|
|
25
34
|
interface Network {
|
|
26
|
-
name: string
|
|
27
|
-
debankName?: string
|
|
28
|
-
ankrName?: string
|
|
29
|
-
zerionName?: string
|
|
30
|
-
chainId: ChainId
|
|
31
|
-
color: string
|
|
32
|
-
isAvocado?: boolean
|
|
33
|
-
serverRpcUrl: string | undefined
|
|
34
|
-
balanceResolverAddress?: string
|
|
35
|
-
usdcAddress
|
|
36
|
-
explorerUrl: string
|
|
35
|
+
name: string
|
|
36
|
+
debankName?: string
|
|
37
|
+
ankrName?: string
|
|
38
|
+
zerionName?: string
|
|
39
|
+
chainId: ChainId
|
|
40
|
+
color: string
|
|
41
|
+
isAvocado?: boolean
|
|
42
|
+
serverRpcUrl: string | undefined
|
|
43
|
+
balanceResolverAddress?: string
|
|
44
|
+
usdcAddress?: string
|
|
45
|
+
explorerUrl: string
|
|
46
|
+
fakeTransactionHash: string
|
|
47
|
+
viemChain: Chain
|
|
48
|
+
legacySupported: boolean
|
|
49
|
+
// must start with https://
|
|
50
|
+
apiURL: `https://${string}` | null
|
|
37
51
|
params: {
|
|
38
|
-
chainName?: string
|
|
39
|
-
iconUrls?: string[]
|
|
40
|
-
rpcUrls: string[]
|
|
52
|
+
chainName?: string
|
|
53
|
+
iconUrls?: string[]
|
|
54
|
+
rpcUrls: string[]
|
|
41
55
|
nativeCurrency?: {
|
|
42
|
-
name: string
|
|
43
|
-
symbol: string
|
|
44
|
-
decimals: number
|
|
45
|
-
}
|
|
46
|
-
}
|
|
56
|
+
name: string
|
|
57
|
+
symbol: string
|
|
58
|
+
decimals: number
|
|
59
|
+
}
|
|
60
|
+
}
|
|
47
61
|
}
|
|
48
62
|
|
|
49
|
-
|
|
50
|
-
token: string
|
|
51
|
-
spender: string
|
|
52
|
-
amount: string
|
|
53
|
-
expiration: string
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
type DappMetadataProps = {
|
|
57
|
-
name: string;
|
|
58
|
-
url: string;
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
type SendMetadataProps = {
|
|
62
|
-
token: string;
|
|
63
|
-
amount: string;
|
|
64
|
-
receiver: string;
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
type CrossSendMetadataProps = {
|
|
68
|
-
fromToken: string;
|
|
69
|
-
toToken: string;
|
|
70
|
-
toChainId: string;
|
|
71
|
-
amount: string;
|
|
72
|
-
receiver: string;
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
type AuthMetadataProps = {
|
|
76
|
-
address: string;
|
|
77
|
-
chainId: string;
|
|
78
|
-
remove: boolean;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
type UpgradeMetadataProps = {
|
|
82
|
-
version: string;
|
|
83
|
-
walletImpl: string;
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
type TopupMetadataProps = {
|
|
87
|
-
amount: string;
|
|
88
|
-
token: string;
|
|
89
|
-
onBehalf: string;
|
|
90
|
-
};
|
|
91
|
-
|
|
92
|
-
type BridgeMetadataProps = {
|
|
93
|
-
amount: string;
|
|
94
|
-
receiver: string;
|
|
95
|
-
fromToken: string;
|
|
96
|
-
toToken: string;
|
|
97
|
-
toChainId: string;
|
|
98
|
-
bridgeFee: string;
|
|
99
|
-
nativeToken: string;
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
type SwapMetadataProps = {
|
|
103
|
-
sellToken: string;
|
|
104
|
-
buyToken: string;
|
|
105
|
-
sellAmount: string;
|
|
106
|
-
buyAmount: string;
|
|
107
|
-
receiver: string;
|
|
108
|
-
protocol?: string;
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
type MetadataProps = {
|
|
112
|
-
type: MetadataTypes,
|
|
113
|
-
encodedData: string;
|
|
114
|
-
version?: string;
|
|
115
|
-
};
|
|
63
|
+
interface SignMetadataProps {
|
|
64
|
+
token: string
|
|
65
|
+
spender: string
|
|
66
|
+
amount: string
|
|
67
|
+
expiration: string
|
|
68
|
+
}
|
|
116
69
|
|
|
117
|
-
interface
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
name: string;
|
|
121
|
-
symbol: string;
|
|
122
|
-
decimals: number;
|
|
123
|
-
logo_url: string;
|
|
124
|
-
price: string;
|
|
125
|
-
coingecko_id: string;
|
|
126
|
-
sparkline_price_7d: number[];
|
|
70
|
+
interface DappMetadataProps {
|
|
71
|
+
name: string
|
|
72
|
+
url: string
|
|
127
73
|
}
|
|
128
74
|
|
|
129
|
-
|
|
75
|
+
interface SendMetadataProps {
|
|
76
|
+
token: string
|
|
77
|
+
amount: string
|
|
78
|
+
receiver: string
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
interface CrossSendMetadataProps {
|
|
82
|
+
fromToken: string
|
|
83
|
+
toToken: string
|
|
84
|
+
toChainId: string
|
|
85
|
+
amount: string
|
|
86
|
+
receiver: string
|
|
87
|
+
provider?: string
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
interface AuthMetadataProps {
|
|
91
|
+
address: string
|
|
92
|
+
chainId: string
|
|
93
|
+
remove: boolean
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
interface UpgradeMetadataProps {
|
|
97
|
+
version: string
|
|
98
|
+
walletImpl: string
|
|
99
|
+
}
|
|
130
100
|
|
|
131
|
-
|
|
101
|
+
interface TopupMetadataProps {
|
|
102
|
+
amount: string
|
|
103
|
+
token: string
|
|
104
|
+
onBehalf: string
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
interface BridgeMetadataProps {
|
|
108
|
+
amount: string
|
|
109
|
+
receiver: string
|
|
110
|
+
fromToken: string
|
|
111
|
+
toToken: string
|
|
112
|
+
toChainId: string
|
|
113
|
+
bridgeFee: string
|
|
114
|
+
nativeToken: string
|
|
115
|
+
version?: string
|
|
116
|
+
provider: string
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
interface SwapMetadataProps {
|
|
120
|
+
sellToken: string
|
|
121
|
+
buyToken: string
|
|
122
|
+
sellAmount: string
|
|
123
|
+
buyAmount: string
|
|
124
|
+
receiver: string
|
|
125
|
+
protocol?: string
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
interface MetadataProps {
|
|
129
|
+
type: MetadataTypes
|
|
130
|
+
encodedData: string
|
|
131
|
+
version?: string
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
interface ITokenPrice {
|
|
135
|
+
address: string
|
|
136
|
+
chain_id: string
|
|
137
|
+
name: string
|
|
138
|
+
symbol: string
|
|
139
|
+
decimals: number
|
|
140
|
+
logo_url: string
|
|
141
|
+
price: string
|
|
142
|
+
coingecko_id: string
|
|
143
|
+
sparkline_price_7d: number[]
|
|
144
|
+
}
|
|
145
|
+
}
|
|
132
146
|
|
|
147
|
+
export {}
|