@reyaxyz/sdk 0.129.4 → 0.129.6

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 (42) hide show
  1. package/README.md +1 -1
  2. package/dist/config/index.js +0 -7
  3. package/dist/config/index.js.map +1 -1
  4. package/dist/index.js +0 -1
  5. package/dist/index.js.map +1 -1
  6. package/dist/services/encode.js +1 -6
  7. package/dist/services/encode.js.map +1 -1
  8. package/dist/types/config/index.d.ts +1 -2
  9. package/dist/types/config/index.d.ts.map +1 -1
  10. package/dist/types/index.d.ts +0 -1
  11. package/dist/types/index.d.ts.map +1 -1
  12. package/dist/types/services/encode.d.ts +0 -1
  13. package/dist/types/services/encode.d.ts.map +1 -1
  14. package/package.json +3 -3
  15. package/src/config/index.ts +0 -5
  16. package/src/index.ts +0 -1
  17. package/src/services/encode.ts +0 -21
  18. package/dist/services/swaps/encode.js +0 -78
  19. package/dist/services/swaps/encode.js.map +0 -1
  20. package/dist/services/swaps/index.js +0 -20
  21. package/dist/services/swaps/index.js.map +0 -1
  22. package/dist/services/swaps/simulation.js +0 -232
  23. package/dist/services/swaps/simulation.js.map +0 -1
  24. package/dist/services/swaps/swap.js +0 -88
  25. package/dist/services/swaps/swap.js.map +0 -1
  26. package/dist/services/swaps/types.js +0 -3
  27. package/dist/services/swaps/types.js.map +0 -1
  28. package/dist/types/services/swaps/encode.d.ts +0 -6
  29. package/dist/types/services/swaps/encode.d.ts.map +0 -1
  30. package/dist/types/services/swaps/index.d.ts +0 -4
  31. package/dist/types/services/swaps/index.d.ts.map +0 -1
  32. package/dist/types/services/swaps/simulation.d.ts +0 -4
  33. package/dist/types/services/swaps/simulation.d.ts.map +0 -1
  34. package/dist/types/services/swaps/swap.d.ts +0 -4
  35. package/dist/types/services/swaps/swap.d.ts.map +0 -1
  36. package/dist/types/services/swaps/types.d.ts +0 -47
  37. package/dist/types/services/swaps/types.d.ts.map +0 -1
  38. package/src/services/swaps/encode.ts +0 -75
  39. package/src/services/swaps/index.ts +0 -3
  40. package/src/services/swaps/simulation.ts +0 -243
  41. package/src/services/swaps/swap.ts +0 -83
  42. package/src/services/swaps/types.ts +0 -52
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-7.91%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-3.37%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-7.61%25-red.svg?style=flat) |
9
+ | ![Statements](https://img.shields.io/badge/statements-8.93%25-red.svg?style=flat) | ![Branches](https://img.shields.io/badge/branches-4.22%25-red.svg?style=flat) | ![Functions](https://img.shields.io/badge/functions-3.89%25-red.svg?style=flat) | ![Lines](https://img.shields.io/badge/lines-8.6%25-red.svg?style=flat) |
10
10
 
@@ -116,13 +116,6 @@ var GeneralRestModule = /** @class */ (function (_super) {
116
116
  function GeneralRestModule() {
117
117
  return _super !== null && _super.apply(this, arguments) || this;
118
118
  }
119
- GeneralRestModule.prototype.getSpotMarkets = function () {
120
- return __awaiter(this, void 0, void 0, function () {
121
- return __generator(this, function (_a) {
122
- return [2 /*return*/, this.get('/api/spot-markets')];
123
- });
124
- });
125
- };
126
119
  GeneralRestModule.prototype.getCollateralInfo = function () {
127
120
  return __awaiter(this, void 0, void 0, function () {
128
121
  return __generator(this, function (_a) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n RestClient,\n ServiceConfig,\n TransactionExecutionMetadata,\n TransactionExecutionOutput,\n SpotMarketEntity,\n CollateralWithHaircut,\n getApiClientConfig,\n} from '@reyaxyz/common';\n\nexport type TxData = {\n to: string;\n data: string;\n};\n\nexport class TransactionModule extends RestClient {\n async executeTransaction(\n txData: TxData,\n contractAddress: string,\n metadata: TransactionExecutionMetadata,\n ): Promise<TransactionExecutionOutput> {\n const isReyaExecutorEnabled =\n process.env.IS_REYA_EXECUTOR_ENABLED === 'true' || false;\n\n if (isReyaExecutorEnabled) {\n try {\n const result = await this.post<TransactionExecutionOutput>(\n '/api/transaction-gelato/executeReya',\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n\n if (result.txHash) {\n return result;\n }\n } catch (error) {\n console.warn('Reya executor failed', error);\n }\n }\n\n return this.post<TransactionExecutionOutput>(\n '/api/transaction-gelato/executeGelato',\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n }\n\n async pushPendingTransaction(\n marginAccountId: number,\n transactionHash: string,\n sourceChainId: number,\n amount: number,\n assetId: string,\n type: string,\n ) {\n const uri = `/api/accounts/${marginAccountId}/push-pending-transaction`;\n return this.post<{ successful: boolean }>(\n uri,\n {},\n {\n tx_hash: transactionHash,\n source_chain_id: sourceChainId,\n amount,\n asset_id: assetId,\n type: type,\n },\n );\n }\n}\n\nexport class GeneralRestModule extends RestClient {\n async getSpotMarkets(): Promise<SpotMarketEntity[]> {\n return this.get<SpotMarketEntity[]>('/api/spot-markets');\n }\n\n async getCollateralInfo(): Promise<CollateralWithHaircut[]> {\n return this.get<CollateralWithHaircut[]>(\n `/api/tokens/available-collaterals/excluding-rusd/${false}`,\n );\n }\n}\n\n// Internal state\nlet transactionModule: TransactionModule = new TransactionModule(\n getApiClientConfig('test').apiEndpoint,\n);\n\nlet generalRestModule: GeneralRestModule = new GeneralRestModule(\n getApiClientConfig('test').apiEndpoint,\n);\n\nlet config: ServiceConfig;\n\nexport const getSdkConfig = (): ServiceConfig => {\n return config;\n};\n\n// Function to configure the SDK\nexport const configureSDK = (\n environment: ServiceConfig['environment'],\n): void => {\n config = getApiClientConfig(environment);\n transactionModule = new TransactionModule(config.apiEndpoint);\n generalRestModule = new GeneralRestModule(config.apiEndpoint);\n};\n\nexport const getTransactionModuleClient = (): TransactionModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return transactionModule;\n};\n\nexport const getGeneralRestModuleClient = (): GeneralRestModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return generalRestModule;\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n RestClient,\n ServiceConfig,\n TransactionExecutionMetadata,\n TransactionExecutionOutput,\n CollateralWithHaircut,\n getApiClientConfig,\n} from '@reyaxyz/common';\n\nexport type TxData = {\n to: string;\n data: string;\n};\n\nexport class TransactionModule extends RestClient {\n async executeTransaction(\n txData: TxData,\n contractAddress: string,\n metadata: TransactionExecutionMetadata,\n ): Promise<TransactionExecutionOutput> {\n const isReyaExecutorEnabled =\n process.env.IS_REYA_EXECUTOR_ENABLED === 'true' || false;\n\n if (isReyaExecutorEnabled) {\n try {\n const result = await this.post<TransactionExecutionOutput>(\n '/api/transaction-gelato/executeReya',\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n\n if (result.txHash) {\n return result;\n }\n } catch (error) {\n console.warn('Reya executor failed', error);\n }\n }\n\n return this.post<TransactionExecutionOutput>(\n '/api/transaction-gelato/executeGelato',\n {},\n {\n txData: txData,\n contractAddress,\n metadata,\n },\n );\n }\n\n async pushPendingTransaction(\n marginAccountId: number,\n transactionHash: string,\n sourceChainId: number,\n amount: number,\n assetId: string,\n type: string,\n ) {\n const uri = `/api/accounts/${marginAccountId}/push-pending-transaction`;\n return this.post<{ successful: boolean }>(\n uri,\n {},\n {\n tx_hash: transactionHash,\n source_chain_id: sourceChainId,\n amount,\n asset_id: assetId,\n type: type,\n },\n );\n }\n}\n\nexport class GeneralRestModule extends RestClient {\n async getCollateralInfo(): Promise<CollateralWithHaircut[]> {\n return this.get<CollateralWithHaircut[]>(\n `/api/tokens/available-collaterals/excluding-rusd/${false}`,\n );\n }\n}\n\n// Internal state\nlet transactionModule: TransactionModule = new TransactionModule(\n getApiClientConfig('test').apiEndpoint,\n);\n\nlet generalRestModule: GeneralRestModule = new GeneralRestModule(\n getApiClientConfig('test').apiEndpoint,\n);\n\nlet config: ServiceConfig;\n\nexport const getSdkConfig = (): ServiceConfig => {\n return config;\n};\n\n// Function to configure the SDK\nexport const configureSDK = (\n environment: ServiceConfig['environment'],\n): void => {\n config = getApiClientConfig(environment);\n transactionModule = new TransactionModule(config.apiEndpoint);\n generalRestModule = new GeneralRestModule(config.apiEndpoint);\n};\n\nexport const getTransactionModuleClient = (): TransactionModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return transactionModule;\n};\n\nexport const getGeneralRestModuleClient = (): GeneralRestModule => {\n if (!transactionModule)\n throw new Error('SDK is not configured! Call configureSDK()');\n return generalRestModule;\n};\n"]}
package/dist/index.js CHANGED
@@ -22,7 +22,6 @@ __exportStar(require("./services/orders"), exports);
22
22
  __exportStar(require("./services/conditional-orders"), exports);
23
23
  __exportStar(require("./services/isolated-order"), exports);
24
24
  __exportStar(require("./services/token"), exports);
25
- __exportStar(require("./services/swaps"), exports);
26
25
  var config_1 = require("./config");
27
26
  Object.defineProperty(exports, "configureSDK", { enumerable: true, get: function () { return config_1.configureSDK; } });
28
27
  Object.defineProperty(exports, "getTransactionModuleClient", { enumerable: true, get: function () { return config_1.getTransactionModuleClient; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6DAA2C;AAC3C,yDAAuC;AACvC,oDAAkC;AAClC,gEAA8C;AAC9C,4DAA0C;AAC1C,mDAAiC;AACjC,mDAAiC;AACjC,mCAAoE;AAA3D,sGAAA,YAAY,OAAA;AAAE,oHAAA,0BAA0B,OAAA","sourcesContent":["export * from './services/lp';\nexport * from './services/margin-accounts';\nexport * from './services/money-flows';\nexport * from './services/orders';\nexport * from './services/conditional-orders';\nexport * from './services/isolated-order';\nexport * from './services/token';\nexport * from './services/swaps';\nexport { configureSDK, getTransactionModuleClient } from './config';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,6DAA2C;AAC3C,yDAAuC;AACvC,oDAAkC;AAClC,gEAA8C;AAC9C,4DAA0C;AAC1C,mDAAiC;AACjC,mCAAoE;AAA3D,sGAAA,YAAY,OAAA;AAAE,oHAAA,0BAA0B,OAAA","sourcesContent":["export * from './services/lp';\nexport * from './services/margin-accounts';\nexport * from './services/money-flows';\nexport * from './services/orders';\nexport * from './services/conditional-orders';\nexport * from './services/isolated-order';\nexport * from './services/token';\nexport { configureSDK, getTransactionModuleClient } from './config';\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  //////////////////// ENCODE SINGLE ////////////////////
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.encodeRouterCall = exports.encodeSingleSwap = exports.encodeSingleTrade = exports.encodeSingleStakeFromMarginAccount = exports.encodeSingleUnstakeFromMarginAccount = exports.encodeSingleTransferMargin = exports.encodeSingleWithdraw = exports.encodeSingleDeposit = void 0;
4
+ exports.encodeRouterCall = exports.encodeSingleTrade = exports.encodeSingleStakeFromMarginAccount = exports.encodeSingleUnstakeFromMarginAccount = exports.encodeSingleTransferMargin = exports.encodeSingleWithdraw = exports.encodeSingleDeposit = void 0;
5
5
  var common_1 = require("@reyaxyz/common");
6
6
  var common_2 = require("@reyaxyz/common");
7
7
  var ethers_1 = require("ethers");
@@ -36,11 +36,6 @@ var encodeSingleTrade = function (counterpartyAccountIds, orderBase, orderPriceL
36
36
  multiAction.newAction((0, common_2.getCommand)(common_2.CommandType.MATCH_ORDER, [counterpartyAccountIds, encodedBasePrice], marketId, exchangeId));
37
37
  };
38
38
  exports.encodeSingleTrade = encodeSingleTrade;
39
- var encodeSingleSwap = function (amountIn, amountOut, path, adapters, recipients, marketId, exchangeId, multiAction) {
40
- // Trade memory trade = abi.decode(command.inputs, (Trade));
41
- multiAction.newAction((0, common_2.getCommand)(common_2.CommandType.CAMELOT_SWAP, [[amountIn, amountOut, path, adapters, recipients]], marketId, exchangeId));
42
- };
43
- exports.encodeSingleSwap = encodeSingleSwap;
44
39
  var encodeRouterCall = function (multiAction, accountId, nativeCurrencyValue) {
45
40
  var functionSignature = 'execute';
46
41
  var parameters = [accountId, multiAction.commands];
@@ -1 +1 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":"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","sourcesContent":["//////////////////// ENCODE SINGLE ////////////////////\n\nimport { MethodParameters, MultiAction, CoreAbi } from '@reyaxyz/common';\nimport { CommandType, getCommand } from '@reyaxyz/common';\nimport { AbiCoder, Interface } from 'ethers';\n// const abi = [\n// 'function coreExecute(uint128 poolId, uint128 accountId, Command[] commands, EIP712Signature sig)',\n// ];\nexport const encodeSingleDeposit = (\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(getCommand(CommandType.DEPOSIT, [token, amount], 0, 0));\n};\n\nexport const encodeSingleWithdraw = (\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.WITHDRAW, [token, amount], 0, 0),\n );\n};\n\nexport const encodeSingleTransferMargin = (\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(\n CommandType.TRANSFER_MARGIN_ACCOUNT,\n [[toMarginAccountId, token, amount]],\n 0,\n 0,\n ),\n );\n};\n\nexport const encodeSingleUnstakeFromMarginAccount = (\n poolId: number,\n srusdAmount: bigint,\n minOut: bigint,\n multiAction: MultiAction,\n): void => {\n const encodedUnstakeInputs = AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'uint256', 'uint256'],\n [poolId, srusdAmount, minOut],\n );\n\n multiAction.newAction(\n getCommand(CommandType.MANAGE_POOL_STAKE, [1, encodedUnstakeInputs], 0, 0),\n );\n};\n\nexport const encodeSingleStakeFromMarginAccount = (\n poolId: number,\n amount: bigint,\n minShares: bigint,\n multiAction: MultiAction,\n): void => {\n const encodedStakeInputs = AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'uint256', 'uint256'],\n [poolId, amount, minShares],\n );\n\n multiAction.newAction(\n getCommand(CommandType.MANAGE_POOL_STAKE, [0, encodedStakeInputs], 0, 0),\n );\n};\n\nexport const encodeSingleTrade = (\n counterpartyAccountIds: number[],\n orderBase: bigint,\n orderPriceLimit: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));\n const encodedBasePrice = AbiCoder.defaultAbiCoder().encode(\n ['int256', 'uint256'],\n [orderBase, orderPriceLimit],\n );\n\n multiAction.newAction(\n getCommand(\n CommandType.MATCH_ORDER,\n [counterpartyAccountIds, encodedBasePrice],\n marketId,\n exchangeId,\n ),\n );\n};\n\nexport const encodeSingleSwap = (\n amountIn: string,\n amountOut: string,\n path: string[],\n adapters: string[],\n recipients: string[],\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n // Trade memory trade = abi.decode(command.inputs, (Trade));\n multiAction.newAction(\n getCommand(\n CommandType.CAMELOT_SWAP,\n [[amountIn, amountOut, path, adapters, recipients]],\n marketId,\n exchangeId,\n ),\n );\n};\n\nexport const encodeRouterCall = (\n multiAction: MultiAction,\n accountId: number,\n nativeCurrencyValue: bigint,\n): MethodParameters => {\n const functionSignature = 'execute';\n const parameters = [accountId, multiAction.commands];\n\n const INTERFACE = new Interface(CoreAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(nativeCurrencyValue).toString(10),\n };\n};\n"]}
1
+ {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":"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","sourcesContent":["//////////////////// ENCODE SINGLE ////////////////////\n\nimport { MethodParameters, MultiAction, CoreAbi } from '@reyaxyz/common';\nimport { CommandType, getCommand } from '@reyaxyz/common';\nimport { AbiCoder, Interface } from 'ethers';\n// const abi = [\n// 'function coreExecute(uint128 poolId, uint128 accountId, Command[] commands, EIP712Signature sig)',\n// ];\nexport const encodeSingleDeposit = (\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(getCommand(CommandType.DEPOSIT, [token, amount], 0, 0));\n};\n\nexport const encodeSingleWithdraw = (\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(CommandType.WITHDRAW, [token, amount], 0, 0),\n );\n};\n\nexport const encodeSingleTransferMargin = (\n toMarginAccountId: number,\n token: string,\n amount: bigint,\n multiAction: MultiAction,\n): void => {\n multiAction.newAction(\n getCommand(\n CommandType.TRANSFER_MARGIN_ACCOUNT,\n [[toMarginAccountId, token, amount]],\n 0,\n 0,\n ),\n );\n};\n\nexport const encodeSingleUnstakeFromMarginAccount = (\n poolId: number,\n srusdAmount: bigint,\n minOut: bigint,\n multiAction: MultiAction,\n): void => {\n const encodedUnstakeInputs = AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'uint256', 'uint256'],\n [poolId, srusdAmount, minOut],\n );\n\n multiAction.newAction(\n getCommand(CommandType.MANAGE_POOL_STAKE, [1, encodedUnstakeInputs], 0, 0),\n );\n};\n\nexport const encodeSingleStakeFromMarginAccount = (\n poolId: number,\n amount: bigint,\n minShares: bigint,\n multiAction: MultiAction,\n): void => {\n const encodedStakeInputs = AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'uint256', 'uint256'],\n [poolId, amount, minShares],\n );\n\n multiAction.newAction(\n getCommand(CommandType.MANAGE_POOL_STAKE, [0, encodedStakeInputs], 0, 0),\n );\n};\n\nexport const encodeSingleTrade = (\n counterpartyAccountIds: number[],\n orderBase: bigint,\n orderPriceLimit: bigint,\n marketId: number,\n exchangeId: number,\n multiAction: MultiAction,\n): void => {\n // (int256 orderBase, UD60x18 orderPriceLimit) = abi.decode(matchOrderInputs.inputs, (int256, UD60x18));\n const encodedBasePrice = AbiCoder.defaultAbiCoder().encode(\n ['int256', 'uint256'],\n [orderBase, orderPriceLimit],\n );\n\n multiAction.newAction(\n getCommand(\n CommandType.MATCH_ORDER,\n [counterpartyAccountIds, encodedBasePrice],\n marketId,\n exchangeId,\n ),\n );\n};\n\nexport const encodeRouterCall = (\n multiAction: MultiAction,\n accountId: number,\n nativeCurrencyValue: bigint,\n): MethodParameters => {\n const functionSignature = 'execute';\n const parameters = [accountId, multiAction.commands];\n\n const INTERFACE = new Interface(CoreAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(nativeCurrencyValue).toString(10),\n };\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { RestClient, ServiceConfig, TransactionExecutionMetadata, TransactionExecutionOutput, SpotMarketEntity, CollateralWithHaircut } from '@reyaxyz/common';
1
+ import { RestClient, ServiceConfig, TransactionExecutionMetadata, TransactionExecutionOutput, CollateralWithHaircut } from '@reyaxyz/common';
2
2
  export type TxData = {
3
3
  to: string;
4
4
  data: string;
@@ -10,7 +10,6 @@ export declare class TransactionModule extends RestClient {
10
10
  }>;
11
11
  }
12
12
  export declare class GeneralRestModule extends RestClient {
13
- getSpotMarkets(): Promise<SpotMarketEntity[]>;
14
13
  getCollateralInfo(): Promise<CollateralWithHaircut[]>;
15
14
  }
16
15
  export declare const getSdkConfig: () => ServiceConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,4BAA4B,EAC5B,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,0BAA0B,CAAC;IAmChC,sBAAsB,CAC1B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM;oBAGmB,OAAO;;CAYzC;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,cAAc,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAI7C,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAK5D;AAaD,eAAO,MAAM,YAAY,QAAO,aAE/B,CAAC;AAGF,eAAO,MAAM,YAAY,gBACV,aAAa,CAAC,aAAa,CAAC,KACxC,IAIF,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,4BAA4B,EAC5B,0BAA0B,EAC1B,qBAAqB,EAEtB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,MAAM,GAAG;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,4BAA4B,GACrC,OAAO,CAAC,0BAA0B,CAAC;IAmChC,sBAAsB,CAC1B,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM;oBAGmB,OAAO;;CAYzC;AAED,qBAAa,iBAAkB,SAAQ,UAAU;IACzC,iBAAiB,IAAI,OAAO,CAAC,qBAAqB,EAAE,CAAC;CAK5D;AAaD,eAAO,MAAM,YAAY,QAAO,aAE/B,CAAC;AAGF,eAAO,MAAM,YAAY,gBACV,aAAa,CAAC,aAAa,CAAC,KACxC,IAIF,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC;AAEF,eAAO,MAAM,0BAA0B,QAAO,iBAI7C,CAAC"}
@@ -5,6 +5,5 @@ export * from './services/orders';
5
5
  export * from './services/conditional-orders';
6
6
  export * from './services/isolated-order';
7
7
  export * from './services/token';
8
- export * from './services/swaps';
9
8
  export { configureSDK, getTransactionModuleClient } from './config';
10
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC"}
@@ -5,6 +5,5 @@ export declare const encodeSingleTransferMargin: (toMarginAccountId: number, tok
5
5
  export declare const encodeSingleUnstakeFromMarginAccount: (poolId: number, srusdAmount: bigint, minOut: bigint, multiAction: MultiAction) => void;
6
6
  export declare const encodeSingleStakeFromMarginAccount: (poolId: number, amount: bigint, minShares: bigint, multiAction: MultiAction) => void;
7
7
  export declare const encodeSingleTrade: (counterpartyAccountIds: number[], orderBase: bigint, orderPriceLimit: bigint, marketId: number, exchangeId: number, multiAction: MultiAction) => void;
8
- export declare const encodeSingleSwap: (amountIn: string, amountOut: string, path: string[], adapters: string[], recipients: string[], marketId: number, exchangeId: number, multiAction: MultiAction) => void;
9
8
  export declare const encodeRouterCall: (multiAction: MultiAction, accountId: number, nativeCurrencyValue: bigint) => MethodParameters;
10
9
  //# sourceMappingURL=encode.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAW,MAAM,iBAAiB,CAAC;AAMzE,eAAO,MAAM,mBAAmB,UACvB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,UACxB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IAIF,CAAC;AAEF,eAAO,MAAM,0BAA0B,sBAClB,MAAM,SAClB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,oCAAoC,WACvC,MAAM,eACD,MAAM,UACX,MAAM,eACD,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,kCAAkC,WACrC,MAAM,UACN,MAAM,aACH,MAAM,eACJ,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,iBAAiB,2BACJ,MAAM,EAAE,aACrB,MAAM,mBACA,MAAM,YACb,MAAM,cACJ,MAAM,eACL,WAAW,KACvB,IAeF,CAAC;AAEF,eAAO,MAAM,gBAAgB,aACjB,MAAM,aACL,MAAM,QACX,MAAM,EAAE,YACJ,MAAM,EAAE,cACN,MAAM,EAAE,YACV,MAAM,cACJ,MAAM,eACL,WAAW,KACvB,IAUF,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBACd,WAAW,aACb,MAAM,uBACI,MAAM,KAC1B,gBAUF,CAAC"}
1
+ {"version":3,"file":"encode.d.ts","sourceRoot":"/","sources":["services/encode.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAAW,MAAM,iBAAiB,CAAC;AAMzE,eAAO,MAAM,mBAAmB,UACvB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IAEF,CAAC;AAEF,eAAO,MAAM,oBAAoB,UACxB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IAIF,CAAC;AAEF,eAAO,MAAM,0BAA0B,sBAClB,MAAM,SAClB,MAAM,UACL,MAAM,eACD,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,oCAAoC,WACvC,MAAM,eACD,MAAM,UACX,MAAM,eACD,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,kCAAkC,WACrC,MAAM,UACN,MAAM,aACH,MAAM,eACJ,WAAW,KACvB,IASF,CAAC;AAEF,eAAO,MAAM,iBAAiB,2BACJ,MAAM,EAAE,aACrB,MAAM,mBACA,MAAM,YACb,MAAM,cACJ,MAAM,eACL,WAAW,KACvB,IAeF,CAAC;AAEF,eAAO,MAAM,gBAAgB,gBACd,WAAW,aACb,MAAM,uBACI,MAAM,KAC1B,gBAUF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@reyaxyz/sdk",
3
- "version": "0.129.4",
3
+ "version": "0.129.6",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org"
@@ -29,11 +29,11 @@
29
29
  "generate:coverage-badges": "npx istanbul-badges-readme --silent"
30
30
  },
31
31
  "dependencies": {
32
- "@reyaxyz/common": "0.272.1",
32
+ "@reyaxyz/common": "0.273.1",
33
33
  "axios": "^1.6.2",
34
34
  "bignumber.js": "^9.1.2",
35
35
  "ethers": "6.9.0"
36
36
  },
37
37
  "packageManager": "pnpm@8.3.1",
38
- "gitHead": "8403731000f5e23d0b6565b99bed33e47b052a33"
38
+ "gitHead": "00b22f980063c9b2e22034988f06345991d57e9f"
39
39
  }
@@ -3,7 +3,6 @@ import {
3
3
  ServiceConfig,
4
4
  TransactionExecutionMetadata,
5
5
  TransactionExecutionOutput,
6
- SpotMarketEntity,
7
6
  CollateralWithHaircut,
8
7
  getApiClientConfig,
9
8
  } from '@reyaxyz/common';
@@ -77,10 +76,6 @@ export class TransactionModule extends RestClient {
77
76
  }
78
77
 
79
78
  export class GeneralRestModule extends RestClient {
80
- async getSpotMarkets(): Promise<SpotMarketEntity[]> {
81
- return this.get<SpotMarketEntity[]>('/api/spot-markets');
82
- }
83
-
84
79
  async getCollateralInfo(): Promise<CollateralWithHaircut[]> {
85
80
  return this.get<CollateralWithHaircut[]>(
86
81
  `/api/tokens/available-collaterals/excluding-rusd/${false}`,
package/src/index.ts CHANGED
@@ -5,5 +5,4 @@ export * from './services/orders';
5
5
  export * from './services/conditional-orders';
6
6
  export * from './services/isolated-order';
7
7
  export * from './services/token';
8
- export * from './services/swaps';
9
8
  export { configureSDK, getTransactionModuleClient } from './config';
@@ -96,27 +96,6 @@ export const encodeSingleTrade = (
96
96
  );
97
97
  };
98
98
 
99
- export const encodeSingleSwap = (
100
- amountIn: string,
101
- amountOut: string,
102
- path: string[],
103
- adapters: string[],
104
- recipients: string[],
105
- marketId: number,
106
- exchangeId: number,
107
- multiAction: MultiAction,
108
- ): void => {
109
- // Trade memory trade = abi.decode(command.inputs, (Trade));
110
- multiAction.newAction(
111
- getCommand(
112
- CommandType.CAMELOT_SWAP,
113
- [[amountIn, amountOut, path, adapters, recipients]],
114
- marketId,
115
- exchangeId,
116
- ),
117
- );
118
- };
119
-
120
99
  export const encodeRouterCall = (
121
100
  multiAction: MultiAction,
122
101
  accountId: number,
@@ -1,78 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.encodeGetUsdMarginInfo = exports.encodeSwap = void 0;
40
- var ethers_1 = require("ethers");
41
- var common_1 = require("@reyaxyz/common");
42
- var encode_1 = require("../encode");
43
- var encodeSwap = function (signer, chainId, coreSigNonce, accountId, amountIn, amountOut, path, adapters, recipients, marketId, exchangeId) { return __awaiter(void 0, void 0, void 0, function () {
44
- var multiAction, _a, eip712Signature, eip712Payload, value;
45
- return __generator(this, function (_b) {
46
- switch (_b.label) {
47
- case 0:
48
- multiAction = new common_1.MultiAction();
49
- (0, encode_1.encodeSingleSwap)(amountIn, amountOut, path, adapters, recipients, marketId, exchangeId, multiAction);
50
- return [4 /*yield*/, (0, common_1.signCoreCommands)(signer, chainId, (0, common_1.getAddress)(chainId, common_1.ContractType.PERIPHERY_PROXY), accountId, multiAction.commands, coreSigNonce + 1, (0, common_1.getCurrentTimestampInSeconds)() + common_1.CORE_DEADLINE_IN_SECONDS, ethers_1.ethers.AbiCoder.defaultAbiCoder().encode([], []))];
51
- case 1:
52
- _a = _b.sent(), eip712Signature = _a.signature, eip712Payload = _a.payload;
53
- value = BigInt(0);
54
- return [2 /*return*/, {
55
- calldata: '', // not sending calldata to API anymore
56
- value: BigInt(value).toString(10),
57
- signature: eip712Signature,
58
- payload: eip712Payload,
59
- }];
60
- }
61
- });
62
- }); };
63
- exports.encodeSwap = encodeSwap;
64
- var encodeGetUsdMarginInfo = function (accountId) { return __awaiter(void 0, void 0, void 0, function () {
65
- var functionSignature, parameters, INTERFACE, calldata;
66
- return __generator(this, function (_a) {
67
- functionSignature = 'getUsdMarginInfo';
68
- parameters = [accountId];
69
- INTERFACE = new ethers_1.Interface(common_1.CoreAbi);
70
- calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);
71
- return [2 /*return*/, {
72
- calldata: calldata,
73
- value: BigInt(0).toString(10),
74
- }];
75
- });
76
- }); };
77
- exports.encodeGetUsdMarginInfo = encodeGetUsdMarginInfo;
78
- //# sourceMappingURL=encode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"encode.js","sourceRoot":"/","sources":["services/swaps/encode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAmD;AAEnD,0CASyB;AACzB,oCAA6C;AAEtC,IAAM,UAAU,GAAG,UACxB,MAAc,EACd,OAAe,EACf,YAAoB,EACpB,SAAiB,EACjB,QAAgB,EAChB,SAAiB,EACjB,IAAc,EACd,QAAkB,EAClB,UAAoB,EACpB,QAAgB,EAChB,UAAkB;;;;;gBAEZ,WAAW,GAAG,IAAI,oBAAW,EAAE,CAAC;gBAEtC,IAAA,yBAAgB,EACd,QAAQ,EACR,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,UAAU,EACV,QAAQ,EACR,UAAU,EACV,WAAW,CACZ,CAAC;gBAGA,qBAAM,IAAA,yBAAgB,EACpB,MAAM,EACN,OAAO,EACP,IAAA,mBAAU,EAAC,OAAO,EAAE,qBAAY,CAAC,eAAe,CAAC,EACjD,SAAS,EACT,WAAW,CAAC,QAAQ,EACpB,YAAY,GAAG,CAAC,EAChB,IAAA,qCAA4B,GAAE,GAAG,iCAAwB,EACzD,eAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CACjD,EAAA;;gBAVG,KACJ,SASC,EAVgB,eAAe,eAAA,EAAW,aAAa,aAAA;gBAYpD,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;gBAExB,sBAAO;wBACL,QAAQ,EAAE,EAAE,EAAE,sCAAsC;wBACpD,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;wBACjC,SAAS,EAAE,eAAe;wBAC1B,OAAO,EAAE,aAAa;qBACvB,EAAC;;;KACH,CAAC;AA9CW,QAAA,UAAU,cA8CrB;AAEK,IAAM,sBAAsB,GAAG,UACpC,SAAiB;;;QAEX,iBAAiB,GAAG,kBAAkB,CAAC;QACvC,UAAU,GAAG,CAAC,SAAS,CAAC,CAAC;QAEzB,SAAS,GAAG,IAAI,kBAAS,CAAC,gBAAO,CAAC,CAAC;QACnC,QAAQ,GAAG,SAAS,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;QAC7E,sBAAO;gBACL,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;aAC9B,EAAC;;KACH,CAAC;AAZW,QAAA,sBAAsB,0BAYjC","sourcesContent":["import { ethers, Interface, Signer } from 'ethers';\nimport { MethodParametersAndEIP712Payload } from '../orders';\nimport {\n ContractType,\n CoreAbi,\n CORE_DEADLINE_IN_SECONDS,\n getAddress,\n getCurrentTimestampInSeconds,\n MultiAction,\n signCoreCommands,\n MethodParameters,\n} from '@reyaxyz/common';\nimport { encodeSingleSwap } from '../encode';\n\nexport const encodeSwap = async (\n signer: Signer,\n chainId: number,\n coreSigNonce: number,\n accountId: number,\n amountIn: string,\n amountOut: string,\n path: string[],\n adapters: string[],\n recipients: string[],\n marketId: number,\n exchangeId: number,\n): Promise<MethodParametersAndEIP712Payload> => {\n const multiAction = new MultiAction();\n\n encodeSingleSwap(\n amountIn,\n amountOut,\n path,\n adapters,\n recipients,\n marketId,\n exchangeId,\n multiAction,\n );\n\n const { signature: eip712Signature, payload: eip712Payload } =\n await signCoreCommands(\n signer,\n chainId,\n getAddress(chainId, ContractType.PERIPHERY_PROXY),\n accountId,\n multiAction.commands,\n coreSigNonce + 1,\n getCurrentTimestampInSeconds() + CORE_DEADLINE_IN_SECONDS,\n ethers.AbiCoder.defaultAbiCoder().encode([], []),\n );\n\n const value = BigInt(0);\n\n return {\n calldata: '', // not sending calldata to API anymore\n value: BigInt(value).toString(10),\n signature: eip712Signature,\n payload: eip712Payload,\n };\n};\n\nexport const encodeGetUsdMarginInfo = async (\n accountId: number,\n): Promise<MethodParameters> => {\n const functionSignature = 'getUsdMarginInfo';\n const parameters = [accountId];\n\n const INTERFACE = new Interface(CoreAbi);\n const calldata = INTERFACE.encodeFunctionData(functionSignature, parameters);\n return {\n calldata: calldata,\n value: BigInt(0).toString(10),\n };\n};\n"]}
@@ -1,20 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./simulation"), exports);
18
- __exportStar(require("./types"), exports);
19
- __exportStar(require("./swap"), exports);
20
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["services/swaps/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,0CAAwB;AACxB,yCAAuB","sourcesContent":["export * from './simulation';\nexport * from './types';\nexport * from './swap';\n"]}
@@ -1,232 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
- return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.simulateSwap = exports.findBestPath = void 0;
40
- var common_1 = require("@reyaxyz/common");
41
- var ethers_1 = require("ethers");
42
- var config_1 = require("../../config");
43
- var network_1 = require("../../utils/network");
44
- var swap_1 = require("./swap");
45
- var CamelotAbi = [
46
- {
47
- inputs: [
48
- {
49
- internalType: 'uint256',
50
- name: '_amountIn',
51
- type: 'uint256',
52
- },
53
- {
54
- internalType: 'address',
55
- name: '_tokenIn',
56
- type: 'address',
57
- },
58
- {
59
- internalType: 'address',
60
- name: '_tokenOut',
61
- type: 'address',
62
- },
63
- {
64
- internalType: 'address[]',
65
- name: '_trustedTokens',
66
- type: 'address[]',
67
- },
68
- {
69
- internalType: 'uint256',
70
- name: '_maxSteps',
71
- type: 'uint256',
72
- },
73
- ],
74
- name: 'findBestPath',
75
- outputs: [
76
- {
77
- components: [
78
- {
79
- internalType: 'uint256[]',
80
- name: 'amounts',
81
- type: 'uint256[]',
82
- },
83
- {
84
- internalType: 'address[]',
85
- name: 'adapters',
86
- type: 'address[]',
87
- },
88
- {
89
- internalType: 'address[]',
90
- name: 'path',
91
- type: 'address[]',
92
- },
93
- {
94
- internalType: 'address[]',
95
- name: 'recipients',
96
- type: 'address[]',
97
- },
98
- {
99
- internalType: 'uint256',
100
- name: 'gasEstimate',
101
- type: 'uint256',
102
- },
103
- ],
104
- internalType: 'struct FormattedOffer',
105
- name: '',
106
- type: 'tuple',
107
- },
108
- ],
109
- stateMutability: 'view',
110
- type: 'function',
111
- },
112
- ];
113
- var findBestPath = function (amountFrom, tokenFrom, tokenTo, maxSteps) { return __awaiter(void 0, void 0, void 0, function () {
114
- var chainId, provider, camelotAddress, camelot, tokenInfoFrom, tokenInfoTo, amountFromScaled, result;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- chainId = (0, network_1.getReyaNetwork)();
119
- provider = ethers_1.ethers.getDefaultProvider(common_1.reyaChainIdRPCMapper[chainId]);
120
- camelotAddress = (0, common_1.getAddress)(chainId, common_1.ContractType.CAMELOT_YAK_ROUTER);
121
- camelot = new ethers_1.Contract(camelotAddress, CamelotAbi, provider);
122
- tokenInfoFrom = (0, common_1.getTokenInfoByAddress)(tokenFrom);
123
- tokenInfoTo = (0, common_1.getTokenInfoByAddress)(tokenTo);
124
- amountFromScaled = (0, common_1.scaleV2)(tokenInfoFrom.decimals)(amountFrom);
125
- return [4 /*yield*/, camelot.findBestPath(amountFromScaled, tokenFrom, tokenTo, [], maxSteps || 4)];
126
- case 1:
127
- result = _a.sent();
128
- // It can happen that the amount from results in a zero amount out
129
- // due to smaller precision of amount out, resulting in no path
130
- if (result.amounts.length == 0) {
131
- throw new Error('Amount to be received is zero. Not a viable swap.');
132
- }
133
- return [2 /*return*/, {
134
- amountFrom: (0, common_1.descale)(tokenInfoFrom.decimals)(result.amounts[0]),
135
- amountTo: (0, common_1.descale)(tokenInfoTo.decimals)(result.amounts[result.amounts.length - 1]),
136
- amountInBase: result.amounts[0],
137
- amountOutBase: result.amounts[1],
138
- adapters: Array.from(result[1]),
139
- path: Array.from(result[2]),
140
- recipients: Array.from(result[3]),
141
- }];
142
- }
143
- });
144
- }); };
145
- exports.findBestPath = findBestPath;
146
- // Simulates sending the swap directly to Core using the publisher as msg.sender
147
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
148
- var getPreSwapMarginInfo = function (marginAccountId) { return __awaiter(void 0, void 0, void 0, function () {
149
- var chainId, provider, core, result;
150
- return __generator(this, function (_a) {
151
- switch (_a.label) {
152
- case 0:
153
- chainId = (0, network_1.getReyaNetwork)();
154
- provider = ethers_1.ethers.getDefaultProvider(common_1.reyaChainIdRPCMapper[chainId]);
155
- core = new ethers_1.Contract((0, common_1.getAddress)(chainId, common_1.ContractType.CORE_PROXY), common_1.CoreAbi, provider);
156
- return [4 /*yield*/, core.getUsdNodeMarginInfo(marginAccountId)];
157
- case 1:
158
- result = _a.sent();
159
- return [2 /*return*/, {
160
- preSwapMarginBalance: Number(result[1]),
161
- lmr: Number(result[9]),
162
- }];
163
- }
164
- });
165
- }); };
166
- var simulateSwap = function (params) { return __awaiter(void 0, void 0, void 0, function () {
167
- var bestPathResult, simulatedPrice, restModule, markets, tokenFromPrice, tokenToPrice, estimatedPriceImpact, market, marketReversed, collaterals, tokenFromHaircut, tokenToHaircut, marginInfo, adjustedAmountFrom, adjustedAmountTo, postSwapMargin, marginRatio;
168
- var _a, _b;
169
- return __generator(this, function (_c) {
170
- switch (_c.label) {
171
- case 0: return [4 /*yield*/, (0, exports.findBestPath)(params.amountFrom, params.tokenFrom, params.tokenTo)];
172
- case 1:
173
- bestPathResult = _c.sent();
174
- simulatedPrice = bestPathResult.amountTo / bestPathResult.amountFrom;
175
- restModule = (0, config_1.getGeneralRestModuleClient)();
176
- return [4 /*yield*/, restModule.getSpotMarkets()];
177
- case 2:
178
- markets = _c.sent();
179
- tokenFromPrice = 1;
180
- tokenToPrice = 1;
181
- estimatedPriceImpact = 0;
182
- market = markets.find(function (m) {
183
- return (m.quoteToken.address == params.tokenFrom.toLowerCase() &&
184
- m.underlyingAsset.address == params.tokenTo.toLowerCase());
185
- });
186
- // check both directions of the market
187
- if (market != undefined) {
188
- estimatedPriceImpact = (market.price - simulatedPrice) / market.price;
189
- tokenFromPrice = market.quoteToken.price;
190
- tokenToPrice = market.underlyingAsset.price;
191
- }
192
- else {
193
- marketReversed = markets.find(function (m) {
194
- return (m.underlyingAsset.address == params.tokenFrom.toLowerCase() &&
195
- m.quoteToken.address == params.tokenTo.toLowerCase());
196
- });
197
- if (marketReversed != undefined) {
198
- estimatedPriceImpact =
199
- (1 / marketReversed.price - simulatedPrice) /
200
- (1 / marketReversed.price);
201
- tokenFromPrice = marketReversed.underlyingAsset.price;
202
- tokenToPrice = marketReversed.quoteToken.price;
203
- }
204
- }
205
- return [4 /*yield*/, restModule.getCollateralInfo()];
206
- case 3:
207
- collaterals = _c.sent();
208
- tokenFromHaircut = (_a = collaterals.find(function (c) { return c.address == params.tokenFrom.toLowerCase(); })) === null || _a === void 0 ? void 0 : _a.priceHaircut;
209
- tokenToHaircut = (_b = collaterals.find(function (c) { return c.address == params.tokenFrom.toLowerCase(); })) === null || _b === void 0 ? void 0 : _b.priceHaircut;
210
- if (tokenFromHaircut === undefined || tokenToHaircut === undefined) {
211
- throw new Error('Cannot find collateral tokens');
212
- }
213
- return [4 /*yield*/, getPreSwapMarginInfo(params.marginAccountId)];
214
- case 4:
215
- marginInfo = _c.sent();
216
- adjustedAmountFrom = bestPathResult.amountFrom * tokenFromPrice * (1 - tokenFromHaircut);
217
- adjustedAmountTo = bestPathResult.amountTo * tokenToPrice * (1 - tokenToHaircut);
218
- postSwapMargin = marginInfo.preSwapMarginBalance -
219
- (adjustedAmountFrom - adjustedAmountTo) * Math.pow(10, 18);
220
- marginRatio = (marginInfo.lmr / postSwapMargin) * 100;
221
- return [2 /*return*/, {
222
- bestPath: bestPathResult,
223
- estimatedPriceImpact: estimatedPriceImpact * 100,
224
- defaultSlippage: swap_1.DEFAULT_SLIPPAGE * 100,
225
- marginRatio: marginRatio,
226
- marginRatioHealth: common_1.ExposureCommand.evaluateHealthStatus(marginRatio),
227
- }];
228
- }
229
- });
230
- }); };
231
- exports.simulateSwap = simulateSwap;
232
- //# sourceMappingURL=simulation.js.map