@reyaxyz/sdk 0.114.4 → 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.
Files changed (30) hide show
  1. package/README.md +1 -1
  2. package/dist/services/lp/bridgeAndDepositPassivePool.js +37 -1
  3. package/dist/services/lp/bridgeAndDepositPassivePool.js.map +1 -1
  4. package/dist/services/lp/encode.js +39 -1
  5. package/dist/services/lp/encode.js.map +1 -1
  6. package/dist/services/lp/types.js.map +1 -1
  7. package/dist/services/lp/withdrawPassivePoolAndBridge.js +33 -1
  8. package/dist/services/lp/withdrawPassivePoolAndBridge.js.map +1 -1
  9. package/dist/services/token/getBalanceByTokenAddress.js +74 -1
  10. package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
  11. package/dist/services/token/types.js.map +1 -1
  12. package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts +2 -1
  13. package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts.map +1 -1
  14. package/dist/types/services/lp/encode.d.ts +2 -0
  15. package/dist/types/services/lp/encode.d.ts.map +1 -1
  16. package/dist/types/services/lp/types.d.ts +20 -0
  17. package/dist/types/services/lp/types.d.ts.map +1 -1
  18. package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts +2 -1
  19. package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts.map +1 -1
  20. package/dist/types/services/token/getBalanceByTokenAddress.d.ts +2 -1
  21. package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
  22. package/dist/types/services/token/types.d.ts +9 -0
  23. package/dist/types/services/token/types.d.ts.map +1 -1
  24. package/package.json +3 -3
  25. package/src/services/lp/bridgeAndDepositPassivePool.ts +70 -1
  26. package/src/services/lp/encode.ts +63 -0
  27. package/src/services/lp/types.ts +22 -0
  28. package/src/services/lp/withdrawPassivePoolAndBridge.ts +70 -1
  29. package/src/services/token/getBalanceByTokenAddress.ts +85 -0
  30. package/src/services/token/types.ts +10 -0
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-10.08%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-4.76%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-6.06%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-9.48%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"]}
@@ -47,7 +47,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
47
47
  }
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
- exports.getBalancesForBridgeMA = exports.getBalancesForBridgeLP = exports.getBalanceByTokenAddress = void 0;
50
+ exports.getBalancesForBridgeMA = exports.getBalancesForBridgeLPV2 = exports.getBalancesForBridgeLP = exports.getBalanceByTokenAddress = void 0;
51
51
  var common_1 = require("@reyaxyz/common");
52
52
  var config_1 = require("../../config");
53
53
  var getBalanceByTokenAddress = function (_a) {
@@ -122,6 +122,79 @@ var getBalancesForBridgeLP = function (_a) {
122
122
  });
123
123
  };
124
124
  exports.getBalancesForBridgeLP = getBalancesForBridgeLP;
