@fileverse-dev/formulajs 4.4.11-mod-76 → 4.4.11-mod-78

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/lib/cjs/index.cjs CHANGED
@@ -13189,44 +13189,43 @@ class InvalidApiKeyError extends Error {
13189
13189
  }
13190
13190
  }
13191
13191
 
13192
- const stagingFileverseProxyUrl = "https://staging-api-proxy-ca4268d7d581.herokuapp.com/proxy";
13193
- const productionFileverseProxyUrl = `${process.env.NEXT_PUBLIC_PROXY_BASE_URL}/proxy`;
13192
+ const fileverseProxyUrl = `${process.env.NEXT_PUBLIC_PROXY_BASE_URL}/proxy`;
13194
13193
  // Proxy map configuration
13195
13194
  const PROXY_MAP = {
13196
13195
  Etherscan: {
13197
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13196
+ url: fileverseProxyUrl,
13198
13197
  removeParams: ['apikey']
13199
13198
  },
13200
13199
  Basescan: {
13201
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13200
+ url: fileverseProxyUrl,
13202
13201
  removeParams: ['apikey']
13203
13202
  },
13204
13203
  Gnosisscan: {
13205
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13204
+ url: fileverseProxyUrl,
13206
13205
  removeParams: ['apikey']
13207
13206
  },
13208
13207
  Coingecko: {
13209
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13208
+ url: fileverseProxyUrl,
13210
13209
  removeParams: ['apikey']
13211
13210
  },
13212
13211
  Firefly: {
13213
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13212
+ url: fileverseProxyUrl,
13214
13213
  removeParams: ['apikey']
13215
13214
  },
13216
13215
  Neynar: {
13217
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13216
+ url: fileverseProxyUrl,
13218
13217
  removeParams: ['api_key']
13219
13218
  },
13220
13219
  Safe: {
13221
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13220
+ url: fileverseProxyUrl,
13222
13221
  removeParams: ['api_key']
13223
13222
  },
13224
13223
  Defillama: {
13225
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13224
+ url: fileverseProxyUrl,
13226
13225
  removeParams: ['api_key']
13227
13226
  },
13228
13227
  GnosisPay: {
13229
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13228
+ url: fileverseProxyUrl,
13230
13229
  removeParams: ['api_key']
13231
13230
  },
13232
13231
  // Add more services as needed. It can be direct url instead of ENV variable
@@ -13362,9 +13361,16 @@ async function fromEnsNameToAddress(name) {
13362
13361
  return null
13363
13362
  }
13364
13363
  }
13364
+ const validateAndGetAddress = async (address) => {
13365
+ if(isAddress$1.isAddress(address)) return address
13366
+
13367
+ const resolvedAddress = await fromEnsNameToAddress(address);
13368
+ if(resolvedAddress) return resolvedAddress
13369
+ throw new ValidationError("Invalid address")
13370
+ };
13365
13371
 
13366
13372
  var fromEnsNameToAddress$1 = {
13367
- fromEnsNameToAddress
13373
+ validateAndGetAddress
13368
13374
  };
13369
13375
 
