@instadapp/avocado-base 0.0.0-dev.a80e59d → 0.0.0-dev.ab8794d

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 +534 -201
  42. package/utils/services.ts +11 -13
  43. package/utils/utils.d.ts +120 -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,135 @@ 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
+ | 146
26
+
27
+ type ISlackMessageType = 'danger' | 'error' | 'success' | 'banner'
18
28
 
19
- type MetadataTypes = keyof typeof MetadataEnums;
29
+ type MetadataTypes = keyof typeof MetadataEnums
20
30
 
21
- type PayloadFunction = (data: any, type: MetadataTypes) => any;
31
+ type PayloadFunction = (data: any, type: MetadataTypes) => any
22
32
 
23
- type IPayload = Record<MetadataTypes, PayloadFunction>;
33
+ type IPayload = Record<MetadataTypes, PayloadFunction>
24
34
 
25
35
  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;
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
37
52
  params: {
38
- chainName?: string;
39
- iconUrls?: string[];
40
- rpcUrls: string[];
53
+ chainName?: string
54
+ iconUrls?: string[]
55
+ rpcUrls: string[]
41
56
  nativeCurrency?: {
42
- name: string;
43
- symbol: string;
44
- decimals: number;
45
- };
46
- };
57
+ name: string
58
+ symbol: string
59
+ decimals: number
60
+ }
61
+ }
47
62
  }
48
63
 
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
- };
64
+ interface SignMetadataProps {
65
+ token: string
66
+ spender: string
67
+ amount: string
68
+ expiration: string
69
+ }
116
70
 
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[];
71
+ interface DappMetadataProps {
72
+ name: string
73
+ url: string
127
74
  }
128
75
 
129
- }
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
+ }
130
101
 
131
- export { }
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
+ }
134
+
135
+ interface ITokenPrice {
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[]
145
+ }
146
+ }
132
147
 
148
+ export {}