@reyaxyz/sdk 0.146.8 → 0.147.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/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/services/lp/encode.js +1 -31
- package/dist/services/lp/encode.js.map +1 -1
- package/dist/services/lp/index.js +0 -2
- package/dist/services/lp/index.js.map +1 -1
- package/dist/services/lp/types.js.map +1 -1
- package/dist/services/margin-accounts/account.js +3 -0
- package/dist/services/margin-accounts/account.js.map +1 -1
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js +3 -0
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js.map +1 -1
- package/dist/services/margin-accounts/encode.js +1 -93
- package/dist/services/margin-accounts/encode.js.map +1 -1
- package/dist/services/margin-accounts/index.js +0 -2
- package/dist/services/margin-accounts/index.js.map +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +3 -0
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -1
- package/dist/services/margin-accounts/types.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +3 -0
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
- package/dist/services/{lp/stakeReya.js → margin-accounts-v2/createAccount.js} +21 -23
- package/dist/services/margin-accounts-v2/createAccount.js.map +1 -0
- package/dist/services/margin-accounts-v2/deposit/index.js +12 -0
- package/dist/services/margin-accounts-v2/deposit/index.js.map +1 -0
- package/dist/services/margin-accounts-v2/deposit/lz/estimateFeeLzBridgeAndDepositMA.js +71 -0
- package/dist/services/margin-accounts-v2/deposit/lz/estimateFeeLzBridgeAndDepositMA.js.map +1 -0
- package/dist/services/margin-accounts-v2/deposit/lz/lzBridgeAndDepositMA.js +91 -0
- package/dist/services/margin-accounts-v2/deposit/lz/lzBridgeAndDepositMA.js.map +1 -0
- package/dist/services/margin-accounts-v2/deposit/socket/estimateFeeSocketBridgeAndDepositMA.js +62 -0
- package/dist/services/margin-accounts-v2/deposit/socket/estimateFeeSocketBridgeAndDepositMA.js.map +1 -0
- package/dist/services/margin-accounts-v2/deposit/socket/socketBridgeAndDepositMA.js +82 -0
- package/dist/services/margin-accounts-v2/deposit/socket/socketBridgeAndDepositMA.js.map +1 -0
- package/dist/services/margin-accounts-v2/erc20/approve.erc20.js +72 -0
- package/dist/services/margin-accounts-v2/erc20/approve.erc20.js.map +1 -0
- package/dist/services/margin-accounts-v2/erc20/getAllowance.erc20.js +64 -0
- package/dist/services/margin-accounts-v2/erc20/getAllowance.erc20.js.map +1 -0
- package/dist/services/margin-accounts-v2/erc20/getBalance.erc20.js +62 -0
- package/dist/services/margin-accounts-v2/erc20/getBalance.erc20.js.map +1 -0
- package/dist/services/margin-accounts-v2/erc20/index.js +10 -0
- package/dist/services/margin-accounts-v2/erc20/index.js.map +1 -0
- package/dist/services/margin-accounts-v2/index.js +23 -0
- package/dist/services/margin-accounts-v2/index.js.map +1 -0
- package/dist/services/{lp/unstakeStakedReya.js → margin-accounts-v2/transferMarginBetweenAccounts.js} +40 -21
- package/dist/services/margin-accounts-v2/transferMarginBetweenAccounts.js.map +1 -0
- package/dist/services/margin-accounts-v2/types.js +3 -0
- package/dist/services/margin-accounts-v2/types.js.map +1 -0
- package/dist/services/margin-accounts-v2/withdraw/index.js +8 -0
- package/dist/services/margin-accounts-v2/withdraw/index.js.map +1 -0
- package/dist/services/margin-accounts-v2/withdraw/lz/withdrawMAAndLzBridge.js +94 -0
- package/dist/services/margin-accounts-v2/withdraw/lz/withdrawMAAndLzBridge.js.map +1 -0
- package/dist/services/margin-accounts-v2/withdraw/socket/withdrawMAAndSocketBridge.js +95 -0
- package/dist/services/margin-accounts-v2/withdraw/socket/withdrawMAAndSocketBridge.js.map +1 -0
- package/dist/services/token/getBalanceByTokenAddress.js +1 -23
- package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/services/lp/encode.d.ts +0 -2
- package/dist/types/services/lp/encode.d.ts.map +1 -1
- package/dist/types/services/lp/index.d.ts +0 -2
- package/dist/types/services/lp/index.d.ts.map +1 -1
- package/dist/types/services/lp/types.d.ts +0 -22
- package/dist/types/services/lp/types.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/account.d.ts +3 -0
- package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/bridgeAndDepositExistingMA.d.ts +3 -0
- package/dist/types/services/margin-accounts/bridgeAndDepositExistingMA.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/encode.d.ts +1 -12
- package/dist/types/services/margin-accounts/encode.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/index.d.ts +0 -2
- package/dist/types/services/margin-accounts/index.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts +3 -0
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/types.d.ts +0 -12
- package/dist/types/services/margin-accounts/types.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts +3 -0
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
- package/dist/types/services/margin-accounts-v2/createAccount.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/createAccount.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/deposit/index.d.ts +5 -0
- package/dist/types/services/margin-accounts-v2/deposit/index.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/deposit/lz/estimateFeeLzBridgeAndDepositMA.d.ts +4 -0
- package/dist/types/services/margin-accounts-v2/deposit/lz/estimateFeeLzBridgeAndDepositMA.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/deposit/lz/lzBridgeAndDepositMA.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/deposit/lz/lzBridgeAndDepositMA.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/deposit/socket/estimateFeeSocketBridgeAndDepositMA.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/deposit/socket/estimateFeeSocketBridgeAndDepositMA.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/deposit/socket/socketBridgeAndDepositMA.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/deposit/socket/socketBridgeAndDepositMA.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/erc20/approve.erc20.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/erc20/approve.erc20.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/erc20/getAllowance.erc20.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/erc20/getAllowance.erc20.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/erc20/getBalance.erc20.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/erc20/getBalance.erc20.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/erc20/index.d.ts +4 -0
- package/dist/types/services/margin-accounts-v2/erc20/index.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/index.d.ts +7 -0
- package/dist/types/services/margin-accounts-v2/index.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/transferMarginBetweenAccounts.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/transferMarginBetweenAccounts.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/types.d.ts +121 -0
- package/dist/types/services/margin-accounts-v2/types.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/withdraw/index.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/withdraw/index.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/withdraw/lz/withdrawMAAndLzBridge.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/withdraw/lz/withdrawMAAndLzBridge.d.ts.map +1 -0
- package/dist/types/services/margin-accounts-v2/withdraw/socket/withdrawMAAndSocketBridge.d.ts +3 -0
- package/dist/types/services/margin-accounts-v2/withdraw/socket/withdrawMAAndSocketBridge.d.ts.map +1 -0
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts +1 -2
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
- package/dist/types/utils/checkChainId.d.ts +3 -0
- package/dist/types/utils/checkChainId.d.ts.map +1 -0
- package/dist/types/utils/network.d.ts +2 -1
- package/dist/types/utils/network.d.ts.map +1 -1
- package/dist/utils/checkChainId.js +59 -0
- package/dist/utils/checkChainId.js.map +1 -0
- package/dist/utils/network.js +6 -1
- package/dist/utils/network.js.map +1 -1
- package/package.json +4 -4
- package/src/index.ts +1 -0
- package/src/services/lp/encode.ts +0 -40
- package/src/services/lp/index.ts +0 -2
- package/src/services/lp/types.ts +0 -26
- package/src/services/margin-accounts/account.ts +3 -1
- package/src/services/margin-accounts/bridgeAndDepositExistingMA.ts +3 -0
- package/src/services/margin-accounts/encode.ts +1 -151
- package/src/services/margin-accounts/index.ts +0 -2
- package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +3 -0
- package/src/services/margin-accounts/types.ts +0 -16
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +3 -0
- package/src/services/margin-accounts-v2/createAccount.ts +35 -0
- package/src/services/margin-accounts-v2/deposit/index.ts +4 -0
- package/src/services/margin-accounts-v2/deposit/lz/estimateFeeLzBridgeAndDepositMA.ts +30 -0
- package/src/services/margin-accounts-v2/deposit/lz/lzBridgeAndDepositMA.ts +57 -0
- package/src/services/margin-accounts-v2/deposit/socket/estimateFeeSocketBridgeAndDepositMA.ts +24 -0
- package/src/services/margin-accounts-v2/deposit/socket/socketBridgeAndDepositMA.ts +59 -0
- package/src/services/margin-accounts-v2/erc20/approve.erc20.ts +38 -0
- package/src/services/margin-accounts-v2/erc20/getAllowance.erc20.ts +22 -0
- package/src/services/margin-accounts-v2/erc20/getBalance.erc20.ts +17 -0
- package/src/services/margin-accounts-v2/erc20/index.ts +3 -0
- package/src/services/margin-accounts-v2/index.ts +6 -0
- package/src/services/margin-accounts-v2/transferMarginBetweenAccounts.ts +75 -0
- package/src/services/margin-accounts-v2/types.ts +151 -0
- package/src/services/margin-accounts-v2/withdraw/index.ts +2 -0
- package/src/services/margin-accounts-v2/withdraw/lz/withdrawMAAndLzBridge.ts +81 -0
- package/src/services/margin-accounts-v2/withdraw/socket/withdrawMAAndSocketBridge.ts +83 -0
- package/src/services/token/getBalanceByTokenAddress.ts +0 -16
- package/src/utils/checkChainId.ts +16 -0
- package/src/utils/network.ts +10 -1
- package/dist/services/lp/stakeReya.js.map +0 -1
- package/dist/services/lp/unstakeStakedReya.js.map +0 -1
- package/dist/services/margin-accounts/oftBridgeAndDepositExistingMA.js +0 -102
- package/dist/services/margin-accounts/oftBridgeAndDepositExistingMA.js.map +0 -1
- package/dist/services/margin-accounts/oftWithdrawMAAndBridge.js +0 -89
- package/dist/services/margin-accounts/oftWithdrawMAAndBridge.js.map +0 -1
- package/dist/types/services/lp/stakeReya.d.ts +0 -3
- package/dist/types/services/lp/stakeReya.d.ts.map +0 -1
- package/dist/types/services/lp/unstakeStakedReya.d.ts +0 -3
- package/dist/types/services/lp/unstakeStakedReya.d.ts.map +0 -1
- package/dist/types/services/margin-accounts/oftBridgeAndDepositExistingMA.d.ts +0 -3
- package/dist/types/services/margin-accounts/oftBridgeAndDepositExistingMA.d.ts.map +0 -1
- package/dist/types/services/margin-accounts/oftWithdrawMAAndBridge.d.ts +0 -3
- package/dist/types/services/margin-accounts/oftWithdrawMAAndBridge.d.ts.map +0 -1
- package/src/services/lp/stakeReya.ts +0 -66
- package/src/services/lp/unstakeStakedReya.ts +0 -66
- package/src/services/margin-accounts/oftBridgeAndDepositExistingMA.ts +0 -112
- package/src/services/margin-accounts/oftWithdrawMAAndBridge.ts +0 -93
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
package/dist/index.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.getTransactionModuleClient = exports.configureSDK = void 0;
|
|
|
18
18
|
__exportStar(require("./services/api-wallets"), exports);
|
|
19
19
|
__exportStar(require("./services/lp"), exports);
|
|
20
20
|
__exportStar(require("./services/margin-accounts"), exports);
|
|
21
|
+
__exportStar(require("./services/margin-accounts-v2"), exports);
|
|
21
22
|
__exportStar(require("./services/money-flows"), exports);
|
|
22
23
|
__exportStar(require("./services/orders"), exports);
|
|
23
24
|
__exportStar(require("./services/token"), exports);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,gDAA8B;AAC9B,6DAA2C;AAC3C,yDAAuC;AACvC,oDAAkC;AAClC,mDAAiC;AACjC,mCAAoE;AAA3D,sGAAA,YAAY,OAAA;AAAE,oHAAA,0BAA0B,OAAA","sourcesContent":["export * from './services/api-wallets';\nexport * from './services/lp';\nexport * from './services/margin-accounts';\nexport * from './services/money-flows';\nexport * from './services/orders';\nexport * from './services/token';\nexport { configureSDK, getTransactionModuleClient } from './config';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,gDAA8B;AAC9B,6DAA2C;AAC3C,gEAA8C;AAC9C,yDAAuC;AACvC,oDAAkC;AAClC,mDAAiC;AACjC,mCAAoE;AAA3D,sGAAA,YAAY,OAAA;AAAE,oHAAA,0BAA0B,OAAA","sourcesContent":["export * from './services/api-wallets';\nexport * from './services/lp';\nexport * from './services/margin-accounts';\nexport * from './services/margin-accounts-v2';\nexport * from './services/money-flows';\nexport * from './services/orders';\nexport * from './services/token';\nexport { configureSDK, getTransactionModuleClient } from './config';\n"]}
|
|
@@ -36,7 +36,7 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.encodeBridgeAndDepositPassivePool = exports.
|
|
39
|
+
exports.encodeBridgeAndDepositPassivePool = exports.encodeWithdrawPassivePoolAndBridge = exports.encodeStakeFromMarginAccount = exports.encodeUnstakeFromMarginAccount = exports.encodeDepositLiquidityToAccount = void 0;
|
|
40
40
|
var ethers_1 = require("ethers");
|
|
41
41
|
var common_1 = require("@reyaxyz/common");
|
|
42
42
|
var ethers_2 = require("ethers");
|
|
@@ -121,36 +121,6 @@ var encodeWithdrawPassivePoolAndBridge = function (owner, poolId, sharesAmount,
|
|
|
121
121
|
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
122
122
|
};
|
|
123
123
|
exports.encodeWithdrawPassivePoolAndBridge = encodeWithdrawPassivePoolAndBridge;
|
|
124
|
-
var encodeStakeReya = function (accountId, assetAmount, minShareAmount, withdrawSig) {
|
|
125
|
-
var functionSignature = 'stakeReya';
|
|
126
|
-
var parameters = [
|
|
127
|
-
{
|
|
128
|
-
accountId: accountId,
|
|
129
|
-
assetAmount: assetAmount,
|
|
130
|
-
minShareAmount: minShareAmount,
|
|
131
|
-
withdrawSig: withdrawSig,
|
|
132
|
-
},
|
|
133
|
-
];
|
|
134
|
-
var INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
|
|
135
|
-
var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
136
|
-
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
137
|
-
};
|
|
138
|
-
exports.encodeStakeReya = encodeStakeReya;
|
|
139
|
-
var encodeUnstakeStakedReya = function (accountId, shareAmount, minAssetAmount, withdrawSig) {
|
|
140
|
-
var functionSignature = 'unstakeStakedReya';
|
|
141
|
-
var parameters = [
|
|
142
|
-
{
|
|
143
|
-
accountId: accountId,
|
|
144
|
-
shareAmount: shareAmount,
|
|
145
|
-
minAssetAmount: minAssetAmount,
|
|
146
|
-
withdrawSig: withdrawSig,
|
|
147
|
-
},
|
|
148
|
-
];
|
|
149
|
-
var INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
|
|
150
|
-
var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
151
|
-
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
152
|
-
};
|
|
153
|
-
exports.encodeUnstakeStakedReya = encodeUnstakeStakedReya;
|
|
154
124
|
var encodeBridgeAndDepositPassivePool = function (receiver, socketMsgGasLimit, socketConnector, socketBridgeOptions, socketFees, poolId, owner, amount, minShares) {
|
|
155
125
|
var PERIPHERY_INTERFACE = new ethers_1.Interface(common_1.PeripheryAbi);
|
|
156
126
|
var inputs = { poolId: poolId, owner: owner, minShares: minShares };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { Interface } from 'ethers';\nimport {\n EIP712Signature,\n Socket_VaultWithPayloadAbi,\n MultiAction,\n MethodParameters,\n PeripheryAbi,\n signCoreCommands,\n getAddress,\n ContractType,\n CORE_DEADLINE_IN_SECONDS,\n getCurrentTimestampInSeconds,\n} from '@reyaxyz/common';\nimport { ethers, Signer } from 'ethers';\nimport {\n encodeSingleStakeFromMarginAccount,\n encodeSingleUnstakeFromMarginAccount,\n} from '../encode';\n\nexport const encodeDepositLiquidityToAccount = async (\n sig: EIP712Signature,\n srusdAmount: bigint,\n poolId: number,\n accountId: number,\n): Promise<MethodParameters> => {\n const functionSignature = 'depositLiquidityToAccount';\n const parameters = [{ accountId, poolId, sharesAmount: srusdAmount, sig }];\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 encodeUnstakeFromMarginAccount = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n poolId: number,\n srusdAmount: bigint,\n mintOut: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleUnstakeFromMarginAccount(\n poolId,\n srusdAmount,\n mintOut,\n multiAction,\n );\n\n const { signature: 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\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\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 encodeStakeFromMarginAccount = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n poolId: number,\n amount: bigint,\n minShares: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleStakeFromMarginAccount(poolId, amount, minShares, multiAction);\n\n const { signature: 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\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\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 encodeWithdrawPassivePoolAndBridge = (\n owner: string,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawPassivePool';\n const parameters = [\n {\n owner,\n poolId,\n sharesAmount,\n minOut,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeStakeReya = (\n accountId: number,\n assetAmount: bigint,\n minShareAmount: bigint,\n withdrawSig: EIP712Signature,\n): MethodParameters => {\n const functionSignature = 'stakeReya';\n const parameters = [\n {\n accountId,\n assetAmount,\n minShareAmount,\n withdrawSig,\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 encodeUnstakeStakedReya = (\n accountId: number,\n shareAmount: bigint,\n minAssetAmount: bigint,\n withdrawSig: EIP712Signature,\n): MethodParameters => {\n const functionSignature = 'unstakeStakedReya';\n const parameters = [\n {\n accountId,\n shareAmount,\n minAssetAmount,\n withdrawSig,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositPassivePool = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n poolId: number,\n owner: string,\n amount: bigint,\n minShares: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = { poolId, owner, minShares };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositPassivePool((uint128,address,uint256))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n amount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import { Interface } from 'ethers';\nimport {\n EIP712Signature,\n Socket_VaultWithPayloadAbi,\n MultiAction,\n MethodParameters,\n PeripheryAbi,\n signCoreCommands,\n getAddress,\n ContractType,\n CORE_DEADLINE_IN_SECONDS,\n getCurrentTimestampInSeconds,\n} from '@reyaxyz/common';\nimport { ethers, Signer } from 'ethers';\nimport {\n encodeSingleStakeFromMarginAccount,\n encodeSingleUnstakeFromMarginAccount,\n} from '../encode';\n\nexport const encodeDepositLiquidityToAccount = async (\n sig: EIP712Signature,\n srusdAmount: bigint,\n poolId: number,\n accountId: number,\n): Promise<MethodParameters> => {\n const functionSignature = 'depositLiquidityToAccount';\n const parameters = [{ accountId, poolId, sharesAmount: srusdAmount, sig }];\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 encodeUnstakeFromMarginAccount = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n poolId: number,\n srusdAmount: bigint,\n mintOut: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleUnstakeFromMarginAccount(\n poolId,\n srusdAmount,\n mintOut,\n multiAction,\n );\n\n const { signature: 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\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\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 encodeStakeFromMarginAccount = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n poolId: number,\n amount: bigint,\n minShares: bigint,\n): Promise<MethodParameters> => {\n const multiAction = new MultiAction();\n\n encodeSingleStakeFromMarginAccount(poolId, amount, minShares, multiAction);\n\n const { signature: 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\n const functionSignature = 'execute';\n const parameters = [\n { accountId, commands: multiAction.commands, sig: eip712Signature },\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 encodeWithdrawPassivePoolAndBridge = (\n owner: string,\n poolId: number,\n sharesAmount: bigint,\n minOut: bigint,\n sig: EIP712Signature,\n socketMsgGasLimit: bigint,\n chainId: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawPassivePool';\n const parameters = [\n {\n owner,\n poolId,\n sharesAmount,\n minOut,\n sig,\n socketMsgGasLimit,\n chainId,\n receiver,\n },\n ];\n const INTERFACE = new Interface(PeripheryAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: BigInt(0).toString(10) };\n};\n\nexport const encodeBridgeAndDepositPassivePool = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n poolId: number,\n owner: string,\n amount: bigint,\n minShares: bigint,\n): MethodParameters => {\n const PERIPHERY_INTERFACE = new Interface(PeripheryAbi);\n const inputs = { poolId, owner, minShares };\n const peripheryCalldata = PERIPHERY_INTERFACE.encodeFunctionData(\n 'depositPassivePool((uint128,address,uint256))',\n [inputs],\n );\n\n const functionSignature = 'bridge';\n const parameters = [\n receiver,\n amount,\n socketMsgGasLimit,\n socketConnector,\n peripheryCalldata,\n socketBridgeOptions,\n ];\n const INTERFACE = new Interface(Socket_VaultWithPayloadAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return { calldata: calldata, value: socketFees.toString(10) };\n};\n"]}
|
|
@@ -20,6 +20,4 @@ __exportStar(require("./withdrawPassivePoolAndBridge"), exports);
|
|
|
20
20
|
__exportStar(require("./transferStakeToMarginAccount"), exports);
|
|
21
21
|
__exportStar(require("./unstakeFromMarginAccount"), exports);
|
|
22
22
|
__exportStar(require("./stakeFromMarginAccount"), exports);
|
|
23
|
-
__exportStar(require("./stakeReya"), exports);
|
|
24
|
-
__exportStar(require("./unstakeStakedReya"), exports);
|
|
25
23
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["services/lp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gEAA8C;AAC9C,iEAA+C;AAC/C,iEAA+C;AAC/C,6DAA2C;AAC3C,2DAAyC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["services/lp/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,gEAA8C;AAC9C,iEAA+C;AAC/C,iEAA+C;AAC/C,6DAA2C;AAC3C,2DAAyC","sourcesContent":["export * from './types';\nexport * from './bridgeAndDepositPassivePool';\nexport * from './withdrawPassivePoolAndBridge';\nexport * from './transferStakeToMarginAccount';\nexport * from './unstakeFromMarginAccount';\nexport * from './stakeFromMarginAccount';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {\n LpPoolEntity,\n LpWithdrawBalanceEntity,\n MoneyInOutChainId,\n OwnerMetadataEntity,\n SocketDepositFees,\n} from '@reyaxyz/common';\n\nexport type TransferStakeToMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id'>;\n srusdAmount: number;\n};\n\nexport type TransferStakeToMarginAccountResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type UnstakeFromMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id'>;\n srusdAmount: number;\n};\n\nexport type UnstakeFromMarginAccountResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type StakeFromMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n};\n\nexport type StakeFromMarginAccountResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type WithdrawPassivePoolAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n};\n\nexport type WithdrawPassivePoolAndBridgeResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type
|
|
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 MoneyInOutChainId,\n OwnerMetadataEntity,\n SocketDepositFees,\n} from '@reyaxyz/common';\n\nexport type TransferStakeToMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id'>;\n srusdAmount: number;\n};\n\nexport type TransferStakeToMarginAccountResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type UnstakeFromMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id'>;\n srusdAmount: number;\n};\n\nexport type UnstakeFromMarginAccountResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type StakeFromMarginAccountParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n marginAccountId: number;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n};\n\nexport type StakeFromMarginAccountResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type WithdrawPassivePoolAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'poolSigNonce'>;\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n sharePrice: LpWithdrawBalanceEntity['poolSharePrice'];\n sharesAmount: number;\n withdrawMax: boolean;\n};\n\nexport type WithdrawPassivePoolAndBridgeResult = {\n transactionHash: string | null;\n poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;\n};\n\nexport type BridgeAndDepositPassivePoolParams = {\n signer: Signer | JsonRpcSigner;\n ownerAddress: OwnerMetadataEntity['address'];\n pool: Pick<LpPoolEntity, 'id' | 'tokenAddress'>;\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n};\n\nexport type BridgeAndDepositPassivePoolResult = {\n transactionHash: string | null;\n};\n"]}
|
|
@@ -41,6 +41,9 @@ var network_1 = require("../../utils/network");
|
|
|
41
41
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
42
42
|
var encode_1 = require("./encode");
|
|
43
43
|
var common_1 = require("@reyaxyz/common");
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated Use {@link createAccountV2} instead.
|
|
46
|
+
*/
|
|
44
47
|
var createAccount = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
48
|
var data, chainId, result;
|
|
46
49
|
return __generator(this, function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,8EAA6E;AAC7E,mCAAmD;AAEnD,0CAA+C;
|
|
1
|
+
{"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAqD;AACrD,8EAA6E;AAC7E,mCAAmD;AAEnD,0CAA+C;AAC/C;;GAEG;AACI,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;gBAET,IAAI,GAAK,IAAA,gCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,SAAjD,CAAkD;gBAClE,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAElB,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,OAAO,EACP,qBAAY,CAAC,UAAU,EACvB;wBACE,WAAW,EAAE,MAAM,CAAC,IAAI;wBACxB,MAAM,EAAE,eAAe;wBACvB,MAAM,EAAE,MAAM,CAAC,YAAY;wBAC3B,aAAa,EAAE,MAAM,CAAC,MAAM;qBAC7B,CACF,EAAA;;gBAVK,MAAM,GAAG,SAUd;gBACD,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;wBAClD,SAAS,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC;qBACrC,EAAC;;;KACH,CAAC;AAtBW,QAAA,aAAa,iBAsBxB","sourcesContent":["import { getReyaNetwork } from '../../utils/network';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { encodeCreateAccountCall } from './encode';\nimport { CreateAccountParams, CreateAccountResult } from './types';\nimport { ContractType } from '@reyaxyz/common';\n/**\n * @deprecated Use {@link createAccountV2} instead.\n */\nexport const createAccount = async (\n params: CreateAccountParams,\n): Promise<CreateAccountResult> => {\n const { calldata: data } = encodeCreateAccountCall(params.ownerAddress);\n const chainId = getReyaNetwork();\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.CORE_PROXY,\n {\n accountName: params.name,\n action: 'createAccount',\n sender: params.ownerAddress,\n accountSource: params.source,\n },\n );\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n accountId: Number(result?.accountId),\n };\n};\n"]}
|
|
@@ -41,6 +41,9 @@ var common_1 = require("@reyaxyz/common");
|
|
|
41
41
|
var common_2 = require("@reyaxyz/common");
|
|
42
42
|
var encode_1 = require("./encode");
|
|
43
43
|
var config_1 = require("../../config");
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated Use {@link socketBridgeAndDepositMAV2} instead.
|
|
46
|
+
*/
|
|
44
47
|
var bridgeAndDepositExistingMA = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
48
|
var moneyInOutChainId, _a, _b, reyaChainId, moneyInOutTokenInfo, reyaPeripheryTokenInfo, reyaCoreTokenInfo, peripheryAddress, socketConnectors, _c, data, value, result, transactionModuleClient, error_1;
|
|
46
49
|
var _d, _e, _f;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositExistingMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CASyB;AACzB,0CAA+E;AAC/E,mCAA4D;AAK5D,uCAA0D;
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositExistingMA.js","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CASyB;AACzB,0CAA+E;AAC/E,mCAA4D;AAK5D,uCAA0D;AAE1D;;GAEG;AACI,IAAM,0BAA0B,GAAG,UACxC,MAAwC;;;;;;4BAGtC,MAAM,CAAC,iBAAiB;;;;gBACxB,KAAA,MAAM,CAAA;gBAAE,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAAlD,KAAA,kBAAO,MAAA,CAAC,SAA0C,CAAC,0CAAE,OAAO,EAAC,CAAA;;;gBAFzD,iBAAiB,KAEwC;gBACzD,WAAW,GAAG,IAAA,4CAAmC,EAAC,iBAAiB,CAAC,CAAC;gBAErE,mBAAmB,GAAG,IAAA,8BAAqB,EAC/C,MAAM,CAAC,YAAY,EACnB,iBAAiB,CAClB,CAAC;gBACI,sBAAsB,GAAG,IAAA,2BAAkB,EAC/C,mBAAmB,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,EACzE,WAAW,CACZ,CAAC;gBACI,iBAAiB,GAAG,sBAAsB,CAAC,gBAAgB;oBAC/D,CAAC,CAAC,IAAA,2BAAkB,EAAC,MAAM,EAAE,WAAW,CAAC;oBACzC,CAAC,CAAC,sBAAsB,CAAC;gBAErB,gBAAgB,GAAG,IAAA,mBAAU,EACjC,WAAW,EACX,qBAAY,CAAC,eAAe,CAC7B,CAAC;gBAEI,gBAAgB,GAAG,IAAA,4BAAmB,EAAC;oBAC3C,iBAAiB,EAAE,iBAAiB;oBACpC,SAAS,EAAE,mBAAmB,CAAC,IAAI;iBACpC,CAAC,CAAC;gBAEG,KAA4B,IAAA,yCAAgC,EAChE,gBAAgB,EAChB,uCAA8B,EAC9B,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,eAAe,EACtB,sBAAsB,CAAC,OAAO,EAC9B,IAAA,cAAK,EAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CACnD,EATiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAS3B;gBAEa,qBAAM,IAAA,2BAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,iBAAiB;wBACpC,SAAS,EAAE,mBAAmB,CAAC,IAAI;qBACpC,CAAC,CACH,EAAA;;gBATK,MAAM,GAAG,SASd;gBAED,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,EAAE,CAAC;oBAClB,sBAAO;4BACL,eAAe,EAAE,IAAI;yBACtB,EAAC;gBACJ,CAAC;;;;gBAGO,uBAAuB,GAAG,IAAA,mCAA0B,GAAE,CAAC;gBAC7D,qBAAM,uBAAuB,CAAC,sBAAsB,CAClD,MAAM,CAAC,eAAe,EACtB,MAAM,CAAC,IAAI,EACX,iBAAiB,EACjB,MAAM,CAAC,MAAM,EACb,iBAAiB,CAAC,OAAO,EACzB,SAAS,CACV,EAAA;;gBAPD,SAOC,CAAC;;;;gBAEF,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,OAAK,CAAC,CAAC;;oBAGvE,sBAAO;oBACL,eAAe,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;iBAC9B,EAAC;;;KACH,CAAC;AA3EW,QAAA,0BAA0B,8BA2ErC","sourcesContent":["import {\n getSocketConnectors,\n getSocketVault,\n scale,\n MoneyInOutChainId,\n getTokenInfoByAddress,\n getTokenInfoByName,\n getReyaNetworkFromMoneyInOutChainId,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress, executeTransaction } from '@reyaxyz/common';\nimport { encodeBridgeAndDepositExistingMA } from './encode';\nimport {\n BridgeAndDepositExistingMAParams,\n BridgeAndDepositExistingMAResult,\n} from './types';\nimport { getTransactionModuleClient } from '../../config';\n\n/**\n * @deprecated Use {@link socketBridgeAndDepositMAV2} instead.\n */\nexport const bridgeAndDepositExistingMA = async (\n params: BridgeAndDepositExistingMAParams,\n): Promise<BridgeAndDepositExistingMAResult> => {\n const moneyInOutChainId: MoneyInOutChainId =\n params.moneyInOutChainId ??\n Number((await params.signer.provider?.getNetwork())?.chainId);\n const reyaChainId = getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId);\n\n const moneyInOutTokenInfo = getTokenInfoByAddress(\n params.tokenAddress,\n moneyInOutChainId,\n );\n const reyaPeripheryTokenInfo = getTokenInfoByName(\n moneyInOutTokenInfo.name === 'USDC.E' ? 'USDC' : moneyInOutTokenInfo.name,\n reyaChainId,\n );\n const reyaCoreTokenInfo = reyaPeripheryTokenInfo.isRUSDUnderlying\n ? getTokenInfoByName('RUSD', reyaChainId)\n : reyaPeripheryTokenInfo;\n\n const peripheryAddress = getAddress(\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n );\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: moneyInOutTokenInfo.name,\n });\n\n const { calldata: data, value } = encodeBridgeAndDepositExistingMA(\n peripheryAddress,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.marginAccountId,\n reyaPeripheryTokenInfo.address,\n scale(moneyInOutTokenInfo.decimals)(params.amount),\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: moneyInOutTokenInfo.name,\n }),\n );\n\n if (!result?.hash) {\n return {\n transactionHash: null,\n };\n }\n\n try {\n const transactionModuleClient = getTransactionModuleClient();\n await transactionModuleClient.pushPendingTransaction(\n params.marginAccountId,\n result.hash,\n moneyInOutChainId,\n params.amount,\n reyaCoreTokenInfo.address,\n 'deposit',\n );\n } catch (error) {\n console.error('Error persisting pending deposit transaction', error);\n }\n\n return {\n transactionHash: result?.hash,\n };\n};\n"]}
|
|
@@ -36,19 +36,13 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.encodeBridgeAndDepositExistingMA = exports.encodeWithdrawMAAndBridge = exports.encodeTransferMargin = exports.encodeCreateAccountCall = void 0;
|
|
40
40
|
var common_1 = require("@reyaxyz/common");
|
|
41
41
|
var ethers_1 = require("ethers");
|
|
42
42
|
var encode_1 = require("../encode");
|
|
43
43
|
var common_2 = require("@reyaxyz/common");
|
|
44
44
|
var common_3 = require("@reyaxyz/common");
|
|
45
45
|
var ethers_2 = require("ethers");
|
|
46
|
-
var LzComposerOperationType;
|
|
47
|
-
(function (LzComposerOperationType) {
|
|
48
|
-
LzComposerOperationType[LzComposerOperationType["NONE"] = 0] = "NONE";
|
|
49
|
-
LzComposerOperationType[LzComposerOperationType["DEPOSIT_SPOT_ACCOUNT"] = 1] = "DEPOSIT_SPOT_ACCOUNT";
|
|
50
|
-
LzComposerOperationType[LzComposerOperationType["DEPOSIT_ACCOUNT"] = 2] = "DEPOSIT_ACCOUNT";
|
|
51
|
-
})(LzComposerOperationType || (LzComposerOperationType = {}));
|
|
52
46
|
var encodeCreateAccountCall = function (accountOwner) {
|
|
53
47
|
var functionSignature = 'createAccount';
|
|
54
48
|
var parameters = [accountOwner];
|
|
@@ -130,90 +124,4 @@ var encodeBridgeAndDepositExistingMA = function (receiver, socketMsgGasLimit, so
|
|
|
130
124
|
return { calldata: calldata, value: socketFees.toString(10) };
|
|
131
125
|
};
|
|
132
126
|
exports.encodeBridgeAndDepositExistingMA = encodeBridgeAndDepositExistingMA;
|
|
133
|
-
var encodeWithdrawMALZ = function (accountId, corePeripheryTokenAddress, corePeripheryTokenAmount, sig, dstEid, receiver) {
|
|
134
|
-
var functionSignature = 'withdrawMALZ';
|
|
135
|
-
var parameters = [
|
|
136
|
-
{
|
|
137
|
-
accountId: accountId,
|
|
138
|
-
token: corePeripheryTokenAddress,
|
|
139
|
-
tokenAmount: corePeripheryTokenAmount,
|
|
140
|
-
sig: sig,
|
|
141
|
-
dstEid: dstEid,
|
|
142
|
-
receiver: receiver,
|
|
143
|
-
},
|
|
144
|
-
];
|
|
145
|
-
var INTERFACE = new ethers_1.Interface(common_2.PeripheryAbi);
|
|
146
|
-
var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
147
|
-
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
148
|
-
};
|
|
149
|
-
exports.encodeWithdrawMALZ = encodeWithdrawMALZ;
|
|
150
|
-
// Gas for lzReceive on destination: token credit + endpoint.sendCompose() queuing
|
|
151
|
-
var LZ_RECEIVE_GAS = 1000000;
|
|
152
|
-
// Gas estimate for lzCompose execution on destination chain
|
|
153
|
-
// Covers: abi.decode + createOrGetSpotAccount/depositExistingMA in OftModule.lzCompose
|
|
154
|
-
var LZ_COMPOSE_GAS = 1000000;
|
|
155
|
-
/**
|
|
156
|
-
* Encode LZ v3 extraOptions with both lzReceive and lzCompose options.
|
|
157
|
-
* Required for msgType=2 (SEND_AND_CALL) since enforced options only cover msgType=1.
|
|
158
|
-
*/
|
|
159
|
-
var encodeLzSendAndComposeExtraOptions = function (receiveGas, composeGas) {
|
|
160
|
-
// Options v3 layout:
|
|
161
|
-
// TYPE_3 header: uint16(3)
|
|
162
|
-
// --- lzReceive option ---
|
|
163
|
-
// WORKER_ID: uint8(1)
|
|
164
|
-
// length: uint16(17) = OPTION_TYPE(1) + GAS(16)
|
|
165
|
-
// OPTION_TYPE_LZRECEIVE: uint8(1)
|
|
166
|
-
// gas: uint128
|
|
167
|
-
// --- lzCompose option ---
|
|
168
|
-
// WORKER_ID: uint8(1)
|
|
169
|
-
// length: uint16(19) = OPTION_TYPE(1) + INDEX(2) + GAS(16)
|
|
170
|
-
// OPTION_TYPE_LZCOMPOSE: uint8(3)
|
|
171
|
-
// index: uint16(0)
|
|
172
|
-
// gas: uint128
|
|
173
|
-
return ethers_2.ethers.solidityPacked([
|
|
174
|
-
'uint16',
|
|
175
|
-
'uint8',
|
|
176
|
-
'uint16',
|
|
177
|
-
'uint8',
|
|
178
|
-
'uint128',
|
|
179
|
-
'uint8',
|
|
180
|
-
'uint16',
|
|
181
|
-
'uint8',
|
|
182
|
-
'uint16',
|
|
183
|
-
'uint128',
|
|
184
|
-
], [3, 1, 17, 1, receiveGas, 1, 19, 3, 0, composeGas]);
|
|
185
|
-
};
|
|
186
|
-
exports.encodeLzSendAndComposeExtraOptions = encodeLzSendAndComposeExtraOptions;
|
|
187
|
-
var buildOFTBridgeAndDepositExistingMASendParam = function (dstEid, receiverAddress, accountId, peripheryTokenAddress, amountLD, minAmountLD) {
|
|
188
|
-
var opType = LzComposerOperationType.DEPOSIT_ACCOUNT;
|
|
189
|
-
var opData = ethers_2.ethers.AbiCoder.defaultAbiCoder().encode(['uint128', 'address'], [accountId, peripheryTokenAddress]);
|
|
190
|
-
var composeMsg = ethers_2.ethers.AbiCoder.defaultAbiCoder().encode(['uint8', 'bytes'], [opType, opData]);
|
|
191
|
-
var receiverBytes32 = ethers_2.ethers.zeroPadValue(receiverAddress, 32);
|
|
192
|
-
var extraOptions = (0, exports.encodeLzSendAndComposeExtraOptions)(LZ_RECEIVE_GAS, LZ_COMPOSE_GAS);
|
|
193
|
-
var sendParam = {
|
|
194
|
-
dstEid: dstEid,
|
|
195
|
-
to: receiverBytes32,
|
|
196
|
-
amountLD: amountLD,
|
|
197
|
-
minAmountLD: minAmountLD,
|
|
198
|
-
extraOptions: extraOptions,
|
|
199
|
-
composeMsg: composeMsg,
|
|
200
|
-
oftCmd: '0x',
|
|
201
|
-
};
|
|
202
|
-
return { sendParam: sendParam, composeMsg: composeMsg };
|
|
203
|
-
};
|
|
204
|
-
exports.buildOFTBridgeAndDepositExistingMASendParam = buildOFTBridgeAndDepositExistingMASendParam;
|
|
205
|
-
var encodeOFTBridgeAndDepositExistingMA = function (dstEid, receiverAddress, accountId, peripheryTokenAddress, amountLD, minAmountLD, messagingFee, callerAddress) {
|
|
206
|
-
var sendParam = (0, exports.buildOFTBridgeAndDepositExistingMASendParam)(dstEid, receiverAddress, accountId, peripheryTokenAddress, amountLD, minAmountLD).sendParam;
|
|
207
|
-
var INTERFACE = new ethers_1.Interface(common_2.OFTAbi);
|
|
208
|
-
var calldata = INTERFACE.encodeFunctionData('send', [
|
|
209
|
-
sendParam,
|
|
210
|
-
messagingFee,
|
|
211
|
-
callerAddress,
|
|
212
|
-
]);
|
|
213
|
-
return {
|
|
214
|
-
calldata: calldata,
|
|
215
|
-
value: messagingFee.nativeFee.toString(10),
|
|
216
|
-
};
|
|
217
|
-
};
|
|
218
|
-
exports.encodeOFTBridgeAndDepositExistingMA = encodeOFTBridgeAndDepositExistingMA;
|
|
219
127
|
//# sourceMappingURL=encode.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n MethodParameters,\n MultiAction,\n OFTSendParam,\n OFTMessagingFee,\n} from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport { encodeSingleTransferMargin } from '../encode';\nimport {\n CoreAbi as abi,\n OFTAbi as OFTAbi,\n PeripheryAbi,\n Socket_VaultWithPayloadAbi,\n CORE_DEADLINE_IN_SECONDS,\n EIP712Signature,\n signCoreCommands,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\n\nenum LzComposerOperationType {\n NONE = 0,\n DEPOSIT_SPOT_ACCOUNT = 1,\n DEPOSIT_ACCOUNT = 2,\n}\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 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 { signature: 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 encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\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\nexport const encodeWithdrawMALZ = (\n accountId: number,\n corePeripheryTokenAddress: string,\n corePeripheryTokenAmount: bigint,\n sig: EIP712Signature,\n dstEid: number,\n receiver: string,\n): MethodParameters => {\n const functionSignature = 'withdrawMALZ';\n const parameters = [\n {\n accountId,\n token: corePeripheryTokenAddress,\n tokenAmount: corePeripheryTokenAmount,\n sig,\n dstEid,\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\n// Gas for lzReceive on destination: token credit + endpoint.sendCompose() queuing\nconst LZ_RECEIVE_GAS = 1_000_000;\n// Gas estimate for lzCompose execution on destination chain\n// Covers: abi.decode + createOrGetSpotAccount/depositExistingMA in OftModule.lzCompose\nconst LZ_COMPOSE_GAS = 1_000_000;\n\n/**\n * Encode LZ v3 extraOptions with both lzReceive and lzCompose options.\n * Required for msgType=2 (SEND_AND_CALL) since enforced options only cover msgType=1.\n */\nexport const encodeLzSendAndComposeExtraOptions = (\n receiveGas: number,\n composeGas: number,\n): string => {\n // Options v3 layout:\n // TYPE_3 header: uint16(3)\n // --- lzReceive option ---\n // WORKER_ID: uint8(1)\n // length: uint16(17) = OPTION_TYPE(1) + GAS(16)\n // OPTION_TYPE_LZRECEIVE: uint8(1)\n // gas: uint128\n // --- lzCompose option ---\n // WORKER_ID: uint8(1)\n // length: uint16(19) = OPTION_TYPE(1) + INDEX(2) + GAS(16)\n // OPTION_TYPE_LZCOMPOSE: uint8(3)\n // index: uint16(0)\n // gas: uint128\n return ethers.solidityPacked(\n [\n 'uint16',\n 'uint8',\n 'uint16',\n 'uint8',\n 'uint128',\n 'uint8',\n 'uint16',\n 'uint8',\n 'uint16',\n 'uint128',\n ],\n [3, 1, 17, 1, receiveGas, 1, 19, 3, 0, composeGas],\n );\n};\n\nexport const buildOFTBridgeAndDepositExistingMASendParam = (\n dstEid: number,\n receiverAddress: string,\n accountId: number,\n peripheryTokenAddress: string,\n amountLD: bigint,\n minAmountLD: bigint,\n): { sendParam: OFTSendParam; composeMsg: string } => {\n const opType = LzComposerOperationType.DEPOSIT_ACCOUNT;\n const opData = ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address'],\n [accountId, peripheryTokenAddress],\n );\n\n const composeMsg = ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint8', 'bytes'],\n [opType, opData],\n );\n\n const receiverBytes32 = ethers.zeroPadValue(receiverAddress, 32);\n const extraOptions = encodeLzSendAndComposeExtraOptions(\n LZ_RECEIVE_GAS,\n LZ_COMPOSE_GAS,\n );\n\n const sendParam: OFTSendParam = {\n dstEid,\n to: receiverBytes32,\n amountLD,\n minAmountLD,\n extraOptions,\n composeMsg,\n oftCmd: '0x',\n };\n\n return { sendParam, composeMsg };\n};\n\nexport const encodeOFTBridgeAndDepositExistingMA = (\n dstEid: number,\n receiverAddress: string,\n accountId: number,\n peripheryTokenAddress: string,\n amountLD: bigint,\n minAmountLD: bigint,\n messagingFee: OFTMessagingFee,\n callerAddress: string,\n): MethodParameters => {\n const { sendParam } = buildOFTBridgeAndDepositExistingMASendParam(\n dstEid,\n receiverAddress,\n accountId,\n peripheryTokenAddress,\n amountLD,\n minAmountLD,\n );\n\n const INTERFACE = new Interface(OFTAbi);\n const calldata = INTERFACE.encodeFunctionData('send', [\n sendParam,\n messagingFee,\n callerAddress,\n ]);\n\n return {\n calldata,\n value: messagingFee.nativeFee.toString(10),\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAgE;AAChE,iCAAmC;AACnC,oCAAuD;AACvD,0CASyB;AACzB,0CAA+D;AAE/D,iCAAgC;AAEzB,IAAM,uBAAuB,GAAG,UACrC,YAAoB;IAEpB,IAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,gBAAG,CAAC,CAAC;IACrC,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,uBAAuB,2BAQlC;AAEK,IAAM,oBAAoB,GAAG,UAClC,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,mBAA2B,EAC3B,iBAAyB,EACzB,KAAa,EACb,MAAc;;;;;gBAER,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,8CAA8C;gBAC9C,IAAA,mCAA0B,EAAC,iBAAiB,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAEnC,qBAAM,IAAA,yBAAgB,EAC3D,MAAM,EACN,OAAO,EACP,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,eAAe,CAAC,EACjD,mBAAmB,EACnB,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;;gBATkB,eAAe,GAAK,CAAA,SAStC,CAAA,UATiC;gBAW5B,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAClB,iBAAiB,GAAG,oBAAoB,CAAC;gBACzC,UAAU,GAAG;oBACjB;wBACE,SAAS,EAAE,mBAAmB;wBAC9B,QAAQ,EAAE;4BACR,aAAa,EAAE,iBAAiB;4BAChC,UAAU,EAAE,KAAK;4BACjB,gBAAgB,EAAE,MAAM;yBACzB;wBACD,GAAG,EAAE,eAAe;qBACrB;iBACF,CAAC;gBAEI,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;gBACxC,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,oBAAoB,wBA4C/B;AAEK,IAAM,yBAAyB,GAAG,UACvC,SAAiB,EACjB,yBAAiC,EACjC,wBAAgC,EAChC,GAAoB,EACpB,iBAAyB,EACzB,OAAe,EACf,QAAgB;IAEhB,IAAM,iBAAiB,GAAG,YAAY,CAAC;IACvC,IAAM,UAAU,GAAG;QACjB;YACE,SAAS,WAAA;YACT,KAAK,EAAE,yBAAyB;YAChC,WAAW,EAAE,wBAAwB;YACrC,GAAG,KAAA;YACH,iBAAiB,mBAAA;YACjB,OAAO,SAAA;YACP,QAAQ,UAAA;SACT;KACF,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IAC9C,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/D,CAAC,CAAC;AAxBW,QAAA,yBAAyB,6BAwBpC;AAEK,IAAM,gCAAgC,GAAG,UAC9C,QAAgB,EAChB,iBAAyB,EACzB,eAAuB,EACvB,mBAA2B,EAC3B,UAAkB,EAClB,SAAiB,EACjB,qBAA6B,EAC7B,qBAA6B;IAE7B,IAAM,mBAAmB,GAAG,IAAI,kBAAS,CAAC,qBAAY,CAAC,CAAC;IACxD,IAAM,MAAM,GAAG;QACb,SAAS,WAAA;QACT,KAAK,EAAE,qBAAqB;KAC7B,CAAC;IACF,IAAM,iBAAiB,GAAG,mBAAmB,CAAC,kBAAkB,CAC9D,sCAAsC,EACtC,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,IAAM,iBAAiB,GAAG,QAAQ,CAAC;IACnC,IAAM,UAAU,GAAG;QACjB,QAAQ;QACR,qBAAqB;QACrB,iBAAiB;QACjB,eAAe;QACf,iBAAiB;QACjB,mBAAmB;KACpB,CAAC;IACF,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,mCAA0B,CAAC,CAAC;IAC5D,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;AAChE,CAAC,CAAC;AAhCW,QAAA,gCAAgC,oCAgC3C","sourcesContent":["import { MethodParameters, MultiAction } from '@reyaxyz/common';\nimport { Interface } from 'ethers';\nimport { encodeSingleTransferMargin } from '../encode';\nimport {\n CoreAbi as abi,\n PeripheryAbi,\n Socket_VaultWithPayloadAbi,\n CORE_DEADLINE_IN_SECONDS,\n EIP712Signature,\n signCoreCommands,\n ContractType,\n getAddress,\n} from '@reyaxyz/common';\nimport { getCurrentTimestampInSeconds } from '@reyaxyz/common';\nimport { Signer } from 'ethers';\nimport { ethers } from 'ethers';\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 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 { signature: 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 encodeBridgeAndDepositExistingMA = (\n receiver: string,\n socketMsgGasLimit: bigint,\n socketConnector: string,\n socketBridgeOptions: string,\n socketFees: bigint,\n accountId: number,\n peripheryTokenAddress: string,\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"]}
|
|
@@ -17,8 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./types"), exports);
|
|
18
18
|
__exportStar(require("./account"), exports);
|
|
19
19
|
__exportStar(require("./bridgeAndDepositExistingMA"), exports);
|
|
20
|
-
__exportStar(require("./oftBridgeAndDepositExistingMA"), exports);
|
|
21
|
-
__exportStar(require("./oftWithdrawMAAndBridge"), exports);
|
|
22
20
|
__exportStar(require("./transferMarginBetweenAccounts"), exports);
|
|
23
21
|
__exportStar(require("./withdrawMAAndBridge"), exports);
|
|
24
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["services/margin-accounts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,+DAA6C;AAC7C,kEAAgD;AAChD,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["services/margin-accounts/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,4CAA0B;AAC1B,+DAA6C;AAC7C,kEAAgD;AAChD,wDAAsC","sourcesContent":["export * from './types';\nexport * from './account';\nexport * from './bridgeAndDepositExistingMA';\nexport * from './transferMarginBetweenAccounts';\nexport * from './withdrawMAAndBridge';\n"]}
|
|
@@ -42,6 +42,9 @@ var common_2 = require("@reyaxyz/common");
|
|
|
42
42
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
43
43
|
var encode_1 = require("./encode");
|
|
44
44
|
var network_1 = require("../../utils/network");
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Use {@link transferMarginBetweenAccountsV2} instead.
|
|
47
|
+
*/
|
|
45
48
|
var transferMarginBetweenAccounts = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
49
|
var tokenInfo, amount, chainId, data, result;
|
|
47
50
|
return __generator(this, function (_a) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAiE;AACjE,0CAA+C;AAC/C,8EAA6E;AAC7E,mCAAgD;AAKhD,+CAAqD;
|
|
1
|
+
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAAiE;AACjE,0CAA+C;AAC/C,8EAA6E;AAC7E,mCAAgD;AAKhD,+CAAqD;AAErD;;GAEG;AACI,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;gBAErC,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBACvD,MAAM,GAAG,IAAA,gBAAO,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAEpD,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAEN,qBAAM,IAAA,6BAAoB,EACnD,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;;gBARiB,IAAI,GAAK,CAAA,SAQ1B,CAAA,SARqB;gBAUP,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,OAAO,EACP,qBAAY,CAAC,eAAe,EAC5B,EAAE,CACH,EAAA;;gBALK,MAAM,GAAG,SAKd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AA7BW,QAAA,6BAA6B,iCA6BxC","sourcesContent":["import { scaleV2, getTokenInfoByAddress } from '@reyaxyz/common';\nimport { ContractType } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { encodeTransferMargin } from './encode';\nimport {\n TransferMarginBetweenAccountsParams,\n TransferMarginBetweenAccountsResult,\n} from './types';\nimport { getReyaNetwork } from '../../utils/network';\n\n/**\n * @deprecated Use {@link transferMarginBetweenAccountsV2} instead.\n */\nexport const transferMarginBetweenAccounts = async (\n params: TransferMarginBetweenAccountsParams,\n): Promise<TransferMarginBetweenAccountsResult> => {\n const tokenInfo = getTokenInfoByAddress(params.tokenAddress);\n const amount = scaleV2(tokenInfo.decimals)(params.amount);\n\n const chainId = getReyaNetwork();\n\n const { calldata: data } = 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 data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || 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 {\n MoneyInOutChainId,\n OwnerMetadataEntity,\n SocketDepositFees,\n TokenEntity,\n} from '@reyaxyz/common';\n\nexport type CreateAccountParams = {\n ownerAddress: string;\n name: string;\n source?: string;\n};\n\nexport type CreateAccountResult = {\n transactionHash: string | null;\n accountId: number | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type TransferMarginBetweenAccountsParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n fromMarginAccountId: number;\n toMarginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type TransferMarginBetweenAccountsResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type WithdrawMAAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;\n marginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n // if not provided it has same value as owner.address\n receiverAddress?: Lowercase<string>;\n};\n\nexport type WithdrawMAAndBridgeParamsResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type BridgeAndDepositExistingMAParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n moneyInOutChainId?: MoneyInOutChainId;\n};\n\nexport type BridgeAndDepositExistingMAResult = {\n transactionHash: string | null;\n};\n
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"","sourcesContent":["import { JsonRpcSigner, Signer } from 'ethers';\nimport {\n MoneyInOutChainId,\n OwnerMetadataEntity,\n SocketDepositFees,\n TokenEntity,\n} from '@reyaxyz/common';\n\nexport type CreateAccountParams = {\n ownerAddress: string;\n name: string;\n source?: string;\n};\n\nexport type CreateAccountResult = {\n transactionHash: string | null;\n accountId: number | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type TransferMarginBetweenAccountsParams = {\n signer: Signer | JsonRpcSigner;\n owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;\n fromMarginAccountId: number;\n toMarginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n};\n\nexport type TransferMarginBetweenAccountsResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type WithdrawMAAndBridgeParams = {\n signer: Signer | JsonRpcSigner;\n moneyInOutChainId: MoneyInOutChainId;\n owner: Pick<OwnerMetadataEntity, 'address' | 'coreSigNonce'>;\n marginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n // if not provided it has same value as owner.address\n receiverAddress?: Lowercase<string>;\n};\n\nexport type WithdrawMAAndBridgeParamsResult = {\n transactionHash: string | null;\n coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;\n};\n\nexport type BridgeAndDepositExistingMAParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n socketDepositFees: SocketDepositFees['fees'];\n moneyInOutChainId?: MoneyInOutChainId;\n};\n\nexport type BridgeAndDepositExistingMAResult = {\n transactionHash: string | null;\n};\n"]}
|
|
@@ -48,6 +48,9 @@ var common_5 = require("@reyaxyz/common");
|
|
|
48
48
|
var ethers_1 = require("ethers");
|
|
49
49
|
var config_1 = require("../../config");
|
|
50
50
|
var network_1 = require("../../utils/network");
|
|
51
|
+
/**
|
|
52
|
+
* @deprecated Use {@link withdrawMAAndSocketBridgeV2} instead.
|
|
53
|
+
*/
|
|
51
54
|
var withdrawMAAndBridge = function (_a) {
|
|
52
55
|
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;
|
|
53
56
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,8EAA6E;AAC7E,0CAAmD;AACnD,mCAAqD;AAKrD,0CAA6D;AAC7D,oCAAiD;AACjD,0CAA8C;AAC9C,iCAAgC;AAChC,uCAA0D;AAC1D,+CAAqD;
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getSocketWithdrawMsgGasLimit,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeWithdrawMAAndBridge } from './encode';\nimport {\n WithdrawMAAndBridgeParams,\n WithdrawMAAndBridgeParamsResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { MultiAction } from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { getTransactionModuleClient } from '../../config';\nimport { getReyaNetwork } from '../../utils/network';\n\n/**\n * @deprecated Use {@link withdrawMAAndSocketBridgeV2} instead.\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 reyaChainId = getReyaNetwork();\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 = getSocketWithdrawMsgGasLimit({\n moneyInOutChainId: moneyInOutChainId,\n }).msgGasLimit;\n\n const { signature: 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 } = 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 data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'account',\n },\n );\n\n if (!result?.txHash) {\n return {\n transactionHash: null,\n coreSigNonce: null,\n };\n }\n\n try {\n const transactionModuleClient = getTransactionModuleClient();\n await transactionModuleClient.pushPendingTransaction(\n marginAccountId,\n result.txHash,\n moneyInOutChainId,\n unscaledAmount,\n corePeripheryTokenInfo.address,\n 'withdrawal',\n );\n } catch (error) {\n console.log('Error persisting pending withdraw transaction', error);\n }\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -36,40 +36,38 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
39
|
+
exports.createAccountV2 = void 0;
|
|
40
|
+
var ethers_1 = require("ethers");
|
|
40
41
|
var network_1 = require("../../utils/network");
|
|
41
|
-
var common_1 = require("@reyaxyz/common");
|
|
42
|
-
var encode_1 = require("../encode");
|
|
43
|
-
var encode_2 = require("./encode");
|
|
44
42
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
45
|
-
var
|
|
46
|
-
var
|
|
47
|
-
var
|
|
43
|
+
var common_1 = require("@reyaxyz/common");
|
|
44
|
+
var getCalldata = function (accountOwner) {
|
|
45
|
+
var functionSignature = 'createAccount';
|
|
46
|
+
var parameters = [accountOwner];
|
|
47
|
+
var INTERFACE = new ethers_1.Interface(common_1.CoreAbi);
|
|
48
|
+
var calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
49
|
+
return calldata;
|
|
50
|
+
};
|
|
51
|
+
var createAccountV2 = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
52
|
+
var calldata, chainId, result;
|
|
48
53
|
return __generator(this, function (_a) {
|
|
49
54
|
switch (_a.label) {
|
|
50
55
|
case 0:
|
|
56
|
+
calldata = getCalldata(params.ownerAddress);
|
|
51
57
|
chainId = (0, network_1.getReyaNetwork)();
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
: BigInt(0);
|
|
58
|
-
multiAction = new common_1.MultiAction();
|
|
59
|
-
(0, encode_1.encodeSingleWithdraw)(reyaTokenInfo.address, assetAmount, multiAction);
|
|
60
|
-
return [4 /*yield*/, (0, common_1.signCoreCommands)(params.signer, chainId, (0, common_1.getAddress)(chainId, common_1.ContractType.PERIPHERY_PROXY), params.marginAccountId, multiAction.commands, params.owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_1.CORE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['string', 'uint256'], ['stakeReya', minShareAmount]))];
|
|
58
|
+
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(calldata, chainId, common_1.ContractType.CORE_PROXY, {
|
|
59
|
+
accountName: params.name,
|
|
60
|
+
action: 'createAccount',
|
|
61
|
+
sender: params.ownerAddress,
|
|
62
|
+
})];
|
|
61
63
|
case 1:
|
|
62
|
-
withdrawSig = (_a.sent()).signature;
|
|
63
|
-
data = (0, encode_2.encodeStakeReya)(params.marginAccountId, assetAmount, minShareAmount, withdrawSig).calldata;
|
|
64
|
-
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_1.ContractType.PERIPHERY_PROXY, {})];
|
|
65
|
-
case 2:
|
|
66
64
|
result = _a.sent();
|
|
67
65
|
return [2 /*return*/, {
|
|
68
66
|
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
69
|
-
|
|
67
|
+
accountId: Number(result === null || result === void 0 ? void 0 : result.accountId),
|
|
70
68
|
}];
|
|
71
69
|
}
|
|
72
70
|
});
|
|
73
71
|
}); };
|
|
74
|
-
exports.
|
|
75
|
-
//# sourceMappingURL=
|
|
72
|
+
exports.createAccountV2 = createAccountV2;
|
|
73
|
+
//# sourceMappingURL=createAccount.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAccount.js","sourceRoot":"/","sources":["services/margin-accounts-v2/createAccount.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmC;AACnC,+CAAqD;AACrD,8EAA6E;AAE7E,0CAAwD;AAExD,IAAM,WAAW,GAAG,UAAC,YAAoB;IACvC,IAAM,iBAAiB,GAAG,eAAe,CAAC;IAC1C,IAAM,UAAU,GAAG,CAAC,YAAY,CAAC,CAAC;IAClC,IAAM,SAAS,GAAG,IAAI,kBAAS,CAAC,gBAAO,CAAC,CAAC;IACzC,IAAM,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC7E,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEK,IAAM,eAAe,GAAG,UAC7B,MAA6B;;;;;gBAEvB,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC5C,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAElB,qBAAM,IAAA,yDAA2B,EAC9C,QAAQ,EACR,OAAO,EACP,qBAAY,CAAC,UAAU,EACvB;wBACE,WAAW,EAAE,MAAM,CAAC,IAAI;wBACxB,MAAM,EAAE,eAAe;wBACvB,MAAM,EAAE,MAAM,CAAC,YAAY;qBAC5B,CACF,EAAA;;gBATK,MAAM,GAAG,SASd;gBACD,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,SAAS,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,SAAS,CAAC;qBACrC,EAAC;;;KACH,CAAC;AApBW,QAAA,eAAe,mBAoB1B","sourcesContent":["import { Interface } from 'ethers';\nimport { getReyaNetwork } from '../../utils/network';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { CreateAccountParamsV2, CreateAccountResultV2 } from './types';\nimport { ContractType, CoreAbi } from '@reyaxyz/common';\n\nconst getCalldata = (accountOwner: string): string => {\n const functionSignature = 'createAccount';\n const parameters = [accountOwner];\n const INTERFACE = new Interface(CoreAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return calldata;\n};\n\nexport const createAccountV2 = async (\n params: CreateAccountParamsV2,\n): Promise<CreateAccountResultV2> => {\n const calldata = getCalldata(params.ownerAddress);\n const chainId = getReyaNetwork();\n\n const result = await signAndBroadcastTransaction(\n calldata,\n chainId,\n ContractType.CORE_PROXY,\n {\n accountName: params.name,\n action: 'createAccount',\n sender: params.ownerAddress,\n },\n );\n return {\n transactionHash: result?.txHash || null,\n accountId: Number(result?.accountId),\n };\n};\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.esimateFeeLzBridgeAndDepositMAV2 = exports.lzBridgeAndDepositMAV2 = exports.estimateFeeSocketBridgeAndDepositMAV2 = exports.socketBridgeAndDepositMAV2 = void 0;
|
|
4
|
+
var socketBridgeAndDepositMA_1 = require("./socket/socketBridgeAndDepositMA");
|
|
5
|
+
Object.defineProperty(exports, "socketBridgeAndDepositMAV2", { enumerable: true, get: function () { return socketBridgeAndDepositMA_1.socketBridgeAndDepositMAV2; } });
|
|
6
|
+
var estimateFeeSocketBridgeAndDepositMA_1 = require("./socket/estimateFeeSocketBridgeAndDepositMA");
|
|
7
|
+
Object.defineProperty(exports, "estimateFeeSocketBridgeAndDepositMAV2", { enumerable: true, get: function () { return estimateFeeSocketBridgeAndDepositMA_1.estimateFeeSocketBridgeAndDepositMAV2; } });
|
|
8
|
+
var lzBridgeAndDepositMA_1 = require("./lz/lzBridgeAndDepositMA");
|
|
9
|
+
Object.defineProperty(exports, "lzBridgeAndDepositMAV2", { enumerable: true, get: function () { return lzBridgeAndDepositMA_1.lzBridgeAndDepositMAV2; } });
|
|
10
|
+
var estimateFeeLzBridgeAndDepositMA_1 = require("./lz/estimateFeeLzBridgeAndDepositMA");
|
|
11
|
+
Object.defineProperty(exports, "esimateFeeLzBridgeAndDepositMAV2", { enumerable: true, get: function () { return estimateFeeLzBridgeAndDepositMA_1.esimateFeeLzBridgeAndDepositMAV2; } });
|
|
12
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["services/margin-accounts-v2/deposit/index.ts"],"names":[],"mappings":";;;AAAA,8EAA+E;AAAtE,sIAAA,0BAA0B,OAAA;AACnC,oGAAqG;AAA5F,4JAAA,qCAAqC,OAAA;AAC9C,kEAAmE;AAA1D,8HAAA,sBAAsB,OAAA;AAC/B,wFAAwF;AAA/E,mJAAA,gCAAgC,OAAA","sourcesContent":["export { socketBridgeAndDepositMAV2 } from './socket/socketBridgeAndDepositMA';\nexport { estimateFeeSocketBridgeAndDepositMAV2 } from './socket/estimateFeeSocketBridgeAndDepositMA';\nexport { lzBridgeAndDepositMAV2 } from './lz/lzBridgeAndDepositMA';\nexport { esimateFeeLzBridgeAndDepositMAV2 } from './lz/estimateFeeLzBridgeAndDepositMA';\n"]}
|