@instadapp/avocado-base 0.0.0-dev.714e98a → 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 (95) 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 +1252 -148
  5. package/abi/multisigAgnosticForwarder.json +937 -0
  6. package/abi/multisigForwarder.json +697 -0
  7. package/app.vue +9 -2
  8. package/assets/images/icons/arrow-left.svg +5 -0
  9. package/assets/images/icons/arrow-right.svg +5 -0
  10. package/assets/images/icons/avocado.svg +4 -0
  11. package/assets/images/icons/bridge-2.svg +3 -0
  12. package/assets/images/icons/bridge.svg +7 -0
  13. package/assets/images/icons/calendar.svg +8 -0
  14. package/assets/images/icons/change-threshold.svg +4 -0
  15. package/assets/images/icons/check-circle.svg +4 -0
  16. package/assets/images/icons/check.svg +3 -0
  17. package/assets/images/icons/chevron-down.svg +4 -0
  18. package/assets/images/icons/clipboard.svg +7 -0
  19. package/assets/images/icons/clock-circle.svg +5 -0
  20. package/assets/images/icons/copy.svg +12 -0
  21. package/assets/images/icons/cross-transfer.svg +7 -0
  22. package/assets/images/icons/dapp.svg +4 -0
  23. package/assets/images/icons/deploy.svg +12 -0
  24. package/assets/images/icons/error-circle.svg +6 -0
  25. package/assets/images/icons/exclamation-circle.svg +13 -0
  26. package/assets/images/icons/exclamation-octagon.svg +13 -0
  27. package/assets/images/icons/exclamation-triangle.svg +5 -0
  28. package/assets/images/icons/external-link.svg +6 -0
  29. package/assets/images/icons/eye.svg +4 -0
  30. package/assets/images/icons/flowers.svg +8 -0
  31. package/assets/images/icons/gas-emoji.svg +193 -0
  32. package/assets/images/icons/gas.svg +14 -0
  33. package/assets/images/icons/gift.svg +153 -0
  34. package/assets/images/icons/globe.svg +110 -0
  35. package/assets/images/icons/hamburger.svg +6 -0
  36. package/assets/images/icons/hammer.svg +5 -0
  37. package/assets/images/icons/info-2.svg +12 -0
  38. package/assets/images/icons/instadapp-pro.svg +4 -0
  39. package/assets/images/icons/logout.svg +3 -0
  40. package/assets/images/icons/moon.svg +3 -0
  41. package/assets/images/icons/multi-send.svg +7 -0
  42. package/assets/images/icons/network.svg +13 -0
  43. package/assets/images/icons/options.svg +5 -0
  44. package/assets/images/icons/permit-sign.svg +11 -0
  45. package/assets/images/icons/plus-circle.svg +6 -0
  46. package/assets/images/icons/plus.svg +5 -0
  47. package/assets/images/icons/power-off-bg.svg +24 -0
  48. package/assets/images/icons/power-off.svg +19 -0
  49. package/assets/images/icons/power-on.svg +19 -0
  50. package/assets/images/icons/qr.svg +20 -0
  51. package/assets/images/icons/question-circle.svg +14 -0
  52. package/assets/images/icons/refresh.svg +6 -0
  53. package/assets/images/icons/reject-proposal.svg +6 -0
  54. package/assets/images/icons/search.svg +12 -0
  55. package/assets/images/icons/stars.svg +4 -0
  56. package/assets/images/icons/sun.svg +3 -0
  57. package/assets/images/icons/transfer.svg +5 -0
  58. package/assets/images/icons/trash-2.svg +8 -0
  59. package/assets/images/icons/upgrade.svg +4 -0
  60. package/assets/images/icons/wave.svg +214 -0
  61. package/assets/images/icons/x.svg +5 -0
  62. package/components/ActionLogo.vue +42 -0
  63. package/components/ActionMetadata.vue +88 -0
  64. package/components/Address.vue +74 -0
  65. package/components/AuthorityAvatar.vue +39 -0
  66. package/components/ChainLogo.vue +18 -563
  67. package/components/CopyClipboard.vue +42 -0
  68. package/components/metadata/Bridge.vue +58 -0
  69. package/components/metadata/CrossTransfer.vue +76 -0
  70. package/components/metadata/GasTopup.vue +38 -0
  71. package/components/metadata/Permit2.vue +41 -0
  72. package/components/metadata/Signers.vue +19 -0
  73. package/components/metadata/Swap.vue +66 -0
  74. package/components/metadata/Transfer.vue +49 -0
  75. package/components.d.ts +13 -0
  76. package/contracts/Forwarder.ts +856 -2
  77. package/contracts/MultisigAgnosticForwarder.ts +1423 -0
  78. package/contracts/MultisigForwarder.ts +859 -0
  79. package/contracts/factories/Forwarder__factory.ts +816 -16
  80. package/contracts/factories/MultisigAgnosticForwarder__factory.ts +2135 -0
  81. package/contracts/factories/MultisigForwarder__factory.ts +721 -0
  82. package/contracts/factories/index.ts +2 -0
  83. package/contracts/index.ts +4 -0
  84. package/eslint.config.mjs +34 -0
  85. package/nuxt.config.ts +27 -2
  86. package/package.json +17 -12
  87. package/server/utils/index.ts +4 -4
  88. package/utils/avocado.ts +18 -16
  89. package/utils/bignumber.ts +60 -29
  90. package/utils/formatter.ts +63 -26
  91. package/utils/helper.ts +39 -28
  92. package/utils/metadata.ts +582 -251
  93. package/utils/network.ts +568 -172
  94. package/utils/services.ts +19 -0
  95. package/utils/utils.d.ts +146 -98
