@fileverse-dev/fortune-react 1.0.2-mod-96 → 1.0.2-mod-98

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/dist/index.esm.js CHANGED
@@ -1564,7 +1564,9 @@ var InputBox = function InputBox() {
1564
1564
  if (!e) return;
1565
1565
  var kcode = e.keyCode;
1566
1566
  if (!kcode) return;
1567
- setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
1567
+ if (!document.getElementById("luckysheet-formula-search-c")) {
1568
+ setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
1569
+ }
1568
1570
  if (!(kcode >= 112 && kcode <= 123 || kcode <= 46 || kcode === 144 || kcode === 108 || e.ctrlKey || e.altKey || e.shiftKey && (kcode === 37 || kcode === 38 || kcode === 39 || kcode === 40)) || kcode === 8 || kcode === 32 || kcode === 46 || e.ctrlKey && kcode === 86) {
1569
1571
  setContext(function (draftCtx) {
1570
1572
  if ((draftCtx.formulaCache.rangestart || draftCtx.formulaCache.rangedrag_column_start || draftCtx.formulaCache.rangedrag_row_start || israngeseleciton(draftCtx)) && isBlur) return;
package/dist/index.js CHANGED
@@ -1574,7 +1574,9 @@ var InputBox = function InputBox() {
1574
1574
  if (!e) return;
1575
1575
  var kcode = e.keyCode;
1576
1576
  if (!kcode) return;
1577
- setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
1577
+ if (!document.getElementById("luckysheet-formula-search-c")) {
1578
+ setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
1579
+ }
1578
1580
  if (!(kcode >= 112 && kcode <= 123 || kcode <= 46 || kcode === 144 || kcode === 108 || e.ctrlKey || e.altKey || e.shiftKey && (kcode === 37 || kcode === 38 || kcode === 39 || kcode === 40)) || kcode === 8 || kcode === 32 || kcode === 46 || e.ctrlKey && kcode === 86) {
1579
1581
  setContext(function (draftCtx) {
1580
1582
  if ((draftCtx.formulaCache.rangestart || draftCtx.formulaCache.rangedrag_column_start || draftCtx.formulaCache.rangedrag_row_start || fortuneCore.israngeseleciton(draftCtx)) && isBlur) return;
package/dist/index.umd.js CHANGED
@@ -37056,7 +37056,8 @@
37056
37056
  Gnosisscan: "GNOSIS_API_KEY",
37057
37057
  Firefly: "FIRE_FLY_API_KEY",
37058
37058
  GnosisPay: 'GNOSIS_API_KEY',
37059
- Neynar: 'NEYNAR_API_KEY'
37059
+ Neynar: 'NEYNAR_API_KEY',
37060
+ Defillama: 'DEFILLAMA_API_KEY'
37060
37061
  };
37061
37062
 
37062
37063
  const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
@@ -37198,6 +37199,19 @@
37198
37199
  return user && user.fid || null;
37199
37200
  };
37200
37201
 
37202
+ // remove nested structure from the response
37203
+ const removeNestedStructure = (json) => {
37204
+ return json.map(item => {
37205
+ const flat = {};
37206
+ for (const [key, value] of Object.entries(item)) {
37207
+ if (typeof value !== 'object' || value === null) {
37208
+ flat[key] = value;
37209
+ }
37210
+ }
37211
+ return flat;
37212
+ });
37213
+ };
37214
+
37201
37215
  async function FIREFLY() {
37202
37216
  const [platform, contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
37203
37217
  const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
@@ -37257,9 +37271,110 @@
37257
37271
  }
37258
37272
  }
37259
37273
 
37274
+ async function LENS() {
37275
+ const [contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
37276
+ const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
37277
+ if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
37278
+
37279
+ const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
37280
+ const headers = { "x-api-key": API_KEY };
37281
+
37282
+ const typeMap = {
37283
+ posts: "lensid",
37284
+ replies: "lenspostid",
37285
+ };
37286
+
37287
+ const platformType = typeMap[contentType];
37288
+ if (!platformType) return `Lens: ${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
37289
+
37290
+ const query = identifier
37291
+ .split(",")
37292
+ .map(s => s.trim())
37293
+ .filter(Boolean)
37294
+ .join(",");
37295
+
37296
+ const url = new URL(baseUrl);
37297
+ url.searchParams.set("query", query);
37298
+ url.searchParams.set("type", platformType);
37299
+ url.searchParams.set("start", String(start));
37300
+ url.searchParams.set("end", String(end));
37301
+
37302
+ try {
37303
+ const res = await fetch(url.toString(), { headers });
37304
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
37260
37305
 
37306
+ const json = await res.json();
37307
+ if (!Array.isArray(json?.data)) return [];
37261
37308
 
37309
+ return json.data.map(item => {
37310
+ const flat = {};
37311
+ for (const [key, value] of Object.entries(item)) {
37312
+ if (typeof value !== "object" || value === null) {
37313
+ flat[key] = value;
37314
+ }
37315
+ }
37316
+ flat.platform = platform;
37317
+ return flat;
37318
+ });
37262
37319
 
37320
+ } catch (err) {
37321
+ console.error("LENS fetch error:", err);
37322
+ return ERROR_MESSAGES_FLAG.DEFAULT;
37323
+ }
37324
+ }
37325
+
37326
+ async function FARCASTER() {
37327
+ const [contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
37328
+ const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
37329
+ if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
37330
+
37331
+ const baseUrl = "https://openapi.firefly.land/v1/fileverse/fetch";
37332
+ const headers = { "x-api-key": API_KEY };
37333
+
37334
+ const typeMap = {
37335
+ posts: "farcasterid",
37336
+ replies: "farcasterpostid",
37337
+ channels: "farcasterchannels",
37338
+ };
37339
+
37340
+ const platformType = typeMap[contentType];
37341
+ if (!platformType) return `Farcaster: ${ERROR_MESSAGES_FLAG.INVALID_TYPE}`;
37342
+
37343
+ const query = identifier
37344
+ .split(",")
37345
+ .map(s => s.trim())
37346
+ .filter(Boolean)
37347
+ .join(",");
37348
+
37349
+ const url = new URL(baseUrl);
37350
+ url.searchParams.set("query", query);
37351
+ url.searchParams.set("type", platformType);
37352
+ url.searchParams.set("start", String(start));
37353
+ url.searchParams.set("end", String(end));
37354
+
37355
+ try {
37356
+ const res = await fetch(url.toString(), { headers });
37357
+ if (!res.ok) throw new Error(`HTTP ${res.status}`);
37358
+
37359
+ const json = await res.json();
37360
+ if (!Array.isArray(json?.data)) return [];
37361
+
37362
+ return json.data.map(item => {
37363
+ const flat = {};
37364
+ for (const [key, value] of Object.entries(item)) {
37365
+ if (typeof value !== "object" || value === null) {
37366
+ flat[key] = value;
37367
+ }
37368
+ }
37369
+ flat.platform = platform;
37370
+ return flat;
37371
+ });
37372
+
37373
+ } catch (err) {
37374
+ console.error("Farcaster fetch error:", err);
37375
+ return ERROR_MESSAGES_FLAG.DEFAULT;
37376
+ }
37377
+ }
37263
37378
 
37264
37379
  async function BLOCKSCOUT() {
37265
37380
  let [address, type, chain, startTimestamp, endTimestamp, page, offset] = argsToArray(arguments);
@@ -37362,8 +37477,7 @@
37362
37477
  });
37363
37478
  }
37364
37479
 
37365
- async function NEYNAR(
37366
- ) {
37480
+ async function NEYNAR() {
37367
37481
  const [
37368
37482
  username
37369
37483
  ] = argsToArray(arguments);
@@ -37495,9 +37609,9 @@
37495
37609
 
37496
37610
  switch (lowerCategory) {
37497
37611
  case 'price': {
37498
- const vsCurrencies = param1;
37499
- const token = param2;
37500
- if (!token || !vsCurrencies) {
37612
+ const token = param1;
37613
+ const vsCurrencies = param2;
37614
+ if (!token) {
37501
37615
  return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
37502
37616
  }
37503
37617
  url = `https://api.coingecko.com/api/v3/simple/price?vs_currencies=${vsCurrencies ? vsCurrencies : 'usd' }&symbols=${token}`;
@@ -37578,11 +37692,14 @@
37578
37692
  return [output];
37579
37693
  }
37580
37694
 
37581
- const data = json;
37695
+ let data = json;
37582
37696
 
37583
37697
  if (lowerCategory === 'derivatives') {
37698
+ if (json.length > 200) {
37699
+ data = json.slice(0, 200);
37700
+ }
37584
37701
  if (json && json.tickers && json.tickers.tickers) {
37585
- data = json.tickers.tickers;
37702
+ data = json.tickers.tickers.slice(0, 200);
37586
37703
  }
37587
37704
  }
37588
37705
 
@@ -37602,9 +37719,6 @@
37602
37719
  }
37603
37720
  }
37604
37721
 
37605
-
37606
-
37607
-
37608
37722
  async function EOA(
37609
37723
  ) {
37610
37724
  const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
@@ -37776,6 +37890,34 @@
37776
37890
  }
37777
37891
  }
37778
37892
 
37893
+ async function DEFILLAMA() {
37894
+ let [category, param1] = argsToArray(arguments);
37895
+ const apiKey = window.localStorage.getItem(SERVICE_API_KEY.Defillama);
37896
+ if (!apiKey) return `${SERVICE_API_KEY.Defillama}_MISSING`;
37897
+ const baseUrl = 'https://api.llama.fi/';
37898
+ const categoryList = ['protocols', 'yields', 'dex'];
37899
+ const categoryMap = {
37900
+ [categoryList[0]]: 'protocols',
37901
+ [categoryList[1]]: 'pools',
37902
+ [categoryList[2]]: 'overview/dexs?excludeTotalDataChart=true&excludeTotalDataChartBreakdown=true'
37903
+ };
37904
+ let url = `${baseUrl}/${categoryMap[category]}`;
37905
+ if(categoryMap[category] === categoryList[0] && param1){
37906
+ url += `/${param1}`;
37907
+ }
37908
+ try {
37909
+ const response = await fetch(url);
37910
+ if (!response.ok) throw new Error(`HTTP error! Status: ${response.status}`);
37911
+ let json = await response.json();
37912
+ if(json.length > 300){
37913
+ json = json.slice(0, 300);
37914
+ }
37915
+ return removeNestedStructure(json);
37916
+ } catch (e) {
37917
+ console.log(e);
37918
+ return "ERROR IN FETCHING";
37919
+ }
37920
+ }
37779
37921
  function POLYMARKET() {
37780
37922
  return "Coming Soon"
37781
37923
  }
@@ -37905,6 +38047,7 @@
37905
38047
  DEC2HEX: DEC2HEX,
37906
38048
  DEC2OCT: DEC2OCT,
37907
38049
  DECIMAL: DECIMAL,
38050
+ DEFILLAMA: DEFILLAMA,
37908
38051
  DEGREES: DEGREES,
37909
38052
  DELTA: DELTA,
37910
38053
  DEVSQ: DEVSQ,
@@ -37940,6 +38083,7 @@
37940
38083
  FACT: FACT,
37941
38084
  FACTDOUBLE: FACTDOUBLE,
37942
38085
  FALSE: FALSE,
38086
+ FARCASTER: FARCASTER,
37943
38087
  FDIST: FDIST,
37944
38088
  FDISTRT: FDISTRT,
37945
38089
  FIND: FIND,
@@ -38031,6 +38175,7 @@
38031
38175
  LCM: LCM,
38032
38176
  LEFT: LEFT,
38033
38177
  LEN: LEN,
38178
+ LENS: LENS,
38034
38179
  LINEST: LINEST,
38035
38180
  LN: LN,
38036
38181
  LOG: LOG,
@@ -106169,7 +106314,9 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
106169
106314
  if (!e) return;
106170
106315
  var kcode = e.keyCode;
106171
106316
  if (!kcode) return;
106172
- setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
106317
+ if (!document.getElementById("luckysheet-formula-search-c")) {
106318
+ setShowCryptoModal(!document.getElementById("luckysheet-formula-search-c"));
106319
+ }
106173
106320
  if (!(kcode >= 112 && kcode <= 123 || kcode <= 46 || kcode === 144 || kcode === 108 || e.ctrlKey || e.altKey || e.shiftKey && (kcode === 37 || kcode === 38 || kcode === 39 || kcode === 40)) || kcode === 8 || kcode === 32 || kcode === 46 || e.ctrlKey && kcode === 86) {
106174
106321
  setContext(function (draftCtx) {
106175
106322
  if ((draftCtx.formulaCache.rangestart || draftCtx.formulaCache.rangedrag_column_start || draftCtx.formulaCache.rangedrag_row_start || israngeseleciton(draftCtx)) && isBlur) return;