@reyaxyz/sdk 0.145.3 → 0.146.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/encode.js +31 -1
- package/dist/services/lp/encode.js.map +1 -1
- package/dist/services/lp/index.js +2 -0
- package/dist/services/lp/index.js.map +1 -1
- package/dist/services/lp/stakeReya.js +75 -0
- package/dist/services/lp/stakeReya.js.map +1 -0
- package/dist/services/lp/types.js.map +1 -1
- package/dist/services/lp/unstakeStakedReya.js +75 -0
- package/dist/services/lp/unstakeStakedReya.js.map +1 -0
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js +2 -6
- package/dist/services/margin-accounts/bridgeAndDepositExistingMA.js.map +1 -1
- package/dist/services/margin-accounts/encode.js +94 -2
- package/dist/services/margin-accounts/encode.js.map +1 -1
- package/dist/services/margin-accounts/index.js +2 -0
- package/dist/services/margin-accounts/index.js.map +1 -1
- package/dist/services/margin-accounts/oftBridgeAndDepositExistingMA.js +102 -0
- package/dist/services/margin-accounts/oftBridgeAndDepositExistingMA.js.map +1 -0
- package/dist/services/margin-accounts/oftWithdrawMAAndBridge.js +89 -0
- package/dist/services/margin-accounts/oftWithdrawMAAndBridge.js.map +1 -0
- package/dist/services/margin-accounts/types.js.map +1 -1
- package/dist/types/services/lp/encode.d.ts +2 -0
- package/dist/types/services/lp/encode.d.ts.map +1 -1
- package/dist/types/services/lp/index.d.ts +2 -0
- package/dist/types/services/lp/index.d.ts.map +1 -1
- package/dist/types/services/lp/stakeReya.d.ts +3 -0
- package/dist/types/services/lp/stakeReya.d.ts.map +1 -0
- package/dist/types/services/lp/types.d.ts +22 -0
- package/dist/types/services/lp/types.d.ts.map +1 -1
- package/dist/types/services/lp/unstakeStakedReya.d.ts +3 -0
- package/dist/types/services/lp/unstakeStakedReya.d.ts.map +1 -0
- package/dist/types/services/margin-accounts/bridgeAndDepositExistingMA.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/encode.d.ts +13 -2
- package/dist/types/services/margin-accounts/encode.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/index.d.ts +2 -0
- package/dist/types/services/margin-accounts/index.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/oftBridgeAndDepositExistingMA.d.ts +3 -0
- package/dist/types/services/margin-accounts/oftBridgeAndDepositExistingMA.d.ts.map +1 -0
- package/dist/types/services/margin-accounts/oftWithdrawMAAndBridge.d.ts +3 -0
- package/dist/types/services/margin-accounts/oftWithdrawMAAndBridge.d.ts.map +1 -0
- package/dist/types/services/margin-accounts/types.d.ts +12 -0
- package/dist/types/services/margin-accounts/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/services/lp/encode.ts +40 -0
- package/src/services/lp/index.ts +2 -0
- package/src/services/lp/stakeReya.ts +66 -0
- package/src/services/lp/types.ts +26 -0
- package/src/services/lp/unstakeStakedReya.ts +66 -0
- package/src/services/margin-accounts/bridgeAndDepositExistingMA.ts +0 -10
- package/src/services/margin-accounts/encode.ts +151 -2
- package/src/services/margin-accounts/index.ts +2 -0
- package/src/services/margin-accounts/oftBridgeAndDepositExistingMA.ts +112 -0
- package/src/services/margin-accounts/oftWithdrawMAAndBridge.ts +93 -0
- package/src/services/margin-accounts/types.ts +16 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.oftBridgeAndDepositExistingMA = void 0;
|
|
40
|
+
var common_1 = require("@reyaxyz/common");
|
|
41
|
+
var ethers_1 = require("ethers");
|
|
42
|
+
var encode_1 = require("./encode");
|
|
43
|
+
var oftBridgeAndDepositExistingMA = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
44
|
+
var moneyInOutChainId, _a, _b, reyaChainId, moneyInOutTokenInfo, reyaPeripheryTokenInfo, peripheryAddress, dstEid, amountLD, minAmountLD, sendParam, provider, oftContract, msgFee, messagingFee, callerAddress, _c, data, value, result;
|
|
45
|
+
var _d, _e, _f;
|
|
46
|
+
return __generator(this, function (_g) {
|
|
47
|
+
switch (_g.label) {
|
|
48
|
+
case 0:
|
|
49
|
+
if (!((_d = params.moneyInOutChainId) !== null && _d !== void 0)) return [3 /*break*/, 1];
|
|
50
|
+
_a = _d;
|
|
51
|
+
return [3 /*break*/, 3];
|
|
52
|
+
case 1:
|
|
53
|
+
_b = Number;
|
|
54
|
+
return [4 /*yield*/, ((_e = params.signer.provider) === null || _e === void 0 ? void 0 : _e.getNetwork())];
|
|
55
|
+
case 2:
|
|
56
|
+
_a = _b.apply(void 0, [(_f = (_g.sent())) === null || _f === void 0 ? void 0 : _f.chainId]);
|
|
57
|
+
_g.label = 3;
|
|
58
|
+
case 3:
|
|
59
|
+
moneyInOutChainId = _a;
|
|
60
|
+
reyaChainId = (0, common_1.getReyaNetworkFromMoneyInOutChainId)(moneyInOutChainId);
|
|
61
|
+
moneyInOutTokenInfo = (0, common_1.getTokenInfoByAddress)(params.tokenAddress, moneyInOutChainId);
|
|
62
|
+
if (!moneyInOutTokenInfo.isOFT) {
|
|
63
|
+
throw new Error("Token ".concat(moneyInOutTokenInfo.name, " at ").concat(params.tokenAddress, " is not an OFT token on chain ").concat(moneyInOutChainId));
|
|
64
|
+
}
|
|
65
|
+
reyaPeripheryTokenInfo = (0, common_1.getTokenInfoByName)(moneyInOutTokenInfo.name, reyaChainId);
|
|
66
|
+
peripheryAddress = (0, common_1.getAddress)(reyaChainId, common_1.ContractType.PERIPHERY_PROXY);
|
|
67
|
+
dstEid = (0, common_1.getLzEndpointId)(reyaChainId);
|
|
68
|
+
amountLD = (0, common_1.scale)(moneyInOutTokenInfo.decimals)(params.amount);
|
|
69
|
+
minAmountLD = amountLD;
|
|
70
|
+
sendParam = (0, encode_1.buildOFTBridgeAndDepositExistingMASendParam)(dstEid, peripheryAddress, params.marginAccountId, reyaPeripheryTokenInfo.address, amountLD, minAmountLD).sendParam;
|
|
71
|
+
provider = params.signer.provider;
|
|
72
|
+
if (!provider) {
|
|
73
|
+
throw new Error('Signer must have a provider to quote OFT messaging fees');
|
|
74
|
+
}
|
|
75
|
+
oftContract = new ethers_1.ethers.Contract(moneyInOutTokenInfo.address, common_1.OFTAbi, provider);
|
|
76
|
+
return [4 /*yield*/, oftContract.quoteSend.staticCall(sendParam, false)];
|
|
77
|
+
case 4:
|
|
78
|
+
msgFee = _g.sent();
|
|
79
|
+
messagingFee = {
|
|
80
|
+
nativeFee: msgFee.nativeFee,
|
|
81
|
+
lzTokenFee: msgFee.lzTokenFee,
|
|
82
|
+
};
|
|
83
|
+
return [4 /*yield*/, params.signer.getAddress()];
|
|
84
|
+
case 5:
|
|
85
|
+
callerAddress = _g.sent();
|
|
86
|
+
_c = (0, encode_1.encodeOFTBridgeAndDepositExistingMA)(dstEid, peripheryAddress, params.marginAccountId, reyaPeripheryTokenInfo.address, amountLD, minAmountLD, messagingFee, callerAddress), data = _c.calldata, value = _c.value;
|
|
87
|
+
return [4 /*yield*/, (0, common_1.executeTransaction)(params.signer, data, value, moneyInOutChainId, moneyInOutTokenInfo.address)];
|
|
88
|
+
case 6:
|
|
89
|
+
result = _g.sent();
|
|
90
|
+
if (!(result === null || result === void 0 ? void 0 : result.hash)) {
|
|
91
|
+
return [2 /*return*/, {
|
|
92
|
+
transactionHash: null,
|
|
93
|
+
}];
|
|
94
|
+
}
|
|
95
|
+
return [2 /*return*/, {
|
|
96
|
+
transactionHash: result === null || result === void 0 ? void 0 : result.hash,
|
|
97
|
+
}];
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}); };
|
|
101
|
+
exports.oftBridgeAndDepositExistingMA = oftBridgeAndDepositExistingMA;
|
|
102
|
+
//# sourceMappingURL=oftBridgeAndDepositExistingMA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oftBridgeAndDepositExistingMA.js","sourceRoot":"/","sources":["services/margin-accounts/oftBridgeAndDepositExistingMA.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAYyB;AACzB,iCAAgC;AAChC,mCAGkB;AAMX,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;;4BAGzC,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;gBAEF,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,CAAC;oBAC/B,MAAM,IAAI,KAAK,CACb,gBAAS,mBAAmB,CAAC,IAAI,iBAAO,MAAM,CAAC,YAAY,2CAAiC,iBAAiB,CAAE,CAChH,CAAC;gBACJ,CAAC;gBAEK,sBAAsB,GAAG,IAAA,2BAAkB,EAC/C,mBAAmB,CAAC,IAAI,EACxB,WAAW,CACZ,CAAC;gBAEI,gBAAgB,GAAG,IAAA,mBAAU,EACjC,WAAW,EACX,qBAAY,CAAC,eAAe,CAC7B,CAAC;gBAEI,MAAM,GAAG,IAAA,wBAAe,EAAC,WAAW,CAAC,CAAC;gBACtC,QAAQ,GAAG,IAAA,cAAK,EAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC9D,WAAW,GAAG,QAAQ,CAAC;gBAErB,SAAS,GAAK,IAAA,oDAA2C,EAC/D,MAAM,EACN,gBAAgB,EAChB,MAAM,CAAC,eAAe,EACtB,sBAAsB,CAAC,OAAO,EAC9B,QAAQ,EACR,WAAW,CACZ,UAPgB,CAOf;gBAEI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;gBACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBAEK,WAAW,GAAG,IAAI,eAAM,CAAC,QAAQ,CACrC,mBAAmB,CAAC,OAAO,EAC3B,eAAM,EACN,QAAQ,CACT,CAAC;gBAEa,qBAAM,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAA;;gBAAjE,MAAM,GAAG,SAAwD;gBACjE,YAAY,GAAoB;oBACpC,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,CAAC;gBAEoB,qBAAM,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,EAAA;;gBAAhD,aAAa,GAAG,SAAgC;gBAChD,KAA4B,IAAA,4CAAmC,EACnE,MAAM,EACN,gBAAgB,EAChB,MAAM,CAAC,eAAe,EACtB,sBAAsB,CAAC,OAAO,EAC9B,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,CACd,EATiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAS3B;gBAEa,qBAAM,IAAA,2BAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,mBAAmB,CAAC,OAAO,CAC5B,EAAA;;gBANK,MAAM,GAAG,SAMd;gBAED,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,CAAA,EAAE,CAAC;oBAClB,sBAAO;4BACL,eAAe,EAAE,IAAI;yBACtB,EAAC;gBACJ,CAAC;gBAED,sBAAO;wBACL,eAAe,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;qBAC9B,EAAC;;;KACH,CAAC;AAxFW,QAAA,6BAA6B,iCAwFxC","sourcesContent":["import {\n scale,\n MoneyInOutChainId,\n getTokenInfoByAddress,\n getTokenInfoByName,\n getReyaNetworkFromMoneyInOutChainId,\n ContractType,\n getAddress,\n executeTransaction,\n getLzEndpointId,\n OFTMessagingFee,\n OFTAbi as OFTAbi,\n} from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport {\n encodeOFTBridgeAndDepositExistingMA,\n buildOFTBridgeAndDepositExistingMASendParam,\n} from './encode';\nimport {\n OFTBridgeAndDepositExistingMAParams,\n OFTBridgeAndDepositExistingMAResult,\n} from './types';\n\nexport const oftBridgeAndDepositExistingMA = async (\n params: OFTBridgeAndDepositExistingMAParams,\n): Promise<OFTBridgeAndDepositExistingMAResult> => {\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\n if (!moneyInOutTokenInfo.isOFT) {\n throw new Error(\n `Token ${moneyInOutTokenInfo.name} at ${params.tokenAddress} is not an OFT token on chain ${moneyInOutChainId}`,\n );\n }\n\n const reyaPeripheryTokenInfo = getTokenInfoByName(\n moneyInOutTokenInfo.name,\n reyaChainId,\n );\n\n const peripheryAddress = getAddress(\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n );\n\n const dstEid = getLzEndpointId(reyaChainId);\n const amountLD = scale(moneyInOutTokenInfo.decimals)(params.amount);\n const minAmountLD = amountLD;\n\n const { sendParam } = buildOFTBridgeAndDepositExistingMASendParam(\n dstEid,\n peripheryAddress,\n params.marginAccountId,\n reyaPeripheryTokenInfo.address,\n amountLD,\n minAmountLD,\n );\n\n const provider = params.signer.provider;\n if (!provider) {\n throw new Error('Signer must have a provider to quote OFT messaging fees');\n }\n\n const oftContract = new ethers.Contract(\n moneyInOutTokenInfo.address,\n OFTAbi,\n provider,\n );\n\n const msgFee = await oftContract.quoteSend.staticCall(sendParam, false);\n const messagingFee: OFTMessagingFee = {\n nativeFee: msgFee.nativeFee,\n lzTokenFee: msgFee.lzTokenFee,\n };\n\n const callerAddress = await params.signer.getAddress();\n const { calldata: data, value } = encodeOFTBridgeAndDepositExistingMA(\n dstEid,\n peripheryAddress,\n params.marginAccountId,\n reyaPeripheryTokenInfo.address,\n amountLD,\n minAmountLD,\n messagingFee,\n callerAddress,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n moneyInOutTokenInfo.address,\n );\n\n if (!result?.hash) {\n return {\n transactionHash: null,\n };\n }\n\n return {\n transactionHash: result?.hash,\n };\n};\n"]}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.oftWithdrawMAAndBridge = void 0;
|
|
40
|
+
var common_1 = require("@reyaxyz/common");
|
|
41
|
+
var common_2 = require("@reyaxyz/common");
|
|
42
|
+
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
43
|
+
var common_3 = require("@reyaxyz/common");
|
|
44
|
+
var encode_1 = require("./encode");
|
|
45
|
+
var common_4 = require("@reyaxyz/common");
|
|
46
|
+
var encode_2 = require("../encode");
|
|
47
|
+
var common_5 = require("@reyaxyz/common");
|
|
48
|
+
var ethers_1 = require("ethers");
|
|
49
|
+
var network_1 = require("../../utils/network");
|
|
50
|
+
var oftWithdrawMAAndBridge = function (_a) {
|
|
51
|
+
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;
|
|
52
|
+
return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
+
var reyaChainId, corePeripheryTokenInfo, multiAction, dstEid, eip712Signature, data, result;
|
|
54
|
+
return __generator(this, function (_c) {
|
|
55
|
+
switch (_c.label) {
|
|
56
|
+
case 0:
|
|
57
|
+
reyaChainId = (0, network_1.getReyaNetwork)();
|
|
58
|
+
corePeripheryTokenInfo = (0, common_1.getTokenInfoByAddress)(tokenAddress);
|
|
59
|
+
if (!corePeripheryTokenInfo.isOFT) {
|
|
60
|
+
throw new Error("Token ".concat(corePeripheryTokenInfo.name, " at ").concat(tokenAddress, " is not an OFT token"));
|
|
61
|
+
}
|
|
62
|
+
multiAction = new common_5.MultiAction();
|
|
63
|
+
(0, encode_2.encodeSingleWithdraw)(corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), multiAction);
|
|
64
|
+
dstEid = (0, common_1.getLzEndpointId)(moneyInOutChainId);
|
|
65
|
+
return [4 /*yield*/, (0, common_3.signCoreCommands)(signer, reyaChainId, (0, common_2.getAddress)(reyaChainId, common_2.ContractType.PERIPHERY_PROXY), marginAccountId, multiAction.commands, owner.coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_4.BRIDGE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode(['string', 'address', 'uint32'], ['withdrawMALZ', receiverAddress, dstEid]))];
|
|
66
|
+
case 1:
|
|
67
|
+
eip712Signature = (_c.sent()).signature;
|
|
68
|
+
data = (0, encode_1.encodeWithdrawMALZ)(marginAccountId, corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), eip712Signature, dstEid, receiverAddress).calldata;
|
|
69
|
+
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, reyaChainId, common_2.ContractType.PERIPHERY_PROXY, {
|
|
70
|
+
destinationType: 'account',
|
|
71
|
+
})];
|
|
72
|
+
case 2:
|
|
73
|
+
result = _c.sent();
|
|
74
|
+
if (!(result === null || result === void 0 ? void 0 : result.txHash)) {
|
|
75
|
+
return [2 /*return*/, {
|
|
76
|
+
transactionHash: null,
|
|
77
|
+
coreSigNonce: null,
|
|
78
|
+
}];
|
|
79
|
+
}
|
|
80
|
+
return [2 /*return*/, {
|
|
81
|
+
transactionHash: (result === null || result === void 0 ? void 0 : result.txHash) || null,
|
|
82
|
+
coreSigNonce: (result === null || result === void 0 ? void 0 : result.coreSigNonce) != null ? Number(result.coreSigNonce) : null,
|
|
83
|
+
}];
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
exports.oftWithdrawMAAndBridge = oftWithdrawMAAndBridge;
|
|
89
|
+
//# sourceMappingURL=oftWithdrawMAAndBridge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oftWithdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/oftWithdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAKyB;AACzB,0CAA2D;AAC3D,8EAA6E;AAC7E,0CAAmD;AACnD,mCAA8C;AAK9C,0CAA6D;AAC7D,oCAAiD;AACjD,0CAA8C;AAC9C,iCAAgC;AAChC,+CAAqD;AAE9C,IAAM,sBAAsB,GAAG,UAAO,EAQd;QAP7B,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;;;;;;oBAEzB,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;oBAE/B,sBAAsB,GAAG,IAAA,8BAAqB,EAAC,YAAY,CAAC,CAAC;oBAEnE,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,CAAC;wBAClC,MAAM,IAAI,KAAK,CACb,gBAAS,sBAAsB,CAAC,IAAI,iBAAO,YAAY,yBAAsB,CAC9E,CAAC;oBACJ,CAAC;oBAEK,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,MAAM,GAAG,IAAA,wBAAe,EAAC,iBAAiB,CAAC,CAAC;oBAEX,qBAAM,IAAA,yBAAgB,EAC3D,MAAM,EACN,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,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,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAC,EAC/B,CAAC,cAAc,EAAE,eAAe,EAAE,MAAM,CAAC,CAC1C,CACF,EAAA;;oBAZkB,eAAe,GAAK,CAAA,SAYtC,CAAA,UAZiC;oBAchB,IAAI,GAAK,IAAA,2BAAkB,EAC3C,eAAe,EACf,sBAAsB,CAAC,OAAO,EAC9B,IAAA,cAAK,EAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,EACtD,eAAe,EACf,MAAM,EACN,eAAe,CAChB,SAPqB,CAOpB;oBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B;4BACE,eAAe,EAAE,SAAS;yBAC3B,CACF,EAAA;;oBAPK,MAAM,GAAG,SAOd;oBAED,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,EAAE,CAAC;wBACpB,sBAAO;gCACL,eAAe,EAAE,IAAI;gCACrB,YAAY,EAAE,IAAI;6BACnB,EAAC;oBACJ,CAAC;oBAED,sBAAO;4BACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;4BACvC,YAAY,EACV,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,KAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;yBACpE,EAAC;;;;CACH,CAAC;AAxEW,QAAA,sBAAsB,0BAwEjC","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getLzEndpointId,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeWithdrawMALZ } from './encode';\nimport {\n OFTWithdrawMAAndBridgeParams,\n OFTWithdrawMAAndBridgeResult,\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 { getReyaNetwork } from '../../utils/network';\n\nexport const oftWithdrawMAAndBridge = async ({\n signer,\n moneyInOutChainId,\n marginAccountId,\n owner,\n amount: unscaledAmount,\n tokenAddress,\n receiverAddress = owner.address,\n}: OFTWithdrawMAAndBridgeParams): Promise<OFTWithdrawMAAndBridgeResult> => {\n const reyaChainId = getReyaNetwork();\n\n const corePeripheryTokenInfo = getTokenInfoByAddress(tokenAddress);\n\n if (!corePeripheryTokenInfo.isOFT) {\n throw new Error(\n `Token ${corePeripheryTokenInfo.name} at ${tokenAddress} is not an OFT token`,\n );\n }\n\n const multiAction = new MultiAction();\n encodeSingleWithdraw(\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n multiAction,\n );\n\n const dstEid = getLzEndpointId(moneyInOutChainId);\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 ['string', 'address', 'uint32'],\n ['withdrawMALZ', receiverAddress, dstEid],\n ),\n );\n\n const { calldata: data } = encodeWithdrawMALZ(\n marginAccountId,\n corePeripheryTokenInfo.address,\n scale(corePeripheryTokenInfo.decimals)(unscaledAmount),\n eip712Signature,\n dstEid,\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 return {\n transactionHash: result?.txHash || null,\n coreSigNonce:\n result?.coreSigNonce != null ? 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\nexport type OFTWithdrawMAAndBridgeParams = WithdrawMAAndBridgeParams;\n\nexport type OFTWithdrawMAAndBridgeResult = WithdrawMAAndBridgeParamsResult;\n\nexport type OFTBridgeAndDepositExistingMAParams = {\n signer: Signer | JsonRpcSigner;\n marginAccountId: number;\n tokenAddress: TokenEntity['address'];\n amount: number;\n moneyInOutChainId?: MoneyInOutChainId;\n};\n\nexport type OFTBridgeAndDepositExistingMAResult = {\n transactionHash: string | null;\n};\n"]}
|
|
@@ -4,5 +4,7 @@ export declare const encodeDepositLiquidityToAccount: (sig: EIP712Signature, sru
|
|
|
4
4
|
export declare const encodeUnstakeFromMarginAccount: (signer: Signer, chainId: number, coreSigNonce: number, accountId: number, poolId: number, srusdAmount: bigint, mintOut: bigint) => Promise<MethodParameters>;
|
|
5
5
|
export declare const encodeStakeFromMarginAccount: (signer: Signer, chainId: number, coreSigNonce: number, accountId: number, poolId: number, amount: bigint, minShares: bigint) => Promise<MethodParameters>;
|
|
6
6
|
export declare const encodeWithdrawPassivePoolAndBridge: (owner: string, poolId: number, sharesAmount: bigint, minOut: bigint, sig: EIP712Signature, socketMsgGasLimit: bigint, chainId: number, receiver: string) => MethodParameters;
|
|
7
|
+
export declare const encodeStakeReya: (accountId: number, assetAmount: bigint, minShareAmount: bigint, withdrawSig: EIP712Signature) => MethodParameters;
|
|
8
|
+
export declare const encodeUnstakeStakedReya: (accountId: number, shareAmount: bigint, minAssetAmount: bigint, withdrawSig: EIP712Signature) => MethodParameters;
|
|
7
9
|
export declare const encodeBridgeAndDepositPassivePool: (receiver: string, socketMsgGasLimit: bigint, socketConnector: string, socketBridgeOptions: string, socketFees: bigint, poolId: number, owner: string, amount: bigint, minShares: bigint) => MethodParameters;
|
|
8
10
|
//# sourceMappingURL=encode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAGf,gBAAgB,EAOjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMxC,eAAO,MAAM,+BAA+B,QACrC,eAAe,eACP,MAAM,UACX,MAAM,aACH,MAAM,KAChB,QAAQ,gBAAgB,CAM1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,WACjC,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,UACT,MAAM,eACD,MAAM,WACV,MAAM,KACd,QAAQ,gBAAgB,CAkC1B,CAAC;AAEF,eAAO,MAAM,4BAA4B,WAC/B,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,UACT,MAAM,UACN,MAAM,aACH,MAAM,KAChB,QAAQ,gBAAgB,CA6B1B,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACtC,MAAM,UACL,MAAM,gBACA,MAAM,UACZ,MAAM,OACT,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,KACf,gBAiBF,CAAC;AAEF,eAAO,MAAM,iCAAiC,aAClC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,UACV,MAAM,SACP,MAAM,UACL,MAAM,aACH,MAAM,KAChB,gBAoBF,CAAC"}
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/lp/encode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,eAAe,EAGf,gBAAgB,EAOjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAU,MAAM,EAAE,MAAM,QAAQ,CAAC;AAMxC,eAAO,MAAM,+BAA+B,QACrC,eAAe,eACP,MAAM,UACX,MAAM,aACH,MAAM,KAChB,QAAQ,gBAAgB,CAM1B,CAAC;AAEF,eAAO,MAAM,8BAA8B,WACjC,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,UACT,MAAM,eACD,MAAM,WACV,MAAM,KACd,QAAQ,gBAAgB,CAkC1B,CAAC;AAEF,eAAO,MAAM,4BAA4B,WAC/B,MAAM,WACL,MAAM,gBACD,MAAM,aACT,MAAM,UACT,MAAM,UACN,MAAM,aACH,MAAM,KAChB,QAAQ,gBAAgB,CA6B1B,CAAC;AAEF,eAAO,MAAM,kCAAkC,UACtC,MAAM,UACL,MAAM,gBACA,MAAM,UACZ,MAAM,OACT,eAAe,qBACD,MAAM,WAChB,MAAM,YACL,MAAM,KACf,gBAiBF,CAAC;AAEF,eAAO,MAAM,eAAe,cACf,MAAM,eACJ,MAAM,kBACH,MAAM,eACT,eAAe,KAC3B,gBAaF,CAAC;AAEF,eAAO,MAAM,uBAAuB,cACvB,MAAM,eACJ,MAAM,kBACH,MAAM,eACT,eAAe,KAC3B,gBAaF,CAAC;AAEF,eAAO,MAAM,iCAAiC,aAClC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,UACV,MAAM,SACP,MAAM,UACL,MAAM,aACH,MAAM,KAChB,gBAoBF,CAAC"}
|
|
@@ -4,4 +4,6 @@ export * from './withdrawPassivePoolAndBridge';
|
|
|
4
4
|
export * from './transferStakeToMarginAccount';
|
|
5
5
|
export * from './unstakeFromMarginAccount';
|
|
6
6
|
export * from './stakeFromMarginAccount';
|
|
7
|
+
export * from './stakeReya';
|
|
8
|
+
export * from './unstakeStakedReya';
|
|
7
9
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["services/lp/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["services/lp/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,0BAA0B,CAAC;AACzC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stakeReya.d.ts","sourceRoot":"/","sources":["services/lp/stakeReya.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAiB3D,eAAO,MAAM,SAAS,WACZ,eAAe,KACtB,QAAQ,eAAe,CA8CzB,CAAC"}
|
|
@@ -47,6 +47,28 @@ export type WithdrawPassivePoolAndBridgeResult = {
|
|
|
47
47
|
transactionHash: string | null;
|
|
48
48
|
poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;
|
|
49
49
|
};
|
|
50
|
+
export type StakeReyaParams = {
|
|
51
|
+
signer: Signer | JsonRpcSigner;
|
|
52
|
+
owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;
|
|
53
|
+
marginAccountId: number;
|
|
54
|
+
amount: number;
|
|
55
|
+
minShareAmount?: number;
|
|
56
|
+
};
|
|
57
|
+
export type StakeReyaResult = {
|
|
58
|
+
transactionHash: string | null;
|
|
59
|
+
coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;
|
|
60
|
+
};
|
|
61
|
+
export type UnstakeStakedReyaParams = {
|
|
62
|
+
signer: Signer | JsonRpcSigner;
|
|
63
|
+
owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;
|
|
64
|
+
marginAccountId: number;
|
|
65
|
+
shareAmount: number;
|
|
66
|
+
minAssetAmount?: number;
|
|
67
|
+
};
|
|
68
|
+
export type UnstakeStakedReyaResult = {
|
|
69
|
+
transactionHash: string | null;
|
|
70
|
+
coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;
|
|
71
|
+
};
|
|
50
72
|
export type BridgeAndDepositPassivePoolParams = {
|
|
51
73
|
signer: Signer | JsonRpcSigner;
|
|
52
74
|
ownerAddress: OwnerMetadataEntity['address'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/lp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unstakeStakedReya.d.ts","sourceRoot":"/","sources":["services/lp/unstakeStakedReya.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAiB3E,eAAO,MAAM,iBAAiB,WACpB,uBAAuB,KAC9B,QAAQ,uBAAuB,CA8CjC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositExistingMA.d.ts","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositExistingMA.d.ts","sourceRoot":"/","sources":["services/margin-accounts/bridgeAndDepositExistingMA.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,gCAAgC,EAChC,gCAAgC,EACjC,MAAM,SAAS,CAAC;AAGjB,eAAO,MAAM,0BAA0B,WAC7B,gCAAgC,KACvC,QAAQ,gCAAgC,CAyE1C,CAAC"}
|
|
@@ -1,8 +1,19 @@
|
|
|
1
|
-
import { MethodParameters } from '@reyaxyz/common';
|
|
1
|
+
import { MethodParameters, OFTSendParam, OFTMessagingFee } from '@reyaxyz/common';
|
|
2
2
|
import { EIP712Signature } from '@reyaxyz/common';
|
|
3
3
|
import { Signer } from 'ethers';
|
|
4
4
|
export declare const encodeCreateAccountCall: (accountOwner: string) => MethodParameters;
|
|
5
5
|
export declare const encodeTransferMargin: (signer: Signer, chainId: number, coreSigNonce: number, fromMarginAccountId: number, toMarginAccountId: number, token: string, amount: bigint) => Promise<MethodParameters>;
|
|
6
6
|
export declare const encodeWithdrawMAAndBridge: (accountId: number, corePeripheryTokenAddress: string, corePeripheryTokenAmount: bigint, sig: EIP712Signature, socketMsgGasLimit: bigint, chainId: number, receiver: string) => MethodParameters;
|
|
7
|
-
export declare const encodeBridgeAndDepositExistingMA: (receiver: string, socketMsgGasLimit: bigint, socketConnector: string, socketBridgeOptions: string, socketFees: bigint, accountId: number, peripheryTokenAddress: string,
|
|
7
|
+
export declare const encodeBridgeAndDepositExistingMA: (receiver: string, socketMsgGasLimit: bigint, socketConnector: string, socketBridgeOptions: string, socketFees: bigint, accountId: number, peripheryTokenAddress: string, moneyInOutTokenAmount: bigint) => MethodParameters;
|
|
8
|
+
export declare const encodeWithdrawMALZ: (accountId: number, corePeripheryTokenAddress: string, corePeripheryTokenAmount: bigint, sig: EIP712Signature, dstEid: number, receiver: string) => MethodParameters;
|
|
9
|
+
/**
|
|
10
|
+
* Encode LZ v3 extraOptions with both lzReceive and lzCompose options.
|
|
11
|
+
* Required for msgType=2 (SEND_AND_CALL) since enforced options only cover msgType=1.
|
|
12
|
+
*/
|
|
13
|
+
export declare const encodeLzSendAndComposeExtraOptions: (receiveGas: number, composeGas: number) => string;
|
|
14
|
+
export declare const buildOFTBridgeAndDepositExistingMASendParam: (dstEid: number, receiverAddress: string, accountId: number, peripheryTokenAddress: string, amountLD: bigint, minAmountLD: bigint) => {
|
|
15
|
+
sendParam: OFTSendParam;
|
|
16
|
+
composeMsg: string;
|
|
17
|
+
};
|
|
18
|
+
export declare const encodeOFTBridgeAndDepositExistingMA: (dstEid: number, receiverAddress: string, accountId: number, peripheryTokenAddress: string, amountLD: bigint, minAmountLD: bigint, messagingFee: OFTMessagingFee, callerAddress: string) => MethodParameters;
|
|
8
19
|
//# sourceMappingURL=encode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/margin-accounts/encode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAEhB,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAML,eAAe,EAIhB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAShC,eAAO,MAAM,uBAAuB,iBACpB,MAAM,KACnB,gBAMF,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,gCAAgC,aACjC,MAAM,qBACG,MAAM,mBACR,MAAM,uBACF,MAAM,cACf,MAAM,aACP,MAAM,yBACM,MAAM,yBACN,MAAM,KAC5B,gBAuBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,cAClB,MAAM,6BACU,MAAM,4BACP,MAAM,OAC3B,eAAe,UACZ,MAAM,YACJ,MAAM,KACf,gBAeF,CAAC;AAQF;;;GAGG;AACH,eAAO,MAAM,kCAAkC,eACjC,MAAM,cACN,MAAM,KACjB,MA6BF,CAAC;AAEF,eAAO,MAAM,2CAA2C,WAC9C,MAAM,mBACG,MAAM,aACZ,MAAM,yBACM,MAAM,YACnB,MAAM,eACH,MAAM;eACL,YAAY;gBAAc,MAAM;CA6B/C,CAAC;AAEF,eAAO,MAAM,mCAAmC,WACtC,MAAM,mBACG,MAAM,aACZ,MAAM,yBACM,MAAM,YACnB,MAAM,eACH,MAAM,gBACL,eAAe,iBACd,MAAM,KACpB,gBAqBF,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './types';
|
|
2
2
|
export * from './account';
|
|
3
3
|
export * from './bridgeAndDepositExistingMA';
|
|
4
|
+
export * from './oftBridgeAndDepositExistingMA';
|
|
5
|
+
export * from './oftWithdrawMAAndBridge';
|
|
4
6
|
export * from './transferMarginBetweenAccounts';
|
|
5
7
|
export * from './withdrawMAAndBridge';
|
|
6
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["services/margin-accounts/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["services/margin-accounts/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,8BAA8B,CAAC;AAC7C,cAAc,iCAAiC,CAAC;AAChD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iCAAiC,CAAC;AAChD,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { OFTBridgeAndDepositExistingMAParams, OFTBridgeAndDepositExistingMAResult } from './types';
|
|
2
|
+
export declare const oftBridgeAndDepositExistingMA: (params: OFTBridgeAndDepositExistingMAParams) => Promise<OFTBridgeAndDepositExistingMAResult>;
|
|
3
|
+
//# sourceMappingURL=oftBridgeAndDepositExistingMA.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oftBridgeAndDepositExistingMA.d.ts","sourceRoot":"/","sources":["services/margin-accounts/oftBridgeAndDepositExistingMA.ts"],"names":[],"mappings":"AAkBA,OAAO,EACL,mCAAmC,EACnC,mCAAmC,EACpC,MAAM,SAAS,CAAC;AAEjB,eAAO,MAAM,6BAA6B,WAChC,mCAAmC,KAC1C,QAAQ,mCAAmC,CAsF7C,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { OFTWithdrawMAAndBridgeParams, OFTWithdrawMAAndBridgeResult } from './types';
|
|
2
|
+
export declare const oftWithdrawMAAndBridge: ({ signer, moneyInOutChainId, marginAccountId, owner, amount: unscaledAmount, tokenAddress, receiverAddress, }: OFTWithdrawMAAndBridgeParams) => Promise<OFTWithdrawMAAndBridgeResult>;
|
|
3
|
+
//# sourceMappingURL=oftWithdrawMAAndBridge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oftWithdrawMAAndBridge.d.ts","sourceRoot":"/","sources":["services/margin-accounts/oftWithdrawMAAndBridge.ts"],"names":[],"mappings":"AAUA,OAAO,EACL,4BAA4B,EAC5B,4BAA4B,EAC7B,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,sBAAsB,kHAQhC,4BAA4B,KAAG,QAAQ,4BAA4B,CAgErE,CAAC"}
|
|
@@ -46,4 +46,16 @@ export type BridgeAndDepositExistingMAParams = {
|
|
|
46
46
|
export type BridgeAndDepositExistingMAResult = {
|
|
47
47
|
transactionHash: string | null;
|
|
48
48
|
};
|
|
49
|
+
export type OFTWithdrawMAAndBridgeParams = WithdrawMAAndBridgeParams;
|
|
50
|
+
export type OFTWithdrawMAAndBridgeResult = WithdrawMAAndBridgeParamsResult;
|
|
51
|
+
export type OFTBridgeAndDepositExistingMAParams = {
|
|
52
|
+
signer: Signer | JsonRpcSigner;
|
|
53
|
+
marginAccountId: number;
|
|
54
|
+
tokenAddress: TokenEntity['address'];
|
|
55
|
+
amount: number;
|
|
56
|
+
moneyInOutChainId?: MoneyInOutChainId;
|
|
57
|
+
};
|
|
58
|
+
export type OFTBridgeAndDepositExistingMAResult = {
|
|
59
|
+
transactionHash: string | null;
|
|
60
|
+
};
|
|
49
61
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"/","sources":["services/margin-accounts/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC/C,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,WAAW,EACZ,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,KAAK,EAAE,IAAI,CAAC,mBAAmB,EAAE,SAAS,GAAG,cAAc,CAAC,CAAC;IAC7D,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IAEf,eAAe,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,+BAA+B,GAAG;IAC5C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,YAAY,EAAE,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;CAC1D,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC7C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,yBAAyB,CAAC;AAErE,MAAM,MAAM,4BAA4B,GAAG,+BAA+B,CAAC;AAE3E,MAAM,MAAM,mCAAmC,GAAG;IAChD,MAAM,EAAE,MAAM,GAAG,aAAa,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,mCAAmC,GAAG;IAChD,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.146.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -31,11 +31,11 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@reyaxyz/api-v2-sdk": "0.302.0",
|
|
34
|
-
"@reyaxyz/common": "0.
|
|
34
|
+
"@reyaxyz/common": "0.343.1",
|
|
35
35
|
"axios": "1.6.2",
|
|
36
36
|
"bignumber.js": "9.1.2",
|
|
37
37
|
"ethers": "6.9.0"
|
|
38
38
|
},
|
|
39
39
|
"packageManager": "pnpm@8.3.1",
|
|
40
|
-
"gitHead": "
|
|
40
|
+
"gitHead": "4455c600e1e4be0f486198eed28f94fb211968f6"
|
|
41
41
|
}
|
|
@@ -141,6 +141,46 @@ export const encodeWithdrawPassivePoolAndBridge = (
|
|
|
141
141
|
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
142
142
|
};
|
|
143
143
|
|
|
144
|
+
export const encodeStakeReya = (
|
|
145
|
+
accountId: number,
|
|
146
|
+
assetAmount: bigint,
|
|
147
|
+
minShareAmount: bigint,
|
|
148
|
+
withdrawSig: EIP712Signature,
|
|
149
|
+
): MethodParameters => {
|
|
150
|
+
const functionSignature = 'stakeReya';
|
|
151
|
+
const parameters = [
|
|
152
|
+
{
|
|
153
|
+
accountId,
|
|
154
|
+
assetAmount,
|
|
155
|
+
minShareAmount,
|
|
156
|
+
withdrawSig,
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
const INTERFACE = new Interface(PeripheryAbi);
|
|
160
|
+
const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
161
|
+
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
export const encodeUnstakeStakedReya = (
|
|
165
|
+
accountId: number,
|
|
166
|
+
shareAmount: bigint,
|
|
167
|
+
minAssetAmount: bigint,
|
|
168
|
+
withdrawSig: EIP712Signature,
|
|
169
|
+
): MethodParameters => {
|
|
170
|
+
const functionSignature = 'unstakeStakedReya';
|
|
171
|
+
const parameters = [
|
|
172
|
+
{
|
|
173
|
+
accountId,
|
|
174
|
+
shareAmount,
|
|
175
|
+
minAssetAmount,
|
|
176
|
+
withdrawSig,
|
|
177
|
+
},
|
|
178
|
+
];
|
|
179
|
+
const INTERFACE = new Interface(PeripheryAbi);
|
|
180
|
+
const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
|
|
181
|
+
return { calldata: calldata, value: BigInt(0).toString(10) };
|
|
182
|
+
};
|
|
183
|
+
|
|
144
184
|
export const encodeBridgeAndDepositPassivePool = (
|
|
145
185
|
receiver: string,
|
|
146
186
|
socketMsgGasLimit: bigint,
|
package/src/services/lp/index.ts
CHANGED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { StakeReyaParams, StakeReyaResult } from './types';
|
|
2
|
+
import { getReyaNetwork } from '../../utils/network';
|
|
3
|
+
import {
|
|
4
|
+
scale,
|
|
5
|
+
getTokenInfoByName,
|
|
6
|
+
ContractType,
|
|
7
|
+
getAddress,
|
|
8
|
+
signCoreCommands,
|
|
9
|
+
getCurrentTimestampInSeconds,
|
|
10
|
+
CORE_DEADLINE_IN_SECONDS,
|
|
11
|
+
MultiAction,
|
|
12
|
+
} from '@reyaxyz/common';
|
|
13
|
+
import { encodeSingleWithdraw } from '../encode';
|
|
14
|
+
import { encodeStakeReya } from './encode';
|
|
15
|
+
import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';
|
|
16
|
+
import { ethers } from 'ethers';
|
|
17
|
+
|
|
18
|
+
export const stakeReya = async (
|
|
19
|
+
params: StakeReyaParams,
|
|
20
|
+
): Promise<StakeReyaResult> => {
|
|
21
|
+
const chainId = getReyaNetwork();
|
|
22
|
+
|
|
23
|
+
const reyaTokenInfo = getTokenInfoByName('REYA', chainId);
|
|
24
|
+
const sreyaTokenInfo = getTokenInfoByName('SREYA', chainId);
|
|
25
|
+
const assetAmount = scale(reyaTokenInfo.decimals)(params.amount);
|
|
26
|
+
const minShareAmount = params.minShareAmount
|
|
27
|
+
? scale(sreyaTokenInfo.decimals)(params.minShareAmount)
|
|
28
|
+
: BigInt(0);
|
|
29
|
+
|
|
30
|
+
const multiAction = new MultiAction();
|
|
31
|
+
encodeSingleWithdraw(reyaTokenInfo.address, assetAmount, multiAction);
|
|
32
|
+
|
|
33
|
+
const { signature: withdrawSig } = await signCoreCommands(
|
|
34
|
+
params.signer,
|
|
35
|
+
chainId,
|
|
36
|
+
getAddress(chainId, ContractType.PERIPHERY_PROXY),
|
|
37
|
+
params.marginAccountId,
|
|
38
|
+
multiAction.commands,
|
|
39
|
+
params.owner.coreSigNonce + 1,
|
|
40
|
+
getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,
|
|
41
|
+
ethers.AbiCoder.defaultAbiCoder().encode(
|
|
42
|
+
['string', 'uint256'],
|
|
43
|
+
['stakeReya', minShareAmount],
|
|
44
|
+
),
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
const { calldata: data } = encodeStakeReya(
|
|
48
|
+
params.marginAccountId,
|
|
49
|
+
assetAmount,
|
|
50
|
+
minShareAmount,
|
|
51
|
+
withdrawSig,
|
|
52
|
+
);
|
|
53
|
+
|
|
54
|
+
const result = await signAndBroadcastTransaction(
|
|
55
|
+
data,
|
|
56
|
+
chainId,
|
|
57
|
+
ContractType.PERIPHERY_PROXY,
|
|
58
|
+
{},
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
transactionHash: result?.txHash || null,
|
|
63
|
+
coreSigNonce:
|
|
64
|
+
result?.coreSigNonce != null ? Number(result.coreSigNonce) : null,
|
|
65
|
+
};
|
|
66
|
+
};
|
package/src/services/lp/types.ts
CHANGED
|
@@ -62,6 +62,32 @@ export type WithdrawPassivePoolAndBridgeResult = {
|
|
|
62
62
|
poolSigNonce: OwnerMetadataEntity['poolSigNonce'] | null;
|
|
63
63
|
};
|
|
64
64
|
|
|
65
|
+
export type StakeReyaParams = {
|
|
66
|
+
signer: Signer | JsonRpcSigner;
|
|
67
|
+
owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;
|
|
68
|
+
marginAccountId: number;
|
|
69
|
+
amount: number;
|
|
70
|
+
minShareAmount?: number;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
export type StakeReyaResult = {
|
|
74
|
+
transactionHash: string | null;
|
|
75
|
+
coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export type UnstakeStakedReyaParams = {
|
|
79
|
+
signer: Signer | JsonRpcSigner;
|
|
80
|
+
owner: Pick<OwnerMetadataEntity, 'coreSigNonce'>;
|
|
81
|
+
marginAccountId: number;
|
|
82
|
+
shareAmount: number;
|
|
83
|
+
minAssetAmount?: number;
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export type UnstakeStakedReyaResult = {
|
|
87
|
+
transactionHash: string | null;
|
|
88
|
+
coreSigNonce: OwnerMetadataEntity['coreSigNonce'] | null;
|
|
89
|
+
};
|
|
90
|
+
|
|
65
91
|
export type BridgeAndDepositPassivePoolParams = {
|
|
66
92
|
signer: Signer | JsonRpcSigner;
|
|
67
93
|
ownerAddress: OwnerMetadataEntity['address'];
|