@@ -0,0 +1,19 @@
1
+ export async function fetchTokenByAddress(address: string, chainId: string | number, tokens?: ITokenPrice[]) {
2
+ if (!address || !chainId)
3
+ return null
4
+
5
+ if (tokens?.length) {
6
+ const token = tokens.find(token => token.address?.toLocaleLowerCase() === address?.toLocaleLowerCase() && token.chain_id == chainId)
7
+ if (token)
8
+ return token
9
+ }
10
+
11
+ const [token] = (await $fetch(`${blockQueryURL}/${chainId}/tokens`, {
12
+ params: {
13
+ 'sparkline': false,
14
+ 'addresses[]': [address],
15
+ },
16
+ })) as ITokenPrice[]
17
+
18
+ return token
19
+ }
package/utils/utils.d.ts CHANGED
@@ -1,100 +1,148 @@
1
- type ChainId =
2
- | 1
3
- | 137
4
- | 42161
5
- | 10
6
- | 56
7
- | 43114
8
- | 100
9
- | 1101
10
- | 250
11
- | 634
12
- | 1313161554
13
- | 63400;
14
-
15
- type ISlackMessageType = "danger" | "error" | "success" | "banner";
16
-
17
- interface Network {
18
- name: string;
19
- debankName?: string;
20
- ankrName?: string;
21
- chainId: ChainId;
22
- isAvocado?: boolean;
23
- serverRpcUrl: string | undefined;
24
- balanceResolverAddress?: string;
25
- usdcAddress: string;
26
- explorerUrl: string;
27
- params: {
28
- chainName?: string;
29
- iconUrls?: string[];
30
- rpcUrls: string[];
31
- nativeCurrency?: {
32
- name: string;
33
- symbol: string;
34
- decimals: number;
35
- };
36
- };
1
+ import type { Chain } from 'viem'
2
+
3
+ declare global {
4
+ type ChainId =
5
+ | 1
6
+ | 137
7
+ | 42161
8
+ | 10
9
+ | 56
10
+ | 43114
11
+ | 100
12
+ | 1101
13
+ | 250
14
+ | 634
15
+ | 1313161554
16
+ | 8453
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'
28
+
29
+ type MetadataTypes = keyof typeof MetadataEnums
30
+
31
+ type PayloadFunction = (data: any, type: MetadataTypes) => any
32
+
33
+ type IPayload = Record<MetadataTypes, PayloadFunction>
34
+
35
+ interface Network {
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
52
+ params: {
53
+ chainName?: string
54
+ iconUrls?: string[]
55
+ rpcUrls: string[]
56
+ nativeCurrency?: {
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
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
+ }
37
146
  }
38
147
 
39
- type SignMetadataProps = {
40
- token: string;
41
- spender: string;
42
- amount: string;
43
- expiration: string;
44
- };
45
-
46
- type DappMetadataProps = {
47
- name: string;
48
- url: string;
49
- };
50
-
51
- type SendMetadataProps = {
52
- token: string;
53
- amount: string;
54
- receiver: string;
55
- };
56
-
57
- type UpgradeMetadataProps = {
58
- version: string;
59
- walletImpl: string;
60
- };
61
-
62
- type TopupMetadataProps = {
63
- amount: string;
64
- token: string;
65
- onBehalf: string;
66
- };
67
-
68
- type BridgeMetadataProps = {
69
- amount: string;
70
- receiver: string;
71
- fromToken: string;
72
- toToken: string;
73
- toChainId: string;
74
- bridgeFee: string;
75
- nativeToken: string;
76
- };
77
-
78
- type SwapMetadataProps = {
79
- sellToken: string;
80
- buyToken: string;
81
- sellAmount: string;
82
- buyAmount: string;
83
- receiver: string;
84
- protocol?: string;
85
- };
86
-
87
- type MetadataProps = {
88
- type:
89
- | "transfer"
90
- | "bridge"
91
- | "swap"
92
- | "multi"
93
- | "gas-topup"
94
- | "upgrade"
95
- | "dapp"
96
- | "deploy"
97
- | "permit2";
98
- encodedData: string;
99
- version?: string;
100
- };
148
+ export {}