@drift-labs/sdk 0.1.26 → 0.1.27

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 (120) hide show
  1. package/lib/accounts/pollingOracleSubscriber.d.ts +26 -0
  2. package/lib/accounts/pollingOracleSubscriber.js +79 -0
  3. package/lib/accounts/types.d.ts +14 -1
  4. package/lib/clearingHouse.d.ts +4 -4
  5. package/lib/clearingHouse.js +32 -7
  6. package/lib/constants/markets.d.ts +2 -2
  7. package/lib/constants/markets.js +39 -28
  8. package/lib/idl/clearing_house.json +6 -1
  9. package/lib/index.d.ts +1 -0
  10. package/lib/index.js +1 -0
  11. package/lib/math/market.d.ts +2 -0
  12. package/lib/math/market.js +6 -1
  13. package/lib/orderParams.d.ts +1 -1
  14. package/lib/orderParams.js +2 -2
  15. package/lib/orders.d.ts +3 -2
  16. package/lib/orders.js +11 -4
  17. package/package.json +1 -1
  18. package/src/accounts/bulkAccountLoader.js +180 -0
  19. package/src/accounts/bulkAccountLoader.js.map +1 -0
  20. package/src/accounts/bulkUserSubscription.js +56 -0
  21. package/src/accounts/bulkUserSubscription.js.map +1 -0
  22. package/src/accounts/pollingClearingHouseAccountSubscriber.js +210 -0
  23. package/src/accounts/pollingClearingHouseAccountSubscriber.js.map +1 -0
  24. package/src/accounts/pollingOracleSubscriber.js +65 -0
  25. package/src/accounts/pollingOracleSubscriber.js.map +1 -0
  26. package/src/accounts/pollingOracleSubscriber.ts +103 -0
  27. package/src/accounts/pollingTokenAccountSubscriber.js +65 -0
  28. package/src/accounts/pollingTokenAccountSubscriber.js.map +1 -0
  29. package/src/accounts/pollingUserAccountSubscriber.js +139 -0
  30. package/src/accounts/pollingUserAccountSubscriber.js.map +1 -0
  31. package/src/accounts/types.js +1 -0
  32. package/src/accounts/types.js.map +1 -0
  33. package/src/accounts/types.ts +22 -1
  34. package/src/accounts/utils.js +1 -0
  35. package/src/accounts/utils.js.map +1 -0
  36. package/src/accounts/webSocketAccountSubscriber.js +15 -27
  37. package/src/accounts/webSocketAccountSubscriber.js.map +1 -0
  38. package/src/accounts/webSocketClearingHouseAccountSubscriber.js +212 -0
  39. package/src/accounts/webSocketClearingHouseAccountSubscriber.js.map +1 -0
  40. package/src/accounts/webSocketUserAccountSubscriber.js +78 -0
  41. package/src/accounts/webSocketUserAccountSubscriber.js.map +1 -0
  42. package/src/addresses.js +20 -44
  43. package/src/addresses.js.map +1 -0
  44. package/src/admin.js +443 -0
  45. package/src/admin.js.map +1 -0
  46. package/src/assert/assert.js +10 -0
  47. package/src/assert/assert.js.map +1 -0
  48. package/src/clearingHouse.js +769 -0
  49. package/src/clearingHouse.js.map +1 -0
  50. package/src/clearingHouse.ts +45 -7
  51. package/src/clearingHouseUser.js +581 -0
  52. package/src/clearingHouseUser.js.map +1 -0
  53. package/src/config.js +37 -0
  54. package/src/config.js.map +1 -0
  55. package/src/constants/markets.js +167 -0
  56. package/src/constants/markets.js.map +1 -0
  57. package/src/constants/markets.ts +41 -30
  58. package/src/constants/numericConstants.js +22 -0
  59. package/src/constants/numericConstants.js.map +1 -0
  60. package/src/factory/clearingHouse.js +65 -0
  61. package/src/factory/clearingHouse.js.map +1 -0
  62. package/src/factory/clearingHouseUser.js +35 -0
  63. package/src/factory/clearingHouseUser.js.map +1 -0
  64. package/src/factory/oracleClient.js +17 -0
  65. package/src/factory/oracleClient.js.map +1 -0
  66. package/src/idl/clearing_house.json +6 -1
  67. package/src/index.js +56 -0
  68. package/src/index.js.map +1 -0
  69. package/src/index.ts +1 -0
  70. package/src/math/amm.js +285 -0
  71. package/src/math/amm.js.map +1 -0
  72. package/src/math/conversion.js +16 -0
  73. package/src/math/conversion.js.map +1 -0
  74. package/src/math/funding.js +223 -0
  75. package/src/math/funding.js.map +1 -0
  76. package/src/math/insuranceFund.js +23 -0
  77. package/src/math/insuranceFund.js.map +1 -0
  78. package/src/math/market.js +30 -0
  79. package/src/math/market.js.map +1 -0
  80. package/src/math/market.ts +9 -0
  81. package/src/math/orders.js +73 -0
  82. package/src/math/orders.js.map +1 -0
  83. package/src/math/position.js +121 -0
  84. package/src/math/position.js.map +1 -0
  85. package/src/math/trade.js +182 -0
  86. package/src/math/trade.js.map +1 -0
  87. package/src/math/utils.js +27 -0
  88. package/src/math/utils.js.map +1 -0
  89. package/src/mockUSDCFaucet.js +88 -116
  90. package/src/mockUSDCFaucet.js.map +1 -0
  91. package/src/oracles/pythClient.js +39 -0
  92. package/src/oracles/pythClient.js.map +1 -0
  93. package/src/oracles/switchboardClient.js +60 -0
  94. package/src/oracles/switchboardClient.js.map +1 -0
  95. package/src/oracles/types.js +3 -0
  96. package/src/oracles/types.js.map +1 -0
  97. package/src/orderParams.js +109 -0
  98. package/src/orderParams.js.map +1 -0
  99. package/src/orderParams.ts +3 -2
  100. package/src/orders.js +172 -0
  101. package/src/orders.js.map +1 -0
  102. package/src/orders.ts +17 -4
  103. package/src/token/index.js +39 -0
  104. package/src/token/index.js.map +1 -0
  105. package/src/tx/defaultTxSender.js +13 -0
  106. package/src/tx/defaultTxSender.js.map +1 -0
  107. package/src/tx/retryTxSender.js +137 -0
  108. package/src/tx/retryTxSender.js.map +1 -0
  109. package/src/tx/types.js +3 -0
  110. package/src/tx/types.js.map +1 -0
  111. package/src/tx/utils.js +9 -0
  112. package/src/tx/utils.js.map +1 -0
  113. package/src/types.js +1 -0
  114. package/src/types.js.map +1 -0
  115. package/src/util/computeUnits.js +17 -0
  116. package/src/util/computeUnits.js.map +1 -0
  117. package/src/util/tps.js +17 -0
  118. package/src/util/tps.js.map +1 -0
  119. package/src/wallet.js +23 -0
  120. package/src/wallet.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clearingHouse.js","sourceRoot":"","sources":["clearingHouse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAmE;AACnE,iDAI2B;AAmB3B,8DAAgD;AAChD,oFAAyD;AAEzD,6CAQyB;AAKzB,2CAOqB;AAOrB,sCAAsC;AACtC,2DAGiC;AACjC,mEAAoD;AAEpD;;;;;;GAMG;AACH,MAAa,aAAa;IA0CzB,YACC,UAAsB,EACtB,MAAe,EACf,OAAgB,EAChB,iBAAiD,EACjD,QAAkB,EAClB,IAAoB;QAxCrB,kBAAa,GAAG,KAAK,CAAC;QA0CrB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;QACxD,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IA9CD,IAAW,YAAY;QACtB,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC;IAClE,CAAC;IAED,IAAW,YAAY,CAAC,GAAY;QACnC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED;;;;;;;OAOG;IACI,MAAM,CAAC,IAAI,CACjB,UAAsB,EACtB,MAAe,EACf,sBAAiC,EACjC,OAAuB,iBAAQ,CAAC,cAAc,EAAE;QAEhD,MAAM,MAAM,GAAG,IAAA,+CAA+B,EAC7C,UAAU,EACV,MAAM,EACN,sBAAsB,EACtB,IAAI,CACJ,CAAC;QACF,OAAO,IAAA,gCAAgB,EAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAmBD;;;;OAIG;IACI,KAAK,CAAC,SAAS,CACrB,qBAAmD;QAEnD,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CACzD,qBAAqB,CACrB,CAAC;QACF,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,cAAc;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;YACrB,qBAAqB;YACrB,uBAAuB;YACvB,8BAA8B;YAC9B,2BAA2B;YAC3B,2BAA2B;YAC3B,qBAAqB;YACrB,qBAAqB;SACrB,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,aAAa;QACzB,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,WAAW;QACvB,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;IAGM,KAAK,CAAC,iBAAiB;QAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;YACxB,OAAO,IAAI,CAAC,cAAc,CAAC;SAC3B;QACD,IAAI,CAAC,cAAc,GAAG,MAAM,IAAA,iDAAqC,EAChE,IAAI,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,cAAc,CAAC;IAC5B,CAAC;IAEM,eAAe;QACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;IACjD,CAAC;IAEM,iBAAiB;QACvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;IACnD,CAAC;IAEM,SAAS,CAAC,WAAwB;QACxC,IAAI,WAAW,YAAY,WAAE,EAAE;YAC9B,WAAW,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;SACrC;QACD,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC;IAEM,+BAA+B;QACrC,OAAO,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,EAAE,CAAC;IACjE,CAAC;IAEM,4BAA4B;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;IAC9D,CAAC;IAEM,sBAAsB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IACxD,CAAC;IAEM,4BAA4B;QAClC,OAAO,IAAI,CAAC,iBAAiB,CAAC,4BAA4B,EAAE,CAAC;IAC9D,CAAC;IAEM,wBAAwB;QAC9B,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,CAAC;IAC1D,CAAC;IAEM,sBAAsB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IACxD,CAAC;IAEM,sBAAsB;QAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC;IACxD,CAAC;IAGM,KAAK,CAAC,sBAAsB;QAClC,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC7B,OAAO,IAAI,CAAC,mBAAmB,CAAC;SAChC;QACD,IAAI,CAAC,mBAAmB,GAAG,MAAM,IAAA,yCAA6B,EAC7D,IAAI,CAAC,OAAO,CAAC,SAAS,CACtB,CAAC;QACF,OAAO,IAAI,CAAC,mBAAmB,CAAC;IACjC,CAAC;IAEM,oBAAoB;QAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,oBAAoB,EAAE,CAAC;IACtD,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,SAAkB;QACrC,MAAM,WAAW,GAAG,IAAI,iBAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxE,MAAM,UAAU,GAAG,IAAI,gBAAO,CAC7B,6BAAuB,EACvB,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,WAAW,CACX,CAAC;QAEF,uDAAuD;QACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC;QAErC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;QACtC,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IAClC,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAGjC,MAAM,CACL,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAE/C,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE;aAC1B,GAAG,CAAC,uBAAuB,CAAC;aAC5B,GAAG,CAAC,6BAA6B,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACrC,EAAE,EACF,CAAC,oBAAoB,CAAC,EACtB,IAAI,CAAC,IAAI,CACT,CAAC;QACF,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,6BAA6B;QAGlC,MAAM,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,GAC7C,MAAM,IAAA,2CAA+B,EACpC,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CACrB,CAAC;QAEH,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,MAAM,gBAAgB,GAAG;YACxB,cAAc,EAAE,KAAK;SACrB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,IAAI,KAAK,CAAC,aAAa,EAAE;YACxB,gBAAgB,CAAC,cAAc,GAAG,IAAI,CAAC;YACvC,MAAM,wBAAwB,GAAG,MAAM,iBAAK,CAAC,yBAAyB,CACrE,uCAA2B,EAC3B,4BAAgB,EAChB,KAAK,CAAC,aAAa,EACnB,IAAI,CAAC,MAAM,CAAC,SAAS,CACrB,CAAC;YACF,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,wBAAwB;gBAChC,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,aAAa,GAAG,IAAI,iBAAO,EAAE,CAAC;QACpC,MAAM,uBAAuB,GAC5B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAC5C,gBAAgB,EAChB,gBAAgB,EAChB;YACC,QAAQ,EAAE;gBACT,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;gBACpC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;gBAClD,aAAa,EAAE,aAAa,CAAC,SAAS;gBACtC,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;aACrC;YACD,iBAAiB,EAAE,iBAAiB;SACpC,CACD,CAAC;QAEH,MAAM,6BAA6B,GAClC,MAAM,IAAI,CAAC,kCAAkC,CAAC,oBAAoB,CAAC,CAAC;QAErE,OAAO;YACN,aAAa;YACb,oBAAoB;YACpB,uBAAuB;YACvB,6BAA6B;SAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kCAAkC,CACvC,oBAAgC;QAEhC,IAAI,CAAC,oBAAoB,EAAE;YAC1B,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;SAC5D;QAED,MAAM,CAAC,0BAA0B,EAAE,sBAAsB,CAAC,GACzD,MAAM,IAAA,iDAAqC,EAC1C,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,oBAAoB,CACpB,CAAC;QAEH,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CACzD,sBAAsB,EACtB;YACC,QAAQ,EAAE;gBACT,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB;gBACpC,aAAa,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS;gBAClD,UAAU,EAAE,0BAA0B;gBACtC,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;aACrC;SACD,CACD,CAAC;IACH,CAAC;IAGD;;;OAGG;IACI,KAAK,CAAC,uBAAuB;QACnC,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO,IAAI,CAAC,oBAAoB,CAAC;SACjC;QAED,IAAI,CAAC,oBAAoB,GAAG,MAAM,IAAA,mCAAuB,EACxD,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,IAAI,CAAC,MAAM,CAAC,SAAS,CACrB,CAAC;QACF,OAAO,IAAI,CAAC,oBAAoB,CAAC;IAClC,CAAC;IAGM,KAAK,CAAC,cAAc;QAC1B,IAAI,IAAI,CAAC,WAAW,EAAE;YACrB,OAAO,IAAI,CAAC,WAAW,CAAC;SACxB;QAED,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CACxD,MAAM,IAAI,CAAC,uBAAuB,EAAE,CACpC,CAAgB,CAAC;QAClB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAGD;;;OAGG;IACI,KAAK,CAAC,6BAA6B;QACzC,IAAI,IAAI,CAAC,0BAA0B,EAAE;YACpC,OAAO,IAAI,CAAC,0BAA0B,CAAC;SACvC;QAED,IAAI,CAAC,0BAA0B,GAAG,MAAM,IAAA,yCAA6B,EACpE,IAAI,CAAC,OAAO,CAAC,SAAS,EACtB,MAAM,IAAI,CAAC,uBAAuB,EAAE,CACpC,CAAC;QACF,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACxC,CAAC;IAGD,KAAK,CAAC,uBAAuB;QAC5B,IAAI,IAAI,CAAC,eAAe,EAAE;YACzB,OAAO,IAAI,CAAC,eAAe,CAAC;SAC5B;QACD,MAAM,4BAA4B,GACjC,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,CACzC,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAC1C,CAAC;QAEH,IAAI,CAAC,eAAe,GAAG,4BAA4B,CAAC,KAAK,KAAK,IAAI,CAAC;QACnE,OAAO,IAAI,CAAC,eAAe,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC7B,MAAU,EACV,0BAAqC,EACrC,6BAAyC;QAEzC,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACrE,MAAM,EACN,0BAA0B,EAC1B,6BAA6B,CAC7B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAEtD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,+BAA+B,CACpC,MAAU,EACV,0BAAqC,EACrC,6BAAyC;QAEzC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,IAAI,CAAC,6BAA6B,EAAE;YACnC,6BAA6B,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC,SAAS,CAAC;SACxE;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,MAAM,EAAE;YAC/D,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,qBAAqB,EAAE,0BAA0B;gBACjD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,YAAY,EAAE,4BAAgB;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,aAAa,EAAE,6BAA6B;aAC5C;SACD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,yCAAyC,CACrD,MAAU,EACV,0BAAqC;QAErC,MAAM,CACL,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAE/C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACrE,MAAM,EACN,0BAA0B,EAC1B,oBAAoB,CAAC,SAAS,CAC9B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE;aAC1B,GAAG,CAAC,uBAAuB,CAAC;aAC5B,GAAG,CAAC,6BAA6B,CAAC;aAClC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3E,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,8BAA8B,CAC1C,cAA8B,EAC9B,MAAU;QAEV,MAAM,CAAC,uBAAuB,EAAE,yBAAyB,EAAE,QAAQ,CAAC,GACnE,MAAM,cAAc,CAAC,iDAAiD,CACrE,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,MAAM,CACN,CAAC;QAEH,MAAM,CACL,oBAAoB,EACpB,oBAAoB,EACpB,uBAAuB,EACvB,6BAA6B,EAC7B,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAE/C,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,+BAA+B,CACrE,MAAM,EACN,uBAAuB,EACvB,oBAAoB,CAAC,SAAS,CAC9B,CAAC;QAEF,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE;aAC1B,GAAG,CAAC,yBAAyB,CAAC;aAC9B,GAAG,CAAC,QAAQ,CAAC;aACb,GAAG,CAAC,uBAAuB,CAAC;aAC5B,GAAG,CAAC,6BAA6B,CAAC;aAClC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QAE3B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAE3E,OAAO,CAAC,KAAK,EAAE,oBAAoB,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,UAAU;QACtB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC;YAC9D,QAAQ,EAAE;gBACT,IAAI,EAAE,oBAAoB;gBAC1B,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aAChC;SACD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,MAAU,EACV,0BAAqC;QAErC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,0BAA0B,CAAC,CACtE,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,uBAAuB,CACnC,MAAU,EACV,0BAAqC;QAErC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,IAAI,GAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CACtD,oBAAoB,CACpB,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,kBAAkB,CAAC,MAAM,EAAE;YAChE,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;gBACxD,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;gBACtD,qBAAqB,EAAE,0BAA0B;gBACjD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,YAAY,EAAE,4BAAgB;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,IAAI,CAAC,SAAS;gBAC7B,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,cAAc,EAAE,KAAK,CAAC,cAAc;aACpC;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,YAAY,CACxB,SAA4B,EAC5B,MAAU,EACV,WAAe,EACf,UAAe,EACf,aAAyB,EACzB,QAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,iBAAiB,CAC3B,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,aAAa,EACb,QAAQ,CACR,CACD,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC7B,SAA4B,EAC5B,MAAU,EACV,WAAe,EACf,UAAe,EACf,aAAyB,EACzB,QAAoB;QAEpB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,IAAI,UAAU,IAAI,SAAS,EAAE;YAC5B,UAAU,GAAG,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW;SACnC;QAED,MAAM,gBAAgB,GAAG;YACxB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,KAAK;SACf,CAAC;QACF,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE;YAClB,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;YACtC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QACD,IAAI,QAAQ,EAAE;YACb,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,WAAW,GAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAErE,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,YAAY,CACjD,SAAS,EACT,MAAM,EACN,WAAW,EACX,UAAU,EACV,gBAAgB,EAChB;YACC,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,MAAM,EAAE,WAAW;aACnB;YACD,iBAAiB,EAAE,iBAAiB;SACpC,CACD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kCAAkC,CAC9C,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,MAAM,YAAY,GAAyC,EAAE,CAAC;QAC9D,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrE,IAAI,CAAC,uBAAuB,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;SACnE;QACD,YAAY,CAAC,IAAI,CAChB,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAChE,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC;QAC7B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACvC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,UAAU,CACtB,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CAChE,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,eAAe,CAC3B,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,WAAW,GAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG;aACtE,MAAM,CAAC;QAEV,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE;YAC/C,IAAI,CAAC,aAAa,EAAE;gBACnB,MAAM,KAAK,CACV,0EAA0E,CAC1E,CAAC;aACF;YAED,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC1C,IAAI,CAAC,QAAQ,EAAE;gBACd,MAAM,KAAK,CACV,8DAA8D,CAC9D,CAAC;aACF;YAED,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,IAAI,CAAC,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC,uBAAI,CAAC,EAAE;YAC5C,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,WAAW;gBACnB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,WAAW,EAAE;YAC7D,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE;gBACtD,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;aACrC;YACD,iBAAiB;SACjB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,WAAW,CACvB,OAAW,EACX,MAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EACtD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAC5B,OAAW,EACX,MAAkB;QAElB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,MAAM,EAAE;YACX,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,EAAE;YAC1D,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE;gBACtD,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;aACrC;YACD,iBAAiB;SACjB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAC/B,WAAmB,EACnB,MAAkB;QAElB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,EAClE,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,wBAAwB,CACpC,WAAmB,EACnB,MAAkB;QAElB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,MAAM,EAAE;YACX,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,mBAAmB,CAAC,WAAW,EAAE;YACtE,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE;gBACtD,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;aACrC;YACD,iBAAiB;SACjB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,oBAA+B,EAC/B,0BAAqC,EACrC,KAAY;QAEZ,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,cAAc,CACxB,oBAAoB,EACpB,0BAA0B,EAC1B,KAAK,CACL,CACD,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CAC1B,oBAA+B,EAC/B,0BAAqC,EACrC,KAAY;QAEZ,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAC7D,MAAM,WAAW,GAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAC7D,oBAAoB,CACpB,CAAC;QAEF,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,mBAAS,CAAC,OAAO,CAAC,EAAE;YAC9C,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,KAAK,CAAC,QAAQ;gBACtB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC9B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE;YACxD,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,UAAU,EAAE,0BAA0B;gBACtC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,MAAM,EAAE,MAAM;aACd;YACD,iBAAiB;SACjB,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,yCAAyC,CACrD,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,MAAM,YAAY,GAAyC,EAAE,CAAC;QAC9D,MAAM,uBAAuB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QACrE,IAAI,CAAC,uBAAuB,EAAE;YAC7B,YAAY,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC;SACnE;QACD,YAAY,CAAC,IAAI,CAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvE,CAAC;QACF,MAAM,EAAE,GAAG,IAAI,qBAAW,EAAE,CAAC;QAC7B,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE;YACvC,EAAE,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SACpB;QAED,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC7B,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CACvE,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAClC,WAAwB,EACxB,aAAyB,EACzB,QAAoB;QAEpB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,WAAW,GAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG;aACtE,MAAM,CAAC;QAEV,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE;YAC/C,IAAI,CAAC,aAAa,EAAE;gBACnB,MAAM,KAAK,CACV,0EAA0E,CAC1E,CAAC;aACF;YAED,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,IAAI,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE;YAC1C,IAAI,CAAC,QAAQ,EAAE;gBACd,MAAM,KAAK,CACV,8DAA8D,CAC9D,CAAC;aACF;YAED,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACpE,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,UAAU,EAAE,MAAM,IAAI,CAAC,6BAA6B,EAAE;gBACtD,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,UAAU,EAAE,MAAM,IAAI,CAAC,sBAAsB,EAAE;gBAC/C,YAAY,EAAE,UAAU,CAAC,YAAY;gBACrC,oBAAoB,EAAE,KAAK,CAAC,oBAAoB;gBAChD,MAAM,EAAE,WAAW;aACnB;YACD,iBAAiB;SACjB,CAAC,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACI,KAAK,CAAC,aAAa,CACzB,WAAe,EACf,aAAyB,EACzB,QAAoB;QAEpB,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9B,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,CAAC,CACnE,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAC9B,WAAe,EACf,aAAyB,EACzB,QAAoB;QAEpB,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAClE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAEhD,MAAM,WAAW,GAChB,IAAI,CAAC,iBAAiB,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAErE,MAAM,gBAAgB,GAAG;YACxB,aAAa,EAAE,KAAK;YACpB,QAAQ,EAAE,KAAK;SACf,CAAC;QACF,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,IAAI,aAAa,EAAE;YAClB,gBAAgB,CAAC,aAAa,GAAG,IAAI,CAAC;YACtC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,aAAa;gBACrB,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QACD,IAAI,QAAQ,EAAE;YACb,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC;YACjC,iBAAiB,CAAC,IAAI,CAAC;gBACtB,MAAM,EAAE,QAAQ;gBAChB,UAAU,EAAE,IAAI;gBAChB,QAAQ,EAAE,KAAK;aACf,CAAC,CAAC;SACH;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,CAClD,WAAW,EACX,gBAAgB,EAChB;YACC,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,IAAI,EAAE,oBAAoB;gBAC1B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,WAAW,CAAC,SAAS;gBACpC,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;gBAClD,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,MAAM,EAAE,WAAW;aACnB;YACD,iBAAiB,EAAE,iBAAiB;SACpC,CACD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CACrB,8BAAyC;QAEzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,gBAAQ,EAAC,MAAM,IAAI,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,EACnE,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,cAAc,CAC1B,8BAAyC;QAEzC,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;QAElE,MAAM,qBAAqB,GAAQ,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CACvE,8BAA8B,CAC9B,CAAC;QACF,MAAM,mBAAmB,GACxB,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAC7C,qBAAqB,CAAC,SAAS,CAC/B,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAEzC,MAAM,iBAAiB,GAAG,EAAE,CAAC;QAC7B,KAAK,MAAM,QAAQ,IAAI,mBAAmB,CAAC,SAAS,EAAE;YACrD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,IAAI,WAAE,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChE,iBAAiB,CAAC,IAAI,CAAC;oBACtB,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM;oBACzB,UAAU,EAAE,KAAK;oBACjB,QAAQ,EAAE,KAAK;iBACf,CAAC,CAAC;aACH;SACD;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC;YAC/C,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAChC,IAAI,EAAE,8BAA8B;gBACpC,UAAU,EAAE,oBAAoB;gBAChC,eAAe,EAAE,KAAK,CAAC,eAAe;gBACtC,wBAAwB,EAAE,KAAK,CAAC,wBAAwB;gBACxD,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;gBACtD,YAAY,EAAE,4BAAgB;gBAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,aAAa,EAAE,qBAAqB,CAAC,SAAS;gBAC9C,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;gBAC5C,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;aAClD;YACD,iBAAiB,EAAE,iBAAiB;SACpC,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC7B,MAAiB,EACjB,WAAe;QAEf,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,gBAAQ,EAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,EAChE,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAClC,MAAiB,EACjB,WAAe;QAEf,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,WAAW,EAAE;YACpE,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM;gBACd,kBAAkB,EAAE,KAAK,CAAC,kBAAkB;aAC5C;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAChC,WAAsB,EACtB,oBAA+B;QAE/B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CACxB,IAAA,gBAAQ,EACP,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,oBAAoB,CAAC,CACvE,EACD,EAAE,EACF,IAAI,CAAC,IAAI,CACT,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACrC,WAAsB,EACtB,oBAA+B;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QACrC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAoB,CAAC;YAC1D,QAAQ,EAAE;gBACT,KAAK,EAAE,MAAM,IAAI,CAAC,iBAAiB,EAAE;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,WAAW;gBACjB,aAAa,EAAE,oBAAoB;gBACnC,qBAAqB,EAAE,KAAK,CAAC,qBAAqB;aAClD;SACD,CAAC,CAAC;IACJ,CAAC;IAEM,YAAY,CAAC,SAA2C,EAAE,IAAU;QAC1E,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;CACD;AAlpCD,sCAkpCC"}
