fibx 0.4.2 → 0.5.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.
Files changed (147) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +80 -30
  3. package/dist/commands/auth/import.d.ts.map +1 -1
  4. package/dist/commands/auth/import.js +15 -15
  5. package/dist/commands/auth/import.js.map +1 -1
  6. package/dist/commands/auth/login.d.ts.map +1 -1
  7. package/dist/commands/auth/login.js +9 -11
  8. package/dist/commands/auth/login.js.map +1 -1
  9. package/dist/commands/auth/logout.d.ts.map +1 -1
  10. package/dist/commands/auth/logout.js +3 -11
  11. package/dist/commands/auth/logout.js.map +1 -1
  12. package/dist/commands/auth/verify.d.ts.map +1 -1
  13. package/dist/commands/auth/verify.js +10 -9
  14. package/dist/commands/auth/verify.js.map +1 -1
  15. package/dist/commands/chain/transaction.d.ts.map +1 -1
  16. package/dist/commands/chain/transaction.js +13 -13
  17. package/dist/commands/chain/transaction.js.map +1 -1
  18. package/dist/commands/config/index.d.ts.map +1 -1
  19. package/dist/commands/config/index.js +40 -8
  20. package/dist/commands/config/index.js.map +1 -1
  21. package/dist/commands/defi/aave.d.ts +1 -0
  22. package/dist/commands/defi/aave.d.ts.map +1 -1
  23. package/dist/commands/defi/aave.js +105 -40
  24. package/dist/commands/defi/aave.js.map +1 -1
  25. package/dist/commands/portfolio/index.d.ts +3 -0
  26. package/dist/commands/portfolio/index.d.ts.map +1 -0
  27. package/dist/commands/portfolio/index.js +64 -0
  28. package/dist/commands/portfolio/index.js.map +1 -0
  29. package/dist/commands/trade/status.d.ts.map +1 -1
  30. package/dist/commands/trade/status.js +17 -19
  31. package/dist/commands/trade/status.js.map +1 -1
  32. package/dist/commands/trade/swap.d.ts +1 -0
  33. package/dist/commands/trade/swap.d.ts.map +1 -1
  34. package/dist/commands/trade/swap.js +156 -101
  35. package/dist/commands/trade/swap.js.map +1 -1
  36. package/dist/commands/wallet/address.d.ts.map +1 -1
  37. package/dist/commands/wallet/address.js +7 -9
  38. package/dist/commands/wallet/address.js.map +1 -1
  39. package/dist/commands/wallet/balance.d.ts.map +1 -1
  40. package/dist/commands/wallet/balance.js +42 -22
  41. package/dist/commands/wallet/balance.js.map +1 -1
  42. package/dist/commands/wallet/list.d.ts +1 -1
  43. package/dist/commands/wallet/list.d.ts.map +1 -1
  44. package/dist/commands/wallet/list.js +7 -16
  45. package/dist/commands/wallet/list.js.map +1 -1
  46. package/dist/commands/wallet/send.d.ts +5 -1
  47. package/dist/commands/wallet/send.d.ts.map +1 -1
  48. package/dist/commands/wallet/send.js +66 -24
  49. package/dist/commands/wallet/send.js.map +1 -1
  50. package/dist/index.js +185 -22
  51. package/dist/index.js.map +1 -1
  52. package/dist/lib/brand.d.ts +5 -0
  53. package/dist/lib/brand.d.ts.map +1 -0
  54. package/dist/lib/brand.js +15 -0
  55. package/dist/lib/brand.js.map +1 -0
  56. package/dist/lib/cli-helpers.d.ts +10 -0
  57. package/dist/lib/cli-helpers.d.ts.map +1 -0
  58. package/dist/lib/cli-helpers.js +20 -0
  59. package/dist/lib/cli-helpers.js.map +1 -0
  60. package/dist/lib/concurrency.d.ts +8 -0
  61. package/dist/lib/concurrency.d.ts.map +1 -0
  62. package/dist/lib/concurrency.js +26 -0
  63. package/dist/lib/concurrency.js.map +1 -0
  64. package/dist/lib/config.d.ts.map +1 -1
  65. package/dist/lib/config.js +1 -2
  66. package/dist/lib/config.js.map +1 -1
  67. package/dist/lib/errors.d.ts +1 -0
  68. package/dist/lib/errors.d.ts.map +1 -1
  69. package/dist/lib/errors.js +1 -0
  70. package/dist/lib/errors.js.map +1 -1
  71. package/dist/lib/format.d.ts +26 -3
  72. package/dist/lib/format.d.ts.map +1 -1
  73. package/dist/lib/format.js +131 -31
  74. package/dist/lib/format.js.map +1 -1
  75. package/dist/lib/parse-evm-error.d.ts +6 -0
  76. package/dist/lib/parse-evm-error.d.ts.map +1 -0
  77. package/dist/lib/parse-evm-error.js +48 -0
  78. package/dist/lib/parse-evm-error.js.map +1 -0
  79. package/dist/lib/parseAmount.d.ts.map +1 -1
  80. package/dist/lib/parseAmount.js +0 -1
  81. package/dist/lib/parseAmount.js.map +1 -1
  82. package/dist/lib/retry.d.ts +20 -0
  83. package/dist/lib/retry.d.ts.map +1 -0
  84. package/dist/lib/retry.js +36 -0
  85. package/dist/lib/retry.js.map +1 -0
  86. package/dist/mcp/handlers.d.ts +7 -1
  87. package/dist/mcp/handlers.d.ts.map +1 -1
  88. package/dist/mcp/handlers.js +86 -18
  89. package/dist/mcp/handlers.js.map +1 -1
  90. package/dist/mcp/server.d.ts.map +1 -1
  91. package/dist/mcp/server.js +4 -3
  92. package/dist/mcp/server.js.map +1 -1
  93. package/dist/mcp/tools.d.ts.map +1 -1
  94. package/dist/mcp/tools.js +16 -3
  95. package/dist/mcp/tools.js.map +1 -1
  96. package/dist/services/auth/session.d.ts.map +1 -1
  97. package/dist/services/auth/session.js +22 -1
  98. package/dist/services/auth/session.js.map +1 -1
  99. package/dist/services/chain/client.d.ts +9376 -241
  100. package/dist/services/chain/client.d.ts.map +1 -1
  101. package/dist/services/chain/client.js +0 -1
  102. package/dist/services/chain/client.js.map +1 -1
  103. package/dist/services/chain/constants.d.ts.map +1 -1
  104. package/dist/services/chain/constants.js +1 -2
  105. package/dist/services/chain/constants.js.map +1 -1
  106. package/dist/services/chain/erc20.d.ts +5 -183
  107. package/dist/services/chain/erc20.d.ts.map +1 -1
  108. package/dist/services/chain/erc20.js +15 -128
  109. package/dist/services/chain/erc20.js.map +1 -1
  110. package/dist/services/chain/nonceManager.d.ts.map +1 -1
  111. package/dist/services/chain/nonceManager.js +0 -3
  112. package/dist/services/chain/nonceManager.js.map +1 -1
  113. package/dist/services/config/config.d.ts +2 -0
  114. package/dist/services/config/config.d.ts.map +1 -1
  115. package/dist/services/config/config.js +9 -1
  116. package/dist/services/config/config.js.map +1 -1
  117. package/dist/services/defi/aave.d.ts +12 -10
  118. package/dist/services/defi/aave.d.ts.map +1 -1
  119. package/dist/services/defi/aave.js +83 -46
  120. package/dist/services/defi/aave.js.map +1 -1
  121. package/dist/services/defi/abi/aave.d.ts +99 -0
  122. package/dist/services/defi/abi/aave.d.ts.map +1 -1
  123. package/dist/services/defi/abi/aave.js +53 -0
  124. package/dist/services/defi/abi/aave.js.map +1 -1
  125. package/dist/services/defi/constants.d.ts +0 -4
  126. package/dist/services/defi/constants.d.ts.map +1 -1
  127. package/dist/services/defi/constants.js +1 -6
  128. package/dist/services/defi/constants.js.map +1 -1
  129. package/dist/services/fibrous/balances.d.ts.map +1 -1
  130. package/dist/services/fibrous/balances.js +12 -9
  131. package/dist/services/fibrous/balances.js.map +1 -1
  132. package/dist/services/fibrous/route.d.ts.map +1 -1
  133. package/dist/services/fibrous/route.js +17 -9
  134. package/dist/services/fibrous/route.js.map +1 -1
  135. package/dist/services/fibrous/tokens.d.ts +1 -0
  136. package/dist/services/fibrous/tokens.d.ts.map +1 -1
  137. package/dist/services/fibrous/tokens.js +7 -4
  138. package/dist/services/fibrous/tokens.js.map +1 -1
  139. package/dist/services/portfolio/portfolio.d.ts +28 -0
  140. package/dist/services/portfolio/portfolio.d.ts.map +1 -0
  141. package/dist/services/portfolio/portfolio.js +116 -0
  142. package/dist/services/portfolio/portfolio.js.map +1 -0
  143. package/dist/services/privy/account.d.ts +16 -14
  144. package/dist/services/privy/account.d.ts.map +1 -1
  145. package/dist/services/privy/account.js +6 -16
  146. package/dist/services/privy/account.js.map +1 -1
  147. package/package.json +9 -9
