fibx 0.1.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 (102) hide show
  1. package/README.md +159 -0
  2. package/dist/chain/chains.d.ts +14 -0
  3. package/dist/chain/chains.d.ts.map +1 -0
  4. package/dist/chain/chains.js +21 -0
  5. package/dist/chain/chains.js.map +1 -0
  6. package/dist/chain/erc20.d.ts +6 -0
  7. package/dist/chain/erc20.d.ts.map +1 -0
  8. package/dist/chain/erc20.js +72 -0
  9. package/dist/chain/erc20.js.map +1 -0
  10. package/dist/chain/viem.d.ts +24029 -0
  11. package/dist/chain/viem.d.ts.map +1 -0
  12. package/dist/chain/viem.js +74 -0
  13. package/dist/chain/viem.js.map +1 -0
  14. package/dist/cli.d.ts +3 -0
  15. package/dist/cli.d.ts.map +1 -0
  16. package/dist/cli.js +85 -0
  17. package/dist/cli.js.map +1 -0
  18. package/dist/commands/address.d.ts +3 -0
  19. package/dist/commands/address.d.ts.map +1 -0
  20. package/dist/commands/address.js +15 -0
  21. package/dist/commands/address.js.map +1 -0
  22. package/dist/commands/auth-login.d.ts +3 -0
  23. package/dist/commands/auth-login.d.ts.map +1 -0
  24. package/dist/commands/auth-login.js +34 -0
  25. package/dist/commands/auth-login.js.map +1 -0
  26. package/dist/commands/auth-verify.d.ts +3 -0
  27. package/dist/commands/auth-verify.d.ts.map +1 -0
  28. package/dist/commands/auth-verify.js +64 -0
  29. package/dist/commands/auth-verify.js.map +1 -0
  30. package/dist/commands/balance.d.ts +3 -0
  31. package/dist/commands/balance.d.ts.map +1 -0
  32. package/dist/commands/balance.js +36 -0
  33. package/dist/commands/balance.js.map +1 -0
  34. package/dist/commands/send.d.ts +3 -0
  35. package/dist/commands/send.d.ts.map +1 -0
  36. package/dist/commands/send.js +58 -0
  37. package/dist/commands/send.js.map +1 -0
  38. package/dist/commands/status.d.ts +3 -0
  39. package/dist/commands/status.d.ts.map +1 -0
  40. package/dist/commands/status.js +31 -0
  41. package/dist/commands/status.js.map +1 -0
  42. package/dist/commands/trade.d.ts +7 -0
  43. package/dist/commands/trade.d.ts.map +1 -0
  44. package/dist/commands/trade.js +69 -0
  45. package/dist/commands/trade.js.map +1 -0
  46. package/dist/commands/wallets.d.ts +3 -0
  47. package/dist/commands/wallets.d.ts.map +1 -0
  48. package/dist/commands/wallets.js +39 -0
  49. package/dist/commands/wallets.js.map +1 -0
  50. package/dist/fibrous/abi/base.d.ts +768 -0
  51. package/dist/fibrous/abi/base.d.ts.map +1 -0
  52. package/dist/fibrous/abi/base.js +984 -0
  53. package/dist/fibrous/abi/base.js.map +1 -0
  54. package/dist/fibrous/health.d.ts +11 -0
  55. package/dist/fibrous/health.d.ts.map +1 -0
  56. package/dist/fibrous/health.js +18 -0
  57. package/dist/fibrous/health.js.map +1 -0
  58. package/dist/fibrous/route.d.ts +47 -0
  59. package/dist/fibrous/route.d.ts.map +1 -0
  60. package/dist/fibrous/route.js +60 -0
  61. package/dist/fibrous/route.js.map +1 -0
  62. package/dist/fibrous/tokens.d.ts +10 -0
  63. package/dist/fibrous/tokens.d.ts.map +1 -0
  64. package/dist/fibrous/tokens.js +37 -0
  65. package/dist/fibrous/tokens.js.map +1 -0
  66. package/dist/format/output.d.ts +8 -0
  67. package/dist/format/output.d.ts.map +1 -0
  68. package/dist/format/output.js +69 -0
  69. package/dist/format/output.js.map +1 -0
  70. package/dist/utils/cache.d.ts +3 -0
  71. package/dist/utils/cache.d.ts.map +1 -0
  72. package/dist/utils/cache.js +23 -0
  73. package/dist/utils/cache.js.map +1 -0
  74. package/dist/utils/config.d.ts +7 -0
  75. package/dist/utils/config.d.ts.map +1 -0
  76. package/dist/utils/config.js +8 -0
  77. package/dist/utils/config.js.map +1 -0
  78. package/dist/utils/errors.d.ts +22 -0
  79. package/dist/utils/errors.d.ts.map +1 -0
  80. package/dist/utils/errors.js +29 -0
  81. package/dist/utils/errors.js.map +1 -0
  82. package/dist/utils/parseAmount.d.ts +3 -0
  83. package/dist/utils/parseAmount.d.ts.map +1 -0
  84. package/dist/utils/parseAmount.js +10 -0
  85. package/dist/utils/parseAmount.js.map +1 -0
  86. package/dist/utils/validation.d.ts +6 -0
  87. package/dist/utils/validation.d.ts.map +1 -0
  88. package/dist/utils/validation.js +24 -0
  89. package/dist/utils/validation.js.map +1 -0
  90. package/dist/wallet/policy.d.ts +2 -0
  91. package/dist/wallet/policy.d.ts.map +1 -0
  92. package/dist/wallet/policy.js +3 -0
  93. package/dist/wallet/policy.js.map +1 -0
  94. package/dist/wallet/privy.d.ts +15 -0
  95. package/dist/wallet/privy.d.ts.map +1 -0
  96. package/dist/wallet/privy.js +63 -0
  97. package/dist/wallet/privy.js.map +1 -0
  98. package/dist/wallet/session.d.ts +15 -0
  99. package/dist/wallet/session.d.ts.map +1 -0
  100. package/dist/wallet/session.js +47 -0
  101. package/dist/wallet/session.js.map +1 -0
  102. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/fibrous/abi/base.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC5B;QACC,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,EAAE;QACV,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,SAAS;QACf,eAAe,EAAE,SAAS;KAC1B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,MAAM;aACpB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,MAAM;aACpB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;gBACZ,YAAY,EAAE,MAAM;aACpB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;QACV,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;iBACD;aACD;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,qBAAqB;gBACnC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACtB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;iBACD;aACD;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,SAAS;KAC1B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;iBACD;aACD;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,qBAAqB;gBACnC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACtB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;iBACD;aACD;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,SAAS;KAC1B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,mBAAmB;gBACjC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;iBACD;aACD;YACD;gBACC,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,qBAAqB;gBACnC,UAAU,EAAE;oBACX;wBACC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,YAAY,EAAE,QAAQ;qBACtB;oBACD;wBACC,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;oBACD;wBACC,IAAI,EAAE,cAAc;wBACpB,IAAI,EAAE,SAAS;wBACf,YAAY,EAAE,SAAS;qBACvB;oBACD;wBACC,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,eAAe;qBAC7B;oBACD;wBACC,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,OAAO;wBACb,YAAY,EAAE,OAAO;qBACrB;iBACD;aACD;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;YACD;gBACC,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,GAAG;gBACT,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,SAAS;KAC1B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,YAAY,EAAE,OAAO;aACrB;SACD;QACD,OAAO,EAAE;YACR;gBACC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,eAAe,EAAE,MAAM;KACvB;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,+BAA+B;QACrC,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,WAAW;aACzB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,WAAW;gBACjB,YAAY,EAAE,WAAW;aACzB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;QACD,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,YAAY;KAC7B;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;aACrB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,QAAQ;aACtB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,2BAA2B;QACjC,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,mBAAmB;gBACzB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,sBAAsB;QAC5B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,eAAe;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,IAAI;gBACb,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;aACrB;YACD;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,MAAM;aACpB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;YACD;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,aAAa;gBACnB,IAAI,EAAE,OAAO;gBACb,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,OAAO;aACrB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,SAAS;aACvB;SACD;QACD,SAAS,EAAE,KAAK;KAChB;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,yBAAyB;QAC/B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,gBAAgB;QACtB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,6BAA6B;QACnC,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iBAAiB;QACvB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,qBAAqB;QAC3B,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;KACD;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,4BAA4B;QAClC,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;KACD;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,oBAAoB;QAC1B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,8BAA8B;QACpC,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,0BAA0B;QAChC,MAAM,EAAE;YACP;gBACC,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,YAAY,EAAE,SAAS;aACvB;SACD;KACD;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,iCAAiC;QACvC,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,uBAAuB;QAC7B,MAAM,EAAE,EAAE;KACV;IACD;QACC,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,eAAe;QACrB,MAAM,EAAE,EAAE;KACV;CACQ,CAAC"}