@@ -57,6 +57,7 @@ import {
57
57
  getClearingHouse,
58
58
  getWebSocketClearingHouseConfig,
59
59
  } from './factory/clearingHouse';
60
+ import { ZERO } from './constants/numericConstants';
60
61
 
61
62
  /**
62
63
  * # ClearingHouse
@@ -760,6 +761,14 @@ export class ClearingHouse {
760
761
  });
761
762
  }
762
763
 
764
+ if (!orderParams.oraclePriceOffset.eq(ZERO)) {
765
+ remainingAccounts.push({
766
+ pubkey: priceOracle,
767
+ isWritable: false,
768
+ isSigner: false,
769
+ });
770
+ }
771
+
763
772
  const state = this.getStateAccount();
764
773
  const orderState = this.getOrderStateAccount();
765
774
  return await this.program.instruction.placeOrder(orderParams, {
@@ -774,26 +783,41 @@ export class ClearingHouse {
774
783
  fundingRateHistory: state.fundingRateHistory,
775
784
  orderState: await this.getOrderStatePublicKey(),
776
785
  orderHistory: orderState.orderHistory,
777
- oracle: priceOracle,
778
786
  },
779
787
  remainingAccounts,
780
788
  });
781
789
  }
782
790
 
783
- public async cancelOrder(orderId: BN): Promise<TransactionSignature> {
791
+ public async cancelOrder(
792
+ orderId: BN,
793
+ oracle?: PublicKey
794
+ ): Promise<TransactionSignature> {
784
795
  return await this.txSender.send(
785
- wrapInTx(await this.getCancelOrderIx(orderId)),
796
+ wrapInTx(await this.getCancelOrderIx(orderId, oracle)),
786
797
  [],
787
798
  this.opts
788
799
  );
789
800
  }
790
801
 
791
- public async getCancelOrderIx(orderId: BN): Promise<TransactionInstruction> {
802
+ public async getCancelOrderIx(
803
+ orderId: BN,
804
+ oracle?: PublicKey
805
+ ): Promise<TransactionInstruction> {
792
806
  const userAccountPublicKey = await this.getUserAccountPublicKey();
793
807
  const userAccount = await this.getUserAccount();
794
808
 
795
809
  const state = this.getStateAccount();
796
810
  const orderState = this.getOrderStateAccount();
811
+
812
+ const remainingAccounts = [];
813
+ if (oracle) {
814
+ remainingAccounts.push({
815
+ pubkey: oracle,
816
+ isWritable: false,
817
+ isSigner: false,
818
+ });
819
+ }
820
+
797
821
  return await this.program.instruction.cancelOrder(orderId, {
798
822
  accounts: {
799
823
  state: await this.getStatePublicKey(),
@@ -807,27 +831,40 @@ export class ClearingHouse {
807
831
  orderState: await this.getOrderStatePublicKey(),
808
832
  orderHistory: orderState.orderHistory,
809
833
  },
834
+ remainingAccounts,
810
835
  });
811
836
  }
812
837
 
813
838
  public async cancelOrderByUserId(
814
- userOrderId: number
839
+ userOrderId: number,
840
+ oracle?: PublicKey
815
841
  ): Promise<TransactionSignature> {
816
842
  return await this.txSender.send(
817
- wrapInTx(await this.getCancelOrderByUserIdIx(userOrderId)),
843
+ wrapInTx(await this.getCancelOrderByUserIdIx(userOrderId, oracle)),
818
844
  [],
819
845
  this.opts
820
846
  );
821
847
  }
822
848
 
823
849
  public async getCancelOrderByUserIdIx(
824
- userOrderId: number
850
+ userOrderId: number,
851
+ oracle?: PublicKey
825
852
  ): Promise<TransactionInstruction> {
826
853
  const userAccountPublicKey = await this.getUserAccountPublicKey();
827
854
  const userAccount = await this.getUserAccount();
828
855
 
829
856
  const state = this.getStateAccount();
830
857
  const orderState = this.getOrderStateAccount();
858
+
859
+ const remainingAccounts = [];
860
+ if (oracle) {
861
+ remainingAccounts.push({
862
+ pubkey: oracle,
863
+ isWritable: false,
864
+ isSigner: false,
865
+ });
866
+ }
867
+
831
868
  return await this.program.instruction.cancelOrderByUserId(userOrderId, {
832
869
  accounts: {
833
870
  state: await this.getStatePublicKey(),
@@ -841,6 +878,7 @@ export class ClearingHouse {
841
878
  orderState: await this.getOrderStatePublicKey(),
842
879
  orderHistory: orderState.orderHistory,
843
880
  },
881
+ remainingAccounts,
844
882
  });
845
883
  }
846
884