@alphafi/alphafi-sdk 0.0.37 → 0.0.38

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 (110) hide show
  1. package/README.md +115 -12
  2. package/dist/cjs/common/constants.d.ts +90 -0
  3. package/dist/cjs/common/constants.d.ts.map +1 -1
  4. package/dist/cjs/common/constants.js +67 -5
  5. package/dist/cjs/common/constants.js.map +1 -1
  6. package/dist/cjs/common/maps.d.ts +2 -0
  7. package/dist/cjs/common/maps.d.ts.map +1 -1
  8. package/dist/cjs/common/maps.js +94 -0
  9. package/dist/cjs/common/maps.js.map +1 -1
  10. package/dist/cjs/common/types.d.ts +2 -2
  11. package/dist/cjs/common/types.d.ts.map +1 -1
  12. package/dist/cjs/common/types.js.map +1 -1
  13. package/dist/cjs/index.d.ts +4 -2
  14. package/dist/cjs/index.d.ts.map +1 -1
  15. package/dist/cjs/index.js +10 -4
  16. package/dist/cjs/index.js.map +1 -1
  17. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts +3 -0
  18. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -0
  19. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js +44 -0
  20. package/dist/cjs/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -0
  21. package/dist/cjs/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  22. package/dist/cjs/sui-sdk/events/fetchEvents.js +41 -0
  23. package/dist/cjs/sui-sdk/events/fetchEvents.js.map +1 -1
  24. package/dist/cjs/sui-sdk/events/types.d.ts +9 -1
  25. package/dist/cjs/sui-sdk/events/types.d.ts.map +1 -1
  26. package/dist/cjs/sui-sdk/events/types.js.map +1 -1
  27. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts +4 -4
  28. package/dist/cjs/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  29. package/dist/cjs/sui-sdk/functions/getReceipts.js +26 -28
  30. package/dist/cjs/sui-sdk/functions/getReceipts.js.map +1 -1
  31. package/dist/cjs/transactions/alpha.d.ts +1 -1
  32. package/dist/cjs/transactions/alpha.d.ts.map +1 -1
  33. package/dist/cjs/transactions/alpha.js +2 -2
  34. package/dist/cjs/transactions/alpha.js.map +1 -1
  35. package/dist/cjs/transactions/bluefin.d.ts +2 -2
  36. package/dist/cjs/transactions/bluefin.d.ts.map +1 -1
  37. package/dist/cjs/transactions/bluefin.js +6 -6
  38. package/dist/cjs/transactions/bluefin.js.map +1 -1
  39. package/dist/cjs/transactions/bucket.d.ts +1 -1
  40. package/dist/cjs/transactions/bucket.js +2 -2
  41. package/dist/cjs/transactions/bucket.js.map +1 -1
  42. package/dist/cjs/transactions/cetus.d.ts +4 -4
  43. package/dist/cjs/transactions/cetus.d.ts.map +1 -1
  44. package/dist/cjs/transactions/cetus.js +27 -29
  45. package/dist/cjs/transactions/cetus.js.map +1 -1
  46. package/dist/cjs/transactions/deposit.d.ts +2 -2
  47. package/dist/cjs/transactions/deposit.js +4 -4
  48. package/dist/cjs/transactions/deposit.js.map +1 -1
  49. package/dist/cjs/transactions/navi.d.ts +1 -1
  50. package/dist/cjs/transactions/navi.js +9 -9
  51. package/dist/cjs/transactions/navi.js.map +1 -1
  52. package/dist/cjs/transactions/withdraw.d.ts +3 -2
  53. package/dist/cjs/transactions/withdraw.d.ts.map +1 -1
  54. package/dist/cjs/transactions/withdraw.js +28 -14
  55. package/dist/cjs/transactions/withdraw.js.map +1 -1
  56. package/dist/esm/common/constants.d.ts +90 -0
  57. package/dist/esm/common/constants.d.ts.map +1 -1
  58. package/dist/esm/common/constants.js +67 -5
  59. package/dist/esm/common/constants.js.map +1 -1
  60. package/dist/esm/common/maps.d.ts +2 -0
  61. package/dist/esm/common/maps.d.ts.map +1 -1
  62. package/dist/esm/common/maps.js +94 -0
  63. package/dist/esm/common/maps.js.map +1 -1
  64. package/dist/esm/common/types.d.ts +2 -2
  65. package/dist/esm/common/types.d.ts.map +1 -1
  66. package/dist/esm/common/types.js.map +1 -1
  67. package/dist/esm/index.d.ts +4 -2
  68. package/dist/esm/index.d.ts.map +1 -1
  69. package/dist/esm/index.js +4 -2
  70. package/dist/esm/index.js.map +1 -1
  71. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts +3 -0
  72. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.d.ts.map +1 -0
  73. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js +41 -0
  74. package/dist/esm/sui-sdk/events/fetchCheckRatioEvents.js.map +1 -0
  75. package/dist/esm/sui-sdk/events/fetchEvents.d.ts.map +1 -1
  76. package/dist/esm/sui-sdk/events/fetchEvents.js +41 -0
  77. package/dist/esm/sui-sdk/events/fetchEvents.js.map +1 -1
  78. package/dist/esm/sui-sdk/events/types.d.ts +9 -1
  79. package/dist/esm/sui-sdk/events/types.d.ts.map +1 -1
  80. package/dist/esm/sui-sdk/events/types.js.map +1 -1
  81. package/dist/esm/sui-sdk/functions/getReceipts.d.ts +4 -4
  82. package/dist/esm/sui-sdk/functions/getReceipts.d.ts.map +1 -1
  83. package/dist/esm/sui-sdk/functions/getReceipts.js +26 -28
  84. package/dist/esm/sui-sdk/functions/getReceipts.js.map +1 -1
  85. package/dist/esm/transactions/alpha.d.ts +1 -1
  86. package/dist/esm/transactions/alpha.d.ts.map +1 -1
  87. package/dist/esm/transactions/alpha.js +2 -2
  88. package/dist/esm/transactions/alpha.js.map +1 -1
  89. package/dist/esm/transactions/bluefin.d.ts +2 -2
  90. package/dist/esm/transactions/bluefin.d.ts.map +1 -1
  91. package/dist/esm/transactions/bluefin.js +6 -6
  92. package/dist/esm/transactions/bluefin.js.map +1 -1
  93. package/dist/esm/transactions/bucket.d.ts +1 -1
  94. package/dist/esm/transactions/bucket.js +2 -2
  95. package/dist/esm/transactions/bucket.js.map +1 -1
  96. package/dist/esm/transactions/cetus.d.ts +4 -4
  97. package/dist/esm/transactions/cetus.d.ts.map +1 -1
  98. package/dist/esm/transactions/cetus.js +27 -29
  99. package/dist/esm/transactions/cetus.js.map +1 -1
  100. package/dist/esm/transactions/deposit.d.ts +2 -2
  101. package/dist/esm/transactions/deposit.js +2 -2
  102. package/dist/esm/transactions/deposit.js.map +1 -1
  103. package/dist/esm/transactions/navi.d.ts +1 -1
  104. package/dist/esm/transactions/navi.js +9 -9
  105. package/dist/esm/transactions/navi.js.map +1 -1
  106. package/dist/esm/transactions/withdraw.d.ts +3 -2
  107. package/dist/esm/transactions/withdraw.d.ts.map +1 -1
  108. package/dist/esm/transactions/withdraw.js +27 -15
  109. package/dist/esm/transactions/withdraw.js.map +1 -1
  110. package/package.json +4 -2
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.depsoitSingleAssetTxb = depsoitSingleAssetTxb;
4
- exports.depsoitDoubleAssetTxb = depsoitDoubleAssetTxb;
3
+ exports.depositSingleAssetTxb = depositSingleAssetTxb;
4
+ exports.depositDoubleAssetTxb = depositDoubleAssetTxb;
5
5
  const transactions_1 = require("@mysten/sui/transactions");
