fibx 0.5.1 → 0.7.0
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/README.md +73 -2
- package/dist/index.js +277 -292
- package/dist/index.js.map +1 -1
- package/package.json +13 -14
- package/dist/commands/auth/import.d.ts +0 -3
- package/dist/commands/auth/import.d.ts.map +0 -1
- package/dist/commands/auth/import.js +0 -44
- package/dist/commands/auth/import.js.map +0 -1
- package/dist/commands/auth/login.d.ts +0 -3
- package/dist/commands/auth/login.d.ts.map +0 -1
- package/dist/commands/auth/login.js +0 -13
- package/dist/commands/auth/login.js.map +0 -1
- package/dist/commands/auth/logout.d.ts +0 -3
- package/dist/commands/auth/logout.d.ts.map +0 -1
- package/dist/commands/auth/logout.js +0 -11
- package/dist/commands/auth/logout.js.map +0 -1
- package/dist/commands/auth/verify.d.ts +0 -3
- package/dist/commands/auth/verify.d.ts.map +0 -1
- package/dist/commands/auth/verify.js +0 -30
- package/dist/commands/auth/verify.js.map +0 -1
- package/dist/commands/chain/transaction.d.ts +0 -3
- package/dist/commands/chain/transaction.d.ts.map +0 -1
- package/dist/commands/chain/transaction.js +0 -31
- package/dist/commands/chain/transaction.js.map +0 -1
- package/dist/commands/config/index.d.ts +0 -3
- package/dist/commands/config/index.d.ts.map +0 -1
- package/dist/commands/config/index.js +0 -97
- package/dist/commands/config/index.js.map +0 -1
- package/dist/commands/defi/aave.d.ts +0 -8
- package/dist/commands/defi/aave.d.ts.map +0 -1
- package/dist/commands/defi/aave.js +0 -238
- package/dist/commands/defi/aave.js.map +0 -1
- package/dist/commands/portfolio/index.d.ts +0 -3
- package/dist/commands/portfolio/index.d.ts.map +0 -1
- package/dist/commands/portfolio/index.js +0 -64
- package/dist/commands/portfolio/index.js.map +0 -1
- package/dist/commands/trade/status.d.ts +0 -3
- package/dist/commands/trade/status.d.ts.map +0 -1
- package/dist/commands/trade/status.js +0 -30
- package/dist/commands/trade/status.js.map +0 -1
- package/dist/commands/trade/swap.d.ts +0 -9
- package/dist/commands/trade/swap.d.ts.map +0 -1
- package/dist/commands/trade/swap.js +0 -205
- package/dist/commands/trade/swap.js.map +0 -1
- package/dist/commands/wallet/address.d.ts +0 -3
- package/dist/commands/wallet/address.d.ts.map +0 -1
- package/dist/commands/wallet/address.js +0 -13
- package/dist/commands/wallet/address.js.map +0 -1
- package/dist/commands/wallet/balance.d.ts +0 -3
- package/dist/commands/wallet/balance.d.ts.map +0 -1
- package/dist/commands/wallet/balance.js +0 -73
- package/dist/commands/wallet/balance.js.map +0 -1
- package/dist/commands/wallet/list.d.ts +0 -3
- package/dist/commands/wallet/list.d.ts.map +0 -1
- package/dist/commands/wallet/list.js +0 -22
- package/dist/commands/wallet/list.js.map +0 -1
- package/dist/commands/wallet/send.d.ts +0 -7
- package/dist/commands/wallet/send.d.ts.map +0 -1
- package/dist/commands/wallet/send.js +0 -115
- package/dist/commands/wallet/send.js.map +0 -1
- package/dist/index.d.ts +0 -3
- package/dist/index.d.ts.map +0 -1
- package/dist/lib/brand.d.ts +0 -5
- package/dist/lib/brand.d.ts.map +0 -1
- package/dist/lib/brand.js +0 -15
- package/dist/lib/brand.js.map +0 -1
- package/dist/lib/cache.d.ts +0 -3
- package/dist/lib/cache.d.ts.map +0 -1
- package/dist/lib/cache.js +0 -23
- package/dist/lib/cache.js.map +0 -1
- package/dist/lib/cli-helpers.d.ts +0 -10
- package/dist/lib/cli-helpers.d.ts.map +0 -1
- package/dist/lib/cli-helpers.js +0 -20
- package/dist/lib/cli-helpers.js.map +0 -1
- package/dist/lib/concurrency.d.ts +0 -8
- package/dist/lib/concurrency.d.ts.map +0 -1
- package/dist/lib/concurrency.js +0 -26
- package/dist/lib/concurrency.js.map +0 -1
- package/dist/lib/config.d.ts +0 -7
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/config.js +0 -9
- package/dist/lib/config.js.map +0 -1
- package/dist/lib/errors.d.ts +0 -28
- package/dist/lib/errors.d.ts.map +0 -1
- package/dist/lib/errors.js +0 -33
- package/dist/lib/errors.js.map +0 -1
- package/dist/lib/format.d.ts +0 -31
- package/dist/lib/format.d.ts.map +0 -1
- package/dist/lib/format.js +0 -169
- package/dist/lib/format.js.map +0 -1
- package/dist/lib/parse-evm-error.d.ts +0 -6
- package/dist/lib/parse-evm-error.d.ts.map +0 -1
- package/dist/lib/parse-evm-error.js +0 -48
- package/dist/lib/parse-evm-error.js.map +0 -1
- package/dist/lib/parseAmount.d.ts +0 -3
- package/dist/lib/parseAmount.d.ts.map +0 -1
- package/dist/lib/parseAmount.js +0 -9
- package/dist/lib/parseAmount.js.map +0 -1
- package/dist/lib/retry.d.ts +0 -20
- package/dist/lib/retry.d.ts.map +0 -1
- package/dist/lib/retry.js +0 -36
- package/dist/lib/retry.js.map +0 -1
- package/dist/lib/validation.d.ts +0 -6
- package/dist/lib/validation.d.ts.map +0 -1
- package/dist/lib/validation.js +0 -24
- package/dist/lib/validation.js.map +0 -1
- package/dist/mcp/handlers.d.ts +0 -87
- package/dist/mcp/handlers.d.ts.map +0 -1
- package/dist/mcp/handlers.js +0 -394
- package/dist/mcp/handlers.js.map +0 -1
- package/dist/mcp/server.d.ts +0 -2
- package/dist/mcp/server.d.ts.map +0 -1
- package/dist/mcp/server.js +0 -21
- package/dist/mcp/server.js.map +0 -1
- package/dist/mcp/tools.d.ts +0 -3
- package/dist/mcp/tools.d.ts.map +0 -1
- package/dist/mcp/tools.js +0 -227
- package/dist/mcp/tools.js.map +0 -1
- package/dist/services/api/client.d.ts +0 -34
- package/dist/services/api/client.d.ts.map +0 -1
- package/dist/services/api/client.js +0 -68
- package/dist/services/api/client.js.map +0 -1
- package/dist/services/auth/policy.d.ts +0 -2
- package/dist/services/auth/policy.d.ts.map +0 -1
- package/dist/services/auth/policy.js +0 -3
- package/dist/services/auth/policy.js.map +0 -1
- package/dist/services/auth/session.d.ts +0 -20
- package/dist/services/auth/session.d.ts.map +0 -1
- package/dist/services/auth/session.js +0 -70
- package/dist/services/auth/session.js.map +0 -1
- package/dist/services/chain/client.d.ts +0 -17493
- package/dist/services/chain/client.d.ts.map +0 -1
- package/dist/services/chain/client.js +0 -30
- package/dist/services/chain/client.js.map +0 -1
- package/dist/services/chain/constants.d.ts +0 -163
- package/dist/services/chain/constants.d.ts.map +0 -1
- package/dist/services/chain/constants.js +0 -118
- package/dist/services/chain/constants.js.map +0 -1
- package/dist/services/chain/erc20.d.ts +0 -100
- package/dist/services/chain/erc20.d.ts.map +0 -1
- package/dist/services/chain/erc20.js +0 -117
- package/dist/services/chain/erc20.js.map +0 -1
- package/dist/services/chain/nonceManager.d.ts +0 -13
- package/dist/services/chain/nonceManager.d.ts.map +0 -1
- package/dist/services/chain/nonceManager.js +0 -45
- package/dist/services/chain/nonceManager.js.map +0 -1
- package/dist/services/config/config.d.ts +0 -20
- package/dist/services/config/config.d.ts.map +0 -1
- package/dist/services/config/config.js +0 -75
- package/dist/services/config/config.js.map +0 -1
- package/dist/services/defi/aave.d.ts +0 -50
- package/dist/services/defi/aave.d.ts.map +0 -1
- package/dist/services/defi/aave.js +0 -605
- package/dist/services/defi/aave.js.map +0 -1
- package/dist/services/defi/abi/aave.d.ts +0 -304
- package/dist/services/defi/abi/aave.d.ts.map +0 -1
- package/dist/services/defi/abi/aave.js +0 -194
- package/dist/services/defi/abi/aave.js.map +0 -1
- package/dist/services/defi/constants.d.ts +0 -11
- package/dist/services/defi/constants.d.ts.map +0 -1
- package/dist/services/defi/constants.js +0 -12
- package/dist/services/defi/constants.js.map +0 -1
- package/dist/services/fibrous/abi/base.d.ts +0 -768
- package/dist/services/fibrous/abi/base.d.ts.map +0 -1
- package/dist/services/fibrous/abi/base.js +0 -984
- package/dist/services/fibrous/abi/base.js.map +0 -1
- package/dist/services/fibrous/abi/citrea.d.ts +0 -773
- package/dist/services/fibrous/abi/citrea.d.ts.map +0 -1
- package/dist/services/fibrous/abi/citrea.js +0 -990
- package/dist/services/fibrous/abi/citrea.js.map +0 -1
- package/dist/services/fibrous/abi/hyperevm.d.ts +0 -773
- package/dist/services/fibrous/abi/hyperevm.d.ts.map +0 -1
- package/dist/services/fibrous/abi/hyperevm.js +0 -990
- package/dist/services/fibrous/abi/hyperevm.js.map +0 -1
- package/dist/services/fibrous/abi/monad.d.ts +0 -773
- package/dist/services/fibrous/abi/monad.d.ts.map +0 -1
- package/dist/services/fibrous/abi/monad.js +0 -990
- package/dist/services/fibrous/abi/monad.js.map +0 -1
- package/dist/services/fibrous/balances.d.ts +0 -15
- package/dist/services/fibrous/balances.d.ts.map +0 -1
- package/dist/services/fibrous/balances.js +0 -27
- package/dist/services/fibrous/balances.js.map +0 -1
- package/dist/services/fibrous/health.d.ts +0 -12
- package/dist/services/fibrous/health.d.ts.map +0 -1
- package/dist/services/fibrous/health.js +0 -16
- package/dist/services/fibrous/health.js.map +0 -1
- package/dist/services/fibrous/route.d.ts +0 -48
- package/dist/services/fibrous/route.d.ts.map +0 -1
- package/dist/services/fibrous/route.js +0 -65
- package/dist/services/fibrous/route.js.map +0 -1
- package/dist/services/fibrous/tokens.d.ts +0 -12
- package/dist/services/fibrous/tokens.d.ts.map +0 -1
- package/dist/services/fibrous/tokens.js +0 -38
- package/dist/services/fibrous/tokens.js.map +0 -1
- package/dist/services/portfolio/portfolio.d.ts +0 -28
- package/dist/services/portfolio/portfolio.d.ts.map +0 -1
- package/dist/services/portfolio/portfolio.js +0 -116
- package/dist/services/portfolio/portfolio.js.map +0 -1
- package/dist/services/privy/account.d.ts +0 -20
- package/dist/services/privy/account.d.ts.map +0 -1
- package/dist/services/privy/account.js +0 -60
- package/dist/services/privy/account.js.map +0 -1
- package/dist/services/privy/client.d.ts +0 -2
- package/dist/services/privy/client.d.ts.map +0 -1
- package/dist/services/privy/client.js +0 -7
- package/dist/services/privy/client.js.map +0 -1
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
// Maps raw EVM/viem errors to human-readable messages.
|
|
2
|
-
// Pattern-based matching, inspired by StarkFi's parse-starknet-error.ts.
|
|
3
|
-
const ERROR_MAP = [
|
|
4
|
-
// --- Viem typed errors ---
|
|
5
|
-
[/InsufficientFundsError/i, "Not enough funds for gas fees"],
|
|
6
|
-
[/UserRejectedRequestError/i, "Transaction cancelled by user"],
|
|
7
|
-
[/ContractFunctionRevertedError/i, "Contract call reverted — check amount and balance"],
|
|
8
|
-
[
|
|
9
|
-
/EstimateGasExecutionError/i,
|
|
10
|
-
"Transaction simulation failed — likely insufficient balance or invalid params",
|
|
11
|
-
],
|
|
12
|
-
[/TransactionReceiptNotFoundError/i, "Transaction receipt not found — it may still be pending"],
|
|
13
|
-
// --- Common EVM revert strings ---
|
|
14
|
-
[/transfer amount exceeds balance/i, "Insufficient token balance for this transfer"],
|
|
15
|
-
[
|
|
16
|
-
/insufficient allowance/i,
|
|
17
|
-
"Token approval required — run with --approve-max or increase allowance",
|
|
18
|
-
],
|
|
19
|
-
[/execution reverted/i, "Transaction would fail on-chain — check parameters and balance"],
|
|
20
|
-
[/nonce too low/i, "Nonce conflict (pending tx?) — please retry"],
|
|
21
|
-
[/replacement.*underpriced/i, "Gas price too low for replacement — increase gas and retry"],
|
|
22
|
-
[/max fee per gas less than block/i, "Gas price below current network minimum"],
|
|
23
|
-
[/insufficient funds/i, "Not enough funds for gas fees"],
|
|
24
|
-
// --- Aave V3 custom errors ---
|
|
25
|
-
[/HEALTH_FACTOR_LOWER/i, "Would lower health factor below liquidation threshold"],
|
|
26
|
-
[/NO_DEBT_OF_SELECTED_TYPE/i, "No outstanding debt of this type to repay"],
|
|
27
|
-
[/COLLATERAL_CANNOT_COVER/i, "Insufficient collateral for this borrow"],
|
|
28
|
-
[/RESERVE_FROZEN/i, "This asset is currently frozen and cannot be used"],
|
|
29
|
-
[/RESERVE_PAUSED/i, "This asset is currently paused"],
|
|
30
|
-
// --- Network / RPC ---
|
|
31
|
-
[/429|rate.?limit/i, "RPC rate limited — please retry in a moment"],
|
|
32
|
-
[/ECONNREFUSED|ENOTFOUND|ETIMEDOUT/i, "Network error — check your RPC connection"],
|
|
33
|
-
[/502|503|504/i, "RPC server error — please retry"],
|
|
34
|
-
];
|
|
35
|
-
/**
|
|
36
|
-
* Parses a raw EVM/viem error into a human-readable message.
|
|
37
|
-
* Falls back to the original message (truncated) if no pattern matches.
|
|
38
|
-
*/
|
|
39
|
-
export function parseEvmError(error) {
|
|
40
|
-
const raw = error instanceof Error ? error.message : String(error);
|
|
41
|
-
for (const [pattern, message] of ERROR_MAP) {
|
|
42
|
-
if (pattern.test(raw))
|
|
43
|
-
return message;
|
|
44
|
-
}
|
|
45
|
-
// Truncate overly long error dumps (common with RPC responses)
|
|
46
|
-
return raw.length > 200 ? raw.slice(0, 200) + "…" : raw;
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=parse-evm-error.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parse-evm-error.js","sourceRoot":"","sources":["../../src/lib/parse-evm-error.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,yEAAyE;AAEzE,MAAM,SAAS,GAAyC;IACvD,4BAA4B;IAC5B,CAAC,yBAAyB,EAAE,+BAA+B,CAAC;IAC5D,CAAC,2BAA2B,EAAE,+BAA+B,CAAC;IAC9D,CAAC,gCAAgC,EAAE,mDAAmD,CAAC;IACvF;QACC,4BAA4B;QAC5B,+EAA+E;KAC/E;IACD,CAAC,kCAAkC,EAAE,yDAAyD,CAAC;IAE/F,oCAAoC;IACpC,CAAC,kCAAkC,EAAE,8CAA8C,CAAC;IACpF;QACC,yBAAyB;QACzB,wEAAwE;KACxE;IACD,CAAC,qBAAqB,EAAE,gEAAgE,CAAC;IACzF,CAAC,gBAAgB,EAAE,6CAA6C,CAAC;IACjE,CAAC,2BAA2B,EAAE,4DAA4D,CAAC;IAC3F,CAAC,kCAAkC,EAAE,yCAAyC,CAAC;IAC/E,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;IAExD,gCAAgC;IAChC,CAAC,sBAAsB,EAAE,uDAAuD,CAAC;IACjF,CAAC,2BAA2B,EAAE,2CAA2C,CAAC;IAC1E,CAAC,0BAA0B,EAAE,yCAAyC,CAAC;IACvE,CAAC,iBAAiB,EAAE,mDAAmD,CAAC;IACxE,CAAC,iBAAiB,EAAE,gCAAgC,CAAC;IAErD,wBAAwB;IACxB,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;IACnE,CAAC,mCAAmC,EAAE,2CAA2C,CAAC;IAClF,CAAC,cAAc,EAAE,iCAAiC,CAAC;CACnD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAc;IAC3C,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnE,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,SAAS,EAAE,CAAC;QAC5C,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,OAAO,OAAO,CAAC;IACvC,CAAC;IAED,+DAA+D;IAC/D,OAAO,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACzD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseAmount.d.ts","sourceRoot":"","sources":["../../src/lib/parseAmount.ts"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErE"}
|
package/dist/lib/parseAmount.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { parseUnits, formatUnits } from "viem";
|
|
2
|
-
export function parseAmount(amount, decimals) {
|
|
3
|
-
const cleanAmount = amount.replace(/[$,]/g, "");
|
|
4
|
-
return parseUnits(cleanAmount, decimals);
|
|
5
|
-
}
|
|
6
|
-
export function formatAmount(amount, decimals) {
|
|
7
|
-
return formatUnits(amount, decimals);
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=parseAmount.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parseAmount.js","sourceRoot":"","sources":["../../src/lib/parseAmount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAE/C,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,QAAgB;IAC3D,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAChD,OAAO,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,QAAgB;IAC5D,OAAO,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AACtC,CAAC"}
|
package/dist/lib/retry.d.ts
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { type ErrorCode } from "./errors.js";
|
|
2
|
-
export interface RetryOptions {
|
|
3
|
-
/** Maximum number of retries (default: 2) */
|
|
4
|
-
maxRetries?: number;
|
|
5
|
-
/** Base delay in ms before first retry (default: 500) */
|
|
6
|
-
baseDelayMs?: number;
|
|
7
|
-
/** Only retry if FibxError code is in this list */
|
|
8
|
-
retryOnCodes?: ErrorCode[];
|
|
9
|
-
/** Custom retry filter — return false to fail immediately */
|
|
10
|
-
shouldRetry?: (error: unknown) => boolean;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Retries an async function with exponential backoff and jitter.
|
|
14
|
-
*
|
|
15
|
-
* - Jitter prevents thundering herd on rate limits
|
|
16
|
-
* - FibxError codes can be filtered (non-retryable errors fail immediately)
|
|
17
|
-
* - Custom shouldRetry callback for one-off filtering
|
|
18
|
-
*/
|
|
19
|
-
export declare function withRetry<T>(fn: () => Promise<T>, options?: RetryOptions): Promise<T>;
|
|
20
|
-
//# sourceMappingURL=retry.d.ts.map
|
package/dist/lib/retry.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../src/lib/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,WAAW,YAAY;IAC5B,6CAA6C;IAC7C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,6DAA6D;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC;CAC1C;AAED;;;;;;GAMG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CA6B3F"}
|
package/dist/lib/retry.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { FibxError } from "./errors.js";
|
|
2
|
-
/**
|
|
3
|
-
* Retries an async function with exponential backoff and jitter.
|
|
4
|
-
*
|
|
5
|
-
* - Jitter prevents thundering herd on rate limits
|
|
6
|
-
* - FibxError codes can be filtered (non-retryable errors fail immediately)
|
|
7
|
-
* - Custom shouldRetry callback for one-off filtering
|
|
8
|
-
*/
|
|
9
|
-
export async function withRetry(fn, options) {
|
|
10
|
-
const { maxRetries = 2, baseDelayMs = 500, retryOnCodes, shouldRetry } = options ?? {};
|
|
11
|
-
let lastError;
|
|
12
|
-
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
13
|
-
try {
|
|
14
|
-
return await fn();
|
|
15
|
-
}
|
|
16
|
-
catch (error) {
|
|
17
|
-
lastError = error;
|
|
18
|
-
// Non-retryable domain errors: fail immediately
|
|
19
|
-
if (error instanceof FibxError && retryOnCodes?.length) {
|
|
20
|
-
if (!retryOnCodes.includes(error.code))
|
|
21
|
-
throw error;
|
|
22
|
-
}
|
|
23
|
-
// Custom filter
|
|
24
|
-
if (shouldRetry && !shouldRetry(error))
|
|
25
|
-
throw error;
|
|
26
|
-
if (attempt < maxRetries) {
|
|
27
|
-
// Exponential backoff + jitter (0-100ms)
|
|
28
|
-
const jitter = Math.random() * 100;
|
|
29
|
-
const delay = baseDelayMs * 2 ** attempt + jitter;
|
|
30
|
-
await new Promise((r) => setTimeout(r, delay));
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
throw lastError;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=retry.js.map
|
package/dist/lib/retry.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../src/lib/retry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAkB,MAAM,aAAa,CAAC;AAaxD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAAI,EAAoB,EAAE,OAAsB;IAC9E,MAAM,EAAE,UAAU,GAAG,CAAC,EAAE,WAAW,GAAG,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,OAAO,IAAI,EAAE,CAAC;IAEvF,IAAI,SAAkB,CAAC;IAEvB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,UAAU,EAAE,OAAO,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC;YACJ,OAAO,MAAM,EAAE,EAAE,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,SAAS,GAAG,KAAK,CAAC;YAElB,gDAAgD;YAChD,IAAI,KAAK,YAAY,SAAS,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC;gBACxD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC;oBAAE,MAAM,KAAK,CAAC;YACrD,CAAC;YAED,gBAAgB;YAChB,IAAI,WAAW,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;gBAAE,MAAM,KAAK,CAAC;YAEpD,IAAI,OAAO,GAAG,UAAU,EAAE,CAAC;gBAC1B,yCAAyC;gBACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC;gBACnC,MAAM,KAAK,GAAG,WAAW,GAAG,CAAC,IAAI,OAAO,GAAG,MAAM,CAAC;gBAClD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,SAAS,CAAC;AACjB,CAAC"}
|
package/dist/lib/validation.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
export declare const addressSchema: z.ZodString;
|
|
3
|
-
export declare const amountSchema: z.ZodString;
|
|
4
|
-
export declare function validateAddress(addr: string): string;
|
|
5
|
-
export declare function validateAmount(amount: string): string;
|
|
6
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,eAAO,MAAM,aAAa,aAAiE,CAAC;AAE5F,eAAO,MAAM,YAAY,aAQxB,CAAC;AAEF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD"}
|
package/dist/lib/validation.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
import { ErrorCode, FibxError } from "./errors.js";
|
|
3
|
-
export const addressSchema = z.string().regex(/^0x[a-fA-F0-9]{40}$/, "Invalid EVM address");
|
|
4
|
-
export const amountSchema = z.string().refine((v) => {
|
|
5
|
-
const clean = v.replace(/[$,]/g, "");
|
|
6
|
-
return !isNaN(Number(clean)) && Number(clean) > 0;
|
|
7
|
-
}, {
|
|
8
|
-
message: "Amount must be a positive number",
|
|
9
|
-
});
|
|
10
|
-
export function validateAddress(addr) {
|
|
11
|
-
const result = addressSchema.safeParse(addr);
|
|
12
|
-
if (!result.success) {
|
|
13
|
-
throw new FibxError(ErrorCode.INVALID_ADDRESS, result.error.message);
|
|
14
|
-
}
|
|
15
|
-
return result.data;
|
|
16
|
-
}
|
|
17
|
-
export function validateAmount(amount) {
|
|
18
|
-
const result = amountSchema.safeParse(amount);
|
|
19
|
-
if (!result.success) {
|
|
20
|
-
throw new FibxError(ErrorCode.INVALID_AMOUNT, result.error.message);
|
|
21
|
-
}
|
|
22
|
-
return result.data;
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/lib/validation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,qBAAqB,EAAE,qBAAqB,CAAC,CAAC;AAE5F,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAC5C,CAAC,CAAC,EAAE,EAAE;IACL,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AACnD,CAAC,EACD;IACC,OAAO,EAAE,kCAAkC;CAC3C,CACD,CAAC;AAEF,MAAM,UAAU,eAAe,CAAC,IAAY;IAC3C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACtE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC5C,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACpB,CAAC"}
|
package/dist/mcp/handlers.d.ts
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
import type { Portfolio } from "../services/portfolio/portfolio.js";
|
|
2
|
-
export interface BalanceResult {
|
|
3
|
-
wallet: string;
|
|
4
|
-
chain: string;
|
|
5
|
-
balances: Record<string, string>;
|
|
6
|
-
}
|
|
7
|
-
export declare function handleGetBalance(chain: string): Promise<BalanceResult>;
|
|
8
|
-
export interface SwapResult {
|
|
9
|
-
txHash: string;
|
|
10
|
-
amountIn: string;
|
|
11
|
-
amountOut: string;
|
|
12
|
-
tokenIn: string;
|
|
13
|
-
tokenOut: string;
|
|
14
|
-
router: string;
|
|
15
|
-
chain: string;
|
|
16
|
-
explorer?: string;
|
|
17
|
-
}
|
|
18
|
-
export declare function handleSwapTokens(amount: string, fromToken: string, toToken: string, chain: string, slippage: number): Promise<SwapResult>;
|
|
19
|
-
export interface SendResult {
|
|
20
|
-
txHash: string;
|
|
21
|
-
amount: string;
|
|
22
|
-
token: string;
|
|
23
|
-
recipient: string;
|
|
24
|
-
chain: string;
|
|
25
|
-
explorer?: string;
|
|
26
|
-
}
|
|
27
|
-
export declare function handleSendTokens(amount: string, recipient: string, token: string | undefined, chain: string): Promise<SendResult>;
|
|
28
|
-
export interface TxStatusResult {
|
|
29
|
-
hash: string;
|
|
30
|
-
status: string;
|
|
31
|
-
blockNumber: string | null;
|
|
32
|
-
from: string;
|
|
33
|
-
to: string | null;
|
|
34
|
-
gasUsed: string | null;
|
|
35
|
-
chain: string;
|
|
36
|
-
explorer?: string;
|
|
37
|
-
}
|
|
38
|
-
export declare function handleGetTxStatus(hash: string, chain: string): Promise<TxStatusResult>;
|
|
39
|
-
export interface AaveStatusResult {
|
|
40
|
-
wallet: string;
|
|
41
|
-
healthFactor: string;
|
|
42
|
-
totalCollateralUSD: string;
|
|
43
|
-
totalDebtUSD: string;
|
|
44
|
-
availableBorrowsUSD: string;
|
|
45
|
-
}
|
|
46
|
-
export declare function handleGetAaveStatus(): Promise<AaveStatusResult>;
|
|
47
|
-
export interface AaveMarketResult {
|
|
48
|
-
symbol: string;
|
|
49
|
-
supplyAPY: string;
|
|
50
|
-
borrowAPY: string;
|
|
51
|
-
totalSupply: string;
|
|
52
|
-
totalBorrow: string;
|
|
53
|
-
ltv: string;
|
|
54
|
-
isFrozen: boolean;
|
|
55
|
-
}
|
|
56
|
-
export interface AaveMarketsResult {
|
|
57
|
-
chain: string;
|
|
58
|
-
marketCount: number;
|
|
59
|
-
markets: AaveMarketResult[];
|
|
60
|
-
}
|
|
61
|
-
export declare function handleGetAaveMarkets(): Promise<AaveMarketsResult>;
|
|
62
|
-
export interface AaveActionResult {
|
|
63
|
-
action: string;
|
|
64
|
-
amount: string;
|
|
65
|
-
token: string;
|
|
66
|
-
txHash: string;
|
|
67
|
-
chain: string;
|
|
68
|
-
explorer?: string;
|
|
69
|
-
}
|
|
70
|
-
export declare function handleAaveAction(action: "supply" | "borrow" | "repay" | "withdraw", amount: string, tokenSymbol: string): Promise<AaveActionResult>;
|
|
71
|
-
export interface AuthStatusResult {
|
|
72
|
-
authenticated: boolean;
|
|
73
|
-
walletAddress: string | null;
|
|
74
|
-
sessionType: string | null;
|
|
75
|
-
chain: string;
|
|
76
|
-
fibrousStatus: string;
|
|
77
|
-
}
|
|
78
|
-
export declare function handleGetAuthStatus(chain: string): Promise<AuthStatusResult>;
|
|
79
|
-
export interface ConfigResult {
|
|
80
|
-
action: string;
|
|
81
|
-
chain?: string;
|
|
82
|
-
url?: string;
|
|
83
|
-
rpcUrls?: Record<string, string>;
|
|
84
|
-
}
|
|
85
|
-
export declare function handleConfigAction(action: "set-rpc" | "get-rpc" | "reset-rpc" | "list", chain?: string, url?: string): Promise<ConfigResult>;
|
|
86
|
-
export declare function handleGetPortfolio(): Promise<Portfolio>;
|
|
87
|
-
//# sourceMappingURL=handlers.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
|