125
+ var getBalancesForBridgeLPV2 = function (_a) {
126
+ var walletAddress = _a.walletAddress;
127
+ return __awaiter(void 0, void 0, void 0, function () {
128
+ var chains, reyaNetwork, tokenNames, balancePromises, balancesArray, balances;
129
+ return __generator(this, function (_b) {
130
+ switch (_b.label) {
131
+ case 0:
132
+ chains = (0, common_1.getMoneyInOutNetworks)((0, config_1.getSdkEnvironment)());
133
+ reyaNetwork = (0, common_1.getReyaNetwork)((0, config_1.getSdkEnvironment)());
134
+ chains.push(reyaNetwork);
135
+ tokenNames = ['RUSD', 'DEUSD', 'SDEUSD'];
136
+ balancePromises = chains.map(function (chain) { return __awaiter(void 0, void 0, void 0, function () {
137
+ var tokenBalances;
138
+ return __generator(this, function (_a) {
139
+ switch (_a.label) {
140
+ case 0: return [4 /*yield*/, Promise.all(tokenNames.map(function (tokenName) { return __awaiter(void 0, void 0, void 0, function () {
141
+ var tokenInfo, balance, error_1;
142
+ return __generator(this, function (_a) {
143
+ switch (_a.label) {
144
+ case 0:
145
+ _a.trys.push([0, 2, , 3]);
146
+ tokenInfo = chain === reyaNetwork || tokenName !== 'RUSD'
147
+ ? (0, common_1.getTokenInfoByName)(tokenName, chain)
148
+ : (0, common_1.getRUSDUnderlyingTokenInfo)(chain);
149
+ return [4 /*yield*/, (0, common_1.getERC20BalanceBatch)({
150
+ tokenAddress: tokenInfo.address,
151
+ tokenDecimals: tokenInfo.decimals,
152
+ walletAddress: walletAddress,
153
+ chain: chain,
154
+ })];
155
+ case 1:
156
+ balance = _a.sent();
157
+ return [2 /*return*/, { tokenName: tokenName, tokenInfo: tokenInfo, balance: balance }];
158
+ case 2:
159
+ error_1 = _a.sent();
160
+ // Skip this token if getTokenInfoByName throws an error
161
+ return [2 /*return*/, null];
162
+ case 3: return [2 /*return*/];
163
+ }
164
+ });
165
+ }); }))];
166
+ case 1:
167
+ tokenBalances = (_a.sent()).filter(function (tokenData) { return tokenData !== null; });
168
+ return [2 /*return*/, { chain: chain, tokenBalances: tokenBalances }];
169
+ }
170
+ });
171
+ }); });
172
+ return [4 /*yield*/, Promise.all(balancePromises)];
173
+ case 1:
174
+ balancesArray = _b.sent();
175
+ balances = balancesArray.reduce(function (acc, _a) {
176
+ var chain = _a.chain, tokenBalances = _a.tokenBalances;
177
+ if (tokenBalances.length > 0) {
178
+ acc[chain] = tokenBalances.reduce(function (tokenAcc, _a) {
179
+ var tokenName = _a.tokenName, tokenInfo = _a.tokenInfo, balance = _a.balance;
180
+ tokenAcc[tokenName] = {
181
+ tokenEntity: {
182
+ name: tokenInfo.name,
183
+ address: tokenInfo.address,
184
+ },
185
+ balance: balance,
186
+ };
187
+ return tokenAcc;
188
+ }, {});
189
+ }
190
+ return acc;
191
+ }, {});
192
+ return [2 /*return*/, balances];
193
+ }
194
+ });
195
+ });
196
+ };
197
+ exports.getBalancesForBridgeLPV2 = getBalancesForBridgeLPV2;
125
198
  var getBalancesForBridgeMA = function (_a) {
126
199
  var walletAddress = _a.walletAddress;
127
200
  return __awaiter(void 0, void 0, void 0, function () {
@@ -1 +1 @@
1
- {"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,0CAYyB;AACzB,uCAAiD;AAE1C,IAAM,wBAAwB,GAAG,UAAO,EAGd;QAF/B,MAAM,YAAA,EACN,YAAY,kBAAA;;;;;wBAEU,qBAAM,MAAM,CAAC,UAAU,EAAE,EAAA;;oBAAzC,aAAa,GAAG,SAAyB;oBACzC,SAAS,GAAG,IAAA,8BAAqB,EAAC,YAAY,CAAC,CAAC;oBAC/C,qBAAM,IAAA,wBAAe,EAAC;4BAC3B,aAAa,eAAA;4BACb,aAAa,EAAE,SAAS,CAAC,QAAQ;4BACjC,OAAO,EAAE,MAAM;4BACf,YAAY,EAAE,YAAY;yBAC3B,CAAC,EAAA;wBALF,sBAAO,SAKL,EAAC;;;;CACJ,CAAC;AAZW,QAAA,wBAAwB,4BAYnC;AACK,IAAM,sBAAsB,GAAG,UAAO,EAElB;QADzB,aAAa,mBAAA;;;;;;oBAEP,MAAM,GAAwC,IAAA,8BAAqB,EACvE,IAAA,0BAAiB,GAA2B,CAC7C,CAAC;oBAEI,WAAW,GAAgB,IAAA,uBAAc,EAC7C,IAAA,0BAAiB,GAA2B,CAC7C,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAGnB,eAAe,GAAG,MAAM,CAAC,GAAG,CAAC,UAAO,KAAK;;;;;oCACvC,SAAS,GACb,KAAK,KAAK,WAAW;wCACnB,CAAC,CAAC,IAAA,2BAAkB,EAAC,MAAM,EAAE,KAAK,CAAC;wCACnC,CAAC,CAAC,IAAA,mCAA0B,EAAC,KAAK,CAAC,CAAC;oCACxB,qBAAM,IAAA,6BAAoB,EAAC;4CACzC,YAAY,EAAE,SAAS,CAAC,OAAO;4CAC/B,aAAa,EAAE,SAAS,CAAC,QAAQ;4CACjC,aAAa,EAAE,aAAa;4CAC5B,KAAK,EAAE,KAAK;yCACb,CAAC,EAAA;;oCALI,OAAO,GAAG,SAKd;oCAEF,sBAAO,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,OAAO,SAAA,EAAE,EAAC;;;yBACtC,CAAC,CAAC;oBAEmB,qBAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAA;;oBAAlD,aAAa,GAAG,SAAkC;oBAElD,QAAQ,GAAG,aAAa,CAAC,MAAM,CAElC,UAAC,GAAG,EAAE,EAA6B;4BAA3B,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA;wBAClC,GAAG,CAAC,KAAK,CAAC,GAAG;4BACX,WAAW,EAAE;gCACX,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,OAAO,EAAE,SAAS,CAAC,OAAO;6BAC3B;4BACD,OAAO,EAAE,OAAO;yBACjB,CAAC;wBACF,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEP,sBAAO,QAAQ,EAAC;;;;CACjB,CAAC;AA7CW,QAAA,sBAAsB,0BA6CjC;AAEK,IAAM,sBAAsB,GAAG,UAAO,EAElB;QADzB,aAAa,mBAAA;;;;;;oBAEP,kBAAkB,GAAwB,IAAA,8BAAqB,EACnE,IAAA,0BAAiB,GAA2B,CAC7C,CAAC;oBAEI,eAAe,GAAG,kBAAkB;yBACvC,GAAG,CAAC,UAAC,iBAAiB;wBACrB,IAAM,UAAU,GAAG,IAAA,6BAAoB,EAAC,iBAAiB,CAAC,CAAC;wBAC3D,OAAO,UAAU,CAAC,GAAG,CAAC,UAAO,SAAS;;;;4CACpB,qBAAM,IAAA,6BAAoB,EAAC;4CACzC,YAAY,EAAE,SAAS,CAAC,OAAO;4CAC/B,aAAa,EAAE,SAAS,CAAC,QAAQ;4CACjC,aAAa,EAAE,aAAa;4CAC5B,KAAK,EAAE,iBAAiB;yCACzB,CAAC,EAAA;;wCALI,OAAO,GAAG,SAKd;wCAEF,sBAAO;gDACL,KAAK,EAAE,iBAAiB;gDACxB,SAAS,EAAE,SAAS,CAAC,IAAI;gDACzB,OAAO,EAAE,OAAO;6CACjB,EAAC;;;6BACH,CAAC,CAAC;oBACL,CAAC,CAAC;yBACD,MAAM,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAjB,CAAiB,EAAE,EAAE,CAAC,CAAC;oBAE3B,qBAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAA;;oBAAlD,aAAa,GAAG,SAAkC;oBAElD,QAAQ,GAAG,aAAa,CAAC,MAAM,CAElC,UAAC,GAAG,EAAE,EAA6B;;4BAA3B,KAAK,WAAA,EAAE,SAAS,eAAA,EAAE,OAAO,aAAA;wBAClC,GAAG,CAAC,KAAK,CAAC,yBACL,GAAG,CAAC,KAAK,CAAC,gBACZ,SAAS,IAAG,OAAO,MACrB,CAAC;wBAEF,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEP,sBAAO,QAAQ,EAAC;;;;CACjB,CAAC;AAzCW,QAAA,sBAAsB,0BAyCjC","sourcesContent":["import {\n GetBalanceByTokenAddressParams,\n GetBalancesForBridgeLPResult,\n GetBalancesForBridgeMAResult,\n LPBalanceInfo,\n MABalanceInfo,\n} from './types';\nimport {\n getERC20Balance,\n GetBalancesForBridgeArgs,\n getMoneyInOutNetworks,\n getRUSDUnderlyingTokenInfo,\n MoneyInOutChainId,\n getTokenInfosByChain,\n getERC20BalanceBatch,\n getTokenInfoByAddress,\n getReyaNetwork,\n ReyaChainId,\n getTokenInfoByName,\n} from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const getBalanceByTokenAddress = async ({\n signer,\n tokenAddress,\n}: GetBalanceByTokenAddressParams): Promise<number> => {\n const walletAddress = await signer.getAddress();\n const tokenInfo = getTokenInfoByAddress(tokenAddress);\n return await getERC20Balance({\n walletAddress,\n tokenDecimals: tokenInfo.decimals,\n subject: signer,\n tokenAddress: tokenAddress,\n });\n};\nexport const getBalancesForBridgeLP = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPResult> => {\n const chains: (MoneyInOutChainId | ReyaChainId)[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const reyaNetwork: ReyaChainId = getReyaNetwork(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n chains.push(reyaNetwork);\n\n // Use Promise.all to fetch balances for all chains in parallel\n const balancePromises = chains.map(async (chain) => {\n const tokenInfo =\n chain === reyaNetwork\n ? getTokenInfoByName('RUSD', chain)\n : getRUSDUnderlyingTokenInfo(chain);\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: chain,\n });\n\n return { chain, tokenInfo, balance };\n });\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId | ReyaChainId]?: LPBalanceInfo;\n }>((acc, { chain, tokenInfo, balance }) => {\n acc[chain] = {\n tokenEntity: {\n name: tokenInfo.name,\n address: tokenInfo.address,\n },\n balance: balance,\n };\n return acc;\n }, {});\n\n return balances;\n};\n\nexport const getBalancesForBridgeMA = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeMAResult> => {\n const moneyInOutChainIds: MoneyInOutChainId[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const balancePromises = moneyInOutChainIds\n .map((moneyInOutChainId) => {\n const tokenInfos = getTokenInfosByChain(moneyInOutChainId);\n return tokenInfos.map(async (tokenInfo) => {\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: moneyInOutChainId,\n });\n\n return {\n chain: moneyInOutChainId,\n tokenName: tokenInfo.name,\n balance: balance,\n };\n });\n })\n .reduce((acc, value) => acc.concat(value), []);\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId]?: MABalanceInfo;\n }>((acc, { chain, tokenName, balance }) => {\n acc[chain] = {\n ...acc[chain],\n [tokenName]: balance,\n };\n\n return acc;\n }, {});\n\n return balances;\n};\n"]}
1
+ {"version":3,"file":"getBalanceByTokenAddress.js","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n GetBalanceByTokenAddressParams,\n GetBalancesForBridgeLPResult,\n GetBalancesForBridgeLPV2Result,\n GetBalancesForBridgeMAResult,\n LPBalanceInfo,\n LPBalanceInfoV2,\n MABalanceInfo,\n} from './types';\nimport {\n getERC20Balance,\n GetBalancesForBridgeArgs,\n getMoneyInOutNetworks,\n getRUSDUnderlyingTokenInfo,\n MoneyInOutChainId,\n getTokenInfosByChain,\n getERC20BalanceBatch,\n getTokenInfoByAddress,\n getReyaNetwork,\n ReyaChainId,\n getTokenInfoByName,\n TokenName,\n TokenInfo,\n} from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\n\nexport const getBalanceByTokenAddress = async ({\n signer,\n tokenAddress,\n}: GetBalanceByTokenAddressParams): Promise<number> => {\n const walletAddress = await signer.getAddress();\n const tokenInfo = getTokenInfoByAddress(tokenAddress);\n return await getERC20Balance({\n walletAddress,\n tokenDecimals: tokenInfo.decimals,\n subject: signer,\n tokenAddress: tokenAddress,\n });\n};\nexport const getBalancesForBridgeLP = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPResult> => {\n const chains: (MoneyInOutChainId | ReyaChainId)[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const reyaNetwork: ReyaChainId = getReyaNetwork(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n chains.push(reyaNetwork);\n\n // Use Promise.all to fetch balances for all chains in parallel\n const balancePromises = chains.map(async (chain) => {\n const tokenInfo =\n chain === reyaNetwork\n ? getTokenInfoByName('RUSD', chain)\n : getRUSDUnderlyingTokenInfo(chain);\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: chain,\n });\n\n return { chain, tokenInfo, balance };\n });\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId | ReyaChainId]?: LPBalanceInfo;\n }>((acc, { chain, tokenInfo, balance }) => {\n acc[chain] = {\n tokenEntity: {\n name: tokenInfo.name,\n address: tokenInfo.address,\n },\n balance: balance,\n };\n return acc;\n }, {});\n\n return balances;\n};\n\nexport const getBalancesForBridgeLPV2 = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPV2Result> => {\n const chains: (MoneyInOutChainId | ReyaChainId)[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const reyaNetwork: ReyaChainId = getReyaNetwork(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n chains.push(reyaNetwork);\n\n // List of token names to include\n const tokenNames: TokenName[] = ['RUSD', 'DEUSD', 'SDEUSD'];\n\n // Use Promise.all to fetch balances for all chains in parallel\n const balancePromises = chains.map(async (chain) => {\n const tokenBalances = (\n await Promise.all(\n tokenNames.map(async (tokenName) => {\n try {\n const tokenInfo =\n chain === reyaNetwork || tokenName !== 'RUSD'\n ? getTokenInfoByName(tokenName, chain)\n : getRUSDUnderlyingTokenInfo(chain);\n\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: chain,\n });\n\n return { tokenName, tokenInfo, balance };\n } catch (error) {\n // Skip this token if getTokenInfoByName throws an error\n return null;\n }\n }),\n )\n ).filter(\n (\n tokenData,\n ): tokenData is {\n tokenName: TokenName;\n tokenInfo: TokenInfo;\n balance: number;\n } => tokenData !== null,\n ); // Filter out null values\n\n return { chain, tokenBalances };\n });\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<GetBalancesForBridgeLPV2Result>(\n (acc, { chain, tokenBalances }) => {\n if (tokenBalances.length > 0) {\n acc[chain] = tokenBalances.reduce<LPBalanceInfoV2>(\n (tokenAcc, { tokenName, tokenInfo, balance }) => {\n tokenAcc[tokenName] = {\n tokenEntity: {\n name: tokenInfo.name,\n address: tokenInfo.address,\n },\n balance: balance,\n };\n return tokenAcc;\n },\n {},\n );\n }\n return acc;\n },\n {},\n );\n\n return balances;\n};\n\nexport const getBalancesForBridgeMA = async ({\n walletAddress,\n}: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeMAResult> => {\n const moneyInOutChainIds: MoneyInOutChainId[] = getMoneyInOutNetworks(\n getSdkEnvironment() as 'production' | 'test',\n );\n\n const balancePromises = moneyInOutChainIds\n .map((moneyInOutChainId) => {\n const tokenInfos = getTokenInfosByChain(moneyInOutChainId);\n return tokenInfos.map(async (tokenInfo) => {\n const balance = await getERC20BalanceBatch({\n tokenAddress: tokenInfo.address,\n tokenDecimals: tokenInfo.decimals,\n walletAddress: walletAddress,\n chain: moneyInOutChainId,\n });\n\n return {\n chain: moneyInOutChainId,\n tokenName: tokenInfo.name,\n balance: balance,\n };\n });\n })\n .reduce((acc, value) => acc.concat(value), []);\n\n const balancesArray = await Promise.all(balancePromises);\n\n const balances = balancesArray.reduce<{\n [key in MoneyInOutChainId]?: MABalanceInfo;\n }>((acc, { chain, tokenName, balance }) => {\n acc[chain] = {\n ...acc[chain],\n [tokenName]: balance,\n };\n\n return acc;\n }, {});\n\n return balances;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAAE,CAAA;IACF,qDAAO,CAAA;IACP,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport { TokenEntity, TokenName } from '@reyaxyz/common';\n\nexport { GetBalancesForBridgeArgs } from '@reyaxyz/common';\n\nexport enum ApprovalType {\n LP,\n DEPOSIT,\n BRIDGE,\n}\n\nexport type ApproveTokenParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n amount: number;\n type: ApprovalType;\n};\n\nexport type GetAllowanceParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n type: ApprovalType;\n};\n\nexport type GetBalanceByTokenAddressParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n};\n\nexport type GetRUSDUnderlyingSignerInfoParams = {\n signer: Signer | JsonRpcSigner;\n};\n\nexport type GetRUSDUnderlyingSignerInfoResult = {\n balance: number;\n rusdUnderlying: TokenEntity;\n};\n\nexport type LPBalanceInfo = {\n tokenEntity: TokenEntity;\n balance: number;\n};\n\nexport type GetBalancesForBridgeLPResult = {\n [chainId: string]: LPBalanceInfo;\n};\n\nexport type MABalanceInfo = { [tokenName: TokenName]: number };\n\nexport type GetBalancesForBridgeMAResult = {\n [chainId: string]: MABalanceInfo;\n};\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":";;;AAKA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,2CAAE,CAAA;IACF,qDAAO,CAAA;IACP,mDAAM,CAAA;AACR,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport { TokenEntity, TokenName } from '@reyaxyz/common';\n\nexport { GetBalancesForBridgeArgs } from '@reyaxyz/common';\n\nexport enum ApprovalType {\n LP,\n DEPOSIT,\n BRIDGE,\n}\n\nexport type ApproveTokenParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n amount: number;\n type: ApprovalType;\n};\n\nexport type GetAllowanceParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n type: ApprovalType;\n};\n\nexport type GetBalanceByTokenAddressParams = {\n signer: Signer | JsonRpcSigner;\n tokenAddress: TokenEntity['address'];\n};\n\nexport type GetRUSDUnderlyingSignerInfoParams = {\n signer: Signer | JsonRpcSigner;\n};\n\nexport type GetRUSDUnderlyingSignerInfoResult = {\n balance: number;\n rusdUnderlying: TokenEntity;\n};\n\nexport type LPBalanceInfo = {\n tokenEntity: TokenEntity;\n balance: number;\n};\n\nexport type LPBalanceInfoV2 = {\n [tokenName: TokenName]: {\n tokenEntity: TokenEntity;\n balance: number;\n };\n};\n\nexport type GetBalancesForBridgeLPResult = {\n [chainId: string]: LPBalanceInfo;\n};\n\nexport type GetBalancesForBridgeLPV2Result = {\n [chainId: string]: LPBalanceInfoV2;\n};\nexport type MABalanceInfo = { [tokenName: TokenName]: number };\n\nexport type GetBalancesForBridgeMAResult = {\n [chainId: string]: MABalanceInfo;\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"}
@@ -1,6 +1,7 @@
1
- import { GetBalanceByTokenAddressParams, GetBalancesForBridgeLPResult, GetBalancesForBridgeMAResult } from './types';
1
+ import { GetBalanceByTokenAddressParams, GetBalancesForBridgeLPResult, GetBalancesForBridgeLPV2Result, GetBalancesForBridgeMAResult } from './types';
2
2
  import { GetBalancesForBridgeArgs } from '@reyaxyz/common';
3
3
  export declare const getBalanceByTokenAddress: ({ signer, tokenAddress, }: GetBalanceByTokenAddressParams) => Promise<number>;
4
4
  export declare const getBalancesForBridgeLP: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<GetBalancesForBridgeLPResult>;
5
+ export declare const getBalancesForBridgeLPV2: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<GetBalancesForBridgeLPV2Result>;
5
6
  export declare const getBalancesForBridgeMA: ({ walletAddress, }: GetBalancesForBridgeArgs) => Promise<GetBalancesForBridgeMAResult>;
6
7
  //# sourceMappingURL=getBalanceByTokenAddress.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"getBalanceByTokenAddress.d.ts","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,4BAA4B,EAG7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,wBAAwB,EAUzB,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CASjD,CAAC;AACF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CA2CjE,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CAuCjE,CAAC"}
1
+ {"version":3,"file":"getBalanceByTokenAddress.d.ts","sourceRoot":"/","sources":["services/token/getBalanceByTokenAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC5B,8BAA8B,EAC9B,4BAA4B,EAI7B,MAAM,SAAS,CAAC;AACjB,OAAO,EAEL,wBAAwB,EAYzB,MAAM,iBAAiB,CAAC;AAGzB,eAAO,MAAM,wBAAwB,8BAGlC,8BAA8B,KAAG,QAAQ,MAAM,CASjD,CAAC;AACF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CA2CjE,CAAC;AAEF,eAAO,MAAM,wBAAwB,uBAElC,wBAAwB,KAAG,QAAQ,8BAA8B,CA6EnE,CAAC;AAEF,eAAO,MAAM,sBAAsB,uBAEhC,wBAAwB,KAAG,QAAQ,4BAA4B,CAuCjE,CAAC"}
@@ -32,9 +32,18 @@ export type LPBalanceInfo = {
32
32
  tokenEntity: TokenEntity;
33
33
  balance: number;
34
34
  };
35
+ export type LPBalanceInfoV2 = {
36
+ [tokenName: TokenName]: {
37
+ tokenEntity: TokenEntity;
38
+ balance: number;
39
+ };
40
+ };
35
41
  export type GetBalancesForBridgeLPResult = {
36
42
  [chainId: string]: LPBalanceInfo;
37
43
  };
44
+ export type GetBalancesForBridgeLPV2Result = {
45
+ [chainId: string]: LPBalanceInfoV2;
46
+ };
38
47
  export type MABalanceInfo = {
39
48
  [tokenName: TokenName]: number;
40
49
  };
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oBAAY,YAAY;IACtB,EAAE,IAAA;IACF,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/token/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,oBAAY,YAAY;IACtB,EAAE,IAAA;IACF,OAAO,IAAA;IACP,MAAM,IAAA;CACP;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,WAAW,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,SAAS,EAAE,SAAS,GAAG;QACtB,WAAW,EAAE,WAAW,CAAC;QACzB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAC;CACpC,CAAC;AACF,MAAM,MAAM,aAAa,GAAG;IAAE,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,4BAA4B,GAAG;IACzC,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.114.4",
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": "fa7628f667be60b09a7b7f23225ebc1056801bb4"
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
+ };
@@ -1,8 +1,10 @@
1
1
  import {
2
2
  GetBalanceByTokenAddressParams,
3
3
  GetBalancesForBridgeLPResult,
4
+ GetBalancesForBridgeLPV2Result,
4
5
  GetBalancesForBridgeMAResult,
5
6
  LPBalanceInfo,
7
+ LPBalanceInfoV2,
6
8
  MABalanceInfo,
7
9
  } from './types';
8
10
  import {
@@ -17,6 +19,8 @@ import {
17
19
  getReyaNetwork,
18
20
  ReyaChainId,
19
21
  getTokenInfoByName,
22
+ TokenName,
23
+ TokenInfo,
20
24
  } from '@reyaxyz/common';
21
25
  import { getSdkEnvironment } from '../../config';
22
26
 
@@ -80,6 +84,87 @@ export const getBalancesForBridgeLP = async ({
80
84
  return balances;
81
85
  };
82
86
 
87
+ export const getBalancesForBridgeLPV2 = async ({
88
+ walletAddress,
89
+ }: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeLPV2Result> => {
90
+ const chains: (MoneyInOutChainId | ReyaChainId)[] = getMoneyInOutNetworks(
91
+ getSdkEnvironment() as 'production' | 'test',
92
+ );
93
+
94
+ const reyaNetwork: ReyaChainId = getReyaNetwork(
95
+ getSdkEnvironment() as 'production' | 'test',
96
+ );
97
+
98
+ chains.push(reyaNetwork);
99
+
100
+ // List of token names to include
101
+ const tokenNames: TokenName[] = ['RUSD', 'DEUSD', 'SDEUSD'];
102
+
103
+ // Use Promise.all to fetch balances for all chains in parallel
104
+ const balancePromises = chains.map(async (chain) => {
105
+ const tokenBalances = (
106
+ await Promise.all(
107
+ tokenNames.map(async (tokenName) => {
108
+ try {
109
+ const tokenInfo =
110
+ chain === reyaNetwork || tokenName !== 'RUSD'
111
+ ? getTokenInfoByName(tokenName, chain)
112
+ : getRUSDUnderlyingTokenInfo(chain);
113
+
114
+ const balance = await getERC20BalanceBatch({
115
+ tokenAddress: tokenInfo.address,
116
+ tokenDecimals: tokenInfo.decimals,
117
+ walletAddress: walletAddress,
118
+ chain: chain,
119
+ });
120
+
121
+ return { tokenName, tokenInfo, balance };
122
+ } catch (error) {
123
+ // Skip this token if getTokenInfoByName throws an error
124
+ return null;
125
+ }
126
+ }),
127
+ )
128
+ ).filter(
129
+ (
130
+ tokenData,
131
+ ): tokenData is {
132
+ tokenName: TokenName;
133
+ tokenInfo: TokenInfo;
134
+ balance: number;
135
+ } => tokenData !== null,
136
+ ); // Filter out null values
137
+
138
+ return { chain, tokenBalances };
139
+ });
140
+
141
+ const balancesArray = await Promise.all(balancePromises);
142
+
143
+ const balances = balancesArray.reduce<GetBalancesForBridgeLPV2Result>(
144
+ (acc, { chain, tokenBalances }) => {
145
+ if (tokenBalances.length > 0) {
146
+ acc[chain] = tokenBalances.reduce<LPBalanceInfoV2>(
147
+ (tokenAcc, { tokenName, tokenInfo, balance }) => {
148
+ tokenAcc[tokenName] = {
149
+ tokenEntity: {
150
+ name: tokenInfo.name,
151
+ address: tokenInfo.address,
152
+ },
153
+ balance: balance,
154
+ };
155
+ return tokenAcc;
156
+ },
157
+ {},
158
+ );
159
+ }
160
+ return acc;
161
+ },
162
+ {},
163
+ );
164
+
165
+ return balances;
166
+ };
167
+
83
168
  export const getBalancesForBridgeMA = async ({
84
169
  walletAddress,
85
170
  }: GetBalancesForBridgeArgs): Promise<GetBalancesForBridgeMAResult> => {
@@ -41,10 +41,20 @@ export type LPBalanceInfo = {
41
41
  balance: number;
42
42
  };
43
43
 
44
+ export type LPBalanceInfoV2 = {
45
+ [tokenName: TokenName]: {
46
+ tokenEntity: TokenEntity;
47
+ balance: number;
48
+ };
49
+ };
50
+
44
51
  export type GetBalancesForBridgeLPResult = {
45
52
  [chainId: string]: LPBalanceInfo;
46
53
  };
47
54
 
55
+ export type GetBalancesForBridgeLPV2Result = {
56
+ [chainId: string]: LPBalanceInfoV2;
57
+ };
48
58
  export type MABalanceInfo = { [tokenName: TokenName]: number };
49
59
 
50
60
  export type GetBalancesForBridgeMAResult = {