@@ -0,0 +1,11 @@
1
+ interface HealthResponse {
2
+ status: number;
3
+ message: string;
4
+ meta?: {
5
+ apiVersion: string;
6
+ timestamp: string;
7
+ };
8
+ }
9
+ export declare function checkHealth(): Promise<HealthResponse>;
10
+ export {};
11
+ //# sourceMappingURL=health.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/fibrous/health.ts"],"names":[],"mappings":"AAIA,UAAU,cAAc;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE;QACN,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KAClB,CAAC;CACF;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,cAAc,CAAC,CAiB3D"}
@@ -0,0 +1,18 @@
1
+ import { FIBROUS_BASE_URL, ACTIVE_NETWORK } from "../utils/config.js";
2
+ import { getChainConfig } from "../chain/chains.js";
3
+ import { ErrorCode, FibxError } from "../utils/errors.js";
4
+ export async function checkHealth() {
5
+ try {
6
+ const chain = getChainConfig(ACTIVE_NETWORK);
7
+ const url = `${FIBROUS_BASE_URL}/${chain.fibrousNetwork}/v2/healthcheck`;
8
+ const res = await fetch(url);
9
+ if (!res.ok) {
10
+ throw new Error(`HTTP ${res.status}`);
11
+ }
12
+ return (await res.json());
13
+ }
14
+ catch (error) {
15
+ throw new FibxError(ErrorCode.FIBROUS_ERROR, `Fibrous health check failed: ${error instanceof Error ? error.message : String(error)}`);
16
+ }
17
+ }
18
+ //# sourceMappingURL=health.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/fibrous/health.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAW1D,MAAM,CAAC,KAAK,UAAU,WAAW;IAChC,IAAI,CAAC;QACJ,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,gBAAgB,IAAI,KAAK,CAAC,cAAc,iBAAiB,CAAC;QACzE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAmB,CAAC;IAC7C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,SAAS,CAClB,SAAS,CAAC,aAAa,EACvB,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACxF,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -0,0 +1,47 @@
1
+ export interface RouteToken {
2
+ name: string;
3
+ address: string;
4
+ decimals: number;
5
+ price: number;
6
+ }
7
+ export interface SwapParameter {
8
+ token_in: string;
9
+ token_out: string;
10
+ rate: string;
11
+ protocol_id: string;
12
+ pool_address: string;
13
+ swap_type: number;
14
+ extra_data: string;
15
+ }
16
+ export interface RouteAndCallDataResponse {
17
+ route: {
18
+ success: boolean;
19
+ inputToken: RouteToken;
20
+ outputToken: RouteToken;
21
+ inputAmount: string;
22
+ outputAmount: string;
23
+ };
24
+ calldata: {
25
+ route: {
26
+ token_in: string;
27
+ token_out: string;
28
+ amount_in: string;
29
+ amount_out: string;
30
+ min_received: string;
31
+ destination: string;
32
+ swap_type: number;
33
+ };
34
+ swap_parameters: SwapParameter[];
35
+ };
36
+ router_address: string;
37
+ }
38
+ export interface RouteParams {
39
+ amount: string;
40
+ tokenInAddress: string;
41
+ tokenOutAddress: string;
42
+ slippage?: number;
43
+ destination: string;
44
+ }
45
+ export declare function getRouteAndCallData(params: RouteParams): Promise<RouteAndCallDataResponse>;
46
+ export declare function encodeSwapCalldata(calldata: RouteAndCallDataResponse["calldata"]): `0x${string}`;
47
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/fibrous/route.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,UAAU;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,wBAAwB;IACxC,KAAK,EAAE;QACN,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,UAAU,CAAC;QACvB,WAAW,EAAE,UAAU,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE;QACT,KAAK,EAAE;YACN,QAAQ,EAAE,MAAM,CAAC;YACjB,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;YACpB,SAAS,EAAE,MAAM,CAAC;SAClB,CAAC;QACF,eAAe,EAAE,aAAa,EAAE,CAAC;KACjC,CAAC;IACF,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAiChG;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,wBAAwB,CAAC,UAAU,CAAC,GAAG,KAAK,MAAM,EAAE,CA4BhG"}
@@ -0,0 +1,60 @@
1
+ import { encodeFunctionData } from "viem";
2
+ import { FIBROUS_BASE_URL, ACTIVE_NETWORK, DEFAULT_SLIPPAGE } from "../utils/config.js";
3
+ import { getChainConfig } from "../chain/chains.js";
4
+ import { ErrorCode, FibxError } from "../utils/errors.js";
5
+ export async function getRouteAndCallData(params) {
6
+ const chain = getChainConfig(ACTIVE_NETWORK);
7
+ const slippage = params.slippage ?? DEFAULT_SLIPPAGE;
8
+ const url = new URL(`${FIBROUS_BASE_URL}/${chain.fibrousNetwork}/v2/routeAndCallData`);
9
+ url.searchParams.set("amount", params.amount);
10
+ url.searchParams.set("tokenInAddress", params.tokenInAddress);
11
+ url.searchParams.set("tokenOutAddress", params.tokenOutAddress);
12
+ url.searchParams.set("slippage", slippage.toString());
13
+ url.searchParams.set("destination", params.destination);
14
+ try {
15
+ const res = await fetch(url.toString());
16
+ if (!res.ok) {
17
+ const body = await res.text().catch(() => "");
18
+ throw new Error(`HTTP ${res.status}: ${body}`);
19
+ }
20
+ const data = (await res.json());
21
+ if (!data.route?.success) {
22
+ throw new FibxError(ErrorCode.ROUTE_NOT_FOUND, "No route found for this swap pair");
23
+ }
24
+ return data;
25
+ }
26
+ catch (error) {
27
+ if (error instanceof FibxError)
28
+ throw error;
29
+ throw new FibxError(ErrorCode.FIBROUS_ERROR, `Route fetch failed: ${error instanceof Error ? error.message : String(error)}`);
30
+ }
31
+ }
32
+ export function encodeSwapCalldata(calldata) {
33
+ const chain = getChainConfig(ACTIVE_NETWORK);
34
+ const { route, swap_parameters } = calldata;
35
+ return encodeFunctionData({
36
+ abi: chain.routerAbi,
37
+ functionName: "swap",
38
+ args: [
39
+ {
40
+ token_in: route.token_in,
41
+ token_out: route.token_out,
42
+ amount_in: BigInt(route.amount_in),
43
+ amount_out: BigInt(route.amount_out),
44
+ min_received: BigInt(route.min_received),
45
+ destination: route.destination,
46
+ swap_type: route.swap_type,
47
+ },
48
+ swap_parameters.map((sp) => ({
49
+ token_in: sp.token_in,
50
+ token_out: sp.token_out,
51
+ rate: Number(sp.rate),
52
+ protocol_id: Number(sp.protocol_id),
53
+ pool_address: sp.pool_address,
54
+ swap_type: sp.swap_type,
55
+ extra_data: (sp.extra_data ?? "0x"),
56
+ })),
57
+ ],
58
+ });
59
+ }
60
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/fibrous/route.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export interface Token {
2
+ name: string;
3
+ address: string;
4
+ decimals: number;
5
+ symbol: string;
6
+ }
7
+ export type TokenMap = Record<string, Token>;
8
+ export declare function getTokens(): Promise<TokenMap>;
9
+ export declare function resolveToken(symbolOrAddress: string): Promise<Token>;
10
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/fibrous/tokens.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAK7C,wBAAsB,SAAS,IAAI,OAAO,CAAC,QAAQ,CAAC,CAiBnD;AAED,wBAAsB,YAAY,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAmB1E"}
@@ -0,0 +1,37 @@
1
+ import { FIBROUS_GRAPH_URL, ACTIVE_NETWORK } from "../utils/config.js";
2
+ import { getChainConfig } from "../chain/chains.js";
3
+ import { readCache, writeCache } from "../utils/cache.js";
4
+ import { ErrorCode, FibxError } from "../utils/errors.js";
5
+ const chain = getChainConfig(ACTIVE_NETWORK);
6
+ const CACHE_KEY = `tokens-${chain.fibrousNetwork}`;
7
+ export async function getTokens() {
8
+ const cached = readCache(CACHE_KEY);
9
+ if (cached)
10
+ return cached;
11
+ try {
12
+ const res = await fetch(`${FIBROUS_GRAPH_URL}/${chain.fibrousNetwork}/tokens`);
13
+ if (!res.ok)
14
+ throw new Error(`HTTP ${res.status}`);
15
+ const data = (await res.json());
16
+ writeCache(CACHE_KEY, data);
17
+ return data;
18
+ }
19
+ catch (error) {
20
+ throw new FibxError(ErrorCode.FIBROUS_ERROR, `Failed to fetch tokens: ${error instanceof Error ? error.message : String(error)}`);
21
+ }
22
+ }
23
+ export async function resolveToken(symbolOrAddress) {
24
+ const tokens = await getTokens();
25
+ const input = symbolOrAddress.toLowerCase();
26
+ if (input.startsWith("0x")) {
27
+ const token = Object.values(tokens).find((t) => t.address.toLowerCase() === input);
28
+ if (token)
29
+ return token;
30
+ }
31
+ const token = Object.values(tokens).find((t) => t.symbol.toLowerCase() === input);
32
+ if (!token) {
33
+ throw new FibxError(ErrorCode.TOKEN_NOT_SUPPORTED, `Token "${symbolOrAddress}" not found on ${chain.name}`);
34
+ }
35
+ return token;
36
+ }
37
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/fibrous/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAW1D,MAAM,KAAK,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;AAC7C,MAAM,SAAS,GAAG,UAAU,KAAK,CAAC,cAAc,EAAE,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,SAAS;IAC9B,MAAM,MAAM,GAAG,SAAS,CAAW,SAAS,CAAC,CAAC;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAE1B,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,iBAAiB,IAAI,KAAK,CAAC,cAAc,SAAS,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnD,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAa,CAAC;QAC5C,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,IAAI,CAAC;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,MAAM,IAAI,SAAS,CAClB,SAAS,CAAC,aAAa,EACvB,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnF,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,eAAuB;IACzD,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QACnF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IACzB,CAAC;IAED,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;IAElF,IAAI,CAAC,KAAK,EAAE,CAAC;QACZ,MAAM,IAAI,SAAS,CAClB,SAAS,CAAC,mBAAmB,EAC7B,UAAU,eAAe,kBAAkB,KAAK,CAAC,IAAI,EAAE,CACvD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type Ora } from "ora";
2
+ export interface OutputOptions {
3
+ json: boolean;
4
+ }
5
+ export declare function outputResult(data: unknown, opts: OutputOptions): void;
6
+ 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>;
8
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/format/output.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"}
@@ -0,0 +1,69 @@
1
+ import chalk from "chalk";
2
+ import ora from "ora";
3
+ import { FibxError } from "../utils/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);
13
+ }
14
+ }
15
+ export function outputError(error, opts) {
16
+ if (error instanceof FibxError) {
17
+ if (opts.json) {
18
+ process.stdout.write(JSON.stringify(error.toJSON(), null, 2) + "\n");
19
+ }
20
+ else {
21
+ console.error(chalk.red(`✗ [${error.code}] ${error.message}`));
22
+ }
23
+ }
24
+ else {
25
+ const msg = error instanceof Error ? error.message : String(error);
26
+ if (opts.json) {
27
+ process.stdout.write(JSON.stringify({ error: true, message: msg }, null, 2) + "\n");
28
+ }
29
+ else {
30
+ console.error(chalk.red(`✗ ${msg}`));
31
+ }
32
+ }
33
+ process.exitCode = 1;
34
+ }
35
+ export async function withSpinner(label, fn, opts) {
36
+ if (opts.json)
37
+ return fn(ora({ isSilent: true }));
38
+ const spinner = ora(label).start();
39
+ try {
40
+ const result = await fn(spinner);
41
+ spinner.succeed();
42
+ return result;
43
+ }
44
+ catch (error) {
45
+ spinner.fail();
46
+ throw error;
47
+ }
48
+ }
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)}`);
53
+ }
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);
64
+ }
65
+ if (typeof value === "object" && value !== null)
66
+ return chalk.dim(JSON.stringify(value));
67
+ return String(value);
68
+ }
69
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/format/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare function readCache<T>(key: string, ttlMs?: number): T | null;
2
+ export declare function writeCache(key: string, data: unknown): void;
3
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAaA,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAA2B,GAAG,CAAC,GAAG,IAAI,CAQtF;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAM3D"}
@@ -0,0 +1,23 @@
1
+ import { readFileSync, writeFileSync, mkdirSync } from "node:fs";
2
+ import { join, dirname } from "node:path";
3
+ import { paths, TOKEN_CACHE_TTL_MS } from "./config.js";
4
+ function getCachePath(key) {
5
+ return join(paths.cache, `${key}.json`);
6
+ }
7
+ export function readCache(key, ttlMs = TOKEN_CACHE_TTL_MS) {
8
+ try {
9
+ const raw = readFileSync(getCachePath(key), "utf-8");
10
+ const entry = JSON.parse(raw);
11
+ return Date.now() - entry._cachedAt > ttlMs ? null : entry.data;
12
+ }
13
+ catch {
14
+ return null;
15
+ }
16
+ }
17
+ export function writeCache(key, data) {
18
+ const filePath = getCachePath(key);
19
+ mkdirSync(dirname(filePath), { recursive: true });
20
+ const entry = { _cachedAt: Date.now(), data };
21
+ writeFileSync(filePath, JSON.stringify(entry, null, 2), "utf-8");
22
+ }
23
+ //# sourceMappingURL=cache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/utils/cache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAOxD,SAAS,YAAY,CAAC,GAAW;IAChC,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,GAAW,EAAE,QAAgB,kBAAkB;IAC3E,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,YAAY,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,KAAK,GAAkB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,GAAW,EAAE,IAAa;IACpD,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAElD,MAAM,KAAK,GAAwB,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,CAAC;IACnE,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export declare const paths: import("env-paths").Paths;
2
+ export declare const ACTIVE_NETWORK = "base";
3
+ export declare const FIBROUS_BASE_URL = "https://api.fibrous.finance";
4
+ export declare const FIBROUS_GRAPH_URL = "https://graph.fibrous.finance";
5
+ export declare const DEFAULT_SLIPPAGE = 0.5;
6
+ export declare const TOKEN_CACHE_TTL_MS: number;
7
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,2BAAmB,CAAC;AAEtC,eAAO,MAAM,cAAc,SAAS,CAAC;AAErC,eAAO,MAAM,gBAAgB,gCAAgC,CAAC;AAC9D,eAAO,MAAM,iBAAiB,kCAAkC,CAAC;AAEjE,eAAO,MAAM,gBAAgB,MAAM,CAAC;AACpC,eAAO,MAAM,kBAAkB,QAAsB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import envPaths from "env-paths";
2
+ export const paths = envPaths("fibx");
3
+ export const ACTIVE_NETWORK = "base";
4
+ export const FIBROUS_BASE_URL = "https://api.fibrous.finance";
5
+ export const FIBROUS_GRAPH_URL = "https://graph.fibrous.finance";
6
+ export const DEFAULT_SLIPPAGE = 0.5;
7
+ export const TOKEN_CACHE_TTL_MS = 24 * 60 * 60 * 1000; // 24h
8
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/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,cAAc,GAAG,MAAM,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAA6B,CAAC;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,+BAA+B,CAAC;AAEjE,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AACpC,MAAM,CAAC,MAAM,kBAAkB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,MAAM"}
@@ -0,0 +1,22 @@
1
+ export declare enum ErrorCode {
2
+ NOT_AUTHENTICATED = "NOT_AUTHENTICATED",
3
+ INSUFFICIENT_BALANCE = "INSUFFICIENT_BALANCE",
4
+ TOKEN_NOT_SUPPORTED = "TOKEN_NOT_SUPPORTED",
5
+ ROUTE_NOT_FOUND = "ROUTE_NOT_FOUND",
6
+ RPC_ERROR = "RPC_ERROR",
7
+ INVALID_ADDRESS = "INVALID_ADDRESS",
8
+ INVALID_AMOUNT = "INVALID_AMOUNT",
9
+ PRIVY_ERROR = "PRIVY_ERROR",
10
+ FIBROUS_ERROR = "FIBROUS_ERROR",
11
+ SESSION_ERROR = "SESSION_ERROR"
12
+ }
13
+ export declare class FibxError extends Error {
14
+ readonly code: ErrorCode;
15
+ constructor(code: ErrorCode, message: string);
16
+ toJSON(): {
17
+ error: boolean;
18
+ code: ErrorCode;
19
+ message: string;
20
+ };
21
+ }
22
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/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,aAAa,kBAAkB;CAC/B;AAED,qBAAa,SAAU,SAAQ,KAAK;IACnC,SAAgB,IAAI,EAAE,SAAS,CAAC;gBAEpB,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM;IAM5C,MAAM;;;;;CAON"}
@@ -0,0 +1,29 @@
1
+ export var ErrorCode;
2
+ (function (ErrorCode) {
3
+ ErrorCode["NOT_AUTHENTICATED"] = "NOT_AUTHENTICATED";
4
+ ErrorCode["INSUFFICIENT_BALANCE"] = "INSUFFICIENT_BALANCE";
5
+ ErrorCode["TOKEN_NOT_SUPPORTED"] = "TOKEN_NOT_SUPPORTED";
6
+ ErrorCode["ROUTE_NOT_FOUND"] = "ROUTE_NOT_FOUND";
7
+ ErrorCode["RPC_ERROR"] = "RPC_ERROR";
8
+ ErrorCode["INVALID_ADDRESS"] = "INVALID_ADDRESS";
9
+ ErrorCode["INVALID_AMOUNT"] = "INVALID_AMOUNT";
10
+ ErrorCode["PRIVY_ERROR"] = "PRIVY_ERROR";
11
+ ErrorCode["FIBROUS_ERROR"] = "FIBROUS_ERROR";
12
+ ErrorCode["SESSION_ERROR"] = "SESSION_ERROR";
13
+ })(ErrorCode || (ErrorCode = {}));
14
+ export class FibxError extends Error {
15
+ code;
16
+ constructor(code, message) {
17
+ super(message);
18
+ this.name = "FibxError";
19
+ this.code = code;
20
+ }
21
+ toJSON() {
22
+ return {
23
+ error: true,
24
+ code: this.code,
25
+ message: this.message,
26
+ };
27
+ }
28
+ }
29
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAWX;AAXD,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,4CAA+B,CAAA;AAChC,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAED,MAAM,OAAO,SAAU,SAAQ,KAAK;IACnB,IAAI,CAAY;IAEhC,YAAY,IAAe,EAAE,OAAe;QAC3C,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,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"}
@@ -0,0 +1,3 @@
1
+ export declare function parseAmount(amount: string, decimals: number): bigint;
2
+ export declare function formatAmount(amount: bigint, decimals: number): string;
3
+ //# sourceMappingURL=parseAmount.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAmount.d.ts","sourceRoot":"","sources":["../../src/utils/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"}
@@ -0,0 +1,10 @@
1
+ import { parseUnits, formatUnits } from "viem";
2
+ export function parseAmount(amount, decimals) {
3
+ // Remove "$" and commas
4
+ const cleanAmount = amount.replace(/[$,]/g, "");
5
+ return parseUnits(cleanAmount, decimals);
6
+ }
7
+ export function formatAmount(amount, decimals) {
8
+ return formatUnits(amount, decimals);
9
+ }
10
+ //# sourceMappingURL=parseAmount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseAmount.js","sourceRoot":"","sources":["../../src/utils/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"}
@@ -0,0 +1,6 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/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"}
@@ -0,0 +1,24 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/utils/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"}
@@ -0,0 +1,2 @@
1
+ export declare function createDefaultPolicy(): void;
2
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/wallet/policy.ts"],"names":[],"mappings":"AACA,wBAAgB,mBAAmB,IAAI,IAAI,CAAG"}
@@ -0,0 +1,3 @@
1
+ // V1 stub — future: spending limits, whitelists.
2
+ export function createDefaultPolicy() { }
3
+ //# sourceMappingURL=policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.js","sourceRoot":"","sources":["../../src/wallet/policy.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,UAAU,mBAAmB,KAAU,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { PrivyClient } from "@privy-io/node";
2
+ export declare function getPrivyClient(): PrivyClient;
3
+ export declare function findExistingWallet(privy: PrivyClient, email: string): Promise<{
4
+ id: string;
5
+ address: string;
6
+ } | null>;
7
+ export declare function createAgentWallet(privy: PrivyClient, owner?: {
8
+ userId?: string;
9
+ publicKey?: string;
10
+ }): Promise<{
11
+ id: string;
12
+ address: string;
13
+ }>;
14
+ export declare function saveWalletIdToUser(privy: PrivyClient, userId: string, walletId: string): Promise<void>;
15
+ //# sourceMappingURL=privy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"privy.d.ts","sourceRoot":"","sources":["../../src/wallet/privy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG7C,wBAAgB,cAAc,IAAI,WAAW,CAY5C;AAED,wBAAsB,kBAAkB,CACvC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAkBjD;AAED,wBAAsB,iBAAiB,CACtC,KAAK,EAAE,WAAW,EAClB,KAAK,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE;;;GAuB/C;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,iBAa5F"}