@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.
Files changed (43) 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 +697 -0
  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/hammer.svg +5 -0
  11. package/assets/images/icons/info-2.svg +12 -0
  12. package/assets/images/icons/stars.svg +4 -0
  13. package/components/ActionLogo.vue +33 -29
  14. package/components/ActionMetadata.vue +45 -29
  15. package/components/Address.vue +74 -0
  16. package/components/AuthorityAvatar.vue +15 -2
  17. package/components/ChainLogo.vue +22 -224
  18. package/components/CopyClipboard.vue +16 -38
  19. package/components/metadata/Bridge.vue +22 -23
  20. package/components/metadata/CrossTransfer.vue +35 -30
  21. package/components/metadata/GasTopup.vue +14 -15
  22. package/components/metadata/Permit2.vue +12 -13
  23. package/components/metadata/Signers.vue +12 -38
  24. package/components/metadata/Swap.vue +45 -53
  25. package/components/metadata/Transfer.vue +25 -27
  26. package/contracts/MultisigAgnosticForwarder.ts +1423 -0
  27. package/contracts/MultisigForwarder.ts +859 -0
  28. package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2135 -0
  29. package/contracts/factories/MultisigForwarder__factory.ts +721 -0
  30. package/contracts/factories/index.ts +2 -0
  31. package/contracts/index.ts +4 -0
  32. package/eslint.config.mjs +34 -0
  33. package/nuxt.config.ts +21 -12
  34. package/package.json +14 -14
  35. package/server/utils/index.ts +4 -4
  36. package/utils/avocado.ts +17 -17
  37. package/utils/bignumber.ts +47 -36
  38. package/utils/formatter.ts +55 -61
  39. package/utils/helper.ts +33 -41
  40. package/utils/metadata.ts +431 -310
  41. package/utils/network.ts +496 -201
  42. package/utils/services.ts +11 -13
  43. package/utils/utils.d.ts +119 -104
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
@@ -12,121 +14,134 @@ declare global {
12
14
  | 634
13
15
  | 1313161554
14
16
  | 8453
15
- | 63400;
16
-
17
- type ISlackMessageType = "danger" | "error" | "success" | "banner";
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: string;
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
- type SignMetadataProps = {
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 ITokenPrice {
118
- address: string;
119
- chain_id: string;
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
- export { }
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 {}