@fileverse-dev/formulajs 4.4.11-mod-14 → 4.4.11-mod-15-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
@@ -5182,6 +5182,11 @@ Z.TEST = (array, x, sigma) => {
5182
5182
  return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true)
5183
5183
  };
5184
5184
 
5185
+ function PnL(){
5186
+ console.log({ARR_ARGS: argsToArray(arguments), arguments});
5187
+ return 12
5188
+ }
5189
+
5185
5190
  /**
5186
5191
  * Returns the absolute value of a number.
5187
5192
  *
@@ -12951,7 +12956,9 @@ function SWITCH() {
12951
12956
 
12952
12957
  const SERVICE_API_KEY = {
12953
12958
  Etherscan: "ETHERSCAN_API_KEY",
12954
- Coingecko: "COINGECKO_API_KEY"
12959
+ Coingecko: "COINGECKO_API_KEY",
12960
+ Gnosisscan: 'GNOSISSSCAN',
12961
+ BASESCAN: 'Basescan'
12955
12962
  };
12956
12963
 
12957
12964
  async function ETHERSCAN(address, page, offset) {
@@ -13013,6 +13020,59 @@ async function GETPRICE(token, vs_currencies) {
13013
13020
  }
13014
13021
  }
13015
13022
 
13023
+ async function OX(address, categories, chain, startTime, endTime) {
13024
+ const API_KEYS = {
13025
+ ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13026
+ gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
13027
+ base: window.localStorage.getItem(SERVICE_API_KEY.Basescan),
13028
+ };
13029
+
13030
+ const CHAIN_API_BASE = {
13031
+ ethereum: 'https://api.etherscan.io/api',
13032
+ gnosis: 'https://api.gnosisscan.io/api',
13033
+ base: 'https://api.basescan.org/api',
13034
+ };
13035
+
13036
+ const apiKey = API_KEYS[chain];
13037
+ const baseUrl = CHAIN_API_BASE[chain];
13038
+
13039
+ const timeToBlock = async (timestamp) => {
13040
+ try {
13041
+ const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13042
+ const res = await fetch(url);
13043
+ const json = await res.json();
13044
+ return parseInt(json.result);
13045
+ } catch {
13046
+ return 0;
13047
+ }
13048
+ };
13049
+
13050
+ const startBlock = await timeToBlock(startTime);
13051
+ const endBlock = await timeToBlock(endTime);
13052
+
13053
+ let action = '';
13054
+ if (categories === 'txns') action = 'txlist';
13055
+ else if (categories === 'balances') action = 'balance';
13056
+ else if (categories === 'portfolio') action = 'tokentx';
13057
+
13058
+ let url = `${baseUrl}?module=account&action=${action}&address=${address}&startblock=${startBlock}&endblock=${endBlock}&sort=asc&apikey=${apiKey}`;
13059
+
13060
+ try {
13061
+ const response = await fetch(url);
13062
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13063
+ const json = await response.json();
13064
+ if (json.result?.includes?.("Invalid API Key")) {
13065
+ return `${SERVICE_API_KEY[chain.charAt(0).toUpperCase() + chain.slice(1)]}_MISSING`;
13066
+ }
13067
+
13068
+ console.log({ANSWER: json.result });
13069
+ return json.result;
13070
+ } catch (e) {
13071
+ return "ERROR IN FETCHING";
13072
+ }
13073
+ }
13074
+
13075
+
13016
13076
  async function FLVURL(token, vs_currencies) {
13017
13077
  return new Promise((resolve) => {
13018
13078
  setTimeout(() => {
@@ -13292,6 +13352,7 @@ exports.OCT2DEC = OCT2DEC;
13292
13352
  exports.OCT2HEX = OCT2HEX;
13293
13353
  exports.ODD = ODD;
13294
13354
  exports.OR = OR;
13355
+ exports.OX = OX;
13295
13356
  exports.PDURATION = PDURATION;
13296
13357
  exports.PEARSON = PEARSON;
13297
13358
  exports.PERCENTILE = PERCENTILE;
@@ -13314,6 +13375,7 @@ exports.PROB = PROB;
13314
13375
  exports.PRODUCT = PRODUCT;
13315
13376
  exports.PROPER = PROPER;
13316
13377
  exports.PV = PV;
13378
+ exports.PnL = PnL;
13317
13379
  exports.QUARTILE = QUARTILE;
13318
13380
  exports.QUARTILEEXC = QUARTILEEXC;
13319
13381
  exports.QUARTILEINC = QUARTILEINC;
@@ -1,7 +1,9 @@
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
+ Gnosisscan: "GNOSISSSCAN",
6
+ BASESCAN: "Basescan"
5
7
  };
6
8
  var FUNCTION_LOCALE = [
7
9
  {
@@ -38,6 +40,51 @@ var FUNCTION_LOCALE = [
38
40
  }
39
41
  ]
40
42
  },
43
+ {
44
+ API_KEY: SERVICE_API_KEY.Etherscan,
45
+ LOGO: "https://raw.githubusercontent.com/mritunjayz/github-storage/refs/heads/main/ox.png",
46
+ // Replace with actual logo if available
47
+ BRAND_COLOR: "#E5E5E5",
48
+ BRAND_SECONDARY_COLOR: "#1A1A1A",
49
+ n: "Ox",
50
+ t: 20,
51
+ d: "Fetches address data like transactions, balances, or portfolio info from multiple supported chains.",
52
+ a: "Dynamically queries blockchain data such as transactions, balances, or token portfolio by resolving time ranges to block ranges.",
53
+ p: [
54
+ {
55
+ name: "address",
56
+ detail: "The address to query, in hexadecimal format.",
57
+ example: `"0xc5102fE9359FD9a28f877a67E36B0F050d81a3CC"`,
58
+ require: "m"
59
+ },
60
+ {
61
+ name: "categories",
62
+ detail: `Type of data to fetch. Supported values: "txns", "balances", "portfolio".`,
63
+ example: `"txns"`,
64
+ require: "m"
65
+ },
66
+ {
67
+ name: "chain",
68
+ detail: `Blockchain network to query. Supported values: "ethereum", "gnosis", "base".`,
69
+ example: `"ethereum"`,
70
+ require: "m"
71
+ },
72
+ {
73
+ name: "startTime",
74
+ detail: "Start time in UNIX timestamp (seconds). Will be converted to a starting block.",
75
+ example: "1680300000",
76
+ require: "m",
77
+ type: "rangenumber"
78
+ },
79
+ {
80
+ name: "endTime",
81
+ detail: "End time in UNIX timestamp (seconds). Will be converted to an ending block.",
82
+ example: "1680900000",
83
+ require: "m",
84
+ type: "rangenumber"
85
+ }
86
+ ]
87
+ },
41
88
  {
42
89
  n: "GETPRICE",
43
90
  t: 20,
@@ -78,6 +125,26 @@ var FUNCTION_LOCALE = [
78
125
  require: "m"
79
126
  }
80
127
  ]
128
+ },
129
+ {
130
+ n: "PnL",
131
+ t: 20,
132
+ d: "Query the prices of one or more coins by using their unique Coin API IDs, symbols, or names.",
133
+ a: "Query the prices of one or more coins by using their unique Coin API IDs, symbols, or names.",
134
+ p: [
135
+ {
136
+ name: "token",
137
+ detail: "coins' IDs, comma-separated if querying more than 1 coin.",
138
+ example: `"bitcoin"`,
139
+ require: "m"
140
+ },
141
+ {
142
+ name: "vs_currency",
143
+ detail: "target currency of coins, comma-separated if querying more than 1 currency",
144
+ example: `"usd"`,
145
+ require: "m"
146
+ }
147
+ ]
81
148
  }
82
149
  ];
83
150
  export {
package/lib/esm/index.mjs CHANGED
@@ -5180,6 +5180,11 @@ Z.TEST = (array, x, sigma) => {
5180
5180
  return 1 - NORM.S.DIST((AVERAGE(array) - x) / (sigma / Math.sqrt(n)), true)
5181
5181
  };
5182
5182
 
5183
+ function PnL(){
5184
+ console.log({ARR_ARGS: argsToArray(arguments), arguments});
5185
+ return 12
5186
+ }
5187
+
5183
5188
  /**
5184
5189
  * Returns the absolute value of a number.
5185
5190
  *
@@ -12949,7 +12954,9 @@ function SWITCH() {
12949
12954
 
12950
12955
  const SERVICE_API_KEY = {
12951
12956
  Etherscan: "ETHERSCAN_API_KEY",
12952
- Coingecko: "COINGECKO_API_KEY"
12957
+ Coingecko: "COINGECKO_API_KEY",
12958
+ Gnosisscan: 'GNOSISSSCAN',
12959
+ BASESCAN: 'Basescan'
12953
12960
  };
12954
12961
 
12955
12962
  async function ETHERSCAN(address, page, offset) {
@@ -13011,6 +13018,59 @@ async function GETPRICE(token, vs_currencies) {
13011
13018
  }
13012
13019
  }
13013
13020
 
13021
+ async function OX(address, categories, chain, startTime, endTime) {
13022
+ const API_KEYS = {
13023
+ ethereum: window.localStorage.getItem(SERVICE_API_KEY.Etherscan),
13024
+ gnosis: window.localStorage.getItem(SERVICE_API_KEY.Gnosisscan),
13025
+ base: window.localStorage.getItem(SERVICE_API_KEY.Basescan),
13026
+ };
13027
+
13028
+ const CHAIN_API_BASE = {
13029
+ ethereum: 'https://api.etherscan.io/api',
13030
+ gnosis: 'https://api.gnosisscan.io/api',
13031
+ base: 'https://api.basescan.org/api',
13032
+ };
13033
+
13034
+ const apiKey = API_KEYS[chain];
13035
+ const baseUrl = CHAIN_API_BASE[chain];
13036
+
13037
+ const timeToBlock = async (timestamp) => {
13038
+ try {
13039
+ const url = `${baseUrl}?module=block&action=getblocknobytime&timestamp=${timestamp}&closest=before&apikey=${apiKey}`;
13040
+ const res = await fetch(url);
13041
+ const json = await res.json();
13042
+ return parseInt(json.result);
13043
+ } catch {
13044
+ return 0;
13045
+ }
13046
+ };
13047
+
13048
+ const startBlock = await timeToBlock(startTime);
13049
+ const endBlock = await timeToBlock(endTime);
13050
+
13051
+ let action = '';
13052
+ if (categories === 'txns') action = 'txlist';
13053
+ else if (categories === 'balances') action = 'balance';
13054
+ else if (categories === 'portfolio') action = 'tokentx';
13055
+
13056
+ let url = `${baseUrl}?module=account&action=${action}&address=${address}&startblock=${startBlock}&endblock=${endBlock}&sort=asc&apikey=${apiKey}`;
13057
+
13058
+ try {
13059
+ const response = await fetch(url);
13060
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13061
+ const json = await response.json();
13062
+ if (json.result?.includes?.("Invalid API Key")) {
13063
+ return `${SERVICE_API_KEY[chain.charAt(0).toUpperCase() + chain.slice(1)]}_MISSING`;
13064
+ }
13065
+
13066
+ console.log({ANSWER: json.result });
13067
+ return json.result;
13068
+ } catch (e) {
13069
+ return "ERROR IN FETCHING";
13070
+ }
13071
+ }
13072
+
13073
+
13014
13074
  async function FLVURL(token, vs_currencies) {
13015
13075
  return new Promise((resolve) => {
13016
13076
  setTimeout(() => {
@@ -13021,4 +13081,4 @@ async function FLVURL(token, vs_currencies) {
13021
13081
 
13022
13082
  const utils = { errors, symbols, date };
13023
13083
 
13024
- 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, PDURATION, PEARSON, PERCENTILE, PERCENTILEEXC, PERCENTILEINC, PERCENTRANK, PERCENTRANKEXC, PERCENTRANKINC, PERMUT, PERMUTATIONA, PHI, PI, PMT, 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 };
13084
+ 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, POISSON, POISSONDIST, POWER, PPMT, PRICEDISC, PROB, PRODUCT, PROPER, PV, PnL, 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fileverse-dev/formulajs",
3
- "version": "4.4.11-mod-14",
3
+ "version": "4.4.11-mod-15-patch-1",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -3001,6 +3001,7 @@ export function ODD(number: any): number | Error;
3001
3001
  * @returns
3002
3002
  */
