@reyaxyz/sdk 0.115.0 → 0.116.0

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/README.md CHANGED
@@ -6,5 +6,5 @@
6
6
 
7
7
  | Statements | Branches | Functions | Lines |
8
8
  | --------------------------- | ----------------------- | ------------------------- | ----------------- |
9
- | ![Statements](https://img.shields.io/badge/statements-9.65%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-4.6%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-5.55%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-9.07%25-red.svg?style=flat) |
9
+ | ![Statements](https://img.shields.io/badge/statements-8.96%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-4.24%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-5.26%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-8.4%25-red.svg?style=flat) |
10
10
 
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.bridgeAndDepositPassivePoolUnderAlphaTerms = exports.bridgeAndDepositPassivePool = void 0;
39
+ exports.bridgeAndDepositPassivePoolUnderAlphaTerms = exports.bridgeAndDepositPassivePoolV2 = exports.bridgeAndDepositPassivePool = void 0;
40
40
  var common_1 = require("@reyaxyz/common");
41
41
  var config_1 = require("../../config");
42
42
  var common_2 = require("@reyaxyz/common");
@@ -82,6 +82,42 @@ var bridgeAndDepositPassivePool = function (params) { return __awaiter(void 0, v
82
82
  });
83
83
  }); };
84
84
  exports.bridgeAndDepositPassivePool = bridgeAndDepositPassivePool;
