@fileverse-dev/formulajs 4.4.11-mod-19 → 4.4.11-mod-18-safe-patch-1

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
@@ -13024,13 +13024,19 @@ function SWITCH() {
13024
13024
  const SERVICE_API_KEY = {
13025
13025
  Etherscan: "ETHERSCAN_API_KEY",
13026
13026
  Coingecko: "COINGECKO_API_KEY",
13027
+ Safe: "SAFE_API_KEY",
13027
13028
  };
13028
13029
 
13029
13030
  const CHAIN_ID_MAP = {
13030
- ethereum: 1,
13031
- gnosis: 100,
13032
- base: 8453,
13033
- };
13031
+ ethereum: 1,
13032
+ gnosis: 100,
13033
+ base: 8453,
13034
+ };
13035
+
13036
+ const SAFE_CHAIN_MAP = {
13037
+ ethereum: 'eth',
13038
+ gnosis: 'gno',
13039
+ };
13034
13040
 
13035
13041
  const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13036
13042
  if(!timestamp || !chain || !apiKey) return
@@ -13101,7 +13107,7 @@ async function GETPRICE(token, vs_currencies) {
13101
13107
  }
13102
13108
  }
13103
13109
 
13104
- async function EOA(address, categories, chain, startTime, endTime) {
13110
+ async function OX(address, categories, chain, startTime, endTime) {
13105
13111
  const API_KEYS = {
13106
13112
  ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13107
13113
  gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
@@ -13113,12 +13119,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13113
13119
 
13114
13120
  let action = '';
13115
13121
  if (categories === 'txns') action = 'account.txlist';
13116
- else {action = 'account.balance';} let timeQuery = '';
13117
- if(!isNaN(startTime) && !isNaN(endTime)){
13118
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13119
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13122
+ else { action = 'account.balance'; } let timeQuery = '';
13123
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13124
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13125
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13120
13126
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13121
- } else if(categories === 'balance') {
13127
+ } else if (categories === 'balance') {
13122
13128
  timeQuery = `&tag=latest`;
13123
13129
  } else {
13124
13130
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13142,11 +13148,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13142
13148
  async function FLVURL(token, vs_currencies) {
13143
13149
  return new Promise((resolve) => {
13144
13150
  setTimeout(() => {
13145
- resolve([{"Yoo": "gotcha"}]);
13151
+ resolve([{ "Yoo": "gotcha" }]);
13146
13152
  }, 10000);
13147
13153
  });
13148
13154
  }
13149
13155
 
13156
+ async function SAFE(address, utility, chain, limit, offset) {
13157
+
13158
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13159
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13160
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13161
+
13162
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13163
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13164
+
13165
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13166
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13167
+
13168
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13169
+ try {
13170
+ const response = await fetch(url,
13171
+ {
13172
+ headers: {
13173
+ 'Authorization': `Bearer ${apiKey}`,
13174
+ },
13175
+ }
13176
+ );
13177
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13178
+ const json = await response.json();
13179
+ if (!Array.isArray(json.results)) {
13180
+ return "INVALID API RESPONSE";
13181
+ }
13182
+ // remove nested structure from the response
13183
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13184
+ } catch (e) {
13185
+ console.log(e);
13186
+ return "ERROR IN FETCHING";
13187
+ }
13188
+ }
13189
+
13150
13190
  const utils = { errors, symbols, date };
13151
13191
 
13152
13192
  exports.ABS = ABS;
@@ -13261,7 +13301,6 @@ exports.DVAR = DVAR;
13261
13301
  exports.DVARP = DVARP;
13262
13302
  exports.EDATE = EDATE;
13263
13303
  exports.EFFECT = EFFECT;
13264
- exports.EOA = EOA;
13265
13304
  exports.EOMONTH = EOMONTH;
13266
13305
  exports.ERF = ERF;
13267
13306
  exports.ERFC = ERFC;
@@ -13419,6 +13458,7 @@ exports.OCT2DEC = OCT2DEC;
13419
13458
  exports.OCT2HEX = OCT2HEX;
13420
13459
  exports.ODD = ODD;
13421
13460
  exports.OR = OR;
13461
+ exports.OX = OX;
13422
13462
  exports.PDURATION = PDURATION;
13423
13463
  exports.PEARSON = PEARSON;
13424
13464
  exports.PERCENTILE = PERCENTILE;
@@ -13464,6 +13504,7 @@ exports.ROW = ROW;
13464
13504
  exports.ROWS = ROWS;
13465
13505
  exports.RRI = RRI;
13466
13506
  exports.RSQ = RSQ;
13507
+ exports.SAFE = SAFE;
13467
13508
  exports.SEARCH = SEARCH;
13468
13509
  exports.SEC = SEC;
13469
13510
  exports.SECH = SECH;
@@ -1,7 +1,8 @@
1
1
  // src/crypto-constants.js
2
2
  var SERVICE_API_KEY = {
3
3
  Etherscan: "ETHERSCAN_API_KEY",
4
- Coingecko: "COINGECKO_API_KEY"
4
+ Coingecko: "COINGECKO_API_KEY",
5
+ Safe: "SAFE_API_KEY"
5
6
  };
6
7
  var FUNCTION_LOCALE = [
7
8
  {
@@ -43,7 +44,7 @@ var FUNCTION_LOCALE = [
43
44
  LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/1689874988430.jpeg",
44
45
  BRAND_COLOR: "#F6F7F8",
45
46
  BRAND_SECONDARY_COLOR: "#21325B",
46
- n: "EOA",
47
+ n: "0x",
47
48
  t: 20,
48
49
  d: "Fetches address data like transactions, balances, or portfolio info from multiple supported chains.",
49
50
  a: "Dynamically queries blockchain data such as transactions, balances by resolving time ranges to block ranges.",
@@ -122,6 +123,46 @@ var FUNCTION_LOCALE = [
122
123
  require: "m"
123
124
  }
124
125
  ]
126
+ },
127
+ {
128
+ n: "SAFE",
129
+ t: 20,
130
+ d: "Query the list of transactions performed by a Safe address, with optional pagination.",
131
+ a: "Query the list of transactions performed by a Safe address, with optional pagination.",
132
+ p: [
133
+ {
134
+ name: "address",
135
+ detail: "The address to query, in hexadecimal format.",
136
+ example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
137
+ require: "m"
138
+ },
139
+ {
140
+ name: "utility",
141
+ detail: "The utility to query, supported values: 'txns'.",
142
+ example: `"txns"`,
143
+ require: "m"
144
+ },
145
+ {
146
+ name: "chain",
147
+ detail: "The chain to query, supported values: 'ethereum', 'gnosis'.",
148
+ example: `"ethereum"`,
149
+ require: "m"
150
+ },
151
+ {
152
+ name: "limit",
153
+ detail: "The number of transactions to return, default is 100.",
154
+ example: `100`,
155
+ require: "o",
156
+ repeat: "n"
157
+ },
158
+ {
159
+ name: "offset",
160
+ detail: "The number of transactions to skip, default is 0.",
161
+ example: `0`,
162
+ require: "o",
163
+ repeat: "n"
164
+ }
165
+ ]
125
166
  }
126
167
  ];
127
168
  export {
package/lib/esm/index.mjs CHANGED
@@ -13022,13 +13022,19 @@ function SWITCH() {
13022
13022
  const SERVICE_API_KEY = {
13023
13023
  Etherscan: "ETHERSCAN_API_KEY",
13024
13024
  Coingecko: "COINGECKO_API_KEY",
13025
+ Safe: "SAFE_API_KEY",
13025
13026
  };
13026
13027
 
13027
13028
  const CHAIN_ID_MAP = {
13028
- ethereum: 1,
13029
- gnosis: 100,
13030
- base: 8453,
13031
- };
13029
+ ethereum: 1,
13030
+ gnosis: 100,
13031
+ base: 8453,
13032
+ };
13033
+
13034
+ const SAFE_CHAIN_MAP = {
13035
+ ethereum: 'eth',
13036
+ gnosis: 'gno',
13037
+ };
13032
13038
 
13033
13039
  const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
13034
13040
  if(!timestamp || !chain || !apiKey) return
@@ -13099,7 +13105,7 @@ async function GETPRICE(token, vs_currencies) {
13099
13105
  }
13100
13106
  }
13101
13107
 
13102
- async function EOA(address, categories, chain, startTime, endTime) {
13108
+ async function OX(address, categories, chain, startTime, endTime) {
13103
13109
  const API_KEYS = {
13104
13110
  ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13105
13111
  gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
@@ -13111,12 +13117,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13111
13117
 
13112
13118
  let action = '';
13113
13119
  if (categories === 'txns') action = 'account.txlist';
13114
- else {action = 'account.balance';} let timeQuery = '';
13115
- if(!isNaN(startTime) && !isNaN(endTime)){
13116
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13117
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13120
+ else { action = 'account.balance'; } let timeQuery = '';
13121
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13122
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13123
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13118
13124
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13119
- } else if(categories === 'balance') {
13125
+ } else if (categories === 'balance') {
13120
13126
  timeQuery = `&tag=latest`;
13121
13127
  } else {
13122
13128
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13140,11 +13146,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13140
13146
  async function FLVURL(token, vs_currencies) {
13141
13147
  return new Promise((resolve) => {
13142
13148
  setTimeout(() => {
13143
- resolve([{"Yoo": "gotcha"}]);
13149
+ resolve([{ "Yoo": "gotcha" }]);
13144
13150
  }, 10000);
13145
13151
  });
13146
13152
  }
13147
13153
 
13154
+ async function SAFE(address, utility, chain, limit, offset) {
13155
+
13156
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13157
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13158
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13159
+
13160
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13161
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13162
+
13163
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13164
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13165
+
13166
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13167
+ try {
13168
+ const response = await fetch(url,
13169
+ {
13170
+ headers: {
13171
+ 'Authorization': `Bearer ${apiKey}`,
13172
+ },
13173
+ }
13174
+ );
13175
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13176
+ const json = await response.json();
13177
+ if (!Array.isArray(json.results)) {
13178
+ return "INVALID API RESPONSE";
13179
+ }
13180
+ // remove nested structure from the response
13181
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13182
+ } catch (e) {
13183
+ console.log(e);
13184
+ return "ERROR IN FETCHING";
13185
+ }
13186
+ }
13187
+
13148
13188
  const utils = { errors, symbols, date };
13149
13189
 
13150
- export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EFFECT, EOA, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FDIST, FDISTRT, FIND, FINV, FINVRT, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GETPRICE, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
13190
+ export { ABS, ACCRINT, ACOS, ACOSH, ACOT, ACOTH, AGGREGATE, AND, ARABIC, ASIN, ASINH, ATAN, ATAN2, ATANH, AVEDEV, AVERAGE, AVERAGEA, AVERAGEIF, AVERAGEIFS, BASE, BESSELI, BESSELJ, BESSELK, BESSELY, BETA, BETADIST, BETAINV, BIN2DEC, BIN2HEX, BIN2OCT, BINOM, BINOMDIST, BITAND, BITLSHIFT, BITOR, BITRSHIFT, BITXOR, CEILING, CEILINGMATH, CEILINGPRECISE, CHAR, CHIDIST, CHIDISTRT, CHIINV, CHIINVRT, CHISQ, CHITEST, CHOOSE, CLEAN, CODE, COLUMN, COLUMNS, COMBIN, COMBINA, COMPLEX, CONCAT, CONCATENATE, CONFIDENCE, CONVERT, CORREL, COS, COSH, COT, COTH, COUNT, COUNTA, COUNTBLANK, COUNTIF, COUNTIFS, COUPDAYS, COVAR, COVARIANCE, COVARIANCEP, COVARIANCES, CRITBINOM, CSC, CSCH, CUMIPMT, CUMPRINC, DATE, DATEDIF, DATEVALUE, DAVERAGE, DAY, DAYS, DAYS360, DB, DCOUNT, DCOUNTA, DDB, DEC2BIN, DEC2HEX, DEC2OCT, DECIMAL, DEGREES, DELTA, DEVSQ, DGET, DISC, DMAX, DMIN, DOLLAR, DOLLARDE, DOLLARFR, DPRODUCT, DSTDEV, DSTDEVP, DSUM, DVAR, DVARP, EDATE, EFFECT, EOMONTH, ERF, ERFC, ERFCPRECISE, ERFPRECISE, ERROR, ETHERSCAN, EVEN, EXACT, EXP, EXPON, EXPONDIST, F, FACT, FACTDOUBLE, FALSE, FDIST, FDISTRT, FIND, FINV, FINVRT, FISHER, FISHERINV, FIXED, FLOOR, FLOORMATH, FLOORPRECISE, FLVURL, FORECAST, FREQUENCY, FTEST, FV, FVSCHEDULE, GAMMA, GAMMADIST, GAMMAINV, GAMMALN, GAMMALNPRECISE, GAUSS, GCD, GEOMEAN, GESTEP, GETPRICE, GROWTH, HARMEAN, HEX2BIN, HEX2DEC, HEX2OCT, HLOOKUP, HOUR, HYPGEOM, HYPGEOMDIST, IF, IFERROR, IFNA, IFS, IMABS, IMAGINARY, IMARGUMENT, IMCONJUGATE, IMCOS, IMCOSH, IMCOT, IMCSC, IMCSCH, IMDIV, IMEXP, IMLN, IMLOG10, IMLOG2, IMPOWER, IMPRODUCT, IMREAL, IMSEC, IMSECH, IMSIN, IMSINH, IMSQRT, IMSUB, IMSUM, IMTAN, INDEX, INT, INTERCEPT, IPMT, IRR, ISBLANK, ISERR, ISERROR, ISEVEN, ISLOGICAL, ISNA, ISNONTEXT, ISNUMBER, ISO, ISODD, ISOWEEKNUM, ISPMT, ISTEXT, KURT, LARGE, LCM, LEFT, LEN, LINEST, LN, LOG, LOG10, LOGEST, LOGINV, LOGNORM, LOGNORMDIST, LOGNORMINV, LOOKUP, LOWER, MATCH, MAX, MAXA, MAXIFS, MEDIAN, MID, MIN, MINA, MINIFS, MINUTE, MIRR, MMULT, MOD, MODE, MODEMULT, MODESNGL, MONTH, MROUND, MULTINOMIAL, MUNIT, N, NA, NEGBINOM, NEGBINOMDIST, NETWORKDAYS, NETWORKDAYSINTL, NOMINAL, NORM, NORMDIST, NORMINV, NORMSDIST, NORMSINV, NOT, NOW, NPER, NPV, NUMBERVALUE, OCT2BIN, OCT2DEC, OCT2HEX, ODD, OR, OX, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, PNL, POISSON, POISSONDIST, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, QUARTILE, QUARTILEEXC, QUARTILEINC, QUOTIENT, RADIANS, RAND, RANDBETWEEN, RANK, RANKAVG, RANKEQ, RATE, REPLACE, REPT, RIGHT, ROMAN, ROUND, ROUNDDOWN, ROUNDUP, ROW, ROWS, RRI, RSQ, SAFE, SEARCH, SEC, SECH, SECOND, SERIESSUM, SIGN, SIN, SINH, SKEW, SKEWP, SLN, SLOPE, SMALL, SORT, SQRT, SQRTPI, STANDARDIZE, STDEV, STDEVA, STDEVP, STDEVPA, STDEVS, STEYX, SUBSTITUTE, SUBTOTAL, SUM, SUMIF, SUMIFS, SUMPRODUCT, SUMSQ, SUMX2MY2, SUMX2PY2, SUMXMY2, SWITCH, SYD, T, TAN, TANH, TBILLEQ, TBILLPRICE, TBILLYIELD, TDIST, TDISTRT, TEXT, TEXTJOIN, TIME, TIMEVALUE, TINV, TODAY, TRANSPOSE, TREND, TRIM, TRIMMEAN, TRUE, TRUNC, TTEST, TYPE, UNICHAR, UNICODE, UNIQUE, UPPER, VALUE, VAR, VARA, VARP, VARPA, VARS, VLOOKUP, WEEKDAY, WEEKNUM, WEIBULL, WEIBULLDIST, WORKDAY, WORKDAYINTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/formulajs",
3
- "version": "4.4.11-mod-19",
3
+ "version": "4.4.11-mod-18-safe-patch-1",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -1293,7 +1293,6 @@ export function EDATE(start_date: any, months: any): any;
1293
1293
  * @returns
1294
1294
  */
1295
1295
  export function EFFECT(nominal_rate: any, npery: any): number | Error;
1296
- export function EOA(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
1297
1296
  /**
1298
1297
  * Returns the serial number of the last day of the month before or after a specified number of months.
1299
1298
  *
@@ -3002,6 +3001,7 @@ export function ODD(number: any): number | Error;
3002
3001
  * @returns
3003
3002
  */
3004
3003
  export function OR(...args: any[]): any;
3004
+ export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3005
3005
  /**
3006
3006
  * Returns the number of periods required by an investment to reach a specified value.
3007
3007
  *
@@ -3515,6 +3515,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3515
3515
  * @returns
3516
3516
  */
3517
3517
  export function RSQ(known_y: any, known_x: any): number | Error;
3518
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3518
3519
  /**
3519
3520
  * Finds one text value within another (not case-sensitive)
3520
3521
  *
@@ -1293,7 +1293,6 @@ export function EDATE(start_date: any, months: any): any;
1293
1293
  * @returns
1294
1294
  */
1295
1295
  export function EFFECT(nominal_rate: any, npery: any): number | Error;
1296
- export function EOA(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
1297
1296
  /**
1298
1297
  * Returns the serial number of the last day of the month before or after a specified number of months.
1299
1298
  *
@@ -3002,6 +3001,7 @@ export function ODD(number: any): number | Error;
3002
3001
  * @returns
3003
3002
  */
3004
3003
  export function OR(...args: any[]): any;
3004
+ export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3005
3005
  /**
3006
3006
  * Returns the number of periods required by an investment to reach a specified value.
3007
3007
  *
@@ -3515,6 +3515,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3515
3515
  * @returns
3516
3516
  */
3517
3517
  export function RSQ(known_y: any, known_x: any): number | Error;
3518
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3518
3519
  /**
3519
3520
  * Finds one text value within another (not case-sensitive)
3520
3521
  *