@reyaxyz/sdk 0.18.6 → 0.20.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/dist/services/executeTransaction.js.map +1 -1
- package/dist/services/lp/bridgeAndDepositPassivePool.js +14 -22
- package/dist/services/lp/bridgeAndDepositPassivePool.js.map +1 -1
- package/dist/services/lp/transferFromMAToPool.js +7 -5
- package/dist/services/lp/transferFromMAToPool.js.map +1 -1
- package/dist/services/lp/types.js.map +1 -1
- package/dist/services/lp/withdrawPassivePoolAndBridge.js +9 -6
- package/dist/services/lp/withdrawPassivePoolAndBridge.js.map +1 -1
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js +2 -1
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js.map +1 -1
- package/dist/services/margin-accounts/bridgeAndDepositNewMA.js +12 -19
- package/dist/services/margin-accounts/bridgeAndDepositNewMA.js.map +1 -1
- package/dist/services/margin-accounts/types.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +4 -3
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
- package/dist/types/services/executeTransaction.d.ts.map +1 -1
- package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -1
- package/dist/types/services/lp/types.d.ts +10 -18
- package/dist/types/services/lp/types.d.ts.map +1 -1
- package/dist/types/services/lp/withdrawPassivePoolAndBridge.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/bridgeAndDepositExistingMA.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/types.d.ts +4 -6
- package/dist/types/services/margin-accounts/types.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
- package/dist/types/utils/consts.d.ts +2 -0
- package/dist/types/utils/consts.d.ts.map +1 -0
- package/dist/utils/consts.js +5 -0
- package/dist/utils/consts.js.map +1 -0
- package/package.json +3 -3
- package/src/services/executeTransaction.ts +1 -0
- package/src/services/lp/bridgeAndDepositPassivePool.ts +7 -7
- package/src/services/lp/transferFromMAToPool.ts +8 -6
- package/src/services/lp/types.ts +15 -18
- package/src/services/lp/withdrawPassivePoolAndBridge.ts +24 -14
- package/src/services/margin-accounts/bridgeAndDepositExistingMA.ts +8 -3
- package/src/services/margin-accounts/bridgeAndDepositNewMA.ts +1 -1
- package/src/services/margin-accounts/types.ts +9 -7
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +10 -5
- package/src/utils/consts.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTransaction.js","sourceRoot":"/","sources":["services/executeTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAAsE;AAStE,SAAsB,WAAW,CAC/B,MAA8B,EAC9B,IAAY,EACZ,KAAa,EACb,OAAe,EACf,cAAqC;;;;;wBAEd,qBAAM,MAAM,CAAC,UAAU,EAAE,EAAA;;oBAA1C,cAAc,GAAG,SAAyB;oBAC1C,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAY,CAAC,CAAC,QAAQ,CAC1D,cAA8B,CAC/B;wBACC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,cAA8B,CAAC;wBACrD,CAAC,CAAC,cAAc,CAAC;oBACb,EAAE,cACN,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,MAAA,IACD,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;oBAEI,QAAQ,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3C,4CAAY,EAAE,KAAE,QAAQ,UAAA,KAAG;;;;CAC5B;AAtBD,kCAsBC;AAED,SAAsB,kBAAkB,CACtC,MAA8B,EAC9B,IAAY,EACZ,KAAa,EACb,OAAe,EACf,cAAqC;;;;;wBAEtB,qBAAM,WAAW,CAC9B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,cAAc,CACf,EAAA;;oBANK,MAAM,GAAG,SAMd;;;;
|
|
1
|
+
{"version":3,"file":"executeTransaction.js","sourceRoot":"/","sources":["services/executeTransaction.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,gEAAsE;AAStE,SAAsB,WAAW,CAC/B,MAA8B,EAC9B,IAAY,EACZ,KAAa,EACb,OAAe,EACf,cAAqC;;;;;wBAEd,qBAAM,MAAM,CAAC,UAAU,EAAE,EAAA;;oBAA1C,cAAc,GAAG,SAAyB;oBAC1C,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,gCAAY,CAAC,CAAC,QAAQ,CAC1D,cAA8B,CAC/B;wBACC,CAAC,CAAC,IAAA,8BAAU,EAAC,OAAO,EAAE,cAA8B,CAAC;wBACrD,CAAC,CAAC,cAAc,CAAC;oBACb,EAAE,cACN,IAAI,EAAE,cAAc,EACpB,EAAE,EAAE,eAAe,EACnB,IAAI,MAAA,IACD,CAAC,KAAK,IAAI,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACpD,CAAC;oBAEI,QAAQ,GAAW,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC3C,4CAAY,EAAE,KAAE,QAAQ,UAAA,KAAG;;;;CAC5B;AAtBD,kCAsBC;AAED,SAAsB,kBAAkB,CACtC,MAA8B,EAC9B,IAAY,EACZ,KAAa,EACb,OAAe,EACf,cAAqC;;;;;wBAEtB,qBAAM,WAAW,CAC9B,MAAM,EACN,IAAI,EACJ,KAAK,EACL,OAAO,EACP,cAAc,CACf,EAAA;;oBANK,MAAM,GAAG,SAMd;;;;oBAGoB,qBAAM,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,EAAA;;oBAAjD,UAAU,GAAG,SAAoC;oBACrC,qBAAM,UAAU,CAAC,IAAI,EAAE,EAAA;;oBAAnC,SAAS,GAAG,SAAuB;oBACzC,sBAAO,SAAS,EAAC;;;oBAEjB,OAAO,CAAC,IAAI,CAAC,OAAK,CAAC,CAAC;oBACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;;;;;CAElD;AAvBD,gDAuBC","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport { ContractType, getAddress } from '../utils/contractAddresses';\n\nexport type Transaction = {\n from: string;\n to: string;\n data: string;\n value?: string;\n};\n\nexport async function estimateGas(\n signer: Signer | JsonRpcSigner,\n data: string,\n value: string,\n chainId: number,\n targetContract: ContractType | string,\n): Promise<Transaction & { gasLimit: bigint }> {\n const accountAddress = await signer.getAddress();\n const contractAddress = Object.values(ContractType).includes(\n targetContract as ContractType,\n )\n ? getAddress(chainId, targetContract as ContractType)\n : targetContract;\n const tx = {\n from: accountAddress,\n to: contractAddress,\n data,\n ...(value && value !== '0' ? { value: value } : {}),\n };\n\n const gasLimit: bigint = BigInt('5000000'); // hardcode to 5m gas limit\n return { ...tx, gasLimit };\n}\n\nexport async function executeTransaction(\n signer: Signer | JsonRpcSigner,\n data: string,\n value: string,\n chainId: number,\n targetContract: ContractType | string,\n) {\n const txData = await estimateGas(\n signer,\n data,\n value,\n chainId,\n targetContract,\n );\n\n try {\n const txResponse = await signer.sendTransaction(txData);\n const txReceipt = await txResponse.wait();\n return txReceipt;\n } catch (error) {\n console.warn(error);\n throw new Error('Transaction Execution Error');\n }\n}\n"]}
|
|
@@ -43,34 +43,26 @@ var executeTransaction_1 = require("../executeTransaction");
|
|
|
43
43
|
var common_2 = require("../token/common");
|
|
44
44
|
var encode_1 = require("./encode");
|
|
45
45
|
var bridgeAndDepositPassivePool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var network, chainId, tokenDecimals, amount, _a, data, value,
|
|
47
|
-
var
|
|
48
|
-
return __generator(this, function (
|
|
49
|
-
switch (
|
|
50
|
-
case 0: return [4 /*yield*/, ((
|
|
46
|
+
var network, chainId, tokenDecimals, amount, _a, data, value, result;
|
|
47
|
+
var _b;
|
|
48
|
+
return __generator(this, function (_c) {
|
|
49
|
+
switch (_c.label) {
|
|
50
|
+
case 0: return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
|
|
51
51
|
case 1:
|
|
52
|
-
network =
|
|
52
|
+
network = _c.sent();
|
|
53
53
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
54
|
-
tokenDecimals = (0, common_2.getTokenDetails)(params.
|
|
54
|
+
tokenDecimals = (0, common_2.getTokenDetails)(params.pool.token).tokenDecimals;
|
|
55
55
|
amount = (0, common_2.scale)(tokenDecimals)(params.amount);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
chainId: chainId,
|
|
61
|
-
tokenAddress: params.poolTokenAddress,
|
|
62
|
-
}),
|
|
63
|
-
params.poolId];
|
|
64
|
-
return [4 /*yield*/, params.signer.getAddress()];
|
|
65
|
-
case 2:
|
|
66
|
-
_a = _b.apply(void 0, _c.concat([_e.sent(), amount,
|
|
67
|
-
params.minShares])), data = _a.calldata, value = _a.value;
|
|
56
|
+
_a = (0, encode_1.encodeBridgeAndDepositPassivePool)((0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), BigInt('10000000'), (0, common_1.getSocketConnector)({
|
|
57
|
+
chainId: chainId,
|
|
58
|
+
tokenAddress: params.pool.token.toLowerCase(),
|
|
59
|
+
}), params.pool.id, params.ownerAddress, amount, BigInt(0)), data = _a.calldata, value = _a.value;
|
|
68
60
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, (0, common_1.getSocketVault)({
|
|
69
61
|
moneyInOutChainId: chainId,
|
|
70
|
-
tokenAddress: params.
|
|
62
|
+
tokenAddress: params.pool.token.toLowerCase(),
|
|
71
63
|
}))];
|
|
72
|
-
case
|
|
73
|
-
result =
|
|
64
|
+
case 2:
|
|
65
|
+
result = _c.sent();
|
|
74
66
|
return [2 /*return*/, {
|
|
75
67
|
transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
|
|
76
68
|
}];
|
|
@@ -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,0CAA8E;AAC9E,mEAAyE;AACzE,4DAA2D;AAC3D,0CAAyD;AACzD,mCAA6D;AAMtD,IAAM,2BAA2B,GAAG,UACzC,MAAyC;;;;;oBAEzB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEjC,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAvC,CAAwC;gBACvD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,KAA4B,IAAA,0CAAiC,EACjE,IAAA,8BAAU,EAAC,OAAO,EAAE,gCAAY,CAAC,eAAe,CAAC,EACjD,MAAM,CAAC,UAAU,CAAC,EAClB,IAAA,2BAAkB,EAAC;oBACjB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAa;iBACzD,CAAC,EACF,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,CACV,EAXiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAW3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,OAAO;wBAC1B,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAa;qBACzD,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;AApCW,QAAA,2BAA2B,+BAoCtC","sourcesContent":["import { Address, getSocketConnector, getSocketVault } from '@reyaxyz/common';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { getTokenDetails, scale } from '../token/common';\nimport { encodeBridgeAndDepositPassivePool } from './encode';\nimport {\n BridgeAndDepositPassivePoolParams,\n BridgeAndDepositPassivePoolResult,\n} from './types';\n\nexport const bridgeAndDepositPassivePool = async (\n params: BridgeAndDepositPassivePoolParams,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const { tokenDecimals } = getTokenDetails(params.pool.token);\n const amount = scale(tokenDecimals)(params.amount);\n\n const { calldata: data, value } = encodeBridgeAndDepositPassivePool(\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n BigInt('10000000'),\n getSocketConnector({\n chainId: chainId,\n tokenAddress: params.pool.token.toLowerCase() as Address,\n }),\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 chainId,\n getSocketVault({\n moneyInOutChainId: chainId,\n tokenAddress: params.pool.token.toLowerCase() as Address,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -37,11 +37,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.transferFromMAToPool = void 0;
|
|
40
|
+
var common_1 = require("@reyaxyz/common");
|
|
40
41
|
var contractAddresses_1 = require("../../utils/contractAddresses");
|
|
41
42
|
var executeTransaction_1 = require("../executeTransaction");
|
|
42
43
|
var sign_1 = require("../sign");
|
|
43
|
-
var
|
|
44
|
+
var common_2 = require("../token/common");
|
|
44
45
|
var encode_1 = require("./encode");
|
|
46
|
+
var consts_1 = require("../../utils/consts");
|
|
45
47
|
var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
48
|
var network, chainId, eip712Signature, tokenDecimals, amount, _a, data, value, result;
|
|
47
49
|
var _b;
|
|
@@ -51,12 +53,12 @@ var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0,
|
|
|
51
53
|
case 1:
|
|
52
54
|
network = _c.sent();
|
|
53
55
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
54
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.
|
|
56
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.owner.coreSigNonce, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS)];
|
|
55
57
|
case 2:
|
|
56
58
|
eip712Signature = _c.sent();
|
|
57
|
-
tokenDecimals = (0,
|
|
58
|
-
amount = (0,
|
|
59
|
-
_a = (0, encode_1.encodeTransferFromMAToPool)(params.accountId, amount, eip712Signature, params.
|
|
59
|
+
tokenDecimals = (0, common_2.getTokenDetails)(params.pool.token).tokenDecimals;
|
|
60
|
+
amount = (0, common_2.scale)(tokenDecimals)(params.amount);
|
|
61
|
+
_a = (0, encode_1.encodeTransferFromMAToPool)(params.accountId, amount, eip712Signature, params.pool.id, params.owner.address, BigInt(0)), data = _a.calldata, value = _a.value;
|
|
60
62
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY)];
|
|
61
63
|
case 3:
|
|
62
64
|
result = _c.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA6D;AAC7D,4DAA2D;AAC3D,gCAA2C;AAC3C,0CAAyD;AACzD,mCAAsD;
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA+D;AAC/D,mEAA6D;AAC7D,4DAA2D;AAC3D,gCAA2C;AAC3C,0CAAyD;AACzD,mCAAsD;AAKtD,6CAAgE;AAEzD,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;oBAElB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEjB,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,CAC5D,EAAA;;gBANK,eAAe,GAAG,SAMvB;gBAEO,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAvC,CAAwC;gBACvD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,KAA4B,IAAA,mCAA0B,EAC1D,MAAM,CAAC,SAAS,EAChB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,CAAC,CAAC,CACV,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gCAAY,CAAC,eAAe,CAC7B,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AArCW,QAAA,oBAAoB,wBAqC/B","sourcesContent":["import { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { ContractType } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { signCoreCommands } from '../sign';\nimport { getTokenDetails, scale } from '../token/common';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const eip712Signature = await signCoreCommands(\n params.signer,\n chainId,\n params.accountId,\n params.owner.coreSigNonce,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n );\n\n const { tokenDecimals } = getTokenDetails(params.pool.token);\n const amount = scale(tokenDecimals)(params.amount);\n\n const { calldata: data, value } = encodeTransferFromMAToPool(\n params.accountId,\n amount,\n eip712Signature,\n params.pool.id,\n params.owner.address,\n BigInt(0),\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\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 {
|
|
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 OwnerMetadataEntity,\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, 'address' | 'coreSigNonce'>;\n accountId: MarginAccountEntity['id'];\n pool: Pick<LpPoolEntity, 'id' | 'token'>;\n amount: number;\n};\n\nexport type TransferFromMAToPoolResult = {\n transactionHash: string | null;\n};\n\nexport type WithdrawPassivePoolAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'token'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n};\n\nexport type WithdrawPassivePoolAndBridgeResult = {\n transactionHash: string | null;\n};\n\nexport type BridgeAndDepositPassivePoolParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n pool: Pick<LpPoolEntity, 'id' | 'token'>;\n amount: number;\n};\n\nexport type BridgeAndDepositPassivePoolResult = {\n transactionHash: string | null;\n};\n"]}
|
|
@@ -42,8 +42,10 @@ var executeTransaction_1 = require("../executeTransaction");
|
|
|
42
42
|
var sign_1 = require("../sign");
|
|
43
43
|
var encode_1 = require("./encode");
|
|
44
44
|
var common_1 = require("@reyaxyz/common");
|
|
45
|
+
var consts_1 = require("../../utils/consts");
|
|
46
|
+
var common_2 = require("../token/common");
|
|
45
47
|
var withdrawPassivePoolAndBridge = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var network, chainId, eip712Signature, _a, data, value, result;
|
|
48
|
+
var network, chainId, sharesAmount, eip712Signature, _a, data, value, result;
|
|
47
49
|
var _b;
|
|
48
50
|
return __generator(this, function (_c) {
|
|
49
51
|
switch (_c.label) {
|
|
@@ -51,17 +53,18 @@ var withdrawPassivePoolAndBridge = function (params) { return __awaiter(void 0,
|
|
|
51
53
|
case 1:
|
|
52
54
|
network = _c.sent();
|
|
53
55
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
54
|
-
|
|
56
|
+
sharesAmount = (0, common_2.scale)(30)(params.amount * params.sharePrice);
|
|
57
|
+
return [4 /*yield*/, (0, sign_1.signPoolRemoveLiquidity)(params.signer, chainId, params.owner.address, params.pool.id, sharesAmount, BigInt(0), params.owner.poolSigNonce, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS)];
|
|
55
58
|
case 2:
|
|
56
59
|
eip712Signature = _c.sent();
|
|
57
|
-
_a = (0, encode_1.encodeWithdrawPassivePoolAndBridge)(params.
|
|
60
|
+
_a = (0, encode_1.encodeWithdrawPassivePoolAndBridge)(params.owner.address, params.pool.id, sharesAmount, BigInt(0), eip712Signature, BigInt('10000000'), //todo
|
|
58
61
|
(0, common_1.getSocketConnector)({
|
|
59
62
|
chainId: chainId,
|
|
60
|
-
tokenAddress: params.
|
|
63
|
+
tokenAddress: params.pool.token.toLowerCase(),
|
|
61
64
|
}), (0, common_1.getSocketController)({
|
|
62
65
|
reyaChainId: chainId,
|
|
63
|
-
tokenAddress: params.
|
|
64
|
-
}), params.
|
|
66
|
+
tokenAddress: params.pool.token.toLowerCase(),
|
|
67
|
+
}), params.owner.address), data = _a.calldata, value = _a.value;
|
|
65
68
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY)];
|
|
66
69
|
case 3:
|
|
67
70
|
result = _c.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawPassivePoolAndBridge.js","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA6D;AAC7D,4DAA2D;AAC3D,gCAAkD;AAKlD,mCAA8D;AAC9D,
|
|
1
|
+
{"version":3,"file":"withdrawPassivePoolAndBridge.js","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mEAA6D;AAC7D,4DAA2D;AAC3D,gCAAkD;AAKlD,mCAA8D;AAC9D,0CAKyB;AACzB,6CAAgE;AAChE,0CAAwC;AAEjC,IAAM,4BAA4B,GAAG,UAC1C,MAA0C;;;;;oBAE1B,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEnC,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAE1C,qBAAM,IAAA,8BAAuB,EACnD,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,YAAY,EACZ,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,CAC5D,EAAA;;gBATK,eAAe,GAAG,SASvB;gBAEK,KAA4B,IAAA,2CAAkC,EAClE,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,YAAY,EACZ,MAAM,CAAC,CAAC,CAAC,EACT,eAAe,EACf,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM;gBAC1B,IAAA,2BAAkB,EAAC;oBACjB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAa;iBACzD,CAAC,EACF,IAAA,4BAAmB,EAAC;oBAClB,WAAW,EAAE,OAAO;oBACpB,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAa;iBACzD,CAAC,EACF,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,EAhBiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAgB3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gCAAY,CAAC,eAAe,CAC7B,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAhDW,QAAA,4BAA4B,gCAgDvC","sourcesContent":["import { ContractType } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { signPoolRemoveLiquidity } from '../sign';\nimport {\n WithdrawPassivePoolAndBridgeParams,\n WithdrawPassivePoolAndBridgeResult,\n} from './types';\nimport { encodeWithdrawPassivePoolAndBridge } from './encode';\nimport {\n Address,\n getCurrentTimestampInSeconds,\n getSocketConnector,\n getSocketController,\n} from '@reyaxyz/common';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { scale } from '../token/common';\n\nexport const withdrawPassivePoolAndBridge = async (\n params: WithdrawPassivePoolAndBridgeParams,\n): Promise<WithdrawPassivePoolAndBridgeResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const sharesAmount = scale(30)(params.amount * params.sharePrice);\n\n const eip712Signature = await signPoolRemoveLiquidity(\n params.signer,\n chainId,\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n params.owner.poolSigNonce,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n );\n\n const { calldata: data, value } = encodeWithdrawPassivePoolAndBridge(\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n eip712Signature,\n BigInt('10000000'), //todo\n getSocketConnector({\n chainId: chainId,\n tokenAddress: params.pool.token.toLowerCase() as Address,\n }),\n getSocketController({\n reyaChainId: chainId,\n tokenAddress: params.pool.token.toLowerCase() as Address,\n }),\n params.owner.address,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -43,6 +43,7 @@ var executeTransaction_1 = require("../executeTransaction");
|
|
|
43
43
|
var common_2 = require("../token/common");
|
|
44
44
|
var encode_1 = require("./encode");
|
|
45
45
|
var sign_1 = require("../sign");
|
|
46
|
+
var consts_1 = require("../../utils/consts");
|
|
46
47
|
var bridgeAndDepositExisingMA = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
47
48
|
var network, chainId, eip712Signature, tokenDecimals, amount, _a, data, value, result;
|
|
48
49
|
var _b;
|
|
@@ -52,7 +53,7 @@ var bridgeAndDepositExisingMA = function (params) { return __awaiter(void 0, voi
|
|
|
52
53
|
case 1:
|
|
53
54
|
network = _c.sent();
|
|
54
55
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
55
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.
|
|
56
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.owner.coreSigNonce, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS)];
|
|
56
57
|
case 2:
|
|
57
58
|
eip712Signature = _c.sent();
|
|
58
59
|
tokenDecimals = (0, common_2.getTokenDetails)(params.tokenAddress).tokenDecimals;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositExistingMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositExistingMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAIyB;AACzB,mEAAyE;AACzE,4DAA2D;AAC3D,0CAAyD;AACzD,mCAA4D;AAK5D,gCAA2C;AAC3C,6CAAgE;AAEzD,IAAM,yBAAyB,GAAG,UACvC,MAAuC;;;;;oBAEvB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBACjB,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,CAC5D,EAAA;;gBANK,eAAe,GAAG,SAMvB;gBAEO,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,YAAY,CAAC,cAAzC,CAA0C;gBACzD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,KAA4B,IAAA,yCAAgC,EAChE,IAAA,8BAAU,EAAC,OAAO,EAAE,gCAAY,CAAC,eAAe,CAAC,EACjD,MAAM,CAAC,UAAU,CAAC,EAClB,IAAA,2BAAkB,EAAC;oBACjB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC,EACF,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,eAAe,CAChB,EAXiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAW3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,OAAO;wBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,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;AA3CW,QAAA,yBAAyB,6BA2CpC","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n getSocketConnector,\n getSocketVault,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { getTokenDetails, scale } from '../token/common';\nimport { encodeBridgeAndDepositExistingMA } from './encode';\nimport {\n BridgeAndDepositExisingMAParams,\n BridgeAndDepositExisingMAResult,\n} from './types';\nimport { signCoreCommands } from '../sign';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\n\nexport const bridgeAndDepositExisingMA = async (\n params: BridgeAndDepositExisingMAParams,\n): Promise<BridgeAndDepositExisingMAResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n const eip712Signature = await signCoreCommands(\n params.signer,\n chainId,\n params.accountId,\n params.owner.coreSigNonce,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n );\n\n const { tokenDecimals } = getTokenDetails(params.tokenAddress);\n const amount = scale(tokenDecimals)(params.amount);\n\n const { calldata: data, value } = encodeBridgeAndDepositExistingMA(\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n BigInt('10000000'),\n getSocketConnector({\n chainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n params.accountId,\n params.tokenAddress,\n amount,\n eip712Signature,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n getSocketVault({\n moneyInOutChainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -43,33 +43,26 @@ var executeTransaction_1 = require("../executeTransaction");
|
|
|
43
43
|
var common_2 = require("../token/common");
|
|
44
44
|
var encode_1 = require("./encode");
|
|
45
45
|
var bridgeAndDepositNewMA = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var network, chainId, tokenDecimals, amount, _a, data, value,
|
|
47
|
-
var
|
|
48
|
-
return __generator(this, function (
|
|
49
|
-
switch (
|
|
50
|
-
case 0: return [4 /*yield*/, ((
|
|
46
|
+
var network, chainId, tokenDecimals, amount, _a, data, value, result;
|
|
47
|
+
var _b;
|
|
48
|
+
return __generator(this, function (_c) {
|
|
49
|
+
switch (_c.label) {
|
|
50
|
+
case 0: return [4 /*yield*/, ((_b = params.signer.provider) === null || _b === void 0 ? void 0 : _b.getNetwork())];
|
|
51
51
|
case 1:
|
|
52
|
-
network =
|
|
52
|
+
network = _c.sent();
|
|
53
53
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
54
54
|
tokenDecimals = (0, common_2.getTokenDetails)(params.tokenAddress).tokenDecimals;
|
|
55
55
|
amount = (0, common_2.scale)(tokenDecimals)(params.amount);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
chainId: chainId,
|
|
61
|
-
tokenAddress: params.tokenAddress,
|
|
62
|
-
})];
|
|
63
|
-
return [4 /*yield*/, params.signer.getAddress()];
|
|
64
|
-
case 2:
|
|
65
|
-
_a = _b.apply(void 0, _c.concat([_e.sent(), params.tokenAddress,
|
|
66
|
-
amount])), data = _a.calldata, value = _a.value;
|
|
56
|
+
_a = (0, encode_1.encodeBridgeAndDepositNewMA)((0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), BigInt('10000000'), (0, common_1.getSocketConnector)({
|
|
57
|
+
chainId: chainId,
|
|
58
|
+
tokenAddress: params.tokenAddress,
|
|
59
|
+
}), params.ownerAddress, params.tokenAddress, amount), data = _a.calldata, value = _a.value;
|
|
67
60
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, (0, common_1.getSocketVault)({
|
|
68
61
|
moneyInOutChainId: chainId,
|
|
69
62
|
tokenAddress: params.tokenAddress,
|
|
70
63
|
}))];
|
|
71
|
-
case
|
|
72
|
-
result =
|
|
64
|
+
case 2:
|
|
65
|
+
result = _c.sent();
|
|
73
66
|
return [2 /*return*/, {
|
|
74
67
|
transactionHash: (result === null || result === void 0 ? void 0 : result.hash) || null,
|
|
75
68
|
}];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositNewMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositNewMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAqE;AACrE,mEAAyE;AACzE,4DAA2D;AAC3D,0CAAyD;AACzD,mCAAuD;AAMhD,IAAM,qBAAqB,GAAG,UACnC,MAAmC;;;;;oBAEnB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEjC,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,YAAY,CAAC,cAAzC,CAA0C;gBACzD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositNewMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositNewMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAqE;AACrE,mEAAyE;AACzE,4DAA2D;AAC3D,0CAAyD;AACzD,mCAAuD;AAMhD,IAAM,qBAAqB,GAAG,UACnC,MAAmC;;;;;oBAEnB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEjC,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,YAAY,CAAC,cAAzC,CAA0C;gBACzD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,KAA4B,IAAA,oCAA2B,EAC3D,IAAA,8BAAU,EAAC,OAAO,EAAE,gCAAY,CAAC,eAAe,CAAC,EACjD,MAAM,CAAC,UAAU,CAAC,EAClB,IAAA,2BAAkB,EAAC;oBACjB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC,EACF,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,EACnB,MAAM,CACP,EAViB,IAAI,cAAA,EAAE,KAAK,WAAA,CAU3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,OAAO;wBAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;qBAClC,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;AAnCW,QAAA,qBAAqB,yBAmChC","sourcesContent":["import { getSocketConnector, getSocketVault } from '@reyaxyz/common';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { getTokenDetails, scale } from '../token/common';\nimport { encodeBridgeAndDepositNewMA } from './encode';\nimport {\n BridgeAndDepositNewMAParams,\n BridgeAndDepositNewMAResult,\n} from './types';\n\nexport const bridgeAndDepositNewMA = async (\n params: BridgeAndDepositNewMAParams,\n): Promise<BridgeAndDepositNewMAResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n\n const { tokenDecimals } = getTokenDetails(params.tokenAddress);\n const amount = scale(tokenDecimals)(params.amount);\n\n const { calldata: data, value } = encodeBridgeAndDepositNewMA(\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n BigInt('10000000'),\n getSocketConnector({\n chainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n params.ownerAddress,\n params.tokenAddress,\n amount,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n getSocketVault({\n moneyInOutChainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {\n MarginAccountEntity,\n OwnerMetadataEntity,\n TokenEntity,\n} from '@reyaxyz/common';\n\nexport type CreateAccountParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: string;\n};\n\nexport type CreateAccountResult = {\n transactionHash: string | null;\n};\n\nexport type DepositParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type DepositResult = {\n transactionHash: string | null;\n};\n\nexport type WithdrawParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type WithdrawResult = {\n transactionHash: string | null;\n};\n\nexport type SimulateDepositResult = {\n bridgeGasFees: number;\n marginRatioHealth: MarginAccountEntity['marginRatioHealth'];\n marginRatio: MarginAccountEntity['marginRatioPercentage'];\n};\n\n// TODO: Milan reevaluate these params\nexport type SimulateDepositParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type SimulateWithdrawResult = {\n bridgeGasFees: number;\n\n marginRatioHealth: MarginAccountEntity['marginRatioHealth'];\n marginRatio: MarginAccountEntity['marginRatioPercentage'];\n};\n\n// TODO: Milan reevaluate these params\nexport type SimulateWithdrawParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type TransferMarginBetweenAccountsParams = {\n signer: Signer | JsonRpcSigner;\n fromMarginAccountId: MarginAccountEntity['id'];\n toMarginAccountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type TransferMarginBetweenAccountsResult = {\n transactionHash: string | null;\n};\n\nexport type WithdrawMAAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;\n accountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n receiverAddress: string;\n};\n\nexport type WithdrawMAAndBridgeParamsResult = {\n transactionHash: string | null;\n};\n\nexport type BridgeAndDepositNewMAParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type BridgeAndDepositNewMAResult = {\n transactionHash: string | null;\n};\n\nexport type BridgeAndDepositExisingMAParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;\n accountId: MarginAccountEntity['id'];\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type BridgeAndDepositExisingMAResult = {\n transactionHash: string | null;\n};\n"]}
|
|
@@ -43,6 +43,7 @@ var executeTransaction_1 = require("../executeTransaction");
|
|
|
43
43
|
var sign_1 = require("../sign");
|
|
44
44
|
var common_2 = require("../token/common");
|
|
45
45
|
var encode_1 = require("./encode");
|
|
46
|
+
var consts_1 = require("../../utils/consts");
|
|
46
47
|
var withdrawMAAndBridge = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
47
48
|
var network, chainId, eip712Signature, tokenDecimals, amount, _a, data, value, result;
|
|
48
49
|
var _b;
|
|
@@ -52,17 +53,17 @@ var withdrawMAAndBridge = function (params) { return __awaiter(void 0, void 0, v
|
|
|
52
53
|
case 1:
|
|
53
54
|
network = _c.sent();
|
|
54
55
|
chainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
55
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.
|
|
56
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, chainId, params.accountId, params.owner.coreSigNonce, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS)];
|
|
56
57
|
case 2:
|
|
57
58
|
eip712Signature = _c.sent();
|
|
58
59
|
tokenDecimals = (0, common_2.getTokenDetails)(params.tokenAddress).tokenDecimals;
|
|
59
60
|
amount = (0, common_2.scale)(tokenDecimals)(params.amount);
|
|
60
61
|
_a = (0, encode_1.encodeWithdrawMAAndBridge)(params.accountId, params.tokenAddress, amount, eip712Signature, BigInt('10000000'), (0, common_1.getSocketConnector)({
|
|
61
62
|
chainId: chainId,
|
|
62
|
-
tokenAddress: params.
|
|
63
|
+
tokenAddress: params.tokenAddress,
|
|
63
64
|
}), (0, common_1.getSocketController)({
|
|
64
65
|
reyaChainId: chainId,
|
|
65
|
-
tokenAddress: params.
|
|
66
|
+
tokenAddress: params.tokenAddress,
|
|
66
67
|
}), params.receiverAddress), data = _a.calldata, value = _a.value;
|
|
67
68
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, chainId, contractAddresses_1.ContractType.CORE_PROXY)];
|
|
68
69
|
case 3:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAIyB;AACzB,mEAA6D;AAC7D,4DAA2D;AAC3D,gCAA2C;AAC3C,0CAAyD;AACzD,mCAAqD;AAKrD,6CAAgE;AAEzD,IAAM,mBAAmB,GAAG,UACjC,MAAiC;;;;;oBAEjB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,OAAO,GAAG,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBACjB,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,CAC5D,EAAA;;gBANK,eAAe,GAAG,SAMvB;gBAEO,aAAa,GAAK,IAAA,wBAAe,EAAC,MAAM,CAAC,YAAY,CAAC,cAAzC,CAA0C;gBACzD,MAAM,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAE7C,KAA4B,IAAA,kCAAyB,EACzD,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,UAAU,CAAC,EAClB,IAAA,2BAAkB,EAAC;oBACjB,OAAO,EAAE,OAAO;oBAChB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC,EACF,IAAA,4BAAmB,EAAC;oBAClB,WAAW,EAAE,OAAO;oBACpB,YAAY,EAAE,MAAM,CAAC,YAAY;iBAClC,CAAC,EACF,MAAM,CAAC,eAAe,CACvB,EAfiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAe3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gCAAY,CAAC,UAAU,CACxB,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA5CW,QAAA,mBAAmB,uBA4C9B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n getSocketConnector,\n getSocketController,\n} from '@reyaxyz/common';\nimport { ContractType } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { signCoreCommands } from '../sign';\nimport { getTokenDetails, scale } from '../token/common';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\n\nexport const withdrawMAAndBridge = async (\n params: WithdrawMAAndBridgeParams,\n): Promise<WithdrawMAAndBridgeParamsResult> => {\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n const eip712Signature = await signCoreCommands(\n params.signer,\n chainId,\n params.accountId,\n params.owner.coreSigNonce,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n );\n\n const { tokenDecimals } = getTokenDetails(params.tokenAddress);\n const amount = scale(tokenDecimals)(params.amount);\n\n const { calldata: data, value } = encodeWithdrawMAAndBridge(\n params.accountId,\n params.tokenAddress,\n amount,\n eip712Signature,\n BigInt('10000000'),\n getSocketConnector({\n chainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n getSocketController({\n reyaChainId: chainId,\n tokenAddress: params.tokenAddress,\n }),\n params.receiverAddress,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.CORE_PROXY,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executeTransaction.d.ts","sourceRoot":"/","sources":["services/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAc,MAAM,4BAA4B,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,YAAY,GAAG,MAAM,GACpC,OAAO,CAAC,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7C;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,YAAY,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"executeTransaction.d.ts","sourceRoot":"/","sources":["services/executeTransaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAc,MAAM,4BAA4B,CAAC;AAEtE,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,wBAAsB,WAAW,CAC/B,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,YAAY,GAAG,MAAM,GACpC,OAAO,CAAC,WAAW,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,CAgB7C;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,MAAM,EACf,cAAc,EAAE,YAAY,GAAG,MAAM,uDAkBtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,QAAQ,0BAA0B,CAmCpC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonRpcSigner, Signer } from 'ethers';
|
|
2
|
-
import { LpPoolEntity,
|
|
2
|
+
import { LpPoolEntity, LpWithdrawBalanceEntity, MarginAccountEntity, OwnerMetadataEntity } from '@reyaxyz/common';
|
|
3
3
|
export type ProvideLiquidityParams = {
|
|
4
4
|
signer: Signer | JsonRpcSigner;
|
|
5
5
|
amount: number;
|
|
@@ -18,36 +18,28 @@ export type RemoveLiquidityResult = {
|
|
|
18
18
|
};
|
|
19
19
|
export type TransferFromMAToPoolParams = {
|
|
20
20
|
signer: Signer | JsonRpcSigner;
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
poolTokenAddress: TokenEntity['address'];
|
|
21
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
22
|
+
accountId: MarginAccountEntity['id'];
|
|
23
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
25
24
|
amount: number;
|
|
26
|
-
poolId: number;
|
|
27
|
-
owner: string;
|
|
28
|
-
minShares: bigint;
|
|
29
25
|
};
|
|
30
26
|
export type TransferFromMAToPoolResult = {
|
|
31
27
|
transactionHash: string | null;
|
|
32
28
|
};
|
|
33
29
|
export type WithdrawPassivePoolAndBridgeParams = {
|
|
34
30
|
signer: Signer | JsonRpcSigner;
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
minOut: bigint;
|
|
40
|
-
ownerSigNonce: number;
|
|
41
|
-
deadline: number;
|
|
31
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;
|
|
32
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
33
|
+
amount: number;
|
|
34
|
+
sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];
|
|
42
35
|
};
|
|
43
36
|
export type WithdrawPassivePoolAndBridgeResult = {
|
|
44
37
|
transactionHash: string | null;
|
|
45
38
|
};
|
|
46
39
|
export type BridgeAndDepositPassivePoolParams = {
|
|
47
40
|
signer: Signer | JsonRpcSigner;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
minShares: bigint;
|
|
41
|
+
ownerAddress: OwnerMetadataEntity['address'];
|
|
42
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
51
43
|
amount: number;
|
|
52
44
|
};
|
|
53
45
|
export type BridgeAndDepositPassivePoolResult = {
|
|
@@ -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,
|
|
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,mBAAmB,EACpB,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,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,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,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,kCAAkC,GAAG;IAC/C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,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,OAAO,CAAC,CAAC;IACzC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawPassivePoolAndBridge.d.ts","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"withdrawPassivePoolAndBridge.d.ts","sourceRoot":"/","sources":["services/lp/withdrawPassivePoolAndBridge.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,kCAAkC,EAClC,kCAAkC,EACnC,MAAM,SAAS,CAAC;AAWjB,eAAO,MAAM,4BAA4B,WAC/B,kCAAkC,KACzC,QAAQ,kCAAkC,CA8C5C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositExistingMA.d.ts","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositExistingMA.d.ts","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":"AASA,OAAO,EACL,+BAA+B,EAC/B,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAIjB,eAAO,MAAM,yBAAyB,WAC5B,+BAA+B,KACtC,QAAQ,+BAA+B,CAyCzC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { JsonRpcSigner, Signer } from 'ethers';
|
|
2
|
-
import { MarginAccountEntity, TokenEntity } from '@reyaxyz/common';
|
|
2
|
+
import { MarginAccountEntity, OwnerMetadataEntity, TokenEntity } from '@reyaxyz/common';
|
|
3
3
|
export type CreateAccountParams = {
|
|
4
4
|
signer: Signer | JsonRpcSigner;
|
|
5
5
|
ownerAddress: string;
|
|
@@ -59,12 +59,10 @@ export type TransferMarginBetweenAccountsResult = {
|
|
|
59
59
|
};
|
|
60
60
|
export type WithdrawMAAndBridgeParams = {
|
|
61
61
|
signer: Signer | JsonRpcSigner;
|
|
62
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
62
63
|
accountId: MarginAccountEntity['id'];
|
|
63
|
-
accountSigNonce: number;
|
|
64
|
-
deadline: number;
|
|
65
64
|
tokenAddress: TokenEntity['address'];
|
|
66
65
|
amount: number;
|
|
67
|
-
poolTokenAddress: TokenEntity['address'];
|
|
68
66
|
receiverAddress: string;
|
|
69
67
|
};
|
|
70
68
|
export type WithdrawMAAndBridgeParamsResult = {
|
|
@@ -72,6 +70,7 @@ export type WithdrawMAAndBridgeParamsResult = {
|
|
|
72
70
|
};
|
|
73
71
|
export type BridgeAndDepositNewMAParams = {
|
|
74
72
|
signer: Signer | JsonRpcSigner;
|
|
73
|
+
ownerAddress: OwnerMetadataEntity['address'];
|
|
75
74
|
tokenAddress: TokenEntity['address'];
|
|
76
75
|
amount: number;
|
|
77
76
|
};
|
|
@@ -80,9 +79,8 @@ export type BridgeAndDepositNewMAResult = {
|
|
|
80
79
|
};
|
|
81
80
|
export type BridgeAndDepositExisingMAParams = {
|
|
82
81
|
signer: Signer | JsonRpcSigner;
|
|
82
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
83
83
|
accountId: MarginAccountEntity['id'];
|
|
84
|
-
accountSigNonce: number;
|
|
85
|
-
deadline: number;
|
|
86
84
|
tokenAddress: TokenEntity['address'];
|
|
87
85
|
amount: number;
|
|
88
86
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,WAAW,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;CAC3D,CAAC;AAGF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,MAAM,CAAC;IAEtB,iBAAiB,EAAE,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;IAC5D,WAAW,EAAE,mBAAmB,CAAC,uBAAuB,CAAC,CAAC;CAC3D,CAAC;AAGF,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,mBAAmB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,iBAAiB,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC7C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC7C,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,SAAS,EAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACrC,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.d.ts","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAChC,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,mBAAmB,WACtB,yBAAyB,KAChC,QAAQ,+BAA+B,CA0CzC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.d.ts","sourceRoot":"/","sources":["utils/consts.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,QAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consts.js","sourceRoot":"/","sources":["utils/consts.ts"],"names":[],"mappings":";;;AAAa,QAAA,0BAA0B,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,aAAa","sourcesContent":["export const BRIDGE_DEADLINE_IN_SECONDS = 15 * 60; // 15 minutes\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -29,10 +29,10 @@
|
|
|
29
29
|
"generate:coverage-badges": "npx istanbul-badges-readme --silent"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@reyaxyz/common": "0.
|
|
32
|
+
"@reyaxyz/common": "0.12.0",
|
|
33
33
|
"bignumber.js": "^9.1.2",
|
|
34
34
|
"ethers": "6.9.0"
|
|
35
35
|
},
|
|
36
36
|
"packageManager": "pnpm@8.10.4",
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "64e9804952f6a8eee01c5bf14b2704d8bb748352"
|
|
38
38
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getSocketConnector, getSocketVault } from '@reyaxyz/common';
|
|
1
|
+
import { Address, getSocketConnector, getSocketVault } from '@reyaxyz/common';
|
|
2
2
|
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
3
3
|
import { executeTransaction } from '../executeTransaction';
|
|
4
4
|
import { getTokenDetails, scale } from '../token/common';
|
|
@@ -14,7 +14,7 @@ export const bridgeAndDepositPassivePool = async (
|
|
|
14
14
|
const network = await params.signer.provider?.getNetwork();
|
|
15
15
|
const chainId = Number(network?.chainId);
|
|
16
16
|
|
|
17
|
-
const { tokenDecimals } = getTokenDetails(params.
|
|
17
|
+
const { tokenDecimals } = getTokenDetails(params.pool.token);
|
|
18
18
|
const amount = scale(tokenDecimals)(params.amount);
|
|
19
19
|
|
|
20
20
|
const { calldata: data, value } = encodeBridgeAndDepositPassivePool(
|
|
@@ -22,12 +22,12 @@ export const bridgeAndDepositPassivePool = async (
|
|
|
22
22
|
BigInt('10000000'),
|
|
23
23
|
getSocketConnector({
|
|
24
24
|
chainId: chainId,
|
|
25
|
-
tokenAddress: params.
|
|
25
|
+
tokenAddress: params.pool.token.toLowerCase() as Address,
|
|
26
26
|
}),
|
|
27
|
-
params.
|
|
28
|
-
|
|
27
|
+
params.pool.id,
|
|
28
|
+
params.ownerAddress,
|
|
29
29
|
amount,
|
|
30
|
-
|
|
30
|
+
BigInt(0),
|
|
31
31
|
);
|
|
32
32
|
|
|
33
33
|
const result = await executeTransaction(
|
|
@@ -37,7 +37,7 @@ export const bridgeAndDepositPassivePool = async (
|
|
|
37
37
|
chainId,
|
|
38
38
|
getSocketVault({
|
|
39
39
|
moneyInOutChainId: chainId,
|
|
40
|
-
tokenAddress: params.
|
|
40
|
+
tokenAddress: params.pool.token.toLowerCase() as Address,
|
|
41
41
|
}),
|
|
42
42
|
);
|
|
43
43
|
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { getCurrentTimestampInSeconds } from '@reyaxyz/common';
|
|
1
2
|
import { ContractType } from '../../utils/contractAddresses';
|
|
2
3
|
import { executeTransaction } from '../executeTransaction';
|
|
3
4
|
import { signCoreCommands } from '../sign';
|
|
@@ -7,6 +8,7 @@ import {
|
|
|
7
8
|
TransferFromMAToPoolParams,
|
|
8
9
|
TransferFromMAToPoolResult,
|
|
9
10
|
} from './types';
|
|
11
|
+
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
10
12
|
|
|
11
13
|
export const transferFromMAToPool = async (
|
|
12
14
|
params: TransferFromMAToPoolParams,
|
|
@@ -18,20 +20,20 @@ export const transferFromMAToPool = async (
|
|
|
18
20
|
params.signer,
|
|
19
21
|
chainId,
|
|
20
22
|
params.accountId,
|
|
21
|
-
params.
|
|
22
|
-
|
|
23
|
+
params.owner.coreSigNonce,
|
|
24
|
+
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
23
25
|
);
|
|
24
26
|
|
|
25
|
-
const { tokenDecimals } = getTokenDetails(params.
|
|
27
|
+
const { tokenDecimals } = getTokenDetails(params.pool.token);
|
|
26
28
|
const amount = scale(tokenDecimals)(params.amount);
|
|
27
29
|
|
|
28
30
|
const { calldata: data, value } = encodeTransferFromMAToPool(
|
|
29
31
|
params.accountId,
|
|
30
32
|
amount,
|
|
31
33
|
eip712Signature,
|
|
32
|
-
params.
|
|
33
|
-
params.owner,
|
|
34
|
-
|
|
34
|
+
params.pool.id,
|
|
35
|
+
params.owner.address,
|
|
36
|
+
BigInt(0),
|
|
35
37
|
);
|
|
36
38
|
|
|
37
39
|
const result = await executeTransaction(
|
package/src/services/lp/types.ts
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { JsonRpcSigner, Signer } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
LpPoolEntity,
|
|
4
|
+
LpWithdrawBalanceEntity,
|
|
5
|
+
MarginAccountEntity,
|
|
6
|
+
OwnerMetadataEntity,
|
|
7
|
+
} from '@reyaxyz/common';
|
|
3
8
|
|
|
4
9
|
export type ProvideLiquidityParams = {
|
|
5
10
|
signer: Signer | JsonRpcSigner;
|
|
@@ -23,14 +28,10 @@ export type RemoveLiquidityResult = {
|
|
|
23
28
|
|
|
24
29
|
export type TransferFromMAToPoolParams = {
|
|
25
30
|
signer: Signer | JsonRpcSigner;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
poolTokenAddress: TokenEntity['address']; // todo
|
|
31
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
32
|
+
accountId: MarginAccountEntity['id'];
|
|
33
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
30
34
|
amount: number;
|
|
31
|
-
poolId: number;
|
|
32
|
-
owner: string;
|
|
33
|
-
minShares: bigint; // todo
|
|
34
35
|
};
|
|
35
36
|
|
|
36
37
|
export type TransferFromMAToPoolResult = {
|
|
@@ -39,13 +40,10 @@ export type TransferFromMAToPoolResult = {
|
|
|
39
40
|
|
|
40
41
|
export type WithdrawPassivePoolAndBridgeParams = {
|
|
41
42
|
signer: Signer | JsonRpcSigner;
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
minOut: bigint; // todo ?
|
|
47
|
-
ownerSigNonce: number; //todo
|
|
48
|
-
deadline: number; // todo
|
|
43
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;
|
|
44
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
45
|
+
amount: number;
|
|
46
|
+
sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];
|
|
49
47
|
};
|
|
50
48
|
|
|
51
49
|
export type WithdrawPassivePoolAndBridgeResult = {
|
|
@@ -54,9 +52,8 @@ export type WithdrawPassivePoolAndBridgeResult = {
|
|
|
54
52
|
|
|
55
53
|
export type BridgeAndDepositPassivePoolParams = {
|
|
56
54
|
signer: Signer | JsonRpcSigner;
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
minShares: bigint; // todo
|
|
55
|
+
ownerAddress: OwnerMetadataEntity['address'];
|
|
56
|
+
pool: Pick<LpPoolEntity, 'id' | 'token'>;
|
|
60
57
|
amount: number;
|
|
61
58
|
};
|
|
62
59
|
|
|
@@ -6,40 +6,50 @@ import {
|
|
|
6
6
|
WithdrawPassivePoolAndBridgeResult,
|
|
7
7
|
} from './types';
|
|
8
8
|
import { encodeWithdrawPassivePoolAndBridge } from './encode';
|
|
9
|
-
import {
|
|
9
|
+
import {
|
|
10
|
+
Address,
|
|
11
|
+
getCurrentTimestampInSeconds,
|
|
12
|
+
getSocketConnector,
|
|
13
|
+
getSocketController,
|
|
14
|
+
} from '@reyaxyz/common';
|
|
15
|
+
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
16
|
+
import { scale } from '../token/common';
|
|
10
17
|
|
|
11
18
|
export const withdrawPassivePoolAndBridge = async (
|
|
12
19
|
params: WithdrawPassivePoolAndBridgeParams,
|
|
13
20
|
): Promise<WithdrawPassivePoolAndBridgeResult> => {
|
|
14
21
|
const network = await params.signer.provider?.getNetwork();
|
|
15
22
|
const chainId = Number(network?.chainId);
|
|
23
|
+
|
|
24
|
+
const sharesAmount = scale(30)(params.amount * params.sharePrice);
|
|
25
|
+
|
|
16
26
|
const eip712Signature = await signPoolRemoveLiquidity(
|
|
17
27
|
params.signer,
|
|
18
28
|
chainId,
|
|
19
|
-
params.
|
|
20
|
-
params.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
params.
|
|
24
|
-
|
|
29
|
+
params.owner.address,
|
|
30
|
+
params.pool.id,
|
|
31
|
+
sharesAmount,
|
|
32
|
+
BigInt(0),
|
|
33
|
+
params.owner.poolSigNonce,
|
|
34
|
+
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
25
35
|
);
|
|
26
36
|
|
|
27
37
|
const { calldata: data, value } = encodeWithdrawPassivePoolAndBridge(
|
|
28
|
-
params.
|
|
29
|
-
params.
|
|
30
|
-
|
|
31
|
-
|
|
38
|
+
params.owner.address,
|
|
39
|
+
params.pool.id,
|
|
40
|
+
sharesAmount,
|
|
41
|
+
BigInt(0),
|
|
32
42
|
eip712Signature,
|
|
33
43
|
BigInt('10000000'), //todo
|
|
34
44
|
getSocketConnector({
|
|
35
45
|
chainId: chainId,
|
|
36
|
-
tokenAddress: params.
|
|
46
|
+
tokenAddress: params.pool.token.toLowerCase() as Address,
|
|
37
47
|
}),
|
|
38
48
|
getSocketController({
|
|
39
49
|
reyaChainId: chainId,
|
|
40
|
-
tokenAddress: params.
|
|
50
|
+
tokenAddress: params.pool.token.toLowerCase() as Address,
|
|
41
51
|
}),
|
|
42
|
-
params.
|
|
52
|
+
params.owner.address,
|
|
43
53
|
);
|
|
44
54
|
|
|
45
55
|
const result = await executeTransaction(
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
getCurrentTimestampInSeconds,
|
|
3
|
+
getSocketConnector,
|
|
4
|
+
getSocketVault,
|
|
5
|
+
} from '@reyaxyz/common';
|
|
2
6
|
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
3
7
|
import { executeTransaction } from '../executeTransaction';
|
|
4
8
|
import { getTokenDetails, scale } from '../token/common';
|
|
@@ -8,6 +12,7 @@ import {
|
|
|
8
12
|
BridgeAndDepositExisingMAResult,
|
|
9
13
|
} from './types';
|
|
10
14
|
import { signCoreCommands } from '../sign';
|
|
15
|
+
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
11
16
|
|
|
12
17
|
export const bridgeAndDepositExisingMA = async (
|
|
13
18
|
params: BridgeAndDepositExisingMAParams,
|
|
@@ -18,8 +23,8 @@ export const bridgeAndDepositExisingMA = async (
|
|
|
18
23
|
params.signer,
|
|
19
24
|
chainId,
|
|
20
25
|
params.accountId,
|
|
21
|
-
params.
|
|
22
|
-
|
|
26
|
+
params.owner.coreSigNonce,
|
|
27
|
+
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
23
28
|
);
|
|
24
29
|
|
|
25
30
|
const { tokenDecimals } = getTokenDetails(params.tokenAddress);
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { JsonRpcSigner, Signer } from 'ethers';
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
MarginAccountEntity,
|
|
4
|
+
OwnerMetadataEntity,
|
|
5
|
+
TokenEntity,
|
|
6
|
+
} from '@reyaxyz/common';
|
|
3
7
|
|
|
4
8
|
export type CreateAccountParams = {
|
|
5
9
|
signer: Signer | JsonRpcSigner;
|
|
@@ -75,13 +79,11 @@ export type TransferMarginBetweenAccountsResult = {
|
|
|
75
79
|
|
|
76
80
|
export type WithdrawMAAndBridgeParams = {
|
|
77
81
|
signer: Signer | JsonRpcSigner;
|
|
82
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
78
83
|
accountId: MarginAccountEntity['id'];
|
|
79
|
-
accountSigNonce: number; // todo
|
|
80
|
-
deadline: number; // todo
|
|
81
84
|
tokenAddress: TokenEntity['address'];
|
|
82
85
|
amount: number;
|
|
83
|
-
|
|
84
|
-
receiverAddress: string; // todo
|
|
86
|
+
receiverAddress: string;
|
|
85
87
|
};
|
|
86
88
|
|
|
87
89
|
export type WithdrawMAAndBridgeParamsResult = {
|
|
@@ -90,6 +92,7 @@ export type WithdrawMAAndBridgeParamsResult = {
|
|
|
90
92
|
|
|
91
93
|
export type BridgeAndDepositNewMAParams = {
|
|
92
94
|
signer: Signer | JsonRpcSigner;
|
|
95
|
+
ownerAddress: OwnerMetadataEntity['address'];
|
|
93
96
|
tokenAddress: TokenEntity['address'];
|
|
94
97
|
amount: number;
|
|
95
98
|
};
|
|
@@ -100,9 +103,8 @@ export type BridgeAndDepositNewMAResult = {
|
|
|
100
103
|
|
|
101
104
|
export type BridgeAndDepositExisingMAParams = {
|
|
102
105
|
signer: Signer | JsonRpcSigner;
|
|
106
|
+
owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;
|
|
103
107
|
accountId: MarginAccountEntity['id'];
|
|
104
|
-
accountSigNonce: number; // todo
|
|
105
|
-
deadline: number; // todo
|
|
106
108
|
tokenAddress: TokenEntity['address'];
|
|
107
109
|
amount: number;
|
|
108
110
|
};
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
getCurrentTimestampInSeconds,
|
|
3
|
+
getSocketConnector,
|
|
4
|
+
getSocketController,
|
|
5
|
+
} from '@reyaxyz/common';
|
|
2
6
|
import { ContractType } from '../../utils/contractAddresses';
|
|
3
7
|
import { executeTransaction } from '../executeTransaction';
|
|
4
8
|
import { signCoreCommands } from '../sign';
|
|
@@ -8,6 +12,7 @@ import {
|
|
|
8
12
|
WithdrawMAAndBridgeParams,
|
|
9
13
|
WithdrawMAAndBridgeParamsResult,
|
|
10
14
|
} from './types';
|
|
15
|
+
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
11
16
|
|
|
12
17
|
export const withdrawMAAndBridge = async (
|
|
13
18
|
params: WithdrawMAAndBridgeParams,
|
|
@@ -18,8 +23,8 @@ export const withdrawMAAndBridge = async (
|
|
|
18
23
|
params.signer,
|
|
19
24
|
chainId,
|
|
20
25
|
params.accountId,
|
|
21
|
-
params.
|
|
22
|
-
|
|
26
|
+
params.owner.coreSigNonce,
|
|
27
|
+
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
23
28
|
);
|
|
24
29
|
|
|
25
30
|
const { tokenDecimals } = getTokenDetails(params.tokenAddress);
|
|
@@ -33,11 +38,11 @@ export const withdrawMAAndBridge = async (
|
|
|
33
38
|
BigInt('10000000'),
|
|
34
39
|
getSocketConnector({
|
|
35
40
|
chainId: chainId,
|
|
36
|
-
tokenAddress: params.
|
|
41
|
+
tokenAddress: params.tokenAddress,
|
|
37
42
|
}),
|
|
38
43
|
getSocketController({
|
|
39
44
|
reyaChainId: chainId,
|
|
40
|
-
tokenAddress: params.
|
|
45
|
+
tokenAddress: params.tokenAddress,
|
|
41
46
|
}),
|
|
42
47
|
params.receiverAddress,
|
|
43
48
|
);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const BRIDGE_DEADLINE_IN_SECONDS = 15 * 60; // 15 minutes
|