@instadapp/avocado-base 0.0.0-dev.24c65ca → 0.0.0-dev.2588b9b

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@instadapp/avocado-base",
3
- "version": "0.0.0-dev.24c65ca",
3
+ "version": "0.0.0-dev.2588b9b",
4
4
  "type": "module",
5
5
  "main": "./nuxt.config.ts",
6
6
  "types": "global.d.ts",
@@ -1,11 +1,14 @@
1
1
  export function formatPercent(
2
- value: number,
2
+ value?: number | string,
3
3
  fractionDigits = 2,
4
4
  maxValue = null
5
5
  ) {
6
- if (isZero(value)) return "0.00%";
6
+ if (!value || isZero(value)) return "0.00%";
7
7
 
8
- if (maxValue && gt(times(value, "100"), maxValue)) return `>${maxValue}%`;
8
+ const valueAsNumber = toBN(value).toNumber();
9
+
10
+ if (maxValue && gt(times(valueAsNumber, "100"), maxValue))
11
+ return `>${maxValue}%`;
9
12
 
10
13
  const formatter = new Intl.NumberFormat("en-US", {
11
14
  style: "percent",
@@ -13,7 +16,7 @@ export function formatPercent(
13
16
  maximumFractionDigits: fractionDigits,
14
17
  });
15
18
 
16
- return formatter.format(value);
19
+ return formatter.format(valueAsNumber);
17
20
  }
18
21
 
19
22
  export function shortenHash(hash: string, length: number = 4) {
@@ -42,10 +45,41 @@ export function signedNumber(numb: string | number) {
42
45
  }).format(toBN(numb).toNumber());
43
46
  }
44
47
 
