@reyaxyz/sdk 0.8.0 → 0.8.2

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 (55) hide show
  1. package/dist/services/encode.js +1 -2
  2. package/dist/services/encode.js.map +1 -1
  3. package/dist/services/lp/encode.js.map +1 -1
  4. package/dist/services/lp/lp.js +23 -16
  5. package/dist/services/lp/lp.js.map +1 -1
  6. package/dist/services/margin-accounts/account.js +10 -6
  7. package/dist/services/margin-accounts/account.js.map +1 -1
  8. package/dist/services/margin-accounts/deposit.js +10 -6
  9. package/dist/services/margin-accounts/deposit.js.map +1 -1
  10. package/dist/services/margin-accounts/withdraw.js +10 -6
  11. package/dist/services/margin-accounts/withdraw.js.map +1 -1
  12. package/dist/services/orders/order.js +20 -12
  13. package/dist/services/orders/order.js.map +1 -1
  14. package/dist/services/token/approve.js +24 -20
  15. package/dist/services/token/approve.js.map +1 -1
  16. package/dist/services/token/consts.js +27 -4
  17. package/dist/services/token/consts.js.map +1 -1
  18. package/dist/services/token/getAllowance.js +12 -8
  19. package/dist/services/token/getAllowance.js.map +1 -1
  20. package/dist/types/services/lp/encode.d.ts +2 -2
  21. package/dist/types/services/lp/lp.d.ts.map +1 -1
  22. package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
  23. package/dist/types/services/margin-accounts/deposit.d.ts.map +1 -1
  24. package/dist/types/services/margin-accounts/withdraw.d.ts.map +1 -1
  25. package/dist/types/services/orders/order.d.ts.map +1 -1
  26. package/dist/types/services/token/consts.d.ts.map +1 -1
  27. package/dist/types/utils/contractAddresses.d.ts +1 -1
  28. package/dist/types/utils/contractAddresses.d.ts.map +1 -1
  29. package/dist/types/utils/lp.d.ts +1 -1
  30. package/dist/types/utils/lp.d.ts.map +1 -1
  31. package/dist/types/utils/routerCommands.d.ts +3 -2
  32. package/dist/types/utils/routerCommands.d.ts.map +1 -1
  33. package/dist/utils/contractAddresses.js +5 -6
  34. package/dist/utils/contractAddresses.js.map +1 -1
  35. package/dist/utils/lp.js +5 -4
  36. package/dist/utils/lp.js.map +1 -1
  37. package/dist/utils/routerCommands.js +4 -2
  38. package/dist/utils/routerCommands.js.map +1 -1
  39. package/dist/utils/trade.js +1 -1
  40. package/dist/utils/trade.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/services/encode.ts +1 -1
  43. package/src/services/lp/encode.ts +2 -2
  44. package/src/services/lp/lp.ts +7 -6
  45. package/src/services/margin-accounts/account.ts +3 -2
  46. package/src/services/margin-accounts/deposit.ts +3 -1
  47. package/src/services/margin-accounts/withdraw.ts +3 -1
  48. package/src/services/orders/order.ts +6 -4
  49. package/src/services/token/approve.ts +2 -2
  50. package/src/services/token/consts.ts +29 -4
  51. package/src/services/token/getAllowance.ts +2 -2
  52. package/src/utils/contractAddresses.ts +6 -9
  53. package/src/utils/lp.ts +5 -4
  54. package/src/utils/routerCommands.ts +2 -0
  55. package/src/utils/trade.ts +1 -1