85
+ var bridgeAndDepositPassivePoolV2 = function (params) { return __awaiter(void 0, void 0, void 0, function () {
86
+ var network, moneyInOutChainId, env, chainId, tokenInfo, amount, socketConnectors, peripheryAddress, reyaTokenInfo, _a, data, value, result;
87
+ var _b;
88
+ return __generator(this, function (_c) {
89
+ switch (_c.label) {
90
+ case 0: return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
91
+ case 1:
92
+ network = _c.sent();
93
+ moneyInOutChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
94
+ env = (0, config_1.getSdkEnvironment)();
95
+ chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
96
+ if (moneyInOutChainId === chainId) {
97
+ throw new Error('Bridging from Reya Chain to Reya Chain is not supported');
98
+ }
99
+ tokenInfo = (0, common_1.getTokenInfoByAddress)(params.tokenAddress, moneyInOutChainId);
100
+ amount = (0, common_1.scale)(tokenInfo.decimals)(params.amount);
101
+ socketConnectors = (0, common_1.getSocketConnectors)({
102
+ moneyInOutChainId: moneyInOutChainId,
103
+ tokenName: tokenInfo.name,
104
+ });
105
+ peripheryAddress = (0, common_2.getAddress)((0, common_1.getReyaNetworkFromMoneyInOutChainId)(moneyInOutChainId), common_2.ContractType.PERIPHERY_PROXY);
106
+ reyaTokenInfo = (0, common_1.getTokenInfoByName)(tokenInfo.isRUSDUnderlying ? 'RUSD' : tokenInfo.name, chainId);
107
+ _a = (0, encode_1.encodeBridgeAndDepositPassivePoolV2)(peripheryAddress, BigInt('10000000'), socketConnectors.deposit, '0x', params.socketDepositFees, params.pool.id, params.ownerAddress, amount, BigInt(0), reyaTokenInfo.address), data = _a.calldata, value = _a.value;
108
+ return [4 /*yield*/, (0, common_1.executeTransaction)(params.signer, data, value, moneyInOutChainId, (0, common_1.getSocketVault)({
109
+ moneyInOutChainId: moneyInOutChainId,
110
+ tokenName: tokenInfo.name,
111
+ }))];
112
+ case 2:
113
+ result = _c.sent();
114
+ return [2 /*return*/, {
115
+ transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
116
+ }];
117
+ }
118
+ });
119
+ }); };
120
+ exports.bridgeAndDepositPassivePoolV2 = bridgeAndDepositPassivePoolV2;
85
121
  var bridgeAndDepositPassivePoolUnderAlphaTerms = function (params) { return __awaiter(void 0, void 0, void 0, function () {
86
122
  var alphaTermsModule;
87
123
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CASyB;AACzB,uCAA4E;AAC5E,0CAA2D;AAC3D,mCAA6D;AAO7D,2BAAwC;AAEjC,IAAM,2BAA2B,GAAG,UACzC,MAAyC;;;;;oBAEzB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,iBAAiB,GAAsB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEhE,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBAE7E,iBAAiB;gBACjB,IAAI,iBAAiB,KAAM,OAAmB,EAAE,CAAC;oBAC/C,sBAAO,IAAA,qBAAgB,EAAC;4BACtB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;yBACzB,CAAC,EAAC;gBACL,CAAC;gBAEK,SAAS,GAAG,IAAA,mCAA0B,EAAC,iBAAiB,CAAC,CAAC;gBAE1D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,gBAAgB,GAAG,IAAA,4BAAmB,EAAC;oBAC3C,iBAAiB,EAAE,iBAAiB;oBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;iBAC1B,CAAC,CAAC;gBAEG,gBAAgB,GAAG,IAAA,mBAAU,EACjC,IAAA,4CAAmC,EAAC,iBAAiB,CAAC,EACtD,qBAAY,CAAC,eAAe,CAC7B,CAAC;gBAEI,KAA4B,IAAA,0CAAiC,EACjE,gBAAgB,EAChB,MAAM,CAAC,UAAU,CAAC,EAClB,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,CACV,EAViB,IAAI,cAAA,EAAE,KAAK,WAAA,CAU3B;gBAEa,qBAAM,IAAA,2BAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,iBAAiB;wBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B,CAAC,CACH,EAAA;;gBATK,MAAM,GAAG,SASd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA1DW,QAAA,2BAA2B,+BA0DtC;AAEK,IAAM,0CAA0C,GAAG,UACxD,MAAwD;;;;;gBAElD,gBAAgB,GAAG,IAAA,kCAAyB,GAAE,CAAC;gBACrD,qBAAM,gBAAgB,CAAC,sBAAsB,CAAC;wBAC5C,aAAa,EAAE,MAAM,CAAC,YAAY;wBAClC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC,EAAA;;gBAHF,SAGE,CAAC;gBAEI,qBAAM,IAAA,mCAA2B,EAAC,MAAM,CAAC,EAAA;oBAAhD,sBAAO,SAAyC,EAAC;;;KAClD,CAAC;AAVW,QAAA,0CAA0C,8CAUrD","sourcesContent":["import {\n getSocketVault,\n scale,\n MoneyInOutChainId,\n getSocketConnectors,\n getReyaNetworkFromMoneyInOutChainId,\n getRUSDUnderlyingTokenInfo,\n executeTransaction,\n getReyaNetwork,\n} from '@reyaxyz/common';\nimport { getAlphaTermsModuleClient, getSdkEnvironment } from '../../config';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { encodeBridgeAndDepositPassivePool } from './encode';\nimport {\n BridgeAndDepositPassivePoolParams,\n BridgeAndDepositPassivePoolResult,\n BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n BridgeAndDepositPassivePoolUnderAlphaTermsResult,\n} from './types';\nimport { provideLiquidity } from './lp';\n\nexport const bridgeAndDepositPassivePool = async (\n params: BridgeAndDepositPassivePoolParams,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n // @todo fix this\n if (moneyInOutChainId === (chainId as unknown)) {\n return provideLiquidity({\n signer: params.signer,\n amount: params.amount,\n lpPoolId: params.pool.id,\n });\n }\n\n const tokenInfo = getRUSDUnderlyingTokenInfo(moneyInOutChainId);\n\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n });\n\n const peripheryAddress = getAddress(\n getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),\n ContractType.PERIPHERY_PROXY,\n );\n\n const { calldata: data, value } = encodeBridgeAndDepositPassivePool(\n peripheryAddress,\n BigInt('10000000'),\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.pool.id,\n params.ownerAddress,\n amount,\n BigInt(0),\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const bridgeAndDepositPassivePoolUnderAlphaTerms = async (\n params: BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n): Promise<BridgeAndDepositPassivePoolUnderAlphaTermsResult> => {\n const alphaTermsModule = getAlphaTermsModuleClient();\n await alphaTermsModule.registerAlphaSignature({\n walletAddress: params.ownerAddress,\n link: params.signedLink,\n });\n\n return await bridgeAndDepositPassivePool(params);\n};\n"]}
1
+ {"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getSocketVault,\n scale,\n MoneyInOutChainId,\n getSocketConnectors,\n getReyaNetworkFromMoneyInOutChainId,\n getRUSDUnderlyingTokenInfo,\n executeTransaction,\n getReyaNetwork,\n getTokenInfoByAddress,\n getTokenInfoByName,\n} from '@reyaxyz/common';\nimport { getAlphaTermsModuleClient, getSdkEnvironment } from '../../config';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport {\n encodeBridgeAndDepositPassivePool,\n encodeBridgeAndDepositPassivePoolV2,\n} from './encode';\nimport {\n BridgeAndDepositPassivePoolParams,\n BridgeAndDepositPassivePoolParamsV2,\n BridgeAndDepositPassivePoolResult,\n BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n BridgeAndDepositPassivePoolUnderAlphaTermsResult,\n} from './types';\nimport { provideLiquidity } from './lp';\n\nexport const bridgeAndDepositPassivePool = async (\n params: BridgeAndDepositPassivePoolParams,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n // @todo fix this\n if (moneyInOutChainId === (chainId as unknown)) {\n return provideLiquidity({\n signer: params.signer,\n amount: params.amount,\n lpPoolId: params.pool.id,\n });\n }\n\n const tokenInfo = getRUSDUnderlyingTokenInfo(moneyInOutChainId);\n\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n });\n\n const peripheryAddress = getAddress(\n getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),\n ContractType.PERIPHERY_PROXY,\n );\n\n const { calldata: data, value } = encodeBridgeAndDepositPassivePool(\n peripheryAddress,\n BigInt('10000000'),\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.pool.id,\n params.ownerAddress,\n amount,\n BigInt(0),\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const bridgeAndDepositPassivePoolV2 = async (\n params: BridgeAndDepositPassivePoolParamsV2,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);\n\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n if (moneyInOutChainId === (chainId as unknown)) {\n throw new Error('Bridging from Reya Chain to Reya Chain is not supported');\n }\n\n const tokenInfo = getTokenInfoByAddress(\n params.tokenAddress,\n moneyInOutChainId,\n );\n\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n });\n\n const peripheryAddress = getAddress(\n getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),\n ContractType.PERIPHERY_PROXY,\n );\n\n const reyaTokenInfo = getTokenInfoByName(\n tokenInfo.isRUSDUnderlying ? 'RUSD' : tokenInfo.name,\n chainId,\n );\n const { calldata: data, value } = encodeBridgeAndDepositPassivePoolV2(\n peripheryAddress,\n BigInt('10000000'),\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.pool.id,\n params.ownerAddress,\n amount,\n BigInt(0),\n reyaTokenInfo.address,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const bridgeAndDepositPassivePoolUnderAlphaTerms = async (\n params: BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n): Promise<BridgeAndDepositPassivePoolUnderAlphaTermsResult> => {\n const alphaTermsModule = getAlphaTermsModuleClient();\n await alphaTermsModule.registerAlphaSignature({\n walletAddress: params.ownerAddress,\n link: params.signedLink,\n });\n\n return await bridgeAndDepositPassivePool(params);\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeBridgeAndDepositPassivePool = exports.encodeWithdrawPassivePoolAndBridge = exports.encodeTransferFromPoolToMA = exports.encodeTransferFromMAToPool = exports.encodeRemoveLiquidityCall = exports.encodeProvideLiquidityCall = void 0;
3
+ exports.encodeBridgeAndDepositPassivePoolV2 = exports.encodeBridgeAndDepositPassivePool = exports.encodeWithdrawPassivePoolAndBridgeV2 = exports.encodeWithdrawPassivePoolAndBridge = exports.encodeTransferFromPoolToMA = exports.encodeTransferFromMAToPool = exports.encodeRemoveLiquidityCall = exports.encodeProvideLiquidityCall = void 0;
4
4
  var common_1 = require("@reyaxyz/common");
5
5
  var ethers_1 = require("ethers");
6
6
  var common_2 = require("@reyaxyz/common");
@@ -63,6 +63,26 @@ var encodeWithdrawPassivePoolAndBridge = function (owner, poolId, sharesAmount,
63
63
  return { calldata: calldata, value: BigInt(0).toString(10) };
64
64
  };
65
65
  exports.encodeWithdrawPassivePoolAndBridge = encodeWithdrawPassivePoolAndBridge;
66
+ var encodeWithdrawPassivePoolAndBridgeV2 = function (owner, poolId, sharesAmount, minOut, sig, socketMsgGasLimit, chainId, receiver, token) {
67
+ var functionSignature = 'WithdrawPassivePoolV2';
68
+ var parameters = [
69
+ {
70
+ owner: owner,
71
+ token: token,
72
+ poolId: poolId,
73
+ sharesAmount: sharesAmount,
74
+ minOut: minOut,
75
+ sig: sig,
76
+ socketMsgGasLimit: socketMsgGasLimit,
77
+ chainId: chainId,
78
+ receiver: receiver,
79
+ },
80
+ ];
81
+ var INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
82
+ var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
83
+ return { calldata: calldata, value: BigInt(0).toString(10) };
84
+ };
85
+ exports.encodeWithdrawPassivePoolAndBridgeV2 = encodeWithdrawPassivePoolAndBridgeV2;
66
86
  var encodeBridgeAndDepositPassivePool = function (receiver, socketMsgGasLimit, socketConnector, socketBridgeOptions, socketFees, poolId, owner, amount, minShares) {
67
87
  var PERIPHERY_INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
68
88
  var inputs = { poolId: poolId, owner: owner, minShares: minShares };
@@ -81,4 +101,22 @@ var encodeBridgeAndDepositPassivePool = function (receiver, socketMsgGasLimit, s
81
101
  return { calldata: calldata, value: socketFees.toString(10) };
82
102
  };
83
103
  exports.encodeBridgeAndDepositPassivePool = encodeBridgeAndDepositPassivePool;
104
+ var encodeBridgeAndDepositPassivePoolV2 = function (receiver, socketMsgGasLimit, socketConnector, socketBridgeOptions, socketFees, poolId, owner, amount, minShares, token) {
105
+ var PERIPHERY_INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
106
+ var inputs = { poolId: poolId, owner: owner, token: token, minShares: minShares };
107
+ var peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData('depositPassivePoolV2((uint128,address,address,uint256))', [inputs]);
108
+ var functionSignature = 'bridge';
109
+ var parameters = [
110
+ receiver,
111
+ amount,
112
+ socketMsgGasLimit,
113
+ socketConnector,
114
+ peripheryCalldata,
115
+ socketBridgeOptions,
116
+ ];
117
+ var INTERFACE = new ethers_1.Interface(common_2.Socket_VaultWithPayloadAbi);
118
+ var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
119
+ return { calldata: calldata, value: socketFees.toString(10) };
120
+ };
121
+ exports.encodeBridgeAndDepositPassivePoolV2 = encodeBridgeAndDepositPassivePoolV2;
84
122
  //# sourceMappingURL=encode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { MethodParameters, PeripheryAbi } from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport { EIP712Signature, Socket_VaultWithPayloadAbi } from '@reyaxyz/common';\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\nexport const encodeTransferFromMAToPool = (\n accountId: number,\n amount: bigint,\n sig: EIP712Signature,\n poolId: number,\n minShares: bigint,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'transferFromMAToPool';\n const parameters = [{ accountId, amount, sig, poolId, minShares, receiver }];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeTransferFromPoolToMA = (\n owner: string,\n sig: EIP712Signature,\n sharesAmount: bigint,\n poolId: number,\n minOut: bigint,\n accountId: number,\n): MethodParameters => {\n const functionSignature = 'transferFromPoolToMA';\n const parameters = [{ owner, sig, sharesAmount, poolId, minOut, accountId }];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeWithdrawPassivePoolAndBridge = (\n owner: string,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawPassivePool';\n const parameters = [\n {\n owner,\n poolId,\n sharesAmount,\n minOut,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositPassivePool = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n poolId: number,\n owner: string,\n amount: bigint,\n minShares: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = { poolId, owner, minShares };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositPassivePool((uint128,address,uint256))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n amount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { MethodParameters, PeripheryAbi } from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport { EIP712Signature, Socket_VaultWithPayloadAbi } from '@reyaxyz/common';\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\nexport const encodeTransferFromMAToPool = (\n accountId: number,\n amount: bigint,\n sig: EIP712Signature,\n poolId: number,\n minShares: bigint,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'transferFromMAToPool';\n const parameters = [{ accountId, amount, sig, poolId, minShares, receiver }];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeTransferFromPoolToMA = (\n owner: string,\n sig: EIP712Signature,\n sharesAmount: bigint,\n poolId: number,\n minOut: bigint,\n accountId: number,\n): MethodParameters => {\n const functionSignature = 'transferFromPoolToMA';\n const parameters = [{ owner, sig, sharesAmount, poolId, minOut, accountId }];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeWithdrawPassivePoolAndBridge = (\n owner: string,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawPassivePool';\n const parameters = [\n {\n owner,\n poolId,\n sharesAmount,\n minOut,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeWithdrawPassivePoolAndBridgeV2 = (\n owner: string,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n token: string,\n): MethodParameters => {\n const functionSignature = 'WithdrawPassivePoolV2';\n const parameters = [\n {\n owner,\n token,\n poolId,\n sharesAmount,\n minOut,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositPassivePool = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n poolId: number,\n owner: string,\n amount: bigint,\n minShares: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = { poolId, owner, minShares };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositPassivePool((uint128,address,uint256))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n amount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n\nexport const encodeBridgeAndDepositPassivePoolV2 = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n poolId: number,\n owner: string,\n amount: bigint,\n minShares: bigint,\n token: string,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = { poolId, owner, token, minShares };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositPassivePoolV2((uint128,address,address,uint256))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n amount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {\n LpPoolEntity,\n LpWithdrawBalanceEntity,\n MarginAccountEntity,\n MoneyInOutChainId,\n OwnerMetadataEntity,\n ReyaChainId,\n SocketDepositFees,\n TokenEntity,\n TokenName,\n} from '@reyaxyz/common';\n\nexport type ProvideLiquidityParams = {\n signer: Signer | JsonRpcSigner;\n amount: number;\n lpPoolId: LpPoolEntity['id'];\n};\n\nexport type RemoveLiquidityParams = {\n signer: Signer | JsonRpcSigner;\n lpPoolId: LpPoolEntity['id'];\n amount: number;\n};\n\nexport type ProvideLiquidityResult = {\n transactionHash: string | null;\n};\n\nexport type RemoveLiquidityResult = {\n transactionHash: string | null;\n};\n\nexport type TransferFromMAToPoolParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce' | 'address'>;\n marginAccountId: MarginAccountEntity['id'];\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n};\n\nexport type TransferFromPoolToMAParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n marginAccountId: MarginAccountEntity['id'];\n};\n\nexport type TransferFromMAToPoolResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type TransferFromPoolToMAResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type WithdrawPassivePoolAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n};\n\nexport type WithdrawPassivePoolAndBridgeResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type BridgeAndDepositPassivePoolParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n};\n\nexport type BridgeAndDepositPassivePoolResult = {\n transactionHash: string | null;\n};\n\nexport type BridgeAndDepositPassivePoolUnderAlphaTermsParams =\n BridgeAndDepositPassivePoolParams & {\n signedLink: string;\n };\n\nexport type BridgeAndDepositPassivePoolUnderAlphaTermsResult = {\n transactionHash: string | null;\n};\n\nexport type SimulateBridgeAndDepositPassivePoolResult = {\n fees: number;\n feesUnderlyingToken: TokenName;\n bridgeTimeInMS: number;\n};\n\nexport type SimulateBridgeAndDepositPassivePoolParams = {\n moneyInOutChainId: MoneyInOutChainId;\n};\n\nexport type SimulateWithdrawPassivePoolAndBridgeResult = {\n fees: number;\n feesUnderlyingToken: TokenName;\n bridgeTimeInMS: number;\n};\n\nexport type SimulateWithdrawPassivePoolAndBridgeParams = {\n reyaChainId: ReyaChainId;\n moneyInOutChainId: MoneyInOutChainId;\n tokenAddress: TokenEntity['address'];\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {\n LpPoolEntity,\n LpWithdrawBalanceEntity,\n MarginAccountEntity,\n MoneyInOutChainId,\n OwnerMetadataEntity,\n ReyaChainId,\n SocketDepositFees,\n TokenEntity,\n TokenName,\n} from '@reyaxyz/common';\n\nexport type ProvideLiquidityParams = {\n signer: Signer | JsonRpcSigner;\n amount: number;\n lpPoolId: LpPoolEntity['id'];\n};\n\nexport type RemoveLiquidityParams = {\n signer: Signer | JsonRpcSigner;\n lpPoolId: LpPoolEntity['id'];\n amount: number;\n};\n\nexport type ProvideLiquidityResult = {\n transactionHash: string | null;\n};\n\nexport type RemoveLiquidityResult = {\n transactionHash: string | null;\n};\n\nexport type TransferFromMAToPoolParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce' | 'address'>;\n marginAccountId: MarginAccountEntity['id'];\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n};\n\nexport type TransferFromPoolToMAParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n marginAccountId: MarginAccountEntity['id'];\n};\n\nexport type TransferFromMAToPoolResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type TransferFromPoolToMAResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type WithdrawPassivePoolAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n};\n\nexport type WithdrawPassivePoolAndBridgeParamsV2 = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n priceTokenToRusd: LpWithdrawBalanceEntity['balanceBreakdown'][string]['priceTokenToRusd'];\n sharesAmount: number;\n withdrawMax: boolean;\n tokenAddress: TokenEntity['address']; // address from reya chain\n};\n\nexport type WithdrawPassivePoolAndBridgeResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type BridgeAndDepositPassivePoolParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n};\n\nexport type BridgeAndDepositPassivePoolParamsV2 = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n pool: Pick<LpPoolEntity, 'id'>;\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n tokenAddress: TokenEntity['address'];\n};\n\nexport type BridgeAndDepositPassivePoolResult = {\n transactionHash: string | null;\n};\n\nexport type BridgeAndDepositPassivePoolUnderAlphaTermsParams =\n BridgeAndDepositPassivePoolParams & {\n signedLink: string;\n };\n\nexport type BridgeAndDepositPassivePoolUnderAlphaTermsResult = {\n transactionHash: string | null;\n};\n\nexport type SimulateBridgeAndDepositPassivePoolResult = {\n fees: number;\n feesUnderlyingToken: TokenName;\n bridgeTimeInMS: number;\n};\n\nexport type SimulateBridgeAndDepositPassivePoolParams = {\n moneyInOutChainId: MoneyInOutChainId;\n};\n\nexport type SimulateWithdrawPassivePoolAndBridgeResult = {\n fees: number;\n feesUnderlyingToken: TokenName;\n bridgeTimeInMS: number;\n};\n\nexport type SimulateWithdrawPassivePoolAndBridgeParams = {\n reyaChainId: ReyaChainId;\n moneyInOutChainId: MoneyInOutChainId;\n tokenAddress: TokenEntity['address'];\n};\n"]}
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
36
36
  }
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.withdrawPassivePoolAndBridge = void 0;
39
+ exports.withdrawPassivePoolAndBridgeV2 = exports.withdrawPassivePoolAndBridge = void 0;
40
40
  var encode_1 = require("./encode");
41
41
  var common_1 = require("@reyaxyz/common");
42
42
  var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
@@ -73,4 +73,36 @@ var withdrawPassivePoolAndBridge = function (params) { return __awaiter(void 0,
73
73
  });
74
74
  }); };
75
75
  exports.withdrawPassivePoolAndBridge = withdrawPassivePoolAndBridge;
76
+ var withdrawPassivePoolAndBridgeV2 = function (params) { return __awaiter(void 0, void 0, void 0, function () {
77
+ var reyaChainId, sharesAmount, socketMsgGasLimit, eip712Signature, data, result;
78
+ return __generator(this, function (_a) {
79
+ switch (_a.label) {
80
+ case 0:
81
+ reyaChainId = (0, common_1.getReyaNetworkFromMoneyInOutChainId)(params.moneyInOutChainId);
82
+ if (params.withdrawMax) {
83
+ sharesAmount = (0, common_1.scale)(30)(params.sharesAmount);
84
+ }
85
+ else {
86
+ sharesAmount = (0, common_1.scale)(30)((params.amount * params.priceTokenToRusd) / params.sharePrice);
87
+ }
88
+ socketMsgGasLimit = (0, common_1.getSocketWithdrawMsgGasLimit)({
89
+ moneyInOutChainId: params.moneyInOutChainId,
90
+ }).msgGasLimit;
91
+ return [4 /*yield*/, (0, common_1.signPoolRemoveLiquidityV2)(params.signer, reyaChainId, (0, common_1.getAddress)(reyaChainId, common_1.ContractType.PERIPHERY_PROXY), params.owner.address, params.pool.id, sharesAmount, BigInt(0), params.owner.poolSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_1.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['address', 'uint256', 'uint256'], [params.owner.address, params.moneyInOutChainId, socketMsgGasLimit]), params.tokenAddress)];
92
+ case 1:
93
+ eip712Signature = _a.sent();
94
+ data = (0, encode_1.encodeWithdrawPassivePoolAndBridgeV2)(params.owner.address, params.pool.id, sharesAmount, BigInt(0), eip712Signature, socketMsgGasLimit, params.moneyInOutChainId, params.owner.address, params.tokenAddress).calldata;
95
+ return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, reyaChainId, common_1.ContractType.PERIPHERY_PROXY, {
96
+ destinationType: 'pool',
97
+ })];
98
+ case 2:
99
+ result = _a.sent();
100
+ return [2 /*return*/, {
101
+ transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
102
+ poolSigNonce: Number(result === null || result === void 0 ? void 0 : result.poolSigNonce) || null,
103
+ }];
104
+ }
105
+ });
106
+ }); };
107
+ exports.withdrawPassivePoolAndBridgeV2 = withdrawPassivePoolAndBridgeV2;
76
108
  //# sourceMappingURL=withdrawPassivePoolAndBridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawPassivePoolAndBridge.js","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAA8D;AAC9D,0CASyB;AACzB,8EAA6E;AAC7E,iCAAgC;AAEzB,IAAM,4BAA4B,GAAG,UAC1C,MAA0C;;;;;gBAEpC,WAAW,GAAG,IAAA,4CAAmC,EACrD,MAAM,CAAC,iBAAiB,CACzB,CAAC;gBAGF,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC9D,CAAC;gBAEK,iBAAiB,GAAG,IAAA,qCAA4B,EAAC;oBACrD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;iBAC5C,CAAC,CAAC,WAAW,CAAC;gBAES,qBAAM,IAAA,gCAAuB,EACnD,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,YAAY,EACZ,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CACpE,CACF,EAAA;;gBAdK,eAAe,GAAG,SAcvB;gBAEiB,IAAI,GAAK,IAAA,2CAAkC,EAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,YAAY,EACZ,MAAM,CAAC,CAAC,CAAC,EACT,eAAe,EACf,iBAAiB,EACjB,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,SATqB,CASpB;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B;wBACE,eAAe,EAAE,MAAM;qBACxB,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AA1DW,QAAA,4BAA4B,gCA0DvC","sourcesContent":["import {\n WithdrawPassivePoolAndBridgeParams,\n WithdrawPassivePoolAndBridgeResult,\n} from './types';\nimport { encodeWithdrawPassivePoolAndBridge } from './encode';\nimport {\n getCurrentTimestampInSeconds,\n scale,\n signPoolRemoveLiquidity,\n ContractType,\n getAddress,\n BRIDGE_DEADLINE_IN_SECONDS,\n getReyaNetworkFromMoneyInOutChainId,\n getSocketWithdrawMsgGasLimit,\n} from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { ethers } from 'ethers';\n\nexport const withdrawPassivePoolAndBridge = async (\n params: WithdrawPassivePoolAndBridgeParams,\n): Promise<WithdrawPassivePoolAndBridgeResult> => {\n const reyaChainId = getReyaNetworkFromMoneyInOutChainId(\n params.moneyInOutChainId,\n );\n\n let sharesAmount;\n if (params.withdrawMax) {\n sharesAmount = scale(30)(params.sharesAmount);\n } else {\n sharesAmount = scale(30)(params.amount / params.sharePrice);\n }\n\n const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: params.moneyInOutChainId,\n }).msgGasLimit;\n\n const eip712Signature = await signPoolRemoveLiquidity(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n params.owner.poolSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [params.owner.address, params.moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data } = encodeWithdrawPassivePoolAndBridge(\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n eip712Signature,\n socketMsgGasLimit,\n params.moneyInOutChainId,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'pool',\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n poolSigNonce: Number(result?.poolSigNonce) || null,\n };\n};\n"]}