13370
13376
  async function handleScanRequest({
@@ -13385,12 +13391,8 @@ async function handleScanRequest({
13385
13391
  GNOSIS: { url: 'https://api.gnosisscan.io/api', apiKeyName: SERVICES_API_KEY.Gnosisscan }
13386
13392
  };
13387
13393
 
13388
- if (!isAddress$1.isAddress(address) && type !== 'gas') {
13389
- const ensName = address;
13390
- address = await fromEnsNameToAddress$1.fromEnsNameToAddress(address);
13391
- if (!address) {
13392
- throw new EnsError(ensName)
13393
- }
13394
+ if (type !== 'gas') {
13395
+ address = await fromEnsNameToAddress$1.validateAndGetAddress(address);
13394
13396
  }
13395
13397
 
13396
13398
  const apiInfo = API_INFO_MAP[functionName];
@@ -17908,14 +17910,7 @@ async function BLOCKSCOUT() {
17908
17910
  startTimestamp ?? Math.floor((Date.now() - 30 * 24 * 3600 * 1000) / 1000);
17909
17911
  const endTs = endTimestamp;
17910
17912
 
17911
- let resolvedAddress = address;
17912
- if (!isAddress$1.isAddress(resolvedAddress)) {
17913
- const ensName = resolvedAddress;
17914
- resolvedAddress = await fromEnsNameToAddress$1.fromEnsNameToAddress(ensName);
17915
- if (!resolvedAddress) {
17916
- throw new EnsError(ensName)
17917
- }
17918
- }
17913
+ const resolvedAddress = await fromEnsNameToAddress$1.validateAndGetAddress(address);
17919
17914
 
17920
17915
  const hostname = BLOCKSCOUT_CHAINS_MAP[chain];
17921
17916
 
@@ -18249,10 +18244,8 @@ async function EOA() {
18249
18244
  if (isAddress$1.isAddress(inp)) {
18250
18245
  ADDRESS_MAP[inp.toLowerCase()] = null;
18251
18246
  } else {
18252
- const ens = inp;
18253
- const resolved = await fromEnsNameToAddress$1.fromEnsNameToAddress(ens);
18254
- if (!resolved) throw new EnsError(ens)
18255
- ADDRESS_MAP[resolved.toLowerCase()] = ens;
18247
+ const _address = await fromEnsNameToAddress$1.validateAndGetAddress(inp);
18248
+ ADDRESS_MAP[_address.toLowerCase()] = _address;
18256
18249
  }
18257
18250
  }
18258
18251
  const ADDRS = Object.keys(ADDRESS_MAP);
@@ -18334,12 +18327,10 @@ async function SAFE() {
18334
18327
  const chainId = SAFE_CHAIN_MAP[chain];
18335
18328
  if (!chainId) throw new ValidationError(`Invalid chain: ${chain}`)
18336
18329
 
18337
- let resolved = address;
18338
- if (!isAddress$1.isAddress(resolved)) {
18339
- const ens = resolved;
18340
- resolved = await fromEnsNameToAddress$1.fromEnsNameToAddress(ens);
18341
- if (!resolved) throw new EnsError(ens)
18342
- }
18330
+
18331
+
18332
+
18333
+ const resolved = await fromEnsNameToAddress$1.validateAndGetAddress(address);
18343
18334
 
18344
18335
 
18345
18336
  const url = `https://api.safe.global/tx-service/${chainId}/api/v2/safes/${resolved}/multisig-transactions?limit=${limit}&offset=${offset}`;
package/lib/esm/index.mjs CHANGED
@@ -13187,44 +13187,43 @@ class InvalidApiKeyError extends Error {
13187
13187
  }
13188
13188
  }
13189
13189
 
13190
- const stagingFileverseProxyUrl = "https://staging-api-proxy-ca4268d7d581.herokuapp.com/proxy";
13191
- const productionFileverseProxyUrl = `${process.env.NEXT_PUBLIC_PROXY_BASE_URL}/proxy`;
13190
+ const fileverseProxyUrl = `${process.env.NEXT_PUBLIC_PROXY_BASE_URL}/proxy`;
13192
13191
  // Proxy map configuration
13193
13192
  const PROXY_MAP = {
13194
13193
  Etherscan: {
13195
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13194
+ url: fileverseProxyUrl,
13196
13195
  removeParams: ['apikey']
13197
13196
  },
13198
13197
  Basescan: {
13199
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13198
+ url: fileverseProxyUrl,
13200
13199
  removeParams: ['apikey']
13201
13200
  },
13202
13201
  Gnosisscan: {
13203
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13202
+ url: fileverseProxyUrl,
13204
13203
  removeParams: ['apikey']
13205
13204
  },
13206
13205
  Coingecko: {
13207
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13206
+ url: fileverseProxyUrl,
13208
13207
  removeParams: ['apikey']
13209
13208
  },
13210
13209
  Firefly: {
13211
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13210
+ url: fileverseProxyUrl,
13212
13211
  removeParams: ['apikey']
13213
13212
  },
13214
13213
  Neynar: {
13215
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13214
+ url: fileverseProxyUrl,
13216
13215
  removeParams: ['api_key']
13217
13216
  },
13218
13217
  Safe: {
13219
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13218
+ url: fileverseProxyUrl,
13220
13219
  removeParams: ['api_key']
13221
13220
  },
13222
13221
  Defillama: {
13223
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13222
+ url: fileverseProxyUrl,
13224
13223
  removeParams: ['api_key']
13225
13224
  },
13226
13225
  GnosisPay: {
13227
- url: productionFileverseProxyUrl || stagingFileverseProxyUrl,
13226
+ url: fileverseProxyUrl,
13228
13227
  removeParams: ['api_key']
13229
13228
  },
13230
13229
  // Add more services as needed. It can be direct url instead of ENV variable
@@ -13360,9 +13359,16 @@ async function fromEnsNameToAddress(name) {
13360
13359
  return null
13361
13360
  }
13362
13361
  }
13362
+ const validateAndGetAddress = async (address) => {
13363
+ if(isAddress$1.isAddress(address)) return address
13364
+
13365
+ const resolvedAddress = await fromEnsNameToAddress(address);
13366
+ if(resolvedAddress) return resolvedAddress
13367
+ throw new ValidationError("Invalid address")
13368
+ };
13363
13369
 
13364
13370
  var fromEnsNameToAddress$1 = {
13365
- fromEnsNameToAddress
13371
+ validateAndGetAddress
13366
13372
  };
13367
13373
 
13368
13374
  async function handleScanRequest({
@@ -13383,12 +13389,8 @@ async function handleScanRequest({
13383
13389
  GNOSIS: { url: 'https://api.gnosisscan.io/api', apiKeyName: SERVICES_API_KEY.Gnosisscan }
13384
13390
  };
13385
13391
 
13386
- if (!isAddress$1.isAddress(address) && type !== 'gas') {
13387
- const ensName = address;
13388
- address = await fromEnsNameToAddress$1.fromEnsNameToAddress(address);
13389
- if (!address) {
13390
- throw new EnsError(ensName)
13391
- }
13392
+ if (type !== 'gas') {
13393
+ address = await fromEnsNameToAddress$1.validateAndGetAddress(address);
13392
13394
  }
13393
13395
 
13394
13396
  const apiInfo = API_INFO_MAP[functionName];
@@ -17906,14 +17908,7 @@ async function BLOCKSCOUT() {
17906
17908
  startTimestamp ?? Math.floor((Date.now() - 30 * 24 * 3600 * 1000) / 1000);
17907
17909
  const endTs = endTimestamp;
17908
17910
 
17909
- let resolvedAddress = address;
17910
- if (!isAddress$1.isAddress(resolvedAddress)) {
17911
- const ensName = resolvedAddress;
17912
- resolvedAddress = await fromEnsNameToAddress$1.fromEnsNameToAddress(ensName);
17913
- if (!resolvedAddress) {
17914
- throw new EnsError(ensName)
17915
- }
17916
- }
17911
+ const resolvedAddress = await fromEnsNameToAddress$1.validateAndGetAddress(address);
17917
17912
 
17918
17913
  const hostname = BLOCKSCOUT_CHAINS_MAP[chain];
17919
17914
 
@@ -18247,10 +18242,8 @@ async function EOA() {
18247
18242
  if (isAddress$1.isAddress(inp)) {
18248
18243
  ADDRESS_MAP[inp.toLowerCase()] = null;
18249
18244
  } else {
18250
- const ens = inp;
18251
- const resolved = await fromEnsNameToAddress$1.fromEnsNameToAddress(ens);
18252
- if (!resolved) throw new EnsError(ens)
18253
- ADDRESS_MAP[resolved.toLowerCase()] = ens;
18245
+ const _address = await fromEnsNameToAddress$1.validateAndGetAddress(inp);
18246
+ ADDRESS_MAP[_address.toLowerCase()] = _address;
18254
18247
  }
18255
18248
  }
18256
18249
  const ADDRS = Object.keys(ADDRESS_MAP);
@@ -18332,12 +18325,10 @@ async function SAFE() {
18332
18325
  const chainId = SAFE_CHAIN_MAP[chain];
18333
18326
  if (!chainId) throw new ValidationError(`Invalid chain: ${chain}`)
18334
18327
 
18335
- let resolved = address;
18336
- if (!isAddress$1.isAddress(resolved)) {
18337
- const ens = resolved;
18338
- resolved = await fromEnsNameToAddress$1.fromEnsNameToAddress(ens);
18339
- if (!resolved) throw new EnsError(ens)
18340
- }
18328
+
18329
+
18330
+
18331
+ const resolved = await fromEnsNameToAddress$1.validateAndGetAddress(address);
18341
18332
 
18342
18333
 
18343
18334
  const url = `https://api.safe.global/tx-service/${chainId}/api/v2/safes/${resolved}/multisig-transactions?limit=${limit}&offset=${offset}`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/formulajs",
3
- "version": "4.4.11-mod-76",
3
+ "version": "4.4.11-mod-78",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -57,7 +57,8 @@
57
57
  "test:coverage": "c8 mocha --recursive",
58
58
  "test:watch": "mocha --recursive --watch --parallel --reporter min",
59
59
  "types": "tsc",
60
- "test:crypto": "npx mocha 'test/crypto-functions/**/*.js' --recursive"
60
+ "test:crypto": "npx mocha 'test/crypto-functions/**/*.js' --recursive",
61
+ "prepare": "husky install"
61
62
  },
62
63
  "dependencies": {
63
64
  "bessel": "^1.0.2",
@@ -77,6 +78,7 @@
77
78
  "chai": "^5.2.0",
78
79
  "eslint": "^9.26.0",
79
80
  "globals": "^16.1.0",
81
+ "husky": "^9.1.7",
80
82
  "jsdom": "^26.1.0",
81
83
  "mocha": "^11.7.1",
82
84
  "mochawesome": "^7.1.3",