@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.
- package/README.md +1 -1
- package/dist/services/lp/bridgeAndDepositPassivePool.js +37 -1
- package/dist/services/lp/bridgeAndDepositPassivePool.js.map +1 -1
- package/dist/services/lp/encode.js +39 -1
- package/dist/services/lp/encode.js.map +1 -1
- package/dist/services/lp/types.js.map +1 -1
- package/dist/services/lp/withdrawPassivePoolAndBridge.js +33 -1
- package/dist/services/lp/withdrawPassivePoolAndBridge.js.map +1 -1
- package/dist/services/token/getBalanceByTokenAddress.js +74 -1
- package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
- package/dist/services/token/types.js.map +1 -1
- package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts +2 -1
- package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts.map +1 -1
- package/dist/types/services/lp/encode.d.ts +2 -0
- package/dist/types/services/lp/encode.d.ts.map +1 -1
- package/dist/types/services/lp/types.d.ts +20 -0
- package/dist/types/services/lp/types.d.ts.map +1 -1
- package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts +2 -1
- package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts.map +1 -1
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts +2 -1
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
- package/dist/types/services/token/types.d.ts +9 -0
- package/dist/types/services/token/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/services/lp/bridgeAndDepositPassivePool.ts +70 -1
- package/src/services/lp/encode.ts +63 -0
- package/src/services/lp/types.ts +22 -0
- package/src/services/lp/withdrawPassivePoolAndBridge.ts +70 -1
- package/src/services/token/getBalanceByTokenAddress.ts +85 -0
- 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
|
-
|  |  |  |  |
|
|
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,
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAWyB;AACzB,uCAA4E;AAC5E,0CAA2D;AAC3D,mCAGkB;AAQlB,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,6BAA6B,GAAG,UAC3C,MAA2C;;;;;oBAE3B,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,IAAI,iBAAiB,KAAM,OAAmB,EAAE,CAAC;oBAC/C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBAEK,SAAS,GAAG,IAAA,8BAAqB,EACrC,MAAM,CAAC,YAAY,EACnB,iBAAiB,CAClB,CAAC;gBAEI,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,aAAa,GAAG,IAAA,2BAAkB,EACtC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EACpD,OAAO,CACR,CAAC;gBACI,KAA4B,IAAA,4CAAmC,EACnE,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,EACT,aAAa,CAAC,OAAO,CACtB,EAXiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAW3B;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;AA7DW,QAAA,6BAA6B,iCA6DxC;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 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":";;;AAAA,0CAAiE;AACjE,iCAAmC;AACnC,0CAA8E;AAE9E,mBAAmB;AACnB,IAAM,mBAAmB,GAAG;IAC1B,2GAA2G;CAC5G,CAAC;AAEF,mBAAmB;AACnB,IAAM,kBAAkB,GAAG;IACzB,kGAAkG;CACnG,CAAC;AACK,IAAM,0BAA0B,GAAG,UACxC,MAAc,EACd,YAAoB,EACpB,MAAc,EACd,SAAiB;IAEjB,IAAM,iBAAiB,GAAG,cAAc,CAAC;IACzC,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7D,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAXW,QAAA,0BAA0B,8BAWrC;AAEK,IAAM,yBAAyB,GAAG,UACvC,MAAc,EACd,YAAoB,EACpB,MAAc;IAEd,IAAM,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,IAAM,UAAU,GAAG,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IAClD,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,kBAAkB,CAAC,CAAC;IACpD,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAVW,QAAA,yBAAyB,6BAUpC;AAEK,IAAM,0BAA0B,GAAG,UACxC,SAAiB,EACjB,MAAc,EACd,GAAoB,EACpB,MAAc,EACd,SAAiB,EACjB,QAAgB;IAEhB,IAAM,iBAAiB,GAAG,sBAAsB,CAAC;IACjD,IAAM,UAAU,GAAG,CAAC,EAAE,SAAS,WAAA,EAAE,MAAM,QAAA,EAAE,GAAG,KAAA,EAAE,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,QAAQ,UAAA,EAAE,CAAC,CAAC;IAC7E,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAbW,QAAA,0BAA0B,8BAarC;AAEK,IAAM,0BAA0B,GAAG,UACxC,KAAa,EACb,GAAoB,EACpB,YAAoB,EACpB,MAAc,EACd,MAAc,EACd,SAAiB;IAEjB,IAAM,iBAAiB,GAAG,sBAAsB,CAAC;IACjD,IAAM,UAAU,GAAG,CAAC,EAAE,KAAK,OAAA,EAAE,GAAG,KAAA,EAAE,YAAY,cAAA,EAAE,MAAM,QAAA,EAAE,MAAM,QAAA,EAAE,SAAS,WAAA,EAAE,CAAC,CAAC;IAC7E,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAbW,QAAA,0BAA0B,8BAarC;AAEK,IAAM,kCAAkC,GAAG,UAChD,KAAa,EACb,MAAc,EACd,YAAoB,EACpB,MAAc,EACd,GAAoB,EACpB,iBAAyB,EACzB,OAAe,EACf,QAAgB;IAEhB,IAAM,iBAAiB,GAAG,qBAAqB,CAAC;IAChD,IAAM,UAAU,GAAG;QACjB;YACE,KAAK,OAAA;YACL,MAAM,QAAA;YACN,YAAY,cAAA;YACZ,MAAM,QAAA;YACN,GAAG,KAAA;YACH,iBAAiB,mBAAA;YACjB,OAAO,SAAA;YACP,QAAQ,UAAA;SACT;KACF,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AA1BW,QAAA,kCAAkC,sCA0B7C;AAEK,IAAM,iCAAiC,GAAG,UAC/C,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,mBAA2B,EAC3B,UAAkB,EAClB,MAAc,EACd,KAAa,EACb,MAAc,EACd,SAAiB;IAEjB,IAAM,mBAAmB,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IACxD,IAAM,MAAM,GAAG,EAAE,MAAM,QAAA,EAAE,KAAK,OAAA,EAAE,SAAS,WAAA,EAAE,CAAC;IAC5C,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAC9D,+CAA+C,EAC/C,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,iBAAiB,GAAG,QAAQ,CAAC;IACnC,IAAM,UAAU,GAAG;QACjB,QAAQ;QACR,MAAM;QACN,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mCAA0B,CAAC,CAAC;IAC5D,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AA9BW,QAAA,iCAAiC,qCA8B5C","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"withdrawPassivePoolAndBridge.js","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,mCAGkB;AAClB,0CAUyB;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;AAEK,IAAM,8BAA8B,GAAG,UAC5C,MAA4C;;;;;gBAEtC,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,CACtB,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,MAAM,CAAC,UAAU,CAC9D,CAAC;gBACJ,CAAC;gBAEK,iBAAiB,GAAG,IAAA,qCAA4B,EAAC;oBACrD,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;iBAC5C,CAAC,CAAC,WAAW,CAAC;gBAES,qBAAM,IAAA,kCAAyB,EACrD,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,EACD,MAAM,CAAC,YAAY,CACpB,EAAA;;gBAfK,eAAe,GAAG,SAevB;gBAEiB,IAAI,GAAK,IAAA,6CAAoC,EAC7D,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,EACpB,MAAM,CAAC,YAAY,CACpB,SAVqB,CAUpB;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;AA9DW,QAAA,8BAA8B,kCA8DzC","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":"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","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":"
|
|
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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,WAAW,EACX,SAAS,EACV,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,GAAG,SAAS,CAAC,CAAC;IAC7D,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;CAC5C,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;IACtD,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,cAAc,CAAC,CAAC;IAChD,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAC9C,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,gDAAgD,GAC1D,iCAAiC,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEJ,MAAM,MAAM,gDAAgD,GAAG;IAC7D,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,SAAS,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,yCAAyC,GAAG;IACtD,iBAAiB,EAAE,iBAAiB,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB,EAAE,SAAS,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,0CAA0C,GAAG;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACtC,CAAC"}
|
|
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;
|
|
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,
|
|
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.
|
|
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.
|
|
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": "
|
|
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 {
|
|
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
|
+
};
|
package/src/services/lp/types.ts
CHANGED
|
@@ -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 {
|
|
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 = {
|