1
+ {"version":3,"file":"withdrawPassivePoolAndBridge.js","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n WithdrawPassivePoolAndBridgeParams,\n WithdrawPassivePoolAndBridgeParamsV2,\n WithdrawPassivePoolAndBridgeResult,\n} from './types';\nimport {\n encodeWithdrawPassivePoolAndBridge,\n encodeWithdrawPassivePoolAndBridgeV2,\n} from './encode';\nimport {\n getCurrentTimestampInSeconds,\n scale,\n signPoolRemoveLiquidity,\n ContractType,\n getAddress,\n BRIDGE_DEADLINE_IN_SECONDS,\n getReyaNetworkFromMoneyInOutChainId,\n getSocketWithdrawMsgGasLimit,\n signPoolRemoveLiquidityV2,\n} from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { ethers } from 'ethers';\n\nexport const withdrawPassivePoolAndBridge = async (\n params: WithdrawPassivePoolAndBridgeParams,\n): Promise<WithdrawPassivePoolAndBridgeResult> => {\n const reyaChainId = getReyaNetworkFromMoneyInOutChainId(\n params.moneyInOutChainId,\n );\n\n let sharesAmount;\n if (params.withdrawMax) {\n sharesAmount = scale(30)(params.sharesAmount);\n } else {\n sharesAmount = scale(30)(params.amount / params.sharePrice);\n }\n\n const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: params.moneyInOutChainId,\n }).msgGasLimit;\n\n const eip712Signature = await signPoolRemoveLiquidity(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n params.owner.poolSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [params.owner.address, params.moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data } = encodeWithdrawPassivePoolAndBridge(\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n eip712Signature,\n socketMsgGasLimit,\n params.moneyInOutChainId,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'pool',\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n poolSigNonce: Number(result?.poolSigNonce) || null,\n };\n};\n\nexport const withdrawPassivePoolAndBridgeV2 = async (\n params: WithdrawPassivePoolAndBridgeParamsV2,\n): Promise<WithdrawPassivePoolAndBridgeResult> => {\n const reyaChainId = getReyaNetworkFromMoneyInOutChainId(\n params.moneyInOutChainId,\n );\n\n let sharesAmount;\n if (params.withdrawMax) {\n sharesAmount = scale(30)(params.sharesAmount);\n } else {\n sharesAmount = scale(30)(\n (params.amount * params.priceTokenToRusd) / params.sharePrice,\n );\n }\n\n const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: params.moneyInOutChainId,\n }).msgGasLimit;\n\n const eip712Signature = await signPoolRemoveLiquidityV2(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n params.owner.poolSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [params.owner.address, params.moneyInOutChainId, socketMsgGasLimit],\n ),\n params.tokenAddress,\n );\n\n const { calldata: data } = encodeWithdrawPassivePoolAndBridgeV2(\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n eip712Signature,\n socketMsgGasLimit,\n params.moneyInOutChainId,\n params.owner.address,\n params.tokenAddress,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'pool',\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n poolSigNonce: Number(result?.poolSigNonce) || null,\n };\n};\n"]}
@@ -1,4 +1,5 @@
1
- import { BridgeAndDepositPassivePoolParams, BridgeAndDepositPassivePoolResult, BridgeAndDepositPassivePoolUnderAlphaTermsParams, BridgeAndDepositPassivePoolUnderAlphaTermsResult } from './types';
1
+ import { BridgeAndDepositPassivePoolParams, BridgeAndDepositPassivePoolParamsV2, BridgeAndDepositPassivePoolResult, BridgeAndDepositPassivePoolUnderAlphaTermsParams, BridgeAndDepositPassivePoolUnderAlphaTermsResult } from './types';
2
2
  export declare const bridgeAndDepositPassivePool: (params: BridgeAndDepositPassivePoolParams) => Promise<BridgeAndDepositPassivePoolResult>;
