@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.
Files changed (55) hide show
  1. package/README.md +1 -1
  2. package/dist/services/conditional-orders/grant-trade-permission/grantTradePermission.js +4 -6
  3. package/dist/services/conditional-orders/grant-trade-permission/grantTradePermission.js.map +1 -1
  4. package/dist/services/conditional-orders/revoke-trade-permission/revokeTradePermission.js +4 -6
  5. package/dist/services/conditional-orders/revoke-trade-permission/revokeTradePermission.js.map +1 -1
  6. package/dist/services/lp/bridgeAndDepositPassivePool.js +5 -6
  7. package/dist/services/lp/bridgeAndDepositPassivePool.js.map +1 -1
  8. package/dist/services/lp/transferFromMAToPool.js +3 -4
  9. package/dist/services/lp/transferFromMAToPool.js.map +1 -1
  10. package/dist/services/lp/transferFromPoolToMa.js +3 -4
  11. package/dist/services/lp/transferFromPoolToMa.js.map +1 -1
  12. package/dist/services/margin-accounts/account.js +3 -5
  13. package/dist/services/margin-accounts/account.js.map +1 -1
  14. package/dist/services/margin-accounts/transferMarginBetweenAccounts.js +3 -4
  15. package/dist/services/margin-accounts/transferMarginBetweenAccounts.js.map +1 -1
  16. package/dist/services/margin-accounts/withdrawMAAndBridge.js +3 -3
  17. package/dist/services/margin-accounts/withdrawMAAndBridge.js.map +1 -1
  18. package/dist/services/orders/order.js +5 -7
  19. package/dist/services/orders/order.js.map +1 -1
  20. package/dist/services/swaps/simulation.js +5 -6
  21. package/dist/services/swaps/simulation.js.map +1 -1
  22. package/dist/services/swaps/swap.js +3 -4
  23. package/dist/services/swaps/swap.js.map +1 -1
  24. package/dist/services/token/getBalanceByTokenAddress.js +3 -2
  25. package/dist/services/token/getBalanceByTokenAddress.js.map +1 -1
  26. package/dist/types/services/conditional-orders/grant-trade-permission/grantTradePermission.d.ts.map +1 -1
  27. package/dist/types/services/conditional-orders/revoke-trade-permission/revokeTradePermission.d.ts.map +1 -1
  28. package/dist/types/services/lp/bridgeAndDepositPassivePool.d.ts.map +1 -1
  29. package/dist/types/services/lp/transferFromMAToPool.d.ts.map +1 -1
  30. package/dist/types/services/lp/transferFromPoolToMa.d.ts.map +1 -1
  31. package/dist/types/services/margin-accounts/account.d.ts.map +1 -1
  32. package/dist/types/services/margin-accounts/transferMarginBetweenAccounts.d.ts.map +1 -1
  33. package/dist/types/services/margin-accounts/withdrawMAAndBridge.d.ts.map +1 -1
  34. package/dist/types/services/orders/order.d.ts.map +1 -1
  35. package/dist/types/services/swaps/simulation.d.ts.map +1 -1
  36. package/dist/types/services/swaps/swap.d.ts.map +1 -1
  37. package/dist/types/services/token/getBalanceByTokenAddress.d.ts.map +1 -1
  38. package/dist/types/utils/network.d.ts +3 -0
  39. package/dist/types/utils/network.d.ts.map +1 -0
  40. package/dist/utils/network.js +12 -0
  41. package/dist/utils/network.js.map +1 -0
  42. package/package.json +3 -3
  43. package/src/services/conditional-orders/grant-trade-permission/grantTradePermission.ts +2 -4
  44. package/src/services/conditional-orders/revoke-trade-permission/revokeTradePermission.ts +2 -4
  45. package/src/services/lp/bridgeAndDepositPassivePool.ts +4 -6
  46. package/src/services/lp/transferFromMAToPool.ts +2 -6
  47. package/src/services/lp/transferFromPoolToMa.ts +2 -6
  48. package/src/services/margin-accounts/account.ts +2 -4
  49. package/src/services/margin-accounts/transferMarginBetweenAccounts.ts +3 -8
  50. package/src/services/margin-accounts/withdrawMAAndBridge.ts +3 -6
  51. package/src/services/orders/order.ts +4 -6
  52. package/src/services/swaps/simulation.ts +4 -6
  53. package/src/services/swaps/swap.ts +3 -4
  54. package/src/services/token/getBalanceByTokenAddress.ts +7 -10
  55. 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