@@ -18,8 +18,7 @@ var encodeSingleWithdraw = function (token, amount, marketId, exchangeId, multiA
18
18
  exports.encodeSingleWithdraw = encodeSingleWithdraw;
19
19
  var encodeSingleTrade = function (counterpartyAccountIds, orderBase, orderPriceLimit, marketId, exchangeId, multiAction) {
20
20
  // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));
21
- var encodedBasePrice = ethers_1.AbiCoder.defaultAbiCoder().encode(['int256', 'uint256'], // @todo check if uint256 casts to UD60x18
22
- [orderBase, orderPriceLimit]);
21
+ var encodedBasePrice = ethers_1.AbiCoder.defaultAbiCoder().encode(['int256', 'uint256'], [orderBase, orderPriceLimit]);
23
22
  multiAction.newAction((0, routerCommands_1.getCommand)(routerCommands_1.CommandType.MATCH_ORDER, [counterpartyAccountIds, encodedBasePrice], marketId, exchangeId));
24
23
  };
25
24
  exports.encodeSingleTrade = encodeSingleTrade;
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,0DAAkE;AAClE,iCAA6C;AAC7C,qEAAmD;AACnD,gBAAgB;AAChB,wGAAwG;AACxG,KAAK;AACE,IAAM,mBAAmB,GAAG,UACjC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EAAC,4BAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAEK,IAAM,oBAAoB,GAAG,UAClC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EAAC,4BAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,IAAM,iBAAiB,GAAG,UAC/B,sBAAgC,EAChC,SAAiB,EACjB,eAAuB,EACvB,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,wGAAwG;IACxG,IAAM,gBAAgB,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACxD,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE,0CAA0C;IACjE,CAAC,SAAS,EAAE,eAAe,CAAC,CAC7B,CAAC;IAEF,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EACR,4BAAW,CAAC,WAAW,EACvB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAC1C,QAAQ,EACR,UAAU,CACX,CACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,iBAAiB,qBAsB5B;AAEK,IAAM,gBAAgB,GAAG,UAC9B,WAAwB,EACxB,SAAiB,EACjB,mBAA2B;IAE3B,IAAM,iBAAiB,GAAG,SAAS,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,0BAAG,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B","sourcesContent":["//////////////////// ENCODE SINGLE ////////////////////\n\nimport { MethodParameters, MultiAction } from '../utils/action';\nimport { CommandType, getCommand } from '../utils/routerCommands';\nimport { AbiCoder, Interface } from 'ethers';\nimport { abi } from '../abis/ExecutionModule.json';\n// const abi = [\n// 'function coreExecute(uint128 poolId, uint128 accountId, Command[] commands, EIP712Signature sig)',\n// ];\nexport const encodeSingleDeposit = (\n token: string,\n amount: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.DEPOSIT, [token, amount], marketId, exchangeId),\n );\n};\n\nexport const encodeSingleWithdraw = (\n token: string,\n amount: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.WITHDRAW, [token, amount], marketId, exchangeId),\n );\n};\n\nexport const encodeSingleTrade = (\n counterpartyAccountIds: number[],\n orderBase: bigint,\n orderPriceLimit: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));\n const encodedBasePrice = AbiCoder.defaultAbiCoder().encode(\n ['int256', 'uint256'], // @todo check if uint256 casts to UD60x18\n [orderBase, orderPriceLimit],\n );\n\n multiAction.newAction(\n getCommand(\n CommandType.MATCH_ORDER,\n [counterpartyAccountIds, encodedBasePrice],\n marketId,\n exchangeId,\n ),\n );\n};\n\nexport const encodeRouterCall = (\n multiAction: MultiAction,\n accountId: number,\n nativeCurrencyValue: bigint,\n): MethodParameters => {\n const functionSignature = 'execute';\n const parameters = [accountId, multiAction.commands];\n\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(nativeCurrencyValue).toString(10),\n };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAGzD,0DAAkE;AAClE,iCAA6C;AAC7C,qEAAmD;AACnD,gBAAgB;AAChB,wGAAwG;AACxG,KAAK;AACE,IAAM,mBAAmB,GAAG,UACjC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EAAC,4BAAW,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,mBAAmB,uBAU9B;AAEK,IAAM,oBAAoB,GAAG,UAClC,KAAa,EACb,MAAc,EACd,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EAAC,4BAAW,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,CACxE,CAAC;AACJ,CAAC,CAAC;AAVW,QAAA,oBAAoB,wBAU/B;AAEK,IAAM,iBAAiB,GAAG,UAC/B,sBAAgC,EAChC,SAAiB,EACjB,eAAuB,EACvB,QAAgB,EAChB,UAAkB,EAClB,WAAwB;IAExB,wGAAwG;IACxG,IAAM,gBAAgB,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACxD,CAAC,QAAQ,EAAE,SAAS,CAAC,EACrB,CAAC,SAAS,EAAE,eAAe,CAAC,CAC7B,CAAC;IAEF,WAAW,CAAC,SAAS,CACnB,IAAA,2BAAU,EACR,4BAAW,CAAC,WAAW,EACvB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,EAC1C,QAAQ,EACR,UAAU,CACX,CACF,CAAC;AACJ,CAAC,CAAC;AAtBW,QAAA,iBAAiB,qBAsB5B;AAEK,IAAM,gBAAgB,GAAG,UAC9B,WAAwB,EACxB,SAAiB,EACjB,mBAA2B;IAE3B,IAAM,iBAAiB,GAAG,SAAS,CAAC;IACpC,IAAM,UAAU,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IAErD,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,0BAAG,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO;QACL,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,MAAM,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;KAChD,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,gBAAgB,oBAc3B","sourcesContent":["//////////////////// ENCODE SINGLE ////////////////////\n\nimport { MethodParameters, MultiAction } from '../utils/action';\nimport { CommandType, getCommand } from '../utils/routerCommands';\nimport { AbiCoder, Interface } from 'ethers';\nimport { abi } from '../abis/ExecutionModule.json';\n// const abi = [\n// 'function coreExecute(uint128 poolId, uint128 accountId, Command[] commands, EIP712Signature sig)',\n// ];\nexport const encodeSingleDeposit = (\n token: string,\n amount: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.DEPOSIT, [token, amount], marketId, exchangeId),\n );\n};\n\nexport const encodeSingleWithdraw = (\n token: string,\n amount: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.WITHDRAW, [token, amount], marketId, exchangeId),\n );\n};\n\nexport const encodeSingleTrade = (\n counterpartyAccountIds: number[],\n orderBase: bigint,\n orderPriceLimit: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));\n const encodedBasePrice = AbiCoder.defaultAbiCoder().encode(\n ['int256', 'uint256'],\n [orderBase, orderPriceLimit],\n );\n\n multiAction.newAction(\n getCommand(\n CommandType.MATCH_ORDER,\n [counterpartyAccountIds, encodedBasePrice],\n marketId,\n exchangeId,\n ),\n );\n};\n\nexport const encodeRouterCall = (\n multiAction: MultiAction,\n accountId: number,\n nativeCurrencyValue: bigint,\n): MethodParameters => {\n const functionSignature = 'execute';\n const parameters = [accountId, multiAction.commands];\n\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(nativeCurrencyValue).toString(10),\n };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":";;;AACA,iCAAmC;AAEnC,mBAAmB;AACnB,IAAM,mBAAmB,GAAG;IAC1B,2GAA2G;CAC5G,CAAC;AAEF,mBAAmB;AACnB,IAAM,kBAAkB,GAAG;IACzB,kGAAkG;CACnG,CAAC;AACK,IAAM,0BAA0B,GAAG,UACxC,MAAc,EACd,YAAoB,EACpB,MAAc,EACd,SAAiB;IAEjB,IAAM,iBAAiB,GAAG,cAAc,CAAC;IACzC,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,IAAM,yBAAyB,GAAG,UACvC,MAAc,EACd,YAAoB,EACpB,MAAc;IAEd,IAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAClD,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC","sourcesContent":["import { MethodParameters } from '../../utils/action';\nimport { Interface } from 'ethers';\n\n// @todo Update ABI\nconst provideLiquidityAbi = [\n 'function addLiquidity(uint128 poolId, address owner, uint256 amount, uint256 minShares) returns (uint256)',\n];\n\n// @todo Update ABI\nconst removeLiquidityabi = [\n 'function removeLiquidity(uint128 poolId, uint256 sharesAmount, uint256 minOut) returns (uint256)',\n];\nexport const encodeProvideLiquidityCall = (\n poolId: number,\n accountOwner: string,\n amount: number,\n minShares: number,\n): MethodParameters => {\n const functionSignature = 'addLiquidity';\n const parameters = [poolId, accountOwner, amount, minShares];\n const INTERFACE = new Interface(provideLiquidityAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeRemoveLiquidityCall = (\n poolId: number,\n sharesAmount: number,\n minOut: number,\n): MethodParameters => {\n const functionSignature = 'removeLiquidity';\n const parameters = [poolId, sharesAmount, minOut];\n const INTERFACE = new Interface(removeLiquidityabi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":";;;AACA,iCAAmC;AAEnC,mBAAmB;AACnB,IAAM,mBAAmB,GAAG;IAC1B,2GAA2G;CAC5G,CAAC;AAEF,mBAAmB;AACnB,IAAM,kBAAkB,GAAG;IACzB,kGAAkG;CACnG,CAAC;AACK,IAAM,0BAA0B,GAAG,UACxC,MAAc,EACd,YAAoB,EACpB,MAAc,EACd,SAAiB;IAEjB,IAAM,iBAAiB,GAAG,cAAc,CAAC;IACzC,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,IAAM,yBAAyB,GAAG,UACvC,MAAc,EACd,YAAoB,EACpB,MAAc;IAEd,IAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAClD,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC","sourcesContent":["import { MethodParameters } from '../../utils/action';\nimport { Interface } from 'ethers';\n\n// @todo Update ABI\nconst provideLiquidityAbi = [\n 'function addLiquidity(uint128 poolId, address owner, uint256 amount, uint256 minShares) returns (uint256)',\n];\n\n// @todo Update ABI\nconst removeLiquidityabi = [\n 'function removeLiquidity(uint128 poolId, uint256 sharesAmount, uint256 minOut) returns (uint256)',\n];\nexport const encodeProvideLiquidityCall = (\n poolId: number,\n accountOwner: string,\n amount: bigint,\n minShares: number,\n): MethodParameters => {\n const functionSignature = 'addLiquidity';\n const parameters = [poolId, accountOwner, amount, minShares];\n const INTERFACE = new Interface(provideLiquidityAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeRemoveLiquidityCall = (\n poolId: number,\n sharesAmount: bigint,\n minOut: number,\n): MethodParameters => {\n const functionSignature = 'removeLiquidity';\n const parameters = [poolId, sharesAmount, minOut];\n const INTERFACE = new Interface(removeLiquidityabi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n"]}
@@ -42,22 +42,26 @@ var encode_1 = require("./encode");
42
42
  var consts_1 = require("../../utils/consts");
43
43
  var lp_1 = require("../../utils/lp");
44
44
  var provideLiquidity = function (params) { return __awaiter(void 0, void 0, void 0, function () {
45
- var ownerAddrees, chainId, minShares, amount, _a, data, value, result;
46
- return __generator(this, function (_b) {
47
- switch (_b.label) {
45
+ var ownerAddrees, network, chainId, minShares, amount, _a, data, value, result;
46
+ var _b;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
48
49
  case 0: return [4 /*yield*/, params.signer.getAddress()];
49
50
  case 1:
50
- ownerAddrees = _b.sent();
51
- chainId = 80001;
51
+ ownerAddrees = _c.sent();
52
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
53
+ case 2:
54
+ network = _c.sent();
55
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
52
56
  minShares = (0, lp_1.calculateMinSharesForLp)(params.amount);
53
57
  if (params.amount === 0) {
54
58
  throw new Error('LP amount can not be 0');
55
59
  }
56
- amount = (0, lp_1.expandLpAmount)(params.amount);
60
+ amount = (0, lp_1.expandLpAmount)(params.amount, 6);
57
61
  _a = (0, encode_1.encodeProvideLiquidityCall)(params.poolId, ownerAddrees, amount, minShares), data = _a.calldata, value = _a.value;
58
62
  return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.LP)];
59
- case 2:
60
- result = _b.sent();
63
+ case 3:
64
+ result = _c.sent();
61
65
  return [2 /*return*/, {
62
66
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
63
67
  }];
@@ -66,20 +70,23 @@ var provideLiquidity = function (params) { return __awaiter(void 0, void 0, void
66
70
  }); };
67
71
  exports.provideLiquidity = provideLiquidity;
68
72
  var removeLiquidity = function (params) { return __awaiter(void 0, void 0, void 0, function () {
69
- var chainId, minOut, amount, _a, data, value, result;
70
- return __generator(this, function (_b) {
71
- switch (_b.label) {
72
- case 0:
73
- chainId = 80001;
73
+ var network, chainId, minOut, amount, _a, data, value, result;
74
+ var _b;
75
+ return __generator(this, function (_c) {
76
+ switch (_c.label) {
77
+ case 0: return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
78
+ case 1:
79
+ network = _c.sent();
80
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
74
81
  if (params.sharesAmount === 0) {
75
82
  throw new Error('Shares amount can not be 0');
76
83
  }
77
84
  minOut = (0, lp_1.calculateMinOutForLp)(params.sharesAmount);
78
- amount = (0, lp_1.expandLpAmount)(params.sharesAmount);
85
+ amount = (0, lp_1.expandLpAmount)(params.sharesAmount, 30);
79
86
  _a = (0, encode_1.encodeRemoveLiquidityCall)(params.poolId, amount, minOut), data = _a.calldata, value = _a.value;
80
87
  return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.LP)];
81
- case 1:
82
- result = _b.sent();
88
+ case 2:
89
+ result = _c.sent();
83
90
  return [2 /*return*/, {
84
91
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
85
92
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"lp.js","sourceRoot":"/","sources":["services/lp/lp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA2D;AAC3D,mCAGkB;AAOlB,6CAAqD;AACrD,qCAIwB;AAEjB,IAAM,gBAAgB,GAAG,UAC9B,MAA8B;;;;oBAET,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAA/C,YAAY,GAAG,SAAgC;gBAE/C,OAAO,GAAG,KAAK,CAAC;gBAChB,SAAS,GAAG,IAAA,4BAAuB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBAEK,MAAM,GAAG,IAAA,mBAAc,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEvC,KAA4B,IAAA,mCAA0B,EAC1D,MAAM,CAAC,MAAM,EACb,YAAY,EACZ,MAAM,EACN,SAAS,CACV,EALiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAK3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,EAAE,CACnB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAhCW,QAAA,gBAAgB,oBAgC3B;AAEK,IAAM,eAAe,GAAG,UAC7B,MAA6B;;;;;gBAGvB,OAAO,GAAG,KAAK,CAAC;gBAEtB,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAEK,MAAM,GAAG,IAAA,yBAAoB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnD,MAAM,GAAG,IAAA,mBAAc,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC7C,KAA4B,IAAA,kCAAyB,EACzD,MAAM,CAAC,MAAM,EACb,MAAM,EACN,MAAM,CACP,EAJiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAI3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,EAAE,CACnB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA9BW,QAAA,eAAe,mBA8B1B","sourcesContent":["import { executeTransaction } from '../executeTransaction';\nimport {\n encodeProvideLiquidityCall,\n encodeRemoveLiquidityCall,\n} from './encode';\nimport {\n ProvideLiquidityParams,\n ProvideLiquidityResult,\n RemoveLiquidityParams,\n RemoveLiquidityResult,\n} from './types';\nimport { TransactionType } from '../../utils/consts';\nimport {\n calculateMinOutForLp,\n calculateMinSharesForLp,\n expandLpAmount,\n} from '../../utils/lp';\n\nexport const provideLiquidity = async (\n params: ProvideLiquidityParams,\n): Promise<ProvideLiquidityResult> => {\n const ownerAddrees = await params.signer.getAddress();\n // @todo we might not have chainId for reya network, update once we have information\n const chainId = 80001;\n const minShares = calculateMinSharesForLp(params.amount);\n\n if (params.amount === 0) {\n throw new Error('LP amount can not be 0');\n }\n\n const amount = expandLpAmount(params.amount);\n\n const { calldata: data, value } = encodeProvideLiquidityCall(\n params.poolId,\n ownerAddrees,\n amount,\n minShares,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.LP,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const removeLiquidity = async (\n params: RemoveLiquidityParams,\n): Promise<RemoveLiquidityResult> => {\n // @todo we might not have chainId for reya nework, update once we have information\n const chainId = 80001;\n\n if (params.sharesAmount === 0) {\n throw new Error('Shares amount can not be 0');\n }\n\n const minOut = calculateMinOutForLp(params.sharesAmount);\n\n const amount = expandLpAmount(params.sharesAmount);\n const { calldata: data, value } = encodeRemoveLiquidityCall(\n params.poolId,\n amount,\n minOut,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.LP,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
1
+ {"version":3,"file":"lp.js","sourceRoot":"/","sources":["services/lp/lp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA2D;AAC3D,mCAGkB;AAOlB,6CAAqD;AACrD,qCAIwB;AAEjB,IAAM,gBAAgB,GAAG,UAC9B,MAA8B;;;;;oBAET,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAA/C,YAAY,GAAG,SAAgC;gBAErC,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBACnC,SAAS,GAAG,IAAA,4BAAuB,EAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEzD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACxB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAC5C,CAAC;gBAEK,MAAM,GAAG,IAAA,mBAAc,EAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAE1C,KAA4B,IAAA,mCAA0B,EAC1D,MAAM,CAAC,MAAM,EACb,YAAY,EACZ,MAAM,EACN,SAAS,CACV,EALiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAK3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,EAAE,CACnB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAjCW,QAAA,gBAAgB,oBAiC3B;AAEK,IAAM,eAAe,GAAG,UAC7B,MAA6B;;;;;oBAEb,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEzC,IAAI,MAAM,CAAC,YAAY,KAAK,CAAC,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAEK,MAAM,GAAG,IAAA,yBAAoB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAEnD,MAAM,GAAG,IAAA,mBAAc,EAAC,MAAM,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBACjD,KAA4B,IAAA,kCAAyB,EACzD,MAAM,CAAC,MAAM,EACb,MAAM,EACN,MAAM,CACP,EAJiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAI3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,EAAE,CACnB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA9BW,QAAA,eAAe,mBA8B1B","sourcesContent":["import { executeTransaction } from '../executeTransaction';\nimport {\n encodeProvideLiquidityCall,\n encodeRemoveLiquidityCall,\n} from './encode';\nimport {\n ProvideLiquidityParams,\n ProvideLiquidityResult,\n RemoveLiquidityParams,\n RemoveLiquidityResult,\n} from './types';\nimport { TransactionType } from '../../utils/consts';\nimport {\n calculateMinOutForLp,\n calculateMinSharesForLp,\n expandLpAmount,\n} from '../../utils/lp';\n\nexport const provideLiquidity = async (\n params: ProvideLiquidityParams,\n): Promise<ProvideLiquidityResult> => {\n const ownerAddrees = await params.signer.getAddress();\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n const minShares = calculateMinSharesForLp(params.amount);\n\n if (params.amount === 0) {\n throw new Error('LP amount can not be 0');\n }\n\n const amount = expandLpAmount(params.amount, 6);\n\n const { calldata: data, value } = encodeProvideLiquidityCall(\n params.poolId,\n ownerAddrees,\n amount,\n minShares,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.LP,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const removeLiquidity = async (\n params: RemoveLiquidityParams,\n): Promise<RemoveLiquidityResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n if (params.sharesAmount === 0) {\n throw new Error('Shares amount can not be 0');\n }\n\n const minOut = calculateMinOutForLp(params.sharesAmount);\n\n const amount = expandLpAmount(params.sharesAmount, 30); // shares have 30 decimals\n const { calldata: data, value } = encodeRemoveLiquidityCall(\n params.poolId,\n amount,\n minOut,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.LP,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
@@ -41,15 +41,19 @@ var executeTransaction_1 = require("../executeTransaction");
41
41
  var encode_1 = require("./encode");
42
42
  var consts_1 = require("../../utils/consts");
43
43
  var createAccount = function (params) { return __awaiter(void 0, void 0, void 0, function () {
44
- var _a, data, value, chainId, result;
45
- return __generator(this, function (_b) {
46
- switch (_b.label) {
44
+ var _a, data, value, network, chainId, result;
45
+ var _b;
46
+ return __generator(this, function (_c) {
47
+ switch (_c.label) {
47
48
  case 0:
48
49
  _a = (0, encode_1.encodeCreateAccountCall)(params.ownerAddress), data = _a.calldata, value = _a.value;
49
- chainId = 80001;
50
- return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.CREATE_ACCOUNT)];
50
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
51
51
  case 1:
52
- result = _b.sent();
52
+ network = _c.sent();
53
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
54
+ return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.CREATE_ACCOUNT)];
55
+ case 2:
56
+ result = _c.sent();
53
57
  return [2 /*return*/, {
54
58
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
55
59
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA2D;AAC3D,mCAAmD;AAEnD,6CAAqD;AAE9C,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;gBAErB,KAA4B,IAAA,gCAAuB,EACvD,MAAM,CAAC,YAAY,CACpB,EAFiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAE3B;gBAGI,OAAO,GAAG,KAAK,CAAC;gBACP,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,cAAc,CAC/B,EAAA;;gBANK,MAAM,GAAG,SAMd;gBACD,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAnBW,QAAA,aAAa,iBAmBxB","sourcesContent":["import { executeTransaction } from '../executeTransaction';\nimport { encodeCreateAccountCall } from './encode';\nimport { CreateAccountParams, CreateAccountResult } from './types';\nimport { TransactionType } from '../../utils/consts';\n\nexport const createAccount = async (\n params: CreateAccountParams,\n): Promise<CreateAccountResult> => {\n const { calldata: data, value } = encodeCreateAccountCall(\n params.ownerAddress,\n );\n\n // @todo update it\n const chainId = 80001;\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.CREATE_ACCOUNT,\n );\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
1
+ {"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4DAA2D;AAC3D,mCAAmD;AAEnD,6CAAqD;AAE9C,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;;gBAErB,KAA4B,IAAA,gCAAuB,EACvD,MAAM,CAAC,YAAY,CACpB,EAFiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAE3B;gBAEc,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAE1B,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,cAAc,CAC/B,EAAA;;gBANK,MAAM,GAAG,SAMd;gBACD,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AApBW,QAAA,aAAa,iBAoBxB","sourcesContent":["import { executeTransaction } from '../executeTransaction';\nimport { encodeCreateAccountCall } from './encode';\nimport { CreateAccountParams, CreateAccountResult } from './types';\nimport { TransactionType } from '../../utils/consts';\n\nexport const createAccount = async (\n params: CreateAccountParams,\n): Promise<CreateAccountResult> => {\n const { calldata: data, value } = encodeCreateAccountCall(\n params.ownerAddress,\n );\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.CREATE_ACCOUNT,\n );\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
@@ -42,19 +42,23 @@ var executeTransaction_1 = require("../executeTransaction");
42
42
  var consts_1 = require("../../utils/consts");
43
43
  var common_1 = require("../token/common");
44
44
  var deposit = function (params) { return __awaiter(void 0, void 0, void 0, function () {
45
- var tokenDecimals, amount, marketId, exchangeId, _a, data, value, chainId, result;
46
- return __generator(this, function (_b) {
47
- switch (_b.label) {
45
+ var tokenDecimals, amount, marketId, exchangeId, _a, data, value, network, chainId, result;
46
+ var _b;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
48
49
  case 0:
49
50
  tokenDecimals = (0, common_1.getTokenDetails)(params.token).tokenDecimals;
50
51
  amount = (0, common_1.scale)(tokenDecimals)(params.amount);
51
52
  marketId = 0;
52
53
  exchangeId = 0;
53
54
  _a = (0, encode_1.encodeDeposit)(params.accountId, params.token, amount, marketId, exchangeId), data = _a.calldata, value = _a.value;
54
- chainId = 80001;
55
- return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.DEPOSIT)];
55
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
56
56
  case 1:
57
- result = _b.sent();
57
+ network = _c.sent();
58
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
59
+ return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.DEPOSIT)];
60
+ case 2:
61
+ result = _c.sent();
58
62
  return [2 /*return*/, {
59
63
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
60
64
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.js","sourceRoot":"/","sources":["services/margin-accounts/deposit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAAyC;AACzC,4DAA2D;AAC3D,6CAAqD;AACrD,0CAAyD;AAElD,IAAM,OAAO,GAAG,UACrB,MAAqB;;;;;gBAEb,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,KAAK,CAAC,cAAlC,CAAmC;gBAClD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7C,QAAQ,GAAG,CAAC,CAAC;gBACb,UAAU,GAAG,CAAC,CAAC;gBACf,KAA4B,IAAA,sBAAa,EAC7C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,UAAU,CACX,EANiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAM3B;gBAEI,OAAO,GAAG,KAAK,CAAC;gBACP,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,OAAO,CACxB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA3BW,QAAA,OAAO,WA2BlB","sourcesContent":["import { DepositParams, DepositResult } from './types';\nimport { encodeDeposit } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport { getTokenDetails, scale } from '../token/common';\n\nexport const deposit = async (\n params: DepositParams,\n): Promise<DepositResult> => {\n const { tokenDecimals } = getTokenDetails(params.token);\n const amount = scale(tokenDecimals)(params.amount);\n const marketId = 0;\n const exchangeId = 0;\n const { calldata: data, value } = encodeDeposit(\n params.accountId,\n params.token,\n amount,\n marketId,\n exchangeId,\n );\n\n const chainId = 80001;\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.DEPOSIT,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
1
+ {"version":3,"file":"deposit.js","sourceRoot":"/","sources":["services/margin-accounts/deposit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAAyC;AACzC,4DAA2D;AAC3D,6CAAqD;AACrD,0CAAyD;AAElD,IAAM,OAAO,GAAG,UACrB,MAAqB;;;;;;gBAEb,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,KAAK,CAAC,cAAlC,CAAmC;gBAClD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC7C,QAAQ,GAAG,CAAC,CAAC;gBACb,UAAU,GAAG,CAAC,CAAC;gBACf,KAA4B,IAAA,sBAAa,EAC7C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,EACN,QAAQ,EACR,UAAU,CACX,EANiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAM3B;gBAEc,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAE1B,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,OAAO,CACxB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA7BW,QAAA,OAAO,WA6BlB","sourcesContent":["import { DepositParams, DepositResult } from './types';\nimport { encodeDeposit } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport { getTokenDetails, scale } from '../token/common';\n\nexport const deposit = async (\n params: DepositParams,\n): Promise<DepositResult> => {\n const { tokenDecimals } = getTokenDetails(params.token);\n const amount = scale(tokenDecimals)(params.amount);\n const marketId = 0;\n const exchangeId = 0;\n const { calldata: data, value } = encodeDeposit(\n params.accountId,\n params.token,\n amount,\n marketId,\n exchangeId,\n );\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.DEPOSIT,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
@@ -42,19 +42,23 @@ var executeTransaction_1 = require("../executeTransaction");
42
42
  var consts_1 = require("../../utils/consts");
43
43
  var common_1 = require("../token/common");
44
44
  var withdraw = function (params) { return __awaiter(void 0, void 0, void 0, function () {
45
- var tokenDecimals, amount, marketId, exchangeId, _a, data, value, chainId, result;
46
- return __generator(this, function (_b) {
47
- switch (_b.label) {
45
+ var tokenDecimals, amount, marketId, exchangeId, _a, data, value, network, chainId, result;
46
+ var _b;
47
+ return __generator(this, function (_c) {
48
+ switch (_c.label) {
48
49
  case 0:
49
50
  tokenDecimals = (0, common_1.getTokenDetails)(params.token).tokenDecimals;
50
51
  amount = (0, common_1.scale)(tokenDecimals)(params.amount);
51
52
  marketId = 0;
52
53
  exchangeId = 0;
53
54
  _a = (0, encode_1.encodeWithdraw)(params.accountId, params.token, BigInt(amount), marketId, exchangeId), data = _a.calldata, value = _a.value;
54
- chainId = 80001;
55
- return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.WITHDRAW)];
55
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
56
56
  case 1:
57
- result = _b.sent();
57
+ network = _c.sent();
58
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
59
+ return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.WITHDRAW)];
60
+ case 2:
61
+ result = _c.sent();
58
62
  return [2 /*return*/, {
59
63
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
60
64
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw.js","sourceRoot":"/","sources":["services/margin-accounts/withdraw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA0C;AAC1C,4DAA2D;AAC3D,6CAAqD;AACrD,0CAAyD;AAElD,IAAM,QAAQ,GAAG,UACtB,MAAsB;;;;;gBAEd,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,KAAK,CAAC,cAAlC,CAAmC;gBAClD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,QAAQ,GAAG,CAAC,CAAC;gBACb,UAAU,GAAG,CAAC,CAAC;gBACf,KAA4B,IAAA,uBAAc,EAC9C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CAAC,EACd,QAAQ,EACR,UAAU,CACX,EANiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAM3B;gBAEI,OAAO,GAAG,KAAK,CAAC;gBACP,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,QAAQ,CACzB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA5BW,QAAA,QAAQ,YA4BnB","sourcesContent":["import { WithdrawParams, WithdrawResult } from './types';\nimport { encodeWithdraw } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport { getTokenDetails, scale } from '../token/common';\n\nexport const withdraw = async (\n params: WithdrawParams,\n): Promise<WithdrawResult> => {\n const { tokenDecimals } = getTokenDetails(params.token);\n const amount = scale(tokenDecimals)(params.amount);\n\n const marketId = 0;\n const exchangeId = 0;\n const { calldata: data, value } = encodeWithdraw(\n params.accountId,\n params.token,\n BigInt(amount),\n marketId,\n exchangeId,\n );\n\n const chainId = 80001;\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.WITHDRAW,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
1
+ {"version":3,"file":"withdraw.js","sourceRoot":"/","sources":["services/margin-accounts/withdraw.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAA0C;AAC1C,4DAA2D;AAC3D,6CAAqD;AACrD,0CAAyD;AAElD,IAAM,QAAQ,GAAG,UACtB,MAAsB;;;;;;gBAEd,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,KAAK,CAAC,cAAlC,CAAmC;gBAClD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,QAAQ,GAAG,CAAC,CAAC;gBACb,UAAU,GAAG,CAAC,CAAC;gBACf,KAA4B,IAAA,uBAAc,EAC9C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,MAAM,CAAC,EACd,QAAQ,EACR,UAAU,CACX,EANiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAM3B;gBAEc,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAE1B,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,QAAQ,CACzB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA9BW,QAAA,QAAQ,YA8BnB","sourcesContent":["import { WithdrawParams, WithdrawResult } from './types';\nimport { encodeWithdraw } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport { getTokenDetails, scale } from '../token/common';\n\nexport const withdraw = async (\n params: WithdrawParams,\n): Promise<WithdrawResult> => {\n const { tokenDecimals } = getTokenDetails(params.token);\n const amount = scale(tokenDecimals)(params.amount);\n\n const marketId = 0;\n const exchangeId = 0;\n const { calldata: data, value } = encodeWithdraw(\n params.accountId,\n params.token,\n BigInt(amount),\n marketId,\n exchangeId,\n );\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.WITHDRAW,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
@@ -46,9 +46,10 @@ var consts_1 = require("../../utils/consts");
46
46
  var trade_1 = require("../../utils/trade");
47
47
  var bignumber_js_1 = __importDefault(require("bignumber.js"));
48
48
  var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
49
- var orderPriceLimit, orderBase, _a, data, value, chainId, result;
50
- return __generator(this, function (_b) {
51
- switch (_b.label) {
49
+ var orderPriceLimit, orderBase, _a, data, value, network, chainId, result;
50
+ var _b;
51
+ return __generator(this, function (_c) {
52
+ switch (_c.label) {
52
53
  case 0:
53
54
  if (params.orderSize === 0) {
54
55
  throw new Error('Position size can not be 0');
@@ -56,10 +57,13 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
56
57
  orderPriceLimit = (0, trade_1.calculatePriceLimitForTrade)(params.market.currentPrice, params.orderSize);
57
58
  orderBase = (0, trade_1.calculateOrderBaseFromOrderSize)(params.orderSize, params.market.currentPrice);
58
59
  _a = (0, encode_1.encodeMatchOrder)(params.marginAccountId, orderBase, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId), data = _a.calldata, value = _a.value;
59
- chainId = 80001;
60
- return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.TRADE)];
60
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
61
61
  case 1:
62
- result = _b.sent();
62
+ network = _c.sent();
63
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
64
+ return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.TRADE)];
65
+ case 2:
66
+ result = _c.sent();
63
67
  return [2 /*return*/, {
64
68
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
65
69
  }];
@@ -68,9 +72,10 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
68
72
  }); };
69
73
  exports.matchOrder = matchOrder;
70
74
  var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
71
- var base, orderPriceLimit, _a, data, value, chainId, result;
72
- return __generator(this, function (_b) {
73
- switch (_b.label) {
75
+ var base, orderPriceLimit, _a, data, value, network, chainId, result;
76
+ var _b;
77
+ return __generator(this, function (_c) {
78
+ switch (_c.label) {
74
79
  case 0:
75
80
  if (params.orderBase === 0) {
76
81
  throw new Error('Position base can not be 0');
@@ -78,10 +83,13 @@ var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
78
83
  base = (0, bignumber_js_1.default)(params.orderBase).negated().toNumber();
79
84
  orderPriceLimit = (0, trade_1.calculatePriceLimitForTrade)(params.market.currentPrice, base);
80
85
  _a = (0, encode_1.encodeMatchOrder)(params.marginAccountId, BigInt(base), orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId), data = _a.calldata, value = _a.value;
81
- chainId = 80001;
82
- return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.TRADE)];
86
+ return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
83
87
  case 1:
84
- result = _b.sent();
88
+ network = _c.sent();
89
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
90
+ return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.TRADE)];
91
+ case 2:
92
+ result = _c.sent();
85
93
  return [2 /*return*/, {
86
94
  transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
87
95
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,mCAA4C;AAC5C,4DAA2D;AAC3D,6CAAqD;AACrD,2CAG2B;AAC3B,8DAAqC;AAE9B,IAAM,UAAU,GAAG,UACxB,MAAwB;;;;;gBAExB,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBACK,eAAe,GAAG,IAAA,mCAA2B,EACjD,MAAM,CAAC,MAAM,CAAC,YAAY,EAC1B,MAAM,CAAC,SAAS,CACjB,CAAC;gBAEI,SAAS,GAAG,IAAA,uCAA+B,EAC/C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;gBAEI,KAA4B,IAAA,yBAAgB,EAChD,MAAM,CAAC,eAAe,EACtB,SAAS,EACT,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,sBAAsB,EACpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAGI,OAAO,GAAG,KAAK,CAAC;gBACP,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,KAAK,CACtB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAtCW,QAAA,UAAU,cAsCrB;AAEK,IAAM,UAAU,GAAG,UACxB,MAAwB;;;;;gBAExB,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAEK,IAAI,GAAG,IAAA,sBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAExD,eAAe,GAAG,IAAA,mCAA2B,EACjD,MAAM,CAAC,MAAM,CAAC,YAAY,EAC1B,IAAI,CACL,CAAC;gBAEI,KAA4B,IAAA,yBAAgB,EAChD,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,IAAI,CAAC,EACZ,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,sBAAsB,EACpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAGI,OAAO,GAAG,KAAK,CAAC;gBACP,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,KAAK,CACtB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AApCW,QAAA,UAAU,cAoCrB","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport {\n calculateOrderBaseFromOrderSize,\n calculatePriceLimitForTrade,\n} from '../../utils/trade';\nimport BigNumber from 'bignumber.js';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.orderSize === 0) {\n throw new Error('Position size can not be 0');\n }\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n params.orderSize,\n );\n\n const orderBase = calculateOrderBaseFromOrderSize(\n params.orderSize,\n params.market.currentPrice,\n );\n\n const { calldata: data, value } = encodeMatchOrder(\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n // @todo update it\n const chainId = 80001;\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.TRADE,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = BigNumber(params.orderBase).negated().toNumber(); // when closing position we are doing trade in the opposite direction\n\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n base,\n );\n\n const { calldata: data, value } = encodeMatchOrder(\n params.marginAccountId,\n BigInt(base),\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n // @todo update it\n const chainId = 80001;\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.TRADE,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
1
+ {"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,mCAA4C;AAC5C,4DAA2D;AAC3D,6CAAqD;AACrD,2CAG2B;AAC3B,8DAAqC;AAE9B,IAAM,UAAU,GAAG,UACxB,MAAwB;;;;;;gBAExB,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBACK,eAAe,GAAG,IAAA,mCAA2B,EACjD,MAAM,CAAC,MAAM,CAAC,YAAY,EAC1B,MAAM,CAAC,SAAS,CACjB,CAAC;gBAEI,SAAS,GAAG,IAAA,uCAA+B,EAC/C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,MAAM,CAAC,YAAY,CAC3B,CAAC;gBAEI,KAA4B,IAAA,yBAAgB,EAChD,MAAM,CAAC,eAAe,EACtB,SAAS,EACT,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,sBAAsB,EACpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAEc,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAE1B,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,KAAK,CACtB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAvCW,QAAA,UAAU,cAuCrB;AAEK,IAAM,UAAU,GAAG,UACxB,MAAwB;;;;;;gBAExB,IAAI,MAAM,CAAC,SAAS,KAAK,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAChD,CAAC;gBAEK,IAAI,GAAG,IAAA,sBAAS,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;gBAExD,eAAe,GAAG,IAAA,mCAA2B,EACjD,MAAM,CAAC,MAAM,CAAC,YAAY,EAC1B,IAAI,CACL,CAAC;gBAEI,KAA4B,IAAA,yBAAgB,EAChD,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,IAAI,CAAC,EACZ,eAAe,EACf,MAAM,CAAC,MAAM,CAAC,sBAAsB,EACpC,MAAM,CAAC,MAAM,CAAC,EAAE,EAChB,MAAM,CAAC,MAAM,CAAC,UAAU,CACzB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAEc,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAE1B,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,wBAAe,CAAC,KAAK,CACtB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AArCW,QAAA,UAAU,cAqCrB","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { executeTransaction } from '../executeTransaction';\nimport { TransactionType } from '../../utils/consts';\nimport {\n calculateOrderBaseFromOrderSize,\n calculatePriceLimitForTrade,\n} from '../../utils/trade';\nimport BigNumber from 'bignumber.js';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.orderSize === 0) {\n throw new Error('Position size can not be 0');\n }\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n params.orderSize,\n );\n\n const orderBase = calculateOrderBaseFromOrderSize(\n params.orderSize,\n params.market.currentPrice,\n );\n\n const { calldata: data, value } = encodeMatchOrder(\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.TRADE,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = BigNumber(params.orderBase).negated().toNumber(); // when closing position we are doing trade in the opposite direction\n\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n base,\n );\n\n const { calldata: data, value } = encodeMatchOrder(\n params.marginAccountId,\n BigInt(base),\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n TransactionType.TRADE,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
@@ -41,13 +41,17 @@ var types_1 = require("./types");
41
41
  var common_1 = require("./common");
42
42
  var contractAddresses_1 = require("../../utils/contractAddresses");
43
43
  var approveTokenSpending = function (params) { return __awaiter(void 0, void 0, void 0, function () {
44
- var underLyingTokenAddress, chainId, tokenContract, contractProxyAddress, maxUint256Bn, approvalTransaction, error_1, _a, error_2;
44
+ var underLyingTokenAddress, network, chainId, tokenContract, contractProxyAddress, maxUint256Bn, approvalTransaction, error_1, _a, error_2;
45
45
  var _b;
46
- return __generator(this, function (_c) {
47
- switch (_c.label) {
46
+ var _c;
47
+ return __generator(this, function (_d) {
48
+ switch (_d.label) {
48
49
  case 0:
49
50
  underLyingTokenAddress = params.token;
50
- chainId = 80001;
51
+ return [4 /*yield*/, ((_c = params.signer.provider) === null || _c === void 0 ? void 0 : _c.getNetwork())];
52
+ case 1:
53
+ network = _d.sent();
54
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
51
55
  tokenContract = (0, common_1.getERC20TokenContract)(underLyingTokenAddress, params.signer);
52
56
  contractProxyAddress = params.type === types_1.ApprovalType.DEPOSIT
53
57
  ? (0, contractAddresses_1.getAddress)(chainId, 'core_proxy')
@@ -60,35 +64,35 @@ var approveTokenSpending = function (params) { return __awaiter(void 0, void 0,
60
64
  console.error(error);
61
65
  throw new Error('Transaction Confirmation Error');
62
66
  })];
63
- case 1:
64
- approvalTransaction = _c.sent();
65
- _c.label = 2;
66
67
  case 2:
67
- _c.trys.push([2, 4, , 5]);
68
- return [4 /*yield*/, approvalTransaction.wait()];
68
+ approvalTransaction = _d.sent();
69
+ _d.label = 3;
69
70
  case 3:
70
- _c.sent();
71
- return [3 /*break*/, 5];
71
+ _d.trys.push([3, 5, , 6]);
72
+ return [4 /*yield*/, approvalTransaction.wait()];
72
73
  case 4:
73
- error_1 = _c.sent();
74
+ _d.sent();
75
+ return [3 /*break*/, 6];
76
+ case 5:
77
+ error_1 = _d.sent();
74
78
  console.warn('Token approval failed');
75
79
  throw new Error('Token approval failed');
76
- case 5:
77
- _c.trys.push([5, 8, , 9]);
80
+ case 6:
81
+ _d.trys.push([6, 9, , 10]);
78
82
  _a = common_1.getERC20Allowance;
79
83
  _b = {};
80
84
  return [4 /*yield*/, params.signer.getAddress()];
81
- case 6: return [4 /*yield*/, _a.apply(void 0, [(_b.walletAddress = _c.sent(),
85
+ case 7: return [4 /*yield*/, _a.apply(void 0, [(_b.walletAddress = _d.sent(),
82
86
  _b.tokenAddress = underLyingTokenAddress,
83
87
  _b.spenderAddress = contractProxyAddress,
84
88
  _b.subject = params.signer,
85
89
  _b)])];
86
- case 7: return [2 /*return*/, _c.sent()];
87
- case 8:
88
- error_2 = _c.sent();
90
+ case 8: return [2 /*return*/, _d.sent()];
91
+ case 9:
92
+ error_2 = _d.sent();
89
93
  console.warn('Fetching allowance failed');
90
- return [3 /*break*/, 9];
91
- case 9: return [2 /*return*/, 0];
94
+ return [3 /*break*/, 10];
95
+ case 10: return [2 /*return*/, 0];
92
96
  }
93
97
  });
94
98
  }); };
@@ -1 +1 @@
1
- {"version":3,"file":"approve.js","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,mCAAoE;AACpE,mEAA2D;AAEpD,IAAM,oBAAoB,GAAG,UAClC,MAA0B;;;;;;gBAEpB,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC;gBAGtC,OAAO,GAAG,KAAK,CAAC;gBAEhB,aAAa,GAAG,IAAA,8BAAqB,EACzC,sBAAsB,EACtB,MAAM,CAAC,MAAM,CACd,CAAC;gBAEI,oBAAoB,GACxB,MAAM,CAAC,IAAI,KAAK,oBAAY,CAAC,OAAO;oBAClC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,YAAY,CAAC;oBACnC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAG1C,YAAY,GAAG,MAAM,CACzB,gFAAgF,CACjF,CAAC;gBAE0B,qBAAM,aAAa;yBAC5C,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC;yBAC3C,KAAK,CAAC,UAAC,KAAK;wBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC,CAAC,EAAA;;gBANE,mBAAmB,GAAG,SAMxB;;;;gBAGF,qBAAM,mBAAmB,CAAC,IAAI,EAAE,EAAA;;gBAAhC,SAAgC,CAAC;;;;gBAEjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;;;gBAI5B,KAAA,0BAAiB,CAAA;;gBACb,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;oBAD1C,qBAAM,mBACX,gBAAa,GAAE,SAAgC;wBAC/C,eAAY,GAAE,sBAAsB;wBACpC,iBAAc,GAAE,oBAAoB;wBACpC,UAAO,GAAE,MAAM,CAAC,MAAM;6BACtB,EAAA;oBALF,sBAAO,SAKL,EAAC;;;gBAEH,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;;oBAG5C,sBAAO,CAAC,EAAC;;;KACV,CAAC;AAlDW,QAAA,oBAAoB,wBAkD/B","sourcesContent":["import { ApprovalType, ApproveTokenParams } from './types';\nimport { getERC20Allowance, getERC20TokenContract } from './common';\nimport { getAddress } from '../../utils/contractAddresses';\n\nexport const approveTokenSpending = async (\n params: ApproveTokenParams,\n): Promise<number> => {\n const underLyingTokenAddress = params.token;\n\n // @todo update once we know this\n const chainId = 80001;\n\n const tokenContract = getERC20TokenContract(\n underLyingTokenAddress,\n params.signer,\n );\n\n const contractProxyAddress =\n params.type === ApprovalType.DEPOSIT\n ? getAddress(chainId, 'core_proxy')\n : getAddress(chainId, 'passive_pool_proxy');\n\n // @todo validate if maxAllowance should be passed from UI\n const maxUint256Bn = BigInt(\n '115792089237316195423570985008687907853269984665640564039457584007913129639935',\n );\n\n const approvalTransaction = await tokenContract\n .approve(contractProxyAddress, maxUint256Bn)\n .catch((error) => {\n console.warn('Transaction Confirmation Error');\n console.error(error);\n throw new Error('Transaction Confirmation Error');\n });\n\n try {\n await approvalTransaction.wait();\n } catch (error) {\n console.warn('Token approval failed');\n throw new Error('Token approval failed');\n }\n\n try {\n return await getERC20Allowance({\n walletAddress: await params.signer.getAddress(),\n tokenAddress: underLyingTokenAddress,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n } catch (error) {\n console.warn('Fetching allowance failed');\n }\n\n return 0;\n};\n"]}
1
+ {"version":3,"file":"approve.js","sourceRoot":"/","sources":["services/token/approve.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,mCAAoE;AACpE,mEAA2D;AAEpD,IAAM,oBAAoB,GAAG,UAClC,MAA0B;;;;;;;gBAEpB,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE5B,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEnC,aAAa,GAAG,IAAA,8BAAqB,EACzC,sBAAsB,EACtB,MAAM,CAAC,MAAM,CACd,CAAC;gBAEI,oBAAoB,GACxB,MAAM,CAAC,IAAI,KAAK,oBAAY,CAAC,OAAO;oBAClC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,YAAY,CAAC;oBACnC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAG1C,YAAY,GAAG,MAAM,CACzB,gFAAgF,CACjF,CAAC;gBAE0B,qBAAM,aAAa;yBAC5C,OAAO,CAAC,oBAAoB,EAAE,YAAY,CAAC;yBAC3C,KAAK,CAAC,UAAC,KAAK;wBACX,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;wBAC/C,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;wBACrB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;oBACpD,CAAC,CAAC,EAAA;;gBANE,mBAAmB,GAAG,SAMxB;;;;gBAGF,qBAAM,mBAAmB,CAAC,IAAI,EAAE,EAAA;;gBAAhC,SAAgC,CAAC;;;;gBAEjC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;;;gBAI5B,KAAA,0BAAiB,CAAA;;gBACb,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;oBAD1C,qBAAM,mBACX,gBAAa,GAAE,SAAgC;wBAC/C,eAAY,GAAE,sBAAsB;wBACpC,iBAAc,GAAE,oBAAoB;wBACpC,UAAO,GAAE,MAAM,CAAC,MAAM;6BACtB,EAAA;oBALF,sBAAO,SAKL,EAAC;;;gBAEH,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;;qBAG5C,sBAAO,CAAC,EAAC;;;KACV,CAAC;AAlDW,QAAA,oBAAoB,wBAkD/B","sourcesContent":["import { ApprovalType, ApproveTokenParams } from './types';\nimport { getERC20Allowance, getERC20TokenContract } from './common';\nimport { getAddress } from '../../utils/contractAddresses';\n\nexport const approveTokenSpending = async (\n params: ApproveTokenParams,\n): Promise<number> => {\n const underLyingTokenAddress = params.token;\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const tokenContract = getERC20TokenContract(\n underLyingTokenAddress,\n params.signer,\n );\n\n const contractProxyAddress =\n params.type === ApprovalType.DEPOSIT\n ? getAddress(chainId, 'core_proxy')\n : getAddress(chainId, 'passive_pool_proxy');\n\n // @todo validate if maxAllowance should be passed from UI\n const maxUint256Bn = BigInt(\n '115792089237316195423570985008687907853269984665640564039457584007913129639935',\n );\n\n const approvalTransaction = await tokenContract\n .approve(contractProxyAddress, maxUint256Bn)\n .catch((error) => {\n console.warn('Transaction Confirmation Error');\n console.error(error);\n throw new Error('Transaction Confirmation Error');\n });\n\n try {\n await approvalTransaction.wait();\n } catch (error) {\n console.warn('Token approval failed');\n throw new Error('Token approval failed');\n }\n\n try {\n return await getERC20Allowance({\n walletAddress: await params.signer.getAddress(),\n tokenAddress: underLyingTokenAddress,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n } catch (error) {\n console.warn('Fetching allowance failed');\n }\n\n return 0;\n};\n"]}
@@ -9,8 +9,8 @@ exports.tokenDetails = {
9
9
  tokenName: 'USDC',
10
10
  tokenDecimals: 6,
11
11
  },
12
- // mainnet
13
- '--': {
12
+ // reya cronos
13
+ '0x51b0b7f083e563d5cf9d0b5f3916b59fc49c7e5f': {
14
14
  tokenName: 'USDC',
15
15
  tokenDecimals: 6,
16
16
  },
@@ -20,10 +20,33 @@ exports.tokenDetails = {
20
20
  tokenName: 'WETH',
21
21
  tokenDecimals: 18,
22
22
  },
23
- // mainnet
24
- '---': {
23
+ // reya cronos
24
+ '0xcbdba2ac8f840711948ccd7a1b9ec0226d641693': {
25
25
  tokenName: 'WETH',
26
26
  tokenDecimals: 18,
27
27
  },
28
+ // ====== wBTC ======
29
+ // mumbai
30
+ '0x2fa2e7a6deb7bb51b625336dbe1da23511914a8a': {
31
+ tokenName: 'WBTC',
32
+ tokenDecimals: 8,
33
+ },
34
+ // mainnet
35
+ '0xaf21abab55a7c0ab143e0379a3c01054e4ebb514': {
36
+ tokenName: 'WBTC',
37
+ tokenDecimals: 8,
38
+ },
39
+ // ====== USDT ======
40
+ // reya cronos
41
+ '0xeba6f8d7d4d4787f29441db1164548299ef4641f': {
42
+ tokenName: 'USDT',
43
+ tokenDecimals: 6,
44
+ },
45
+ // ====== dai ======
46
+ // reya cronos
47
+ '0x0d4fad8b258a467286fc2419ffc19015fdcae7f9': {
48
+ tokenName: 'USDT',
49
+ tokenDecimals: 18,
50
+ },
28
51
  };
29
52
  //# sourceMappingURL=consts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"/","sources":["services/token/consts.ts"],"names":[],"mappings":";;;AAEA,kCAAkC;AACrB,QAAA,YAAY,GAKrB;IACF,qBAAqB;IACrB,SAAS;IACT,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,UAAU;IACV,IAAI,EAAE;QACJ,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,qBAAqB;IACrB,SAAS;IACT,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,EAAE;KAClB;IACD,UAAU;IACV,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,EAAE;KAClB;CACF,CAAC","sourcesContent":["import { Address } from './common';\n\n// @todo update values for mainnet\nexport const tokenDetails: {\n [address: Address]: {\n tokenName: Uppercase<string>;\n tokenDecimals: number;\n };\n} = {\n // ====== USDC ======\n // mumbai\n '0x52d800ca262522580cebad275395ca6e7598c014': {\n tokenName: 'USDC',\n tokenDecimals: 6,\n },\n // mainnet\n '--': {\n tokenName: 'USDC',\n tokenDecimals: 6,\n },\n // ====== wETH ======\n // mumbai\n '0xc199807af4fedb02ee567ed0feb814a077de4802': {\n tokenName: 'WETH',\n tokenDecimals: 18,\n },\n // mainnet\n '---': {\n tokenName: 'WETH',\n tokenDecimals: 18,\n },\n};\n"]}
1
+ {"version":3,"file":"consts.js","sourceRoot":"/","sources":["services/token/consts.ts"],"names":[],"mappings":";;;AAEA,kCAAkC;AACrB,QAAA,YAAY,GAKrB;IACF,qBAAqB;IACrB,SAAS;IACT,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,cAAc;IACd,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,qBAAqB;IACrB,SAAS;IACT,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,EAAE;KAClB;IACD,cAAc;IACd,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,EAAE;KAClB;IAED,qBAAqB;IACrB,SAAS;IACT,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,UAAU;IACV,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IACD,qBAAqB;IACrB,cAAc;IACd,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,CAAC;KACjB;IAED,oBAAoB;IACpB,cAAc;IACd,4CAA4C,EAAE;QAC5C,SAAS,EAAE,MAAM;QACjB,aAAa,EAAE,EAAE;KAClB;CACF,CAAC","sourcesContent":["import { Address } from './common';\n\n// @todo update values for mainnet\nexport const tokenDetails: {\n [address: Address]: {\n tokenName: Uppercase<string>;\n tokenDecimals: number;\n };\n} = {\n // ====== USDC ======\n // mumbai\n '0x52d800ca262522580cebad275395ca6e7598c014': {\n tokenName: 'USDC',\n tokenDecimals: 6,\n },\n // reya cronos\n '0x51b0b7f083e563d5cf9d0b5f3916b59fc49c7e5f': {\n tokenName: 'USDC',\n tokenDecimals: 6,\n },\n // ====== wETH ======\n // mumbai\n '0xc199807af4fedb02ee567ed0feb814a077de4802': {\n tokenName: 'WETH',\n tokenDecimals: 18,\n },\n // reya cronos\n '0xcbdba2ac8f840711948ccd7a1b9ec0226d641693': {\n tokenName: 'WETH',\n tokenDecimals: 18,\n },\n\n // ====== wBTC ======\n // mumbai\n '0x2fa2e7a6deb7bb51b625336dbe1da23511914a8a': {\n tokenName: 'WBTC',\n tokenDecimals: 8,\n },\n // mainnet\n '0xaf21abab55a7c0ab143e0379a3c01054e4ebb514': {\n tokenName: 'WBTC',\n tokenDecimals: 8,\n },\n // ====== USDT ======\n // reya cronos\n '0xeba6f8d7d4d4787f29441db1164548299ef4641f': {\n tokenName: 'USDT',\n tokenDecimals: 6,\n },\n\n // ====== dai ======\n // reya cronos\n '0x0d4fad8b258a467286fc2419ffc19015fdcae7f9': {\n tokenName: 'USDT',\n tokenDecimals: 18,\n },\n};\n"]}
@@ -41,26 +41,30 @@ var types_1 = require("./types");
41
41
  var common_1 = require("./common");
42
42
  var contractAddresses_1 = require("../../utils/contractAddresses");
43
43
  var getAllowance = function (params) { return __awaiter(void 0, void 0, void 0, function () {
44
- var underLyingTokenAddress, chainId, contractProxyAddress, walletAddress, allowance;
45
- return __generator(this, function (_a) {
46
- switch (_a.label) {
44
+ var underLyingTokenAddress, network, chainId, contractProxyAddress, walletAddress, allowance;
45
+ var _a;
46
+ return __generator(this, function (_b) {
47
+ switch (_b.label) {
47
48
  case 0:
48
49
  underLyingTokenAddress = params.token;
49
- chainId = 80001;
50
+ return [4 /*yield*/, ((_a = params.signer.provider) === null || _a === void 0 ? void 0 : _a.getNetwork())];
51
+ case 1:
52
+ network = _b.sent();
53
+ chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
50
54
  contractProxyAddress = params.type === types_1.ApprovalType.DEPOSIT
51
55
  ? (0, contractAddresses_1.getAddress)(chainId, 'core_proxy')
52
56
  : (0, contractAddresses_1.getAddress)(chainId, 'passive_pool_proxy');
53
57
  return [4 /*yield*/, params.signer.getAddress()];
54
- case 1:
55
- walletAddress = _a.sent();
58
+ case 2:
59
+ walletAddress = _b.sent();
56
60
  return [4 /*yield*/, (0, common_1.getERC20Allowance)({
57
61
  walletAddress: walletAddress,
58
62
  tokenAddress: underLyingTokenAddress,
59
63
  spenderAddress: contractProxyAddress,
60
64
  subject: params.signer,
61
65
  })];
62
- case 2:
63
- allowance = _a.sent();
66
+ case 3:
67
+ allowance = _b.sent();
64
68
  return [2 /*return*/, allowance];
65
69
  }
66
70
  });
@@ -1 +1 @@
1
- {"version":3,"file":"getAllowance.js","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,mCAA6C;AAC7C,mEAA2D;AAEpD,IAAM,YAAY,GAAG,UAC1B,MAA0B;;;;;gBAEpB,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC;gBAGtC,OAAO,GAAG,KAAK,CAAC;gBAEhB,oBAAoB,GACxB,MAAM,CAAC,IAAI,KAAK,oBAAY,CAAC,OAAO;oBAClC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,YAAY,CAAC;oBACnC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAClB,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAxD,aAAa,GAAW,SAAgC;gBAE5C,qBAAM,IAAA,0BAAiB,EAAC;wBACxC,aAAa,eAAA;wBACb,YAAY,EAAE,sBAAsB;wBACpC,cAAc,EAAE,oBAAoB;wBACpC,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,EAAA;;gBALI,SAAS,GAAG,SAKhB;gBAEF,sBAAO,SAAS,EAAC;;;KAClB,CAAC;AAtBW,QAAA,YAAY,gBAsBvB","sourcesContent":["import { ApprovalType, GetAllowanceParams } from './types';\nimport { getERC20Allowance } from './common';\nimport { getAddress } from '../../utils/contractAddresses';\n\nexport const getAllowance = async (\n params: GetAllowanceParams,\n): Promise<number> => {\n const underLyingTokenAddress = params.token;\n\n // @todo update\n const chainId = 80001;\n\n const contractProxyAddress =\n params.type === ApprovalType.DEPOSIT\n ? getAddress(chainId, 'core_proxy')\n : getAddress(chainId, 'passive_pool_proxy');\n const walletAddress: string = await params.signer.getAddress();\n\n const allowance = await getERC20Allowance({\n walletAddress,\n tokenAddress: underLyingTokenAddress,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n\n return allowance;\n};\n"]}
1
+ {"version":3,"file":"getAllowance.js","sourceRoot":"/","sources":["services/token/getAllowance.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA2D;AAC3D,mCAA6C;AAC7C,mEAA2D;AAEpD,IAAM,YAAY,GAAG,UAC1B,MAA0B;;;;;;gBAEpB,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC;gBAE5B,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEnC,oBAAoB,GACxB,MAAM,CAAC,IAAI,KAAK,oBAAY,CAAC,OAAO;oBAClC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,YAAY,CAAC;oBACnC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;gBAClB,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAxD,aAAa,GAAW,SAAgC;gBAE5C,qBAAM,IAAA,0BAAiB,EAAC;wBACxC,aAAa,eAAA;wBACb,YAAY,EAAE,sBAAsB;wBACpC,cAAc,EAAE,oBAAoB;wBACpC,OAAO,EAAE,MAAM,CAAC,MAAM;qBACvB,CAAC,EAAA;;gBALI,SAAS,GAAG,SAKhB;gBAEF,sBAAO,SAAS,EAAC;;;KAClB,CAAC;AAtBW,QAAA,YAAY,gBAsBvB","sourcesContent":["import { ApprovalType, GetAllowanceParams } from './types';\nimport { getERC20Allowance } from './common';\nimport { getAddress } from '../../utils/contractAddresses';\n\nexport const getAllowance = async (\n params: GetAllowanceParams,\n): Promise<number> => {\n const underLyingTokenAddress = params.token;\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const contractProxyAddress =\n params.type === ApprovalType.DEPOSIT\n ? getAddress(chainId, 'core_proxy')\n : getAddress(chainId, 'passive_pool_proxy');\n const walletAddress: string = await params.signer.getAddress();\n\n const allowance = await getERC20Allowance({\n walletAddress,\n tokenAddress: underLyingTokenAddress,\n spenderAddress: contractProxyAddress,\n subject: params.signer,\n });\n\n return allowance;\n};\n"]}
@@ -1,4 +1,4 @@
1
1
  import { MethodParameters } from '../../utils/action';
2
- export declare const encodeProvideLiquidityCall: (poolId: number, accountOwner: string, amount: number, minShares: number) => MethodParameters;
3
- export declare const encodeRemoveLiquidityCall: (poolId: number, sharesAmount: number, minOut: number) => MethodParameters;
2
+ export declare const encodeProvideLiquidityCall: (poolId: number, accountOwner: string, amount: bigint, minShares: number) => MethodParameters;
3
+ export declare const encodeRemoveLiquidityCall: (poolId: number, sharesAmount: bigint, minOut: number) => MethodParameters;
4
4
  //# sourceMappingURL=encode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lp.d.ts","sourceRoot":"/","sources":["services/lp/lp.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,gBAAgB,WACnB,sBAAsB,KAC7B,QAAQ,sBAAsB,CA8BhC,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,qBAAqB,KAC5B,QAAQ,qBAAqB,CA4B/B,CAAC"}
1
+ {"version":3,"file":"lp.d.ts","sourceRoot":"/","sources":["services/lp/lp.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,sBAAsB,EACtB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,SAAS,CAAC;AAQjB,eAAO,MAAM,gBAAgB,WACnB,sBAAsB,KAC7B,QAAQ,sBAAsB,CA+BhC,CAAC;AAEF,eAAO,MAAM,eAAe,WAClB,qBAAqB,KAC5B,QAAQ,qBAAqB,CA4B/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnE,eAAO,MAAM,aAAa,WAChB,mBAAmB,KAC1B,QAAQ,mBAAmB,CAiB7B,CAAC"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAGnE,eAAO,MAAM,aAAa,WAChB,mBAAmB,KAC1B,QAAQ,mBAAmB,CAkB7B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deposit.d.ts","sourceRoot":"/","sources":["services/margin-accounts/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMvD,eAAO,MAAM,OAAO,WACV,aAAa,KACpB,QAAQ,aAAa,CAyBvB,CAAC"}
1
+ {"version":3,"file":"deposit.d.ts","sourceRoot":"/","sources":["services/margin-accounts/deposit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAMvD,eAAO,MAAM,OAAO,WACV,aAAa,KACpB,QAAQ,aAAa,CA2BvB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"withdraw.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMzD,eAAO,MAAM,QAAQ,WACX,cAAc,KACrB,QAAQ,cAAc,CA0BxB,CAAC"}
1
+ {"version":3,"file":"withdraw.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMzD,eAAO,MAAM,QAAQ,WACX,cAAc,KACrB,QAAQ,cAAc,CA4BxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAoC1B,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAkC1B,CAAC"}
1
+ {"version":3,"file":"order.d.ts","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAUjB,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAqC1B,CAAC;AAEF,eAAO,MAAM,UAAU,WACb,gBAAgB,KACvB,QAAQ,gBAAgB,CAmC1B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"consts.d.ts","sourceRoot":"/","sources":["services/token/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,OAAO,EAAE,OAAO,GAAG;QAClB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CAwBH,CAAC"}
1
+ {"version":3,"file":"consts.d.ts","sourceRoot":"/","sources":["services/token/consts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAGnC,eAAO,MAAM,YAAY,EAAE;IACzB,CAAC,OAAO,EAAE,OAAO,GAAG;QAClB,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAC7B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;CAiDH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export type Address = Lowercase<string>;
2
- export type SupportedChainId = 80001 | 999;
2
+ export type SupportedChainId = 80001 | 1729;
3
3
  export type ContractType = 'core_proxy' | 'passive_pool_proxy';
4
4
  export declare const getAddress: (chainId: number, contractName: ContractType) => string;
5
5
  //# sourceMappingURL=contractAddresses.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contractAddresses.d.ts","sourceRoot":"/","sources":["utils/contractAddresses.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAGxC,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,GAAG,CAAC;AAE3C,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAe/D,eAAO,MAAM,UAAU,YACZ,MAAM,gBACD,YAAY,KACzB,MAaF,CAAC"}
1
+ {"version":3,"file":"contractAddresses.d.ts","sourceRoot":"/","sources":["utils/contractAddresses.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;AAGxC,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,IAAI,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,YAAY,GAAG,oBAAoB,CAAC;AAY/D,eAAO,MAAM,UAAU,YACZ,MAAM,gBACD,YAAY,KACzB,MAaF,CAAC"}
@@ -1,4 +1,4 @@
1
1
  export declare function calculateMinSharesForLp(lpAmount: number): number;
2
2
  export declare function calculateMinOutForLp(sharesAmount: number): number;
3
- export declare function expandLpAmount(amount: number): number;
3
+ export declare function expandLpAmount(amount: number, decimals: number): bigint;
4
4
  //# sourceMappingURL=lp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"lp.d.ts","sourceRoot":"/","sources":["utils/lp.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMrD"}
1
+ {"version":3,"file":"lp.d.ts","sourceRoot":"/","sources":["utils/lp.ts"],"names":[],"mappings":"AAEA,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOhE;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAOjE;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAOvE"}
@@ -7,8 +7,9 @@ import { SingleAction } from './action';
7
7
  export declare enum CommandType {
8
8
  DEPOSIT = 0,
9
9
  WITHDRAW = 1,
10
- MATCH_ORDER = 2,
11
- PROPAGATE_CACHE_FLOW = 3
10
+ DUTCH_LIQUIDATION = 2,
11
+ MATCH_ORDER = 3,
12
+ PROPAGATE_CACHE_FLOW = 4
12
13
  }
13
14
  export type RouterCommand = {
14
15
  type: CommandType;
@@ -1 +1 @@
1
- {"version":3,"file":"routerCommands.d.ts","sourceRoot":"/","sources":["utils/routerCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,WAAW,IAAA;IACX,oBAAoB,IAAA;CACrB;AASD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,OAAO,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAMf;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,OAAO,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,YAAY,CAUd"}
1
+ {"version":3,"file":"routerCommands.d.ts","sourceRoot":"/","sources":["utils/routerCommands.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;GAIG;AACH,oBAAY,WAAW;IACrB,OAAO,IAAA;IACP,QAAQ,IAAA;IACR,iBAAiB,IAAA;IACjB,WAAW,IAAA;IACX,oBAAoB,IAAA;CACrB;AAUD,MAAM,MAAM,aAAa,GAAG;IAC1B,IAAI,EAAE,WAAW,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,aAAa,CAC3B,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,OAAO,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,aAAa,CAMf;AAED,wBAAgB,UAAU,CACxB,IAAI,EAAE,WAAW,EACjB,UAAU,EAAE,OAAO,EAAE,EACrB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACjB,YAAY,CAUd"}
@@ -3,15 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAddress = void 0;
4
4
  var addresses = {
5
5
  80001: {
6
- core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',
7
- passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',
6
+ core_proxy: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',
7
+ passive_pool_proxy: '0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',
8
8
  },
9
- 999: {
10
- core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',
11
- passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',
9
+ 1729: {
10
+ core_proxy: '0x2cb06a22ee9b823a307d22f131380dbe151ece5f',
11
+ passive_pool_proxy: '0x63df38878c5b8e84d7dcb347b934072add64bdc5',
12
12
  },
13
13
  };
14
- // @todo update values for mainnet
15
14
  var getAddress = function (chainId, contractName) {
16
15
  var keyChainId = chainId.toString();
17
16
  if (!Object.keys(addresses).includes(keyChainId)) {
@@ -1 +1 @@
1
- {"version":3,"file":"contractAddresses.js","sourceRoot":"/","sources":["utils/contractAddresses.ts"],"names":[],"mappings":";;;AAOA,IAAM,SAAS,GAA4D;IACzE,KAAK,EAAE;QACL,UAAU,EAAE,4CAA4C;QACxD,kBAAkB,EAAE,4CAA4C;KACjE;IACD,GAAG,EAAE;QACH,UAAU,EAAE,4CAA4C;QACxD,kBAAkB,EAAE,4CAA4C;KACjE;CACF,CAAC;AAEF,kCAAkC;AAE3B,IAAM,UAAU,GAAG,UACxB,OAAe,EACf,YAA0B;IAE1B,IAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,6CAAsC,UAAU,CAAE,CAAC;IAC5D,CAAC;IAED,IAAM,gBAAgB,GAAG,SAAS,CAAC,OAA2B,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,OAAO,kCAA2B,YAAY,cAAW,CAAC;IAC5D,CAAC;IAED,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB","sourcesContent":["export type Address = Lowercase<string>;\n\n// @todo update with proper chainId for mainnet\nexport type SupportedChainId = 80001 | 999;\n\nexport type ContractType = 'core_proxy' | 'passive_pool_proxy';\n\nconst addresses: Record<SupportedChainId, Record<ContractType, Address>> = {\n 80001: {\n core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',\n passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',\n },\n 999: {\n core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',\n passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',\n },\n};\n\n// @todo update values for mainnet\n\nexport const getAddress = (\n chainId: number,\n contractName: ContractType,\n): string => {\n const keyChainId = chainId.toString();\n\n if (!Object.keys(addresses).includes(keyChainId)) {\n return `Unspecified addresses for chain id ${keyChainId}`;\n }\n\n const networkAddresses = addresses[chainId as SupportedChainId];\n if (!Object.keys(networkAddresses).includes(contractName)) {\n return `Unspecified address for ${contractName} contract`;\n }\n\n return networkAddresses[contractName];\n};\n"]}
1
+ {"version":3,"file":"contractAddresses.js","sourceRoot":"/","sources":["utils/contractAddresses.ts"],"names":[],"mappings":";;;AAOA,IAAM,SAAS,GAA4D;IACzE,KAAK,EAAE;QACL,UAAU,EAAE,4CAA4C;QACxD,kBAAkB,EAAE,4CAA4C;KACjE;IACD,IAAI,EAAE;QACJ,UAAU,EAAE,4CAA4C;QACxD,kBAAkB,EAAE,4CAA4C;KACjE;CACF,CAAC;AACK,IAAM,UAAU,GAAG,UACxB,OAAe,EACf,YAA0B;IAE1B,IAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAEtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QACjD,OAAO,6CAAsC,UAAU,CAAE,CAAC;IAC5D,CAAC;IAED,IAAM,gBAAgB,GAAG,SAAS,CAAC,OAA2B,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QAC1D,OAAO,kCAA2B,YAAY,cAAW,CAAC;IAC5D,CAAC;IAED,OAAO,gBAAgB,CAAC,YAAY,CAAC,CAAC;AACxC,CAAC,CAAC;AAhBW,QAAA,UAAU,cAgBrB","sourcesContent":["export type Address = Lowercase<string>;\n\n// @todo update with proper chainId for mainnet\nexport type SupportedChainId = 80001 | 1729;\n\nexport type ContractType = 'core_proxy' | 'passive_pool_proxy';\n\nconst addresses: Record<SupportedChainId, Record<ContractType, Address>> = {\n 80001: {\n core_proxy: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',\n passive_pool_proxy: '0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',\n },\n 1729: {\n core_proxy: '0x2cb06a22ee9b823a307d22f131380dbe151ece5f',\n passive_pool_proxy: '0x63df38878c5b8e84d7dcb347b934072add64bdc5',\n },\n};\nexport const getAddress = (\n chainId: number,\n contractName: ContractType,\n): string => {\n const keyChainId = chainId.toString();\n\n if (!Object.keys(addresses).includes(keyChainId)) {\n return `Unspecified addresses for chain id ${keyChainId}`;\n }\n\n const networkAddresses = addresses[chainId as SupportedChainId];\n if (!Object.keys(networkAddresses).includes(contractName)) {\n return `Unspecified address for ${contractName} contract`;\n }\n\n return networkAddresses[contractName];\n};\n"]}
package/dist/utils/lp.js CHANGED
@@ -19,10 +19,11 @@ function calculateMinOutForLp(sharesAmount) {
19
19
  return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed
20
20
  }
21
21
  exports.calculateMinOutForLp = calculateMinOutForLp;
22
- function expandLpAmount(amount) {
23
- var decimalFactor = (0, bignumber_js_1.default)('1000000'); // 10^6
24
- var amountDenormalised = (0, bignumber_js_1.default)(amount).times(decimalFactor).toFixed(0);
25
- return Number(amountDenormalised);
22
+ function expandLpAmount(amount, decimals) {
23
+ var decimalFactor = BigInt(Math.pow(10, decimals));
24
+ var amountBigInt = BigInt(amount);
25
+ var amountDenormalised = amountBigInt * decimalFactor;
26
+ return amountDenormalised;
26
27
  }
27
28
  exports.expandLpAmount = expandLpAmount;
28
29
  //# sourceMappingURL=lp.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lp.js","sourceRoot":"/","sources":["utils/lp.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAErC,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;IAEnC,2DAA2D;IAC3D,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;AAClG,CAAC;AAPD,0DAOC;AAED,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,YAAY,CAAC,CAAC;IAEvC,6DAA6D;IAC7D,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;AAClG,CAAC;AAPD,oDAOC;AAED,SAAgB,cAAc,CAAC,MAAc;IAC3C,IAAM,aAAa,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO;IAEnD,IAAM,kBAAkB,GAAG,IAAA,sBAAS,EAAC,MAAM,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAE7E,OAAO,MAAM,CAAC,kBAAkB,CAAC,CAAC;AACpC,CAAC;AAND,wCAMC","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function calculateMinSharesForLp(lpAmount: number): number {\n const amount = BigNumber(lpAmount);\n\n // Calculate 1% // @todo update this number once we have it\n const offset = amount.times(0.99);\n\n return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed\n}\n\nexport function calculateMinOutForLp(sharesAmount: number): number {\n const amount = BigNumber(sharesAmount);\n\n // Calculate 1% // @todo update once we have the exact number\n const offset = amount.times(0.99);\n\n return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed\n}\n\nexport function expandLpAmount(amount: number): number {\n const decimalFactor = BigNumber('1000000'); // 10^6\n\n const amountDenormalised = BigNumber(amount).times(decimalFactor).toFixed(0);\n\n return Number(amountDenormalised);\n}\n"]}
1
+ {"version":3,"file":"lp.js","sourceRoot":"/","sources":["utils/lp.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAErC,SAAgB,uBAAuB,CAAC,QAAgB;IACtD,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,QAAQ,CAAC,CAAC;IAEnC,2DAA2D;IAC3D,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;AAClG,CAAC;AAPD,0DAOC;AAED,SAAgB,oBAAoB,CAAC,YAAoB;IACvD,IAAM,MAAM,GAAG,IAAA,sBAAS,EAAC,YAAY,CAAC,CAAC;IAEvC,6DAA6D;IAC7D,IAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,6CAA6C;AAClG,CAAC;AAPD,oDAOC;AAED,SAAgB,cAAc,CAAC,MAAc,EAAE,QAAgB;IAC7D,IAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC;IACrD,IAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAEpC,IAAM,kBAAkB,GAAG,YAAY,GAAG,aAAa,CAAC;IAExD,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAPD,wCAOC","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function calculateMinSharesForLp(lpAmount: number): number {\n const amount = BigNumber(lpAmount);\n\n // Calculate 1% // @todo update this number once we have it\n const offset = amount.times(0.99);\n\n return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed\n}\n\nexport function calculateMinOutForLp(sharesAmount: number): number {\n const amount = BigNumber(sharesAmount);\n\n // Calculate 1% // @todo update once we have the exact number\n const offset = amount.times(0.99);\n\n return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed\n}\n\nexport function expandLpAmount(amount: number, decimals: number): bigint {\n const decimalFactor = BigInt(Math.pow(10, decimals));\n const amountBigInt = BigInt(amount);\n\n const amountDenormalised = amountBigInt * decimalFactor;\n\n return amountDenormalised;\n}\n"]}
@@ -12,14 +12,16 @@ var CommandType;
12
12
  (function (CommandType) {
13
13
  CommandType[CommandType["DEPOSIT"] = 0] = "DEPOSIT";
14
14
  CommandType[CommandType["WITHDRAW"] = 1] = "WITHDRAW";
15
- CommandType[CommandType["MATCH_ORDER"] = 2] = "MATCH_ORDER";
16
- CommandType[CommandType["PROPAGATE_CACHE_FLOW"] = 3] = "PROPAGATE_CACHE_FLOW";
15
+ CommandType[CommandType["DUTCH_LIQUIDATION"] = 2] = "DUTCH_LIQUIDATION";
16
+ CommandType[CommandType["MATCH_ORDER"] = 3] = "MATCH_ORDER";
17
+ CommandType[CommandType["PROPAGATE_CACHE_FLOW"] = 4] = "PROPAGATE_CACHE_FLOW";
17
18
  })(CommandType || (exports.CommandType = CommandType = {}));
18
19
  var ABI_DEFINITION = (_a = {},
19
20
  _a[CommandType.DEPOSIT] = ['address', 'uint256'],
20
21
  _a[CommandType.WITHDRAW] = ['address', 'uint256'],
21
22
  _a[CommandType.MATCH_ORDER] = ['uint128[]', 'bytes'],
22
23
  _a[CommandType.PROPAGATE_CACHE_FLOW] = [],
24
+ _a[CommandType.DUTCH_LIQUIDATION] = [],
23
25
  _a);
24
26
  function createCommand(type, parameters, marketId, exchangeId) {
25
27
  var encodedInput = ethers_1.AbiCoder.defaultAbiCoder().encode(ABI_DEFINITION[type], parameters);
@@ -1 +1 @@
1
- {"version":3,"file":"routerCommands.js","sourceRoot":"/","sources":["utils/routerCommands.ts"],"names":[],"mappings":";;;;AAAA,iCAAkC;AAGlC;;;;GAIG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,qDAAQ,CAAA;IACR,2DAAW,CAAA;IACX,6EAAoB,CAAA;AACtB,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED,IAAM,cAAc;IAClB,GAAC,WAAW,CAAC,OAAO,IAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IAC7C,GAAC,WAAW,CAAC,QAAQ,IAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9C,GAAC,WAAW,CAAC,WAAW,IAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IACjD,GAAC,WAAW,CAAC,oBAAoB,IAAG,EAAE;OACvC,CAAC;AASF,SAAgB,aAAa,CAC3B,IAAiB,EACjB,UAAqB,EACrB,QAAgB,EAChB,UAAkB;IAElB,IAAM,YAAY,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACpD,cAAc,CAAC,IAAI,CAAC,EACpB,UAAU,CACX,CAAC;IACF,OAAO,EAAE,IAAI,MAAA,EAAE,YAAY,cAAA,EAAE,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAE,CAAC;AACtD,CAAC;AAXD,sCAWC;AAED,SAAgB,UAAU,CACxB,IAAiB,EACjB,UAAqB,EACrB,QAAgB,EAChB,UAAkB;IAElB,IAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO;QACL,OAAO,EAAE;YACP,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B;KACF,CAAC;AACJ,CAAC;AAfD,gCAeC","sourcesContent":["import { AbiCoder } from 'ethers';\nimport { SingleAction } from './action';\n\n/**\n * CommandTypes\n * @description Flags that modify a command's execution\n * @enum {number}\n */\nexport enum CommandType {\n DEPOSIT,\n WITHDRAW,\n MATCH_ORDER,\n PROPAGATE_CACHE_FLOW,\n}\n\nconst ABI_DEFINITION: { [key in CommandType]: string[] } = {\n [CommandType.DEPOSIT]: ['address', 'uint256'],\n [CommandType.WITHDRAW]: ['address', 'uint256'],\n [CommandType.MATCH_ORDER]: ['uint128[]', 'bytes'],\n [CommandType.PROPAGATE_CACHE_FLOW]: [], // @todo Check if correct\n};\n\nexport type RouterCommand = {\n type: CommandType;\n encodedInput: string;\n marketId: number;\n exchangeId: number;\n};\n\nexport function createCommand(\n type: CommandType,\n parameters: unknown[],\n marketId: number,\n exchangeId: number,\n): RouterCommand {\n const encodedInput = AbiCoder.defaultAbiCoder().encode(\n ABI_DEFINITION[type],\n parameters,\n );\n return { type, encodedInput, marketId, exchangeId };\n}\n\nexport function getCommand(\n type: CommandType,\n parameters: unknown[],\n marketId: number,\n exchangeId: number,\n): SingleAction {\n const command = createCommand(type, parameters, marketId, exchangeId);\n return {\n command: {\n commandType: command.type,\n inputs: command.encodedInput,\n marketId: command.marketId,\n exchangeId: command.exchangeId,\n },\n };\n}\n"]}
1
+ {"version":3,"file":"routerCommands.js","sourceRoot":"/","sources":["utils/routerCommands.ts"],"names":[],"mappings":";;;;AAAA,iCAAkC;AAGlC;;;;GAIG;AACH,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,qDAAQ,CAAA;IACR,uEAAiB,CAAA;IACjB,2DAAW,CAAA;IACX,6EAAoB,CAAA;AACtB,CAAC,EANW,WAAW,2BAAX,WAAW,QAMtB;AAED,IAAM,cAAc;IAClB,GAAC,WAAW,CAAC,OAAO,IAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IAC7C,GAAC,WAAW,CAAC,QAAQ,IAAG,CAAC,SAAS,EAAE,SAAS,CAAC;IAC9C,GAAC,WAAW,CAAC,WAAW,IAAG,CAAC,WAAW,EAAE,OAAO,CAAC;IACjD,GAAC,WAAW,CAAC,oBAAoB,IAAG,EAAE;IACtC,GAAC,WAAW,CAAC,iBAAiB,IAAG,EAAE;OACpC,CAAC;AASF,SAAgB,aAAa,CAC3B,IAAiB,EACjB,UAAqB,EACrB,QAAgB,EAChB,UAAkB;IAElB,IAAM,YAAY,GAAG,iBAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACpD,cAAc,CAAC,IAAI,CAAC,EACpB,UAAU,CACX,CAAC;IACF,OAAO,EAAE,IAAI,MAAA,EAAE,YAAY,cAAA,EAAE,QAAQ,UAAA,EAAE,UAAU,YAAA,EAAE,CAAC;AACtD,CAAC;AAXD,sCAWC;AAED,SAAgB,UAAU,CACxB,IAAiB,EACjB,UAAqB,EACrB,QAAgB,EAChB,UAAkB;IAElB,IAAM,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACtE,OAAO;QACL,OAAO,EAAE;YACP,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,MAAM,EAAE,OAAO,CAAC,YAAY;YAC5B,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;SAC/B;KACF,CAAC;AACJ,CAAC;AAfD,gCAeC","sourcesContent":["import { AbiCoder } from 'ethers';\nimport { SingleAction } from './action';\n\n/**\n * CommandTypes\n * @description Flags that modify a command's execution\n * @enum {number}\n */\nexport enum CommandType {\n DEPOSIT,\n WITHDRAW,\n DUTCH_LIQUIDATION,\n MATCH_ORDER,\n PROPAGATE_CACHE_FLOW,\n}\n\nconst ABI_DEFINITION: { [key in CommandType]: string[] } = {\n [CommandType.DEPOSIT]: ['address', 'uint256'],\n [CommandType.WITHDRAW]: ['address', 'uint256'],\n [CommandType.MATCH_ORDER]: ['uint128[]', 'bytes'],\n [CommandType.PROPAGATE_CACHE_FLOW]: [], // @todo Check if correct\n [CommandType.DUTCH_LIQUIDATION]: [], // @todo update once needed\n};\n\nexport type RouterCommand = {\n type: CommandType;\n encodedInput: string;\n marketId: number;\n exchangeId: number;\n};\n\nexport function createCommand(\n type: CommandType,\n parameters: unknown[],\n marketId: number,\n exchangeId: number,\n): RouterCommand {\n const encodedInput = AbiCoder.defaultAbiCoder().encode(\n ABI_DEFINITION[type],\n parameters,\n );\n return { type, encodedInput, marketId, exchangeId };\n}\n\nexport function getCommand(\n type: CommandType,\n parameters: unknown[],\n marketId: number,\n exchangeId: number,\n): SingleAction {\n const command = createCommand(type, parameters, marketId, exchangeId);\n return {\n command: {\n commandType: command.type,\n inputs: command.encodedInput,\n marketId: command.marketId,\n exchangeId: command.exchangeId,\n },\n };\n}\n"]}
@@ -21,7 +21,7 @@ function calculatePriceLimitForTrade(orderPrice, amount) {
21
21
  }
22
22
  exports.calculatePriceLimitForTrade = calculatePriceLimitForTrade;
23
23
  function calculateOrderBaseFromOrderSize(orderSize, currentPrice) {
24
- var decimalFactor = (0, bignumber_js_1.default)('1000000'); // 10^6
24
+ var decimalFactor = (0, bignumber_js_1.default)('1000000000000000000'); // 10^18
25
25
  // @todo check decimal places handling if this should stay hardcoded to 6
26
26
  var orderBase = (0, bignumber_js_1.default)(orderSize)
27
27
  .times(decimalFactor)
@@ -1 +1 @@
1
- {"version":3,"file":"trade.js","sourceRoot":"/","sources":["utils/trade.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAErC,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,MAAc;IAEd,8BAA8B;IAC9B,IAAM,gBAAgB,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAE/C,mCAAmC;IACnC,IAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvC,mFAAmF;IACnF,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,wBAAwB;QACxB,OAAO,MAAM,CACX,IAAA,sBAAS,EAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CACX,IAAA,sBAAS,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AArBD,kEAqBC;AAED,SAAgB,+BAA+B,CAC7C,SAAiB,EACjB,YAAoB;IAEpB,IAAM,aAAa,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC,CAAC,CAAC,OAAO;IACnD,yEAAyE;IAEzE,IAAM,SAAS,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC;SACnC,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,YAAY,CAAC;SACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAbD,0EAaC","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function calculatePriceLimitForTrade(\n orderPrice: number,\n amount: number,\n): bigint {\n // Ensure orderPrice is BigInt\n const orderPriceBigInt = BigNumber(orderPrice);\n\n // Calculate 50% of the order price\n const offset = orderPriceBigInt.div(2);\n\n // Determine if the amount is positive or negative and adjust the price accordingly\n if (amount > 0) {\n // Trade is long, so add\n return BigInt(\n BigNumber(orderPriceBigInt).plus(offset).times(1e18).toFixed(0),\n );\n } else {\n return BigInt(\n BigNumber(orderPriceBigInt).minus(offset).times(1e18).toFixed(0),\n );\n }\n}\n\nexport function calculateOrderBaseFromOrderSize(\n orderSize: number,\n currentPrice: number,\n): bigint {\n const decimalFactor = BigNumber('1000000'); // 10^6\n // @todo check decimal places handling if this should stay hardcoded to 6\n\n const orderBase = BigNumber(orderSize)\n .times(decimalFactor)\n .div(currentPrice)\n .toFixed(0);\n\n return BigInt(orderBase);\n}\n"]}
1
+ {"version":3,"file":"trade.js","sourceRoot":"/","sources":["utils/trade.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqC;AAErC,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,MAAc;IAEd,8BAA8B;IAC9B,IAAM,gBAAgB,GAAG,IAAA,sBAAS,EAAC,UAAU,CAAC,CAAC;IAE/C,mCAAmC;IACnC,IAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvC,mFAAmF;IACnF,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QACf,wBAAwB;QACxB,OAAO,MAAM,CACX,IAAA,sBAAS,EAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAChE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,MAAM,CACX,IAAA,sBAAS,EAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACjE,CAAC;IACJ,CAAC;AACH,CAAC;AArBD,kEAqBC;AAED,SAAgB,+BAA+B,CAC7C,SAAiB,EACjB,YAAoB;IAEpB,IAAM,aAAa,GAAG,IAAA,sBAAS,EAAC,qBAAqB,CAAC,CAAC,CAAC,QAAQ;IAChE,yEAAyE;IAEzE,IAAM,SAAS,GAAG,IAAA,sBAAS,EAAC,SAAS,CAAC;SACnC,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,YAAY,CAAC;SACjB,OAAO,CAAC,CAAC,CAAC,CAAC;IAEd,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC3B,CAAC;AAbD,0EAaC","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function calculatePriceLimitForTrade(\n orderPrice: number,\n amount: number,\n): bigint {\n // Ensure orderPrice is BigInt\n const orderPriceBigInt = BigNumber(orderPrice);\n\n // Calculate 50% of the order price\n const offset = orderPriceBigInt.div(2);\n\n // Determine if the amount is positive or negative and adjust the price accordingly\n if (amount > 0) {\n // Trade is long, so add\n return BigInt(\n BigNumber(orderPriceBigInt).plus(offset).times(1e18).toFixed(0),\n );\n } else {\n return BigInt(\n BigNumber(orderPriceBigInt).minus(offset).times(1e18).toFixed(0),\n );\n }\n}\n\nexport function calculateOrderBaseFromOrderSize(\n orderSize: number,\n currentPrice: number,\n): bigint {\n const decimalFactor = BigNumber('1000000000000000000'); // 10^18\n // @todo check decimal places handling if this should stay hardcoded to 6\n\n const orderBase = BigNumber(orderSize)\n .times(decimalFactor)\n .div(currentPrice)\n .toFixed(0);\n\n return BigInt(orderBase);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -33,5 +33,5 @@
33
33
  "ethers": "6.9.0"
34
34
  },
35
35
  "packageManager": "pnpm@8.10.4",
36
- "gitHead": "1244bb2e3497cd062367ebe40830a45680460b69"
36
+ "gitHead": "49d5165ed209db0febeb26c55446bc37e83c54eb"
37
37
  }
@@ -41,7 +41,7 @@ export const encodeSingleTrade = (
41
41
  ): void => {
42
42
  // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));
43
43
  const encodedBasePrice = AbiCoder.defaultAbiCoder().encode(
44
- ['int256', 'uint256'], // @todo check if uint256 casts to UD60x18
44
+ ['int256', 'uint256'],
45
45
  [orderBase, orderPriceLimit],
46
46
  );
47
47
 
@@ -13,7 +13,7 @@ const removeLiquidityabi = [
13
13
  export const encodeProvideLiquidityCall = (
14
14
  poolId: number,
15
15
  accountOwner: string,
16
- amount: number,
16
+ amount: bigint,
17
17
  minShares: number,
18
18
  ): MethodParameters => {
19
19
  const functionSignature = 'addLiquidity';
@@ -25,7 +25,7 @@ export const encodeProvideLiquidityCall = (
25
25
 
26
26
  export const encodeRemoveLiquidityCall = (
27
27
  poolId: number,
28
- sharesAmount: number,
28
+ sharesAmount: bigint,
29
29
  minOut: number,
30
30
  ): MethodParameters => {
31
31
  const functionSignature = 'removeLiquidity';
@@ -20,15 +20,16 @@ export const provideLiquidity = async (
20
20
  params: ProvideLiquidityParams,
21
21
  ): Promise<ProvideLiquidityResult> => {
22
22
  const ownerAddrees = await params.signer.getAddress();
23
- // @todo we might not have chainId for reya network, update once we have information
24
- const chainId = 80001;
23
+
24
+ const network = await params.signer.provider?.getNetwork();
25
+ const chainId = Number(network?.chainId);
25
26
  const minShares = calculateMinSharesForLp(params.amount);
26
27
 
27
28
  if (params.amount === 0) {
28
29
  throw new Error('LP amount can not be 0');
29
30
  }
30
31
 
31
- const amount = expandLpAmount(params.amount);
32
+ const amount = expandLpAmount(params.amount, 6);
32
33
 
33
34
  const { calldata: data, value } = encodeProvideLiquidityCall(
34
35
  params.poolId,
@@ -53,8 +54,8 @@ export const provideLiquidity = async (
53
54
  export const removeLiquidity = async (
54
55
  params: RemoveLiquidityParams,
55
56
  ): Promise<RemoveLiquidityResult> => {
56
- // @todo we might not have chainId for reya nework, update once we have information
57
- const chainId = 80001;
57
+ const network = await params.signer.provider?.getNetwork();
58
+ const chainId = Number(network?.chainId);
58
59
 
59
60
  if (params.sharesAmount === 0) {
60
61
  throw new Error('Shares amount can not be 0');
@@ -62,7 +63,7 @@ export const removeLiquidity = async (
62
63
 
63
64
  const minOut = calculateMinOutForLp(params.sharesAmount);
64
65
 
65
- const amount = expandLpAmount(params.sharesAmount);
66
+ const amount = expandLpAmount(params.sharesAmount, 30); // shares have 30 decimals
66
67
  const { calldata: data, value } = encodeRemoveLiquidityCall(
67
68
  params.poolId,
68
69
  amount,
@@ -10,8 +10,9 @@ export const createAccount = async (
10
10
  params.ownerAddress,
11
11
  );
12
12
 
13
- // @todo update it
14
- const chainId = 80001;
13
+ const network = await params.signer.provider?.getNetwork();
14
+ const chainId = Number(network?.chainId);
15
+
15
16
  const result = await executeTransaction(
16
17
  params.signer,
17
18
  data,
@@ -19,7 +19,9 @@ export const deposit = async (
19
19
  exchangeId,
20
20
  );
21
21
 
22
- const chainId = 80001;
22
+ const network = await params.signer.provider?.getNetwork();
23
+ const chainId = Number(network?.chainId);
24
+
23
25
  const result = await executeTransaction(
24
26
  params.signer,
25
27
  data,
@@ -20,7 +20,9 @@ export const withdraw = async (
20
20
  exchangeId,
21
21
  );
22
22
 
23
- const chainId = 80001;
23
+ const network = await params.signer.provider?.getNetwork();
24
+ const chainId = Number(network?.chainId);
25
+
24
26
  const result = await executeTransaction(
25
27
  params.signer,
26
28
  data,
@@ -38,8 +38,9 @@ export const matchOrder = async (
38
38
  params.market.exchangeId,
39
39
  );
40
40
 
41
- // @todo update it
42
- const chainId = 80001;
41
+ const network = await params.signer.provider?.getNetwork();
42
+ const chainId = Number(network?.chainId);
43
+
43
44
  const result = await executeTransaction(
44
45
  params.signer,
45
46
  data,
@@ -76,8 +77,9 @@ export const closeOrder = async (
76
77
  params.market.exchangeId,
77
78
  );
78
79
 
79
- // @todo update it
80
- const chainId = 80001;
80
+ const network = await params.signer.provider?.getNetwork();
81
+ const chainId = Number(network?.chainId);
82
+
81
83
  const result = await executeTransaction(
82
84
  params.signer,
83
85
  data,
@@ -7,8 +7,8 @@ export const approveTokenSpending = async (
7
7
  ): Promise<number> => {
8
8
  const underLyingTokenAddress = params.token;
9
9
 
10
- // @todo update once we know this
11
- const chainId = 80001;
10
+ const network = await params.signer.provider?.getNetwork();
11
+ const chainId = Number(network?.chainId);
12
12
 
13
13
  const tokenContract = getERC20TokenContract(
14
14
  underLyingTokenAddress,
@@ -13,8 +13,8 @@ export const tokenDetails: {
13
13
  tokenName: 'USDC',
14
14
  tokenDecimals: 6,
15
15
  },
16
- // mainnet
17
- '--': {
16
+ // reya cronos
17
+ '0x51b0b7f083e563d5cf9d0b5f3916b59fc49c7e5f': {
18
18
  tokenName: 'USDC',
19
19
  tokenDecimals: 6,
20
20
  },
@@ -24,9 +24,34 @@ export const tokenDetails: {
24
24
  tokenName: 'WETH',
25
25
  tokenDecimals: 18,
26
26
  },
27
- // mainnet
28
- '---': {
27
+ // reya cronos
28
+ '0xcbdba2ac8f840711948ccd7a1b9ec0226d641693': {
29
29
  tokenName: 'WETH',
30
30
  tokenDecimals: 18,
31
31
  },
32
+
33
+ // ====== wBTC ======
34
+ // mumbai
35
+ '0x2fa2e7a6deb7bb51b625336dbe1da23511914a8a': {
36
+ tokenName: 'WBTC',
37
+ tokenDecimals: 8,
38
+ },
39
+ // mainnet
40
+ '0xaf21abab55a7c0ab143e0379a3c01054e4ebb514': {
41
+ tokenName: 'WBTC',
42
+ tokenDecimals: 8,
43
+ },
44
+ // ====== USDT ======
45
+ // reya cronos
46
+ '0xeba6f8d7d4d4787f29441db1164548299ef4641f': {
47
+ tokenName: 'USDT',
48
+ tokenDecimals: 6,
49
+ },
50
+
51
+ // ====== dai ======
52
+ // reya cronos
53
+ '0x0d4fad8b258a467286fc2419ffc19015fdcae7f9': {
54
+ tokenName: 'USDT',
55
+ tokenDecimals: 18,
56
+ },
32
57
  };
@@ -7,8 +7,8 @@ export const getAllowance = async (
7
7
  ): Promise<number> => {
8
8
  const underLyingTokenAddress = params.token;
9
9
 
10
- // @todo update
11
- const chainId = 80001;
10
+ const network = await params.signer.provider?.getNetwork();
11
+ const chainId = Number(network?.chainId);
12
12
 
13
13
  const contractProxyAddress =
14
14
  params.type === ApprovalType.DEPOSIT
@@ -1,23 +1,20 @@
1
1
  export type Address = Lowercase<string>;
2
2
 
3
3
  // @todo update with proper chainId for mainnet
4
- export type SupportedChainId = 80001 | 999;
4
+ export type SupportedChainId = 80001 | 1729;
5
5
 
6
6
  export type ContractType = 'core_proxy' | 'passive_pool_proxy';
7
7
 
8
8
  const addresses: Record<SupportedChainId, Record<ContractType, Address>> = {
9
9
  80001: {
10
- core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',
11
- passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',
10
+ core_proxy: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',
11
+ passive_pool_proxy: '0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',
12
12
  },
13
- 999: {
14
- core_proxy: '0xdb8cd625873ca9d7b6529ffafe5ecdd3746708b4',
15
- passive_pool_proxy: '0xbc8fb7d6ceace18ce15d473b8ae5849e2394f5c5',
13
+ 1729: {
14
+ core_proxy: '0x2cb06a22ee9b823a307d22f131380dbe151ece5f',
15
+ passive_pool_proxy: '0x63df38878c5b8e84d7dcb347b934072add64bdc5',
16
16
  },
17
17
  };
18
-
19
- // @todo update values for mainnet
20
-
21
18
  export const getAddress = (
22
19
  chainId: number,
23
20
  contractName: ContractType,
package/src/utils/lp.ts CHANGED
@@ -18,10 +18,11 @@ export function calculateMinOutForLp(sharesAmount: number): number {
18
18
  return amount.minus(offset).times(1e6).toNumber(); // rUSD/USDC has 6 decimals, change if needed
19
19
  }
20
20
 
21
- export function expandLpAmount(amount: number): number {
22
- const decimalFactor = BigNumber('1000000'); // 10^6
21
+ export function expandLpAmount(amount: number, decimals: number): bigint {
22
+ const decimalFactor = BigInt(Math.pow(10, decimals));
23
+ const amountBigInt = BigInt(amount);
23
24
 
24
- const amountDenormalised = BigNumber(amount).times(decimalFactor).toFixed(0);
25
+ const amountDenormalised = amountBigInt * decimalFactor;
25
26
 
26
- return Number(amountDenormalised);
27
+ return amountDenormalised;
27
28
  }
@@ -9,6 +9,7 @@ import { SingleAction } from './action';
9
9
  export enum CommandType {
10
10
  DEPOSIT,
11
11
  WITHDRAW,
12
+ DUTCH_LIQUIDATION,
12
13
  MATCH_ORDER,
13
14
  PROPAGATE_CACHE_FLOW,
14
15
  }
@@ -18,6 +19,7 @@ const ABI_DEFINITION: { [key in CommandType]: string[] } = {
18
19
  [CommandType.WITHDRAW]: ['address', 'uint256'],
19
20
  [CommandType.MATCH_ORDER]: ['uint128[]', 'bytes'],
20
21
  [CommandType.PROPAGATE_CACHE_FLOW]: [], // @todo Check if correct
22
+ [CommandType.DUTCH_LIQUIDATION]: [], // @todo update once needed
21
23
  };
22
24
 
23
25
  export type RouterCommand = {
@@ -27,7 +27,7 @@ export function calculateOrderBaseFromOrderSize(
27
27
  orderSize: number,
28
28
  currentPrice: number,
29
29
  ): bigint {
30
- const decimalFactor = BigNumber('1000000'); // 10^6
30
+ const decimalFactor = BigNumber('1000000000000000000'); // 10^18
31
31
  // @todo check decimal places handling if this should stay hardcoded to 6
32
32
 
33
33
  const orderBase = BigNumber(orderSize)