3
+ export declare const bridgeAndDepositPassivePoolV2: (params: BridgeAndDepositPassivePoolParamsV2) => Promise<BridgeAndDepositPassivePoolResult>;
3
4
  export declare const bridgeAndDepositPassivePoolUnderAlphaTerms: (params: BridgeAndDepositPassivePoolUnderAlphaTermsParams) => Promise<BridgeAndDepositPassivePoolUnderAlphaTermsResult>;
4
5
  //# sourceMappingURL=bridgeAndDepositPassivePool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bridgeAndDepositPassivePool.d.ts","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,iCAAiC,EACjC,iCAAiC,EACjC,gDAAgD,EAChD,gDAAgD,EACjD,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,2BAA2B,WAC9B,iCAAiC,KACxC,QAAQ,iCAAiC,CAwD3C,CAAC;AAEF,eAAO,MAAM,0CAA0C,WAC7C,gDAAgD,KACvD,QAAQ,gDAAgD,CAQ1D,CAAC"}
1
+ {"version":3,"file":"bridgeAndDepositPassivePool.d.ts","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,iCAAiC,EACjC,mCAAmC,EACnC,iCAAiC,EACjC,gDAAgD,EAChD,gDAAgD,EACjD,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,2BAA2B,WAC9B,iCAAiC,KACxC,QAAQ,iCAAiC,CAwD3C,CAAC;AAEF,eAAO,MAAM,6BAA6B,WAChC,mCAAmC,KAC1C,QAAQ,iCAAiC,CA2D3C,CAAC;AAEF,eAAO,MAAM,0CAA0C,WAC7C,gDAAgD,KACvD,QAAQ,gDAAgD,CAQ1D,CAAC"}
@@ -5,5 +5,7 @@ export declare const encodeRemoveLiquidityCall: (poolId: number, sharesAmount: b
5
5
  export declare const encodeTransferFromMAToPool: (accountId: number, amount: bigint, sig: EIP712Signature, poolId: number, minShares: bigint, receiver: string) => MethodParameters;
6
6
  export declare const encodeTransferFromPoolToMA: (owner: string, sig: EIP712Signature, sharesAmount: bigint, poolId: number, minOut: bigint, accountId: number) => MethodParameters;
7
7
  export declare const encodeWithdrawPassivePoolAndBridge: (owner: string, poolId: number, sharesAmount: bigint, minOut: bigint, sig: EIP712Signature, socketMsgGasLimit: bigint, chainId: number, receiver: string) => MethodParameters;
8
+ export declare const encodeWithdrawPassivePoolAndBridgeV2: (owner: string, poolId: number, sharesAmount: bigint, minOut: bigint, sig: EIP712Signature, socketMsgGasLimit: bigint, chainId: number, receiver: string, token: string) => MethodParameters;
8
9
  export declare const encodeBridgeAndDepositPassivePool: (receiver: string, socketMsgGasLimit: bigint, socketConnector: string, socketBridgeOptions: string, socketFees: bigint, poolId: number, owner: string, amount: bigint, minShares: bigint) => MethodParameters;
10
+ export declare const encodeBridgeAndDepositPassivePoolV2: (receiver: string, socketMsgGasLimit: bigint, socketConnector: string, socketBridgeOptions: string, socketFees: bigint, poolId: number, owner: string, amount: bigint, minShares: bigint, token: string) => MethodParameters;
9
11
  //# sourceMappingURL=encode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAA8B,MAAM,iBAAiB,CAAC;AAW9E,eAAO,MAAM,0BAA0B,WAC7B,MAAM,gBACA,MAAM,UACZ,MAAM,aACH,MAAM,KAChB,gBAMF,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC5B,MAAM,gBACA,MAAM,UACZ,MAAM,KACb,gBAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cAC1B,MAAM,UACT,MAAM,OACT,eAAe,UACZ,MAAM,aACH,MAAM,YACP,MAAM,KACf,gBAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAC9B,MAAM,OACR,eAAe,gBACN,MAAM,UACZ,MAAM,UACN,MAAM,aACH,MAAM,KAChB,gBAMF,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACtC,MAAM,UACL,MAAM,gBACA,MAAM,UACZ,MAAM,OACT,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,KACf,gBAiBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,aAClC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,UACV,MAAM,SACP,MAAM,UACL,MAAM,aACH,MAAM,KAChB,gBAoBF,CAAC"}
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,iBAAiB,CAAC;AAEjE,OAAO,EAAE,eAAe,EAA8B,MAAM,iBAAiB,CAAC;AAW9E,eAAO,MAAM,0BAA0B,WAC7B,MAAM,gBACA,MAAM,UACZ,MAAM,aACH,MAAM,KAChB,gBAMF,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC5B,MAAM,gBACA,MAAM,UACZ,MAAM,KACb,gBAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,cAC1B,MAAM,UACT,MAAM,OACT,eAAe,UACZ,MAAM,aACH,MAAM,YACP,MAAM,KACf,gBAMF,CAAC;AAEF,eAAO,MAAM,0BAA0B,UAC9B,MAAM,OACR,eAAe,gBACN,MAAM,UACZ,MAAM,UACN,MAAM,aACH,MAAM,KAChB,gBAMF,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACtC,MAAM,UACL,MAAM,gBACA,MAAM,UACZ,MAAM,OACT,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,KACf,gBAiBF,CAAC;AAEF,eAAO,MAAM,oCAAoC,UACxC,MAAM,UACL,MAAM,gBACA,MAAM,UACZ,MAAM,OACT,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,SACT,MAAM,KACZ,gBAkBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,aAClC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,UACV,MAAM,SACP,MAAM,UACL,MAAM,aACH,MAAM,KAChB,gBAoBF,CAAC;AAEF,eAAO,MAAM,mCAAmC,aACpC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,UACV,MAAM,SACP,MAAM,UACL,MAAM,aACH,MAAM,SACV,MAAM,KACZ,gBAoBF,CAAC"}
@@ -51,6 +51,18 @@ export type WithdrawPassivePoolAndBridgeParams = {
51
51
  sharesAmount: number;
52
52
  withdrawMax: boolean;
53
53
  };
54
+ export type WithdrawPassivePoolAndBridgeParamsV2 = {
55
+ signer: Signer | JsonRpcSigner;
56
+ moneyInOutChainId: MoneyInOutChainId;
57
+ owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;
58
+ pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;
59
+ amount: number;
60
+ sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];
61
+ priceTokenToRusd: LpWithdrawBalanceEntity['balanceBreakdown'][string]['priceTokenToRusd'];
62
+ sharesAmount: number;
63
+ withdrawMax: boolean;
64
+ tokenAddress: TokenEntity['address'];
65
+ };
54
66
  export type WithdrawPassivePoolAndBridgeResult = {
55
67
  transactionHash: string | null;
56
68
  poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;
@@ -62,6 +74,14 @@ export type BridgeAndDepositPassivePoolParams = {
62
74
  amount: number;
63
75
  socketDepositFees: SocketDepositFees['fees'];
64
76
  };
77
+ export type BridgeAndDepositPassivePoolParamsV2 = {
78
+ signer: Signer | JsonRpcSigner;
79
+ ownerAddress: OwnerMetadataEntity['address'];
80
+ pool: Pick<LpPoolEntity, 'id'>;
81
+ amount: number;
82
+ socketDepositFees: SocketDepositFees['fees'];
83
+ tokenAddress: TokenEntity['address'];
84
+ };
65
85
  export type BridgeAndDepositPassivePoolResult = {
66
86
  transactionHash: string | null;
67
87
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
- import { WithdrawPassivePoolAndBridgeParams, WithdrawPassivePoolAndBridgeResult } from './types';
1
+ import { WithdrawPassivePoolAndBridgeParams, WithdrawPassivePoolAndBridgeParamsV2, WithdrawPassivePoolAndBridgeResult } from './types';
2
2
  export declare const withdrawPassivePoolAndBridge: (params: WithdrawPassivePoolAndBridgeParams) => Promise<WithdrawPassivePoolAndBridgeResult>;
3
+ export declare const withdrawPassivePoolAndBridgeV2: (params: WithdrawPassivePoolAndBridgeParamsV2) => Promise<WithdrawPassivePoolAndBridgeResult>;
3
4
  //# sourceMappingURL=withdrawPassivePoolAndBridge.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"withdrawPassivePoolAndBridge.d.ts","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,SAAS,CAAC;AAejB,eAAO,MAAM,4BAA4B,WAC/B,kCAAkC,KACzC,QAAQ,kCAAkC,CAwD5C,CAAC"}
1
+ {"version":3,"file":"withdrawPassivePoolAndBridge.d.ts","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kCAAkC,EAClC,oCAAoC,EACpC,kCAAkC,EACnC,MAAM,SAAS,CAAC;AAmBjB,eAAO,MAAM,4BAA4B,WAC/B,kCAAkC,KACzC,QAAQ,kCAAkC,CAwD5C,CAAC;AAEF,eAAO,MAAM,8BAA8B,WACjC,oCAAoC,KAC3C,QAAQ,kCAAkC,CA4D5C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.115.0",
3
+ "version": "0.116.0",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -29,11 +29,11 @@
29
29
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
30
30
  },
31
31
  "dependencies": {
32
- "@reyaxyz/common": "0.215.0",
32
+ "@reyaxyz/common": "0.216.0",
33
33
  "axios": "^1.6.2",
34
34
  "bignumber.js": "^9.1.2",
35
35
  "ethers": "6.9.0"
36
36
  },
37
37
  "packageManager": "pnpm@8.3.1",
38
- "gitHead": "38dbec8bddffce38ae9658470df563fdd39a2f70"
38
+ "gitHead": "ce6b1165f93548c3f889f7f2ed1953898be7d501"
39
39
  }
@@ -7,12 +7,18 @@ import {
7
7
  getRUSDUnderlyingTokenInfo,
8
8
  executeTransaction,
9
9
  getReyaNetwork,
10
+ getTokenInfoByAddress,
11
+ getTokenInfoByName,
10
12
  } from '@reyaxyz/common';
11
13
  import { getAlphaTermsModuleClient, getSdkEnvironment } from '../../config';
12
14
  import { ContractType, getAddress } from '@reyaxyz/common';
13
- import { encodeBridgeAndDepositPassivePool } from './encode';
15
+ import {
16
+ encodeBridgeAndDepositPassivePool,
17
+ encodeBridgeAndDepositPassivePoolV2,
18
+ } from './encode';
14
19
  import {
15
20
  BridgeAndDepositPassivePoolParams,
21
+ BridgeAndDepositPassivePoolParamsV2,
16
22
  BridgeAndDepositPassivePoolResult,
17
23
  BridgeAndDepositPassivePoolUnderAlphaTermsParams,
18
24
  BridgeAndDepositPassivePoolUnderAlphaTermsResult,
@@ -79,6 +85,69 @@ export const bridgeAndDepositPassivePool = async (
79
85
  };
80
86
  };
81
87
 
88
+ export const bridgeAndDepositPassivePoolV2 = async (
89
+ params: BridgeAndDepositPassivePoolParamsV2,
90
+ ): Promise<BridgeAndDepositPassivePoolResult> => {
91
+ const network = await params.signer.provider?.getNetwork();
92
+ const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);
93
+
94
+ const env = getSdkEnvironment();
95
+ const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');
96
+
97
+ if (moneyInOutChainId === (chainId as unknown)) {
98
+ throw new Error('Bridging from Reya Chain to Reya Chain is not supported');
99
+ }
100
+
101
+ const tokenInfo = getTokenInfoByAddress(
102
+ params.tokenAddress,
103
+ moneyInOutChainId,
104
+ );
105
+
106
+ const amount = scale(tokenInfo.decimals)(params.amount);
107
+
108
+ const socketConnectors = getSocketConnectors({
109
+ moneyInOutChainId: moneyInOutChainId,
110
+ tokenName: tokenInfo.name,
111
+ });
112
+
113
+ const peripheryAddress = getAddress(
114
+ getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),
115
+ ContractType.PERIPHERY_PROXY,
116
+ );
117
+
118
+ const reyaTokenInfo = getTokenInfoByName(
119
+ tokenInfo.isRUSDUnderlying ? 'RUSD' : tokenInfo.name,
120
+ chainId,
121
+ );
122
+ const { calldata: data, value } = encodeBridgeAndDepositPassivePoolV2(
123
+ peripheryAddress,
124
+ BigInt('10000000'),
125
+ socketConnectors.deposit,
126
+ '0x',
127
+ params.socketDepositFees,
128
+ params.pool.id,
129
+ params.ownerAddress,
130
+ amount,
131
+ BigInt(0),
132
+ reyaTokenInfo.address,
133
+ );
134
+
135
+ const result = await executeTransaction(
136
+ params.signer,
137
+ data,
138
+ value,
139
+ moneyInOutChainId,
140
+ getSocketVault({
141
+ moneyInOutChainId: moneyInOutChainId,
142
+ tokenName: tokenInfo.name,
143
+ }),
144
+ );
145
+
146
+ return {
147
+ transactionHash: result?.hash || null,
148
+ };
149
+ };
150
+
82
151
  export const bridgeAndDepositPassivePoolUnderAlphaTerms = async (
83
152
  params: BridgeAndDepositPassivePoolUnderAlphaTermsParams,
84
153
  ): Promise<BridgeAndDepositPassivePoolUnderAlphaTermsResult> => {
@@ -94,6 +94,36 @@ export const encodeWithdrawPassivePoolAndBridge = (
94
94
  return { calldata: calldata, value: BigInt(0).toString(10) };
95
95
  };
96
96
 
97
+ export const encodeWithdrawPassivePoolAndBridgeV2 = (
98
+ owner: string,
99
+ poolId: number,
100
+ sharesAmount: bigint,
101
+ minOut: bigint,
102
+ sig: EIP712Signature,
103
+ socketMsgGasLimit: bigint,
104
+ chainId: number,
105
+ receiver: string,
106
+ token: string,
107
+ ): MethodParameters => {
108
+ const functionSignature = 'WithdrawPassivePoolV2';
109
+ const parameters = [
110
+ {
111
+ owner,
112
+ token,
113
+ poolId,
114
+ sharesAmount,
115
+ minOut,
116
+ sig,
117
+ socketMsgGasLimit,
118
+ chainId,
119
+ receiver,
120
+ },
121
+ ];
122
+ const INTERFACE = new Interface(PeripheryAbi);
123
+ const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
124
+ return { calldata: calldata, value: BigInt(0).toString(10) };
125
+ };
126
+
97
127
  export const encodeBridgeAndDepositPassivePool = (
98
128
  receiver: string,
99
129
  socketMsgGasLimit: bigint,
@@ -125,3 +155,36 @@ export const encodeBridgeAndDepositPassivePool = (
125
155
  const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
126
156
  return { calldata: calldata, value: socketFees.toString(10) };
127
157
  };
158
+
159
+ export const encodeBridgeAndDepositPassivePoolV2 = (
160
+ receiver: string,
161
+ socketMsgGasLimit: bigint,
162
+ socketConnector: string,
163
+ socketBridgeOptions: string,
164
+ socketFees: bigint,
165
+ poolId: number,
166
+ owner: string,
167
+ amount: bigint,
168
+ minShares: bigint,
169
+ token: string,
170
+ ): MethodParameters => {
171
+ const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);
172
+ const inputs = { poolId, owner, token, minShares };
173
+ const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(
174
+ 'depositPassivePoolV2((uint128,address,address,uint256))',
175
+ [inputs],
176
+ );
177
+
178
+ const functionSignature = 'bridge';
179
+ const parameters = [
180
+ receiver,
181
+ amount,
182
+ socketMsgGasLimit,
183
+ socketConnector,
184
+ peripheryCalldata,
185
+ socketBridgeOptions,
186
+ ];
187
+ const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);
188
+ const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
189
+ return { calldata: calldata, value: socketFees.toString(10) };
190
+ };
@@ -71,6 +71,19 @@ export type WithdrawPassivePoolAndBridgeParams = {
71
71
  withdrawMax: boolean;
72
72
  };