@@ -2,8 +2,7 @@ import envPaths from "env-paths";
2
2
  export const paths = envPaths("fibx");
3
3
  export const FIBROUS_BASE_URL = "https://api.fibrous.finance";
4
4
  export const FIBROUS_GRAPH_URL = "https://graph.fibrous.finance";
5
- // Hardcoded default API URL for the package
6
- // Users can override this with FIBX_API_URL env var if needed (e.g. for local dev)
5
+ // Override with FIBX_API_URL env var for local dev
7
6
  export const FIBX_API_URL_DEFAULT = "https://gmfg2nswbe.eu-west-1.awsapprunner.com";
8
7
  export const DEFAULT_SLIPPAGE = 0.5;
9
8
  export const TOKEN_CACHE_TTL_MS = 24 * 60 * 60 * 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAEjE,4CAA4C;AAC5C,mFAAmF;AACnF,MAAM,CAAC,MAAM,oBAAoB,GAAG,+CAA+C,CAAC;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/lib/config.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,WAAW,CAAC;AAEjC,MAAM,CAAC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;AAEtC,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAEjE,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,+CAA+C,CAAC;AAEpF,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export declare enum ErrorCode {
2
2
  NOT_AUTHENTICATED = "NOT_AUTHENTICATED",
3
+ SESSION_EXPIRED = "SESSION_EXPIRED",
3
4
  INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
4
5
  TOKEN_NOT_SUPPORTED = "TOKEN_NOT_SUPPORTED",
5
6
  ROUTE_NOT_FOUND = "ROUTE_NOT_FOUND",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACpB,iBAAiB,sBAAsB;IACvC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;CAC7B;AAED,qBAAa,SAAU,SAAQ,KAAK;IACnC,SAAgB,IAAI,EAAE,SAAS,CAAC;gBAEpB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM3E,MAAM;;;;;CAON"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACpB,iBAAiB,sBAAsB;IACvC,eAAe,oBAAoB;IACnC,oBAAoB,yBAAyB;IAC7C,mBAAmB,wBAAwB;IAC3C,eAAe,oBAAoB;IACnC,SAAS,cAAc;IACvB,eAAe,oBAAoB;IACnC,cAAc,mBAAmB;IACjC,WAAW,gBAAgB;IAC3B,aAAa,kBAAkB;IAC/B,gBAAgB,qBAAqB;IACrC,aAAa,kBAAkB;IAC/B,iBAAiB,sBAAsB;IACvC,YAAY,iBAAiB;CAC7B;AAED,qBAAa,SAAU,SAAQ,KAAK;IACnC,SAAgB,IAAI,EAAE,SAAS,CAAC;gBAEpB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE;IAM3E,MAAM;;;;;CAON"}
