@lifi/perps-sdk 0.0.0-preview-697b8c5 → 0.0.0-preview-1edeff0

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 (158) hide show
  1. package/dist/cjs/client/PerpsClient.d.ts +3 -1
  2. package/dist/cjs/client/PerpsClient.d.ts.map +1 -1
  3. package/dist/cjs/client/PerpsClient.js +4 -0
  4. package/dist/cjs/client/PerpsClient.js.map +1 -1
  5. package/dist/cjs/index.d.ts +10 -5
  6. package/dist/cjs/index.d.ts.map +1 -1
  7. package/dist/cjs/index.js +18 -6
  8. package/dist/cjs/index.js.map +1 -1
  9. package/dist/cjs/registry/marketRegistry.d.ts +3 -0
  10. package/dist/cjs/registry/marketRegistry.d.ts.map +1 -1
  11. package/dist/cjs/registry/marketRegistry.js +16 -1
  12. package/dist/cjs/registry/marketRegistry.js.map +1 -1
  13. package/dist/cjs/registry/referenceDataRegistry.d.ts.map +1 -1
  14. package/dist/cjs/registry/referenceDataRegistry.js +0 -1
  15. package/dist/cjs/registry/referenceDataRegistry.js.map +1 -1
  16. package/dist/cjs/services/getGasRecommendation.d.ts +9 -0
  17. package/dist/cjs/services/getGasRecommendation.d.ts.map +1 -0
  18. package/dist/cjs/services/getGasRecommendation.js +10 -0
  19. package/dist/cjs/services/getGasRecommendation.js.map +1 -0
  20. package/dist/cjs/services/getMarket.d.ts.map +1 -1
  21. package/dist/cjs/services/getMarket.js +2 -1
  22. package/dist/cjs/services/getMarket.js.map +1 -1
  23. package/dist/cjs/services/getMarkets.d.ts.map +1 -1
  24. package/dist/cjs/services/getMarkets.js +3 -1
  25. package/dist/cjs/services/getMarkets.js.map +1 -1
  26. package/dist/cjs/types/api.d.ts +4 -0
  27. package/dist/cjs/types/api.d.ts.map +1 -1
  28. package/dist/cjs/types/deposit.d.ts +25 -0
  29. package/dist/cjs/types/deposit.d.ts.map +1 -0
  30. package/dist/cjs/types/deposit.js +3 -0
  31. package/dist/cjs/types/deposit.js.map +1 -0
  32. package/dist/cjs/types/provider.d.ts +5 -0
  33. package/dist/cjs/types/provider.d.ts.map +1 -1
  34. package/dist/cjs/utils/accountSummary.d.ts.map +1 -1
  35. package/dist/cjs/utils/accountSummary.js +10 -4
  36. package/dist/cjs/utils/accountSummary.js.map +1 -1
  37. package/dist/cjs/utils/depositAssets.d.ts +8 -0
  38. package/dist/cjs/utils/depositAssets.d.ts.map +1 -0
  39. package/dist/cjs/utils/depositAssets.js +36 -0
  40. package/dist/cjs/utils/depositAssets.js.map +1 -0
  41. package/dist/cjs/utils/scaleToInteger.d.ts +3 -0
  42. package/dist/cjs/utils/scaleToInteger.d.ts.map +1 -0
  43. package/dist/cjs/utils/scaleToInteger.js +30 -0
  44. package/dist/cjs/utils/scaleToInteger.js.map +1 -0
  45. package/dist/cjs/utils/setupActions.d.ts +3 -0
  46. package/dist/cjs/utils/setupActions.d.ts.map +1 -0
  47. package/dist/cjs/utils/setupActions.js +8 -0
  48. package/dist/cjs/utils/setupActions.js.map +1 -0
  49. package/dist/cjs/version.d.ts +1 -1
  50. package/dist/cjs/version.js +1 -1
  51. package/dist/esm/client/PerpsClient.d.ts +13 -1
  52. package/dist/esm/client/PerpsClient.d.ts.map +1 -1
  53. package/dist/esm/client/PerpsClient.js +14 -0
  54. package/dist/esm/client/PerpsClient.js.map +1 -1
  55. package/dist/esm/index.d.ts +11 -6
  56. package/dist/esm/index.d.ts.map +1 -1
  57. package/dist/esm/index.js +6 -3
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/registry/marketRegistry.d.ts +15 -2
  60. package/dist/esm/registry/marketRegistry.d.ts.map +1 -1
  61. package/dist/esm/registry/marketRegistry.js +26 -2
  62. package/dist/esm/registry/marketRegistry.js.map +1 -1
  63. package/dist/esm/registry/referenceDataRegistry.d.ts +2 -1
  64. package/dist/esm/registry/referenceDataRegistry.d.ts.map +1 -1
  65. package/dist/esm/registry/referenceDataRegistry.js +2 -2
  66. package/dist/esm/registry/referenceDataRegistry.js.map +1 -1
  67. package/dist/esm/services/getGasRecommendation.d.ts +31 -0
  68. package/dist/esm/services/getGasRecommendation.d.ts.map +1 -0
  69. package/dist/esm/services/getGasRecommendation.js +22 -0
  70. package/dist/esm/services/getGasRecommendation.js.map +1 -0
  71. package/dist/esm/services/getMarket.d.ts +5 -4
  72. package/dist/esm/services/getMarket.d.ts.map +1 -1
  73. package/dist/esm/services/getMarket.js +7 -5
  74. package/dist/esm/services/getMarket.js.map +1 -1
  75. package/dist/esm/services/getMarkets.d.ts +6 -3
  76. package/dist/esm/services/getMarkets.d.ts.map +1 -1
  77. package/dist/esm/services/getMarkets.js +9 -4
  78. package/dist/esm/services/getMarkets.js.map +1 -1
  79. package/dist/esm/types/api.d.ts +9 -0
  80. package/dist/esm/types/api.d.ts.map +1 -1
  81. package/dist/esm/types/deposit.d.ts +68 -0
  82. package/dist/esm/types/deposit.d.ts.map +1 -0
  83. package/dist/esm/types/deposit.js +2 -0
  84. package/dist/esm/types/deposit.js.map +1 -0
  85. package/dist/esm/types/provider.d.ts +19 -0
  86. package/dist/esm/types/provider.d.ts.map +1 -1
  87. package/dist/esm/utils/accountSummary.d.ts.map +1 -1
  88. package/dist/esm/utils/accountSummary.js +13 -4
  89. package/dist/esm/utils/accountSummary.js.map +1 -1
  90. package/dist/esm/utils/depositAssets.d.ts +46 -0
  91. package/dist/esm/utils/depositAssets.d.ts.map +1 -0
  92. package/dist/esm/utils/depositAssets.js +71 -0
  93. package/dist/esm/utils/depositAssets.js.map +1 -0
  94. package/dist/esm/utils/scaleToInteger.d.ts +22 -0
  95. package/dist/esm/utils/scaleToInteger.d.ts.map +1 -0
  96. package/dist/esm/utils/scaleToInteger.js +34 -0
  97. package/dist/esm/utils/scaleToInteger.js.map +1 -0
  98. package/dist/esm/utils/setupActions.d.ts +17 -0
  99. package/dist/esm/utils/setupActions.d.ts.map +1 -0
  100. package/dist/esm/utils/setupActions.js +19 -0
  101. package/dist/esm/utils/setupActions.js.map +1 -0
  102. package/dist/esm/version.d.ts +1 -1
  103. package/dist/esm/version.js +1 -1
  104. package/dist/types/client/PerpsClient.d.ts +13 -1
  105. package/dist/types/client/PerpsClient.d.ts.map +1 -1
  106. package/dist/types/index.d.ts +11 -6
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/registry/marketRegistry.d.ts +15 -2
  109. package/dist/types/registry/marketRegistry.d.ts.map +1 -1
  110. package/dist/types/registry/referenceDataRegistry.d.ts +2 -1
  111. package/dist/types/registry/referenceDataRegistry.d.ts.map +1 -1
  112. package/dist/types/services/getGasRecommendation.d.ts +31 -0
  113. package/dist/types/services/getGasRecommendation.d.ts.map +1 -0
  114. package/dist/types/services/getMarket.d.ts +5 -4
  115. package/dist/types/services/getMarket.d.ts.map +1 -1
  116. package/dist/types/services/getMarkets.d.ts +6 -3
  117. package/dist/types/services/getMarkets.d.ts.map +1 -1
  118. package/dist/types/types/api.d.ts +9 -0
  119. package/dist/types/types/api.d.ts.map +1 -1
  120. package/dist/types/types/deposit.d.ts +68 -0
  121. package/dist/types/types/deposit.d.ts.map +1 -0
  122. package/dist/types/types/provider.d.ts +19 -0
  123. package/dist/types/types/provider.d.ts.map +1 -1
  124. package/dist/types/utils/accountSummary.d.ts.map +1 -1
  125. package/dist/types/utils/depositAssets.d.ts +46 -0
  126. package/dist/types/utils/depositAssets.d.ts.map +1 -0
  127. package/dist/types/utils/scaleToInteger.d.ts +22 -0
  128. package/dist/types/utils/scaleToInteger.d.ts.map +1 -0
  129. package/dist/types/utils/setupActions.d.ts +17 -0
  130. package/dist/types/utils/setupActions.d.ts.map +1 -0
  131. package/dist/types/version.d.ts +1 -1
  132. package/package.json +4 -3
  133. package/src/client/PerpsClient.ts +19 -0
  134. package/src/index.ts +26 -5
  135. package/src/registry/marketRegistry.ts +33 -2
  136. package/src/registry/referenceDataRegistry.ts +2 -2
  137. package/src/services/getGasRecommendation.ts +45 -0
  138. package/src/services/getMarket.ts +7 -5
  139. package/src/services/getMarkets.ts +14 -4
  140. package/src/types/api.ts +10 -0
  141. package/src/types/deposit.ts +75 -0
  142. package/src/types/provider.ts +24 -0
  143. package/src/utils/accountSummary.ts +18 -5
  144. package/src/utils/depositAssets.ts +77 -0
  145. package/src/utils/scaleToInteger.ts +56 -0
  146. package/src/utils/setupActions.ts +24 -0
  147. package/src/version.ts +1 -1
  148. package/dist/cjs/utils/depositChain.d.ts +0 -6
  149. package/dist/cjs/utils/depositChain.d.ts.map +0 -1
  150. package/dist/cjs/utils/depositChain.js +0 -13
  151. package/dist/cjs/utils/depositChain.js.map +0 -1
  152. package/dist/esm/utils/depositChain.d.ts +0 -27
  153. package/dist/esm/utils/depositChain.d.ts.map +0 -1
  154. package/dist/esm/utils/depositChain.js +0 -23
  155. package/dist/esm/utils/depositChain.js.map +0 -1
  156. package/dist/types/utils/depositChain.d.ts +0 -27
  157. package/dist/types/utils/depositChain.d.ts.map +0 -1
  158. package/src/utils/depositChain.ts +0 -38