45
- export function formatDecimal(value: string | number, decimalPlaces = 5) {
48
+ function getFractionDigits(value: string | number) {
49
+ const absoluteValue = toBN(value).abs();
50
+
51
+ if (isZero(absoluteValue)) {
52
+ return 2;
53
+ } else if (lt(absoluteValue, 0.01)) {
54
+ return 6;
55
+ } else if (lt(absoluteValue, 1)) {
56
+ return 4;
57
+ } else if (lt(absoluteValue, 10000)) {
58
+ return 2;
59
+ } else {
60
+ return 0;
61
+ }
62
+ }
63
+
64
+ export function formatDecimal(
65
+ value: string | number,
66
+ fractionDigits = getFractionDigits(value)
67
+ ) {
46
68
  if (!value) {
47
69
  value = "0";
48
70
  }
71
+ let formatter;
72
+ if (lt(value, "0.0001") && gt(value, "0")) {
73
+ return "< 0.0001";
74
+ } else {
75
+ formatter = new Intl.NumberFormat("en-US", {
76
+ style: "decimal",
77
+ minimumFractionDigits: fractionDigits,
78
+ maximumFractionDigits: fractionDigits,
79
+ });
80
+ }
81
+
82
+ const valueAsNumber = toBN(value).toNumber();
49
83
 
50
- return toBN(value).decimalPlaces(decimalPlaces).toFormat();
84
+ return formatter.format(valueAsNumber);
51
85
  }
package/utils/network.ts CHANGED
@@ -7,6 +7,7 @@ export const networks: Network[] = [
7
7
  name: "Mainnet",
8
8
  debankName: "eth",
9
9
  ankrName: "eth",
10
+ zerionName: "ethereum",
10
11
  chainId: 1,
11
12
  explorerUrl: "https://etherscan.io",
12
13
  get serverRpcUrl() {
@@ -27,6 +28,7 @@ export const networks: Network[] = [
27
28
  name: "Polygon",
28
29
  debankName: "matic",
29
30
  ankrName: "polygon",
31
+ zerionName: "polygon",
30
32
  chainId: 137,
31
33
  balanceResolverAddress: "0x58632D23120b20650262b8A629a14e4F4043E0D9",
32
34
  usdcAddress: "0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174",
@@ -48,6 +50,7 @@ export const networks: Network[] = [
48
50
  name: "Arbitrum",
49
51
  debankName: "arb",
50
52
  ankrName: "arbitrum",
53
+ zerionName: "arbitrum",
51
54
  chainId: 42161,
52
55
  usdcAddress: "0xff970a61a04b1ca14834a43f5de4533ebddb5cc8",
53
56
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
@@ -69,6 +72,7 @@ export const networks: Network[] = [
69
72
  name: "Optimism",
70
73
  debankName: "op",
71
74
  ankrName: "optimism",
75
+ zerionName: "optimism",
72
76
  chainId: 10,
73
77
  usdcAddress: "0x7f5c764cbc14f9669b88837ca1490cca17c31607",
74
78
  balanceResolverAddress: "0xca5f37e6D8bB24c5A7958d5eccE7Bd9Aacc944f2",
@@ -83,13 +87,14 @@ export const networks: Network[] = [
83
87
  symbol: "ETH",
84
88
  decimals: 18,
85
89
  },
86
- rpcUrls: ["https://mainnet.optimism.io"],
90
+ rpcUrls: ["https://rpc.ankr.com/optimism"],
87
91
  },
88
92
  },
89
93
  {
90
94
  name: "Avalanche",
91
95
  debankName: "avax",
92
96
  ankrName: "avalanche",
97
+ zerionName: "avalanche",
93
98
  chainId: 43114,
94
99
  usdcAddress: "0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e",
95
100
  balanceResolverAddress: "0x63009f31D054E0ac9F321Cf0D642375236A4Bf1E",
@@ -111,6 +116,7 @@ export const networks: Network[] = [
111
116
  name: "BSC",
112
117
  debankName: "bsc",
113
118
  ankrName: "bsc",
119
+ zerionName: "binance-smart-chain",
114
120
  chainId: 56,
115
121
  explorerUrl: "https://bscscan.com",
116
122
  usdcAddress: "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d",
@@ -131,7 +137,7 @@ export const networks: Network[] = [
131
137
  {
132
138
  name: "Gnosis",
133
139
  debankName: "xdai",
134
- ankrName: "gnosis",
140
+ zerionName: "xdai",
135
141
  chainId: 100,
136
142
  balanceResolverAddress: "0xfaa244e276b1597f663975ed007ee4ff70d27849",
137
143
  explorerUrl: "https://gnosisscan.io",
@@ -169,29 +175,32 @@ export const networks: Network[] = [
169
175
  },
170
176
  },
171
177
  },
172
- {
173
- name: "Aurora",
174
- chainId: 1313161554,
175
- explorerUrl: "https://explorer.mainnet.aurora.dev",
176
- get serverRpcUrl() {
177
- return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
178
- },
179
- usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
180
- balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
181
- params: {
182
- rpcUrls: ["https://mainnet.aurora.dev"],
183
- chainName: "Aurora",
184
- nativeCurrency: {
185
- decimals: 18,
186
- name: "Aurora ETH",
187
- symbol: "AETH",
188
- },
189
- },
190
- },
178
+ // {
179
+ // name: "Aurora",
180
+ // chainId: 1313161554,
181
+ // zerionName: "aurora",
182
+ // explorerUrl: "https://explorer.mainnet.aurora.dev",
183
+ // get serverRpcUrl() {
184
+ // return process.env?.AURORA_RPC_URL || this.params.rpcUrls[0];
185
+ // },
186
+ // usdcAddress: "0xB12BFcA5A55806AaF64E99521918A4bf0fC40802",
187
+ // balanceResolverAddress: "0xdF19Da523DA64bBE82eE0E4DFf00d676A8386474",
188
+ // params: {
189
+ // rpcUrls: ["https://mainnet.aurora.dev"],
190
+ // chainName: "Aurora",
191
+ // nativeCurrency: {
192
+ // decimals: 18,
193
+ // name: "Aurora ETH",
194
+ // symbol: "AETH",
195
+ // },
196
+ // },
197
+ // },
191
198
  {
192
199
  name: "Fantom",
193
200
  chainId: 250,
201
+ zerionName: "fantom",
194
202
  explorerUrl: "https://ftmscan.com",
203
+ ankrName: "fantom",
195
204
  get serverRpcUrl() {
196
205
  return process.env?.FANTOM_RPC_URL || this.params.rpcUrls[0];
197
206
  },
@@ -274,13 +283,16 @@ export const RPCMap = networks.reduce((acc, network) => {
274
283
 
275
284
  export const networkIds = networks.map((network) => network.chainId);
276
285
 
277
- const rpcInstances: Record<string, ethers.providers.JsonRpcProvider> = {};
278
- const serverRpcInstances: Record<string, ethers.providers.JsonRpcProvider> = {};
286
+ const rpcInstances: Record<string, ethers.providers.StaticJsonRpcProvider> = {};
287
+ const serverRpcInstances: Record<
288
+ string,
289
+ ethers.providers.StaticJsonRpcProvider
290
+ > = {};
279
291
 
280
292
  export const getServerRpcProvider = (chainId: number | string) => {
281
293
  if (!rpcInstances[chainId]) {
282
294
  const network = networks.find((n) => n.chainId == chainId);
283
- serverRpcInstances[chainId] = new ethers.providers.JsonRpcProvider(
295
+ serverRpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
284
296
  network?.serverRpcUrl
285
297
  );
286
298
  }
@@ -290,7 +302,7 @@ export const getServerRpcProvider = (chainId: number | string) => {
290
302
 
291
303
  export const getRpcProvider = (chainId: number | string) => {
292
304
  if (!rpcInstances[chainId]) {
293
- rpcInstances[chainId] = new ethers.providers.JsonRpcProvider(
305
+ rpcInstances[chainId] = new ethers.providers.StaticJsonRpcProvider(
294
306
  getRpcURLByChainId(Number(chainId))
295
307
  );
296
308
  }
package/utils/utils.d.ts CHANGED
@@ -18,6 +18,7 @@ interface Network {
18
18
  name: string;
19
19
  debankName?: string;
20
20
  ankrName?: string;
21
+ zerionName?: string;
21
22
  chainId: ChainId;
22
23
  isAvocado?: boolean;
23
24
  serverRpcUrl: string | undefined;