@fileverse-dev/fortune-react 1.0.2-mod-93 → 1.0.2-mod-95
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.umd.js +72 -35
- package/dist/index.umd.min.js +8 -8
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -37055,7 +37055,8 @@
|
|
|
37055
37055
|
Basescan: "BASESCAN_API_KEY",
|
|
37056
37056
|
Gnosisscan: "GNOSIS_API_KEY",
|
|
37057
37057
|
Firefly: "FIRE_FLY_API_KEY",
|
|
37058
|
-
GnosisPay: 'GNOSIS_API_KEY'
|
|
37058
|
+
GnosisPay: 'GNOSIS_API_KEY',
|
|
37059
|
+
Neynar: 'NEYNAR_API_KEY'
|
|
37059
37060
|
};
|
|
37060
37061
|
|
|
37061
37062
|
const fromTimeStampToBlock = async (timestamp, chain, apiKey) => {
|
|
@@ -37179,7 +37180,26 @@
|
|
|
37179
37180
|
}
|
|
37180
37181
|
}
|
|
37181
37182
|
|
|
37182
|
-
|
|
37183
|
+
const fromUsernameToFid = async (username) => {
|
|
37184
|
+
if(!username) return null
|
|
37185
|
+
const url = `https://api.neynar.com/v2/farcaster/user/search/`;
|
|
37186
|
+
const res = await fetch(url, {
|
|
37187
|
+
query: {
|
|
37188
|
+
q: username
|
|
37189
|
+
},
|
|
37190
|
+
headers: {
|
|
37191
|
+
'x-api-key': API_KEY,
|
|
37192
|
+
'x-neynar-experimental': 'false'
|
|
37193
|
+
}
|
|
37194
|
+
});
|
|
37195
|
+
const json = await res.json();
|
|
37196
|
+
const users = json.result && json.result.users;
|
|
37197
|
+
const user = users.find(user => user.username === username);
|
|
37198
|
+
return user && user.fid || null;
|
|
37199
|
+
};
|
|
37200
|
+
|
|
37201
|
+
async function FIREFLY() {
|
|
37202
|
+
const [platform, contentType, identifier, start = 0, end = 10] = argsToArray(arguments);
|
|
37183
37203
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Firefly);
|
|
37184
37204
|
if (!API_KEY) return `${SERVICE_API_KEY.Firefly}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
37185
37205
|
|
|
@@ -37241,7 +37261,8 @@
|
|
|
37241
37261
|
|
|
37242
37262
|
|
|
37243
37263
|
|
|
37244
|
-
async function BLOCKSCOUT(
|
|
37264
|
+
async function BLOCKSCOUT() {
|
|
37265
|
+
let [address, type, chain, startTimestamp, endTimestamp, page, offset] = argsToArray(arguments);
|
|
37245
37266
|
if (!chain) {
|
|
37246
37267
|
chain = 'ethereum';
|
|
37247
37268
|
}
|
|
@@ -37326,8 +37347,8 @@
|
|
|
37326
37347
|
return 'ERROR IN FETCHING'
|
|
37327
37348
|
}
|
|
37328
37349
|
}
|
|
37329
|
-
async function GNOSIS(
|
|
37330
|
-
const [type, chain, address, startDate, endDate, page, limit] =
|
|
37350
|
+
async function GNOSIS() {
|
|
37351
|
+
const [type, chain, address, startDate, endDate, page, limit] = argsToArray(arguments);
|
|
37331
37352
|
return handleScanRequest({
|
|
37332
37353
|
scanKey: SERVICE_API_KEY.Gnosisscan,
|
|
37333
37354
|
baseUrl: 'https://api.gnosisscan.io/api',
|
|
@@ -37342,25 +37363,27 @@
|
|
|
37342
37363
|
}
|
|
37343
37364
|
|
|
37344
37365
|
async function NEYNAR(
|
|
37345
|
-
fid,
|
|
37346
|
-
viewerFid,
|
|
37347
|
-
sortType,
|
|
37348
|
-
limit,
|
|
37349
|
-
cursor
|
|
37350
37366
|
) {
|
|
37367
|
+
const [
|
|
37368
|
+
username
|
|
37369
|
+
] = argsToArray(arguments);
|
|
37351
37370
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Neynar);
|
|
37352
37371
|
if (!API_KEY) return `${SERVICE_API_KEY.Neynar}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
37353
37372
|
|
|
37373
|
+
if(!username){
|
|
37374
|
+
return `${SERVICE_API_KEY.Neynar}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
37375
|
+
}
|
|
37354
37376
|
|
|
37355
|
-
const
|
|
37356
|
-
|
|
37357
|
-
|
|
37358
|
-
|
|
37359
|
-
|
|
37360
|
-
|
|
37377
|
+
const fid = await fromUsernameToFid(username);
|
|
37378
|
+
|
|
37379
|
+
if(!fid){
|
|
37380
|
+
return `${SERVICE_API_KEY.Neynar}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
37381
|
+
}
|
|
37382
|
+
|
|
37383
|
+
const url = `https://api.neynar.com/v2/farcaster/followers?fid=${fid}`;
|
|
37361
37384
|
|
|
37362
37385
|
try {
|
|
37363
|
-
const response = await fetch(url
|
|
37386
|
+
const response = await fetch(url, {
|
|
37364
37387
|
headers: {
|
|
37365
37388
|
'x-api-key': API_KEY,
|
|
37366
37389
|
'x-neynar-experimental': 'false'
|
|
@@ -37458,7 +37481,7 @@
|
|
|
37458
37481
|
}
|
|
37459
37482
|
|
|
37460
37483
|
|
|
37461
|
-
async function COINGECKO(category, param1, param2
|
|
37484
|
+
async function COINGECKO(category, param1, param2) {
|
|
37462
37485
|
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Coingecko);
|
|
37463
37486
|
if (!API_KEY) return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
37464
37487
|
|
|
@@ -37472,20 +37495,21 @@
|
|
|
37472
37495
|
|
|
37473
37496
|
switch (lowerCategory) {
|
|
37474
37497
|
case 'price': {
|
|
37475
|
-
const
|
|
37476
|
-
const
|
|
37498
|
+
const vsCurrencies = param1;
|
|
37499
|
+
const token = param2;
|
|
37477
37500
|
if (!token || !vsCurrencies) {
|
|
37478
37501
|
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
37479
37502
|
}
|
|
37480
|
-
url = `https://api.coingecko.com/api/v3/simple/price?vs_currencies=${vsCurrencies}&
|
|
37503
|
+
url = `https://api.coingecko.com/api/v3/simple/price?vs_currencies=${vsCurrencies ? vsCurrencies : 'usd' }&symbols=${token}`;
|
|
37481
37504
|
break;
|
|
37482
37505
|
}
|
|
37483
37506
|
|
|
37484
37507
|
case 'market': {
|
|
37485
37508
|
const ecosystemMap = {
|
|
37486
|
-
|
|
37509
|
+
all: '',
|
|
37510
|
+
ethereum: 'ethereum-ecosystem',
|
|
37487
37511
|
base: 'base-ecosystem',
|
|
37488
|
-
|
|
37512
|
+
solana: 'solana-ecosystem',
|
|
37489
37513
|
gnosis: 'gnosis-chain',
|
|
37490
37514
|
hyperliquid: 'hyperliquid',
|
|
37491
37515
|
bitcoin: 'bitcoin-ecosystem',
|
|
@@ -37498,7 +37522,7 @@
|
|
|
37498
37522
|
const categoryVal = ecosystemMap[key] || '';
|
|
37499
37523
|
const trend = param2 ? `&price_change_percentage=${param2}` : '';
|
|
37500
37524
|
|
|
37501
|
-
url = `https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&include_tokens=top&page
|
|
37525
|
+
url = `https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&include_tokens=top&page=1&per_page=100`;
|
|
37502
37526
|
if (key && !categoryVal) return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
37503
37527
|
if (categoryVal) url += `&category=${categoryVal}`;
|
|
37504
37528
|
if (trend) url += trend;
|
|
@@ -37511,22 +37535,22 @@
|
|
|
37511
37535
|
: param1.toLowerCase();
|
|
37512
37536
|
|
|
37513
37537
|
const trend = param2 ? `&price_change_percentage=${param2}` : '';
|
|
37514
|
-
url = `https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=${category}&order=market_cap_desc&page
|
|
37538
|
+
url = `https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd&category=${category}&order=market_cap_desc&page=1&per_page=100${trend}`;
|
|
37515
37539
|
break;
|
|
37516
37540
|
}
|
|
37517
37541
|
|
|
37518
37542
|
case 'derivatives': {
|
|
37519
37543
|
const exchange = param1;
|
|
37520
|
-
if (exchange) {
|
|
37521
|
-
url = `https://api.coingecko.com/api/v3/derivatives
|
|
37544
|
+
if (!exchange || exchange === 'all') {
|
|
37545
|
+
url = `https://api.coingecko.com/api/v3/derivatives`;
|
|
37522
37546
|
} else {
|
|
37523
|
-
url = `https://api.coingecko.com/api/v3/derivatives
|
|
37547
|
+
url = `https://api.coingecko.com/api/v3/derivatives/exchanges/${exchange}?include_tickers=all`;
|
|
37524
37548
|
}
|
|
37525
37549
|
break;
|
|
37526
37550
|
}
|
|
37527
37551
|
|
|
37528
37552
|
default:
|
|
37529
|
-
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.
|
|
37553
|
+
return `${SERVICE_API_KEY.Coingecko}${ERROR_MESSAGES_FLAG.INVALID_PARAM}`;
|
|
37530
37554
|
}
|
|
37531
37555
|
|
|
37532
37556
|
try {
|
|
@@ -37554,7 +37578,15 @@
|
|
|
37554
37578
|
return [output];
|
|
37555
37579
|
}
|
|
37556
37580
|
|
|
37557
|
-
const
|
|
37581
|
+
const data = json;
|
|
37582
|
+
|
|
37583
|
+
if (lowerCategory === 'derivatives') {
|
|
37584
|
+
if (json && json.tickers && json.tickers.tickers) {
|
|
37585
|
+
data = json.tickers.tickers;
|
|
37586
|
+
}
|
|
37587
|
+
}
|
|
37588
|
+
|
|
37589
|
+
const flatArray = Array.isArray(data) ? data : [data];
|
|
37558
37590
|
return flatArray.map(item => {
|
|
37559
37591
|
const flat = {};
|
|
37560
37592
|
for (const [key, value] of Object.entries(item)) {
|
|
@@ -37574,16 +37606,19 @@
|
|
|
37574
37606
|
|
|
37575
37607
|
|
|
37576
37608
|
async function EOA(
|
|
37577
|
-
|
|
37609
|
+
) {
|
|
37610
|
+
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
|
|
37611
|
+
if (!API_KEY) return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
37612
|
+
|
|
37613
|
+
let [
|
|
37614
|
+
addresses,
|
|
37578
37615
|
category,
|
|
37579
37616
|
chains,
|
|
37580
37617
|
startTime,
|
|
37581
37618
|
endTime,
|
|
37582
37619
|
page = 1,
|
|
37583
37620
|
offset = 10,
|
|
37584
|
-
|
|
37585
|
-
const API_KEY = window.localStorage.getItem(SERVICE_API_KEY.Etherscan);
|
|
37586
|
-
if (!API_KEY) return `${SERVICE_API_KEY.Etherscan}${ERROR_MESSAGES_FLAG.MISSING_KEY}`;
|
|
37621
|
+
] = argsToArray(arguments);
|
|
37587
37622
|
|
|
37588
37623
|
const INPUTS = addresses.split(",").map(a => a.trim()).filter(Boolean);
|
|
37589
37624
|
const CHAINS = chains.split(",").map(c => c.trim()).filter(Boolean);
|
|
@@ -37697,7 +37732,9 @@
|
|
|
37697
37732
|
});
|
|
37698
37733
|
}
|
|
37699
37734
|
|
|
37700
|
-
async function SAFE(
|
|
37735
|
+
async function SAFE() {
|
|
37736
|
+
|
|
37737
|
+
let [address, utility, chain, limit, offset] = argsToArray(arguments);
|
|
37701
37738
|
|
|
37702
37739
|
if (typeof limit !== 'number' || limit < 0) return 'INVALID_LIMIT';
|
|
37703
37740
|
if (typeof offset !== 'number' || offset < 0) return 'INVALID_OFFSET';
|