@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.
- package/dist/services/encode.js +1 -2
- package/dist/services/encode.js.map +1 -1
- package/dist/services/lp/encode.js.map +1 -1
- package/dist/services/lp/lp.js +23 -16
- package/dist/services/lp/lp.js.map +1 -1
- package/dist/services/margin-accounts/account.js +10 -6
- package/dist/services/margin-accounts/account.js.map +1 -1
- package/dist/services/margin-accounts/deposit.js +10 -6
- package/dist/services/margin-accounts/deposit.js.map +1 -1
- package/dist/services/margin-accounts/withdraw.js +10 -6
- package/dist/services/margin-accounts/withdraw.js.map +1 -1
- package/dist/services/orders/order.js +20 -12
- package/dist/services/orders/order.js.map +1 -1
- package/dist/services/token/approve.js +24 -20
- package/dist/services/token/approve.js.map +1 -1
- package/dist/services/token/consts.js +27 -4
- package/dist/services/token/consts.js.map +1 -1
- package/dist/services/token/getAllowance.js +12 -8
- package/dist/services/token/getAllowance.js.map +1 -1
- package/dist/types/services/lp/encode.d.ts +2 -2
- package/dist/types/services/lp/lp.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/deposit.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdraw.d.ts.map +1 -1
- package/dist/types/services/orders/order.d.ts.map +1 -1
- package/dist/types/services/token/consts.d.ts.map +1 -1
- package/dist/types/utils/contractAddresses.d.ts +1 -1
- package/dist/types/utils/contractAddresses.d.ts.map +1 -1
- package/dist/types/utils/lp.d.ts +1 -1
- package/dist/types/utils/lp.d.ts.map +1 -1
- package/dist/types/utils/routerCommands.d.ts +3 -2
- package/dist/types/utils/routerCommands.d.ts.map +1 -1
- package/dist/utils/contractAddresses.js +5 -6
- package/dist/utils/contractAddresses.js.map +1 -1
- package/dist/utils/lp.js +5 -4
- package/dist/utils/lp.js.map +1 -1
- package/dist/utils/routerCommands.js +4 -2
- package/dist/utils/routerCommands.js.map +1 -1
- package/dist/utils/trade.js +1 -1
- package/dist/utils/trade.js.map +1 -1
- package/package.json +2 -2
- package/src/services/encode.ts +1 -1
- package/src/services/lp/encode.ts +2 -2
- package/src/services/lp/lp.ts +7 -6
- package/src/services/margin-accounts/account.ts +3 -2
- package/src/services/margin-accounts/deposit.ts +3 -1
- package/src/services/margin-accounts/withdraw.ts +3 -1
- package/src/services/orders/order.ts +6 -4
- package/src/services/token/approve.ts +2 -2
- package/src/services/token/consts.ts +29 -4
- package/src/services/token/getAllowance.ts +2 -2
- package/src/utils/contractAddresses.ts +6 -9
- package/src/utils/lp.ts +5 -4
- package/src/utils/routerCommands.ts +2 -0
- package/src/utils/trade.ts +1 -1
package/dist/services/encode.js
CHANGED
|
@@ -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'],
|
|
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,
|
|
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:
|
|
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"]}
|
package/dist/services/lp/lp.js
CHANGED
|
@@ -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
|
-
|
|
47
|
-
|
|
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 =
|
|
51
|
-
|
|
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
|
|
60
|
-
result =
|
|
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
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
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
|
|
82
|
-
result =
|
|
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
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
51
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
73
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
47
|
-
|
|
46
|
+
var _c;
|
|
47
|
+
return __generator(this, function (_d) {
|
|
48
|
+
switch (_d.label) {
|
|
48
49
|
case 0:
|
|
49
50
|
underLyingTokenAddress = params.token;
|
|
50
|
-
|
|
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
|
-
|
|
68
|
-
|
|
68
|
+
approvalTransaction = _d.sent();
|
|
69
|
+
_d.label = 3;
|
|
69
70
|
case 3:
|
|
70
|
-
|
|
71
|
-
return [
|
|
71
|
+
_d.trys.push([3, 5, , 6]);
|
|
72
|
+
return [4 /*yield*/, approvalTransaction.wait()];
|
|
72
73
|
case 4:
|
|
73
|
-
|
|
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
|
|
77
|
-
|
|
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
|
|
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
|
|
87
|
-
case
|
|
88
|
-
error_2 =
|
|
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*/,
|
|
91
|
-
case
|
|
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
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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,
|
|
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
|
-
|
|
46
|
-
|
|
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
|
-
|
|
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
|
|
55
|
-
walletAddress =
|
|
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
|
|
63
|
-
allowance =
|
|
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
|
|
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:
|
|
3
|
-
export declare const encodeRemoveLiquidityCall: (poolId: number, sharesAmount:
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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,
|
|
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;
|
|
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 |
|
|
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,
|
|
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"}
|
package/dist/types/utils/lp.d.ts
CHANGED
|
@@ -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):
|
|
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,
|
|
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
|
-
|
|
11
|
-
|
|
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;
|
|
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: '
|
|
7
|
-
passive_pool_proxy: '
|
|
6
|
+
core_proxy: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',
|
|
7
|
+
passive_pool_proxy: '0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',
|
|
8
8
|
},
|
|
9
|
-
|
|
10
|
-
core_proxy: '
|
|
11
|
-
passive_pool_proxy: '
|
|
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,
|
|
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 = (
|
|
24
|
-
var
|
|
25
|
-
|
|
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
|
package/dist/utils/lp.js.map
CHANGED
|
@@ -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;
|
|
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["
|
|
16
|
-
CommandType[CommandType["
|
|
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,
|
|
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"]}
|
package/dist/utils/trade.js
CHANGED
|
@@ -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)('
|
|
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)
|
package/dist/utils/trade.js.map
CHANGED
|
@@ -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,
|
|
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.
|
|
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": "
|
|
36
|
+
"gitHead": "49d5165ed209db0febeb26c55446bc37e83c54eb"
|
|
37
37
|
}
|
package/src/services/encode.ts
CHANGED
|
@@ -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'],
|
|
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:
|
|
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:
|
|
28
|
+
sharesAmount: bigint,
|
|
29
29
|
minOut: number,
|
|
30
30
|
): MethodParameters => {
|
|
31
31
|
const functionSignature = 'removeLiquidity';
|
package/src/services/lp/lp.ts
CHANGED
|
@@ -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
|
-
|
|
24
|
-
const
|
|
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
|
-
|
|
57
|
-
const chainId =
|
|
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
|
-
|
|
14
|
-
const chainId =
|
|
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
|
|
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
|
|
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
|
-
|
|
42
|
-
const chainId =
|
|
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
|
-
|
|
80
|
-
const chainId =
|
|
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
|
-
|
|
11
|
-
const chainId =
|
|
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
|
-
//
|
|
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
|
-
//
|
|
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
|
-
|
|
11
|
-
const chainId =
|
|
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 |
|
|
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: '
|
|
11
|
-
passive_pool_proxy: '
|
|
10
|
+
core_proxy: '0xc2f1b4a1275b7338e0eb03967fea3858af4bc900',
|
|
11
|
+
passive_pool_proxy: '0x1b9d499f3ac864b8d4da415846d1d1916e00a6ff',
|
|
12
12
|
},
|
|
13
|
-
|
|
14
|
-
core_proxy: '
|
|
15
|
-
passive_pool_proxy: '
|
|
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
|
|
22
|
-
const decimalFactor =
|
|
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 =
|
|
25
|
+
const amountDenormalised = amountBigInt * decimalFactor;
|
|
25
26
|
|
|
26
|
-
return
|
|
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 = {
|
package/src/utils/trade.ts
CHANGED
|
@@ -27,7 +27,7 @@ export function calculateOrderBaseFromOrderSize(
|
|
|
27
27
|
orderSize: number,
|
|
28
28
|
currentPrice: number,
|
|
29
29
|
): bigint {
|
|
30
|
-
const decimalFactor = BigNumber('
|
|
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)
|