@oobe-protocol-labs/sap-mcp-server 0.9.38 → 0.9.50

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 (165) hide show
  1. package/dist/config/env.d.ts +19 -0
  2. package/dist/config/env.d.ts.map +1 -1
  3. package/dist/config/env.js +9 -2
  4. package/dist/config/env.js.map +1 -1
  5. package/dist/payments/monetization-gate.d.ts +5 -0
  6. package/dist/payments/monetization-gate.d.ts.map +1 -1
  7. package/dist/payments/monetization-gate.js +39 -2
  8. package/dist/payments/monetization-gate.js.map +1 -1
  9. package/dist/payments/prepaid-credit-store.d.ts +111 -0
  10. package/dist/payments/prepaid-credit-store.d.ts.map +1 -0
  11. package/dist/payments/prepaid-credit-store.js +230 -0
  12. package/dist/payments/prepaid-credit-store.js.map +1 -0
  13. package/dist/payments/pricing.d.ts.map +1 -1
  14. package/dist/payments/pricing.js +1 -0
  15. package/dist/payments/pricing.js.map +1 -1
  16. package/dist/payments/schema-validation.d.ts +52 -0
  17. package/dist/payments/schema-validation.d.ts.map +1 -0
  18. package/dist/payments/schema-validation.js +112 -0
  19. package/dist/payments/schema-validation.js.map +1 -0
  20. package/dist/payments/x402-paid-call.d.ts +21 -0
  21. package/dist/payments/x402-paid-call.d.ts.map +1 -1
  22. package/dist/payments/x402-paid-call.js +108 -3
  23. package/dist/payments/x402-paid-call.js.map +1 -1
  24. package/dist/perps/adrena/adrena-builder-commodity.d.ts +63 -0
  25. package/dist/perps/adrena/adrena-builder-commodity.d.ts.map +1 -0
  26. package/dist/perps/adrena/adrena-builder-commodity.js +200 -0
  27. package/dist/perps/adrena/adrena-builder-commodity.js.map +1 -0
  28. package/dist/perps/adrena/adrena-builder-core.d.ts +319 -0
  29. package/dist/perps/adrena/adrena-builder-core.d.ts.map +1 -0
  30. package/dist/perps/adrena/adrena-builder-core.js +517 -0
  31. package/dist/perps/adrena/adrena-builder-core.js.map +1 -0
  32. package/dist/perps/adrena/adrena-builder-liquidity.d.ts +50 -0
  33. package/dist/perps/adrena/adrena-builder-liquidity.d.ts.map +1 -0
  34. package/dist/perps/adrena/adrena-builder-liquidity.js +196 -0
  35. package/dist/perps/adrena/adrena-builder-liquidity.js.map +1 -0
  36. package/dist/perps/adrena/adrena-builder-staking.d.ts +57 -0
  37. package/dist/perps/adrena/adrena-builder-staking.d.ts.map +1 -0
  38. package/dist/perps/adrena/adrena-builder-staking.js +368 -0
  39. package/dist/perps/adrena/adrena-builder-staking.js.map +1 -0
  40. package/dist/perps/adrena/adrena-builder-trading.d.ts +160 -0
  41. package/dist/perps/adrena/adrena-builder-trading.d.ts.map +1 -0
  42. package/dist/perps/adrena/adrena-builder-trading.js +835 -0
  43. package/dist/perps/adrena/adrena-builder-trading.js.map +1 -0
  44. package/dist/perps/adrena/adrena-builder.d.ts +14 -293
  45. package/dist/perps/adrena/adrena-builder.d.ts.map +1 -1
  46. package/dist/perps/adrena/adrena-builder.js +14 -1140
  47. package/dist/perps/adrena/adrena-builder.js.map +1 -1
  48. package/dist/perps/adrena/adrena-constants.d.ts +33 -5
  49. package/dist/perps/adrena/adrena-constants.d.ts.map +1 -1
  50. package/dist/perps/adrena/adrena-constants.js +29 -7
  51. package/dist/perps/adrena/adrena-constants.js.map +1 -1
  52. package/dist/perps/adrena/adrena-idl.d.ts +15084 -0
  53. package/dist/perps/adrena/adrena-idl.d.ts.map +1 -0
  54. package/dist/perps/adrena/adrena-idl.js +29903 -0
  55. package/dist/perps/adrena/adrena-idl.js.map +1 -0
  56. package/dist/perps/adrena/adrena-pda.d.ts +5 -4
  57. package/dist/perps/adrena/adrena-pda.d.ts.map +1 -1
  58. package/dist/perps/adrena/adrena-pda.js +6 -10
  59. package/dist/perps/adrena/adrena-pda.js.map +1 -1
  60. package/dist/perps/adrena/index.d.ts +1 -0
  61. package/dist/perps/adrena/index.d.ts.map +1 -1
  62. package/dist/perps/adrena/index.js +1 -0
  63. package/dist/perps/adrena/index.js.map +1 -1
  64. package/dist/perps/chart-indicators.d.ts +27 -0
  65. package/dist/perps/chart-indicators.d.ts.map +1 -0
  66. package/dist/perps/chart-indicators.js +345 -0
  67. package/dist/perps/chart-indicators.js.map +1 -0
  68. package/dist/perps/chart-tools.d.ts +45 -0
  69. package/dist/perps/chart-tools.d.ts.map +1 -0
  70. package/dist/perps/chart-tools.js +341 -0
  71. package/dist/perps/chart-tools.js.map +1 -0
  72. package/dist/perps/perp-analytics-tools.d.ts +20 -0
  73. package/dist/perps/perp-analytics-tools.d.ts.map +1 -0
  74. package/dist/perps/perp-analytics-tools.js +868 -0
  75. package/dist/perps/perp-analytics-tools.js.map +1 -0
  76. package/dist/perps/perp-constants.d.ts +362 -0
  77. package/dist/perps/perp-constants.d.ts.map +1 -0
  78. package/dist/perps/perp-constants.js +210 -0
  79. package/dist/perps/perp-constants.js.map +1 -0
  80. package/dist/perps/perp-decoders.d.ts +47 -0
  81. package/dist/perps/perp-decoders.d.ts.map +1 -0
  82. package/dist/perps/perp-decoders.js +332 -0
  83. package/dist/perps/perp-decoders.js.map +1 -0
  84. package/dist/policy/policy-engine.d.ts +42 -0
  85. package/dist/policy/policy-engine.d.ts.map +1 -1
  86. package/dist/policy/policy-engine.js +43 -0
  87. package/dist/policy/policy-engine.js.map +1 -1
  88. package/dist/premium/activation-manager.d.ts.map +1 -1
  89. package/dist/premium/activation-manager.js +20 -2
  90. package/dist/premium/activation-manager.js.map +1 -1
  91. package/dist/prompts/context/sap-agent-context.prompt.js +15 -1
  92. package/dist/prompts/context/sap-agent-context.prompt.js.map +1 -1
  93. package/dist/server/server-metadata.d.ts +13 -0
  94. package/dist/server/server-metadata.d.ts.map +1 -1
  95. package/dist/server/server-metadata.js +15 -2
  96. package/dist/server/server-metadata.js.map +1 -1
  97. package/dist/solana/ata-utils.d.ts +39 -0
  98. package/dist/solana/ata-utils.d.ts.map +1 -0
  99. package/dist/solana/ata-utils.js +49 -0
  100. package/dist/solana/ata-utils.js.map +1 -0
  101. package/dist/strategies/trade-journal.d.ts +78 -0
  102. package/dist/strategies/trade-journal.d.ts.map +1 -0
  103. package/dist/strategies/trade-journal.js +92 -0
  104. package/dist/strategies/trade-journal.js.map +1 -0
  105. package/dist/tools/adrena/adrena-commodity-tools.d.ts +15 -0
  106. package/dist/tools/adrena/adrena-commodity-tools.d.ts.map +1 -0
  107. package/dist/tools/adrena/adrena-commodity-tools.js +137 -0
  108. package/dist/tools/adrena/adrena-commodity-tools.js.map +1 -0
  109. package/dist/tools/adrena/adrena-data-tools.d.ts +23 -0
  110. package/dist/tools/adrena/adrena-data-tools.d.ts.map +1 -0
  111. package/dist/tools/adrena/adrena-data-tools.js +437 -0
  112. package/dist/tools/adrena/adrena-data-tools.js.map +1 -0
  113. package/dist/tools/adrena/adrena-helpers.d.ts +46 -0
  114. package/dist/tools/adrena/adrena-helpers.d.ts.map +1 -0
  115. package/dist/tools/adrena/adrena-helpers.js +41 -0
  116. package/dist/tools/adrena/adrena-helpers.js.map +1 -0
  117. package/dist/tools/adrena/adrena-index.d.ts +20 -0
  118. package/dist/tools/adrena/adrena-index.d.ts.map +1 -0
  119. package/dist/tools/adrena/adrena-index.js +75 -0
  120. package/dist/tools/adrena/adrena-index.js.map +1 -0
  121. package/dist/tools/adrena/adrena-limit-order-tools.d.ts +22 -0
  122. package/dist/tools/adrena/adrena-limit-order-tools.d.ts.map +1 -0
  123. package/dist/tools/adrena/adrena-limit-order-tools.js +91 -0
  124. package/dist/tools/adrena/adrena-limit-order-tools.js.map +1 -0
  125. package/dist/tools/adrena/adrena-liquidity-tools.d.ts +15 -0
  126. package/dist/tools/adrena/adrena-liquidity-tools.d.ts.map +1 -0
  127. package/dist/tools/adrena/adrena-liquidity-tools.js +108 -0
  128. package/dist/tools/adrena/adrena-liquidity-tools.js.map +1 -0
  129. package/dist/tools/adrena/adrena-snapshot-tools.d.ts +42 -0
  130. package/dist/tools/adrena/adrena-snapshot-tools.d.ts.map +1 -0
  131. package/dist/tools/adrena/adrena-snapshot-tools.js +124 -0
  132. package/dist/tools/adrena/adrena-snapshot-tools.js.map +1 -0
  133. package/dist/tools/adrena/adrena-staking-tools.d.ts +15 -0
  134. package/dist/tools/adrena/adrena-staking-tools.d.ts.map +1 -0
  135. package/dist/tools/adrena/adrena-staking-tools.js +139 -0
  136. package/dist/tools/adrena/adrena-staking-tools.js.map +1 -0
  137. package/dist/tools/adrena/adrena-trading-tools.d.ts +78 -0
  138. package/dist/tools/adrena/adrena-trading-tools.d.ts.map +1 -0
  139. package/dist/tools/adrena/adrena-trading-tools.js +556 -0
  140. package/dist/tools/adrena/adrena-trading-tools.js.map +1 -0
  141. package/dist/tools/adrena-tools.d.ts +1 -66
  142. package/dist/tools/adrena-tools.d.ts.map +1 -1
  143. package/dist/tools/adrena-tools.js +1 -1061
  144. package/dist/tools/adrena-tools.js.map +1 -1
  145. package/dist/tools/client-sdk-tools.js +1 -1
  146. package/dist/tools/client-sdk-tools.js.map +1 -1
  147. package/dist/tools/memory-tools.d.ts.map +1 -1
  148. package/dist/tools/memory-tools.js +170 -0
  149. package/dist/tools/memory-tools.js.map +1 -1
  150. package/dist/tools/perp-tools.d.ts +6 -174
  151. package/dist/tools/perp-tools.d.ts.map +1 -1
  152. package/dist/tools/perp-tools.js +6 -1716
  153. package/dist/tools/perp-tools.js.map +1 -1
  154. package/dist/tools/premium-tools.d.ts.map +1 -1
  155. package/dist/tools/premium-tools.js +123 -5
  156. package/dist/tools/premium-tools.js.map +1 -1
  157. package/dist/tools/transaction-tools.d.ts +21 -1
  158. package/dist/tools/transaction-tools.d.ts.map +1 -1
  159. package/dist/tools/transaction-tools.js +114 -30
  160. package/dist/tools/transaction-tools.js.map +1 -1
  161. package/dist/tools/x402-paid-call-tool.d.ts.map +1 -1
  162. package/dist/tools/x402-paid-call-tool.js +288 -0
  163. package/dist/tools/x402-paid-call-tool.js.map +1 -1
  164. package/package.json +3 -2
  165. package/server.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perp-analytics-tools.js","sourceRoot":"","sources":["../../src/perps/perp-analytics-tools.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EACL,sBAAsB,EACtB,mCAAmC,EACnC,YAAY,EACZ,SAAS,EACT,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,UAAU,GAMX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,0BAA0B,EAC1B,uBAAuB,EACvB,2BAA2B,EAC3B,YAAY,EACZ,0BAA0B,EAC1B,aAAa,EACb,0BAA0B,EAC1B,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAEhG;;yEAEyE;AAEzE;;;;;;;;;;;;GAYG;AACH,SAAS,uBAAuB,CAAC,MAAc,EAAE,OAAsB;IACrE,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yEAAyE;aACvF;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,kBAAkB,EAAE;QACvC,WAAW,EAAE,ihBAAihB;QAC9hB,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,IAAI,CAAC,QAAQ,CAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAExG,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAChF,IAAI,eAAe,EAAE,CAAC;gBACpB,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,MAAM,EAAE,eAAe,CAAC,MAAM;oBAC9B,OAAO,EAAE,eAAe,CAAC,OAAO;oBAChC,KAAK,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM;oBACrC,SAAS,EAAE,eAAe,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE;oBAClD,gBAAgB,EAAE;wBAChB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,qBAAqB;wBAChF,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BACxC,CAAC,CAAC,wDAAwD;4BAC1D,CAAC,CAAC,uGAAuG;wBAC3G,WAAW,EAAE,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;4BAC7C,CAAC,CAAC,wJAAwJ;4BAC1J,CAAC,CAAC,6HAA6H;qBAClI;oBACD,oBAAoB,EAAE;wBACpB,yBAAyB;wBACzB,gBAAgB;wBAChB,0BAA0B;wBAC1B,qBAAqB;qBACtB;oBACD,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU;wBACjD,CAAC,CAAC,oCAAoC;wBACtC,CAAC,CAAC,iCAAiC;oBACrC,IAAI,EAAE,uKAAuK;iBAC9K,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YACf,CAAC;YAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAEpD,gFAAgF;YAChF,qEAAqE;YACrE,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE;gBACnF,OAAO,EAAE;oBACP,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,YAAY,CAAC,EAAE,EAAE;iBAC7D;gBACD,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,yEAAyE;YACzE,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,eAAe,EAAE;gBAChF,OAAO,EAAE;oBACP,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,EAAE;iBAC1D;gBACD,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA6B,CAAC;YAC/D,KAAK,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,YAAY,EAAE,CAAC;gBAC/C,MAAM,OAAO,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,OAAO,EAAE,CAAC;oBACZ,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;YAED,MAAM,OAAO,GAAG,eAAe;iBAC5B,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE;gBAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,IAAI,sBAAsB,CAAC,IAAI,GAAG,EAAE;oBACzE,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC;oBAC1D,CAAC,CAAC,EAAE,CAAC;gBACP,OAAO,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YAC9F,CAAC,CAAC;iBACD,MAAM,CAAC,CAAC,MAAM,EAAwC,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;YAE7E,mCAAmC;YACnC,MAAM,QAAQ,GAAG,YAAY;gBAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC;gBACzG,CAAC,CAAC,OAAO,CAAC;YACZ,MAAM,eAAe,GAAG,eAAe,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YACrE,MAAM,gBAAgB,GAAG,eAAe,KAAK,CAAC;gBAC5C,CAAC,CAAC;oBACE,MAAM,EAAE,gBAAgB;oBACxB,MAAM,EAAE,0RAA0R;oBAClS,WAAW,EAAE,6YAA6Y;iBAC3Z;gBACH,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBACrB,CAAC,CAAC;wBACE,MAAM,EAAE,6BAA6B;wBACrC,MAAM,EAAE,sJAAsJ;wBAC9J,WAAW,EAAE,8MAA8M;qBAC5N;oBACL,CAAC,CAAC;wBACE,MAAM,EAAE,WAAW;wBACnB,MAAM,EAAE,yEAAyE;wBACjF,WAAW,EAAE,kHAAkH;qBAChI,CAAC;YAEN,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,QAAQ;gBACjB,KAAK,EAAE,QAAQ,CAAC,MAAM;gBACtB,cAAc,EAAE,eAAe,CAAC,MAAM;gBACtC,UAAU,EAAE,YAAY,CAAC,MAAM;gBAC/B,IAAI,EAAE;oBACJ,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;oBACrC,oBAAoB,EAAE,YAAY,CAAC,YAAY,CAAC;oBAChD,iBAAiB,EAAE,YAAY,CAAC,SAAS,CAAC;iBAC3C;gBACD,gBAAgB;gBAChB,oBAAoB,EAAE;oBACpB,yBAAyB;oBACzB,gBAAgB;oBAChB,0BAA0B;oBAC1B,qBAAqB;iBACtB;gBACD,eAAe,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC,UAAU;oBACjD,CAAC,CAAC,oCAAoC;oBACtC,CAAC,CAAC,iCAAiC;gBACrC,SAAS,EAAE,wPAAwP;gBACnQ,IAAI,EAAE,yRAAyR;aAChS,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,8CAA8C;gBACrD,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE;;;;;;;;;;;GAWG;AACH,SAAS,4BAA4B,CAAC,MAAc,EAAE,OAAsB;IAC1E,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,wBAAwB,EAAE;QAC7C,WAAW,EAAE,8UAA8U;QAC3V,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,YAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBACxF,OAAO,EAAE;oBACP,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE;oBAC7D,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE;iBAC5F;gBACD,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,SAAS,GAAmB,QAAQ;iBACvC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;iBACjG,MAAM,CAAC,CAAC,QAAQ,EAA4C,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACjF,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBAClB,WAAW,EAAE,QAAQ,CAAC,WAAW;gBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;gBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,UAAU,EAAE,QAAQ,CAAC,UAAU;gBAC/B,SAAS,EAAE,QAAQ,CAAC,UAAU;gBAC9B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;gBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;gBACrC,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;aAC5C,CAAC,CAAC,CAAC;YAEN,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,MAAM,EAAE,SAAS;gBACjB,SAAS;gBACT,KAAK,EAAE,SAAS,CAAC,MAAM;gBACvB,IAAI,EAAE;oBACJ,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;oBACjD,qBAAqB,EAAE,YAAY,CAAC,aAAa,CAAC;oBAClD,iBAAiB,EAAE,mCAAmC;iBACvD;gBACD,IAAI,EAAE,sKAAsK;aAC7K,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,mCAAmC;gBAC1C,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE;;;;;;;;;;;;;;;GAeG;AACH,SAAS,8BAA8B,CAAC,MAAc,EAAE,OAAsB;IAC5E,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sGAAsG;aACpH;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kEAAkE;aAChF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,qHAAqH;gBAClI,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,IAAI;aACd;SACF;QACD,QAAQ,EAAE,CAAC,gBAAgB,CAAC;QAC5B,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,0BAA0B,EAAE;QAC/C,WAAW,EAAE,4XAA4X;QACzY,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7G,MAAM,MAAM,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QAElF,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,qGAAqG;aAC7G,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,aAAwB,CAAC;QAC7B,IAAI,CAAC;YACH,aAAa,GAAG,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,yBAAyB;gBAChC,cAAc,EAAE,iBAAiB;aAClC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YACxF,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,KAAK,EAAE,oCAAoC;oBAC3C,cAAc,EAAE,iBAAiB;oBACjC,OAAO,EAAE,8GAA8G;iBACxH,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;YAC9B,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC;gBAC9B,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,KAAK,EAAE,sDAAsD;oBAC7D,cAAc,EAAE,iBAAiB;oBACjC,UAAU,EAAE,IAAI,CAAC,MAAM;iBACxB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,wCAAwC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/B,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,KAAK,EAAE,mDAAmD;oBAC1D,cAAc,EAAE,iBAAiB;oBACjC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC;oBACtC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBAC5B,OAAO,EAAE,wGAAwG;iBAClH,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,cAAc,GAAG,IAAI,GAAG,EAA6B,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC,CAAC;YAClG,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,SAAS,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvF,IAAI,WAAW;oBAAE,cAAc,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,OAAO,GAAG,0BAA0B,CAAC,aAAa,EAAE,IAAI,EAAE,cAAc,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC;YACjG,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;oBACvC,KAAK,EAAE,oEAAoE;oBAC3E,cAAc,EAAE,iBAAiB;iBAClC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACzB,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAE7B,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,MAAM,EAAE,cAAc;gBACtB,cAAc,EAAE,iBAAiB;gBACjC,MAAM,EAAE,MAAM,IAAI,OAAO,CAAC,MAAM;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,cAAc,EAAE;oBACd,SAAS;oBACT,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,yBAAyB;oBACzD,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB;oBAClE,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB;oBAClE,uBAAuB,EAAE,OAAO,CAAC,OAAO,CAAC,uBAAuB;oBAChE,iBAAiB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;oBAC7C,SAAS,EAAE,OAAO,CAAC,SAAS;oBAC5B,eAAe,EAAE,OAAO,CAAC,eAAe;oBACxC,gBAAgB,EAAE,OAAO,CAAC,gBAAgB;oBAC1C,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;iBAC7C;gBACD,OAAO,EAAE,CAAC;wBACR,SAAS;wBACT,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,yBAAyB;wBACzD,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB;wBAClE,wBAAwB,EAAE,OAAO,CAAC,OAAO,CAAC,wBAAwB;qBACnE,CAAC;gBACF,KAAK,EAAE,CAAC;gBACR,IAAI,EAAE,gOAAgO;aACvO,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,2DAA2D;gBAClE,cAAc,EAAE,iBAAiB;gBACjC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE;;;;;;;;;;;;GAYG;AACH,SAAS,gCAAgC,CAAC,MAAc,EAAE,OAAsB;IAC9E,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8DAA8D;aAC5E;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,4BAA4B,EAAE;QACjD,WAAW,EAAE,ySAAyS;QACtT,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oBAAoB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,IAAI,YAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,YAAY,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACpG,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE;gBACxF,OAAO,EAAE;oBACP,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,aAAa,CAAC,EAAE,EAAE;oBAC7D,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,mCAAmC,EAAE,KAAK,EAAE,YAAY,CAAC,QAAQ,EAAE,EAAE,EAAE;iBAC5F;gBACD,UAAU,EAAE,WAAW;aACxB,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,MAAM,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACnE,MAAM,KAAK,GAAsB,QAAQ;iBACtC,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;iBACjG,MAAM,CAAC,CAAC,QAAQ,EAA4C,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;iBACjF,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;gBAChB,MAAM,YAAY,GAAG,QAAQ,CAAC,UAAU,CAAC;gBACzC,MAAM,wBAAwB,GAAG,QAAQ,CAAC,gBAAgB,GAAG,CAAC,IAAI,YAAY,GAAG,CAAC;oBAChF,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,QAAQ,CAAC,gBAAgB,CAAC,GAAG,YAAY,CAAC,GAAG,GAAG;oBAC3E,CAAC,CAAC,CAAC,CAAC;gBAEN,OAAO;oBACL,WAAW,EAAE,QAAQ,CAAC,WAAW;oBACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;oBACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;oBAC3C,YAAY;oBACZ,wBAAwB;oBACxB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;iBAC5B,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,MAAM,EAAE,SAAS;gBACjB,KAAK;gBACL,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,IAAI,EAAE;oBACJ,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE;oBACjD,qBAAqB,EAAE,YAAY,CAAC,aAAa,CAAC;oBAClD,iBAAiB,EAAE,mCAAmC;iBACvD;gBACD,IAAI,EAAE,8KAA8K;aACrL,CAAC,CAAC,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,yDAAyD;gBAChE,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aAC9D,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE;;;;;;;;;;;GAWG;AACH,SAAS,yBAAyB,CAAC,MAAc;IAC/C,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0EAA0E;aACxF;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mCAAmC;gBAChD,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aACxB;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,8EAA8E;gBAC3F,OAAO,EAAE,CAAC;aACX;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6FAA6F;gBAC1G,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACb;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kDAAkD;gBAC/D,OAAO,EAAE,CAAC;aACX;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,yEAAyE;gBACtF,OAAO,EAAE,CAAC;aACX;YACD,eAAe,EAAE;gBACf,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,gEAAgE;gBAC7E,OAAO,EAAE,CAAC;aACX;YACD,iBAAiB,EAAE;gBACjB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,sEAAsE;gBACnF,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACb;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6DAA6D;gBAC1E,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,MAAM;aAChB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2DAA2D;aACzE;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0EAA0E;aACxF;SACF;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,UAAU,EAAE,YAAY,CAAC;QAC7E,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,qBAAqB,EAAE;QAC1C,WAAW,EAAE,yUAAyU;QACtV,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;QACzD,MAAM,mBAAmB,GAAG,OAAO,IAAI,CAAC,qBAAqB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9G,MAAM,QAAQ,GAAG,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7E,MAAM,UAAU,GAAG,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnF,MAAM,aAAa,GAAG,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC/F,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrG,MAAM,iBAAiB,GAAG,OAAO,IAAI,CAAC,mBAAmB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,cAAc,GAAG,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAEhG,IAAI,CAAC,MAAM,IAAI,mBAAmB,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;YAC5E,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,0FAA0F;aAClG,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC;QAED,MAAM,WAAW,GAAG,mBAAmB,GAAG,QAAQ,CAAC;QACnD,MAAM,WAAW,GAAG,aAAa,IAAI,aAAa,GAAG,CAAC;YACpD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG;YAC3D,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,iBAAiB,GAAG,eAAe,IAAI,eAAe,GAAG,CAAC;YAC9D,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,UAAU,CAAC,GAAG,UAAU,CAAC,GAAG,GAAG;YAC7D,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,oBAAoB,GAAG,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC;QAC7F,MAAM,kBAAkB,GAAG,iBAAiB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QACvG,MAAM,UAAU,GAAG,oBAAoB,IAAI,kBAAkB;YAC3D,CAAC,CAAC,kBAAkB,GAAG,oBAAoB;YAC3C,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,mBAAmB,GAAG,IAAI,KAAK,MAAM;YACzC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC;YACnC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,aAAa;YAAE,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxD,IAAI,oBAAoB,KAAK,IAAI,IAAI,oBAAoB,GAAG,mBAAmB,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC,EAAE,CAAC;YAC5G,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC7C,CAAC;QACD,IAAI,QAAQ,GAAG,EAAE;YAAE,SAAS,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;QACvF,IAAI,cAAc,GAAG,GAAG;YAAE,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAErE,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,MAAM;YACN,IAAI;YACJ,eAAe,EAAE,eAAe;YAChC,mBAAmB;YACnB,QAAQ;YACR,WAAW;YACX,UAAU;YACV,aAAa;YACb,eAAe;YACf,iBAAiB;YACjB,cAAc;YACd,mBAAmB;YACnB,oBAAoB;YACpB,kBAAkB;YAClB,UAAU;YACV,SAAS;YACT,qBAAqB,EAAE;gBACrB,yEAAyE;gBACzE,mGAAmG;gBACnG,4GAA4G;gBAC5G,yIAAyI;gBACzI,0JAA0J;aAC3J;YACD,oBAAoB,EAAE;gBACpB,kBAAkB;gBAClB,gBAAgB;gBAChB,0BAA0B;gBAC1B,wBAAwB;gBACxB,4BAA4B;aAC7B;YACD,gBAAgB,EAAE,oWAAoW;YACtX,KAAK,EAAE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;SACrE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE,SAAS,6BAA6B,CAAC,MAAc,EAAE,OAAsB;IAC3E,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6EAA6E;aAC3F;SACF;QACD,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,yBAAyB,EAAE;QAC9C,WAAW,EAAE,mUAAmU;QAChV,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAE9F,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,KAAK;YACL,yBAAyB,EAAE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;YACpD,2BAA2B,EAAE,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;YACxD,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,WAAW,EAAE,yCAAyC;YACtD,kBAAkB,EAAE;gBAClB,IAAI,EAAE,YAAY,CAAC,SAAS,CAAC;gBAC7B,OAAO,EAAE,YAAY,CAAC,YAAY,CAAC;gBACnC,QAAQ,EAAE,YAAY,CAAC,aAAa,CAAC;aACtC;YACD,WAAW,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC,CAAC,gBAAgB;YACxF,mBAAmB,EAAE;gBACnB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,uCAAuC;gBAC/C,UAAU,EAAE,iGAAiG;aAC9G;YACD,mBAAmB,EAAE;gBACnB,SAAS,EAAE,IAAI;gBACf,MAAM,EAAE,sDAAsD;gBAC9D,UAAU,EAAE;oBACV,4BAA4B;oBAC5B,6BAA6B;oBAC7B,6BAA6B;oBAC7B,8BAA8B;oBAC9B,gCAAgC;oBAChC,kCAAkC;oBAClC,mCAAmC;oBACnC,qCAAqC;oBACrC,kCAAkC;oBAClC,qCAAqC;oBACrC,sCAAsC;oBACtC,uCAAuC;oBACvC,uCAAuC;oBACvC,wCAAwC;oBACxC,gCAAgC;oBAChC,mCAAmC;oBACnC,uBAAuB;oBACvB,oCAAoC;oBACpC,mCAAmC;oBACnC,sCAAsC;oBACtC,mCAAmC;oBACnC,+BAA+B;iBAChC;gBACD,OAAO,EAAE;oBACP,0BAA0B;oBAC1B,0BAA0B;oBAC1B,6BAA6B;oBAC7B,4BAA4B;oBAC5B,mCAAmC;oBACnC,wBAAwB;oBACxB,oCAAoC;oBACpC,uBAAuB;oBACvB,+BAA+B;oBAC/B,gCAAgC;iBACjC;gBACD,YAAY,EAAE,gKAAgK;aAC/K;YACD,YAAY,EAAE,4HAA4H;YAC1I,aAAa,EAAE,+MAA+M;YAC9N,UAAU,EAAE,4MAA4M;SACzN,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;yEAEyE;AAEzE,SAAS,4BAA4B,CAAC,MAAc,EAAE,OAAsB;IAC1E,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,MAAM,GAAe;QACzB,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,wEAAwE;aACtF;YACD,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4DAA4D;aAC1E;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2BAA2B;gBACxC,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;aACxB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kHAAkH;gBAC/H,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC;aACrC;YACD,cAAc,EAAE;gBACd,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kGAAkG;aAChH;YACD,gBAAgB,EAAE;gBAChB,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,6EAA6E;aAC3F;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,0DAA0D;gBACvE,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;aACb;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4FAA4F;gBACzG,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,MAAM;aAChB;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,SAAS;gBACf,WAAW,EAAE,mDAAmD;aACjE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,4EAA4E;gBACzF,OAAO,EAAE,CAAC;aACX;YACD,aAAa,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,+EAA+E;aAC7F;SACF;QACD,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,CAAC;QACpG,oBAAoB,EAAE,KAAK;KAC5B,CAAC;IAEF,YAAY,CAAC,MAAM,EAAE,kCAAkC,EAAE;QACvD,WAAW,EAAE,oSAAoS;QACjT,WAAW,EAAE,MAAM;KACpB,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;QACzC,MAAM,OAAO,GAAG,MAAM,UAAU,CAA6B,KAAK,CAAC,UAAW,EAAE;YAC9E,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,oBAAoB,EAAE;YAC/B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,GAAG,IAAI;gBACP,WAAW,EAAE,gBAAgB;gBAC7B,YAAY,EAAE,6BAA6B;aAC5C,CAAC;YACF,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB;eAC/C,OAAO,EAAE,yBAAyB;eAClC,OAAO,EAAE,WAAW,CAAC;QAE1B,IAAI,CAAC,OAAO,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxF,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvC,KAAK,EAAE,gCAAgC;gBACvC,OAAO,EAAE,8HAA8H;gBACvI,gBAAgB,EAAE,2HAA2H;aAC9I,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC;YACvC,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,2BAA2B;YACnD,iBAAiB;YACjB,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;YAClD,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,0BAA0B;YACxD,YAAY,EAAE,6BAA6B;YAC3C,QAAQ,EAAE,mCAAmC;YAC7C,YAAY,EAAE;gBACZ,iBAAiB;gBACjB,MAAM,EAAE,KAAK;aACd;YACD,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACf,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAGD;;yEAEyE;AAEzE;;;;;;;;GAQG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAc,EAAE,OAAsB;IACtE,MAAM,CAAC,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAEtE,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACzC,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9C,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChD,0BAA0B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,2BAA2B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC7C,gCAAgC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAClC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,MAAM,iBAAiB,GAAG,4BAA4B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExE,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC;AAClG,CAAC"}