@@ -1,6 +1,7 @@
1
1
  export var ErrorCode;
2
2
  (function (ErrorCode) {
3
3
  ErrorCode["NOT_AUTHENTICATED"] = "NOT_AUTHENTICATED";
4
+ ErrorCode["SESSION_EXPIRED"] = "SESSION_EXPIRED";
4
5
  ErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
5
6
  ErrorCode["TOKEN_NOT_SUPPORTED"] = "TOKEN_NOT_SUPPORTED";
6
7
  ErrorCode["ROUTE_NOT_FOUND"] = "ROUTE_NOT_FOUND";
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAcX;AAdD,WAAY,SAAS;IACpB,oDAAuC,CAAA;IACvC,0DAA6C,CAAA;IAC7C,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;IAC/B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;AAC9B,CAAC,EAdW,SAAS,KAAT,SAAS,QAcpB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnB,IAAI,CAAY;IAEhC,YAAY,IAAe,EAAE,OAAe,EAAE,OAA6B;QAC1E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM;QACL,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACH,CAAC;CACD"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/lib/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB,oDAAuC,CAAA;IACvC,gDAAmC,CAAA;IACnC,0DAA6C,CAAA;IAC7C,wDAA2C,CAAA;IAC3C,gDAAmC,CAAA;IACnC,oCAAuB,CAAA;IACvB,gDAAmC,CAAA;IACnC,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,4CAA+B,CAAA;IAC/B,kDAAqC,CAAA;IACrC,4CAA+B,CAAA;IAC/B,oDAAuC,CAAA;IACvC,0CAA6B,CAAA;AAC9B,CAAC,EAfW,SAAS,KAAT,SAAS,QAepB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnB,IAAI,CAAY;IAEhC,YAAY,IAAe,EAAE,OAAe,EAAE,OAA6B;QAC1E,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAClB,CAAC;IAED,MAAM;QACL,OAAO;YACN,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACrB,CAAC;IACH,CAAC;CACD"}
@@ -1,8 +1,31 @@
1
- import { type Ora } from "ora";
2
1
  export interface OutputOptions {
3
2
  json: boolean;
4
3
  }
5
- export declare function outputResult(data: unknown, opts: OutputOptions): void;
4
+ export interface GlobalOptions extends OutputOptions {
5
+ chain?: string;
6
+ }
7
+ export declare function formatResult(data: Record<string, unknown>, options?: {
8
+ json?: boolean;
9
+ }): string;
10
+ export declare function outputResult(data: Record<string, unknown>, opts: {
11
+ json?: boolean;
12
+ }): void;
6
13
  export declare function outputError(error: unknown, opts: OutputOptions): void;
7
- export declare function withSpinner<T>(label: string, fn: (spinner: Ora) => Promise<T>, opts: OutputOptions): Promise<T>;
14
+ export declare function formatTable(headers: string[], rows: string[][]): string;
15
+ export declare function formatError(error: unknown): string;
16
+ export declare function success(msg: string): string;
17
+ export declare function warn(msg: string): string;
18
+ export declare function createSpinner(text: string): NonTtySpinner | import("ora").Ora;
19
+ export declare function withSpinner<T>(label: string, fn: (spinner: ReturnType<typeof createSpinner>) => Promise<T>, opts: OutputOptions): Promise<T>;
20
+ declare class NonTtySpinner {
21
+ text: string;
22
+ constructor(initialText: string);
23
+ start(): this;
24
+ stop(): this;
25
+ succeed(msg?: string): this;
26
+ fail(msg?: string): this;
27
+ info(msg?: string): this;
28
+ warn(msg?: string): this;
29
+ }
30
+ export {};
8
31
  //# sourceMappingURL=format.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AACA,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAGpC,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,OAAO,CAAC;CACd;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAQrE;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAgBrE;AAED,wBAAsB,WAAW,CAAC,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,EAChC,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,CAAC,CAAC,CAYZ"}
1
+ {"version":3,"file":"format.d.ts","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,aAAc,SAAQ,aAAa;IACnD,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AA8BD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,MAAM,CAsBhG;AAID,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAE1F;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,GAAG,IAAI,CAgBrE;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAwBvE;AAID,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKlD;AAID,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE3C;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAExC;AAKD,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,qCAKzC;AAGD,wBAAsB,WAAW,CAAC,CAAC,EAClC,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,aAAa,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC7D,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,CAAC,CAAC,CAcZ;AAGD,cAAM,aAAa;IAClB,IAAI,EAAE,MAAM,CAAC;gBACD,WAAW,EAAE,MAAM;IAG/B,KAAK,IAAI,IAAI;IAGb,IAAI,IAAI,IAAI;IAGZ,OAAO,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;IAIxB,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI;CAIxB"}
@@ -1,16 +1,59 @@
1
1
  import chalk from "chalk";
2
2
  import ora from "ora";
3
+ import { BLUE, MINT, SLATE } from "./brand.js";
3
4
  import { FibxError } from "./errors.js";
4
- export function outputResult(data, opts) {
5
- if (opts.json) {
6
- process.stdout.write(JSON.stringify(data, null, 2) + "\n");
7
- }
8
- else if (typeof data === "object" && data !== null) {
9
- formatTable(data);
10
- }
11
- else {
12
- console.log(data);
5
+ import { parseEvmError } from "./parse-evm-error.js";
6
+ // ── Terminal Hyperlinks ──────────────────────────────────────────────
7
+ function hyperlink(text, url) {
8
+ return `\x1b]8;;${url}\x07${text}\x1b]8;;\x07`;
9
+ }
10
+ // ── Semantic Colorization ────────────────────────────────────────────
11
+ // Colors values based on key name, not value type.
12
+ function colorizeValue(key, value) {
13
+ if (key === "explorer")
14
+ return chalk.dim(hyperlink(value, value));
15
+ if (key === "txHash")
16
+ return chalk.hex(BLUE).dim(value);
17
+ if (key === "revertReason")
18
+ return chalk.red(value);
19
+ if (key === "mode" && value.includes("SIMULATION"))
20
+ return chalk.yellow(value);
21
+ if (/fee/i.test(key) && !/usd/i.test(key))
22
+ return chalk.yellow(value);
23
+ if (/usd/i.test(key))
24
+ return chalk.hex(MINT)(value);
25
+ if (typeof value === "string" && /^0x[a-fA-F0-9]{40,}$/.test(value))
26
+ return chalk.hex(BLUE).dim(value);
27
+ return chalk.white(value);
28
+ }
29
+ function bigintReplacer(_key, value) {
30
+ return typeof value === "bigint" ? value.toString() : value;
31
+ }
32
+ // ── Result Formatting ────────────────────────────────────────────────
33
+ // Key-value output with semantic coloring and dynamic label width.
34
+ export function formatResult(data, options) {
35
+ if (options?.json) {
36
+ return JSON.stringify(data, bigintReplacer, 2);
13
37
  }
38
+ const keys = Object.keys(data);
39
+ const labelWidth = Math.max(12, ...keys.map((k) => k.length)) + 2;
40
+ return Object.entries(data)
41
+ .map(([key, value]) => {
42
+ const label = chalk.dim(key.padEnd(labelWidth));
43
+ const val = typeof value === "string" || typeof value === "number"
44
+ ? colorizeValue(key, String(value))
45
+ : typeof value === "boolean"
46
+ ? value
47
+ ? chalk.green("✓")
48
+ : chalk.red("✗")
49
+ : chalk.dim(JSON.stringify(value, bigintReplacer));
50
+ return ` ${label}${val}`;
51
+ })
52
+ .join("\n");
53
+ }
54
+ // ── Output Helpers ───────────────────────────────────────────────────
55
+ export function outputResult(data, opts) {
56
+ console.log(formatResult(data, { json: opts.json }));
14
57
  }
15
58
  export function outputError(error, opts) {
16
59
  if (error instanceof FibxError) {
@@ -18,7 +61,7 @@ export function outputError(error, opts) {
18
61
  process.stdout.write(JSON.stringify(error.toJSON(), null, 2) + "\n");
19
62
  }
20
63
  else {
21
- console.error(chalk.red(`✗ [${error.code}] ${error.message}`));
64
+ console.error(formatError(error));
22
65
  }
23
66
  }
24
67
  else {
@@ -27,15 +70,59 @@ export function outputError(error, opts) {
27
70
  process.stdout.write(JSON.stringify({ error: true, message: msg }, null, 2) + "\n");
28
71
  }
29
72
  else {
30
- console.error(chalk.red(`✗ ${msg}`));
73
+ console.error(formatError(error));
31
74
  }
32
75
  }
33
76
  process.exitCode = 1;
34
77
  }
78
+ // ── Table Formatting ─────────────────────────────────────────────────
79
+ // Headers with separator and zebra-striped rows.
80
+ export function formatTable(headers, rows) {
81
+ const colWidths = headers.map((h, colIdx) => Math.max(h.length, ...rows.map((r) => (r[colIdx] ?? "").length)));
82
+ const headerLine = " " + headers.map((h, i) => chalk.bold.white(h.padEnd(colWidths[i]))).join(" ");
83
+ const separator = " " + colWidths.map((w) => chalk.dim("─".repeat(w))).join(" ");
84
+ const dataLines = rows.map((row, rowIdx) => {
85
+ const isEven = rowIdx % 2 === 0;
86
+ return (" " +
87
+ row
88
+ .map((cell, colIdx) => {
89
+ const padded = (cell ?? "").padEnd(colWidths[colIdx]);
90
+ if (colIdx === 0)
91
+ return chalk.white(padded);
92
+ return isEven ? chalk.hex(SLATE)(padded) : chalk.dim(padded);
93
+ })
94
+ .join(" "));
95
+ });
96
+ return [headerLine, separator, ...dataLines].join("\n");
97
+ }
98
+ // ── Error Formatting ─────────────────────────────────────────────────
99
+ export function formatError(error) {
100
+ if (error instanceof FibxError) {
101
+ return chalk.red(`✖ [${error.code}] ${error.message}`);
102
+ }
103
+ return chalk.red(`✖ ${parseEvmError(error)}`);
104
+ }
105
+ // ── Message Helpers ──────────────────────────────────────────────────
106
+ export function success(msg) {
107
+ return chalk.hex(MINT).bold(`✔ ${msg}`);
108
+ }
109
+ export function warn(msg) {
110
+ return chalk.yellow(`⚠ ${msg}`);
111
+ }
112
+ // ── Spinner ──────────────────────────────────────────────────────────
113
+ // Returns ora() on TTY, NonTtySpinner on piped/CI output.
114
+ export function createSpinner(text) {
115
+ if (!process.stdout.isTTY) {
116
+ return new NonTtySpinner(text);
117
+ }
118
+ return ora({ text, spinner: "dots" });
119
+ }
120
+ // Backward-compatible withSpinner wrapper.
35
121
  export async function withSpinner(label, fn, opts) {
36
- if (opts.json)
37
- return fn(ora({ isSilent: true }));
38
- const spinner = ora(label).start();
122
+ if (opts.json) {
123
+ return fn(new NonTtySpinner(label));
124
+ }
125
+ const spinner = createSpinner(label).start();
39
126
  try {
40
127
  const result = await fn(spinner);
41
128
  spinner.succeed();
@@ -46,24 +133,37 @@ export async function withSpinner(label, fn, opts) {
46
133
  throw error;
47
134
  }
48
135
  }
49
- function formatTable(data) {
50
- const maxKeyLen = Math.max(...Object.keys(data).map((k) => k.length));
51
- for (const [key, value] of Object.entries(data)) {
52
- console.log(` ${chalk.dim(key.padEnd(maxKeyLen))} ${formatValue(value)}`);
136
+ // Minimal shim for non-TTY environments (CI, piped output).
137
+ class NonTtySpinner {
138
+ text;
139
+ constructor(initialText) {
140
+ this.text = initialText;
53
141
  }
54
- }
55
- function formatValue(value) {
56
- if (typeof value === "boolean")
57
- return value ? chalk.green("✓") : chalk.red("✗");
58
- if (typeof value === "number")
59
- return chalk.cyan(value.toString());
60
- if (typeof value === "string") {
61
- if (/^0x[a-fA-F0-9]{40}$/.test(value))
62
- return chalk.yellow(value);
63
- return chalk.white(value);
142
+ start() {
143
+ return this;
144
+ }
145
+ stop() {
146
+ return this;
147
+ }
148
+ succeed(msg) {
149
+ if (msg)
150
+ console.log(success(msg));
151
+ return this;
152
+ }
153
+ fail(msg) {
154
+ if (msg)
155
+ console.error(formatError(new Error(msg)));
156
+ return this;
157
+ }
158
+ info(msg) {
159
+ if (msg)
160
+ console.log(chalk.hex(BLUE)(`ℹ ${msg}`));
161
+ return this;
162
+ }
163
+ warn(msg) {
164
+ if (msg)
165
+ console.log(chalk.yellow(`⚠ ${msg}`));
166
+ return this;
64
167
  }
65
- if (typeof value === "object" && value !== null)
66
- return chalk.dim(JSON.stringify(value));
67
- return String(value);
68
168
  }
69
169
  //# sourceMappingURL=format.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,MAAM,UAAU,YAAY,CAAC,IAAa,EAAE,IAAmB;IAC9D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QACtD,WAAW,CAAC,IAA+B,CAAC,CAAC;IAC9C,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,IAAmB;IAC9D,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAChE,CAAC;IACF,CAAC;SAAM,CAAC;QACP,MAAM,GAAG,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrF,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,KAAa,EACb,EAAgC,EAChC,IAAmB;IAEnB,IAAI,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC;IACnC,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,KAAK,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,IAA6B;IACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAEtE,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7E,CAAC;AACF,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IAClC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACjF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEnE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,IAAI,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClE,OAAO,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../../src/lib/format.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Parses a raw EVM/viem error into a human-readable message.
3
+ * Falls back to the original message (truncated) if no pattern matches.
4
+ */
5
+ export declare function parseEvmError(error: unknown): string;
6
+ //# sourceMappingURL=parse-evm-error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-evm-error.d.ts","sourceRoot":"","sources":["../../src/lib/parse-evm-error.ts"],"names":[],"mappings":"AAuCA;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CASpD"}
@@ -0,0 +1,48 @@
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
@@ -0,0 +1 @@
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 +1 @@
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,CAIpE;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErE"}
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"}
@@ -1,6 +1,5 @@
1
1
  import { parseUnits, formatUnits } from "viem";
2
2
  export function parseAmount(amount, decimals) {
3
- // Remove "$" and commas
4
3
  const cleanAmount = amount.replace(/[$,]/g, "");
5
4
  return parseUnits(cleanAmount, decimals);
6
5
  }
@@ -1 +1 @@
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,wBAAwB;IACxB,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"}
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"}
@@ -0,0 +1,20 @@
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
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,36 @@
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
@@ -0,0 +1 @@
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"}
@@ -1,3 +1,4 @@
1
+ import type { Portfolio } from "../services/portfolio/portfolio.js";
1
2
  export interface BalanceResult {
2
3
  wallet: string;
3
4
  chain: string;
@@ -12,6 +13,7 @@ export interface SwapResult {
12
13
  tokenOut: string;
13
14
  router: string;
14
15
  chain: string;
16
+ explorer?: string;
15
17
  }
16
18
  export declare function handleSwapTokens(amount: string, fromToken: string, toToken: string, chain: string, slippage: number): Promise<SwapResult>;
17
19
  export interface SendResult {
@@ -20,6 +22,7 @@ export interface SendResult {
20
22
  token: string;
21
23
  recipient: string;
22
24
  chain: string;
25
+ explorer?: string;
23
26
  }
24
27
  export declare function handleSendTokens(amount: string, recipient: string, token: string | undefined, chain: string): Promise<SendResult>;
25
28
  export interface TxStatusResult {
@@ -30,6 +33,7 @@ export interface TxStatusResult {
30
33
  to: string | null;
31
34
  gasUsed: string | null;
32
35
  chain: string;
36
+ explorer?: string;
33
37
  }
34
38
  export declare function handleGetTxStatus(hash: string, chain: string): Promise<TxStatusResult>;
35
39
  export interface AaveStatusResult {
@@ -46,6 +50,7 @@ export interface AaveActionResult {
46
50
  token: string;
47
51
  txHash: string;
48
52
  chain: string;
53
+ explorer?: string;
49
54
  }
50
55
  export declare function handleAaveAction(action: "supply" | "borrow" | "repay" | "withdraw", amount: string, tokenSymbol: string): Promise<AaveActionResult>;
51
56
  export interface AuthStatusResult {
@@ -62,5 +67,6 @@ export interface ConfigResult {
62
67
  url?: string;
63
68
  rpcUrls?: Record<string, string>;
64
69
  }
65
- export declare function handleConfigAction(action: "set-rpc" | "get-rpc" | "list", chain?: string, url?: string): Promise<ConfigResult>;
70
+ export declare function handleConfigAction(action: "set-rpc" | "get-rpc" | "reset-rpc" | "list", chain?: string, url?: string): Promise<ConfigResult>;
71
+ export declare function handleGetPortfolio(): Promise<Portfolio>;
66
72
  //# sourceMappingURL=handlers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../src/mcp/handlers.ts"],"names":[],"mappings":"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"}