3003
3003
  export function OR(...args: any[]): any;
3004
+ export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3004
3005
  /**
3005
3006
  * Returns the number of periods required by an investment to reach a specified value.
3006
3007
  *
@@ -3261,6 +3262,7 @@ export function PROPER(text: any): any;
3261
3262
  * @returns
3262
3263
  */
3263
3264
  export function PV(rate: any, per: any, pmt: any, fv: any, type: any): number | Error;
3265
+ export function PnL(...args: any[]): number;
3264
3266
  export namespace QUARTILE {
3265
3267
  /**
3266
3268
  * Returns the quartile of the data set, based on percentile values from 0..1, exclusive.
@@ -3001,6 +3001,7 @@ export function ODD(number: any): number | Error;
3001
3001
  * @returns
3002
3002
  */
3003
3003
  export function OR(...args: any[]): any;
3004
+ export function OX(address: any, categories: any, chain: any, startTime: any, endTime: any): Promise<any>;
3004
3005
  /**
3005
3006
  * Returns the number of periods required by an investment to reach a specified value.
3006
3007
  *
@@ -3261,6 +3262,7 @@ export function PROPER(text: any): any;
3261
3262
  * @returns
3262
3263
  */
3263
3264
  export function PV(rate: any, per: any, pmt: any, fv: any, type: any): number | Error;
3265
+ export function PnL(...args: any[]): number;
3264
3266
  export namespace QUARTILE {
3265
3267
  /**
3266
3268
  * Returns the quartile of the data set, based on percentile values from 0..1, exclusive.