6
6
  const maps_js_1 = require("../common/maps.js");
7
7
  const alpha_js_1 = require("./alpha.js");
@@ -9,7 +9,7 @@ const navi_js_1 = require("./navi.js");
9
9
  const bucket_js_1 = require("./bucket.js");
10
10
  const cetus_js_1 = require("./cetus.js");
11
11
  const bluefin_js_1 = require("./bluefin.js");
12
- async function depsoitSingleAssetTxb(poolName, address, amount) {
12
+ async function depositSingleAssetTxb(poolName, address, amount) {
13
13
  let txb = new transactions_1.Transaction();
14
14
  if (maps_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI") {
15
15
  txb = await (0, alpha_js_1.depositAlphaTxb)(amount, address);
@@ -22,7 +22,7 @@ async function depsoitSingleAssetTxb(poolName, address, amount) {
22
22
  }
23
23
  return txb;
24
24
  }
25
- async function depsoitDoubleAssetTxb(poolName, address, amount, isAmountA) {
25
+ async function depositDoubleAssetTxb(poolName, address, amount, isAmountA) {
26
26
  let txb = new transactions_1.Transaction();
27
27
  if (maps_js_1.poolInfo[poolName].parentProtocolName === "CETUS") {
28
28
  const coin1 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin1;
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":";;AAgBA,sDAcC;AAED,sDAgCC;AAhED,2DAAuD;AACvD,+CAAqE;AAErE,yCAA6C;AAC7C,uCAA0C;AAC1C,2CAA8C;AAC9C,yCAIoB;AACpB,6CAGsB;AAEf,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAe,EACf,MAAc;IAEd,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC5B,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACxD,GAAG,GAAG,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAC5D,GAAG,GAAG,MAAM,IAAA,uBAAa,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC9D,GAAG,GAAG,MAAM,IAAA,2BAAe,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAe,EACf,MAAc,EACd,SAAkB;IAElB,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC5B,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,IAAA,6BAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,GAAG,GAAG,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC/D,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,MAAM,IAAA,sCAAyB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBACjE,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,mCAAsB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC9D,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinSuiFirstTxb,\n depositBluefinType1Txb,\n} from \"./bluefin.js\";\n\nexport async function depsoitSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n txb = await naviDepositTx(Number(amount), poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(Number(amount), { address });\n }\n return txb;\n}\n\nexport async function depsoitDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n return txb;\n}\n"]}
1
+ {"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/transactions/deposit.ts"],"names":[],"mappings":";;AAgBA,sDAcC;AAED,sDAgCC;AAhED,2DAAuD;AACvD,+CAAqE;AAErE,yCAA6C;AAC7C,uCAA0C;AAC1C,2CAA8C;AAC9C,yCAIoB;AACpB,6CAGsB;AAEf,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAe,EACf,MAAc;IAEd,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC5B,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QACxD,GAAG,GAAG,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAC5D,GAAG,GAAG,MAAM,IAAA,uBAAa,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACnE,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC9D,GAAG,GAAG,MAAM,IAAA,2BAAe,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAEM,KAAK,UAAU,qBAAqB,CACzC,QAAkB,EAClB,OAAe,EACf,MAAc,EACd,SAAkB;IAElB,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC5B,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,IAAA,6BAAkB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC3E,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,GAAG,GAAG,MAAM,IAAA,kCAAuB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC/D,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,0BAAe,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,MAAM,IAAA,sCAAyB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBACjE,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,mCAAsB,EAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE;gBAC9D,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport { depositAlphaTxb } from \"./alpha.js\";\nimport { naviDepositTx } from \"./navi.js\";\nimport { bucketDepositTx } from \"./bucket.js\";\nimport {\n depositCetusAlphaSuiTxb,\n depositCetusSuiTxb,\n depositCetusTxb,\n} from \"./cetus.js\";\nimport {\n depositBluefinSuiFirstTxb,\n depositBluefinType1Txb,\n} from \"./bluefin.js\";\n\nexport async function depositSingleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"ALPHAFI\") {\n txb = await depositAlphaTxb(amount, address);\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n txb = await naviDepositTx(Number(amount), poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketDepositTx(Number(amount), { address });\n }\n return txb;\n}\n\nexport async function depositDoubleAssetTxb(\n poolName: PoolName,\n address: string,\n amount: string,\n isAmountA: boolean,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await depositCetusSuiTxb(amount, poolName, isAmountA, { address });\n } else if (coin2 === \"SUI\") {\n txb = await depositCetusAlphaSuiTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositCetusTxb(amount, poolName, isAmountA, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n if (coin1 === \"SUI\") {\n txb = await depositBluefinSuiFirstTxb(amount, poolName, isAmountA, {\n address,\n });\n } else {\n txb = await depositBluefinType1Txb(amount, poolName, isAmountA, {\n address,\n });\n }\n }\n return txb;\n}\n"]}
@@ -3,7 +3,7 @@ import { PoolName } from "../common/types.js";
3
3
  export declare function naviDepositTx(amount: number, poolName: PoolName, options: {
4
4
  address: string;
5
5
  }): Promise<Transaction>;
