@reyaxyz/sdk 0.8.1 → 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/lp/encode.js.map +1 -1
- package/dist/services/lp/lp.js +2 -2
- package/dist/services/lp/lp.js.map +1 -1
- package/dist/types/services/lp/encode.d.ts +2 -2
- package/dist/types/utils/lp.d.ts +1 -1
- package/dist/types/utils/lp.d.ts.map +1 -1
- package/dist/utils/lp.js +5 -4
- package/dist/utils/lp.js.map +1 -1
- package/package.json +2 -2
- package/src/services/lp/encode.ts +2 -2
- package/src/services/lp/lp.ts +2 -2
- package/src/utils/lp.ts +5 -4
|
@@ -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
|
@@ -57,7 +57,7 @@ var provideLiquidity = function (params) { return __awaiter(void 0, void 0, void
|
|
|
57
57
|
if (params.amount === 0) {
|
|
58
58
|
throw new Error('LP amount can not be 0');
|
|
59
59
|
}
|
|
60
|
-
amount = (0, lp_1.expandLpAmount)(params.amount);
|
|
60
|
+
amount = (0, lp_1.expandLpAmount)(params.amount, 6);
|
|
61
61
|
_a = (0, encode_1.encodeProvideLiquidityCall)(params.poolId, ownerAddrees, amount, minShares), data = _a.calldata, value = _a.value;
|
|
62
62
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.LP)];
|
|
63
63
|
case 3:
|
|
@@ -82,7 +82,7 @@ var removeLiquidity = function (params) { return __awaiter(void 0, void 0, void
|
|
|
82
82
|
throw new Error('Shares amount can not be 0');
|
|
83
83
|
}
|
|
84
84
|
minOut = (0, lp_1.calculateMinOutForLp)(params.sharesAmount);
|
|
85
|
-
amount = (0, lp_1.expandLpAmount)(params.sharesAmount);
|
|
85
|
+
amount = (0, lp_1.expandLpAmount)(params.sharesAmount, 30);
|
|
86
86
|
_a = (0, encode_1.encodeRemoveLiquidityCall)(params.poolId, amount, minOut), data = _a.calldata, value = _a.value;
|
|
87
87
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, consts_1.TransactionType.LP)];
|
|
88
88
|
case 2:
|
|
@@ -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;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,CAAC,CAAC;
|
|
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"]}
|
|
@@ -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
|
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"}
|
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"]}
|
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
|
}
|
|
@@ -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
|
@@ -29,7 +29,7 @@ export const provideLiquidity = async (
|
|
|
29
29
|
throw new Error('LP amount can not be 0');
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
const amount = expandLpAmount(params.amount);
|
|
32
|
+
const amount = expandLpAmount(params.amount, 6);
|
|
33
33
|
|
|
34
34
|
const { calldata: data, value } = encodeProvideLiquidityCall(
|
|
35
35
|
params.poolId,
|
|
@@ -63,7 +63,7 @@ export const removeLiquidity = async (
|
|
|
63
63
|
|
|
64
64
|
const minOut = calculateMinOutForLp(params.sharesAmount);
|
|
65
65
|
|
|
66
|
-
const amount = expandLpAmount(params.sharesAmount);
|
|
66
|
+
const amount = expandLpAmount(params.sharesAmount, 30); // shares have 30 decimals
|
|
67
67
|
const { calldata: data, value } = encodeRemoveLiquidityCall(
|
|
68
68
|
params.poolId,
|
|
69
69
|
amount,
|
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
|
}
|