73
73
 
74
+ export type WithdrawPassivePoolAndBridgeParamsV2 = {
75
+ signer: Signer | JsonRpcSigner;
76
+ moneyInOutChainId: MoneyInOutChainId;
77
+ owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;
78
+ pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;
79
+ amount: number;
80
+ sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];
81
+ priceTokenToRusd: LpWithdrawBalanceEntity['balanceBreakdown'][string]['priceTokenToRusd'];
82
+ sharesAmount: number;
83
+ withdrawMax: boolean;
84
+ tokenAddress: TokenEntity['address']; // address from reya chain
85
+ };
86
+
74
87
  export type WithdrawPassivePoolAndBridgeResult = {
75
88
  transactionHash: string | null;
76
89
  poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;
@@ -84,6 +97,15 @@ export type BridgeAndDepositPassivePoolParams = {
84
97
  socketDepositFees: SocketDepositFees['fees'];
85
98
  };
86
99
 
100
+ export type BridgeAndDepositPassivePoolParamsV2 = {
101
+ signer: Signer | JsonRpcSigner;
102
+ ownerAddress: OwnerMetadataEntity['address'];
103
+ pool: Pick<LpPoolEntity, 'id'>;
104
+ amount: number;
105
+ socketDepositFees: SocketDepositFees['fees'];
106
+ tokenAddress: TokenEntity['address'];
107
+ };
108
+
87
109
  export type BridgeAndDepositPassivePoolResult = {
88
110
  transactionHash: string | null;
89
111
  };
@@ -1,8 +1,12 @@
1
1
  import {
2
2
  WithdrawPassivePoolAndBridgeParams,
3
+ WithdrawPassivePoolAndBridgeParamsV2,
3
4
  WithdrawPassivePoolAndBridgeResult,
4
5
  } from './types';
5
- import { encodeWithdrawPassivePoolAndBridge } from './encode';
6
+ import {
7
+ encodeWithdrawPassivePoolAndBridge,
8
+ encodeWithdrawPassivePoolAndBridgeV2,
9
+ } from './encode';
6
10
  import {
7
11
  getCurrentTimestampInSeconds,
8
12
  scale,
@@ -12,6 +16,7 @@ import {
12
16
  BRIDGE_DEADLINE_IN_SECONDS,
13
17
  getReyaNetworkFromMoneyInOutChainId,
14
18
  getSocketWithdrawMsgGasLimit,
19
+ signPoolRemoveLiquidityV2,
15
20
  } from '@reyaxyz/common';
16
21
  import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
17
22
  import { ethers } from 'ethers';
@@ -75,3 +80,67 @@ export const withdrawPassivePoolAndBridge = async (
75
80
  poolSigNonce: Number(result?.poolSigNonce) || null,
76
81
  };
77
82
  };
83
+
84
+ export const withdrawPassivePoolAndBridgeV2 = async (
85
+ params: WithdrawPassivePoolAndBridgeParamsV2,
86
+ ): Promise<WithdrawPassivePoolAndBridgeResult> => {
87
+ const reyaChainId = getReyaNetworkFromMoneyInOutChainId(
88
+ params.moneyInOutChainId,
89
+ );
90
+
91
+ let sharesAmount;
92
+ if (params.withdrawMax) {
93
+ sharesAmount = scale(30)(params.sharesAmount);
94
+ } else {
95
+ sharesAmount = scale(30)(
96
+ (params.amount * params.priceTokenToRusd) / params.sharePrice,
97
+ );
98
+ }
99
+
100
+ const socketMsgGasLimit = getSocketWithdrawMsgGasLimit({
101
+ moneyInOutChainId: params.moneyInOutChainId,
102
+ }).msgGasLimit;
103
+
104
+ const eip712Signature = await signPoolRemoveLiquidityV2(
105
+ params.signer,
106
+ reyaChainId,
107
+ getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),
108
+ params.owner.address,
109
+ params.pool.id,
110
+ sharesAmount,
111
+ BigInt(0),
112
+ params.owner.poolSigNonce + 1,
113
+ getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
114
+ ethers.AbiCoder.defaultAbiCoder().encode(
115
+ ['address', 'uint256', 'uint256'],
116
+ [params.owner.address, params.moneyInOutChainId, socketMsgGasLimit],
117
+ ),
118
+ params.tokenAddress,
119
+ );
120
+
121
+ const { calldata: data } = encodeWithdrawPassivePoolAndBridgeV2(
122
+ params.owner.address,
123
+ params.pool.id,
124
+ sharesAmount,
125
+ BigInt(0),
126
+ eip712Signature,
127
+ socketMsgGasLimit,
128
+ params.moneyInOutChainId,
129
+ params.owner.address,
130
+ params.tokenAddress,
131
+ );
132
+
133
+ const result = await signAndBroadcastTransaction(
134
+ data,
135
+ reyaChainId,
136
+ ContractType.PERIPHERY_PROXY,
137
+ {
138
+ destinationType: 'pool',
139
+ },
140
+ );
141
+
142
+ return {
143
+ transactionHash: result?.txHash || null,
144
+ poolSigNonce: Number(result?.poolSigNonce) || null,
145
+ };
146
+ };