6
- export declare function naviWithdrawTx(xtokens: number, poolName: PoolName, options: {
6
+ export declare function naviWithdrawTx(xTokens: string, poolName: PoolName, options: {
7
7
  address: string;
8
8
  }): Promise<Transaction>;
9
9
  //# sourceMappingURL=navi.d.ts.map
@@ -324,7 +324,7 @@ async function naviDepositTx(amount, poolName, options) {
324
324
  }
325
325
  return txb;
326
326
  }
327
- async function naviWithdrawTx(xtokens, poolName, options) {
327
+ async function naviWithdrawTx(xTokens, poolName, options) {
328
328
  const C = await (0, constants_js_1.getConf)();
329
329
  const address = options.address;
330
330
  const txb = new transactions_1.Transaction();
@@ -361,7 +361,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
361
361
  alpha_receipt,
362
362
  txb.object(C.ALPHA_POOL),
363
363
  txb.object(poolData.poolId),
364
- txb.pure.u64(xtokens),
364
+ txb.pure.u64(xTokens),
365
365
  txb.object(poolData.investorId),
366
366
  txb.object(C.ALPHA_DISTRIBUTOR),
367
367
  txb.object(C.PRICE_ORACLE),
@@ -391,7 +391,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
391
391
  alpha_receipt,
392
392
  txb.object(C.ALPHA_POOL),
393
393
  txb.object(poolData.poolId),
394
- txb.pure.u64(xtokens),
394
+ txb.pure.u64(xTokens),
395
395
  txb.object(poolData.investorId),
396
396
  txb.object(C.ALPHA_DISTRIBUTOR),
397
397
  txb.object(C.PRICE_ORACLE),
@@ -425,7 +425,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
425
425
  alpha_receipt,
426
426
  txb.object(C.ALPHA_POOL),
427
427
  txb.object(poolData.poolId),
428
- txb.pure.u64(xtokens),
428
+ txb.pure.u64(xTokens),
429
429
  txb.object(poolData.investorId),
430
430
  txb.object(C.ALPHA_DISTRIBUTOR),
431
431
  txb.object(C.PRICE_ORACLE),
@@ -458,7 +458,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
458
458
  alpha_receipt,
459
459
  txb.object(C.ALPHA_POOL),
460
460
  txb.object(poolData.poolId),
461
- txb.pure.u64(xtokens),
461
+ txb.pure.u64(xTokens),
462
462
  txb.object(poolData.investorId),
463
463
  txb.object(C.ALPHA_DISTRIBUTOR),
464
464
  txb.object(C.PRICE_ORACLE),
@@ -491,7 +491,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
491
491
  alpha_receipt,
492
492
  txb.object(C.ALPHA_POOL),
493
493
  txb.object(poolData.poolId),
494
- txb.pure.u64(xtokens),
494
+ txb.pure.u64(xTokens),
495
495
  txb.object(poolData.investorId),
496
496
  txb.object(C.ALPHA_DISTRIBUTOR),
497
497
  txb.object(C.PRICE_ORACLE),
@@ -524,7 +524,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
524
524
  alpha_receipt,
525
525
  txb.object(C.ALPHA_POOL),
526
526
  txb.object(poolData.poolId),
527
- txb.pure.u64(xtokens),
527
+ txb.pure.u64(xTokens),
528
528
  txb.object(poolData.investorId),
529
529
  txb.object(C.ALPHA_DISTRIBUTOR),
530
530
  txb.object(C.PRICE_ORACLE),
@@ -559,7 +559,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
559
559
  alpha_receipt,
560
560
  txb.object(C.ALPHA_POOL),
561
561
  txb.object(poolData.poolId),
562
- txb.pure.u64(xtokens),
562
+ txb.pure.u64(xTokens),
563
563
  txb.object(poolData.investorId),
564
564
  txb.object(C.ALPHA_DISTRIBUTOR),
565
565
  txb.object(C.PRICE_ORACLE),
@@ -591,7 +591,7 @@ async function naviWithdrawTx(xtokens, poolName, options) {
591
591
  alpha_receipt,
592
592
  txb.object(C.ALPHA_POOL),
593
593
  txb.object(poolData.poolId),
594
- txb.pure.u64(xtokens),
594
+ txb.pure.u64(xTokens),
595
595
  txb.object(poolData.investorId),
596
596
  txb.object(C.ALPHA_DISTRIBUTOR),
597
597
  txb.object(C.PRICE_ORACLE),
@@ -1 +1 @@
1
- {"version":3,"file":"navi.js","sourceRoot":"","sources":["../../../src/transactions/navi.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport { coinsList } from \"../common/coins.js\";\nimport {\n cetusPoolMap,\n naviAssetMap,\n poolInfo,\n singleAssetPoolCoinMap,\n} from \"../common/maps.js\";\nimport { PoolName, Receipt } from \"../common/types.js\";\nimport { getReceipts } from \"../sui-sdk/functions/getReceipts.js\";\nimport { getConf } from \"../common/constants.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\n\nexport async function naviDepositTx(\n amount: number,\n poolName: PoolName,\n options: { address: string },\n): Promise<Transaction> {\n const C = await getConf();\n const suiClient = getSuiClient();\n const address = options.address;\n const txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n\n if (singleAssetPoolCoinMap[poolName].coin == \"SUI\") {\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n const [depositCoin] = txb.splitCoins(txb.gas, [amount]);\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_one_swap`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n let coins: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n cursor: currentCursor,\n });\n\n coins = coins.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n if (coins.length >= 1) {\n const [coin] = txb.splitCoins(txb.object(coins[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin,\n coins.map((c) => c.coinObjectId),\n );\n const [depositCoin] = txb.splitCoins(coin, [amount]);\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n if (singleAssetPoolCoinMap[poolName].coin == \"VSUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"NAVX\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_NAVX_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"NAVX-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"WETH\" ||\n singleAssetPoolCoinMap[poolName].coin == \"USDT\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"WUSDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"CETUS\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"BUCK\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"BUCK-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDY\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"AUSD\" ||\n singleAssetPoolCoinMap[poolName].coin == \"ETH\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"USDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_3_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"USDC-SUI\"]),\n txb.object(\n cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n }\n txb.transferObjects([coin], address);\n } else {\n throw new Error(`No ${singleAssetPoolCoinMap[poolName].coin} Coins`);\n }\n }\n\n return txb;\n}\n\nexport async function naviWithdrawTx(\n xtokens: number,\n poolName: PoolName,\n options: { address: string },\n): Promise<Transaction> {\n const C = await getConf();\n const address = options.address;\n const txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n\n if (singleAssetPoolCoinMap[poolName].coin == \"SUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_one_swap`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"VSUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"NAVX\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_NAVX_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"NAVX-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"WETH\" ||\n singleAssetPoolCoinMap[poolName].coin == \"USDT\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"WUSDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"CETUS\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"BUCK\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"BUCK-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDY\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"AUSD\" ||\n singleAssetPoolCoinMap[poolName].coin == \"ETH\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"USDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_3_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"USDC-SUI\"]),\n txb.object(\n cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xtokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n }\n } else {\n throw new Error(`No ${poolName} Receipt`);\n }\n\n return txb;\n}\n"]}
1
+ {"version":3,"file":"navi.js","sourceRoot":"","sources":["../../../src/transactions/navi.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { CoinStruct } from \"@mysten/sui/client\";\nimport { coinsList } from \"../common/coins.js\";\nimport {\n cetusPoolMap,\n naviAssetMap,\n poolInfo,\n singleAssetPoolCoinMap,\n} from \"../common/maps.js\";\nimport { PoolName, Receipt } from \"../common/types.js\";\nimport { getReceipts } from \"../sui-sdk/functions/getReceipts.js\";\nimport { getConf } from \"../common/constants.js\";\nimport { getSuiClient } from \"../sui-sdk/client.js\";\n\nexport async function naviDepositTx(\n amount: number,\n poolName: PoolName,\n options: { address: string },\n): Promise<Transaction> {\n const C = await getConf();\n const suiClient = getSuiClient();\n const address = options.address;\n const txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n\n if (singleAssetPoolCoinMap[poolName].coin == \"SUI\") {\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n const [depositCoin] = txb.splitCoins(txb.gas, [amount]);\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_one_swap`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n let coins: CoinStruct[] = [];\n\n let currentCursor: string | null | undefined = null;\n\n do {\n const response = await suiClient.getCoins({\n owner: address,\n coinType: coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n cursor: currentCursor,\n });\n\n coins = coins.concat(response.data);\n\n // Check if there's a next page\n if (response.hasNextPage && response.nextCursor) {\n currentCursor = response.nextCursor;\n } else {\n // No more pages available\n // console.log(\"No more receipts available.\");\n break;\n }\n } while (true);\n\n if (coins.length >= 1) {\n const [coin] = txb.splitCoins(txb.object(coins[0].coinObjectId), [0]);\n txb.mergeCoins(\n coin,\n coins.map((c) => c.coinObjectId),\n );\n const [depositCoin] = txb.splitCoins(coin, [amount]);\n let someReceipt: any;\n if (receipt.length == 0) {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [poolData.receiptType],\n arguments: [],\n });\n } else {\n [someReceipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [receipt[0].content.type],\n arguments: [txb.object(receipt[0].objectId)],\n });\n }\n\n if (singleAssetPoolCoinMap[poolName].coin == \"VSUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"NAVX\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_NAVX_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"NAVX-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"WETH\" ||\n singleAssetPoolCoinMap[poolName].coin == \"USDT\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"WUSDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"CETUS\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"BUCK\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"BUCK-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDY\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"AUSD\" ||\n singleAssetPoolCoinMap[poolName].coin == \"ETH\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_deposit_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"USDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_3_VERSION),\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"USDC-SUI\"]),\n txb.object(\n cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_deposit_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n someReceipt,\n txb.object(poolData.poolId),\n depositCoin,\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n }\n txb.transferObjects([coin], address);\n } else {\n throw new Error(`No ${singleAssetPoolCoinMap[poolName].coin} Coins`);\n }\n }\n\n return txb;\n}\n\nexport async function naviWithdrawTx(\n xTokens: string,\n poolName: PoolName,\n options: { address: string },\n): Promise<Transaction> {\n const C = await getConf();\n const address = options.address;\n const txb = new Transaction();\n poolName = poolName.toUpperCase() as PoolName;\n const poolData = poolInfo[poolName];\n\n const receipt: Receipt[] = await getReceipts(poolName, address, true);\n\n const alphaReceipt: Receipt[] = await getReceipts(\"ALPHA\", address, true);\n\n if (receipt.length > 0) {\n let alpha_receipt: any;\n if (alphaReceipt.length == 0) {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::none`,\n typeArguments: [C.ALPHA_POOL_RECEIPT],\n arguments: [],\n });\n } else {\n [alpha_receipt] = txb.moveCall({\n target: `0x1::option::some`,\n typeArguments: [alphaReceipt[0].content.type],\n arguments: [txb.object(alphaReceipt[0].objectId)],\n });\n }\n\n if (singleAssetPoolCoinMap[poolName].coin == \"SUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_one_swap`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"VSUI\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"NAVX\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_NAVX_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"NAVX-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"WETH\" ||\n singleAssetPoolCoinMap[poolName].coin == \"USDT\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"WUSDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"CETUS\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"CETUS-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-CETUS`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDC\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"BUCK\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"BUCK-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-BUCK`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (singleAssetPoolCoinMap[poolName].coin == \"USDY\") {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"WUSDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"WUSDC-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-WUSDC`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else if (\n singleAssetPoolCoinMap[poolName].coin == \"AUSD\" ||\n singleAssetPoolCoinMap[poolName].coin == \"ETH\"\n ) {\n txb.moveCall({\n target: `${C.ALPHA_3_LATEST_PACKAGE_ID}::alphafi_navi_pool_v2::user_withdraw_with_three_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"USDC\"].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.ALPHA_3_VERSION),\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(cetusPoolMap[\"USDC-SUI\"]),\n txb.object(\n cetusPoolMap[`USDC-${singleAssetPoolCoinMap[poolName].coin}`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n } else {\n txb.moveCall({\n target: `${C.ALPHA_LATEST_PACKAGE_ID}::alphafi_navi_pool::user_withdraw_with_two_swaps`,\n typeArguments: [\n coinsList[singleAssetPoolCoinMap[poolName].coin].type,\n coinsList[\"SUI\"].type,\n coinsList[\"VSUI\"].type,\n ],\n arguments: [\n txb.object(C.VERSION),\n txb.object(receipt[0].objectId),\n alpha_receipt,\n txb.object(C.ALPHA_POOL),\n txb.object(poolData.poolId),\n txb.pure.u64(xTokens),\n txb.object(poolData.investorId),\n txb.object(C.ALPHA_DISTRIBUTOR),\n txb.object(C.PRICE_ORACLE),\n txb.object(C.NAVI_STORAGE),\n txb.object(poolData.parentPoolId),\n txb.pure.u8(\n Number(naviAssetMap[singleAssetPoolCoinMap[poolName].coin]),\n ),\n txb.object(C.NAVI_INCENTIVE_V1),\n txb.object(C.NAVI_INCENTIVE_V2),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.NAVI_VSUI_FUNDS_POOL),\n txb.object(C.CETUS_GLOBAL_CONFIG_ID),\n txb.object(cetusPoolMap[\"VSUI-SUI\"]),\n txb.object(\n cetusPoolMap[`${singleAssetPoolCoinMap[poolName].coin}-SUI`],\n ),\n txb.object(C.CLOCK_PACKAGE_ID),\n ],\n });\n }\n } else {\n throw new Error(`No ${poolName} Receipt`);\n }\n\n return txb;\n}\n"]}
@@ -1,5 +1,6 @@
1
1
  import { Transaction } from "@mysten/sui/transactions";
2
2
  import { PoolName } from "../common/types.js";
3
- export declare function withdrawTxb(amount: string, // liquidity for doube-asset and xTokens for single-asset
4
- poolName: PoolName, address: string, withdrawFromLocked?: boolean): Promise<Transaction>;
3
+ export declare function withdrawTxb(xTokensAmount: string, poolName: PoolName, address: string): Promise<Transaction>;
4
+ export declare function coinAmountToXTokensSingleAsset(amount: string, poolName: PoolName): Promise<string>;
5
+ export declare function coinAmountToXTokensDoubleAsset(amount: string, poolName: PoolName, isAmountA: boolean): Promise<string>;
5
6
  //# sourceMappingURL=withdraw.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAc9C,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,EAAE,yDAAyD;AACzE,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,EACf,kBAAkB,CAAC,EAAE,OAAO,wBAmC7B"}
1
+ {"version":3,"file":"withdraw.d.ts","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAe9C,wBAAsB,WAAW,CAC/B,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,MAAM,wBAoChB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,8BAA8B,CAClD,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -1,52 +1,66 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.withdrawTxb = withdrawTxb;
4
+ exports.coinAmountToXTokensSingleAsset = coinAmountToXTokensSingleAsset;
5
+ exports.coinAmountToXTokensDoubleAsset = coinAmountToXTokensDoubleAsset;
4
6
  const transactions_1 = require("@mysten/sui/transactions");
5
7
  const maps_js_1 = require("../common/maps.js");
6
8
  const cetus_js_1 = require("./cetus.js");
7
9
  const bluefin_js_1 = require("./bluefin.js");
8
10
  const navi_js_1 = require("./navi.js");
9
11
  const bucket_js_1 = require("./bucket.js");
10
- const alpha_js_1 = require("./alpha.js");
11
- async function withdrawTxb(amount, // liquidity for doube-asset and xTokens for single-asset
12
- poolName, address, withdrawFromLocked) {
12
+ const getReceipts_js_1 = require("../sui-sdk/functions/getReceipts.js");
13
+ async function withdrawTxb(xTokensAmount, poolName, address) {
13
14
  let txb = new transactions_1.Transaction();
14
15
  if (maps_js_1.poolInfo[poolName].parentProtocolName === "CETUS") {
15
16
  const coin1 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin1;
16
17
  const coin2 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin2;
17
18
  if (coin1 === "CETUS" && coin2 === "SUI") {
18
- txb = await (0, cetus_js_1.withdrawCetusSuiTxb)(amount, poolName, { address });
19
+ txb = await (0, cetus_js_1.withdrawCetusSuiTxb)(xTokensAmount, poolName, {
20
+ address,
21
+ });
19
22
  }
20
23
  else if (coin2 === "SUI") {
21
- txb = await (0, cetus_js_1.withdrawCetusAlphaSuiTxb)(amount, poolName, { address });
24
+ txb = await (0, cetus_js_1.withdrawCetusAlphaSuiTxb)(xTokensAmount, poolName, {
25
+ address,
26
+ });
22
27
  }
23
28
  else {
24
- txb = await (0, cetus_js_1.withdrawCetusTxb)(amount, poolName, { address });
29
+ txb = await (0, cetus_js_1.withdrawCetusTxb)(xTokensAmount, poolName, {
30
+ address,
31
+ });
25
32
  }
26
33
  }
27
34
  else if (maps_js_1.poolInfo[poolName].parentProtocolName === "BLUEFIN") {
28
35
  const coin1 = maps_js_1.doubleAssetPoolCoinMap[poolName].coin1;
29
36
  if (coin1 === "SUI") {
30
- txb = await (0, bluefin_js_1.withdrawBluefinSuiFirstTxb)(amount, poolName, {
37
+ txb = await (0, bluefin_js_1.withdrawBluefinSuiFirstTxb)(xTokensAmount, poolName, {
31
38
  address,
32
39
  });
33
40
  }
34
41
  else {
35
- txb = await (0, bluefin_js_1.withdrawBluefinType1Txb)(amount, poolName, {
42
+ txb = await (0, bluefin_js_1.withdrawBluefinType1Txb)(xTokensAmount, poolName, {
36
43
  address,
37
44
  });
38
45
  }
39
46
  }
40
47
  else if (maps_js_1.poolInfo[poolName].parentProtocolName === "NAVI") {
41
- txb = await (0, navi_js_1.naviWithdrawTx)(Number(amount), poolName, { address });
48
+ txb = await (0, navi_js_1.naviWithdrawTx)(xTokensAmount, poolName, { address });
42
49
  }
43
50
  else if (maps_js_1.poolInfo[poolName].parentProtocolName === "BUCKET") {
44
- txb = await (0, bucket_js_1.bucketWithdrawTx)(Number(amount), { address });
45
- }
46
- else if (maps_js_1.poolInfo[poolName].parentProtocolName === "ALPHAFI" &&
47
- withdrawFromLocked) {
48
- txb = await (0, alpha_js_1.withdrawAlphaTxb)(amount, withdrawFromLocked, address);
51
+ txb = await (0, bucket_js_1.bucketWithdrawTx)(xTokensAmount, { address });
49
52
  }
50
53
  return txb;
51
54
  }
55
+ async function coinAmountToXTokensSingleAsset(amount, poolName) {
56
+ const exchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName, true);
57
+ const xTokens = Math.floor(parseFloat(amount) / exchangeRate.toNumber());
58
+ return xTokens.toString();
59
+ }
60
+ async function coinAmountToXTokensDoubleAsset(amount, poolName, isAmountA) {
61
+ const liquidity = await (0, cetus_js_1.getLiquidity)(poolName, isAmountA, amount);
62
+ const exchangeRate = await (0, getReceipts_js_1.getPoolExchangeRate)(poolName, true);
63
+ const xTokens = Math.floor(parseFloat(liquidity.liquidityAmount.toString()) / exchangeRate.toNumber());
64
+ return xTokens.toString();
65
+ }
52
66
  //# sourceMappingURL=withdraw.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":";;AAgBA,kCAuCC;AAvDD,2DAAuD;AACvD,+CAAqE;AAErE,yCAIoB;AACpB,6CAGsB;AACtB,uCAA2C;AAC3C,2CAA+C;AAC/C,yCAA8C;AAEvC,KAAK,UAAU,WAAW,CAC/B,MAAc,EAAE,yDAAyD;AACzE,QAAkB,EAClB,OAAe,EACf,kBAA4B;IAE5B,IAAI,GAAG,GAAG,IAAI,0BAAW,EAAE,CAAC;IAC5B,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACtD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACzC,GAAG,GAAG,MAAM,IAAA,8BAAmB,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,CAAC;aAAM,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC3B,GAAG,GAAG,MAAM,IAAA,mCAAwB,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS,EAAE,CAAC;QAC/D,MAAM,KAAK,GAAG,gCAAsB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QACrD,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACpB,GAAG,GAAG,MAAM,IAAA,uCAA0B,EAAC,MAAM,EAAE,QAAQ,EAAE;gBACvD,OAAO;aACR,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,GAAG,GAAG,MAAM,IAAA,oCAAuB,EAAC,MAAM,EAAE,QAAQ,EAAE;gBACpD,OAAO;aACR,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,MAAM,EAAE,CAAC;QAC5D,GAAG,GAAG,MAAM,IAAA,wBAAc,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IACpE,CAAC;SAAM,IAAI,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,QAAQ,EAAE,CAAC;QAC9D,GAAG,GAAG,MAAM,IAAA,4BAAgB,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;IAC5D,CAAC;SAAM,IACL,kBAAQ,CAAC,QAAQ,CAAC,CAAC,kBAAkB,KAAK,SAAS;QACnD,kBAAkB,EAClB,CAAC;QACD,GAAG,GAAG,MAAM,IAAA,2BAAgB,EAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport {\n withdrawCetusAlphaSuiTxb,\n withdrawCetusSuiTxb,\n withdrawCetusTxb,\n} from \"./cetus.js\";\nimport {\n withdrawBluefinSuiFirstTxb,\n withdrawBluefinType1Txb,\n} from \"./bluefin.js\";\nimport { naviWithdrawTx } from \"./navi.js\";\nimport { bucketWithdrawTx } from \"./bucket.js\";\nimport { withdrawAlphaTxb } from \"./alpha.js\";\n\nexport async function withdrawTxb(\n amount: string, // liquidity for doube-asset and xTokens for single-asset\n poolName: PoolName,\n address: string,\n withdrawFromLocked?: boolean, // needed for withdraw from alpha-vault\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await withdrawCetusSuiTxb(amount, poolName, { address });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawCetusAlphaSuiTxb(amount, poolName, { address });\n } else {\n txb = await withdrawCetusTxb(amount, poolName, { address });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n if (coin1 === \"SUI\") {\n txb = await withdrawBluefinSuiFirstTxb(amount, poolName, {\n address,\n });\n } else {\n txb = await withdrawBluefinType1Txb(amount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n txb = await naviWithdrawTx(Number(amount), poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketWithdrawTx(Number(amount), { address });\n } else if (\n poolInfo[poolName].parentProtocolName === \"ALPHAFI\" &&\n withdrawFromLocked\n ) {\n txb = await withdrawAlphaTxb(amount, withdrawFromLocked, address);\n }\n return txb;\n}\n"]}
1
+ {"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/transactions/withdraw.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction } from \"@mysten/sui/transactions\";\nimport { doubleAssetPoolCoinMap, poolInfo } from \"../common/maps.js\";\nimport { PoolName } from \"../common/types.js\";\nimport {\n getLiquidity,\n withdrawCetusAlphaSuiTxb,\n withdrawCetusSuiTxb,\n withdrawCetusTxb,\n} from \"./cetus.js\";\nimport {\n withdrawBluefinSuiFirstTxb,\n withdrawBluefinType1Txb,\n} from \"./bluefin.js\";\nimport { naviWithdrawTx } from \"./navi.js\";\nimport { bucketWithdrawTx } from \"./bucket.js\";\nimport { getPoolExchangeRate } from \"../sui-sdk/functions/getReceipts.js\";\n\nexport async function withdrawTxb(\n xTokensAmount: string,\n poolName: PoolName,\n address: string,\n) {\n let txb = new Transaction();\n if (poolInfo[poolName].parentProtocolName === \"CETUS\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n const coin2 = doubleAssetPoolCoinMap[poolName].coin2;\n if (coin1 === \"CETUS\" && coin2 === \"SUI\") {\n txb = await withdrawCetusSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else if (coin2 === \"SUI\") {\n txb = await withdrawCetusAlphaSuiTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawCetusTxb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"BLUEFIN\") {\n const coin1 = doubleAssetPoolCoinMap[poolName].coin1;\n if (coin1 === \"SUI\") {\n txb = await withdrawBluefinSuiFirstTxb(xTokensAmount, poolName, {\n address,\n });\n } else {\n txb = await withdrawBluefinType1Txb(xTokensAmount, poolName, {\n address,\n });\n }\n } else if (poolInfo[poolName].parentProtocolName === \"NAVI\") {\n txb = await naviWithdrawTx(xTokensAmount, poolName, { address });\n } else if (poolInfo[poolName].parentProtocolName === \"BUCKET\") {\n txb = await bucketWithdrawTx(xTokensAmount, { address });\n }\n return txb;\n}\n\nexport async function coinAmountToXTokensSingleAsset(\n amount: string,\n poolName: PoolName,\n): Promise<string> {\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(parseFloat(amount) / exchangeRate.toNumber());\n return xTokens.toString();\n}\n\nexport async function coinAmountToXTokensDoubleAsset(\n amount: string,\n poolName: PoolName,\n isAmountA: boolean,\n): Promise<string> {\n const liquidity = await getLiquidity(poolName, isAmountA, amount);\n const exchangeRate = await getPoolExchangeRate(poolName, true);\n const xTokens = Math.floor(\n parseFloat(liquidity.liquidityAmount.toString()) / exchangeRate.toNumber(),\n );\n return xTokens.toString();\n}\n"]}