@instadapp/avocado-base 0.0.0-dev.f392746 → 0.0.0-dev.f6bd350

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