@reyaxyz/sdk 0.65.0 → 0.66.1
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/transferFromMAToPool.js +5 -3
- package/dist/services/lp/transferFromMAToPool.js.map +1 -1
- package/dist/services/margin-accounts/encode.js +12 -8
- package/dist/services/margin-accounts/encode.js.map +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +6 -4
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
- package/dist/services/orders/encode.js +2 -1
- package/dist/services/orders/encode.js.map +1 -1
- package/dist/services/sign.js +2 -2
- package/dist/services/sign.js.map +1 -1
- package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/encode.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
- package/dist/types/services/orders/encode.d.ts.map +1 -1
- package/dist/types/services/sign.d.ts +1 -1
- package/dist/types/services/sign.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/services/lp/transferFromMAToPool.ts +8 -1
- package/src/services/margin-accounts/encode.ts +12 -7
- package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +1 -1
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +11 -3
- package/src/services/orders/encode.ts +2 -0
- package/src/services/sign.ts +2 -1
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
|
@@ -45,8 +45,9 @@ var encode_1 = require("./encode");
|
|
|
45
45
|
var consts_1 = require("../../utils/consts");
|
|
46
46
|
var action_1 = require("../../utils/action");
|
|
47
47
|
var encode_2 = require("../encode");
|
|
48
|
+
var ethers_1 = require("ethers");
|
|
48
49
|
var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
|
-
var network, reyaChainId, tokenInfo, amount, multiAction, eip712Signature, _a, data, value, result;
|
|
50
|
+
var network, reyaChainId, tokenInfo, amount, minShares, multiAction, eip712Signature, _a, data, value, result;
|
|
50
51
|
var _b;
|
|
51
52
|
return __generator(this, function (_c) {
|
|
52
53
|
switch (_c.label) {
|
|
@@ -56,12 +57,13 @@ var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0,
|
|
|
56
57
|
reyaChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
57
58
|
tokenInfo = (0, common_1.getTokenInfoByAddress)(params.pool.tokenAddress);
|
|
58
59
|
amount = (0, common_1.scale)(tokenInfo.decimals)(params.amount);
|
|
60
|
+
minShares = BigInt(0);
|
|
59
61
|
multiAction = new action_1.MultiAction();
|
|
60
62
|
(0, encode_2.encodeSingleWithdraw)(params.pool.tokenAddress, amount, multiAction);
|
|
61
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, reyaChainId, (0, contractAddresses_1.getAddress)(reyaChainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), params.marginAccountId, multiAction.commands, params.owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS)];
|
|
63
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(params.signer, reyaChainId, (0, contractAddresses_1.getAddress)(reyaChainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), params.marginAccountId, multiAction.commands, params.owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['uint128', 'address', 'uint256'], [params.pool.id, params.owner.address, minShares]))];
|
|
62
64
|
case 2:
|
|
63
65
|
eip712Signature = _c.sent();
|
|
64
|
-
_a = (0, encode_1.encodeTransferFromMAToPool)(params.marginAccountId, amount, eip712Signature, params.pool.id,
|
|
66
|
+
_a = (0, encode_1.encodeTransferFromMAToPool)(params.marginAccountId, amount, eip712Signature, params.pool.id, minShares, params.owner.address), data = _a.calldata, value = _a.value;
|
|
65
67
|
return [4 /*yield*/, (0, executeTransaction_1.executeTransaction)(params.signer, data, value, reyaChainId, contractAddresses_1.ContractType.PERIPHERY_PROXY)];
|
|
66
68
|
case 3:
|
|
67
69
|
result = _c.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,mEAAyE;AACzE,4DAA2D;AAC3D,gCAA2C;AAC3C,mCAAsD;AAKtD,6CAAgE;AAChE,6CAAiD;AACjD,oCAAiD;
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,mEAAyE;AACzE,4DAA2D;AAC3D,gCAA2C;AAC3C,mCAAsD;AAKtD,6CAAgE;AAChE,6CAAiD;AACjD,oCAAiD;AACjD,iCAAgC;AAEzB,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;oBAElB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,WAAW,GAAgB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEpD,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGtB,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,IAAA,6BAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAC5C,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,8BAAU,EAAC,WAAW,EAAE,gCAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,eAAe,EACtB,WAAW,CAAC,QAAQ,EACpB,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,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAClD,CACF,EAAA;;gBAZK,eAAe,GAAG,SAYvB;gBAEK,KAA4B,IAAA,mCAA0B,EAC1D,MAAM,CAAC,eAAe,EACtB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,EAPiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAO3B;gBAEa,qBAAM,IAAA,uCAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,WAAW,EACX,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,oBAAoB,wBAgD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n ReyaChainId,\n getTokenInfoByAddress,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { executeTransaction } from '../executeTransaction';\nimport { signCoreCommands } from '../sign';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { MultiAction } from '../../utils/action';\nimport { encodeSingleWithdraw } from '../encode';\nimport { ethers } from 'ethers';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const reyaChainId: ReyaChainId = Number(network?.chainId);\n\n const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const minShares = BigInt(0);\n\n // transfer from MA to pool involves a core withdrawal\n const multiAction = new MultiAction();\n encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);\n const eip712Signature = await signCoreCommands(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.marginAccountId,\n multiAction.commands,\n params.owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address', 'uint256'],\n [params.pool.id, params.owner.address, minShares],\n ),\n );\n\n const { calldata: data, value } = encodeTransferFromMAToPool(\n params.marginAccountId,\n amount,\n eip712Signature,\n params.pool.id,\n minShares,\n params.owner.address,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -52,7 +52,6 @@ var action_1 = require("../../utils/action");
|
|
|
52
52
|
var ethers_1 = require("ethers");
|
|
53
53
|
var encode_1 = require("../encode");
|
|
54
54
|
var CoreProxy_json_1 = require("../../abis/CoreProxy.json");
|
|
55
|
-
var CoreProxy_json_2 = require("../../abis/CoreProxy.json");
|
|
56
55
|
var Periphery_json_1 = require("../../abis/Periphery.json");
|
|
57
56
|
var VaultWithPayload_json_1 = require("../../abis/socket/VaultWithPayload.json");
|
|
58
57
|
var sign_1 = require("../sign");
|
|
@@ -92,18 +91,23 @@ var encodeTransferMargin = function (signer, chainId, coreSigNonce, fromMarginAc
|
|
|
92
91
|
multiAction = new action_1.MultiAction();
|
|
93
92
|
// todo: note can we make this more stateless?
|
|
94
93
|
(0, encode_1.encodeSingleTransferMargin)(toMarginAccountId, token, amount, multiAction);
|
|
95
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(signer, chainId, (0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), fromMarginAccountId, multiAction.commands, coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.CORE_DEADLINE_IN_SECONDS)];
|
|
94
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(signer, chainId, (0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), fromMarginAccountId, multiAction.commands, coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.CORE_DEADLINE_IN_SECONDS, ethers_2.ethers.AbiCoder.defaultAbiCoder().encode([], []))];
|
|
96
95
|
case 1:
|
|
97
96
|
eip712Signature = _a.sent();
|
|
98
97
|
value = BigInt(0);
|
|
99
|
-
functionSignature = '
|
|
98
|
+
functionSignature = 'transferFromMAToMA';
|
|
100
99
|
parameters = [
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
100
|
+
{
|
|
101
|
+
accountId: fromMarginAccountId,
|
|
102
|
+
transfer: {
|
|
103
|
+
destAccountId: toMarginAccountId,
|
|
104
|
+
collateral: token,
|
|
105
|
+
collateralAmount: amount,
|
|
106
|
+
},
|
|
107
|
+
sig: eip712Signature,
|
|
108
|
+
},
|
|
105
109
|
];
|
|
106
|
-
INTERFACE = new ethers_1.Interface(
|
|
110
|
+
INTERFACE = new ethers_1.Interface(Periphery_json_1.abi);
|
|
107
111
|
calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
108
112
|
return [2 /*return*/, {
|
|
109
113
|
calldata: calldata,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { MethodParameters, MultiAction } from '../../utils/action';\nimport { Interface } from 'ethers';\nimport {\n encodeRouterCall,\n encodeSingleDeposit,\n encodeSingleTransferMargin,\n encodeSingleWithdraw,\n} from '../encode';\n\nimport { abi } from '../../abis/CoreProxy.json';\nimport { abi as coreAbi } from '../../abis/CoreProxy.json';\nimport { abi as peripheryAbi } from '../../abis/Periphery.json';\nimport { abi as Socket_VaultWithPayloadAbi } from '../../abis/socket/VaultWithPayload.json';\nimport { EIP712Signature, signCoreCommands } from '../sign';\nimport { CORE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\n\nexport const encodeCreateAccountCall = (\n accountOwner: string,\n): MethodParameters => {\n const functionSignature = 'createAccount';\n const parameters = [accountOwner];\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeDeposit = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleDeposit(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeWithdraw = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleWithdraw(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeTransferMargin = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n fromMarginAccountId: number,\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n // todo: note can we make this more stateless?\n encodeSingleTransferMargin(toMarginAccountId, token, amount, multiAction);\n\n const eip712Signature = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n fromMarginAccountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n );\n\n const value = BigInt(0);\n const functionSignature = 'executeBySig';\n const parameters = [\n fromMarginAccountId,\n multiAction.commands,\n eip712Signature,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n ];\n\n const INTERFACE = new Interface(coreAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n\nexport const encodeWithdrawMAAndBridge = (\n accountId: number,\n corePeripheryTokenAddress: string,\n corePeripheryTokenAmount: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawMA';\n const parameters = [\n {\n accountId,\n token: corePeripheryTokenAddress,\n tokenAmount: corePeripheryTokenAmount,\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 encodeBridgeAndDepositNewMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountOwner: string,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(peripheryAbi);\n const inputs = {\n accountOwner,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositNewMA((address,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\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 encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(peripheryAbi);\n const inputs = {\n accountId,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositExistingMA((uint128,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\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/margin-accounts/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { MethodParameters, MultiAction } from '../../utils/action';\nimport { Interface } from 'ethers';\nimport {\n encodeRouterCall,\n encodeSingleDeposit,\n encodeSingleTransferMargin,\n encodeSingleWithdraw,\n} from '../encode';\n\nimport { abi } from '../../abis/CoreProxy.json';\nimport { abi as peripheryAbi } from '../../abis/Periphery.json';\nimport { abi as Socket_VaultWithPayloadAbi } from '../../abis/socket/VaultWithPayload.json';\nimport { EIP712Signature, signCoreCommands } from '../sign';\nimport { CORE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\n\nexport const encodeCreateAccountCall = (\n accountOwner: string,\n): MethodParameters => {\n const functionSignature = 'createAccount';\n const parameters = [accountOwner];\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeDeposit = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleDeposit(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeWithdraw = (\n accountId: number,\n token: string,\n amount: bigint,\n): MethodParameters => {\n const multiAction = new MultiAction();\n\n encodeSingleWithdraw(token, amount, multiAction);\n\n const value = BigInt(0);\n const call = encodeRouterCall(multiAction, accountId, value);\n\n return {\n ...call,\n };\n};\n\nexport const encodeTransferMargin = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n fromMarginAccountId: number,\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n // todo: note can we make this more stateless?\n encodeSingleTransferMargin(toMarginAccountId, token, amount, multiAction);\n\n const eip712Signature = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n fromMarginAccountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n const functionSignature = 'transferFromMAToMA';\n const parameters = [\n {\n accountId: fromMarginAccountId,\n transfer: {\n destAccountId: toMarginAccountId,\n collateral: token,\n collateralAmount: amount,\n },\n sig: eip712Signature,\n },\n ];\n\n const INTERFACE = new Interface(peripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n\nexport const encodeWithdrawMAAndBridge = (\n accountId: number,\n corePeripheryTokenAddress: string,\n corePeripheryTokenAmount: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawMA';\n const parameters = [\n {\n accountId,\n token: corePeripheryTokenAddress,\n tokenAmount: corePeripheryTokenAmount,\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 encodeBridgeAndDepositNewMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountOwner: string,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(peripheryAbi);\n const inputs = {\n accountOwner,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositNewMA((address,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\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 encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\n peripheryTokenAmount: bigint,\n moneyInOutTokenAmount: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(peripheryAbi);\n const inputs = {\n accountId,\n token: peripheryTokenAddress,\n };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositExistingMA((uint128,address))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n moneyInOutTokenAmount,\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"]}
|
|
@@ -56,7 +56,7 @@ var transferMarginBetweenAccounts = function (params) { return __awaiter(void 0,
|
|
|
56
56
|
return [4 /*yield*/, (0, encode_1.encodeTransferMargin)(params.signer, chainId, params.owner.coreSigNonce, params.fromMarginAccountId, params.toMarginAccountId, params.tokenAddress, amount)];
|
|
57
57
|
case 2:
|
|
58
58
|
_a = _c.sent(), data = _a.calldata, value = _a.value;
|
|
59
|
-
return [4 /*yield*/, (0, executeTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, chainId, contractAddresses_1.ContractType.
|
|
59
|
+
return [4 /*yield*/, (0, executeTransaction_1.signAndBroadcastTransaction)(params.signer, data, value, chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY, {})];
|
|
60
60
|
case 3:
|
|
61
61
|
result = _c.sent();
|
|
62
62
|
return [2 /*return*/, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA+D;AAC/D,mEAA6D;AAC7D,4DAAoE;AACpE,mCAAgD;AAMzC,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;;gBAErC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAExC,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;gBACP,qBAAM,IAAA,6BAAoB,EAC1D,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,YAAY,EACnB,MAAM,CACP,EAAA;;gBARK,KAA4B,SAQjC,EARiB,IAAI,cAAA,EAAE,KAAK,WAAA;gBAUd,qBAAM,IAAA,gDAA2B,EAC9C,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gCAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAA+D;AAC/D,mEAA6D;AAC7D,4DAAoE;AACpE,mCAAgD;AAMzC,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;;gBAErC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAExC,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;gBACP,qBAAM,IAAA,6BAAoB,EAC1D,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,YAAY,EACnB,MAAM,CACP,EAAA;;gBARK,KAA4B,SAQjC,EARiB,IAAI,cAAA,EAAE,KAAK,WAAA;gBAUd,qBAAM,IAAA,gDAA2B,EAC9C,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,OAAO,EACP,gCAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA9BW,QAAA,6BAA6B,iCA8BxC","sourcesContent":["import { scale, getTokenInfoByAddress } from '@reyaxyz/common';\nimport { ContractType } from '../../utils/contractAddresses';\nimport { signAndBroadcastTransaction } from '../executeTransaction';\nimport { encodeTransferMargin } from './encode';\nimport {\n TransferMarginBetweenAccountsParams,\n TransferMarginBetweenAccountsResult,\n} from './types';\n\nexport const transferMarginBetweenAccounts = async (\n params: TransferMarginBetweenAccountsParams,\n): Promise<TransferMarginBetweenAccountsResult> => {\n const tokenInfo = getTokenInfoByAddress(params.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const network = await params.signer.provider?.getNetwork();\n const chainId = Number(network?.chainId);\n const { calldata: data, value } = await encodeTransferMargin(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.fromMarginAccountId,\n params.toMarginAccountId,\n params.tokenAddress,\n amount,\n );\n\n const result = await signAndBroadcastTransaction(\n params.signer,\n data,\n value,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -45,10 +45,11 @@ var encode_1 = require("./encode");
|
|
|
45
45
|
var consts_1 = require("../../utils/consts");
|
|
46
46
|
var encode_2 = require("../encode");
|
|
47
47
|
var action_1 = require("../../utils/action");
|
|
48
|
+
var ethers_1 = require("ethers");
|
|
48
49
|
var withdrawMAAndBridge = function (_a) {
|
|
49
50
|
var signer = _a.signer, moneyInOutChainId = _a.moneyInOutChainId, marginAccountId = _a.marginAccountId, owner = _a.owner, unscaledAmount = _a.amount, tokenAddress = _a.tokenAddress, _b = _a.receiverAddress, receiverAddress = _b === void 0 ? owner.address : _b;
|
|
50
51
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
var network, reyaChainId, corePeripheryTokenInfo, multiAction, eip712Signature, _c, data, value, result;
|
|
52
|
+
var network, reyaChainId, corePeripheryTokenInfo, multiAction, socketMsgGasLimit, eip712Signature, _c, data, value, result;
|
|
52
53
|
var _d;
|
|
53
54
|
return __generator(this, function (_e) {
|
|
54
55
|
switch (_e.label) {
|
|
@@ -59,11 +60,12 @@ var withdrawMAAndBridge = function (_a) {
|
|
|
59
60
|
corePeripheryTokenInfo = (0, common_1.getTokenInfoByAddress)(tokenAddress);
|
|
60
61
|
multiAction = new action_1.MultiAction();
|
|
61
62
|
(0, encode_2.encodeSingleWithdraw)(corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), multiAction);
|
|
62
|
-
|
|
63
|
+
socketMsgGasLimit = BigInt('10000000');
|
|
64
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(signer, reyaChainId, (0, contractAddresses_1.getAddress)(reyaChainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), marginAccountId, multiAction.commands, owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['address', 'uint256', 'uint256'], [receiverAddress, moneyInOutChainId, socketMsgGasLimit]))];
|
|
63
65
|
case 2:
|
|
64
66
|
eip712Signature = _e.sent();
|
|
65
|
-
_c = (0, encode_1.encodeWithdrawMAAndBridge)(marginAccountId, corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), eip712Signature,
|
|
66
|
-
return [4 /*yield*/, (0, executeTransaction_1.
|
|
67
|
+
_c = (0, encode_1.encodeWithdrawMAAndBridge)(marginAccountId, corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), eip712Signature, socketMsgGasLimit, moneyInOutChainId, receiverAddress), data = _c.calldata, value = _c.value;
|
|
68
|
+
return [4 /*yield*/, (0, executeTransaction_1.signAndBroadcastTransaction)(signer, data, value, reyaChainId, contractAddresses_1.ContractType.PERIPHERY_PROXY, {})];
|
|
67
69
|
case 3:
|
|
68
70
|
result = _e.sent();
|
|
69
71
|
return [2 /*return*/, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,mEAAyE;AACzE,
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,mEAAyE;AACzE,4DAAoE;AACpE,gCAA2C;AAC3C,mCAAqD;AAKrD,6CAAgE;AAChE,oCAAiD;AACjD,6CAAiD;AACjD,iCAAgC;AAEzB,IAAM,mBAAmB,GAAG,UAAO,EAQd;QAP1B,MAAM,YAAA,EACN,iBAAiB,uBAAA,EACjB,eAAe,qBAAA,EACf,KAAK,WAAA,EACG,cAAc,YAAA,EACtB,YAAY,kBAAA,EACZ,uBAA+B,EAA/B,eAAe,mBAAG,KAAK,CAAC,OAAO,KAAA;;;;;;wBAEf,qBAAM,CAAA,MAAA,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;oBAA7C,OAAO,GAAG,SAAmC;oBAC7C,WAAW,GAAgB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;oBAEpD,sBAAsB,GAAG,IAAA,8BAAqB,EAAC,YAAY,CAAC,CAAC;oBAE7D,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;oBACtC,IAAA,6BAAoB,EAClB,sBAAsB,CAAC,OAAO,EAC9B,IAAA,cAAK,EAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EACtD,WAAW,CACZ,CAAC;oBAEI,iBAAiB,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;oBACrB,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,EACN,WAAW,EACX,IAAA,8BAAU,EAAC,WAAW,EAAE,gCAAY,CAAC,eAAe,CAAC,EACrD,eAAe,EACf,WAAW,CAAC,QAAQ,EACpB,KAAK,CAAC,YAAY,GAAG,CAAC,EACtB,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,CAAC,CACxD,CACF,EAAA;;oBAZK,eAAe,GAAG,SAYvB;oBAEK,KAA4B,IAAA,kCAAyB,EACzD,eAAe,EACf,sBAAsB,CAAC,OAAO,EAC9B,IAAA,cAAK,EAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EACtD,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,CAChB,EARiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAQ3B;oBAEa,qBAAM,IAAA,gDAA2B,EAC9C,MAAM,EACN,IAAI,EACJ,KAAK,EACL,WAAW,EACX,gCAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;oBAPK,MAAM,GAAG,SAOd;oBAED,sBAAO;4BACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;yBACtC,EAAC;;;;CACH,CAAC;AA1DW,QAAA,mBAAmB,uBA0D9B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n ReyaChainId,\n getTokenInfoByAddress,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { signAndBroadcastTransaction } from '../executeTransaction';\nimport { signCoreCommands } from '../sign';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { encodeSingleWithdraw } from '../encode';\nimport { MultiAction } from '../../utils/action';\nimport { ethers } from 'ethers';\n\nexport const withdrawMAAndBridge = async ({\n signer,\n moneyInOutChainId,\n marginAccountId,\n owner,\n amount: unscaledAmount,\n tokenAddress,\n receiverAddress = owner.address,\n}: WithdrawMAAndBridgeParams): Promise<WithdrawMAAndBridgeParamsResult> => {\n const network = await signer.provider?.getNetwork();\n const reyaChainId: ReyaChainId = Number(network?.chainId);\n\n const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);\n\n const multiAction = new MultiAction();\n encodeSingleWithdraw(\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n multiAction,\n );\n\n const socketMsgGasLimit = BigInt('10000000');\n const eip712Signature = await signCoreCommands(\n signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n marginAccountId,\n multiAction.commands,\n owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [receiverAddress, moneyInOutChainId, socketMsgGasLimit],\n ),\n );\n\n const { calldata: data, value } = encodeWithdrawMAAndBridge(\n marginAccountId,\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n eip712Signature,\n socketMsgGasLimit,\n moneyInOutChainId,\n receiverAddress,\n );\n\n const result = await signAndBroadcastTransaction(\n signer,\n data,\n value,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n"]}
|
|
@@ -45,6 +45,7 @@ var consts_1 = require("../../utils/consts");
|
|
|
45
45
|
var ethers_1 = require("ethers");
|
|
46
46
|
var Periphery_json_1 = require("../../abis/Periphery.json");
|
|
47
47
|
var contractAddresses_1 = require("../../utils/contractAddresses");
|
|
48
|
+
var ethers_2 = require("ethers");
|
|
48
49
|
var encodeMatchOrder = function (signer, chainId, coreSigNonce, accountId, orderBase, orderPriceLimit, counterpartyAccountIds, marketId, exchangeId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
49
50
|
var multiAction, eip712Signature, value, functionSignature, parameters, INTERFACE, calldata;
|
|
50
51
|
return __generator(this, function (_a) {
|
|
@@ -52,7 +53,7 @@ var encodeMatchOrder = function (signer, chainId, coreSigNonce, accountId, order
|
|
|
52
53
|
case 0:
|
|
53
54
|
multiAction = new action_1.MultiAction();
|
|
54
55
|
(0, encode_1.encodeSingleTrade)(counterpartyAccountIds, orderBase, orderPriceLimit, marketId, exchangeId, multiAction);
|
|
55
|
-
return [4 /*yield*/, (0, sign_1.signCoreCommands)(signer, chainId, (0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), accountId, multiAction.commands, coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.CORE_DEADLINE_IN_SECONDS)];
|
|
56
|
+
return [4 /*yield*/, (0, sign_1.signCoreCommands)(signer, chainId, (0, contractAddresses_1.getAddress)(chainId, contractAddresses_1.ContractType.PERIPHERY_PROXY), accountId, multiAction.commands, coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + consts_1.CORE_DEADLINE_IN_SECONDS, ethers_2.ethers.AbiCoder.defaultAbiCoder().encode([], []))];
|
|
56
57
|
case 1:
|
|
57
58
|
eip712Signature = _a.sent();
|
|
58
59
|
value = BigInt(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmE;AACnE,oCAA8C;AAC9C,gCAA2C;AAC3C,0CAA+D;AAC/D,6CAA8D;AAC9D,iCAA2C;AAC3C,4DAAgD;AAChD,mEAAyE;
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAmE;AACnE,oCAA8C;AAC9C,gCAA2C;AAC3C,0CAA+D;AAC/D,6CAA8D;AAC9D,iCAA2C;AAC3C,4DAAgD;AAChD,mEAAyE;AACzE,iCAAgC;AACzB,IAAM,gBAAgB,GAAG,UAC9B,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,SAAiB,EACjB,eAAuB,EACvB,sBAAgC,EAChC,QAAgB,EAChB,UAAkB;;;;;gBAEZ,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBAEtC,IAAA,0BAAiB,EACf,sBAAsB,EACtB,SAAS,EACT,eAAe,EACf,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;gBACsB,qBAAM,IAAA,uBAAgB,EAC5C,MAAM,EACN,OAAO,EACP,IAAA,8BAAU,EAAC,OAAO,EAAE,gCAAY,CAAC,eAAe,CAAC,EACjD,SAAS,EACT,WAAW,CAAC,QAAQ,EACpB,YAAY,GAAG,CAAC,EAChB,IAAA,qCAA4B,GAAE,GAAG,iCAAwB,EACzD,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CACjD,EAAA;;gBATK,eAAe,GAAG,SASvB;gBAEK,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,iBAAiB,GAAG,oBAAoB,CAAC;gBACzC,UAAU,GAAG;oBACjB,EAAE,SAAS,WAAA,EAAE,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,EAAE;iBACpE,CAAC;gBAEI,SAAS,GAAG,IAAI,kBAAS,CAAC,oBAAG,CAAC,CAAC;gBAC/B,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;gBAC7E,sBAAO;wBACL,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;qBAClC,EAAC;;;KACH,CAAC;AA5CW,QAAA,gBAAgB,oBA4C3B","sourcesContent":["import { MethodParameters, MultiAction } from '../../utils/action';\nimport { encodeSingleTrade } from '../encode';\nimport { signCoreCommands } from '../sign';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { CORE_DEADLINE_IN_SECONDS } from '../../utils/consts';\nimport { Interface, Signer } from 'ethers';\nimport { abi } from '../../abis/Periphery.json';\nimport { ContractType, getAddress } from '../../utils/contractAddresses';\nimport { ethers } from 'ethers';\nexport const encodeMatchOrder = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n orderBase: bigint,\n orderPriceLimit: bigint,\n counterpartyAccountIds: number[],\n marketId: number,\n exchangeId: number,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleTrade(\n counterpartyAccountIds,\n orderBase,\n orderPriceLimit,\n marketId,\n exchangeId,\n multiAction,\n );\n const eip712Signature = await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n accountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n const functionSignature = 'executeMatchOrders';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\n ];\n\n const INTERFACE = new Interface(abi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(value).toString(10),\n };\n};\n"]}
|
package/dist/services/sign.js
CHANGED
|
@@ -48,7 +48,7 @@ function convertEthersSignatureToEIP712Signature(signature, deadline) {
|
|
|
48
48
|
deadline: deadline,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
function signCoreCommands(signer, reyaChainId, caller, accountId, commands, nonce, deadline) {
|
|
51
|
+
function signCoreCommands(signer, reyaChainId, caller, accountId, commands, nonce, deadline, extraSignatureData) {
|
|
52
52
|
return __awaiter(this, void 0, void 0, function () {
|
|
53
53
|
var signature;
|
|
54
54
|
return __generator(this, function (_a) {
|
|
@@ -76,7 +76,7 @@ function signCoreCommands(signer, reyaChainId, caller, accountId, commands, nonc
|
|
|
76
76
|
commands: commands,
|
|
77
77
|
nonce: nonce,
|
|
78
78
|
deadline: deadline,
|
|
79
|
-
extraSignatureData:
|
|
79
|
+
extraSignatureData: extraSignatureData,
|
|
80
80
|
})];
|
|
81
81
|
case 1:
|
|
82
82
|
signature = _a.sent();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"/","sources":["services/sign.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAA0E;AAC1E,gEAAsE;AAGtE,iCAAgC;AAShC,SAAS,uCAAuC,CAC9C,SAAoB,EACpB,QAAgB;IAEhB,OAAO;QACL,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;QACd,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAED,SAAsB,gBAAgB,CACpC,MAA8B,EAC9B,WAAwB,EACxB,MAAe,EACf,SAAiB,EACjB,QAAmB,EACnB,KAAa,EACb,QAAgB;;;;;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"/","sources":["services/sign.ts"],"names":[],"mappings":"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","sourcesContent":["import { JsonRpcSigner, Signature, Signer, TypedDataField } from 'ethers';\nimport { ContractType, getAddress } from '../utils/contractAddresses';\nimport { Address, ReyaChainId } from '@reyaxyz/common';\nimport { Command } from '../utils/action';\nimport { ethers } from 'ethers';\n\nexport type EIP712Signature = {\n v: number;\n r: string;\n s: string;\n deadline: number;\n};\n\nfunction convertEthersSignatureToEIP712Signature(\n signature: Signature,\n deadline: number,\n): EIP712Signature {\n return {\n v: signature.v,\n r: signature.r,\n s: signature.s,\n deadline: deadline,\n };\n}\n\nexport async function signCoreCommands(\n signer: Signer | JsonRpcSigner,\n reyaChainId: ReyaChainId,\n caller: Address,\n accountId: number,\n commands: Command[],\n nonce: number,\n deadline: number,\n extraSignatureData: string,\n): Promise<EIP712Signature> {\n const signature = await signReyaTypedData(\n signer,\n getAddress(reyaChainId, ContractType.CORE_PROXY),\n {\n ExecuteBySig: [\n { name: 'verifyingChainId', type: 'uint256' },\n { name: 'caller', type: 'address' },\n { name: 'accountId', type: 'uint128' },\n { name: 'commands', type: 'Command[]' },\n { name: 'nonce', type: 'uint256' },\n { name: 'deadline', type: 'uint256' },\n { name: 'extraSignatureData', type: 'bytes' },\n ],\n Command: [\n { name: 'commandType', type: 'uint8' },\n { name: 'inputs', type: 'bytes' },\n { name: 'marketId', type: 'uint128' },\n { name: 'exchangeId', type: 'uint128' },\n ],\n },\n {\n verifyingChainId: reyaChainId,\n caller: caller,\n accountId: accountId,\n commands: commands,\n nonce: nonce,\n deadline: deadline,\n extraSignatureData: extraSignatureData,\n },\n );\n\n return convertEthersSignatureToEIP712Signature(signature, deadline);\n}\n\nexport async function signPoolRemoveLiquidity(\n signer: Signer | JsonRpcSigner,\n reyaChainId: ReyaChainId,\n caller: Address,\n owner: Address,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n nonce: number,\n deadline: number,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): Promise<EIP712Signature> {\n const signature = await signReyaTypedData(\n signer,\n getAddress(reyaChainId, ContractType.PASSIVE_POOL_PROXY),\n {\n RemoveLiquidityBySig: [\n { name: 'verifyingChainId', type: 'uint256' },\n { name: 'caller', type: 'address' },\n { name: 'owner', type: 'address' },\n { name: 'poolId', type: 'uint128' },\n { name: 'sharesAmount', type: 'uint256' },\n { name: 'minOut', type: 'uint256' },\n { name: 'nonce', type: 'uint256' },\n { name: 'deadline', type: 'uint256' },\n { name: 'extraSignatureData', type: 'bytes' },\n ],\n },\n {\n verifyingChainId: reyaChainId,\n caller: caller,\n owner: owner,\n poolId: poolId,\n sharesAmount: sharesAmount,\n minOut: minOut,\n nonce: nonce,\n deadline: deadline,\n extraSignatureData: ethers.AbiCoder.defaultAbiCoder().encode(\n ['address', 'uint256', 'uint256'],\n [receiver, chainId, socketMsgGasLimit],\n ),\n },\n );\n\n return convertEthersSignatureToEIP712Signature(signature, deadline);\n}\n\nasync function signReyaTypedData(\n signer: Signer | JsonRpcSigner,\n verifyingContract: string,\n types: Record<string, Array<TypedDataField>>,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n value: Record<string, any>,\n): Promise<Signature> {\n const domain = {\n name: 'Reya',\n version: '1',\n verifyingContract: verifyingContract,\n };\n\n const signatureString = await signer.signTypedData(domain, types, value);\n\n return Signature.from(signatureString);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.d.ts","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC3B,MAAM,SAAS,CAAC;AAMjB,eAAO,MAAM,oBAAoB,WACvB,0BAA0B,KACjC,QAAQ,0BAA0B,CA8CpC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,oBAAoB,CAAC;AAYnE,OAAO,EAAE,eAAe,EAAoB,MAAM,SAAS,CAAC;AAG5D,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAIhC,eAAO,MAAM,uBAAuB,iBACpB,MAAM,KACnB,gBAMF,CAAC;AAEF,eAAO,MAAM,aAAa,cACb,MAAM,SACV,MAAM,UACL,MAAM,KACb,gBAWF,CAAC;AAEF,eAAO,MAAM,cAAc,cACd,MAAM,SACV,MAAM,UACL,MAAM,KACb,gBAWF,CAAC;AAEF,eAAO,MAAM,oBAAoB,WACvB,MAAM,WACL,MAAM,gBACD,MAAM,uBACC,MAAM,qBACR,MAAM,SAClB,MAAM,UACL,MAAM,KACb,QAAQ,gBAAgB,CAoC1B,CAAC;AAEF,eAAO,MAAM,yBAAyB,cACzB,MAAM,6BACU,MAAM,4BACP,MAAM,OAC3B,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,KACf,gBAgBF,CAAC;AAEF,eAAO,MAAM,2BAA2B,aAC5B,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,gBACJ,MAAM,yBACG,MAAM,wBACP,MAAM,yBACL,MAAM,KAC5B,gBAuBF,CAAC;AAEF,eAAO,MAAM,gCAAgC,aACjC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,aACP,MAAM,yBACM,MAAM,wBACP,MAAM,yBACL,MAAM,KAC5B,gBAuBF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAMjB,eAAO,MAAM,mBAAmB,kHAQ7B,yBAAyB,KAAG,QAAQ,+BAA+B,CAkDrE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,oBAAoB,CAAC;AAKnE,OAAO,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/orders/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAe,MAAM,oBAAoB,CAAC;AAKnE,OAAO,EAAa,MAAM,EAAE,MAAM,QAAQ,CAAC;AAI3C,eAAO,MAAM,gBAAgB,WACnB,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,aACN,MAAM,mBACA,MAAM,0BACC,MAAM,EAAE,YACtB,MAAM,cACJ,MAAM,KACjB,QAAQ,gBAAgB,CAkC1B,CAAC"}
|
|
@@ -7,6 +7,6 @@ export type EIP712Signature = {
|
|
|
7
7
|
s: string;
|
|
8
8
|
deadline: number;
|
|
9
9
|
};
|
|
10
|
-
export declare function signCoreCommands(signer: Signer | JsonRpcSigner, reyaChainId: ReyaChainId, caller: Address, accountId: number, commands: Command[], nonce: number, deadline: number): Promise<EIP712Signature>;
|
|
10
|
+
export declare function signCoreCommands(signer: Signer | JsonRpcSigner, reyaChainId: ReyaChainId, caller: Address, accountId: number, commands: Command[], nonce: number, deadline: number, extraSignatureData: string): Promise<EIP712Signature>;
|
|
11
11
|
export declare function signPoolRemoveLiquidity(signer: Signer | JsonRpcSigner, reyaChainId: ReyaChainId, caller: Address, owner: Address, poolId: number, sharesAmount: bigint, minOut: bigint, nonce: number, deadline: number, socketMsgGasLimit: bigint, chainId: number, receiver: string): Promise<EIP712Signature>;
|
|
12
12
|
//# sourceMappingURL=sign.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"/","sources":["services/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAcF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"/","sources":["services/sign.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,MAAM,EAAkB,MAAM,QAAQ,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,MAAM,eAAe,GAAG;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAcF,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EAAE,EACnB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,eAAe,CAAC,CAiC1B;AAED,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,GAAG,aAAa,EAC9B,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,OAAO,EACf,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,EACzB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,eAAe,CAAC,CAkC1B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.66.1",
|
|
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.68.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": "e6ce62d9c0199b05188656764491f37f500a26f5"
|
|
38
38
|
}
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
16
16
|
import { MultiAction } from '../../utils/action';
|
|
17
17
|
import { encodeSingleWithdraw } from '../encode';
|
|
18
|
+
import { ethers } from 'ethers';
|
|
18
19
|
|
|
19
20
|
export const transferFromMAToPool = async (
|
|
20
21
|
params: TransferFromMAToPoolParams,
|
|
@@ -25,6 +26,8 @@ export const transferFromMAToPool = async (
|
|
|
25
26
|
const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);
|
|
26
27
|
const amount = scale(tokenInfo.decimals)(params.amount);
|
|
27
28
|
|
|
29
|
+
const minShares = BigInt(0);
|
|
30
|
+
|
|
28
31
|
// transfer from MA to pool involves a core withdrawal
|
|
29
32
|
const multiAction = new MultiAction();
|
|
30
33
|
encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);
|
|
@@ -36,6 +39,10 @@ export const transferFromMAToPool = async (
|
|
|
36
39
|
multiAction.commands,
|
|
37
40
|
params.owner.coreSigNonce + 1,
|
|
38
41
|
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
42
|
+
ethers.AbiCoder.defaultAbiCoder().encode(
|
|
43
|
+
['uint128', 'address', 'uint256'],
|
|
44
|
+
[params.pool.id, params.owner.address, minShares],
|
|
45
|
+
),
|
|
39
46
|
);
|
|
40
47
|
|
|
41
48
|
const { calldata: data, value } = encodeTransferFromMAToPool(
|
|
@@ -43,7 +50,7 @@ export const transferFromMAToPool = async (
|
|
|
43
50
|
amount,
|
|
44
51
|
eip712Signature,
|
|
45
52
|
params.pool.id,
|
|
46
|
-
|
|
53
|
+
minShares,
|
|
47
54
|
params.owner.address,
|
|
48
55
|
);
|
|
49
56
|
|
|
@@ -8,7 +8,6 @@ import {
|
|
|
8
8
|
} from '../encode';
|
|
9
9
|
|
|
10
10
|
import { abi } from '../../abis/CoreProxy.json';
|
|
11
|
-
import { abi as coreAbi } from '../../abis/CoreProxy.json';
|
|
12
11
|
import { abi as peripheryAbi } from '../../abis/Periphery.json';
|
|
13
12
|
import { abi as Socket_VaultWithPayloadAbi } from '../../abis/socket/VaultWithPayload.json';
|
|
14
13
|
import { EIP712Signature, signCoreCommands } from '../sign';
|
|
@@ -83,18 +82,24 @@ export const encodeTransferMargin = async (
|
|
|
83
82
|
multiAction.commands,
|
|
84
83
|
coreSigNonce + 1,
|
|
85
84
|
getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,
|
|
85
|
+
ethers.AbiCoder.defaultAbiCoder().encode([], []),
|
|
86
86
|
);
|
|
87
87
|
|
|
88
88
|
const value = BigInt(0);
|
|
89
|
-
const functionSignature = '
|
|
89
|
+
const functionSignature = 'transferFromMAToMA';
|
|
90
90
|
const parameters = [
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
{
|
|
92
|
+
accountId: fromMarginAccountId,
|
|
93
|
+
transfer: {
|
|
94
|
+
destAccountId: toMarginAccountId,
|
|
95
|
+
collateral: token,
|
|
96
|
+
collateralAmount: amount,
|
|
97
|
+
},
|
|
98
|
+
sig: eip712Signature,
|
|
99
|
+
},
|
|
95
100
|
];
|
|
96
101
|
|
|
97
|
-
const INTERFACE = new Interface(
|
|
102
|
+
const INTERFACE = new Interface(peripheryAbi);
|
|
98
103
|
const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
99
104
|
return {
|
|
100
105
|
calldata: calldata,
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
getTokenInfoByAddress,
|
|
6
6
|
} from '@reyaxyz/common';
|
|
7
7
|
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
8
|
-
import {
|
|
8
|
+
import { signAndBroadcastTransaction } from '../executeTransaction';
|
|
9
9
|
import { signCoreCommands } from '../sign';
|
|
10
10
|
import { encodeWithdrawMAAndBridge } from './encode';
|
|
11
11
|
import {
|
|
@@ -15,6 +15,7 @@ import {
|
|
|
15
15
|
import { BRIDGE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
16
16
|
import { encodeSingleWithdraw } from '../encode';
|
|
17
17
|
import { MultiAction } from '../../utils/action';
|
|
18
|
+
import { ethers } from 'ethers';
|
|
18
19
|
|
|
19
20
|
export const withdrawMAAndBridge = async ({
|
|
20
21
|
signer,
|
|
@@ -36,6 +37,8 @@ export const withdrawMAAndBridge = async ({
|
|
|
36
37
|
scale(corePeripheryTokenInfo.decimals)(unscaledAmount),
|
|
37
38
|
multiAction,
|
|
38
39
|
);
|
|
40
|
+
|
|
41
|
+
const socketMsgGasLimit = BigInt('10000000');
|
|
39
42
|
const eip712Signature = await signCoreCommands(
|
|
40
43
|
signer,
|
|
41
44
|
reyaChainId,
|
|
@@ -44,6 +47,10 @@ export const withdrawMAAndBridge = async ({
|
|
|
44
47
|
multiAction.commands,
|
|
45
48
|
owner.coreSigNonce + 1,
|
|
46
49
|
getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,
|
|
50
|
+
ethers.AbiCoder.defaultAbiCoder().encode(
|
|
51
|
+
['address', 'uint256', 'uint256'],
|
|
52
|
+
[receiverAddress, moneyInOutChainId, socketMsgGasLimit],
|
|
53
|
+
),
|
|
47
54
|
);
|
|
48
55
|
|
|
49
56
|
const { calldata: data, value } = encodeWithdrawMAAndBridge(
|
|
@@ -51,17 +58,18 @@ export const withdrawMAAndBridge = async ({
|
|
|
51
58
|
corePeripheryTokenInfo.address,
|
|
52
59
|
scale(corePeripheryTokenInfo.decimals)(unscaledAmount),
|
|
53
60
|
eip712Signature,
|
|
54
|
-
|
|
61
|
+
socketMsgGasLimit,
|
|
55
62
|
moneyInOutChainId,
|
|
56
63
|
receiverAddress,
|
|
57
64
|
);
|
|
58
65
|
|
|
59
|
-
const result = await
|
|
66
|
+
const result = await signAndBroadcastTransaction(
|
|
60
67
|
signer,
|
|
61
68
|
data,
|
|
62
69
|
value,
|
|
63
70
|
reyaChainId,
|
|
64
71
|
ContractType.PERIPHERY_PROXY,
|
|
72
|
+
{},
|
|
65
73
|
);
|
|
66
74
|
|
|
67
75
|
return {
|
|
@@ -6,6 +6,7 @@ import { CORE_DEADLINE_IN_SECONDS } from '../../utils/consts';
|
|
|
6
6
|
import { Interface, Signer } from 'ethers';
|
|
7
7
|
import { abi } from '../../abis/Periphery.json';
|
|
8
8
|
import { ContractType, getAddress } from '../../utils/contractAddresses';
|
|
9
|
+
import { ethers } from 'ethers';
|
|
9
10
|
export const encodeMatchOrder = async (
|
|
10
11
|
signer: Signer,
|
|
11
12
|
chainId: number,
|
|
@@ -35,6 +36,7 @@ export const encodeMatchOrder = async (
|
|
|
35
36
|
multiAction.commands,
|
|
36
37
|
coreSigNonce + 1,
|
|
37
38
|
getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,
|
|
39
|
+
ethers.AbiCoder.defaultAbiCoder().encode([], []),
|
|
38
40
|
);
|
|
39
41
|
|
|
40
42
|
const value = BigInt(0);
|
package/src/services/sign.ts
CHANGED
|
@@ -31,6 +31,7 @@ export async function signCoreCommands(
|
|
|
31
31
|
commands: Command[],
|
|
32
32
|
nonce: number,
|
|
33
33
|
deadline: number,
|
|
34
|
+
extraSignatureData: string,
|
|
34
35
|
): Promise<EIP712Signature> {
|
|
35
36
|
const signature = await signReyaTypedData(
|
|
36
37
|
signer,
|
|
@@ -59,7 +60,7 @@ export async function signCoreCommands(
|
|
|
59
60
|
commands: commands,
|
|
60
61
|
nonce: nonce,
|
|
61
62
|
deadline: deadline,
|
|
62
|
-
extraSignatureData:
|
|
63
|
+
extraSignatureData: extraSignatureData,
|
|
63
64
|
},
|
|
64
65
|
);
|
|
65
66
|
|