@reyaxyz/sdk 0.124.1 → 0.124.2
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/conditional-orders/grant-trade-permission/grantTradePermission.js +4 -6
- package/dist/services/conditional-orders/grant-trade-permission/grantTradePermission.js.map +1 -1
- package/dist/services/conditional-orders/revoke-trade-permission/revokeTradePermission.js +4 -6
- package/dist/services/conditional-orders/revoke-trade-permission/revokeTradePermission.js.map +1 -1
- package/dist/services/lp/bridgeAndDepositPassivePool.js +5 -6
- package/dist/services/lp/bridgeAndDepositPassivePool.js.map +1 -1
- package/dist/services/lp/transferFromMAToPool.js +3 -4
- package/dist/services/lp/transferFromMAToPool.js.map +1 -1
- package/dist/services/lp/transferFromPoolToMa.js +3 -4
- package/dist/services/lp/transferFromPoolToMa.js.map +1 -1
- package/dist/services/margin-accounts/account.js +3 -5
- package/dist/services/margin-accounts/account.js.map +1 -1
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +3 -4
- package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -1
- package/dist/services/margin-accounts/withdrawMAAndBridge.js +3 -3
- package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
- package/dist/services/orders/order.js +5 -7
- package/dist/services/orders/order.js.map +1 -1
- package/dist/services/swaps/simulation.js +5 -6
- package/dist/services/swaps/simulation.js.map +1 -1
- package/dist/services/swaps/swap.js +3 -4
- package/dist/services/swaps/swap.js.map +1 -1
- package/dist/services/token/getBalanceByTokenAddress.js +3 -2
- package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
- package/dist/types/services/conditional-orders/grant-trade-permission/grantTradePermission.d.ts.map +1 -1
- package/dist/types/services/conditional-orders/revoke-trade-permission/revokeTradePermission.d.ts.map +1 -1
- package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts.map +1 -1
- package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -1
- package/dist/types/services/lp/transferFromPoolToMa.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts.map +1 -1
- package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
- package/dist/types/services/orders/order.d.ts.map +1 -1
- package/dist/types/services/swaps/simulation.d.ts.map +1 -1
- package/dist/types/services/swaps/swap.d.ts.map +1 -1
- package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
- package/dist/types/utils/network.d.ts +3 -0
- package/dist/types/utils/network.d.ts.map +1 -0
- package/dist/utils/network.js +12 -0
- package/dist/utils/network.js.map +1 -0
- package/package.json +3 -3
- package/src/services/conditional-orders/grant-trade-permission/grantTradePermission.ts +2 -4
- package/src/services/conditional-orders/revoke-trade-permission/revokeTradePermission.ts +2 -4
- package/src/services/lp/bridgeAndDepositPassivePool.ts +4 -6
- package/src/services/lp/transferFromMAToPool.ts +2 -6
- package/src/services/lp/transferFromPoolToMa.ts +2 -6
- package/src/services/margin-accounts/account.ts +2 -4
- package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +3 -8
- package/src/services/margin-accounts/withdrawMAAndBridge.ts +3 -6
- package/src/services/orders/order.ts +4 -6
- package/src/services/swaps/simulation.ts +4 -6
- package/src/services/swaps/swap.ts +3 -4
- package/src/services/token/getBalanceByTokenAddress.ts +7 -10
- package/src/utils/network.ts +15 -0
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
|
@@ -40,19 +40,17 @@ exports.grantTradePermission = void 0;
|
|
|
40
40
|
var encode_1 = require("./encode");
|
|
41
41
|
var signAndBroadcastTransaction_1 = require("../../signAndBroadcastTransaction");
|
|
42
42
|
var common_1 = require("@reyaxyz/common");
|
|
43
|
-
var
|
|
44
|
-
var config_1 = require("../../../config");
|
|
43
|
+
var network_1 = require("../../../utils/network");
|
|
45
44
|
var grantTradePermission = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var
|
|
45
|
+
var chainId, data, result;
|
|
47
46
|
return __generator(this, function (_a) {
|
|
48
47
|
switch (_a.label) {
|
|
49
48
|
case 0:
|
|
50
|
-
|
|
51
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
49
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
52
50
|
return [4 /*yield*/, (0, encode_1.encodeGrantTradePermission)(params.signer, chainId, params.owner.coreSigNonce, params.accountId, params.permissionTarget)];
|
|
53
51
|
case 1:
|
|
54
52
|
data = (_a.sent()).calldata;
|
|
55
|
-
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId,
|
|
53
|
+
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_1.ContractType.CORE_PROXY, {
|
|
56
54
|
accountId: params.accountId,
|
|
57
55
|
})];
|
|
58
56
|
case 2:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grantTradePermission.js","sourceRoot":"/","sources":["services/conditional-orders/grant-trade-permission/grantTradePermission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAsD;AACtD,iFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"grantTradePermission.js","sourceRoot":"/","sources":["services/conditional-orders/grant-trade-permission/grantTradePermission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAsD;AACtD,iFAAgF;AAChF,0CAA+C;AAC/C,kDAAwD;AAEjD,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAEN,qBAAM,IAAA,mCAA0B,EACzD,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,gBAAgB,CACxB,EAAA;;gBANiB,IAAI,GAAK,CAAA,SAM1B,CAAA,SANqB;gBAQP,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,OAAO,EACP,qBAAY,CAAC,UAAU,EACvB;wBACE,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AA1BW,QAAA,oBAAoB,wBA0B/B","sourcesContent":["import {\n GrantTradePermissionParams,\n GrantTradePermissionResult,\n} from './types';\nimport { encodeGrantTradePermission } from './encode';\nimport { signAndBroadcastTransaction } from '../../signAndBroadcastTransaction';\nimport { ContractType } from '@reyaxyz/common';\nimport { getReyaNetwork } from '../../../utils/network';\n\nexport const grantTradePermission = async (\n params: GrantTradePermissionParams,\n): Promise<GrantTradePermissionResult> => {\n const chainId = getReyaNetwork();\n\n const { calldata: data } = await encodeGrantTradePermission(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.accountId,\n params.permissionTarget,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.CORE_PROXY,\n {\n accountId: params.accountId,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -40,19 +40,17 @@ exports.revokeTradePermission = void 0;
|
|
|
40
40
|
var encode_1 = require("./encode");
|
|
41
41
|
var signAndBroadcastTransaction_1 = require("../../signAndBroadcastTransaction");
|
|
42
42
|
var common_1 = require("@reyaxyz/common");
|
|
43
|
-
var
|
|
44
|
-
var config_1 = require("../../../config");
|
|
43
|
+
var network_1 = require("../../../utils/network");
|
|
45
44
|
var revokeTradePermission = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var
|
|
45
|
+
var chainId, data, result;
|
|
47
46
|
return __generator(this, function (_a) {
|
|
48
47
|
switch (_a.label) {
|
|
49
48
|
case 0:
|
|
50
|
-
|
|
51
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
49
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
52
50
|
return [4 /*yield*/, (0, encode_1.encodeRevokeTradePermission)(params.signer, chainId, params.owner.coreSigNonce, params.accountId, params.permissionTarget)];
|
|
53
51
|
case 1:
|
|
54
52
|
data = (_a.sent()).calldata;
|
|
55
|
-
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId,
|
|
53
|
+
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_1.ContractType.CORE_PROXY, {
|
|
56
54
|
accountId: params.accountId,
|
|
57
55
|
})];
|
|
58
56
|
case 2:
|
package/dist/services/conditional-orders/revoke-trade-permission/revokeTradePermission.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revokeTradePermission.js","sourceRoot":"/","sources":["services/conditional-orders/revoke-trade-permission/revokeTradePermission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAuD;AACvD,iFAAgF;AAChF,
|
|
1
|
+
{"version":3,"file":"revokeTradePermission.js","sourceRoot":"/","sources":["services/conditional-orders/revoke-trade-permission/revokeTradePermission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAuD;AACvD,iFAAgF;AAChF,0CAA+C;AAC/C,kDAAwD;AAEjD,IAAM,qBAAqB,GAAG,UACnC,MAAmC;;;;;gBAE7B,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAEN,qBAAM,IAAA,oCAA2B,EAC1D,MAAM,CAAC,MAAM,EACb,OAAO,EACP,MAAM,CAAC,KAAK,CAAC,YAAY,EACzB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,gBAAgB,CACxB,EAAA;;gBANiB,IAAI,GAAK,CAAA,SAM1B,CAAA,SANqB;gBAQP,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,OAAO,EACP,qBAAY,CAAC,UAAU,EACvB;wBACE,SAAS,EAAE,MAAM,CAAC,SAAS;qBAC5B,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AA1BW,QAAA,qBAAqB,yBA0BhC","sourcesContent":["import {\n RevokeTradePermissionParams,\n RevokeTradePermissionResult,\n} from './types';\nimport { encodeRevokeTradePermission } from './encode';\nimport { signAndBroadcastTransaction } from '../../signAndBroadcastTransaction';\nimport { ContractType } from '@reyaxyz/common';\nimport { getReyaNetwork } from '../../../utils/network';\n\nexport const revokeTradePermission = async (\n params: RevokeTradePermissionParams,\n): Promise<RevokeTradePermissionResult> => {\n const chainId = getReyaNetwork();\n\n const { calldata: data } = await encodeRevokeTradePermission(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.accountId,\n params.permissionTarget,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.CORE_PROXY,\n {\n accountId: params.accountId,\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -42,8 +42,9 @@ var config_1 = require("../../config");
|
|
|
42
42
|
var common_2 = require("@reyaxyz/common");
|
|
43
43
|
var encode_1 = require("./encode");
|
|
44
44
|
var lp_1 = require("./lp");
|
|
45
|
+
var network_1 = require("../../utils/network");
|
|
45
46
|
var bridgeAndDepositPassivePool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var network, moneyInOutChainId,
|
|
47
|
+
var network, moneyInOutChainId, chainId, tokenInfo, amount, socketConnectors, peripheryAddress, _a, data, value, result;
|
|
47
48
|
var _b;
|
|
48
49
|
return __generator(this, function (_c) {
|
|
49
50
|
switch (_c.label) {
|
|
@@ -51,8 +52,7 @@ var bridgeAndDepositPassivePool = function (params) { return __awaiter(void 0, v
|
|
|
51
52
|
case 1:
|
|
52
53
|
network = _c.sent();
|
|
53
54
|
moneyInOutChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
54
|
-
|
|
55
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
55
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
56
56
|
// @todo fix this
|
|
57
57
|
if (moneyInOutChainId === chainId) {
|
|
58
58
|
return [2 /*return*/, (0, lp_1.provideLiquidity)({
|
|
@@ -83,7 +83,7 @@ var bridgeAndDepositPassivePool = function (params) { return __awaiter(void 0, v
|
|
|
83
83
|
}); };
|
|
84
84
|
exports.bridgeAndDepositPassivePool = bridgeAndDepositPassivePool;
|
|
85
85
|
var bridgeAndDepositPassivePoolV2 = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
86
|
-
var network, moneyInOutChainId,
|
|
86
|
+
var network, moneyInOutChainId, chainId, tokenInfo, amount, socketConnectors, peripheryAddress, reyaTokenInfo, _a, data, value, result;
|
|
87
87
|
var _b;
|
|
88
88
|
return __generator(this, function (_c) {
|
|
89
89
|
switch (_c.label) {
|
|
@@ -91,8 +91,7 @@ var bridgeAndDepositPassivePoolV2 = function (params) { return __awaiter(void 0,
|
|
|
91
91
|
case 1:
|
|
92
92
|
network = _c.sent();
|
|
93
93
|
moneyInOutChainId = Number(network === null || network === void 0 ? void 0 : network.chainId);
|
|
94
|
-
|
|
95
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
94
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
96
95
|
if (moneyInOutChainId === chainId) {
|
|
97
96
|
throw new Error('Bridging from Reya Chain to Reya Chain is not supported');
|
|
98
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAWyB;AACzB,uCAAyD;AACzD,0CAA2D;AAC3D,mCAGkB;AAQlB,2BAAwC;AACxC,+CAAqD;AAE9C,IAAM,2BAA2B,GAAG,UACzC,MAAyC;;;;;oBAEzB,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,iBAAiB,GAAsB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEhE,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAEjC,iBAAiB;gBACjB,IAAI,iBAAiB,KAAM,OAAmB,EAAE,CAAC;oBAC/C,sBAAO,IAAA,qBAAgB,EAAC;4BACtB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,MAAM,EAAE,MAAM,CAAC,MAAM;4BACrB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE;yBACzB,CAAC,EAAC;gBACL,CAAC;gBAEK,SAAS,GAAG,IAAA,mCAA0B,EAAC,iBAAiB,CAAC,CAAC;gBAE1D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,gBAAgB,GAAG,IAAA,4BAAmB,EAAC;oBAC3C,iBAAiB,EAAE,iBAAiB;oBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;iBAC1B,CAAC,CAAC;gBAEG,gBAAgB,GAAG,IAAA,mBAAU,EACjC,IAAA,4CAAmC,EAAC,iBAAiB,CAAC,EACtD,qBAAY,CAAC,eAAe,CAC7B,CAAC;gBAEI,KAA4B,IAAA,0CAAiC,EACjE,gBAAgB,EAChB,uCAA8B,EAC9B,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,CACV,EAViB,IAAI,cAAA,EAAE,KAAK,WAAA,CAU3B;gBAEa,qBAAM,IAAA,2BAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,iBAAiB;wBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B,CAAC,CACH,EAAA;;gBATK,MAAM,GAAG,SASd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AAzDW,QAAA,2BAA2B,+BAyDtC;AAEK,IAAM,6BAA6B,GAAG,UAC3C,MAA2C;;;;;oBAE3B,qBAAM,CAAA,MAAA,MAAM,CAAC,MAAM,CAAC,QAAQ,0CAAE,UAAU,EAAE,CAAA,EAAA;;gBAApD,OAAO,GAAG,SAA0C;gBACpD,iBAAiB,GAAsB,MAAM,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,CAAC;gBAEhE,OAAO,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAEjC,IAAI,iBAAiB,KAAM,OAAmB,EAAE,CAAC;oBAC/C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;gBAC7E,CAAC;gBAEK,SAAS,GAAG,IAAA,8BAAqB,EACrC,MAAM,CAAC,YAAY,EACnB,iBAAiB,CAClB,CAAC;gBAEI,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,gBAAgB,GAAG,IAAA,4BAAmB,EAAC;oBAC3C,iBAAiB,EAAE,iBAAiB;oBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;iBAC1B,CAAC,CAAC;gBAEG,gBAAgB,GAAG,IAAA,mBAAU,EACjC,IAAA,4CAAmC,EAAC,iBAAiB,CAAC,EACtD,qBAAY,CAAC,eAAe,CAC7B,CAAC;gBAEI,aAAa,GAAG,IAAA,2BAAkB,EACtC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,EACpD,OAAO,CACR,CAAC;gBACI,KAA4B,IAAA,4CAAmC,EACnE,gBAAgB,EAChB,uCAA8B,EAC9B,gBAAgB,CAAC,OAAO,EACxB,IAAI,EACJ,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,YAAY,EACnB,MAAM,EACN,MAAM,CAAC,CAAC,CAAC,EACT,aAAa,CAAC,OAAO,CACtB,EAXiB,IAAI,cAAA,EAAE,KAAK,WAAA,CAW3B;gBAEa,qBAAM,IAAA,2BAAkB,EACrC,MAAM,CAAC,MAAM,EACb,IAAI,EACJ,KAAK,EACL,iBAAiB,EACjB,IAAA,uBAAc,EAAC;wBACb,iBAAiB,EAAE,iBAAiB;wBACpC,SAAS,EAAE,SAAS,CAAC,IAAI;qBAC1B,CAAC,CACH,EAAA;;gBATK,MAAM,GAAG,SASd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI,KAAI,IAAI;qBACtC,EAAC;;;KACH,CAAC;AA5DW,QAAA,6BAA6B,iCA4DxC;AAEK,IAAM,0CAA0C,GAAG,UACxD,MAAwD;;;;;gBAElD,gBAAgB,GAAG,IAAA,kCAAyB,GAAE,CAAC;gBACrD,qBAAM,gBAAgB,CAAC,sBAAsB,CAAC;wBAC5C,aAAa,EAAE,MAAM,CAAC,YAAY;wBAClC,IAAI,EAAE,MAAM,CAAC,UAAU;qBACxB,CAAC,EAAA;;gBAHF,SAGE,CAAC;gBAEI,qBAAM,IAAA,mCAA2B,EAAC,MAAM,CAAC,EAAA;oBAAhD,sBAAO,SAAyC,EAAC;;;KAClD,CAAC;AAVW,QAAA,0CAA0C,8CAUrD","sourcesContent":["import {\n getSocketVault,\n scale,\n MoneyInOutChainId,\n getSocketConnectors,\n getReyaNetworkFromMoneyInOutChainId,\n getRUSDUnderlyingTokenInfo,\n executeTransaction,\n getTokenInfoByAddress,\n getTokenInfoByName,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n} from '@reyaxyz/common';\nimport { getAlphaTermsModuleClient } from '../../config';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport {\n encodeBridgeAndDepositPassivePool,\n encodeBridgeAndDepositPassivePoolV2,\n} from './encode';\nimport {\n BridgeAndDepositPassivePoolParams,\n BridgeAndDepositPassivePoolParamsV2,\n BridgeAndDepositPassivePoolResult,\n BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n BridgeAndDepositPassivePoolUnderAlphaTermsResult,\n} from './types';\nimport { provideLiquidity } from './lp';\nimport { getReyaNetwork } from '../../utils/network';\n\nexport const bridgeAndDepositPassivePool = async (\n params: BridgeAndDepositPassivePoolParams,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);\n\n const chainId = getReyaNetwork();\n\n // @todo fix this\n if (moneyInOutChainId === (chainId as unknown)) {\n return provideLiquidity({\n signer: params.signer,\n amount: params.amount,\n lpPoolId: params.pool.id,\n });\n }\n\n const tokenInfo = getRUSDUnderlyingTokenInfo(moneyInOutChainId);\n\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n });\n\n const peripheryAddress = getAddress(\n getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),\n ContractType.PERIPHERY_PROXY,\n );\n\n const { calldata: data, value } = encodeBridgeAndDepositPassivePool(\n peripheryAddress,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.pool.id,\n params.ownerAddress,\n amount,\n BigInt(0),\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const bridgeAndDepositPassivePoolV2 = async (\n params: BridgeAndDepositPassivePoolParamsV2,\n): Promise<BridgeAndDepositPassivePoolResult> => {\n const network = await params.signer.provider?.getNetwork();\n const moneyInOutChainId: MoneyInOutChainId = Number(network?.chainId);\n\n const chainId = getReyaNetwork();\n\n if (moneyInOutChainId === (chainId as unknown)) {\n throw new Error('Bridging from Reya Chain to Reya Chain is not supported');\n }\n\n const tokenInfo = getTokenInfoByAddress(\n params.tokenAddress,\n moneyInOutChainId,\n );\n\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const socketConnectors = getSocketConnectors({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n });\n\n const peripheryAddress = getAddress(\n getReyaNetworkFromMoneyInOutChainId(moneyInOutChainId),\n ContractType.PERIPHERY_PROXY,\n );\n\n const reyaTokenInfo = getTokenInfoByName(\n tokenInfo.isRUSDUnderlying ? 'RUSD' : tokenInfo.name,\n chainId,\n );\n const { calldata: data, value } = encodeBridgeAndDepositPassivePoolV2(\n peripheryAddress,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n socketConnectors.deposit,\n '0x',\n params.socketDepositFees,\n params.pool.id,\n params.ownerAddress,\n amount,\n BigInt(0),\n reyaTokenInfo.address,\n );\n\n const result = await executeTransaction(\n params.signer,\n data,\n value,\n moneyInOutChainId,\n getSocketVault({\n moneyInOutChainId: moneyInOutChainId,\n tokenName: tokenInfo.name,\n }),\n );\n\n return {\n transactionHash: result?.hash || null,\n };\n};\n\nexport const bridgeAndDepositPassivePoolUnderAlphaTerms = async (\n params: BridgeAndDepositPassivePoolUnderAlphaTermsParams,\n): Promise<BridgeAndDepositPassivePoolUnderAlphaTermsResult> => {\n const alphaTermsModule = getAlphaTermsModuleClient();\n await alphaTermsModule.registerAlphaSignature({\n walletAddress: params.ownerAddress,\n link: params.signedLink,\n });\n\n return await bridgeAndDepositPassivePool(params);\n};\n"]}
|
|
@@ -46,14 +46,13 @@ var common_5 = require("@reyaxyz/common");
|
|
|
46
46
|
var encode_2 = require("../encode");
|
|
47
47
|
var ethers_1 = require("ethers");
|
|
48
48
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
49
|
-
var
|
|
49
|
+
var network_1 = require("../../utils/network");
|
|
50
50
|
var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
var
|
|
51
|
+
var reyaChainId, tokenInfo, amount, minShares, multiAction, eip712Signature, data, result;
|
|
52
52
|
return __generator(this, function (_a) {
|
|
53
53
|
switch (_a.label) {
|
|
54
54
|
case 0:
|
|
55
|
-
|
|
56
|
-
reyaChainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
55
|
+
reyaChainId = (0, network_1.getReyaNetwork)();
|
|
57
56
|
tokenInfo = (0, common_1.getTokenInfoByAddress)(params.pool.tokenAddress);
|
|
58
57
|
amount = (0, common_1.scale)(tokenInfo.decimals)(params.amount);
|
|
59
58
|
minShares = BigInt(0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"transferFromMAToPool.js","sourceRoot":"/","sources":["services/lp/transferFromMAToPool.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAIyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;AAC7E,+CAAqD;AAE9C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAE/B,SAAS,GAAG,IAAA,8BAAqB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAC5D,MAAM,GAAG,IAAA,cAAK,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAElD,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAGtB,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBACtC,IAAA,6BAAoB,EAAC,MAAM,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;gBAE7B,qBAAM,IAAA,yBAAgB,EAC3D,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,eAAe,EACtB,WAAW,CAAC,QAAQ,EACpB,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAClD,CACF,EAAA;;gBAZkB,eAAe,GAAK,CAAA,SAYtC,CAAA,UAZiC;gBAchB,IAAI,GAAK,IAAA,mCAA0B,EACnD,MAAM,CAAC,eAAe,EACtB,MAAM,EACN,eAAe,EACf,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,SAAS,EACT,MAAM,CAAC,KAAK,CAAC,OAAO,CACrB,SAPqB,CAOpB;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,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;AAhDW,QAAA,oBAAoB,wBAgD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { signCoreCommands } from '@reyaxyz/common';\nimport { encodeTransferFromMAToPool } from './encode';\nimport {\n TransferFromMAToPoolParams,\n TransferFromMAToPoolResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { MultiAction } from '@reyaxyz/common';\nimport { encodeSingleWithdraw } from '../encode';\nimport { ethers } from 'ethers';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { getReyaNetwork } from '../../utils/network';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const reyaChainId = getReyaNetwork();\n\n const tokenInfo = getTokenInfoByAddress(params.pool.tokenAddress);\n const amount = scale(tokenInfo.decimals)(params.amount);\n\n const minShares = BigInt(0);\n\n // transfer from MA to pool involves a core withdrawal\n const multiAction = new MultiAction();\n encodeSingleWithdraw(params.pool.tokenAddress, amount, multiAction);\n\n const { signature: eip712Signature } = await signCoreCommands(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.marginAccountId,\n multiAction.commands,\n params.owner.coreSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'address', 'uint256'],\n [params.pool.id, params.owner.address, minShares],\n ),\n );\n\n const { calldata: data } = encodeTransferFromMAToPool(\n params.marginAccountId,\n amount,\n eip712Signature,\n params.pool.id,\n minShares,\n params.owner.address,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
|
|
@@ -43,14 +43,13 @@ var encode_1 = require("./encode");
|
|
|
43
43
|
var common_3 = require("@reyaxyz/common");
|
|
44
44
|
var ethers_1 = require("ethers");
|
|
45
45
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
46
|
-
var
|
|
46
|
+
var network_1 = require("../../utils/network");
|
|
47
47
|
var transferFromPoolToMa = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
48
|
-
var
|
|
48
|
+
var reyaChainId, sharesAmount, eip712Signature, data, result;
|
|
49
49
|
return __generator(this, function (_a) {
|
|
50
50
|
switch (_a.label) {
|
|
51
51
|
case 0:
|
|
52
|
-
|
|
53
|
-
reyaChainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
52
|
+
reyaChainId = (0, network_1.getReyaNetwork)();
|
|
54
53
|
if (params.withdrawMax) {
|
|
55
54
|
sharesAmount = (0, common_1.scale)(30)(params.sharesAmount);
|
|
56
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferFromPoolToMa.js","sourceRoot":"/","sources":["services/lp/transferFromPoolToMa.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"transferFromPoolToMa.js","sourceRoot":"/","sources":["services/lp/transferFromPoolToMa.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAIyB;AACzB,0CAA2D;AAC3D,mCAAsD;AAKtD,0CAA6D;AAC7D,iCAAgC;AAChC,8EAA6E;AAC7E,+CAAqD;AAE9C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAErC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACvB,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,YAAY,GAAG,IAAA,cAAK,EAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC9D,CAAC;gBACuB,qBAAM,IAAA,gCAAuB,EACnD,MAAM,CAAC,MAAM,EACb,WAAW,EACX,IAAA,mBAAU,EAAC,WAAW,EAAE,qBAAY,CAAC,eAAe,CAAC,EACrD,MAAM,CAAC,KAAK,CAAC,OAAO,EACpB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,YAAY,EACZ,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAC7B,IAAA,qCAA4B,GAAE,GAAG,mCAA0B,EAC3D,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CACtC,CAAC,SAAS,CAAC,EACX,CAAC,MAAM,CAAC,eAAe,CAAC,CACzB,CACF,EAAA;;gBAdK,eAAe,GAAG,SAcvB;gBAEiB,IAAI,GAAK,IAAA,mCAA0B,EACnD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EACvC,eAAe,EACf,YAAY,EACZ,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,MAAM,CAAC,CAAC,CAAC,EACT,MAAM,CAAC,eAAe,CACvB,SAPqB,CAOpB;gBAEa,qBAAM,IAAA,yDAA2B,EAC9C,IAAI,EACJ,WAAW,EACX,qBAAY,CAAC,eAAe,EAC5B;wBACE,eAAe,EAAE,MAAM;qBACxB,CACF,EAAA;;gBAPK,MAAM,GAAG,SAOd;gBAED,sBAAO;wBACL,eAAe,EAAE,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,KAAI,IAAI;wBACvC,YAAY,EAAE,MAAM,CAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,YAAY,CAAC,IAAI,IAAI;qBACnD,EAAC;;;KACH,CAAC;AAhDW,QAAA,oBAAoB,wBAgD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n signPoolRemoveLiquidity,\n} from '@reyaxyz/common';\nimport { ContractType, getAddress } from '@reyaxyz/common';\nimport { encodeTransferFromPoolToMA } from './encode';\nimport {\n TransferFromPoolToMAParams,\n TransferFromPoolToMAResult,\n} from './types';\nimport { BRIDGE_DEADLINE_IN_SECONDS } from '@reyaxyz/common';\nimport { ethers } from 'ethers';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { getReyaNetwork } from '../../utils/network';\n\nexport const transferFromPoolToMa = async (\n params: TransferFromPoolToMAParams,\n): Promise<TransferFromPoolToMAResult> => {\n const reyaChainId = getReyaNetwork();\n let sharesAmount;\n if (params.withdrawMax) {\n sharesAmount = scale(30)(params.sharesAmount);\n } else {\n sharesAmount = scale(30)(params.amount / params.sharePrice);\n }\n const eip712Signature = await signPoolRemoveLiquidity(\n params.signer,\n reyaChainId,\n getAddress(reyaChainId, ContractType.PERIPHERY_PROXY),\n params.owner.address,\n params.pool.id,\n sharesAmount,\n BigInt(0),\n params.owner.poolSigNonce + 1,\n getCurrentTimestampInSeconds() + BRIDGE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode(\n ['uint256'],\n [params.marginAccountId],\n ),\n );\n\n const { calldata: data } = encodeTransferFromPoolToMA(\n String(params.owner.address).toString(),\n eip712Signature,\n sharesAmount,\n params.pool.id,\n BigInt(0),\n params.marginAccountId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n reyaChainId,\n ContractType.PERIPHERY_PROXY,\n {\n destinationType: 'pool',\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n poolSigNonce: Number(result?.poolSigNonce) || null,\n };\n};\n"]}
|
|
@@ -37,19 +37,17 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.createAccount = void 0;
|
|
40
|
+
var network_1 = require("../../utils/network");
|
|
40
41
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
41
42
|
var encode_1 = require("./encode");
|
|
42
43
|
var common_1 = require("@reyaxyz/common");
|
|
43
|
-
var config_1 = require("../../config");
|
|
44
|
-
var common_2 = require("@reyaxyz/common");
|
|
45
44
|
var createAccount = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var data,
|
|
45
|
+
var data, chainId, result;
|
|
47
46
|
return __generator(this, function (_a) {
|
|
48
47
|
switch (_a.label) {
|
|
49
48
|
case 0:
|
|
50
49
|
data = (0, encode_1.encodeCreateAccountCall)(params.ownerAddress).calldata;
|
|
51
|
-
|
|
52
|
-
chainId = (0, common_2.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
50
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
53
51
|
return [4 /*yield*/, (0, signAndBroadcastTransaction_1.signAndBroadcastTransaction)(data, chainId, common_1.ContractType.CORE_PROXY, {
|
|
54
52
|
accountName: params.name,
|
|
55
53
|
action: 'createAccount',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"account.js","sourceRoot":"/","sources":["services/margin-accounts/account.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,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;AAExC,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\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,16 +41,15 @@ var common_1 = require("@reyaxyz/common");
|
|
|
41
41
|
var common_2 = require("@reyaxyz/common");
|
|
42
42
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
43
43
|
var encode_1 = require("./encode");
|
|
44
|
-
var
|
|
44
|
+
var network_1 = require("../../utils/network");
|
|
45
45
|
var transferMarginBetweenAccounts = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
46
|
-
var tokenInfo, amount,
|
|
46
|
+
var tokenInfo, amount, chainId, data, result;
|
|
47
47
|
return __generator(this, function (_a) {
|
|
48
48
|
switch (_a.label) {
|
|
49
49
|
case 0:
|
|
50
50
|
tokenInfo = (0, common_1.getTokenInfoByAddress)(params.tokenAddress);
|
|
51
51
|
amount = (0, common_1.scaleV2)(tokenInfo.decimals)(params.amount);
|
|
52
|
-
|
|
53
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
52
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
54
53
|
return [4 /*yield*/, (0, encode_1.encodeTransferMargin)(params.signer, chainId, params.owner.coreSigNonce, params.fromMarginAccountId, params.toMarginAccountId, params.tokenAddress, amount)];
|
|
55
54
|
case 1:
|
|
56
55
|
data = (_a.sent()).calldata;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transferMarginBetweenAccounts.js","sourceRoot":"/","sources":["services/margin-accounts/transferMarginBetweenAccounts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
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;AAE9C,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\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"]}
|
|
@@ -47,15 +47,15 @@ var encode_2 = require("../encode");
|
|
|
47
47
|
var common_5 = require("@reyaxyz/common");
|
|
48
48
|
var ethers_1 = require("ethers");
|
|
49
49
|
var config_1 = require("../../config");
|
|
50
|
+
var network_1 = require("../../utils/network");
|
|
50
51
|
var withdrawMAAndBridge = function (_a) {
|
|
51
52
|
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
53
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
53
|
-
var
|
|
54
|
+
var reyaChainId, corePeripheryTokenInfo, multiAction, socketMsgGasLimit, eip712Signature, data, result, transactionModuleClient, error_1;
|
|
54
55
|
return __generator(this, function (_c) {
|
|
55
56
|
switch (_c.label) {
|
|
56
57
|
case 0:
|
|
57
|
-
|
|
58
|
-
reyaChainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
58
|
+
reyaChainId = (0, network_1.getReyaNetwork)();
|
|
59
59
|
corePeripheryTokenInfo = (0, common_1.getTokenInfoByAddress)(tokenAddress);
|
|
60
60
|
multiAction = new common_5.MultiAction();
|
|
61
61
|
(0, encode_2.encodeSingleWithdraw)(corePeripheryTokenInfo.address, (0, common_1.scale)(corePeripheryTokenInfo.decimals)(unscaledAmount), multiAction);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"withdrawMAAndBridge.js","sourceRoot":"/","sources":["services/margin-accounts/withdrawMAAndBridge.ts"],"names":[],"mappings":"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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\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"]}
|
|
@@ -46,9 +46,9 @@ var common_1 = require("@reyaxyz/common");
|
|
|
46
46
|
var bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
47
47
|
var common_2 = require("@reyaxyz/common");
|
|
48
48
|
var common_3 = require("@reyaxyz/common");
|
|
49
|
-
var
|
|
49
|
+
var network_1 = require("../../utils/network");
|
|
50
50
|
var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
51
|
-
var snappedAmount, orderPriceLimit, orderBase,
|
|
51
|
+
var snappedAmount, orderPriceLimit, orderBase, chainId, _a, data, eip712Payload, eip712Signature, result;
|
|
52
52
|
var _b, _c, _d, _e, _f, _g;
|
|
53
53
|
return __generator(this, function (_h) {
|
|
54
54
|
switch (_h.label) {
|
|
@@ -71,8 +71,7 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
71
71
|
}
|
|
72
72
|
orderPriceLimit = (0, common_1.calculatePriceLimitForTrade)(params.market.currentPrice, snappedAmount);
|
|
73
73
|
orderBase = (0, common_3.scale)(18)(snappedAmount);
|
|
74
|
-
|
|
75
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
74
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
76
75
|
return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, orderBase, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
|
|
77
76
|
case 1:
|
|
78
77
|
_a = _h.sent(), data = _a.calldata, eip712Payload = _a.payload, eip712Signature = _a.signature;
|
|
@@ -104,7 +103,7 @@ var matchOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
104
103
|
}); };
|
|
105
104
|
exports.matchOrder = matchOrder;
|
|
106
105
|
var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
107
|
-
var base, orderPriceLimit,
|
|
106
|
+
var base, orderPriceLimit, chainId, _a, data, eip712Payload, eip712Signature, result;
|
|
108
107
|
var _b, _c, _d, _e, _f, _g;
|
|
109
108
|
return __generator(this, function (_h) {
|
|
110
109
|
switch (_h.label) {
|
|
@@ -114,8 +113,7 @@ var closeOrder = function (params) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
114
113
|
}
|
|
115
114
|
base = (0, common_3.scale)(18)(params.orderBase);
|
|
116
115
|
orderPriceLimit = (0, common_1.calculatePriceLimitForTrade)(params.market.currentPrice, (0, bignumber_js_1.default)(params.orderBase).negated().toNumber());
|
|
117
|
-
|
|
118
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
116
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
119
117
|
return [4 /*yield*/, (0, encode_1.encodeMatchOrder)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, -base, orderPriceLimit, params.market.counterpartyAccountIds, params.market.id, params.market.exchangeId)];
|
|
120
118
|
case 1:
|
|
121
119
|
_a = _h.sent(), data = _a.calldata, eip712Payload = _a.payload, eip712Signature = _a.signature;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,mCAA4C;AAC5C,8EAA6E;AAC7E,
|
|
1
|
+
{"version":3,"file":"order.js","sourceRoot":"/","sources":["services/orders/order.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n CloseOrderParams,\n CloseOrderResult,\n MatchOrderParams,\n MatchOrderResult,\n} from './types';\nimport { encodeMatchOrder } from './encode';\nimport { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { calculatePriceLimitForTrade } from '@reyaxyz/common';\nimport BigNumber from 'bignumber.js';\nimport { ContractType } from '@reyaxyz/common';\nimport { scale } from '@reyaxyz/common';\nimport { getReyaNetwork } from '../../utils/network';\n\nexport const matchOrder = async (\n params: MatchOrderParams,\n): Promise<MatchOrderResult> => {\n if (params.amountInBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n let snappedAmount = BigNumber(params.amountInBase)\n .abs()\n .dividedBy(params.market.baseSpacing)\n .integerValue(BigNumber.ROUND_FLOOR)\n .multipliedBy(params.market.baseSpacing)\n .toNumber();\n\n if (params.amountInBase < 0) {\n snappedAmount = -snappedAmount;\n }\n\n if (Math.abs(snappedAmount) < params.market.minOrderSizeBase) {\n console.error(\n `Minimum trade amount ${params.market.minOrderSizeBase}. Entered amount ${snappedAmount}, ${params.amountInBase}`,\n );\n throw new Error(`Minimum trade amount ${params.market.minOrderSizeBase}`);\n }\n\n // add rounding here\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n snappedAmount,\n );\n\n const orderBase = scale(18)(snappedAmount);\n const chainId = getReyaNetwork();\n\n const {\n calldata: data,\n payload: eip712Payload,\n signature: eip712Signature,\n } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n orderBase,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'matchOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n tradeSource: params.tradeSource,\n matchOrder: {\n userEIP712Signature: eip712Signature,\n eip712Payload,\n },\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n\nexport const closeOrder = async (\n params: CloseOrderParams,\n): Promise<CloseOrderResult> => {\n if (params.orderBase === 0) {\n throw new Error('Position base can not be 0');\n }\n\n const base = scale(18)(params.orderBase);\n const orderPriceLimit = calculatePriceLimitForTrade(\n params.market.currentPrice,\n BigNumber(params.orderBase).negated().toNumber(), // used just because of sign\n );\n\n const chainId = getReyaNetwork();\n const {\n calldata: data,\n payload: eip712Payload,\n signature: eip712Signature,\n } = await encodeMatchOrder(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.marginAccountId,\n -base,\n orderPriceLimit,\n params.market.counterpartyAccountIds,\n params.market.id,\n params.market.exchangeId,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {\n action: 'closeOrder',\n accountId: params.marginAccountId,\n marketId: params.market.id,\n matchOrder: {\n userEIP712Signature: eip712Signature,\n eip712Payload,\n },\n },\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n xpBoost: result.miscellaneous?.tradeXpBoost || 0,\n lotteryXpBoost: result.miscellaneous?.lotteryXpBoost || 0,\n isNftWon: result.miscellaneous?.xpNftAwarded || false,\n marginAccountId: params.marginAccountId,\n xpEarned: result.miscellaneous?.xpEarned || 0,\n executionPrice: result.tradeDetails?.executionPrice || 0,\n base: result.tradeDetails?.base || 0,\n };\n};\n"]}
|
|
@@ -40,6 +40,7 @@ exports.simulateSwap = exports.findBestPath = void 0;
|
|
|
40
40
|
var common_1 = require("@reyaxyz/common");
|
|
41
41
|
var ethers_1 = require("ethers");
|
|
42
42
|
var config_1 = require("../../config");
|
|
43
|
+
var network_1 = require("../../utils/network");
|
|
43
44
|
var CamelotAbi = [
|
|
44
45
|
{
|
|
45
46
|
inputs: [
|
|
@@ -109,12 +110,11 @@ var CamelotAbi = [
|
|
|
109
110
|
},
|
|
110
111
|
];
|
|
111
112
|
var findBestPath = function (amountFrom, tokenFrom, tokenTo, maxSteps) { return __awaiter(void 0, void 0, void 0, function () {
|
|
112
|
-
var
|
|
113
|
+
var chainId, provider, camelotAddress, camelot, tokenInfoFrom, tokenInfoTo, amountFromScaled, result;
|
|
113
114
|
return __generator(this, function (_a) {
|
|
114
115
|
switch (_a.label) {
|
|
115
116
|
case 0:
|
|
116
|
-
|
|
117
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
117
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
118
118
|
provider = ethers_1.ethers.getDefaultProvider(common_1.reyaChainIdRPCMapper[chainId]);
|
|
119
119
|
camelotAddress = (0, common_1.getAddress)(chainId, common_1.ContractType.CAMELOT_YAK_ROUTER);
|
|
120
120
|
camelot = new ethers_1.Contract(camelotAddress, CamelotAbi, provider);
|
|
@@ -140,12 +140,11 @@ exports.findBestPath = findBestPath;
|
|
|
140
140
|
// Simulates sending the swap directly to Core using the publisher as msg.sender
|
|
141
141
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
142
142
|
var getPreSwapMarginInfo = function (marginAccountId) { return __awaiter(void 0, void 0, void 0, function () {
|
|
143
|
-
var
|
|
143
|
+
var chainId, provider, core, result;
|
|
144
144
|
return __generator(this, function (_a) {
|
|
145
145
|
switch (_a.label) {
|
|
146
146
|
case 0:
|
|
147
|
-
|
|
148
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
147
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
149
148
|
provider = ethers_1.ethers.getDefaultProvider(common_1.reyaChainIdRPCMapper[chainId]);
|
|
150
149
|
core = new ethers_1.Contract((0, common_1.getAddress)(chainId, common_1.ContractType.CORE_PROXY), common_1.CoreAbi, provider);
|
|
151
150
|
return [4 /*yield*/, core.getUsdNodeMarginInfo(marginAccountId)];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simulation.js","sourceRoot":"/","sources":["services/swaps/simulation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0CAYyB;AACzB,iCAA0C;AAO1C,uCAA6E;AAE7E,IAAM,UAAU,GAAG;IACjB;QACE,MAAM,EAAE;YACN;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;YACD;gBACE,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,WAAW;aAClB;YACD;gBACE,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,SAAS;aAChB;SACF;QACD,IAAI,EAAE,cAAc;QACpB,OAAO,EAAE;YACP;gBACE,UAAU,EAAE;oBACV;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,WAAW;wBACzB,IAAI,EAAE,YAAY;wBAClB,IAAI,EAAE,WAAW;qBAClB;oBACD;wBACE,YAAY,EAAE,SAAS;wBACvB,IAAI,EAAE,aAAa;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,YAAY,EAAE,uBAAuB;gBACrC,IAAI,EAAE,EAAE;gBACR,IAAI,EAAE,OAAO;aACd;SACF;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACF,CAAC;AAEK,IAAM,YAAY,GAAG,UAC1B,UAAkB,EAClB,SAAiB,EACjB,OAAe,EACf,QAAiB;;;;;gBAEX,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvE,QAAQ,GAAG,eAAM,CAAC,kBAAkB,CACxC,6BAAoB,CAAC,OAAO,CAAW,CACxC,CAAC;gBACI,cAAc,GAAG,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,kBAAkB,CAAC,CAAC;gBACtE,OAAO,GAAG,IAAI,iBAAQ,CAAC,cAAc,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAE7D,aAAa,GAAG,IAAA,8BAAqB,EAAC,SAAS,CAAC,CAAC;gBACjD,WAAW,GAAG,IAAA,8BAAqB,EAAC,OAAO,CAAC,CAAC;gBAC7C,gBAAgB,GAAG,IAAA,cAAK,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;gBAOpD,qBAAM,OAAO,CAAC,YAAY,CACvC,gBAAgB,EAChB,SAAS,EACT,OAAO,EACP,EAAE,EACF,QAAQ,IAAI,CAAC,CACd,EAAA;;gBANK,MAAM,GAAG,SAMd;gBACD,sBAAO;wBACL,UAAU,EAAE,IAAA,gBAAO,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC9D,QAAQ,EAAE,IAAA,gBAAO,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBAC1D,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;wBAC/B,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;wBAChC,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC/B,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBAC3B,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBAClC,EAAC;;;KACH,CAAC;AAvCW,QAAA,YAAY,gBAuCvB;AAEF,gFAAgF;AAChF,6DAA6D;AAC7D,IAAM,oBAAoB,GAAG,UAC3B,eAAuB;;;;;gBAEjB,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,OAAO,GAAG,IAAA,uBAAc,EAAC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACvE,QAAQ,GAAG,eAAM,CAAC,kBAAkB,CACxC,6BAAoB,CAAC,OAAO,CAAW,CACxC,CAAC;gBACI,IAAI,GAAG,IAAI,iBAAQ,CACvB,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,UAAU,CAAC,EAC5C,gBAAO,EACP,QAAQ,CACT,CAAC;gBAEa,qBAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,EAAA;;gBAAzD,MAAM,GAAG,SAAgD;gBAC/D,sBAAO;wBACL,oBAAoB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;wBACvC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBACvB,EAAC;;;KACH,CAAC;AAEK,IAAM,YAAY,GAAG,UAC1B,MAA0B;;;;;oBAEH,qBAAM,IAAA,oBAAY,EACvC,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,OAAO,CACf,EAAA;;gBAJK,cAAc,GAAG,SAItB;gBAGK,cAAc,GAAG,cAAc,CAAC,QAAQ,GAAG,cAAc,CAAC,UAAU,CAAC;gBACrE,UAAU,GAAG,IAAA,mCAA0B,GAAE,CAAC;gBACZ,qBAAM,UAAU,CAAC,cAAc,EAAE,EAAA;;gBAA/D,OAAO,GAAuB,SAAiC;gBAE/D,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;oBAC5B,OAAO,CACL,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;wBACtD,CAAC,CAAC,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAC1D,CAAC;gBACJ,CAAC,CAAC,CAAC;gBACC,iBAAiB,GAAG,CAAC,CAAC;gBAC1B,IAAI,MAAM,IAAI,SAAS,EAAE,CAAC;oBACxB,iBAAiB,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,cAAc,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;gBACrE,CAAC;qBAAM,CAAC;oBACA,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC;wBACpC,OAAO,CACL,CAAC,CAAC,eAAe,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE;4BAC3D,CAAC,CAAC,UAAU,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CACrD,CAAC;oBACJ,CAAC,CAAC,CAAC;oBACH,IAAI,cAAc,IAAI,SAAS,EAAE,CAAC;wBAChC,iBAAiB;4BACf,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,GAAG,cAAc,CAAC;gCAC3C,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;gBAGC,qBAAM,UAAU,CAAC,iBAAiB,EAAE,EAAA;;gBADhC,WAAW,GACf,SAAoC;gBAChC,gBAAgB,GAAG,MAAA,WAAW,CAAC,IAAI,CACvC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAA3C,CAA2C,CACnD,0CAAE,YAAY,CAAC;gBACV,cAAc,GAAG,MAAA,WAAW,CAAC,IAAI,CACrC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,EAA3C,CAA2C,CACnD,0CAAE,YAAY,CAAC;gBAEhB,IAAI,gBAAgB,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBACnE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;gBACnD,CAAC;gBAEkB,qBAAM,oBAAoB,CAAC,MAAM,CAAC,eAAe,CAAC,EAAA;;gBAA/D,UAAU,GAAG,SAAkD;gBAC/D,kBAAkB,GAAG,cAAc,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;gBACxE,gBAAgB,GAAG,cAAc,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC;gBAElE,cAAc,GAClB,UAAU,CAAC,oBAAoB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;gBAGpE,WAAW,GAAG,UAAU,CAAC,GAAG,GAAG,cAAc,CAAC;gBAEpD,sBAAO;wBACL,QAAQ,EAAE,cAAc;wBACxB,iBAAiB,EAAE,iBAAiB;wBACpC,WAAW,EAAE,WAAW;wBACxB,iBAAiB,EAAE,wBAAe,CAAC,oBAAoB,CAAC,WAAW,CAAC;qBACrE,EAAC;;;KACH,CAAC;AAlEW,QAAA,YAAY,gBAkEvB","sourcesContent":["import {\n ContractType,\n descale,\n getAddress,\n getReyaNetwork,\n getTokenInfoByAddress,\n scale,\n reyaChainIdRPCMapper,\n ExposureCommand,\n CoreAbi,\n SpotMarketEntity,\n CollateralWithHaircut,\n} from '@reyaxyz/common';\nimport { Contract, ethers } from 'ethers';\nimport {\n FindBestPathResult,\n GetPreSwapMarginInfo,\n SimulateSwapParams,\n SimulateSwapResult,\n} from './types';\nimport { getGeneralRestModuleClient, getSdkEnvironment } from '../../config';\n\nconst CamelotAbi = [\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amountIn',\n type: 'uint256',\n },\n {\n internalType: 'address',\n name: '_tokenIn',\n type: 'address',\n },\n {\n internalType: 'address',\n name: '_tokenOut',\n type: 'address',\n },\n {\n internalType: 'address[]',\n name: '_trustedTokens',\n type: 'address[]',\n },\n {\n internalType: 'uint256',\n name: '_maxSteps',\n type: 'uint256',\n },\n ],\n name: 'findBestPath',\n outputs: [\n {\n components: [\n {\n internalType: 'uint256[]',\n name: 'amounts',\n type: 'uint256[]',\n },\n {\n internalType: 'address[]',\n name: 'adapters',\n type: 'address[]',\n },\n {\n internalType: 'address[]',\n name: 'path',\n type: 'address[]',\n },\n {\n internalType: 'address[]',\n name: 'recipients',\n type: 'address[]',\n },\n {\n internalType: 'uint256',\n name: 'gasEstimate',\n type: 'uint256',\n },\n ],\n internalType: 'struct FormattedOffer',\n name: '',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const findBestPath = async (\n amountFrom: number,\n tokenFrom: string,\n tokenTo: string,\n maxSteps?: number,\n): Promise<FindBestPathResult> => {\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n const provider = ethers.getDefaultProvider(\n reyaChainIdRPCMapper[chainId] as string,\n );\n const camelotAddress = getAddress(chainId, ContractType.CAMELOT_YAK_ROUTER);\n const camelot = new Contract(camelotAddress, CamelotAbi, provider);\n\n const tokenInfoFrom = getTokenInfoByAddress(tokenFrom);\n const tokenInfoTo = getTokenInfoByAddress(tokenTo);\n const amountFromScaled = scale(tokenInfoFrom.decimals)(amountFrom);\n\n // amountFrom\n // tokenFrom\n // tokenTo\n // trustedTokens\n // maxSteps\n const result = await camelot.findBestPath(\n amountFromScaled,\n tokenFrom,\n tokenTo,\n [],\n maxSteps || 4,\n );\n return {\n amountFrom: descale(tokenInfoFrom.decimals)(result.amounts[0]),\n amountTo: descale(tokenInfoTo.decimals)(result.amounts[1]),\n amountInBase: result.amounts[0],\n amountOutBase: result.amounts[1],\n adapters: Array.from(result[1]),\n path: Array.from(result[2]),\n recipients: Array.from(result[3]),\n };\n};\n\n// Simulates sending the swap directly to Core using the publisher as msg.sender\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getPreSwapMarginInfo = async (\n marginAccountId: number,\n): Promise<GetPreSwapMarginInfo> => {\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n const provider = ethers.getDefaultProvider(\n reyaChainIdRPCMapper[chainId] as string,\n );\n const core = new Contract(\n getAddress(chainId, ContractType.CORE_PROXY),\n CoreAbi,\n provider,\n );\n\n const result = await core.getUsdNodeMarginInfo(marginAccountId);\n return {\n preSwapMarginBalance: Number(result[1]),\n lmr: Number(result[9]),\n };\n};\n\nexport const simulateSwap = async (\n params: SimulateSwapParams,\n): Promise<SimulateSwapResult> => {\n const bestPathResult = await findBestPath(\n params.amountFrom,\n params.tokenFrom,\n params.tokenTo,\n );\n\n // slippage calculation\n const simulatedPrice = bestPathResult.amountTo / bestPathResult.amountFrom;\n const restModule = getGeneralRestModuleClient();\n const markets: SpotMarketEntity[] = await restModule.getSpotMarkets();\n\n const market = markets.find((m) => {\n return (\n m.quoteToken.address == params.tokenFrom.toLowerCase() &&\n m.underlyingAsset.address == params.tokenTo.toLowerCase()\n );\n });\n let estimatedSlippage = 0;\n if (market != undefined) {\n estimatedSlippage = (market.price - simulatedPrice) / market.price;\n } else {\n const marketReversed = markets.find((m) => {\n return (\n m.underlyingAsset.address == params.tokenFrom.toLowerCase() &&\n m.quoteToken.address == params.tokenTo.toLowerCase()\n );\n });\n if (marketReversed != undefined) {\n estimatedSlippage =\n (1 / marketReversed.price - simulatedPrice) /\n (1 / marketReversed.price);\n }\n }\n\n const collaterals: CollateralWithHaircut[] =\n await restModule.getCollateralInfo();\n const tokenFromHaircut = collaterals.find(\n (c) => c.address == params.tokenFrom.toLowerCase(),\n )?.priceHaircut;\n const tokenToHaircut = collaterals.find(\n (c) => c.address == params.tokenFrom.toLowerCase(),\n )?.priceHaircut;\n\n if (tokenFromHaircut === undefined || tokenToHaircut === undefined) {\n throw new Error('Cannot find collateral tokens');\n }\n\n const marginInfo = await getPreSwapMarginInfo(params.marginAccountId);\n const adjustedAmountFrom = bestPathResult.amountFrom * (1 - tokenFromHaircut);\n const adjustedAmountTo = bestPathResult.amountTo * (1 - tokenToHaircut);\n\n const postSwapMargin =\n marginInfo.preSwapMarginBalance - adjustedAmountFrom + adjustedAmountTo;\n\n // Calculate the margin ratio\n const marginRatio = marginInfo.lmr / postSwapMargin;\n\n return {\n bestPath: bestPathResult,\n estimatedSlippage: estimatedSlippage,\n marginRatio: marginRatio,\n marginRatioHealth: ExposureCommand.evaluateHealthStatus(marginRatio),\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"simulation.js","sourceRoot":"/","sources":["services/swaps/simulation.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ContractType,\n descale,\n getAddress,\n getTokenInfoByAddress,\n scale,\n reyaChainIdRPCMapper,\n ExposureCommand,\n CoreAbi,\n SpotMarketEntity,\n CollateralWithHaircut,\n} from '@reyaxyz/common';\nimport { Contract, ethers } from 'ethers';\nimport {\n FindBestPathResult,\n GetPreSwapMarginInfo,\n SimulateSwapParams,\n SimulateSwapResult,\n} from './types';\nimport { getGeneralRestModuleClient } from '../../config';\nimport { getReyaNetwork } from '../../utils/network';\n\nconst CamelotAbi = [\n {\n inputs: [\n {\n internalType: 'uint256',\n name: '_amountIn',\n type: 'uint256',\n },\n {\n internalType: 'address',\n name: '_tokenIn',\n type: 'address',\n },\n {\n internalType: 'address',\n name: '_tokenOut',\n type: 'address',\n },\n {\n internalType: 'address[]',\n name: '_trustedTokens',\n type: 'address[]',\n },\n {\n internalType: 'uint256',\n name: '_maxSteps',\n type: 'uint256',\n },\n ],\n name: 'findBestPath',\n outputs: [\n {\n components: [\n {\n internalType: 'uint256[]',\n name: 'amounts',\n type: 'uint256[]',\n },\n {\n internalType: 'address[]',\n name: 'adapters',\n type: 'address[]',\n },\n {\n internalType: 'address[]',\n name: 'path',\n type: 'address[]',\n },\n {\n internalType: 'address[]',\n name: 'recipients',\n type: 'address[]',\n },\n {\n internalType: 'uint256',\n name: 'gasEstimate',\n type: 'uint256',\n },\n ],\n internalType: 'struct FormattedOffer',\n name: '',\n type: 'tuple',\n },\n ],\n stateMutability: 'view',\n type: 'function',\n },\n];\n\nexport const findBestPath = async (\n amountFrom: number,\n tokenFrom: string,\n tokenTo: string,\n maxSteps?: number,\n): Promise<FindBestPathResult> => {\n const chainId = getReyaNetwork();\n const provider = ethers.getDefaultProvider(\n reyaChainIdRPCMapper[chainId] as string,\n );\n const camelotAddress = getAddress(chainId, ContractType.CAMELOT_YAK_ROUTER);\n const camelot = new Contract(camelotAddress, CamelotAbi, provider);\n\n const tokenInfoFrom = getTokenInfoByAddress(tokenFrom);\n const tokenInfoTo = getTokenInfoByAddress(tokenTo);\n const amountFromScaled = scale(tokenInfoFrom.decimals)(amountFrom);\n\n // amountFrom\n // tokenFrom\n // tokenTo\n // trustedTokens\n // maxSteps\n const result = await camelot.findBestPath(\n amountFromScaled,\n tokenFrom,\n tokenTo,\n [],\n maxSteps || 4,\n );\n return {\n amountFrom: descale(tokenInfoFrom.decimals)(result.amounts[0]),\n amountTo: descale(tokenInfoTo.decimals)(result.amounts[1]),\n amountInBase: result.amounts[0],\n amountOutBase: result.amounts[1],\n adapters: Array.from(result[1]),\n path: Array.from(result[2]),\n recipients: Array.from(result[3]),\n };\n};\n\n// Simulates sending the swap directly to Core using the publisher as msg.sender\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nconst getPreSwapMarginInfo = async (\n marginAccountId: number,\n): Promise<GetPreSwapMarginInfo> => {\n const chainId = getReyaNetwork();\n const provider = ethers.getDefaultProvider(\n reyaChainIdRPCMapper[chainId] as string,\n );\n const core = new Contract(\n getAddress(chainId, ContractType.CORE_PROXY),\n CoreAbi,\n provider,\n );\n\n const result = await core.getUsdNodeMarginInfo(marginAccountId);\n return {\n preSwapMarginBalance: Number(result[1]),\n lmr: Number(result[9]),\n };\n};\n\nexport const simulateSwap = async (\n params: SimulateSwapParams,\n): Promise<SimulateSwapResult> => {\n const bestPathResult = await findBestPath(\n params.amountFrom,\n params.tokenFrom,\n params.tokenTo,\n );\n\n // slippage calculation\n const simulatedPrice = bestPathResult.amountTo / bestPathResult.amountFrom;\n const restModule = getGeneralRestModuleClient();\n const markets: SpotMarketEntity[] = await restModule.getSpotMarkets();\n\n const market = markets.find((m) => {\n return (\n m.quoteToken.address == params.tokenFrom.toLowerCase() &&\n m.underlyingAsset.address == params.tokenTo.toLowerCase()\n );\n });\n let estimatedSlippage = 0;\n if (market != undefined) {\n estimatedSlippage = (market.price - simulatedPrice) / market.price;\n } else {\n const marketReversed = markets.find((m) => {\n return (\n m.underlyingAsset.address == params.tokenFrom.toLowerCase() &&\n m.quoteToken.address == params.tokenTo.toLowerCase()\n );\n });\n if (marketReversed != undefined) {\n estimatedSlippage =\n (1 / marketReversed.price - simulatedPrice) /\n (1 / marketReversed.price);\n }\n }\n\n const collaterals: CollateralWithHaircut[] =\n await restModule.getCollateralInfo();\n const tokenFromHaircut = collaterals.find(\n (c) => c.address == params.tokenFrom.toLowerCase(),\n )?.priceHaircut;\n const tokenToHaircut = collaterals.find(\n (c) => c.address == params.tokenFrom.toLowerCase(),\n )?.priceHaircut;\n\n if (tokenFromHaircut === undefined || tokenToHaircut === undefined) {\n throw new Error('Cannot find collateral tokens');\n }\n\n const marginInfo = await getPreSwapMarginInfo(params.marginAccountId);\n const adjustedAmountFrom = bestPathResult.amountFrom * (1 - tokenFromHaircut);\n const adjustedAmountTo = bestPathResult.amountTo * (1 - tokenToHaircut);\n\n const postSwapMargin =\n marginInfo.preSwapMarginBalance - adjustedAmountFrom + adjustedAmountTo;\n\n // Calculate the margin ratio\n const marginRatio = marginInfo.lmr / postSwapMargin;\n\n return {\n bestPath: bestPathResult,\n estimatedSlippage: estimatedSlippage,\n marginRatio: marginRatio,\n marginRatioHealth: ExposureCommand.evaluateHealthStatus(marginRatio),\n };\n};\n"]}
|
|
@@ -38,19 +38,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.swap = void 0;
|
|
40
40
|
var common_1 = require("@reyaxyz/common");
|
|
41
|
-
var config_1 = require("../../config");
|
|
42
41
|
var signAndBroadcastTransaction_1 = require("../signAndBroadcastTransaction");
|
|
43
42
|
var encode_1 = require("./encode");
|
|
43
|
+
var network_1 = require("../../utils/network");
|
|
44
44
|
var swap = function (params) { return __awaiter(void 0, void 0, void 0, function () {
|
|
45
|
-
var
|
|
45
|
+
var chainId, _a, data, eip712Payload, eip712Signature, result;
|
|
46
46
|
return __generator(this, function (_b) {
|
|
47
47
|
switch (_b.label) {
|
|
48
48
|
case 0:
|
|
49
49
|
if (params.amountInBase === 0) {
|
|
50
50
|
throw new Error('Swap amount cannot be 0');
|
|
51
51
|
}
|
|
52
|
-
|
|
53
|
-
chainId = (0, common_1.getReyaNetwork)(env === 'production' ? 'production' : 'test');
|
|
52
|
+
chainId = (0, network_1.getReyaNetwork)();
|
|
54
53
|
return [4 /*yield*/, (0, encode_1.encodeSwap)(params.signer, chainId, params.owner.coreSigNonce, params.marginAccountId, params.amountInBase, params.amountOutBase, params.path, params.adapters, params.recipients, 0, // 0 for marketID
|
|
55
54
|
0)];
|
|
56
55
|
case 1:
|