@@ -0,0 +1,362 @@
1
+ /**
2
+ * @name perps/perp-constants
3
+ * @description Constants, discriminators, offsets, market maps, types, and helper functions
4
+ * for Adrena perp account decoding and REST API access.
5
+ *
6
+ * @module perps/perp-constants
7
+ */
8
+ import type { SapMcpContext } from '../core/types.js';
9
+ /** Adrena program ID on Solana mainnet. Can be overridden by hosted env config. */
10
+ export declare const DEFAULT_ADRENA_PROGRAM_ID = "13gDzEXCdocbj8iAiqrScGo47NiSuYENGsRqi3SEAwet";
11
+ /** DexScreener REST API base URL (free, no API key). */
12
+ export declare const DEXSCREENER_API_URL = "https://api.dexscreener.com";
13
+ /** DeFiLlama REST API base URL (free, no API key). */
14
+ export declare const DEFILAMA_API_URL = "https://api.llama.fi";
15
+ /** Fetch timeout for external API calls (ms). */
16
+ export declare const FETCH_TIMEOUT_MS = 8000;
17
+ /** Default number of volume profile buckets. */
18
+ export declare const DEFAULT_VP_BUCKETS = 20;
19
+ /** Value area percentage for volume profile (70%). */
20
+ export declare const VALUE_AREA_PCT = 0.7;
21
+ /** Pool account discriminator — sha256("account:Pool")[0..8]. */
22
+ export declare const DISC_POOL: Buffer<ArrayBuffer>;
23
+ /** Custody account discriminator — sha256("account:Custody")[0..8]. */
24
+ export declare const DISC_CUSTODY: Buffer<ArrayBuffer>;
25
+ /** Position account discriminator — sha256("account:Position")[0..8]. */
26
+ export declare const DISC_POSITION: Buffer<ArrayBuffer>;
27
+ /** Adrena release/39 constants from the official ABI. */
28
+ export declare const ADRENA_USD_DECIMALS = 6;
29
+ export declare const ADRENA_PRICE_DECIMALS = 10;
30
+ export declare const ADRENA_BPS_DECIMALS = 4;
31
+ /** Absolute offsets include the 8-byte Anchor account discriminator. */
32
+ export declare const ADRENA_CUSTODY_OFFSETS: {
33
+ readonly allowTrade: 10;
34
+ readonly allowSwap: 11;
35
+ readonly decimals: 12;
36
+ readonly pool: 16;
37
+ readonly mint: 48;
38
+ readonly tokenAccount: 80;
39
+ readonly oracle: 112;
40
+ readonly tradeOracle: 144;
41
+ readonly maxInitialLeverage: 176;
42
+ readonly maxLeverage: 180;
43
+ readonly maxPositionLockedUsd: 184;
44
+ readonly volumeOpenPositionUsd: 320;
45
+ readonly tradeOiLongUsd: 360;
46
+ readonly tradeOiShortUsd: 368;
47
+ readonly assetsCollateral: 376;
48
+ readonly assetsOwned: 384;
49
+ readonly assetsLocked: 392;
50
+ readonly longPositionsOpenCount: 400;
51
+ readonly longPositionsSizeUsd: 408;
52
+ readonly longPositionsBorrowSizeUsd: 416;
53
+ readonly longPositionsLockedAmount: 424;
54
+ readonly longPositionsCollateralUsd: 472;
55
+ readonly shortPositionsOpenCount: 600;
56
+ readonly shortPositionsSizeUsd: 608;
57
+ readonly shortPositionsBorrowSizeUsd: 616;
58
+ readonly shortPositionsLockedAmount: 624;
59
+ readonly shortPositionsCollateralUsd: 672;
60
+ readonly borrowRateCurrent: 800;
61
+ readonly borrowRateLastUpdate: 808;
62
+ readonly optimalUtilizationBps: 832;
63
+ readonly virtualFundingMaxHourlyRate: 840;
64
+ readonly virtualFundingMinTotalOiUsd: 848;
65
+ readonly virtualFundingImbalanceSensitivityBps: 856;
66
+ readonly virtualFundingCurrentLongToShort: 864;
67
+ readonly virtualFundingLastUpdate: 872;
68
+ readonly virtualFundingCumulativeLongToShort: 880;
69
+ readonly virtualFundingCumulativeShortToLong: 896;
70
+ readonly isSynthetic: 912;
71
+ readonly version: 913;
72
+ readonly oracleFeedId: 914;
73
+ readonly tradeOracleFeedId: 915;
74
+ };
75
+ export declare const ADRENA_POOL_OFFSETS: {
76
+ readonly allowTrade: 12;
77
+ readonly allowSwap: 13;
78
+ readonly registeredCustodyCount: 15;
79
+ readonly name: 16;
80
+ readonly custodies: 48;
81
+ readonly lpTokenPriceUsd: 328;
82
+ readonly aumUsd: 448;
83
+ };
84
+ export declare const ADRENA_POSITION_OWNER_MEMCMP_OFFSET = 16;
85
+ export declare const ADRENA_POSITION_OFFSETS: {
86
+ readonly side: 9;
87
+ readonly owner: 16;
88
+ readonly pool: 48;
89
+ readonly custody: 80;
90
+ readonly collateralCustody: 112;
91
+ readonly openTime: 144;
92
+ readonly updateTime: 152;
93
+ readonly price: 160;
94
+ readonly sizeUsd: 168;
95
+ readonly borrowSizeUsd: 176;
96
+ readonly collateralUsd: 184;
97
+ readonly unrealizedInterestUsd: 192;
98
+ readonly lockedAmount: 216;
99
+ readonly collateralAmount: 224;
100
+ readonly exitFeeUsd: 232;
101
+ readonly liquidationFeeUsd: 240;
102
+ readonly id: 248;
103
+ readonly takeProfitLimitPrice: 256;
104
+ readonly paidInterestUsd: 264;
105
+ readonly stopLossLimitPrice: 272;
106
+ readonly stopLossClosePositionPrice: 280;
107
+ readonly unrealizedFundingPaidUsd: 328;
108
+ readonly unrealizedFundingReceivedUsd: 336;
109
+ };
110
+ export declare const ADRENA_MAINNET_POOLS: Record<string, {
111
+ name: string;
112
+ type: string;
113
+ }>;
114
+ export declare const ADRENA_MAINNET_MARKETS_BY_CUSTODY: Record<string, {
115
+ symbol: string;
116
+ market: string;
117
+ poolName: string;
118
+ kind: 'collateral' | 'perp' | 'synthetic-perp';
119
+ }>;
120
+ /** JSON Schema property definition for MCP tool input schemas. */
121
+ export interface JsonSchemaProperty {
122
+ readonly type: string;
123
+ readonly description: string;
124
+ readonly enum?: readonly string[];
125
+ readonly items?: JsonSchemaProperty;
126
+ readonly properties?: Record<string, JsonSchemaProperty>;
127
+ readonly additionalProperties?: boolean;
128
+ readonly minimum?: number;
129
+ readonly maximum?: number;
130
+ }
131
+ /** Complete JSON Schema object for an MCP tool input. */
132
+ export interface JsonSchema {
133
+ readonly type: 'object';
134
+ readonly properties: Record<string, JsonSchemaProperty>;
135
+ readonly required?: readonly string[];
136
+ readonly additionalProperties?: boolean;
137
+ }
138
+ export interface DexScreenerPair {
139
+ pairAddress?: string;
140
+ baseToken?: {
141
+ address?: string;
142
+ symbol?: string;
143
+ };
144
+ priceUsd?: string;
145
+ priceChange?: Record<string, number>;
146
+ volume?: Record<string, number>;
147
+ liquidity?: {
148
+ usd?: number;
149
+ };
150
+ fdv?: number;
151
+ info?: {
152
+ imageUrl?: string;
153
+ };
154
+ }
155
+ export interface DefiLlamaProtocol {
156
+ id?: string;
157
+ name?: string;
158
+ tvl?: number;
159
+ chain?: string;
160
+ change_1d?: number;
161
+ change_7d?: number;
162
+ marketcap?: number;
163
+ }
164
+ export interface PerpPosition {
165
+ positionKey: string;
166
+ market: string;
167
+ side: 'long' | 'short';
168
+ size: number;
169
+ collateral: number;
170
+ entryPrice: number;
171
+ markPrice: number;
172
+ leverage: number;
173
+ unrealizedPnl: number;
174
+ liquidationPrice: number;
175
+ }
176
+ export interface OhlcCandle {
177
+ timestamp: number;
178
+ open: number;
179
+ high: number;
180
+ low: number;
181
+ close: number;
182
+ volume: number;
183
+ }
184
+ export interface VolumeProfileBucket {
185
+ priceLow: number;
186
+ priceHigh: number;
187
+ volume: number;
188
+ pctOfTotal: number;
189
+ }
190
+ export interface VolumeProfileResult {
191
+ poc: number;
192
+ vah: number;
193
+ val: number;
194
+ buckets: VolumeProfileBucket[];
195
+ }
196
+ export interface LiquidationZone {
197
+ positionKey: string;
198
+ market: string;
199
+ side: 'long' | 'short';
200
+ liquidationPrice: number;
201
+ currentPrice: number;
202
+ distanceToLiquidationPct: number;
203
+ leverage: number;
204
+ }
205
+ export interface PerpsProviderConfig {
206
+ marketsUrl?: string;
207
+ positionsUrl?: string;
208
+ builderUrl?: string;
209
+ adrenaProgramId: string;
210
+ apiKeyConfigured: boolean;
211
+ timeoutMs: number;
212
+ }
213
+ export interface PerpMarketProviderRecord {
214
+ symbol?: string;
215
+ market?: string;
216
+ custodyAddress?: string;
217
+ poolAddress?: string;
218
+ custodyMint?: string;
219
+ markPrice?: number;
220
+ fundingRate?: number;
221
+ openInterestLong?: number;
222
+ openInterestShort?: number;
223
+ volume24h?: number;
224
+ provider?: string;
225
+ [key: string]: unknown;
226
+ }
227
+ export interface PerpMarketsProviderPayload {
228
+ markets?: PerpMarketProviderRecord[];
229
+ data?: PerpMarketProviderRecord[];
230
+ source?: string;
231
+ venue?: string;
232
+ timestamp?: number;
233
+ [key: string]: unknown;
234
+ }
235
+ export interface PerpBuilderProviderPayload {
236
+ transactionBase64?: string;
237
+ unsignedTransactionBase64?: string;
238
+ transaction?: string;
239
+ lastValidBlockHeight?: number;
240
+ blockhash?: string;
241
+ feePayer?: string;
242
+ provider?: string;
243
+ warnings?: unknown;
244
+ [key: string]: unknown;
245
+ }
246
+ export interface DecodedAdrenaPool {
247
+ poolAddress: string;
248
+ name: string;
249
+ type?: string;
250
+ allowTrade: boolean;
251
+ allowSwap: boolean;
252
+ registeredCustodyCount: number;
253
+ custodies: string[];
254
+ lpTokenPriceUsd: number;
255
+ aumUsd: number;
256
+ }
257
+ export interface DecodedAdrenaCustody {
258
+ symbol: string;
259
+ market: string;
260
+ custodyAddress: string;
261
+ poolAddress: string;
262
+ poolName?: string;
263
+ poolType?: string;
264
+ custodyMint: string;
265
+ tokenAccount: string;
266
+ oracle: string;
267
+ tradeOracle: string;
268
+ oracleFeedId: number;
269
+ tradeOracleFeedId: number;
270
+ decimals: number;
271
+ allowTrade: boolean;
272
+ allowSwap: boolean;
273
+ isStable: boolean;
274
+ isSynthetic: boolean;
275
+ version: number;
276
+ kind: 'collateral' | 'perp' | 'synthetic-perp' | 'unknown';
277
+ markPrice: number | null;
278
+ markPriceSource: 'not_in_custody_account';
279
+ maxInitialLeverage: number;
280
+ maxLeverage: number;
281
+ maxPositionLockedUsd: number;
282
+ openInterestLong: number;
283
+ openInterestShort: number;
284
+ openPositionsLong: number;
285
+ openPositionsShort: number;
286
+ borrowSizeLongUsd: number;
287
+ borrowSizeShortUsd: number;
288
+ collateralLongUsd: number;
289
+ collateralShortUsd: number;
290
+ lockedAmountLongRaw: string;
291
+ lockedAmountShortRaw: string;
292
+ tradeOiLongUsd: number;
293
+ tradeOiShortUsd: number;
294
+ cumulativeOpenPositionUsd: number;
295
+ assetsRaw: {
296
+ collateral: string;
297
+ owned: string;
298
+ locked: string;
299
+ };
300
+ borrowRate: {
301
+ currentRateRaw: string;
302
+ lastUpdate: number;
303
+ };
304
+ funding: {
305
+ currentRateLongToShortRaw: string;
306
+ lastUpdate: number;
307
+ cumulativeLongToShortRaw: string;
308
+ cumulativeShortToLongRaw: string;
309
+ maxHourlyFundingRateRaw: string;
310
+ minTotalOiUsd: number;
311
+ imbalanceSensitivityBps: number;
312
+ };
313
+ }
314
+ export interface DecodedAdrenaPosition {
315
+ positionKey: string;
316
+ market: string;
317
+ side: 'long' | 'short';
318
+ sideRaw: number;
319
+ owner: string;
320
+ poolAddress: string;
321
+ custodyAddress: string;
322
+ collateralCustodyAddress: string;
323
+ openTime: number;
324
+ updateTime: number;
325
+ entryPrice: number;
326
+ entryPriceRaw: string;
327
+ size: number;
328
+ collateral: number;
329
+ borrowSizeUsd: number;
330
+ leverage: number;
331
+ unrealizedPnl: number;
332
+ unrealizedInterestUsd: number;
333
+ unrealizedFundingPaidUsd: number;
334
+ unrealizedFundingReceivedUsd: number;
335
+ lockedAmountRaw: string;
336
+ collateralAmountRaw: string;
337
+ liquidationPrice: number;
338
+ takeProfitLimitPrice: number | null;
339
+ stopLossLimitPrice: number | null;
340
+ stopLossClosePositionPrice: number | null;
341
+ id: string;
342
+ }
343
+ /**
344
+ * @name timedFetch
345
+ * @description Fetch JSON from a URL with an abort timeout.
346
+ *
347
+ * @param url — The URL to fetch.
348
+ * @returns Parsed JSON response, or `null` on error/timeout.
349
+ *
350
+ * @internal
351
+ */
352
+ export declare function timedFetch<T>(url: string, options?: {
353
+ method?: 'GET' | 'POST';
354
+ headers?: Record<string, string>;
355
+ body?: string;
356
+ timeoutMs?: number;
357
+ }): Promise<T | null>;
358
+ export declare function getPerpsConfig(context: SapMcpContext): PerpsProviderConfig;
359
+ export declare function appendQuery(baseUrl: string, params: Record<string, string | undefined>): string;
360
+ export declare function perpsProviderHeaders(): Record<string, string>;
361
+ export declare function normalizePerpProviderMarkets(payload: unknown, marketFilter?: string): PerpMarketProviderRecord[];
362
+ //# sourceMappingURL=perp-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perp-constants.d.ts","sourceRoot":"","sources":["../../src/perps/perp-constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,210 @@
1
+ /**
2
+ * @name perps/perp-constants
3
+ * @description Constants, discriminators, offsets, market maps, types, and helper functions
4
+ * for Adrena perp account decoding and REST API access.
5
+ *
6
+ * @module perps/perp-constants
7
+ */
8
+ /* ═══════════════════════════════════════════════════════════════════
9
+ * Constants
10
+ * ═══════════════════════════════════════════════════════════════════ */
11
+ /** Adrena program ID on Solana mainnet. Can be overridden by hosted env config. */
12
+ export const DEFAULT_ADRENA_PROGRAM_ID = '13gDzEXCdocbj8iAiqrScGo47NiSuYENGsRqi3SEAwet';
13
+ /** DexScreener REST API base URL (free, no API key). */
14
+ export const DEXSCREENER_API_URL = 'https://api.dexscreener.com';
15
+ /** DeFiLlama REST API base URL (free, no API key). */
16
+ export const DEFILAMA_API_URL = 'https://api.llama.fi';
17
+ /** Fetch timeout for external API calls (ms). */
18
+ export const FETCH_TIMEOUT_MS = 8_000;
19
+ /** Default number of volume profile buckets. */
20
+ export const DEFAULT_VP_BUCKETS = 20;
21
+ /** Value area percentage for volume profile (70%). */
22
+ export const VALUE_AREA_PCT = 0.70;
23
+ /* ═══════════════════════════════════════════════════════════════════
24
+ * Adrena account discriminators (Anchor 0.31 — sha256("account:<Name>")[0..8])
25
+ * ═══════════════════════════════════════════════════════════════════ */
26
+ /** Pool account discriminator — sha256("account:Pool")[0..8]. */
27
+ export const DISC_POOL = Buffer.from([241, 154, 109, 4, 17, 177, 109, 188]);
28
+ /** Custody account discriminator — sha256("account:Custody")[0..8]. */
29
+ export const DISC_CUSTODY = Buffer.from([1, 184, 48, 81, 93, 131, 63, 145]);
30
+ /** Position account discriminator — sha256("account:Position")[0..8]. */
31
+ export const DISC_POSITION = Buffer.from([170, 188, 143, 228, 122, 64, 247, 208]);
32
+ /** Adrena release/39 constants from the official ABI. */
33
+ export const ADRENA_USD_DECIMALS = 6;
34
+ export const ADRENA_PRICE_DECIMALS = 10;
35
+ export const ADRENA_BPS_DECIMALS = 4;
36
+ /** Absolute offsets include the 8-byte Anchor account discriminator. */
37
+ export const ADRENA_CUSTODY_OFFSETS = {
38
+ allowTrade: 10,
39
+ allowSwap: 11,
40
+ decimals: 12,
41
+ pool: 16,
42
+ mint: 48,
43
+ tokenAccount: 80,
44
+ oracle: 112,
45
+ tradeOracle: 144,
46
+ maxInitialLeverage: 176,
47
+ maxLeverage: 180,
48
+ maxPositionLockedUsd: 184,
49
+ volumeOpenPositionUsd: 320,
50
+ tradeOiLongUsd: 360,
51
+ tradeOiShortUsd: 368,
52
+ assetsCollateral: 376,
53
+ assetsOwned: 384,
54
+ assetsLocked: 392,
55
+ longPositionsOpenCount: 400,
56
+ longPositionsSizeUsd: 408,
57
+ longPositionsBorrowSizeUsd: 416,
58
+ longPositionsLockedAmount: 424,
59
+ longPositionsCollateralUsd: 472,
60
+ shortPositionsOpenCount: 600,
61
+ shortPositionsSizeUsd: 608,
62
+ shortPositionsBorrowSizeUsd: 616,
63
+ shortPositionsLockedAmount: 624,
64
+ shortPositionsCollateralUsd: 672,
65
+ borrowRateCurrent: 800,
66
+ borrowRateLastUpdate: 808,
67
+ optimalUtilizationBps: 832,
68
+ virtualFundingMaxHourlyRate: 840,
69
+ virtualFundingMinTotalOiUsd: 848,
70
+ virtualFundingImbalanceSensitivityBps: 856,
71
+ virtualFundingCurrentLongToShort: 864,
72
+ virtualFundingLastUpdate: 872,
73
+ virtualFundingCumulativeLongToShort: 880,
74
+ virtualFundingCumulativeShortToLong: 896,
75
+ isSynthetic: 912,
76
+ version: 913,
77
+ oracleFeedId: 914,
78
+ tradeOracleFeedId: 915,
79
+ };
80
+ export const ADRENA_POOL_OFFSETS = {
81
+ allowTrade: 12,
82
+ allowSwap: 13,
83
+ registeredCustodyCount: 15,
84
+ name: 16,
85
+ custodies: 48,
86
+ lpTokenPriceUsd: 328,
87
+ aumUsd: 448,
88
+ };
89
+ export const ADRENA_POSITION_OWNER_MEMCMP_OFFSET = 16;
90
+ export const ADRENA_POSITION_OFFSETS = {
91
+ side: 9,
92
+ owner: ADRENA_POSITION_OWNER_MEMCMP_OFFSET,
93
+ pool: 48,
94
+ custody: 80,
95
+ collateralCustody: 112,
96
+ openTime: 144,
97
+ updateTime: 152,
98
+ price: 160,
99
+ sizeUsd: 168,
100
+ borrowSizeUsd: 176,
101
+ collateralUsd: 184,
102
+ unrealizedInterestUsd: 192,
103
+ lockedAmount: 216,
104
+ collateralAmount: 224,
105
+ exitFeeUsd: 232,
106
+ liquidationFeeUsd: 240,
107
+ id: 248,
108
+ takeProfitLimitPrice: 256,
109
+ paidInterestUsd: 264,
110
+ stopLossLimitPrice: 272,
111
+ stopLossClosePositionPrice: 280,
112
+ unrealizedFundingPaidUsd: 328,
113
+ unrealizedFundingReceivedUsd: 336,
114
+ };
115
+ export const ADRENA_MAINNET_POOLS = {
116
+ '4bQRutgDJs6vuh6ZcWaPVXiQaBzbHketjbCDjL4oRN34': { name: 'main-pool', type: 'gmx' },
117
+ GN2hyBVHcUitWETeDfAoeXDMqow1x8StqdRFnGaUB2vb: { name: 'commodities-pool', type: 'autonom' },
118
+ };
119
+ export const ADRENA_MAINNET_MARKETS_BY_CUSTODY = {
120
+ Dk523LZeDQbZtUwPEBjFXCd2Au1tD7mWZBJJmcgHktNk: { symbol: 'USDC', market: 'USDC', poolName: 'main-pool', kind: 'collateral' },
121
+ '8aJuzsgjxBnvRhDcfQBD7z4CUj7QoPEpaNwVd7KqsSk5': { symbol: 'BONK', market: 'BONK-PERP', poolName: 'main-pool', kind: 'perp' },
122
+ GZ9XfWwgTRhkma2Y91Q9r1XKotNXYjBnKKabj19rhT71: { symbol: 'JITOSOL', market: 'JITOSOL-PERP', poolName: 'main-pool', kind: 'perp' },
123
+ GFu3qS22mo6bAjg4Lr5R7L8pPgHq6GvbjJPKEHkbbs2c: { symbol: 'WBTC', market: 'WBTC-PERP', poolName: 'main-pool', kind: 'perp' },
124
+ woVG8fmrUzFJhWa6mRjiYC2qFCY73oAnQeioYK1m1JX: { symbol: 'USDC', market: 'USDC', poolName: 'commodities-pool', kind: 'collateral' },
125
+ JB86ouHXGYgF4UbPs8yxYdaHudrdsintf5EbBfMydzYt: { symbol: 'XAU', market: 'XAU-PERP', poolName: 'commodities-pool', kind: 'synthetic-perp' },
126
+ De21TFyUPHkvFsWAt6xJLBBXGp636VuL5cKk2DvfbHiR: { symbol: 'WTI', market: 'WTI-PERP', poolName: 'commodities-pool', kind: 'synthetic-perp' },
127
+ PexsCkkxpVmY4HNxUjT3U9PEg69kYScc8GukUwn6Q3Q: { symbol: 'XAG', market: 'XAG-PERP', poolName: 'commodities-pool', kind: 'synthetic-perp' },
128
+ };
129
+ /* ═══════════════════════════════════════════════════════════════════
130
+ * Helper: timed fetch
131
+ * ═══════════════════════════════════════════════════════════════════ */
132
+ /**
133
+ * @name timedFetch
134
+ * @description Fetch JSON from a URL with an abort timeout.
135
+ *
136
+ * @param url — The URL to fetch.
137
+ * @returns Parsed JSON response, or `null` on error/timeout.
138
+ *
139
+ * @internal
140
+ */
141
+ export async function timedFetch(url, options = {}) {
142
+ try {
143
+ const controller = new AbortController();
144
+ const timeout = setTimeout(() => controller.abort(), options.timeoutMs ?? FETCH_TIMEOUT_MS);
145
+ const response = await fetch(url, {
146
+ method: options.method ?? 'GET',
147
+ headers: { 'Content-Type': 'application/json', ...(options.headers ?? {}) },
148
+ body: options.body,
149
+ signal: controller.signal,
150
+ });
151
+ clearTimeout(timeout);
152
+ if (!response.ok)
153
+ return null;
154
+ return await response.json();
155
+ }
156
+ catch {
157
+ return null;
158
+ }
159
+ }
160
+ /* ═══════════════════════════════════════════════════════════════════
161
+ * Config helpers
162
+ * ═══════════════════════════════════════════════════════════════════ */
163
+ export function getPerpsConfig(context) {
164
+ return context.config.perps ?? {
165
+ adrenaProgramId: DEFAULT_ADRENA_PROGRAM_ID,
166
+ apiKeyConfigured: Boolean(process.env.SAP_MCP_PERPS_API_KEY?.trim()),
167
+ timeoutMs: FETCH_TIMEOUT_MS,
168
+ };
169
+ }
170
+ export function appendQuery(baseUrl, params) {
171
+ const url = new URL(baseUrl);
172
+ for (const [key, value] of Object.entries(params)) {
173
+ if (value) {
174
+ url.searchParams.set(key, value);
175
+ }
176
+ }
177
+ return url.toString();
178
+ }
179
+ export function perpsProviderHeaders() {
180
+ const apiKey = process.env.SAP_MCP_PERPS_API_KEY?.trim();
181
+ if (!apiKey) {
182
+ return {};
183
+ }
184
+ return {
185
+ Authorization: `Bearer ${apiKey}`,
186
+ 'X-API-Key': apiKey,
187
+ };
188
+ }
189
+ export function normalizePerpProviderMarkets(payload, marketFilter = '') {
190
+ const records = Array.isArray(payload)
191
+ ? payload
192
+ : payload && typeof payload === 'object' && !Array.isArray(payload)
193
+ ? (payload.markets ?? payload.data ?? [])
194
+ : [];
195
+ const normalized = records
196
+ .filter((record) => Boolean(record) && typeof record === 'object' && !Array.isArray(record))
197
+ .map((record) => {
198
+ const symbol = String(record.symbol ?? record.market ?? '').toUpperCase();
199
+ return {
200
+ ...record,
201
+ symbol,
202
+ market: String(record.market ?? symbol),
203
+ };
204
+ });
205
+ if (!marketFilter) {
206
+ return normalized;
207
+ }
208
+ return normalized.filter((record) => record.symbol === marketFilter || String(record.market).toUpperCase() === marketFilter);
209
+ }
210
+ //# sourceMappingURL=perp-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"perp-constants.js","sourceRoot":"","sources":["../../src/perps/perp-constants.ts"],"names":[],"mappings":"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"}