@instadapp/avocado-base 0.0.0-dev.6ff6bcb → 0.0.0-dev.75719e7

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