- | ![Statements](https://img.shields.io/badge/statements-8.32%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-3.7%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-4.44%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-7.85%25-red.svg?style=flat) |
9
+ | ![Statements](https://img.shields.io/badge/statements-9.36%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-4.29%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-5.49%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-8.76%25-red.svg?style=flat) |
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 common_2 = require("@reyaxyz/common");
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 env, chainId, data, result;
45
+ var chainId, data, result;
47
46
  return __generator(this, function (_a) {
48
47
  switch (_a.label) {
49
48
  case 0:
50
- env = (0, config_1.getSdkEnvironment)();
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, common_2.ContractType.CORE_PROXY, {
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,0CAAiD;AACjD,0CAA+C;AAC/C,0CAAoD;AAE7C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,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;gBAElD,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;AA3BW,QAAA,oBAAoB,wBA2B/B","sourcesContent":["import {\n GrantTradePermissionParams,\n GrantTradePermissionResult,\n} from './types';\nimport { encodeGrantTradePermission } from './encode';\nimport { signAndBroadcastTransaction } from '../../signAndBroadcastTransaction';\nimport { getReyaNetwork } from '@reyaxyz/common';\nimport { ContractType } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../../config';\n\nexport const grantTradePermission = async (\n params: GrantTradePermissionParams,\n): Promise<GrantTradePermissionResult> => {\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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"]}
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 common_2 = require("@reyaxyz/common");
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 env, chainId, data, result;
45
+ var chainId, data, result;
47
46
  return __generator(this, function (_a) {
48
47
  switch (_a.label) {
49
48
  case 0:
50
- env = (0, config_1.getSdkEnvironment)();
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, common_2.ContractType.CORE_PROXY, {
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":"revokeTradePermission.js","sourceRoot":"/","sources":["services/conditional-orders/revoke-trade-permission/revokeTradePermission.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,mCAAuD;AACvD,iFAAgF;AAChF,0CAAiD;AACjD,0CAA+C;AAC/C,0CAAoD;AAE7C,IAAM,qBAAqB,GAAG,UACnC,MAAmC;;;;;gBAE7B,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;gBAElD,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;AA3BW,QAAA,qBAAqB,yBA2BhC","sourcesContent":["import {\n RevokeTradePermissionParams,\n RevokeTradePermissionResult,\n} from './types';\nimport { encodeRevokeTradePermission } from './encode';\nimport { signAndBroadcastTransaction } from '../../signAndBroadcastTransaction';\nimport { getReyaNetwork } from '@reyaxyz/common';\nimport { ContractType } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../../config';\n\nexport const revokeTradePermission = async (\n params: RevokeTradePermissionParams,\n): Promise<RevokeTradePermissionResult> => {\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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"]}
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, env, chainId, tokenInfo, amount, socketConnectors, peripheryAddress, _a, data, value, result;
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
- env = (0, config_1.getSdkEnvironment)();
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, env, chainId, tokenInfo, amount, socketConnectors, peripheryAddress, reyaTokenInfo, _a, data, value, result;
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
- env = (0, config_1.getSdkEnvironment)();
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":"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","sourcesContent":["import {\n getSocketVault,\n scale,\n MoneyInOutChainId,\n getSocketConnectors,\n getReyaNetworkFromMoneyInOutChainId,\n getRUSDUnderlyingTokenInfo,\n executeTransaction,\n getReyaNetwork,\n getTokenInfoByAddress,\n getTokenInfoByName,\n SOCKET_BRIDGE_IN_MSG_GAS_LIMIT,\n} from '@reyaxyz/common';\nimport { getAlphaTermsModuleClient, getSdkEnvironment } 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';\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 env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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 env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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"]}
1
+ {"version":3,"file":"bridgeAndDepositPassivePool.js","sourceRoot":"/","sources":["services/lp/bridgeAndDepositPassivePool.ts"],"names":[],"mappings":"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","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 config_1 = require("../../config");
49
+ var network_1 = require("../../utils/network");
50
50
  var transferFromMAToPool = function (params) { return __awaiter(void 0, void 0, void 0, function () {
51
- var env, reyaChainId, tokenInfo, amount, minShares, multiAction, eip712Signature, data, result;
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
- env = (0, config_1.getSdkEnvironment)();
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,0CAKyB;AACzB,0CAA2D;AAC3D,0CAAmD;AACnD,mCAAsD;AAKtD,0CAA6D;AAC7D,0CAA8C;AAC9C,oCAAiD;AACjD,iCAAgC;AAChC,8EAA6E;AAC7E,uCAAiD;AAE1C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,uBAAc,EAChC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;gBAEI,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;AAnDW,QAAA,oBAAoB,wBAmD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\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 { getSdkEnvironment } from '../../config';\n\nexport const transferFromMAToPool = async (\n params: TransferFromMAToPoolParams,\n): Promise<TransferFromMAToPoolResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\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"]}
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 config_1 = require("../../config");
46
+ var network_1 = require("../../utils/network");
47
47
  var transferFromPoolToMa = function (params) { return __awaiter(void 0, void 0, void 0, function () {
48
- var env, reyaChainId, sharesAmount, eip712Signature, data, result;
48
+ var reyaChainId, sharesAmount, eip712Signature, data, result;
49
49
  return __generator(this, function (_a) {
50
50
  switch (_a.label) {
51
51
  case 0:
52
- env = (0, config_1.getSdkEnvironment)();
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,0CAKyB;AACzB,0CAA2D;AAC3D,mCAAsD;AAKtD,0CAA6D;AAC7D,iCAAgC;AAChC,8EAA6E;AAC7E,uCAAiD;AAE1C,IAAM,oBAAoB,GAAG,UAClC,MAAkC;;;;;gBAE5B,GAAG,GAAG,IAAA,0BAAiB,GAAE,CAAC;gBAC1B,WAAW,GAAG,IAAA,uBAAc,EAChC,GAAG,KAAK,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAC7C,CAAC;gBAEF,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;AAnDW,QAAA,oBAAoB,wBAmD/B","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getReyaNetwork,\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 { getSdkEnvironment } from '../../config';\n\nexport const transferFromPoolToMa = async (\n params: TransferFromPoolToMAParams,\n): Promise<TransferFromPoolToMAResult> => {\n const env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\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"]}
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, env, chainId, result;
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
- env = (0, config_1.getSdkEnvironment)();
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;AAC/C,uCAAiD;AACjD,0CAAiD;AAE1C,IAAM,aAAa,GAAG,UAC3B,MAA2B;;;;;gBAET,IAAI,GAAK,IAAA,gCAAuB,EAAC,MAAM,CAAC,YAAY,CAAC,SAAjD,CAAkD;gBAClE,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;gBAE9D,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;AAvBW,QAAA,aAAa,iBAuBxB","sourcesContent":["import { signAndBroadcastTransaction } from '../signAndBroadcastTransaction';\nimport { encodeCreateAccountCall } from './encode';\nimport { CreateAccountParams, CreateAccountResult } from './types';\nimport { ContractType } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\nimport { getReyaNetwork } from '@reyaxyz/common';\n\nexport const createAccount = async (\n params: CreateAccountParams,\n): Promise<CreateAccountResult> => {\n const { calldata: data } = encodeCreateAccountCall(params.ownerAddress);\n const env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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"]}
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 config_1 = require("../../config");
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, env, chainId, data, result;
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
- env = (0, config_1.getSdkEnvironment)();
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,0CAIyB;AACzB,0CAA+C;AAC/C,8EAA6E;AAC7E,mCAAgD;AAKhD,uCAAiD;AAE1C,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,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;gBAElD,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;AA9BW,QAAA,6BAA6B,iCA8BxC","sourcesContent":["import {\n scaleV2,\n getTokenInfoByAddress,\n getReyaNetwork,\n} 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 { getSdkEnvironment } from '../../config';\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 env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\n\n const { calldata: data } = await encodeTransferMargin(\n params.signer,\n chainId,\n params.owner.coreSigNonce,\n params.fromMarginAccountId,\n params.toMarginAccountId,\n params.tokenAddress,\n amount,\n );\n\n const result = await signAndBroadcastTransaction(\n data,\n chainId,\n ContractType.PERIPHERY_PROXY,\n {},\n );\n\n return {\n transactionHash: result?.txHash || null,\n coreSigNonce: Number(result?.coreSigNonce) || null,\n };\n};\n"]}
1
+ {"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 env, reyaChainId, corePeripheryTokenInfo, multiAction, socketMsgGasLimit, eip712Signature, data, result, transactionModuleClient, error_1;
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
- env = (0, config_1.getSdkEnvironment)();
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":"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","sourcesContent":["import {\n getCurrentTimestampInSeconds,\n scale,\n getTokenInfoByAddress,\n getReyaNetwork,\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 { getSdkEnvironment, getTransactionModuleClient } from '../../config';\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 env = getSdkEnvironment();\n const reyaChainId = getReyaNetwork(\n env === 'production' ? 'production' : 'test',\n );\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"]}
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 config_1 = require("../../config");
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, env, chainId, _a, data, eip712Payload, eip712Signature, result;
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
- env = (0, config_1.getSdkEnvironment)();
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, env, chainId, _a, data, eip712Payload, eip712Signature, result;
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
- env = (0, config_1.getSdkEnvironment)();
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":"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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, getReyaNetwork } from '@reyaxyz/common';\nimport BigNumber from 'bignumber.js';\nimport { ContractType } from '@reyaxyz/common';\nimport { scale } from '@reyaxyz/common';\nimport { getSdkEnvironment } from '../../config';\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 env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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 env = getSdkEnvironment();\n const chainId = getReyaNetwork(env === 'production' ? 'production' : 'test');\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"]}
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 env, chainId, provider, camelotAddress, camelot, tokenInfoFrom, tokenInfoTo, amountFromScaled, result;
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
- env = (0, config_1.getSdkEnvironment)();
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 env, chainId, provider, core, result;
143
+ var chainId, provider, core, result;
144
144
  return __generator(this, function (_a) {
145
145
  switch (_a.label) {
146
146
  case 0:
147
- env = (0, config_1.getSdkEnvironment)();
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":"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","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 env, chainId, _a, data, eip712Payload, eip712Signature, result;
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
- env = (0, config_1.getSdkEnvironment)();
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: