@fileverse-dev/formulajs 4.4.11-mod-21-patch-1 → 4.4.11-mod-21-patch-2

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
@@ -13080,13 +13080,19 @@ function SWITCH() {
13080
13080
  const SERVICE_API_KEY = {
13081
13081
  Etherscan: "ETHERSCAN_API_KEY",
13082
13082
  Coingecko: "COINGECKO_API_KEY",
13083
+ Safe: "SAFE_API_KEY",
13083
13084
  };
13084
13085
 
13085
13086
  const CHAIN_ID_MAP = {
13086
- ethereum: 1,
13087
- gnosis: 100,
13088
- base: 8453,
13089
- };
13087
+ ethereum: 1,
13088
+ gnosis: 100,
13089
+ base: 8453,
13090
+ };
13091
+
13092
+ const SAFE_CHAIN_MAP = {
13093
+ ethereum: 'eth',
13094
+ gnosis: 'gno',
13095
+ };
13090
13096
 
13091
13097
  const ERROR_MESSAGES_FLAG = {
13092
13098
  INVALID_API_KEY: '_MISSING',
@@ -13182,12 +13188,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13182
13188
 
13183
13189
  let action = '';
13184
13190
  if (categories === 'txns') action = 'account.txlist';
13185
- else {action = 'account.balance';} let timeQuery = '';
13186
- if(!isNaN(startTime) && !isNaN(endTime)){
13187
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13188
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13191
+ else { action = 'account.balance'; } let timeQuery = '';
13192
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13193
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13194
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13189
13195
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13190
- } else if(categories === 'balance') {
13196
+ } else if (categories === 'balance') {
13191
13197
  timeQuery = `&tag=latest`;
13192
13198
  } else {
13193
13199
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13217,11 +13223,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13217
13223
  async function FLVURL(token, vs_currencies) {
13218
13224
  return new Promise((resolve) => {
13219
13225
  setTimeout(() => {
13220
- resolve([{"Yoo": "gotcha"}]);
13226
+ resolve([{ "Yoo": "gotcha" }]);
13221
13227
  }, 10000);
13222
13228
  });
13223
13229
  }
13224
13230
 
13231
+ async function SAFE(address, utility, chain, limit, offset) {
13232
+
13233
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13234
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13235
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13236
+
13237
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13238
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13239
+
13240
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13241
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13242
+
13243
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13244
+ try {
13245
+ const response = await fetch(url,
13246
+ {
13247
+ headers: {
13248
+ 'Authorization': `Bearer ${apiKey}`,
13249
+ },
13250
+ }
13251
+ );
13252
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13253
+ const json = await response.json();
13254
+ if (!Array.isArray(json.results)) {
13255
+ return "INVALID API RESPONSE";
13256
+ }
13257
+ // remove nested structure from the response
13258
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13259
+ } catch (e) {
13260
+ console.log(e);
13261
+ return "ERROR IN FETCHING";
13262
+ }
13263
+ }
13264
+
13225
13265
  const utils = { errors, symbols, date };
13226
13266
 
13227
13267
  exports.ABS = ABS;
@@ -13541,6 +13581,7 @@ exports.ROW = ROW;
13541
13581
  exports.ROWS = ROWS;
13542
13582
  exports.RRI = RRI;
13543
13583
  exports.RSQ = RSQ;
13584
+ exports.SAFE = SAFE;
13544
13585
  exports.SEARCH = SEARCH;
13545
13586
  exports.SEC = SEC;
13546
13587
  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
  {
@@ -123,6 +124,46 @@ var FUNCTION_LOCALE = [
123
124
  }
124
125
  ]
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
+ ]
166
+ },
126
167
  {
127
168
  n: "PNL",
128
169
  t: 20,
package/lib/esm/index.mjs CHANGED
@@ -13078,13 +13078,19 @@ function SWITCH() {
13078
13078
  const SERVICE_API_KEY = {
13079
13079
  Etherscan: "ETHERSCAN_API_KEY",
13080
13080
  Coingecko: "COINGECKO_API_KEY",
13081
+ Safe: "SAFE_API_KEY",
13081
13082
  };
13082
13083
 
13083
13084
  const CHAIN_ID_MAP = {
13084
- ethereum: 1,
13085
- gnosis: 100,
13086
- base: 8453,
13087
- };
13085
+ ethereum: 1,
13086
+ gnosis: 100,
13087
+ base: 8453,
13088
+ };
13089
+
13090
+ const SAFE_CHAIN_MAP = {
13091
+ ethereum: 'eth',
13092
+ gnosis: 'gno',
13093
+ };
13088
13094
 
13089
13095
  const ERROR_MESSAGES_FLAG = {
13090
13096
  INVALID_API_KEY: '_MISSING',
@@ -13180,12 +13186,12 @@ async function EOA(address, categories, chain, startTime, endTime) {
13180
13186
 
13181
13187
  let action = '';
13182
13188
  if (categories === 'txns') action = 'account.txlist';
13183
- else {action = 'account.balance';} let timeQuery = '';
13184
- if(!isNaN(startTime) && !isNaN(endTime)){
13185
- const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13186
- const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13189
+ else { action = 'account.balance'; } let timeQuery = '';
13190
+ if (!isNaN(startTime) && !isNaN(endTime)) {
13191
+ const startBlock = await fromTimeStampToBlock(startTime, chain, apiKey);
13192
+ const endBlock = await fromTimeStampToBlock(endTime, chain, apiKey);
13187
13193
  timeQuery = `&startblock=${startBlock}&endblock=${endBlock}`;
13188
- } else if(categories === 'balance') {
13194
+ } else if (categories === 'balance') {
13189
13195
  timeQuery = `&tag=latest`;
13190
13196
  } else {
13191
13197
  throw new Error('Start and End Time is required for querying transaction list ')
@@ -13215,11 +13221,45 @@ async function EOA(address, categories, chain, startTime, endTime) {
13215
13221
  async function FLVURL(token, vs_currencies) {
13216
13222
  return new Promise((resolve) => {
13217
13223
  setTimeout(() => {
13218
- resolve([{"Yoo": "gotcha"}]);
13224
+ resolve([{ "Yoo": "gotcha" }]);
13219
13225
  }, 10000);
13220
13226
  });
13221
13227
  }
13222
13228
 
13229
+ async function SAFE(address, utility, chain, limit, offset) {
13230
+
13231
+ if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
13232
+ if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
13233
+ if (utility !== 'txns') return 'UTILITY IS NOT SUPPORTED';
13234
+
13235
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Safe);
13236
+ const chainIdentifier = SAFE_CHAIN_MAP[chain];
13237
+
13238
+ if (!apiKey) return `${SERVICE_API_KEY.Safe}_MISSING`;
13239
+ if (!chainIdentifier) return 'CHAIN IS NOT SUPPORTED';
13240
+
13241
+ const url = `https://api.safe.global/tx-service/${chainIdentifier}/api/v2/safes/${address}/multisig-transactions?limit=${limit}&offset=${offset}`;
13242
+ try {
13243
+ const response = await fetch(url,
13244
+ {
13245
+ headers: {
13246
+ 'Authorization': `Bearer ${apiKey}`,
13247
+ },
13248
+ }
13249
+ );
13250
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
13251
+ const json = await response.json();
13252
+ if (!Array.isArray(json.results)) {
13253
+ return "INVALID API RESPONSE";
13254
+ }
13255
+ // remove nested structure from the response
13256
+ return json.results.map(({ confirmations, dataDecoded, ...rest }) => rest);
13257
+ } catch (e) {
13258
+ console.log(e);
13259
+ return "ERROR IN FETCHING";
13260
+ }
13261
+ }
13262
+
13223
13263
  const utils = { errors, symbols, date };
13224
13264
 
13225
- 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, COINGECKO, 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, 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, ISDATE, 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, NETWORKDAYS_INTL, 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, WORKDAY_INTL, XIRR, XNPV, XOR, YEAR, YEARFRAC, Z, ZTEST, utils };
13265
+ 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, COINGECKO, 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, 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, ISDATE, 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, NETWORKDAYS_INTL, 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, 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, WORKDAY_INTL, 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-21-patch-1",
3
+ "version": "4.4.11-mod-21-patch-2",
4
4
  "description": "JavaScript implementation of most Microsoft Excel formula functions",
5
5
  "author": "Formulajs",
6
6
  "publishConfig": {
@@ -3528,6 +3528,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3528
3528
  * @returns
3529
3529
  */
3530
3530
  export function RSQ(known_y: any, known_x: any): number | Error;
3531
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3531
3532
  /**
3532
3533
  * Finds one text value within another (not case-sensitive)
3533
3534
  *
@@ -3528,6 +3528,7 @@ export function RRI(nper: any, pv: any, fv: any): number | Error;
3528
3528
  * @returns
3529
3529
  */
3530
3530
  export function RSQ(known_y: any, known_x: any): number | Error;
3531
+ export function SAFE(address: any, utility: any, chain: any, limit: any, offset: any): Promise<any>;
3531
3532
  /**
3532
3533
  * Finds one text value within another (not case-sensitive)
3533
3534
  *