@@ -1 +1 @@
1
- {"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAA;AAElE;;;;;;;GAOG;AACH,MAAM,OAAO,cAAe,SAAQ,qBAA6B;IAC/D,YAAY,MAAsB,EAAE,QAAgB;QAClD,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACnC,CAAC;IAED,iFAAiF;IACjF,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CAAC,QAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACjC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,cAAc,EAC7B,MAAM,IAAI,CAAC,QAAQ,+BAA+B,QAAQ,GAAG,CAC9D,CAAA;YACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAA;YAC1B,MAAM,KAAK,CAAA;QACb,CAAC;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAES,UAAU;QAClB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;YAC3D,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAA;QACF,OAAO,OAAO,CAAkB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAC3D,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAC/B,CAAA;IACH,CAAC;IAES,KAAK,CAAC,MAAc;QAC5B,OAAO,MAAM,CAAC,EAAE,CAAA;IAClB,CAAC;CACF;AAED,MAAM,UAAU,GAAG,IAAI,OAAO,EAA+C,CAAA;AAE7E;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,QAAgB;IAEhB,IAAI,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAI,GAAG,EAAE,CAAA;QACtB,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAA;QAC/C,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACpC,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAc,EAAiB,EAAE,CAAC,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,UAAU,EAAE,MAAM,CAAC,UAAU;IAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;IAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;CAC9B,CAAC,CAAA"}
1
+ {"version":3,"file":"marketRegistry.js","sourceRoot":"","sources":["../../../src/registry/marketRegistry.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,8 @@ import type { PerpsSDKClient } from '../types/provider.js';
6
6
  * NOT a cache: it holds no freshness policy of its own. Every {@link sync}
7
7
  * refetches through the HTTP layer, whose `cache-control` headers decide
8
8
  * whether the response comes from disk or the network. A lookup miss warns
9
- * once and returns `undefined`; the next {@link sync} reconciles the index.
9
+ * once per id and returns `undefined`; subsequent syncs reconcile the index
10
+ * without replaying the warning for an id that remains absent.
10
11
  *
11
12
  * @internal
12
13
  */
@@ -1 +1 @@
1
- {"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;;;GAUG;AACH,8BAAsB,qBAAqB,CAAC,CAAC;IAOzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAoB;IAErC,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM;IAG/B,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAE7C,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAEzC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAS7B,0EAA0E;IAC1E,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAYhB,IAAI;CAOnB"}
1
+ {"version":3,"file":"referenceDataRegistry.d.ts","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,qBAAqB,CAAC,CAAC;IAOzC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,cAAc;IACzC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI;IARvB,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,OAAO,CAAmB;IAClC,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,SAAS,CAAoB;IAErC,SAAS,aACY,MAAM,EAAE,cAAc,EAChC,QAAQ,EAAE,MAAM,EACR,IAAI,EAAE,MAAM;IAG/B,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC;IAE7C,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM;IAEzC;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;IAS7B,0EAA0E;IAC1E,SAAS,KAAK,KAAK,IAAI,SAAS,CAAC,EAAE,CAElC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS;YAYhB,IAAI;CAMnB"}
@@ -5,7 +5,8 @@
5
5
  * NOT a cache: it holds no freshness policy of its own. Every {@link sync}
6
6
  * refetches through the HTTP layer, whose `cache-control` headers decide
7
7
  * whether the response comes from disk or the network. A lookup miss warns
8
- * once and returns `undefined`; the next {@link sync} reconciles the index.
8
+ * once per id and returns `undefined`; subsequent syncs reconcile the index
9
+ * without replaying the warning for an id that remains absent.
9
10
  *
10
11
  * @internal
11
12
  */
@@ -55,7 +56,6 @@ export class ReferenceDataRegistry {
55
56
  const items = await this.fetchItems();
56
57
  this.index = new Map(items.map((item) => [this.keyOf(item), item]));
57
58
  this.current = items;
58
- this.warnedIds.clear();
59
59
  return items;
60
60
  }
61
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,qBAAqB;IAOpB;IACV;IACQ;IARX,KAAK,GAAG,IAAI,GAAG,EAAa,CAAA;IAC5B,OAAO,GAAiB,EAAE,CAAA;IAC1B,QAAQ,CAAmC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,YACqB,MAAsB,EAChC,QAAgB,EACR,IAAY;QAFV,WAAM,GAAN,MAAM,CAAgB;QAChC,aAAQ,GAAR,QAAQ,CAAQ;QACR,SAAI,GAAJ,IAAI,CAAQ;IAC5B,CAAC;IAQJ;;;;OAIG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,0EAA0E;IAC1E,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;QACtB,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"referenceDataRegistry.js","sourceRoot":"","sources":["../../../src/registry/referenceDataRegistry.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,MAAM,OAAgB,qBAAqB;IAOpB;IACV;IACQ;IARX,KAAK,GAAG,IAAI,GAAG,EAAa,CAAA;IAC5B,OAAO,GAAiB,EAAE,CAAA;IAC1B,QAAQ,CAAmC;IAC3C,SAAS,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,YACqB,MAAsB,EAChC,QAAgB,EACR,IAAY;QAFV,WAAM,GAAN,MAAM,CAAgB;QAChC,aAAQ,GAAR,QAAQ,CAAQ;QACR,SAAI,GAAJ,IAAI,CAAQ;IAC5B,CAAC;IAQJ;;;;OAIG;IACH,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;gBACvC,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3B,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,0EAA0E;IAC1E,IAAc,KAAK;QACjB,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED,4DAA4D;IAC5D,GAAG,CAAC,EAAU;QACZ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAA;QACb,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACtB,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,aAAa,IAAI,CAAC,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAA;QACpE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,IAAI;QAChB,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QACnE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;QACpB,OAAO,KAAK,CAAA;IACd,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ import type { GasRecommendationResponse } from '@lifi/types';
2
+ import type { SDKRequestOptions } from '../types/config.js';
3
+ import type { PerpsSDKClient } from '../types/provider.js';
4
+ /**
5
+ * LI.FI API base URL for reads the user's client makes directly, without the
6
+ * perps backend in the path.
7
+ *
8
+ * @public
9
+ */
10
+ export declare const LIFI_API_URL = "https://li.quest/v1";
11
+ /**
12
+ * Parameters for {@link getGasRecommendation}.
13
+ *
14
+ * @public
15
+ */
16
+ export interface GetGasRecommendationParams {
17
+ /** Chain to hold native gas on — a `firstDepositPipeline` flow's `chainId`. */
18
+ chainId: number;
19
+ }
20
+ /**
21
+ * How much native gas LI.FI suggests holding on `params.chainId` to transact
22
+ * there, for seeding the gas leg of a first-deposit pipeline. Read straight
23
+ * from the LI.FI API by the user's client.
24
+ *
25
+ * @returns The suggestion, with `available: false` and no amounts on a chain
26
+ * LI.FI cannot source gas for.
27
+ * @throws {PerpsError} On API error responses, or network/parsing errors.
28
+ * @public
29
+ */
30
+ export declare function getGasRecommendation(client: PerpsSDKClient, params: GetGasRecommendationParams, options?: SDKRequestOptions): Promise<GasRecommendationResponse>;
31
+ //# sourceMappingURL=getGasRecommendation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGasRecommendation.d.ts","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AAE5D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;;GAKG;AACH,eAAO,MAAM,YAAY,wBAAwB,CAAA;AAEjD;;;;GAIG;AACH,MAAM,WAAW,0BAA0B;IACzC,+EAA+E;IAC/E,OAAO,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,0BAA0B,EAClC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,yBAAyB,CAAC,CAOpC"}
@@ -0,0 +1,22 @@
1
+ import { request } from '../transport/request.js';
2
+ /**
3
+ * LI.FI API base URL for reads the user's client makes directly, without the
4
+ * perps backend in the path.
5
+ *
6
+ * @public
7
+ */
8
+ export const LIFI_API_URL = 'https://li.quest/v1';
9
+ /**
10
+ * How much native gas LI.FI suggests holding on `params.chainId` to transact
11
+ * there, for seeding the gas leg of a first-deposit pipeline. Read straight
12
+ * from the LI.FI API by the user's client.
13
+ *
14
+ * @returns The suggestion, with `available: false` and no amounts on a chain
15
+ * LI.FI cannot source gas for.
16
+ * @throws {PerpsError} On API error responses, or network/parsing errors.
17
+ * @public
18
+ */
19
+ export async function getGasRecommendation(client, params, options) {
20
+ return request(client.config, `${LIFI_API_URL}/gas/suggestion/${params.chainId}`, {}, options);
21
+ }
22
+ //# sourceMappingURL=getGasRecommendation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getGasRecommendation.js","sourceRoot":"","sources":["../../../src/services/getGasRecommendation.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAIjD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,qBAAqB,CAAA;AAYjD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAsB,EACtB,MAAkC,EAClC,OAA2B;IAE3B,OAAO,OAAO,CACZ,MAAM,CAAC,MAAM,EACb,GAAG,YAAY,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAClD,EAAE,EACF,OAAO,CACR,CAAA;AACH,CAAC"}
@@ -16,10 +16,11 @@ export interface GetMarketParams {
16
16
  marketId: string;
17
17
  }
18
18
  /**
19
- * Get a specific market by its opaque marketId. Requests the single market
20
- * from the backend `/markets` route (filtered by `marketIds`) and returns the
21
- * first match; throws a `MarketNotFound` {@link PerpsError} both when the
22
- * backend responds 404 and when it responds 200 with an empty list, matching
19
+ * Get a specific active market by its opaque marketId. Requests the single
20
+ * market from the backend `/markets` route (filtered by `marketIds`) and
21
+ * returns the first active match; throws a `MarketNotFound` {@link PerpsError}
22
+ * when the backend responds 404, returns an empty list, or returns a
23
+ * delisted market, matching
23
24
  * `MarketRegistry.require`'s miss behaviour.
24
25
  *
25
26
  * @throws {PerpsError} On backend (e.g. 404 or empty match), network, or parsing errors.
@@ -1 +1 @@
1
- {"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAIhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
1
+ {"version":3,"file":"getMarket.d.ts","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAmB,MAAM,mBAAmB,CAAA;AAKhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,SAAS,CAC7B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,eAAe,EACvB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAqBjB"}
@@ -1,11 +1,13 @@
1
1
  import { PerpsErrorCode } from '@lifi/perps-types';
2
2
  import { PerpsError } from '../errors/PerpsError.js';
3
+ import { isActiveMarket } from '../registry/marketRegistry.js';
3
4
  import { buildUrl, request } from '../transport/request.js';
4
5
  /**
5
- * Get a specific market by its opaque marketId. Requests the single market
6
- * from the backend `/markets` route (filtered by `marketIds`) and returns the
7
- * first match; throws a `MarketNotFound` {@link PerpsError} both when the
8
- * backend responds 404 and when it responds 200 with an empty list, matching
6
+ * Get a specific active market by its opaque marketId. Requests the single
7
+ * market from the backend `/markets` route (filtered by `marketIds`) and
8
+ * returns the first active match; throws a `MarketNotFound` {@link PerpsError}
9
+ * when the backend responds 404, returns an empty list, or returns a
10
+ * delisted market, matching
9
11
  * `MarketRegistry.require`'s miss behaviour.
10
12
  *
11
13
  * @throws {PerpsError} On backend (e.g. 404 or empty match), network, or parsing errors.
@@ -24,7 +26,7 @@ export async function getMarket(client, params, options) {
24
26
  });
25
27
  const { markets } = await request(client.config, url, {}, options);
26
28
  const market = markets[0];
27
- if (market === undefined) {
29
+ if (market === undefined || !isActiveMarket(market)) {
28
30
  const error = new PerpsError(PerpsErrorCode.MarketNotFound, `No ${params.provider} market found for marketId '${params.marketId}'`);
29
31
  error.tool = params.provider;
30
32
  throw error;
@@ -1 +1 @@
1
- {"version":3,"file":"getMarket.js","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAmB3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAAuB,EACvB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;KAC3B,CAAC,CAAA;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAC/B,MAAM,CAAC,MAAM,EACb,GAAG,EACH,EAAE,EACF,OAAO,CACR,CAAA;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,cAAc,EAC7B,MAAM,MAAM,CAAC,QAAQ,+BAA+B,MAAM,CAAC,QAAQ,GAAG,CACvE,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"getMarket.js","sourceRoot":"","sources":["../../../src/services/getMarket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAmB3D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAsB,EACtB,MAAuB,EACvB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,QAAQ;KAC3B,CAAC,CAAA;IACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAC/B,MAAM,CAAC,MAAM,EACb,GAAG,EACH,EAAE,EACF,OAAO,CACR,CAAA;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;IACzB,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,UAAU,CAC1B,cAAc,CAAC,cAAc,EAC7B,MAAM,MAAM,CAAC,QAAQ,+BAA+B,MAAM,CAAC,QAAQ,GAAG,CACvE,CAAA;QACD,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAA;QAC5B,MAAM,KAAK,CAAA;IACb,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -12,9 +12,12 @@ export interface GetMarketsParams {
12
12
  marketIds?: string[];
13
13
  }
14
14
  /**
15
- * Get all available markets for a provider. Thin pass-through to the LI.FI
16
- * backend's Valkey-cached `/perps/markets` route — the canonical source of
17
- * public market data for widget consumers.
15
+ * Get active markets for a provider. Delisted entries remain available to
16
+ * internal registries for historical mapping, but are excluded from this
17
+ * public market-selection surface.
18
+ *
19
+ * Thin pass-through to the LI.FI backend's Valkey-cached `/perps/markets`
20
+ * route — the canonical source of public market data for widget consumers.
18
21
  *
19
22
  * @throws {PerpsError} On backend, network, or parsing errors.
20
23
  * @example
@@ -1 +1 @@
1
- {"version":3,"file":"getMarkets.d.ts","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAM1B"}
1
+ {"version":3,"file":"getMarkets.d.ts","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,UAAU,CAC9B,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,gBAAgB,EACxB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,OAAO,CAAC,eAAe,CAAC,CAY1B"}
@@ -1,8 +1,12 @@
1
+ import { isActiveMarket } from '../registry/marketRegistry.js';
1
2
  import { buildUrl, request } from '../transport/request.js';
2
3
  /**
3
- * Get all available markets for a provider. Thin pass-through to the LI.FI
4
- * backend's Valkey-cached `/perps/markets` route — the canonical source of
5
- * public market data for widget consumers.
4
+ * Get active markets for a provider. Delisted entries remain available to
5
+ * internal registries for historical mapping, but are excluded from this
6
+ * public market-selection surface.
7
+ *
8
+ * Thin pass-through to the LI.FI backend's Valkey-cached `/perps/markets`
9
+ * route — the canonical source of public market data for widget consumers.
6
10
  *
7
11
  * @throws {PerpsError} On backend, network, or parsing errors.
8
12
  * @example
@@ -17,6 +21,7 @@ export async function getMarkets(client, params, options) {
17
21
  provider: params.provider,
18
22
  marketIds: params.marketIds?.join(','),
19
23
  });
20
- return request(client.config, url, {}, options);
24
+ const response = await request(client.config, url, {}, options);
25
+ return { markets: response.markets.filter(isActiveMarket) };
21
26
  }
22
27
  //# sourceMappingURL=getMarkets.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getMarkets.js","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAe3D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,MAAwB,EACxB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;KACvC,CAAC,CAAA;IACF,OAAO,OAAO,CAAkB,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AAClE,CAAC"}
1
+ {"version":3,"file":"getMarkets.js","sourceRoot":"","sources":["../../../src/services/getMarkets.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAC9D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAA;AAe3D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,MAAsB,EACtB,MAAwB,EACxB,OAA2B;IAE3B,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,EAAE;QACtD,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC;KACvC,CAAC,CAAA;IACF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,MAAM,CAAC,MAAM,EACb,GAAG,EACH,EAAE,EACF,OAAO,CACR,CAAA;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE,CAAA;AAC7D,CAAC"}
@@ -181,6 +181,15 @@ export interface GetSetupParams {
181
181
  provider: string;
182
182
  address: Address;
183
183
  }
184
+ /**
185
+ * Parameters for {@link PerpsClient.getDepositFlow}.
186
+ *
187
+ * @public
188
+ */
189
+ export interface GetDepositFlowParams {
190
+ provider: string;
191
+ address: Address;
192
+ }
184
193
  /**
185
194
  * Result from {@link PerpsClient.checkSetup}.
186
195
  *
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,eAAe,EACf,UAAU,EACV,qBAAqB,EACrB,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,KAAK,EACV,eAAe,EACf,kBAAkB,EAClB,eAAe,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAExD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC;;;;;;;;;;;;;OAaG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,GAAG,eAAe,CAAA;IACnD;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;IAC5C;;;;;;;OAOG;IACH,KAAK,CAAC,EAAE,WAAW,CAAA;IACnB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,KAAK,CAAA;CACrB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAA;IAClB,4EAA4E;IAC5E,MAAM,EAAE,MAAM,CAAA;IACd,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,EAAE,GAAG,eAAe,CAAA;IACnD;;;;OAIG;IACH,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,SAAS,CAAA;IACf,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;;;GAKG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,SAAS,CAAA;IACjB,IAAI,EAAE,SAAS,CAAA;IACf,UAAU,CAAC,EAAE,iBAAiB,CAAA;IAC9B,QAAQ,CAAC,EAAE,iBAAiB,CAAA;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,UAAU,EAAE,gBAAgB,CAAA;CAC7B;AAED;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB;wEACoE;IACpE,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB;8EAC0E;IAC1E,GAAG,EAAE,MAAM,EAAE,CAAA;IACb,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;IAChB,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAClC;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,aAAa,EAAE,OAAO,CAAA;IACtB,iEAAiE;IACjE,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,qEAAqE;IACrE,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,OAAO,EAAE,OAAO,CAAA;IAChB,oDAAoD;IACpD,KAAK,EAAE,UAAU,EAAE,CAAA;IACnB,wDAAwD;IACxD,aAAa,EAAE,gBAAgB,EAAE,CAAA;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,qBAAqB,CAAA;CAC/B;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAiB,SAAQ,eAAe;IACvD,uEAAuE;IACvE,QAAQ,EAAE,oBAAoB,EAAE,CAAA;CACjC"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,68 @@
1
+ import type { ActionType } from '@lifi/perps-types';
2
+ import type { Address } from 'viem';
3
+ /**
4
+ * A token the SDK declares as part of a deposit flow, by full on-chain
5
+ * identity. Matched by `chainId` + `address`: a symbol is not identity — the
6
+ * Hyperliquid venue chain lists two `USDC` contracts with different decimals.
7
+ *
8
+ * @public
9
+ */
10
+ export interface DeclaredDepositAsset {
11
+ chainId: number;
12
+ /** EIP-55 checksummed address; the zero address denotes the chain's native gas token. */
13
+ address: Address;
14
+ decimals: number;
15
+ }
16
+ /**
17
+ * Fund the account by swapping whatever the user holds into `destination`
18
+ * through the LI.FI surface. The source token is picked inside that surface, so
19
+ * it is not part of the flow; LI.FI routing owns whether that resolves to a
20
+ * same-chain swap or a bridge.
21
+ *
22
+ * @public
23
+ */
24
+ export interface DepositFlowLifiSwap {
25
+ kind: 'lifiSwap';
26
+ destination: DeclaredDepositAsset;
27
+ /**
28
+ * Credited address when it is not the user's own — a venue-provisioned
29
+ * deposit address. Absent means the user's address receives the deposit.
30
+ */
31
+ toAddress?: Address;
32
+ }
33
+ /**
34
+ * Fund an address that has no venue account yet. Collateral and the native gas
35
+ * to broadcast with are both needed on `chainId`, where the venue's
36
+ * {@link ActionType.DEPOSIT} action stages the on-chain legs that open the
37
+ * account.
38
+ *
39
+ * @public
40
+ */
41
+ export interface DepositFlowFirstDepositPipeline {
42
+ kind: 'firstDepositPipeline';
43
+ /** Chain the deposit legs broadcast on; the user's wallet must be switched to it. */
44
+ chainId: number;
45
+ gasAsset: DeclaredDepositAsset;
46
+ collateral: DeclaredDepositAsset;
47
+ bridgeAction: ActionType.DEPOSIT;
48
+ }
49
+ /**
50
+ * The venue cannot name a deposit destination until the listed setup actions
51
+ * are satisfied — Ondo provisions its deposit address behind a signed-in
52
+ * session.
53
+ *
54
+ * @public
55
+ */
56
+ export interface DepositFlowSetupRequired {
57
+ kind: 'setupRequired';
58
+ /** Outstanding `Provider.setup` action types, in the order they must be run. */
59
+ setup: ActionType[];
60
+ }
61
+ /**
62
+ * The single deposit flow a venue offers one address, resolved from the venue's
63
+ * account and setup state.
64
+ *
65
+ * @public
66
+ */
67
+ export type DepositFlow = DepositFlowLifiSwap | DepositFlowFirstDepositPipeline | DepositFlowSetupRequired;
68
+ //# sourceMappingURL=deposit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit.d.ts","sourceRoot":"","sources":["../../../src/types/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,yFAAyF;IACzF,OAAO,EAAE,OAAO,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,UAAU,CAAA;IAChB,WAAW,EAAE,oBAAoB,CAAA;IACjC;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,sBAAsB,CAAA;IAC5B,qFAAqF;IACrF,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,oBAAoB,CAAA;IAC9B,UAAU,EAAE,oBAAoB,CAAA;IAChC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAA;CACjC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,eAAe,CAAA;IACrB,gFAAgF;IAChF,KAAK,EAAE,UAAU,EAAE,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GACnB,mBAAmB,GACnB,+BAA+B,GAC/B,wBAAwB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=deposit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/types/deposit.ts"],"names":[],"mappings":""}
@@ -1,6 +1,7 @@
1
1
  import type { AccountConfig, AccountConfigSetting, AccountResponse, AccountSummary, ActionResult, ActionStep, ActionType, ActivitiesResponse, ActivityType, FillsResponse, Market, Order, OrdersResponse, PerpsMarket, PerpsSigner, Position, PositionsResponse, ProviderAction, Quote, QuoteSide, SignedActionStep, SigningMethod, TradeType } from '@lifi/perps-types';
2
2
  import type { Address } from 'viem';
3
3
  import type { PerpsBaseConfig, PerpsClientSigner, SDKRequestOptions } from './config.js';
4
+ import type { DepositFlow } from './deposit.js';
4
5
  /**
5
6
  * Low-level SDK client: resolved config, the optional end-user wallet, and the
6
7
  * registered provider plugins. Returned by {@link createPerpsClient} and
@@ -126,6 +127,14 @@ export interface ProviderGetAccountParams {
126
127
  export interface ProviderAccountExistsParams {
127
128
  address: Address;
128
129
  }
130
+ /**
131
+ * Read params for {@link PerpsProviderPlugin.getDepositFlow}.
132
+ *
133
+ * @public
134
+ */
135
+ export interface ProviderGetDepositFlowParams {
136
+ address: Address;
137
+ }
129
138
  /**
130
139
  * Read params for {@link PerpsProvider.getPositions}.
131
140
  *
@@ -267,6 +276,16 @@ export interface PerpsProviderPlugin {
267
276
  * semantics. Used by `PerpsClient.checkSetup` to gate the deposit-first flow.
268
277
  */
269
278
  accountExists(params: ProviderAccountExistsParams, options?: SDKRequestOptions): Promise<boolean>;
279
+ /**
280
+ * The deposit flow this venue offers `params.address`, resolved from the
281
+ * venue's own account and setup state — which collateral token a deposit must
282
+ * land in, whether the address first needs the account-opening pipeline, and
283
+ * whether venue setup gates naming a destination at all.
284
+ *
285
+ * Optional: a provider that cannot be funded through the SDK omits it, and
286
+ * `PerpsClient.getDepositFlow` then resolves `undefined`.
287
+ */
288
+ getDepositFlow?(params: ProviderGetDepositFlowParams, options?: SDKRequestOptions): Promise<DepositFlow>;
270
289
  getPositions(params: ProviderGetPositionsParams, options?: SDKRequestOptions): Promise<PositionsResponse>;
271
290
  getOrders(params: ProviderGetOrdersParams, options?: SDKRequestOptions): Promise<OrdersResponse>;
272
291
  getOrder(params: ProviderGetOrderParams, options?: SDKRequestOptions): Promise<Order>;
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/types/provider.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAM1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAErE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,mBAAmB,GAC7B,cAAc,CAgChB"}
1
+ {"version":3,"file":"accountSummary.d.ts","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAY1B;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAA;AAErE;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,QAAQ,EAAE,EACrB,SAAS,EAAE,mBAAmB,GAC7B,cAAc,CAuChB"}
@@ -1,5 +1,6 @@
1
1
  import { stringToFloat } from './parse.js';
2
2
  const sumValueUsd = (balances) => balances.reduce((sum, b) => sum + stringToFloat(b.valueUsd), 0);
3
+ const sumMarginUsd = (balances) => balances.reduce((sum, b) => sum + stringToFloat(b.valueUsd) * (b.collateralWeight ?? 1), 0);
3
4
  /**
4
5
  * Roll an {@link AccountResponse} and its open positions up into an
5
6
  * {@link AccountSummary}.
@@ -16,17 +17,25 @@ export function summarizeAccount(account, positions, semantics) {
16
17
  unrealizedPnl += stringToFloat(p.unrealizedPnl);
17
18
  }
18
19
  const collateral = sumValueUsd(account.collateralBalances);
20
+ // Margin-eligible collateral: each row's value scaled by its loan-to-value
21
+ // weight (1 when unset), so a haircut asset backs buying power at less than
22
+ // face while `portfolioValue` still reflects its full value.
23
+ const marginCollateral = sumMarginUsd(account.collateralBalances);
19
24
  const balances = sumValueUsd(account.balances);
20
- const grossCollateral = semantics === 'free' || semantics === 'net'
21
- ? collateral + marginUsed
22
- : collateral;
25
+ const withLocked = semantics === 'free' || semantics === 'net';
26
+ const grossCollateral = withLocked ? collateral + marginUsed : collateral;
27
+ const grossMarginCollateral = withLocked
28
+ ? marginCollateral + marginUsed
29
+ : marginCollateral;
23
30
  const equity = semantics === 'equity' || semantics === 'net'
24
31
  ? grossCollateral
25
32
  : grossCollateral + unrealizedPnl;
26
33
  // Buying power is equity net of locked margin, so unrealized PnL counts
27
34
  // toward it. The `'free'` rows exclude uPnL from available margin, holding
28
35
  // it purely as free collateral.
29
- const availableMargin = semantics === 'free' ? grossCollateral - marginUsed : equity - marginUsed;
36
+ const availableMargin = grossMarginCollateral +
37
+ (semantics === 'gross' ? unrealizedPnl : 0) -
38
+ marginUsed;
30
39
  return {
31
40
  portfolioValue: (balances + equity).toString(),
32
41
  availableMargin: availableMargin.toString(),
@@ -1 +1 @@
1
- {"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,QAAqC,EAAU,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAwBjE;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAwB,EACxB,SAAqB,EACrB,SAA8B;IAE9B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACzC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,eAAe,GACnB,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK;QACzC,CAAC,CAAC,UAAU,GAAG,UAAU;QACzB,CAAC,CAAC,UAAU,CAAA;IAChB,MAAM,MAAM,GACV,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK;QAC3C,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,GAAG,aAAa,CAAA;IAErC,wEAAwE;IACxE,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,eAAe,GACnB,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAA;IAE3E,OAAO;QACL,cAAc,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC9C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;QAC3C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;KACxC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"accountSummary.js","sourceRoot":"","sources":["../../../src/utils/accountSummary.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAE1C,MAAM,WAAW,GAAG,CAAC,QAAqC,EAAU,EAAE,CACpE,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAA;AAEjE,MAAM,YAAY,GAAG,CAAC,QAAqC,EAAU,EAAE,CACrE,QAAQ,CAAC,MAAM,CACb,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,CAAC,EACvE,CAAC,CACF,CAAA;AAwBH;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAwB,EACxB,SAAqB,EACrB,SAA8B;IAE9B,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,IAAI,aAAa,GAAG,CAAC,CAAA;IACrB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,UAAU,IAAI,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;QACzC,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;IACjD,CAAC;IAED,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAC1D,2EAA2E;IAC3E,4EAA4E;IAC5E,6DAA6D;IAC7D,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACjE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,CAAA;IAC9D,MAAM,eAAe,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAA;IACzE,MAAM,qBAAqB,GAAG,UAAU;QACtC,CAAC,CAAC,gBAAgB,GAAG,UAAU;QAC/B,CAAC,CAAC,gBAAgB,CAAA;IACpB,MAAM,MAAM,GACV,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,KAAK;QAC3C,CAAC,CAAC,eAAe;QACjB,CAAC,CAAC,eAAe,GAAG,aAAa,CAAA;IAErC,wEAAwE;IACxE,2EAA2E;IAC3E,gCAAgC;IAChC,MAAM,eAAe,GACnB,qBAAqB;QACrB,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,UAAU,CAAA;IAEZ,OAAO;QACL,cAAc,EAAE,CAAC,QAAQ,GAAG,MAAM,CAAC,CAAC,QAAQ,EAAE;QAC9C,eAAe,EAAE,eAAe,CAAC,QAAQ,EAAE;QAC3C,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;KACxC,CAAA;AACH,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { DeclaredDepositAsset } from '../types/deposit.js';
2
+ /**
3
+ * USDC on Ethereum mainnet — the collateral leg of Lighter's first-deposit
4
+ * pipeline, and the token Ondo's provisioned deposit address is funded in.
5
+ *
6
+ * @public
7
+ */
8
+ export declare const ETHEREUM_USDC: DeclaredDepositAsset;
9
+ /**
10
+ * Ether on Ethereum mainnet, to broadcast the first-deposit pipeline's legs
11
+ * with.
12
+ *
13
+ * @public
14
+ */
15
+ export declare const ETHEREUM_NATIVE_GAS: DeclaredDepositAsset;
16
+ /**
17
+ * USDC on the Hyperliquid venue chain: the 6-decimal perps contract. The same
18
+ * chain also lists an 8-decimal spot `USDC` at
19
+ * `0x6d1e7cde53bA9467B783Cb7c530CE05400000000`, so a deposit destination
20
+ * resolved by symbol lands on the wrong token and the wrong scale.
21
+ *
22
+ * @public
23
+ */
24
+ export declare const HYPERLIQUID_USDC: DeclaredDepositAsset;
25
+ /**
26
+ * USDC on the Lighter venue chain. The venue chain reuses the mainnet USDC
27
+ * address, so `chainId` is what distinguishes it from {@link ETHEREUM_USDC}.
28
+ *
29
+ * @public
30
+ */
31
+ export declare const LIGHTER_USDC: DeclaredDepositAsset;
32
+ /**
33
+ * USDG on Robinhood Chain — the collateral the Lighter Robinhood instance is
34
+ * funded in.
35
+ *
36
+ * @public
37
+ */
38
+ export declare const ROBINHOOD_USDG: DeclaredDepositAsset;
39
+ /**
40
+ * Ether on Robinhood Chain, to broadcast the Robinhood first-deposit pipeline's
41
+ * legs with.
42
+ *
43
+ * @public
44
+ */
45
+ export declare const ROBINHOOD_NATIVE_GAS: DeclaredDepositAsset;
46
+ //# sourceMappingURL=depositAssets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositAssets.d.ts","sourceRoot":"","sources":["../../../src/utils/depositAssets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,oBAI3B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,EAAE,oBAIjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,EAAE,oBAI9B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,EAAE,oBAI1B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,cAAc,EAAE,oBAI5B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,EAAE,oBAIlC,CAAA"}
@@ -0,0 +1,71 @@
1
+ import { ChainId } from '@lifi/types';
2
+ import { zeroAddress } from 'viem';
3
+ /**
4
+ * USDC on Ethereum mainnet — the collateral leg of Lighter's first-deposit
5
+ * pipeline, and the token Ondo's provisioned deposit address is funded in.
6
+ *
7
+ * @public
8
+ */
9
+ export const ETHEREUM_USDC = {
10
+ chainId: ChainId.ETH,
11
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
12
+ decimals: 6,
13
+ };
14
+ /**
15
+ * Ether on Ethereum mainnet, to broadcast the first-deposit pipeline's legs
16
+ * with.
17
+ *
18
+ * @public
19
+ */
20
+ export const ETHEREUM_NATIVE_GAS = {
21
+ chainId: ChainId.ETH,
22
+ address: zeroAddress,
23
+ decimals: 18,
24
+ };
25
+ /**
26
+ * USDC on the Hyperliquid venue chain: the 6-decimal perps contract. The same
27
+ * chain also lists an 8-decimal spot `USDC` at
28
+ * `0x6d1e7cde53bA9467B783Cb7c530CE05400000000`, so a deposit destination
29
+ * resolved by symbol lands on the wrong token and the wrong scale.
30
+ *
31
+ * @public
32
+ */
33
+ export const HYPERLIQUID_USDC = {
34
+ chainId: ChainId.HPL,
35
+ address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
36
+ decimals: 6,
37
+ };
38
+ /**
39
+ * USDC on the Lighter venue chain. The venue chain reuses the mainnet USDC
40
+ * address, so `chainId` is what distinguishes it from {@link ETHEREUM_USDC}.
41
+ *
42
+ * @public
43
+ */
44
+ export const LIGHTER_USDC = {
45
+ chainId: ChainId.LTR,
46
+ address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
47
+ decimals: 6,
48
+ };
49
+ /**
50
+ * USDG on Robinhood Chain — the collateral the Lighter Robinhood instance is
51
+ * funded in.
52
+ *
53
+ * @public
54
+ */
55
+ export const ROBINHOOD_USDG = {
56
+ chainId: ChainId.OUT,
57
+ address: '0x5fc5360D0400a0Fd4f2af552ADD042D716F1d168',
58
+ decimals: 6,
59
+ };
60
+ /**
61
+ * Ether on Robinhood Chain, to broadcast the Robinhood first-deposit pipeline's
62
+ * legs with.
63
+ *
64
+ * @public
65
+ */
66
+ export const ROBINHOOD_NATIVE_GAS = {
67
+ chainId: ChainId.OUT,
68
+ address: zeroAddress,
69
+ decimals: 18,
70
+ };
71
+ //# sourceMappingURL=depositAssets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"depositAssets.js","sourceRoot":"","sources":["../../../src/utils/depositAssets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAA;AAGlC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAyB;IACjD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAyB;IACvD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,EAAE;CACb,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAyB;IACpD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAyB;IAChD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,4CAA4C;IACrD,QAAQ,EAAE,CAAC;CACZ,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAyB;IACxD,OAAO,EAAE,OAAO,CAAC,GAAG;IACpB,OAAO,EAAE,WAAW;IACpB,QAAQ,EAAE,EAAE;CACb,CAAA"}