@reyaxyz/common 0.372.0 → 0.373.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/trading-api-types.js.map +1 -1
- package/dist/transactions/index.js +1 -0
- package/dist/transactions/index.js.map +1 -1
- package/dist/transactions/operations.js +254 -0
- package/dist/transactions/operations.js.map +1 -0
- package/dist/types/trading-api-types.d.ts +2 -4
- package/dist/types/trading-api-types.d.ts.map +1 -1
- package/dist/types/transactions/index.d.ts +1 -0
- package/dist/types/transactions/index.d.ts.map +1 -1
- package/dist/types/transactions/operations.d.ts +79 -0
- package/dist/types/transactions/operations.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/trading-api-types.ts +2 -4
- package/src/transactions/index.ts +1 -0
- package/src/transactions/operations.ts +318 -0
package/README.md
CHANGED
|
@@ -6,5 +6,5 @@
|
|
|
6
6
|
|
|
7
7
|
| Statements | Branches | Functions | Lines |
|
|
8
8
|
| --------------------------- | ----------------------- | ------------------------- | ----------------- |
|
|
9
|
-
|  |  |  |  |
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trading-api-types.js","sourceRoot":"/","sources":["trading-api-types.ts"],"names":[],"mappings":";;;AAYa,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAuHF,wCAAwC;AAC3B,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,IAAM,sBAAsB,GAAG,yCAAyC,CAAC;AAEzE;;;;GAIG;AACI,IAAM,gBAAgB,GAAG,UAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,IAAI,+BAAuB;QACtC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAErD,QAAA,sBAAsB,GAAkB,MAAM,CAAC;AAC/C,QAAA,oBAAoB,GAAkB,OAAO,CAAC;AAEpD,IAAM,eAAe,GAAG,UAAC,GAAY;IAC1C,OAAC,uBAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAArD,CAAqD,CAAC;AAD3C,QAAA,eAAe,mBAC4B;AAExD;;;;;;GAMG;AACI,IAAM,kBAAkB,GAAG,UAAC,GAAY;IAC7C,OAAA,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,8BAAsB;AAAnD,CAAmD,CAAC;AADzC,QAAA,kBAAkB,sBACuB","sourcesContent":["import { ParamsDictionary, Query } from 'express-serve-static-core';\nimport { Address, AssetPair } from './types';\nimport {\n AddressParam,\n ApiEndpoint,\n ApiInfiniteListEndpoint,\n ApiListEndpoint,\n Decimal,\n PaginatedQueryParams,\n Stringified,\n} from './api-types';\n\nexport const AccountStatusValues = {\n OPEN: 'OPEN',\n CLOSED: 'CLOSED',\n};\n\nexport type AccountStatus =\n (typeof AccountStatusValues)[keyof typeof AccountStatusValues];\n\ntype CandleResolution = '1' | '5' | '15' | '30' | '60' | '240' | '1D';\n\ntype Candle = {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n assetPairId: AssetPair;\n resolution: CandleResolution;\n};\n\n// Database-shaped perp execution row exposed by provider and API types.\ntype Order = {\n id: string;\n market_id: Decimal | null;\n account_id: Decimal | null;\n executed_base: Decimal | null;\n fee: Decimal | null;\n price: Decimal | null;\n is_match_order: boolean | null;\n liquidation_type: Decimal | null;\n execution_type: number | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n event_sequence_number: bigint | null;\n exchange_id: Decimal | null;\n created_at: Date;\n counterparty_account_id: Decimal | null;\n counterparty_adl_unwind_price: Decimal | null;\n counterparty_average_entry_funding_value: Decimal | null;\n counterparty_base: Decimal | null;\n counterparty_base_multiplier: Decimal | null;\n counterparty_funding_value: Decimal | null;\n counterparty_last_price: Decimal | null;\n counterparty_last_price_timestamp: Decimal | null;\n counterparty_previous_adl_unwind_price: Decimal | null;\n counterparty_previous_average_entry_funding_value: Decimal | null;\n counterparty_previous_base_multiplier: Decimal | null;\n counterparty_previous_funding_value: Decimal | null;\n counterparty_previous_last_price: Decimal | null;\n counterparty_previous_realized_pnl: Decimal | null;\n counterparty_realized_pnl: Decimal | null;\n counterparty_session: Decimal | null;\n position_adl_unwind_price: Decimal | null;\n position_average_entry_funding_value: Decimal | null;\n position_base: Decimal | null;\n position_base_multiplier: Decimal | null;\n position_funding_value: Decimal | null;\n position_last_price: Decimal | null;\n position_last_price_timestamp: Decimal | null;\n position_previous_adl_unwind_price: Decimal | null;\n position_previous_average_entry_funding_value: Decimal | null;\n position_previous_base_multiplier: Decimal | null;\n position_previous_funding_value: Decimal | null;\n position_previous_last_price: Decimal | null;\n position_previous_realized_pnl: Decimal | null;\n position_realized_pnl: Decimal | null;\n position_session: Decimal | null;\n referrer_account_id: Decimal | null;\n referrer_fee_credit: Decimal | null;\n // V3 fields\n protocol_fee_credit: Decimal | null;\n taker_rebate_credit: Decimal | null;\n pool_fee_credit: Decimal | null;\n exchange_fee_credit: Decimal | null;\n maker_fee_credit: Decimal | null;\n maker_fee_debit: Decimal | null;\n account_order_id: bigint | null;\n counterparty_order_id: bigint | null;\n me_nonce: Decimal | null;\n};\n\ntype Position = {\n market_id: Decimal;\n account_id: Decimal;\n base: Decimal | null;\n realized_pnl: Decimal | null;\n last_price: Decimal | null;\n last_price_timestamp: Decimal | null;\n funding_value: Decimal | null;\n base_multiplier: Decimal | null;\n adl_unwind_price: Decimal | null;\n average_entry_funding_value: Decimal | null;\n session: Decimal | null;\n exchange_id: Decimal | null;\n event_sequence_number: bigint | null;\n referrer_account_id: Decimal | null;\n referrer_fee_credit: Decimal | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n adjusted_base: Decimal | null;\n adl_realized_pnl: Decimal | null;\n};\n\n// PRO-126 Bug 7: `ConditionalOrder` + `ConditionalOrderSensitive`\n// trading-api-types retired with the rest of the legacy\n// `ConditionalOrders` DB pipeline. They modeled the legacy row shape\n// for the dead V1 `/wallet/:address/openOrders` endpoint + the dead\n// `replication:ConditionalOrdersSensitive` broadcast channel; both\n// callers have been removed.\n\ntype Account = {\n account_id: Decimal;\n name: string;\n status: AccountStatus;\n updated_timestamp_ms: Decimal;\n source: string | null;\n};\n\n// Matches the app's account-name field.\nexport const ACCOUNT_NAME_MAX_LENGTH = 25;\n\n// Control, format (bidi, zero-width), surrogate and private-use code points,\n// plus the line and paragraph separators. Not unassigned (Cn): that set\n// depends on the runtime's Unicode tables and would reject newer emoji.\n// Sequence emoji joined by U+200D (ZWJ) or tag characters are rejected too.\nconst ACCOUNT_NAME_FORBIDDEN = /[\\p{Cc}\\p{Cf}\\p{Cs}\\p{Co}\\u2028\\u2029]/u;\n\n/**\n * The trimmed account name, or null when it is not a non-empty string of at\n * most ACCOUNT_NAME_MAX_LENGTH characters free of forbidden code points.\n * Shared by the rename endpoint and the relay's account-creation name.\n */\nexport const parseAccountName = (raw: unknown): string | null => {\n if (typeof raw !== 'string') return null;\n const name = raw.trim();\n return name.length > 0 &&\n name.length <= ACCOUNT_NAME_MAX_LENGTH &&\n !ACCOUNT_NAME_FORBIDDEN.test(name)\n ? name\n : null;\n};\n\n/**\n * Allow-listed `AccountProfile.source` values, set once when the relay writes\n * the profile of a new account from `metadata.accountSource`. 'reya' is the\n * default, 'rage' the Rage Trade integration, and 'agent' marks the Agent\n * account, which the V2 API reports as `AGENTPERP`.\n */\nexport const ACCOUNT_SOURCES = ['reya', 'rage', 'agent'] as const;\nexport type AccountSource = (typeof ACCOUNT_SOURCES)[number];\nexport const DEFAULT_ACCOUNT_SOURCE: AccountSource = 'reya';\nexport const AGENT_ACCOUNT_SOURCE: AccountSource = 'agent';\n\nexport const isAccountSource = (raw: unknown): raw is AccountSource =>\n (ACCOUNT_SOURCES as readonly unknown[]).includes(raw);\n\n/**\n * The source exactly as sent when it is allow-listed, otherwise\n * DEFAULT_ACCOUNT_SOURCE. Unknown values are normalised, not rejected: the\n * account already exists on-chain when its profile is written, and rejecting\n * would only lose the account name. Matching is exact, so only 'agent' makes\n * an Agent account.\n */\nexport const parseAccountSource = (raw: unknown): AccountSource =>\n isAccountSource(raw) ? raw : DEFAULT_ACCOUNT_SOURCE;\n\n/** Body of `PUT /api/trading/wallet/:address/account/:accountId/name`. */\nexport type UpdateAccountNameBody = { name: string };\n\ntype AccountBalance = {\n account_id: Decimal | null;\n collateral: string | null;\n balance?: Decimal | null;\n delta?: Decimal | null;\n};\n\ntype spot_execution = {\n account_id: Decimal;\n counterparty_account_id: Decimal;\n // Order attribution is absent for auto-exchange executions: there is no\n // matched order, so the chain emits no exchange/order ids and the DB\n // columns are NULL. Matches the `spot_executions` Prisma model.\n exchange_id: Decimal | null;\n executed_base: Decimal;\n price: Decimal;\n account_order_id: bigint | null;\n counterparty_order_id: bigint | null;\n me_nonce: Decimal | null;\n spot_market_id: Decimal;\n is_auto_exchange: boolean;\n is_long: boolean;\n event_sequence_number: bigint;\n parent_event_sequence_number: bigint | null;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n created_at: string;\n};\n\ntype account_real_balance = {\n account_id: Decimal;\n collateral: string;\n balance: Decimal;\n rpnl: Decimal;\n event_sequence_number: bigint | null;\n transfer_event_sequence_number: bigint | null;\n parent_event_sequence_number: bigint | null;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n};\n\n// `Leverage` is still referenced by the `wallet/:address/leverages`\n// endpoint below, so it is kept; `AutoExchange` (a dead legacy type with\n// no remaining references) was removed in #2713/#2710.\ntype Leverage = {\n accountId: Decimal;\n marketId: Decimal;\n leverage: number;\n createdAt: Date;\n updatedAt: Date;\n};\n\ntype WalletStats = {\n volume_14d: Decimal;\n lookback_volume: Decimal;\n lookback_window_seconds: number;\n};\n\ntype BalanceHistoryPoint = {\n timestamp: number;\n balance: number;\n /**\n * PnL since the first point: the change in balance minus the change in\n * net deposits, withdrawals and transfers. Absent when the per-request\n * replay serves the history (BALANCE_HISTORY_SOURCE=replay, or a database\n * the account-value task has not started on).\n */\n pnl?: number;\n};\n\ntype MarketData = {\n marketId: string;\n updatedAt: number;\n longOI: number;\n shortOI: number;\n longSkewPercentage: number;\n shortSkewPercentage: number;\n openInterest?: number;\n fundingRate?: number;\n fundingRateVelocity?: number;\n longFundingValue?: number;\n shortFundingValue?: number;\n last24hVolume: number;\n priceChange24H?: number;\n priceChange24HPercentage?: number;\n maxAmountBaseLong?: number;\n maxAmountSizeLong?: number;\n maxAmountBaseShort?: number;\n maxAmountSizeShort?: number;\n /** ME mark price, despite the name. Surfaced as v2 `MarketSummary.markPrice`. */\n oraclePrice?: number;\n /**\n * Orderbook mid. Absent on an empty or one-sided book\n */\n poolPrice?: number;\n /**\n * Stork index price, rUSD-quoted (divided by USDCUSD, like the collateral\n * feeds). Surfaced as v2 `MarketSummary.oraclePrice` — the name differs\n * because the v1 `oraclePrice` above is already taken by the mark price.\n * Absent when the index feed has no fresh tick.\n */\n indexPrice?: number;\n pricesUpdatedAt?: number;\n longBaseMultiplier?: number;\n shortBaseMultiplier?: number;\n longAdlUnwindPrice?: number;\n shortAdlUnwindPrice?: number;\n depthFactor?: number;\n priceSpread?: number;\n logPriceMultiplier?: number;\n};\n\ntype SpotMarketData = {\n spotMarketId: string;\n symbol: string;\n updatedAt: number;\n volume24h: number;\n pxChange24h?: number;\n /** Stork price for the base token, rUSD-quoted (divided by USDCUSD). */\n oraclePrice?: number;\n /**\n * Spot orderbook mid, read from the ME `{depth}:bbo:<id>` key. Absent on an\n * empty or one-sided book — spot has no mark price to fall back to, unlike\n * the perp `poolPrice` above.\n */\n throttledMidPrice?: number;\n};\n\ntype MarketTrackers = {\n market_data_id: Decimal;\n passive_pool_id: Decimal | null;\n pool_account_id: Decimal | null;\n quote_token: string | null;\n quote_token_decimals: Decimal | null;\n last_funding_velocity: Decimal | null;\n last_funding_timestamp: Decimal | null;\n last_mtm_price: Decimal | null;\n last_mtm_timestamp: Decimal | null;\n long_trackers_funding_value: Decimal | null;\n last_funding_rate: Decimal | null;\n long_trackers_base_multiplier: Decimal | null;\n long_trackers_adl_unwind_price: Decimal | null;\n short_trackers_funding_value: Decimal | null;\n short_trackers_base_multiplier: Decimal | null;\n short_trackers_adl_unwind_price: Decimal | null;\n open_interest: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n price_spread: Decimal | null;\n depth_factor: Decimal | null;\n log_price_multiplier: Decimal | null;\n mark_price: Decimal | null;\n mark_price_timestamp: Decimal | null;\n funding_rate: Decimal | null;\n funding_rate_timestamp: Decimal | null;\n};\n\nexport type TradingApiReplication<\n ReplicationTable extends ReplicationModel = never,\n Replication = never,\n> = {\n replication: ReplicationTable extends never\n ? never\n : GenericReplicationMessage<Replication, ReplicationTable>;\n};\n\nexport type TradingApiEndpoint<\n Response,\n Params,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = never,\n> = ApiEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiListEndpoint<\n Response,\n Params = never,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = never,\n> = ApiListEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiInfiniteListEndpoint<\n Response,\n Params = never,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = PaginatedQueryParams,\n> = ApiInfiniteListEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiSource = {\n 'poolBalance/:poolId': TradingApiEndpoint<\n {\n id: number;\n timestamp: bigint;\n pool_id: number;\n value: Decimal;\n apy: Decimal;\n share_price: Decimal;\n share_price_index: Decimal;\n } | null,\n {\n poolId?: string;\n }\n >;\n 'poolBalance/:poolId/apy-history': TradingApiEndpoint<\n { timestampInMs: number; apy: number }[],\n { poolId?: string },\n never,\n { timestampInMs: number; apy: number }[],\n { timeframeMs: string; granularity: string }\n >;\n 'wallet/:address/leverages': TradingApiListEndpoint<\n Leverage,\n { address: string },\n 'accountLeveragePerMarket'\n >;\n 'markets/data': TradingApiListEndpoint<MarketData, never, 'marketData'>;\n 'spotMarkets/data': TradingApiListEndpoint<\n SpotMarketData,\n never,\n 'spotMarketData'\n >;\n 'markets/configuration': TradingApiListEndpoint<{\n market_id: Decimal;\n risk_matrix_index: Decimal | null;\n max_open_base: Decimal | null;\n minimum_order_base: Decimal | null;\n base_spacing: Decimal | null;\n price_spacing: Decimal | null;\n oracle_node_id: string | null;\n mtm_window: Decimal | null;\n dutch_config_lambda: Decimal | null;\n dutch_config_min_base: Decimal | null;\n slippage_params_phi: Decimal | null;\n slippage_params_beta: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n }>;\n 'markets/storage': TradingApiListEndpoint<{\n market_id: Decimal;\n quote_collateral: string | null;\n instrument_address: string | null;\n name: string | null;\n risk_block_id: Decimal | null;\n collateral_pool_id: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n }>;\n 'markets/trackers': TradingApiListEndpoint<\n MarketTrackers,\n never,\n 'marketTrackers'\n >;\n 'market/:marketId/trackers': TradingApiEndpoint<\n MarketTrackers,\n {\n marketId: string;\n },\n 'marketTrackers'\n >;\n 'market/:marketId/data': TradingApiEndpoint<\n MarketData,\n {\n marketId: string;\n },\n 'marketData'\n >;\n 'wallet/:address/positions': TradingApiListEndpoint<\n Position,\n AddressParam,\n 'position',\n Omit<Position, 'adjusted_base' | 'adl_realized_pnl'>\n >;\n // PRO-126 Bug 7: V1 `/wallet/:address/openOrders` endpoint type\n // retired. The route+controller were removed in trading.router.ts +\n // trading.controller.ts. V2 callers should use\n // `/v2/wallet/:address/openOrders` which serves both spot and perp\n // orders from the unified ME stream via AccountOrdersMap.\n // Bridge deposits and withdrawals for a wallet. Rows are registered by the\n // Reya app when it broadcasts the source-chain transaction, and reconciled\n // by the pending-transaction cron -- nothing else writes them, which is why\n // this is a v1 app endpoint rather than part of the general v2 API.\n 'wallet/:address/bridgeTransactions': TradingApiListEndpoint<\n bridge_transactions_margin_account,\n AddressParam,\n 'BridgeTransactionsMarginAccount'\n >;\n 'wallet/:address/accounts': TradingApiListEndpoint<\n Account,\n AddressParam,\n 'AccountProfile'\n >;\n 'wallet/:address/accounts/balances': TradingApiListEndpoint<\n AccountBalance,\n AddressParam,\n 'account_balances'\n >;\n 'wallet/:address/balanceHistory/:timestamp': TradingApiListEndpoint<\n BalanceHistoryPoint,\n {\n address: string;\n timestamp: string;\n },\n never,\n BalanceHistoryPoint,\n {\n /**\n * Comma-separated ids of the wallet's accounts to sum (e.g. the main\n * account, or one sub-account). Omitted: every account of the wallet.\n */\n accountIds?: string;\n }\n >;\n riskMatrices: TradingApiListEndpoint<\n {\n blockId: Decimal;\n matrix: string[][];\n },\n {\n poolId: string;\n }\n >;\n 'candle/:assetPairId/:resolution': TradingApiEndpoint<\n Candle | null,\n {\n resolution: CandleResolution;\n assetPairId: AssetPair;\n },\n 'storkPriceCandle',\n Candle\n >;\n 'candles/:assetPairId/:resolution': TradingApiEndpoint<\n {\n t: number[];\n o: number[];\n h: number[];\n l: number[];\n c: number[];\n },\n {\n resolution: CandleResolution;\n assetPairId: AssetPair;\n },\n never,\n never,\n {\n to: string;\n from: string;\n countBack?: string;\n }\n >;\n feeTierParameters: TradingApiListEndpoint<{\n tier_id: Decimal;\n taker_fee: Decimal;\n maker_fee: Decimal;\n volume: Decimal;\n }>;\n globalFeeParameters: TradingApiEndpoint<\n {\n og_discount: Decimal;\n vltz_discount: Decimal;\n referee_discount: Decimal;\n referrer_rebate: Decimal;\n affiliate_referrer_rebate: Decimal;\n },\n never\n >;\n 'wallet/:address/configuration': TradingApiEndpoint<\n {\n tier_id: Decimal;\n og_status: boolean;\n vltz_status: boolean;\n affiliate_status: boolean;\n referee_status: boolean;\n spread_discount_status: boolean;\n main_account_id: Decimal;\n },\n {\n address: string;\n }\n >;\n 'wallet/:address/stats': TradingApiEndpoint<\n WalletStats,\n {\n address: string;\n }\n >;\n 'wallet/:address/apiWalletStatus': TradingApiEndpoint<\n {\n enabledApiWallets: string[];\n },\n {\n address: string;\n }\n >;\n rlp: TradingApiEndpoint<\n {\n tvlInUsdc: number;\n tvlInRlp: number;\n rlpUsdcPrice: number;\n apy: {\n '1d': number;\n '7d': number;\n '30d': number;\n '365d': number;\n };\n numberOfDepositors: number;\n ageSeconds: number;\n },\n never\n >;\n 'wallet/:address/rlp': TradingApiEndpoint<\n {\n balanceInUsdc: number;\n balanceInRlp: number;\n },\n {\n address: string;\n }\n >;\n 'collaterals/definitions': TradingApiEndpoint<\n {\n collaterals: CollateralDefinition[];\n },\n never\n >;\n 'collaterals/balances/wallet/:address': TradingApiEndpoint<\n {\n collaterals: CollateralWalletBalance[];\n },\n {\n address: string;\n }\n >;\n // PUT with an `UpdateAccountNameBody` and a Dynamic `Authorization: Bearer`\n // token; only the account's owner may rename it.\n 'wallet/:address/account/:accountId/name': TradingApiEndpoint<\n Account,\n {\n address: string;\n accountId: string;\n }\n >;\n};\n\nexport type Req<P = ParamsDictionary, ReqQuery = Query> = {\n params: P;\n query: ReqQuery;\n};\n\nexport type TradingApi = {\n [K in keyof TradingApiSource as K]: {\n params: TradingApiSource[K]['params'];\n query: TradingApiSource[K]['query'];\n response: Stringified<TradingApiSource[K]['response']>;\n replication: Stringified<TradingApiSource[K]['replication']>;\n };\n};\n\ntype ReplicationModel = string | never;\n\nexport type GenericReplicationMessage<T, model extends ReplicationModel> =\n | {\n model: model;\n result: T;\n operation: 'create' | 'update' | 'upsert' | 'delete';\n }\n | {\n model: model;\n result: T[];\n operation: 'updateMany';\n }\n | {\n model: model;\n result: T[];\n operation: 'createMany';\n };\n\ntype account_collateral_balance_entries = {\n id: string;\n account_id: Decimal | null;\n collateral: string | null;\n amount: Decimal | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n};\n\ntype account_owner_updated_snapshot = {\n account_id: Decimal;\n transaction_hash: string;\n new_owner: string | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n event_sequence_number: bigint | null;\n};\n\nexport interface OrdersGatewayPermissionUpdatedStreamResult {\n owner: string;\n delegate: string;\n permission_state: boolean;\n event_sequence_number: string;\n block_number: string;\n block_timestamp: string;\n transaction_hash: string | null;\n}\n\nexport interface PerpTradeStreamPosition {\n account_id: Decimal;\n base: Decimal;\n base_multiplier: Decimal;\n funding_value: Decimal;\n adl_unwind_price: Decimal;\n last_price: Decimal;\n last_price_timestamp: Decimal;\n realized_pnl: Decimal;\n average_entry_funding_value: Decimal;\n session: Decimal;\n}\n\nexport interface PerpTradeStreamResult {\n id: string;\n event_sequence_number: Decimal;\n me_nonce: Decimal;\n market_id: Decimal;\n account_id: Decimal;\n counterparty_account_id: Decimal;\n /** Lowercased owner of `account_id`; absent for account 0 (PRO-1172). */\n account_owner?: string;\n /** Lowercased owner of `counterparty_account_id`; absent for account 0. */\n counterparty_account_owner?: string;\n executed_base: Decimal;\n fee: Decimal;\n price: Decimal;\n is_match_order: boolean;\n liquidation_type: Decimal;\n execution_type: number;\n protocol_fee_credit: Decimal;\n taker_rebate_credit: Decimal;\n pool_fee_credit: Decimal;\n exchange_fee_credit: null;\n maker_fee_credit: null;\n maker_fee_debit: null;\n account_order_id: Decimal;\n counterparty_order_id: Decimal;\n position_previous_average_entry_funding_value: Decimal;\n position_previous_adl_unwind_price: Decimal;\n position_previous_base_multiplier: Decimal;\n position_previous_funding_value: Decimal;\n position_previous_last_price: Decimal;\n position_previous_realized_pnl: Decimal;\n counterparty_previous_average_entry_funding_value: Decimal;\n counterparty_previous_adl_unwind_price: Decimal;\n counterparty_previous_base_multiplier: Decimal;\n counterparty_previous_funding_value: Decimal;\n counterparty_previous_last_price: Decimal;\n counterparty_previous_realized_pnl: Decimal;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n unique_id: bigint;\n exchange_id: Decimal;\n referrer_account_id: Decimal;\n referrer_fee_credit: Decimal;\n account: PerpTradeStreamPosition;\n counterparty: PerpTradeStreamPosition;\n}\n\nexport type PerpTradeStreamMessage = GenericReplicationMessage<\n PerpTradeStreamResult,\n 'trade'\n>;\n\nexport interface BalanceStreamSide {\n account_id: Decimal;\n balance: Decimal;\n /** Lowercased owner address (address(0) for account 0); part of the ledger enrichment. */\n owner?: string;\n}\n\n/**\n * One built leg of a Transfers event. The account ledger fields (PRO-852,\n * design §3.2) label and link the leg the same way its account_transfers row\n * is: `type` from command type and leg position, `fill_id` (ME nonce) and\n * `market_id` for perp fills settled after reya-network#752,\n * `spot_execution_sequence_number` / `spot_market_id` for spot trades and\n * auto-exchanges. Consumers that only track balances ignore them.\n */\nexport interface BalanceStreamTransfer {\n transfer_event_sequence_number: Decimal;\n collateral: string;\n from: BalanceStreamSide;\n to: BalanceStreamSide;\n // The ledger enrichment (PRO-852), included on all newly published legs;\n // a leg without it feeds the balances rail and nothing else.\n /** Position of the leg in the event's array. */\n leg_index?: number;\n /** Amount moved (`netDepositsDelta`), raw token units, always positive. */\n amount?: Decimal;\n /** TransferType label; OTHER when the leg is not recognised. */\n type?: string;\n fill_id?: Decimal | null;\n market_id?: Decimal | null;\n spot_execution_sequence_number?: Decimal | null;\n spot_market_id?: Decimal | null;\n}\n\n/** A leg as published while the ledger is on: every enrichment field present. */\nexport type EnrichedBalanceStreamTransfer = Required<\n Omit<BalanceStreamTransfer, 'from' | 'to'>\n> & {\n from: Required<BalanceStreamSide>;\n to: Required<BalanceStreamSide>;\n};\n\nexport interface BalanceStreamResult {\n event_sequence_number: Decimal;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n command_type: Decimal;\n me_nonce: Decimal | null;\n spot_market_id: Decimal | null;\n account_id: Decimal | null;\n counterparty_account_id: Decimal | null;\n transfers: BalanceStreamTransfer[];\n}\n\nexport type BalanceStreamMessage = GenericReplicationMessage<\n BalanceStreamResult,\n 'transfers'\n>;\n\ntype execution_bust = {\n event_sequence_number: bigint;\n market_id: Decimal;\n market_type: string;\n account_id: Decimal;\n counterparty_account_id: Decimal;\n account_order_id: bigint;\n counterparty_order_id: bigint;\n me_nonce: Decimal | null;\n exchange_id: Decimal;\n failed_base: Decimal;\n price: Decimal;\n is_long: boolean;\n reason: string;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n created_at: string;\n};\n\n// Bridge-carried money-in/out transactions, recorded as soon as the source\n// chain tx is broadcast and reconciled once the bridge delivers. Declared with\n// the database's own types; `Stringified<>` maps Date and Decimal to strings\n// for the replication payload.\ntype bridge_transactions_margin_account = {\n source_tx_hash: string;\n destination_tx_hash: string | null;\n source_chain_id: number;\n destination_chain_id: number;\n account_id: Decimal;\n status: string;\n amount: Decimal;\n type: string;\n asset_id: string;\n createdAt: Date;\n updatedAt: Date;\n};\n\ntype ReplicationMessage =\n // Extract the union of all `replication` values from TradingApiSource\n | Exclude<TradingApiSource[keyof TradingApiSource]['replication'], never>\n // add messages that do not exists in TradingApiSource\n | GenericReplicationMessage<\n account_owner_updated_snapshot,\n 'account_owner_updated_snapshot'\n >\n | GenericReplicationMessage<\n account_collateral_balance_entries,\n 'account_collateral_balance_entries'\n >\n | GenericReplicationMessage<account_real_balance, 'account_real_balances'>\n | GenericReplicationMessage<\n OrdersGatewayPermissionUpdatedStreamResult,\n 'orders_gateway_permission'\n >\n // PRO-126 Bug 7: `ConditionalOrdersSensitive` replication channel\n // retired with the rest of the `ConditionalOrders` DB pipeline.\n // Order data flows through the ME's `{orders}:changes` stream.\n | GenericReplicationMessage<spot_execution, 'spot_executions'>\n | GenericReplicationMessage<Order, 'orders'>\n | GenericReplicationMessage<execution_bust, 'execution_busts'>\n | GenericReplicationMessage<\n bridge_transactions_margin_account,\n 'BridgeTransactionsMarginAccount'\n >;\n\nexport type SocketDepositChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaPeriphery: Address;\n vaultAddress: Address;\n connectorAddress: Address;\n msgGasLimit: string;\n bridgeTime: number;\n};\n\nexport type SocketWithdrawChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaCore: Address;\n msgGasLimit: string;\n bridgeFee: string;\n bridgeTime: number;\n};\n\nexport type LayerzeroDepositChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaPeriphery: Address;\n dstEid: number;\n extraOptions: string;\n bridgeTime: number;\n};\n\nexport type LayerzeroWithdrawChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaCore: Address;\n dstEid: number;\n bridgeFee: string;\n bridgeTime: number;\n};\n\nexport type SocketDepositInfo =\n | { enabled: false }\n | { enabled: true; chains: SocketDepositChainDetails[]; minAmount: number };\n\nexport type SocketWithdrawInfo =\n | { enabled: false }\n | { enabled: true; chains: SocketWithdrawChainDetails[]; minAmount: number };\n\nexport type LayerzeroDepositInfo =\n | { enabled: false }\n | {\n enabled: true;\n minAmount: number;\n chains: LayerzeroDepositChainDetails[];\n };\n\nexport type LayerzeroWithdrawInfo =\n | { enabled: false }\n | {\n enabled: true;\n minAmount: number;\n chains: LayerzeroWithdrawChainDetails[];\n };\n\nexport type TransferInfo = { enabled: boolean };\n\nexport type SpotInfo =\n | { enabled: false }\n | { enabled: true; spotMarketSymbol: string };\n\nexport type DisplayInfo = {\n advertisedInSpot: boolean;\n advertisedInPerp: boolean;\n displayName: string;\n displayDecimals: number;\n};\n\nexport type CollateralDefinition = {\n id: Uppercase<string>;\n address: Address;\n assetPairId: string;\n priceHaircut: string;\n liquidationDiscount: string;\n decimals: number;\n socketDepositInfo: SocketDepositInfo;\n socketWithdrawInfo: SocketWithdrawInfo;\n layerzeroDepositInfo: LayerzeroDepositInfo;\n layerzeroWithdrawInfo: LayerzeroWithdrawInfo;\n transferInfo: TransferInfo;\n spotInfo: SpotInfo;\n displayInfo: DisplayInfo;\n};\n\n// Per-collateral, per-source-chain wallet balance available to deposit. This is\n// the user's ERC20 balance of the collateral's source-chain token (what a\n// deposit spends), read via `balanceOf`. `balance` is a human-readable decimal\n// string; it is `null` when every RPC for that chain failed.\nexport type CollateralChainBalance = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n balance: string | null;\n};\n\nexport type CollateralWalletBalance = {\n id: Uppercase<string>;\n chains: CollateralChainBalance[];\n};\n\nexport type Replication = {\n [K in ReplicationMessage as `replication:${K['model']}`]: Extract<\n ReplicationMessage,\n { model: K['model'] }\n >;\n};\n"]}
|
|
1
|
+
{"version":3,"file":"trading-api-types.js","sourceRoot":"/","sources":["trading-api-types.ts"],"names":[],"mappings":";;;AAYa,QAAA,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;CACjB,CAAC;AAuHF,wCAAwC;AAC3B,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C,6EAA6E;AAC7E,wEAAwE;AACxE,wEAAwE;AACxE,4EAA4E;AAC5E,IAAM,sBAAsB,GAAG,yCAAyC,CAAC;AAEzE;;;;GAIG;AACI,IAAM,gBAAgB,GAAG,UAAC,GAAY;IAC3C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzC,IAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACxB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC;QACpB,IAAI,CAAC,MAAM,IAAI,+BAAuB;QACtC,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAClC,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,IAAI,CAAC;AACX,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B;AAEF;;;;;GAKG;AACU,QAAA,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAU,CAAC;AAErD,QAAA,sBAAsB,GAAkB,MAAM,CAAC;AAC/C,QAAA,oBAAoB,GAAkB,OAAO,CAAC;AAEpD,IAAM,eAAe,GAAG,UAAC,GAAY;IAC1C,OAAC,uBAAsC,CAAC,QAAQ,CAAC,GAAG,CAAC;AAArD,CAAqD,CAAC;AAD3C,QAAA,eAAe,mBAC4B;AAExD;;;;;;GAMG;AACI,IAAM,kBAAkB,GAAG,UAAC,GAAY;IAC7C,OAAA,IAAA,uBAAe,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,8BAAsB;AAAnD,CAAmD,CAAC;AADzC,QAAA,kBAAkB,sBACuB","sourcesContent":["import { ParamsDictionary, Query } from 'express-serve-static-core';\nimport { Address, AssetPair } from './types';\nimport {\n AddressParam,\n ApiEndpoint,\n ApiInfiniteListEndpoint,\n ApiListEndpoint,\n Decimal,\n PaginatedQueryParams,\n Stringified,\n} from './api-types';\n\nexport const AccountStatusValues = {\n OPEN: 'OPEN',\n CLOSED: 'CLOSED',\n};\n\nexport type AccountStatus =\n (typeof AccountStatusValues)[keyof typeof AccountStatusValues];\n\ntype CandleResolution = '1' | '5' | '15' | '30' | '60' | '240' | '1D';\n\ntype Candle = {\n time: number;\n open: number;\n high: number;\n low: number;\n close: number;\n assetPairId: AssetPair;\n resolution: CandleResolution;\n};\n\n// Database-shaped perp execution row exposed by provider and API types.\ntype Order = {\n id: string;\n market_id: Decimal | null;\n account_id: Decimal | null;\n executed_base: Decimal | null;\n fee: Decimal | null;\n price: Decimal | null;\n is_match_order: boolean | null;\n liquidation_type: Decimal | null;\n execution_type: number | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n event_sequence_number: bigint | null;\n exchange_id: Decimal | null;\n created_at: Date;\n counterparty_account_id: Decimal | null;\n counterparty_adl_unwind_price: Decimal | null;\n counterparty_average_entry_funding_value: Decimal | null;\n counterparty_base: Decimal | null;\n counterparty_base_multiplier: Decimal | null;\n counterparty_funding_value: Decimal | null;\n counterparty_last_price: Decimal | null;\n counterparty_last_price_timestamp: Decimal | null;\n counterparty_previous_adl_unwind_price: Decimal | null;\n counterparty_previous_average_entry_funding_value: Decimal | null;\n counterparty_previous_base_multiplier: Decimal | null;\n counterparty_previous_funding_value: Decimal | null;\n counterparty_previous_last_price: Decimal | null;\n counterparty_previous_realized_pnl: Decimal | null;\n counterparty_realized_pnl: Decimal | null;\n counterparty_session: Decimal | null;\n position_adl_unwind_price: Decimal | null;\n position_average_entry_funding_value: Decimal | null;\n position_base: Decimal | null;\n position_base_multiplier: Decimal | null;\n position_funding_value: Decimal | null;\n position_last_price: Decimal | null;\n position_last_price_timestamp: Decimal | null;\n position_previous_adl_unwind_price: Decimal | null;\n position_previous_average_entry_funding_value: Decimal | null;\n position_previous_base_multiplier: Decimal | null;\n position_previous_funding_value: Decimal | null;\n position_previous_last_price: Decimal | null;\n position_previous_realized_pnl: Decimal | null;\n position_realized_pnl: Decimal | null;\n position_session: Decimal | null;\n referrer_account_id: Decimal | null;\n referrer_fee_credit: Decimal | null;\n // V3 fields\n protocol_fee_credit: Decimal | null;\n taker_rebate_credit: Decimal | null;\n pool_fee_credit: Decimal | null;\n exchange_fee_credit: Decimal | null;\n maker_fee_credit: Decimal | null;\n maker_fee_debit: Decimal | null;\n account_order_id: bigint | null;\n counterparty_order_id: bigint | null;\n me_nonce: Decimal | null;\n};\n\ntype Position = {\n market_id: Decimal;\n account_id: Decimal;\n base: Decimal | null;\n realized_pnl: Decimal | null;\n last_price: Decimal | null;\n last_price_timestamp: Decimal | null;\n funding_value: Decimal | null;\n base_multiplier: Decimal | null;\n adl_unwind_price: Decimal | null;\n average_entry_funding_value: Decimal | null;\n session: Decimal | null;\n exchange_id: Decimal | null;\n event_sequence_number: bigint | null;\n referrer_account_id: Decimal | null;\n referrer_fee_credit: Decimal | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n adjusted_base: Decimal | null;\n adl_realized_pnl: Decimal | null;\n};\n\n// PRO-126 Bug 7: `ConditionalOrder` + `ConditionalOrderSensitive`\n// trading-api-types retired with the rest of the legacy\n// `ConditionalOrders` DB pipeline. They modeled the legacy row shape\n// for the dead V1 `/wallet/:address/openOrders` endpoint + the dead\n// `replication:ConditionalOrdersSensitive` broadcast channel; both\n// callers have been removed.\n\ntype Account = {\n account_id: Decimal;\n name: string;\n status: AccountStatus;\n updated_timestamp_ms: Decimal;\n source: string | null;\n};\n\n// Matches the app's account-name field.\nexport const ACCOUNT_NAME_MAX_LENGTH = 25;\n\n// Control, format (bidi, zero-width), surrogate and private-use code points,\n// plus the line and paragraph separators. Not unassigned (Cn): that set\n// depends on the runtime's Unicode tables and would reject newer emoji.\n// Sequence emoji joined by U+200D (ZWJ) or tag characters are rejected too.\nconst ACCOUNT_NAME_FORBIDDEN = /[\\p{Cc}\\p{Cf}\\p{Cs}\\p{Co}\\u2028\\u2029]/u;\n\n/**\n * The trimmed account name, or null when it is not a non-empty string of at\n * most ACCOUNT_NAME_MAX_LENGTH characters free of forbidden code points.\n * Shared by the rename endpoint and the relay's account-creation name.\n */\nexport const parseAccountName = (raw: unknown): string | null => {\n if (typeof raw !== 'string') return null;\n const name = raw.trim();\n return name.length > 0 &&\n name.length <= ACCOUNT_NAME_MAX_LENGTH &&\n !ACCOUNT_NAME_FORBIDDEN.test(name)\n ? name\n : null;\n};\n\n/**\n * Allow-listed `AccountProfile.source` values, set once when the relay writes\n * the profile of a new account from `metadata.accountSource`. 'reya' is the\n * default, 'rage' the Rage Trade integration, and 'agent' marks the Agent\n * account, which the V2 API reports as `AGENTPERP`.\n */\nexport const ACCOUNT_SOURCES = ['reya', 'rage', 'agent'] as const;\nexport type AccountSource = (typeof ACCOUNT_SOURCES)[number];\nexport const DEFAULT_ACCOUNT_SOURCE: AccountSource = 'reya';\nexport const AGENT_ACCOUNT_SOURCE: AccountSource = 'agent';\n\nexport const isAccountSource = (raw: unknown): raw is AccountSource =>\n (ACCOUNT_SOURCES as readonly unknown[]).includes(raw);\n\n/**\n * The source exactly as sent when it is allow-listed, otherwise\n * DEFAULT_ACCOUNT_SOURCE. Unknown values are normalised, not rejected: the\n * account already exists on-chain when its profile is written, and rejecting\n * would only lose the account name. Matching is exact, so only 'agent' makes\n * an Agent account.\n */\nexport const parseAccountSource = (raw: unknown): AccountSource =>\n isAccountSource(raw) ? raw : DEFAULT_ACCOUNT_SOURCE;\n\n/** Body of `PUT /api/trading/wallet/:address/account/:accountId/name`. */\nexport type UpdateAccountNameBody = { name: string };\n\ntype AccountBalance = {\n account_id: Decimal | null;\n collateral: string | null;\n balance?: Decimal | null;\n delta?: Decimal | null;\n};\n\ntype spot_execution = {\n account_id: Decimal;\n counterparty_account_id: Decimal;\n // Order attribution is absent for auto-exchange executions: there is no\n // matched order, so the chain emits no exchange/order ids and the DB\n // columns are NULL. Matches the `spot_executions` Prisma model.\n exchange_id: Decimal | null;\n executed_base: Decimal;\n price: Decimal;\n account_order_id: bigint | null;\n counterparty_order_id: bigint | null;\n me_nonce: Decimal | null;\n spot_market_id: Decimal;\n is_auto_exchange: boolean;\n is_long: boolean;\n event_sequence_number: bigint;\n parent_event_sequence_number: bigint | null;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n created_at: string;\n};\n\ntype account_real_balance = {\n account_id: Decimal;\n collateral: string;\n balance: Decimal;\n rpnl: Decimal;\n event_sequence_number: bigint | null;\n transfer_event_sequence_number: bigint | null;\n parent_event_sequence_number: bigint | null;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n};\n\n// `Leverage` is still referenced by the `wallet/:address/leverages`\n// endpoint below, so it is kept; `AutoExchange` (a dead legacy type with\n// no remaining references) was removed in #2713/#2710.\ntype Leverage = {\n accountId: Decimal;\n marketId: Decimal;\n leverage: number;\n createdAt: Date;\n updatedAt: Date;\n};\n\ntype WalletStats = {\n volume_14d: Decimal;\n lookback_volume: Decimal;\n lookback_window_seconds: number;\n};\n\ntype BalanceHistoryPoint = {\n timestamp: number;\n balance: number;\n /**\n * PnL since the first point: the change in balance minus the change in\n * net deposits, withdrawals and transfers.\n */\n pnl: number;\n};\n\ntype MarketData = {\n marketId: string;\n updatedAt: number;\n longOI: number;\n shortOI: number;\n longSkewPercentage: number;\n shortSkewPercentage: number;\n openInterest?: number;\n fundingRate?: number;\n fundingRateVelocity?: number;\n longFundingValue?: number;\n shortFundingValue?: number;\n last24hVolume: number;\n priceChange24H?: number;\n priceChange24HPercentage?: number;\n maxAmountBaseLong?: number;\n maxAmountSizeLong?: number;\n maxAmountBaseShort?: number;\n maxAmountSizeShort?: number;\n /** ME mark price, despite the name. Surfaced as v2 `MarketSummary.markPrice`. */\n oraclePrice?: number;\n /**\n * Orderbook mid. Absent on an empty or one-sided book\n */\n poolPrice?: number;\n /**\n * Stork index price, rUSD-quoted (divided by USDCUSD, like the collateral\n * feeds). Surfaced as v2 `MarketSummary.oraclePrice` — the name differs\n * because the v1 `oraclePrice` above is already taken by the mark price.\n * Absent when the index feed has no fresh tick.\n */\n indexPrice?: number;\n pricesUpdatedAt?: number;\n longBaseMultiplier?: number;\n shortBaseMultiplier?: number;\n longAdlUnwindPrice?: number;\n shortAdlUnwindPrice?: number;\n depthFactor?: number;\n priceSpread?: number;\n logPriceMultiplier?: number;\n};\n\ntype SpotMarketData = {\n spotMarketId: string;\n symbol: string;\n updatedAt: number;\n volume24h: number;\n pxChange24h?: number;\n /** Stork price for the base token, rUSD-quoted (divided by USDCUSD). */\n oraclePrice?: number;\n /**\n * Spot orderbook mid, read from the ME `{depth}:bbo:<id>` key. Absent on an\n * empty or one-sided book — spot has no mark price to fall back to, unlike\n * the perp `poolPrice` above.\n */\n throttledMidPrice?: number;\n};\n\ntype MarketTrackers = {\n market_data_id: Decimal;\n passive_pool_id: Decimal | null;\n pool_account_id: Decimal | null;\n quote_token: string | null;\n quote_token_decimals: Decimal | null;\n last_funding_velocity: Decimal | null;\n last_funding_timestamp: Decimal | null;\n last_mtm_price: Decimal | null;\n last_mtm_timestamp: Decimal | null;\n long_trackers_funding_value: Decimal | null;\n last_funding_rate: Decimal | null;\n long_trackers_base_multiplier: Decimal | null;\n long_trackers_adl_unwind_price: Decimal | null;\n short_trackers_funding_value: Decimal | null;\n short_trackers_base_multiplier: Decimal | null;\n short_trackers_adl_unwind_price: Decimal | null;\n open_interest: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n price_spread: Decimal | null;\n depth_factor: Decimal | null;\n log_price_multiplier: Decimal | null;\n mark_price: Decimal | null;\n mark_price_timestamp: Decimal | null;\n funding_rate: Decimal | null;\n funding_rate_timestamp: Decimal | null;\n};\n\nexport type TradingApiReplication<\n ReplicationTable extends ReplicationModel = never,\n Replication = never,\n> = {\n replication: ReplicationTable extends never\n ? never\n : GenericReplicationMessage<Replication, ReplicationTable>;\n};\n\nexport type TradingApiEndpoint<\n Response,\n Params,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = never,\n> = ApiEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiListEndpoint<\n Response,\n Params = never,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = never,\n> = ApiListEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiInfiniteListEndpoint<\n Response,\n Params = never,\n ReplicationTable extends ReplicationModel = never,\n Replication = Response,\n Query = PaginatedQueryParams,\n> = ApiInfiniteListEndpoint<Response, Params, Query> &\n TradingApiReplication<ReplicationTable, Replication>;\n\nexport type TradingApiSource = {\n 'poolBalance/:poolId': TradingApiEndpoint<\n {\n id: number;\n timestamp: bigint;\n pool_id: number;\n value: Decimal;\n apy: Decimal;\n share_price: Decimal;\n share_price_index: Decimal;\n } | null,\n {\n poolId?: string;\n }\n >;\n 'poolBalance/:poolId/apy-history': TradingApiEndpoint<\n { timestampInMs: number; apy: number }[],\n { poolId?: string },\n never,\n { timestampInMs: number; apy: number }[],\n { timeframeMs: string; granularity: string }\n >;\n 'wallet/:address/leverages': TradingApiListEndpoint<\n Leverage,\n { address: string },\n 'accountLeveragePerMarket'\n >;\n 'markets/data': TradingApiListEndpoint<MarketData, never, 'marketData'>;\n 'spotMarkets/data': TradingApiListEndpoint<\n SpotMarketData,\n never,\n 'spotMarketData'\n >;\n 'markets/configuration': TradingApiListEndpoint<{\n market_id: Decimal;\n risk_matrix_index: Decimal | null;\n max_open_base: Decimal | null;\n minimum_order_base: Decimal | null;\n base_spacing: Decimal | null;\n price_spacing: Decimal | null;\n oracle_node_id: string | null;\n mtm_window: Decimal | null;\n dutch_config_lambda: Decimal | null;\n dutch_config_min_base: Decimal | null;\n slippage_params_phi: Decimal | null;\n slippage_params_beta: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n }>;\n 'markets/storage': TradingApiListEndpoint<{\n market_id: Decimal;\n quote_collateral: string | null;\n instrument_address: string | null;\n name: string | null;\n risk_block_id: Decimal | null;\n collateral_pool_id: Decimal | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n }>;\n 'markets/trackers': TradingApiListEndpoint<\n MarketTrackers,\n never,\n 'marketTrackers'\n >;\n 'market/:marketId/trackers': TradingApiEndpoint<\n MarketTrackers,\n {\n marketId: string;\n },\n 'marketTrackers'\n >;\n 'market/:marketId/data': TradingApiEndpoint<\n MarketData,\n {\n marketId: string;\n },\n 'marketData'\n >;\n 'wallet/:address/positions': TradingApiListEndpoint<\n Position,\n AddressParam,\n 'position',\n Omit<Position, 'adjusted_base' | 'adl_realized_pnl'>\n >;\n // PRO-126 Bug 7: V1 `/wallet/:address/openOrders` endpoint type\n // retired. The route+controller were removed in trading.router.ts +\n // trading.controller.ts. V2 callers should use\n // `/v2/wallet/:address/openOrders` which serves both spot and perp\n // orders from the unified ME stream via AccountOrdersMap.\n // Bridge deposits and withdrawals for a wallet. Rows are registered by the\n // Reya app when it broadcasts the source-chain transaction, and reconciled\n // by the pending-transaction cron -- nothing else writes them, which is why\n // this is a v1 app endpoint rather than part of the general v2 API.\n 'wallet/:address/bridgeTransactions': TradingApiListEndpoint<\n bridge_transactions_margin_account,\n AddressParam,\n 'BridgeTransactionsMarginAccount'\n >;\n 'wallet/:address/accounts': TradingApiListEndpoint<\n Account,\n AddressParam,\n 'AccountProfile'\n >;\n 'wallet/:address/accounts/balances': TradingApiListEndpoint<\n AccountBalance,\n AddressParam,\n 'account_balances'\n >;\n 'wallet/:address/balanceHistory/:timestamp': TradingApiListEndpoint<\n BalanceHistoryPoint,\n {\n address: string;\n timestamp: string;\n },\n never,\n BalanceHistoryPoint,\n {\n /**\n * Comma-separated ids of the wallet's accounts to sum (e.g. the main\n * account, or one sub-account). Omitted: every account of the wallet.\n */\n accountIds?: string;\n }\n >;\n riskMatrices: TradingApiListEndpoint<\n {\n blockId: Decimal;\n matrix: string[][];\n },\n {\n poolId: string;\n }\n >;\n 'candle/:assetPairId/:resolution': TradingApiEndpoint<\n Candle | null,\n {\n resolution: CandleResolution;\n assetPairId: AssetPair;\n },\n 'storkPriceCandle',\n Candle\n >;\n 'candles/:assetPairId/:resolution': TradingApiEndpoint<\n {\n t: number[];\n o: number[];\n h: number[];\n l: number[];\n c: number[];\n },\n {\n resolution: CandleResolution;\n assetPairId: AssetPair;\n },\n never,\n never,\n {\n to: string;\n from: string;\n countBack?: string;\n }\n >;\n feeTierParameters: TradingApiListEndpoint<{\n tier_id: Decimal;\n taker_fee: Decimal;\n maker_fee: Decimal;\n volume: Decimal;\n }>;\n globalFeeParameters: TradingApiEndpoint<\n {\n og_discount: Decimal;\n vltz_discount: Decimal;\n referee_discount: Decimal;\n referrer_rebate: Decimal;\n affiliate_referrer_rebate: Decimal;\n },\n never\n >;\n 'wallet/:address/configuration': TradingApiEndpoint<\n {\n tier_id: Decimal;\n og_status: boolean;\n vltz_status: boolean;\n affiliate_status: boolean;\n referee_status: boolean;\n spread_discount_status: boolean;\n main_account_id: Decimal;\n },\n {\n address: string;\n }\n >;\n 'wallet/:address/stats': TradingApiEndpoint<\n WalletStats,\n {\n address: string;\n }\n >;\n 'wallet/:address/apiWalletStatus': TradingApiEndpoint<\n {\n enabledApiWallets: string[];\n },\n {\n address: string;\n }\n >;\n rlp: TradingApiEndpoint<\n {\n tvlInUsdc: number;\n tvlInRlp: number;\n rlpUsdcPrice: number;\n apy: {\n '1d': number;\n '7d': number;\n '30d': number;\n '365d': number;\n };\n numberOfDepositors: number;\n ageSeconds: number;\n },\n never\n >;\n 'wallet/:address/rlp': TradingApiEndpoint<\n {\n balanceInUsdc: number;\n balanceInRlp: number;\n },\n {\n address: string;\n }\n >;\n 'collaterals/definitions': TradingApiEndpoint<\n {\n collaterals: CollateralDefinition[];\n },\n never\n >;\n 'collaterals/balances/wallet/:address': TradingApiEndpoint<\n {\n collaterals: CollateralWalletBalance[];\n },\n {\n address: string;\n }\n >;\n // PUT with an `UpdateAccountNameBody` and a Dynamic `Authorization: Bearer`\n // token; only the account's owner may rename it.\n 'wallet/:address/account/:accountId/name': TradingApiEndpoint<\n Account,\n {\n address: string;\n accountId: string;\n }\n >;\n};\n\nexport type Req<P = ParamsDictionary, ReqQuery = Query> = {\n params: P;\n query: ReqQuery;\n};\n\nexport type TradingApi = {\n [K in keyof TradingApiSource as K]: {\n params: TradingApiSource[K]['params'];\n query: TradingApiSource[K]['query'];\n response: Stringified<TradingApiSource[K]['response']>;\n replication: Stringified<TradingApiSource[K]['replication']>;\n };\n};\n\ntype ReplicationModel = string | never;\n\nexport type GenericReplicationMessage<T, model extends ReplicationModel> =\n | {\n model: model;\n result: T;\n operation: 'create' | 'update' | 'upsert' | 'delete';\n }\n | {\n model: model;\n result: T[];\n operation: 'updateMany';\n }\n | {\n model: model;\n result: T[];\n operation: 'createMany';\n };\n\ntype account_collateral_balance_entries = {\n id: string;\n account_id: Decimal | null;\n collateral: string | null;\n amount: Decimal | null;\n transaction_hash: string;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n};\n\ntype account_owner_updated_snapshot = {\n account_id: Decimal;\n transaction_hash: string;\n new_owner: string | null;\n block_timestamp: Decimal | null;\n block_number: Decimal;\n unique_id: bigint | null;\n event_sequence_number: bigint | null;\n};\n\nexport interface OrdersGatewayPermissionUpdatedStreamResult {\n owner: string;\n delegate: string;\n permission_state: boolean;\n event_sequence_number: string;\n block_number: string;\n block_timestamp: string;\n transaction_hash: string | null;\n}\n\nexport interface PerpTradeStreamPosition {\n account_id: Decimal;\n base: Decimal;\n base_multiplier: Decimal;\n funding_value: Decimal;\n adl_unwind_price: Decimal;\n last_price: Decimal;\n last_price_timestamp: Decimal;\n realized_pnl: Decimal;\n average_entry_funding_value: Decimal;\n session: Decimal;\n}\n\nexport interface PerpTradeStreamResult {\n id: string;\n event_sequence_number: Decimal;\n me_nonce: Decimal;\n market_id: Decimal;\n account_id: Decimal;\n counterparty_account_id: Decimal;\n /** Lowercased owner of `account_id`; absent for account 0 (PRO-1172). */\n account_owner?: string;\n /** Lowercased owner of `counterparty_account_id`; absent for account 0. */\n counterparty_account_owner?: string;\n executed_base: Decimal;\n fee: Decimal;\n price: Decimal;\n is_match_order: boolean;\n liquidation_type: Decimal;\n execution_type: number;\n protocol_fee_credit: Decimal;\n taker_rebate_credit: Decimal;\n pool_fee_credit: Decimal;\n exchange_fee_credit: null;\n maker_fee_credit: null;\n maker_fee_debit: null;\n account_order_id: Decimal;\n counterparty_order_id: Decimal;\n position_previous_average_entry_funding_value: Decimal;\n position_previous_adl_unwind_price: Decimal;\n position_previous_base_multiplier: Decimal;\n position_previous_funding_value: Decimal;\n position_previous_last_price: Decimal;\n position_previous_realized_pnl: Decimal;\n counterparty_previous_average_entry_funding_value: Decimal;\n counterparty_previous_adl_unwind_price: Decimal;\n counterparty_previous_base_multiplier: Decimal;\n counterparty_previous_funding_value: Decimal;\n counterparty_previous_last_price: Decimal;\n counterparty_previous_realized_pnl: Decimal;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n unique_id: bigint;\n exchange_id: Decimal;\n referrer_account_id: Decimal;\n referrer_fee_credit: Decimal;\n account: PerpTradeStreamPosition;\n counterparty: PerpTradeStreamPosition;\n}\n\nexport type PerpTradeStreamMessage = GenericReplicationMessage<\n PerpTradeStreamResult,\n 'trade'\n>;\n\nexport interface BalanceStreamSide {\n account_id: Decimal;\n balance: Decimal;\n /** Lowercased owner address (address(0) for account 0); part of the ledger enrichment. */\n owner?: string;\n}\n\n/**\n * One built leg of a Transfers event. The account ledger fields (PRO-852,\n * design §3.2) label and link the leg the same way its account_transfers row\n * is: `type` from command type and leg position, `fill_id` (ME nonce) and\n * `market_id` for perp fills settled after reya-network#752,\n * `spot_execution_sequence_number` / `spot_market_id` for spot trades and\n * auto-exchanges. Consumers that only track balances ignore them.\n */\nexport interface BalanceStreamTransfer {\n transfer_event_sequence_number: Decimal;\n collateral: string;\n from: BalanceStreamSide;\n to: BalanceStreamSide;\n // The ledger enrichment (PRO-852), included on all newly published legs;\n // a leg without it feeds the balances rail and nothing else.\n /** Position of the leg in the event's array. */\n leg_index?: number;\n /** Amount moved (`netDepositsDelta`), raw token units, always positive. */\n amount?: Decimal;\n /** TransferType label; OTHER when the leg is not recognised. */\n type?: string;\n fill_id?: Decimal | null;\n market_id?: Decimal | null;\n spot_execution_sequence_number?: Decimal | null;\n spot_market_id?: Decimal | null;\n}\n\n/** A leg as published while the ledger is on: every enrichment field present. */\nexport type EnrichedBalanceStreamTransfer = Required<\n Omit<BalanceStreamTransfer, 'from' | 'to'>\n> & {\n from: Required<BalanceStreamSide>;\n to: Required<BalanceStreamSide>;\n};\n\nexport interface BalanceStreamResult {\n event_sequence_number: Decimal;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n command_type: Decimal;\n me_nonce: Decimal | null;\n spot_market_id: Decimal | null;\n account_id: Decimal | null;\n counterparty_account_id: Decimal | null;\n transfers: BalanceStreamTransfer[];\n}\n\nexport type BalanceStreamMessage = GenericReplicationMessage<\n BalanceStreamResult,\n 'transfers'\n>;\n\ntype execution_bust = {\n event_sequence_number: bigint;\n market_id: Decimal;\n market_type: string;\n account_id: Decimal;\n counterparty_account_id: Decimal;\n account_order_id: bigint;\n counterparty_order_id: bigint;\n me_nonce: Decimal | null;\n exchange_id: Decimal;\n failed_base: Decimal;\n price: Decimal;\n is_long: boolean;\n reason: string;\n block_timestamp: Decimal;\n block_number: Decimal;\n transaction_hash: string;\n created_at: string;\n};\n\n// Bridge-carried money-in/out transactions, recorded as soon as the source\n// chain tx is broadcast and reconciled once the bridge delivers. Declared with\n// the database's own types; `Stringified<>` maps Date and Decimal to strings\n// for the replication payload.\ntype bridge_transactions_margin_account = {\n source_tx_hash: string;\n destination_tx_hash: string | null;\n source_chain_id: number;\n destination_chain_id: number;\n account_id: Decimal;\n status: string;\n amount: Decimal;\n type: string;\n asset_id: string;\n createdAt: Date;\n updatedAt: Date;\n};\n\ntype ReplicationMessage =\n // Extract the union of all `replication` values from TradingApiSource\n | Exclude<TradingApiSource[keyof TradingApiSource]['replication'], never>\n // add messages that do not exists in TradingApiSource\n | GenericReplicationMessage<\n account_owner_updated_snapshot,\n 'account_owner_updated_snapshot'\n >\n | GenericReplicationMessage<\n account_collateral_balance_entries,\n 'account_collateral_balance_entries'\n >\n | GenericReplicationMessage<account_real_balance, 'account_real_balances'>\n | GenericReplicationMessage<\n OrdersGatewayPermissionUpdatedStreamResult,\n 'orders_gateway_permission'\n >\n // PRO-126 Bug 7: `ConditionalOrdersSensitive` replication channel\n // retired with the rest of the `ConditionalOrders` DB pipeline.\n // Order data flows through the ME's `{orders}:changes` stream.\n | GenericReplicationMessage<spot_execution, 'spot_executions'>\n | GenericReplicationMessage<Order, 'orders'>\n | GenericReplicationMessage<execution_bust, 'execution_busts'>\n | GenericReplicationMessage<\n bridge_transactions_margin_account,\n 'BridgeTransactionsMarginAccount'\n >;\n\nexport type SocketDepositChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaPeriphery: Address;\n vaultAddress: Address;\n connectorAddress: Address;\n msgGasLimit: string;\n bridgeTime: number;\n};\n\nexport type SocketWithdrawChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaCore: Address;\n msgGasLimit: string;\n bridgeFee: string;\n bridgeTime: number;\n};\n\nexport type LayerzeroDepositChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaPeriphery: Address;\n dstEid: number;\n extraOptions: string;\n bridgeTime: number;\n};\n\nexport type LayerzeroWithdrawChainDetails = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n collateralName: string;\n collateralAddressInReyaCore: Address;\n dstEid: number;\n bridgeFee: string;\n bridgeTime: number;\n};\n\nexport type SocketDepositInfo =\n | { enabled: false }\n | { enabled: true; chains: SocketDepositChainDetails[]; minAmount: number };\n\nexport type SocketWithdrawInfo =\n | { enabled: false }\n | { enabled: true; chains: SocketWithdrawChainDetails[]; minAmount: number };\n\nexport type LayerzeroDepositInfo =\n | { enabled: false }\n | {\n enabled: true;\n minAmount: number;\n chains: LayerzeroDepositChainDetails[];\n };\n\nexport type LayerzeroWithdrawInfo =\n | { enabled: false }\n | {\n enabled: true;\n minAmount: number;\n chains: LayerzeroWithdrawChainDetails[];\n };\n\nexport type TransferInfo = { enabled: boolean };\n\nexport type SpotInfo =\n | { enabled: false }\n | { enabled: true; spotMarketSymbol: string };\n\nexport type DisplayInfo = {\n advertisedInSpot: boolean;\n advertisedInPerp: boolean;\n displayName: string;\n displayDecimals: number;\n};\n\nexport type CollateralDefinition = {\n id: Uppercase<string>;\n address: Address;\n assetPairId: string;\n priceHaircut: string;\n liquidationDiscount: string;\n decimals: number;\n socketDepositInfo: SocketDepositInfo;\n socketWithdrawInfo: SocketWithdrawInfo;\n layerzeroDepositInfo: LayerzeroDepositInfo;\n layerzeroWithdrawInfo: LayerzeroWithdrawInfo;\n transferInfo: TransferInfo;\n spotInfo: SpotInfo;\n displayInfo: DisplayInfo;\n};\n\n// Per-collateral, per-source-chain wallet balance available to deposit. This is\n// the user's ERC20 balance of the collateral's source-chain token (what a\n// deposit spends), read via `balanceOf`. `balance` is a human-readable decimal\n// string; it is `null` when every RPC for that chain failed.\nexport type CollateralChainBalance = {\n chainId: number;\n chainName: string;\n collateralAddress: Address;\n balance: string | null;\n};\n\nexport type CollateralWalletBalance = {\n id: Uppercase<string>;\n chains: CollateralChainBalance[];\n};\n\nexport type Replication = {\n [K in ReplicationMessage as `replication:${K['model']}`]: Extract<\n ReplicationMessage,\n { model: K['model'] }\n >;\n};\n"]}
|
|
@@ -44,4 +44,5 @@ __exportStar(require("./executeTransaction"), exports);
|
|
|
44
44
|
__exportStar(require("./permissions"), exports);
|
|
45
45
|
__exportStar(require("./buildMulticallTx"), exports);
|
|
46
46
|
__exportStar(require("./encodeStorkUpdateTx"), exports);
|
|
47
|
+
__exportStar(require("./operations"), exports);
|
|
47
48
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"/","sources":["transactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wDAAuD;AAA9C,yGAAA,GAAG,OAAW;AACvB,kDAAsD;AAA7C,wGAAA,GAAG,OAAa;AACzB,sEAAmE;AAA1D,qHAAA,GAAG,OAAgB;AAC5B,4EAA2E;AAAlE,6HAAA,GAAG,OAAqB;AACjC,wDAA4D;AAAnD,8GAAA,GAAG,OAAgB;AAC5B,6EAAwF;AAA/E,mIAAA,GAAG,OAA8B;AAC1C,gEAAoE;AAA3D,sHAAA,GAAG,OAAoB;AAChC,sEAAqE;AAA5D,uHAAA,GAAG,OAAkB;AAC9B,4CAAgD;AAAvC,kGAAA,GAAG,OAAU;AACtB,sDAAoC;AACpC,mDAAiC;AACjC,yCAAuB;AACvB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC","sourcesContent":["export * from './action';\nexport { abi as CoreAbi } from './abis/CoreProxy.json';\nexport { abi as ErrorsAbi } from './abis/Errors.json';\nexport { abi as MulticallAbi } from './abis/CustomMulticall3.json';\nexport { abi as OracleAdaptersAbi } from './abis/OracleAdaptersProxy.json';\nexport { abi as PeripheryAbi } from './abis/Periphery.json';\nexport { abi as Socket_VaultWithPayloadAbi } from './abis/socket/VaultWithPayload.json';\nexport { abi as OrdersGatewayAbi } from './abis/OrdersGateway.json';\nexport { abi as PassivePerpAbi } from './abis/PassivePerpProxy.json';\nexport { abi as OFTAbi } from './abis/OFT.json';\nexport * from './contractAddresses';\nexport * from './routerCommands';\nexport * from './sign';\nexport * from './trade';\nexport * from './txHelpers';\nexport * from './consts';\nexport * from './executeTransaction';\nexport * from './permissions';\nexport * from './buildMulticallTx';\nexport * from './encodeStorkUpdateTx';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"/","sources":["transactions/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,wDAAuD;AAA9C,yGAAA,GAAG,OAAW;AACvB,kDAAsD;AAA7C,wGAAA,GAAG,OAAa;AACzB,sEAAmE;AAA1D,qHAAA,GAAG,OAAgB;AAC5B,4EAA2E;AAAlE,6HAAA,GAAG,OAAqB;AACjC,wDAA4D;AAAnD,8GAAA,GAAG,OAAgB;AAC5B,6EAAwF;AAA/E,mIAAA,GAAG,OAA8B;AAC1C,gEAAoE;AAA3D,sHAAA,GAAG,OAAoB;AAChC,sEAAqE;AAA5D,uHAAA,GAAG,OAAkB;AAC9B,4CAAgD;AAAvC,kGAAA,GAAG,OAAU;AACtB,sDAAoC;AACpC,mDAAiC;AACjC,yCAAuB;AACvB,0CAAwB;AACxB,8CAA4B;AAC5B,2CAAyB;AACzB,uDAAqC;AACrC,gDAA8B;AAC9B,qDAAmC;AACnC,wDAAsC;AACtC,+CAA6B","sourcesContent":["export * from './action';\nexport { abi as CoreAbi } from './abis/CoreProxy.json';\nexport { abi as ErrorsAbi } from './abis/Errors.json';\nexport { abi as MulticallAbi } from './abis/CustomMulticall3.json';\nexport { abi as OracleAdaptersAbi } from './abis/OracleAdaptersProxy.json';\nexport { abi as PeripheryAbi } from './abis/Periphery.json';\nexport { abi as Socket_VaultWithPayloadAbi } from './abis/socket/VaultWithPayload.json';\nexport { abi as OrdersGatewayAbi } from './abis/OrdersGateway.json';\nexport { abi as PassivePerpAbi } from './abis/PassivePerpProxy.json';\nexport { abi as OFTAbi } from './abis/OFT.json';\nexport * from './contractAddresses';\nexport * from './routerCommands';\nexport * from './sign';\nexport * from './trade';\nexport * from './txHelpers';\nexport * from './consts';\nexport * from './executeTransaction';\nexport * from './permissions';\nexport * from './buildMulticallTx';\nexport * from './encodeStorkUpdateTx';\nexport * from './operations';\n"]}
|
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __extends = (this && this.__extends) || (function () {
|
|
3
|
+
var extendStatics = function (d, b) {
|
|
4
|
+
extendStatics = Object.setPrototypeOf ||
|
|
5
|
+
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
+
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
+
return extendStatics(d, b);
|
|
8
|
+
};
|
|
9
|
+
return function (d, b) {
|
|
10
|
+
if (typeof b !== "function" && b !== null)
|
|
11
|
+
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
+
extendStatics(d, b);
|
|
13
|
+
function __() { this.constructor = d; }
|
|
14
|
+
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
+
};
|
|
16
|
+
})();
|
|
17
|
+
var __assign = (this && this.__assign) || function () {
|
|
18
|
+
__assign = Object.assign || function(t) {
|
|
19
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
20
|
+
s = arguments[i];
|
|
21
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
22
|
+
t[p] = s[p];
|
|
23
|
+
}
|
|
24
|
+
return t;
|
|
25
|
+
};
|
|
26
|
+
return __assign.apply(this, arguments);
|
|
27
|
+
};
|
|
28
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
29
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
30
|
+
if (ar || !(i in from)) {
|
|
31
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
32
|
+
ar[i] = from[i];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.buildTransactionOperation = exports.InvalidTransactionOperation = exports.TRANSACTION_OPERATIONS = void 0;
|
|
39
|
+
var ethers_1 = require("ethers");
|
|
40
|
+
var CoreProxy_json_1 = require("./abis/CoreProxy.json");
|
|
41
|
+
var Periphery_json_1 = require("./abis/Periphery.json");
|
|
42
|
+
var OrdersGateway_json_1 = require("./abis/OrdersGateway.json");
|
|
43
|
+
var contractAddresses_1 = require("./contractAddresses");
|
|
44
|
+
var routerCommands_1 = require("./routerCommands");
|
|
45
|
+
exports.TRANSACTION_OPERATIONS = [
|
|
46
|
+
'create-account',
|
|
47
|
+
'transfer',
|
|
48
|
+
'withdraw',
|
|
49
|
+
'withdraw-lz',
|
|
50
|
+
'enable-api-wallet',
|
|
51
|
+
'disable-api-wallet',
|
|
52
|
+
'stake',
|
|
53
|
+
'unstake',
|
|
54
|
+
'deposit-pool',
|
|
55
|
+
'withdraw-pool',
|
|
56
|
+
];
|
|
57
|
+
var InvalidTransactionOperation = /** @class */ (function (_super) {
|
|
58
|
+
__extends(InvalidTransactionOperation, _super);
|
|
59
|
+
function InvalidTransactionOperation(message) {
|
|
60
|
+
var _this = _super.call(this, message) || this;
|
|
61
|
+
// common targets ES5. Restore Error subclass identity for consumers of
|
|
62
|
+
// the compiled package, so invalid HTTP input remains a 400, not a 500.
|
|
63
|
+
Object.setPrototypeOf(_this, InvalidTransactionOperation.prototype);
|
|
64
|
+
_this.name = 'InvalidTransactionOperation';
|
|
65
|
+
return _this;
|
|
66
|
+
}
|
|
67
|
+
return InvalidTransactionOperation;
|
|
68
|
+
}(Error));
|
|
69
|
+
exports.InvalidTransactionOperation = InvalidTransactionOperation;
|
|
70
|
+
var invalid = function () {
|
|
71
|
+
throw new InvalidTransactionOperation('Invalid transaction operation parameters');
|
|
72
|
+
};
|
|
73
|
+
// Reject extra fields as well as missing ones. Neither raw calldata nor client
|
|
74
|
+
// metadata may smuggle an alternate target, command batch, or nonce destination.
|
|
75
|
+
function fields(value, keys) {
|
|
76
|
+
if (!value || typeof value !== 'object' || Array.isArray(value))
|
|
77
|
+
invalid();
|
|
78
|
+
var object = value;
|
|
79
|
+
if (Object.keys(object).length !== keys.length ||
|
|
80
|
+
!keys.every(function (key) { return Object.prototype.hasOwnProperty.call(object, key); }))
|
|
81
|
+
invalid();
|
|
82
|
+
return object;
|
|
83
|
+
}
|
|
84
|
+
function uint(value, bits) {
|
|
85
|
+
if (bits === void 0) { bits = 256; }
|
|
86
|
+
if (typeof value !== 'string' ||
|
|
87
|
+
!/^(0|[1-9][0-9]{0,77})$/.test(value) ||
|
|
88
|
+
BigInt(value) >= BigInt(1) << BigInt(bits))
|
|
89
|
+
invalid();
|
|
90
|
+
return value;
|
|
91
|
+
}
|
|
92
|
+
function address(value) {
|
|
93
|
+
if (typeof value !== 'string' || !(0, ethers_1.isHexString)(value, 20) || !(0, ethers_1.isAddress)(value))
|
|
94
|
+
invalid();
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
function signature(value) {
|
|
98
|
+
var sig = fields(value, ['v', 'r', 's', 'deadline']);
|
|
99
|
+
if ((sig.v !== 27 && sig.v !== 28) ||
|
|
100
|
+
typeof sig.r !== 'string' ||
|
|
101
|
+
!(0, ethers_1.isHexString)(sig.r, 32) ||
|
|
102
|
+
typeof sig.s !== 'string' ||
|
|
103
|
+
!(0, ethers_1.isHexString)(sig.s, 32))
|
|
104
|
+
invalid();
|
|
105
|
+
return {
|
|
106
|
+
v: sig.v,
|
|
107
|
+
r: sig.r,
|
|
108
|
+
s: sig.s,
|
|
109
|
+
deadline: uint(sig.deadline),
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
var core = new ethers_1.Interface(CoreProxy_json_1.abi);
|
|
113
|
+
var periphery = new ethers_1.Interface(Periphery_json_1.abi);
|
|
114
|
+
var gateway = new ethers_1.Interface(OrdersGateway_json_1.abi);
|
|
115
|
+
/** Validates an untrusted HTTP body and constructs only the named operation. */
|
|
116
|
+
function buildTransactionOperation(operation, body, reyaChainId) {
|
|
117
|
+
var params = fields(body, ['params']).params;
|
|
118
|
+
var contract = contractAddresses_1.ContractType.PERIPHERY_PROXY;
|
|
119
|
+
var callData;
|
|
120
|
+
var metadata = { destinationType: 'account' };
|
|
121
|
+
switch (operation) {
|
|
122
|
+
case 'create-account': {
|
|
123
|
+
var p = fields(params, ['owner']);
|
|
124
|
+
contract = contractAddresses_1.ContractType.CORE_PROXY;
|
|
125
|
+
callData = core.encodeFunctionData('createAccount', [address(p.owner)]);
|
|
126
|
+
metadata.action = 'createAccount';
|
|
127
|
+
// Creating an account for an owner is permissionless on Core. Profile
|
|
128
|
+
// names require the authenticated account-edit endpoint (RET-200).
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
case 'enable-api-wallet':
|
|
132
|
+
case 'disable-api-wallet': {
|
|
133
|
+
var p = fields(params, ['owner', 'apiWallet', 'sig']);
|
|
134
|
+
contract = contractAddresses_1.ContractType.ORDERS_GATEWAY_PROXY;
|
|
135
|
+
callData = gateway.encodeFunctionData('managePermissionBySig', [
|
|
136
|
+
address(p.owner),
|
|
137
|
+
address(p.apiWallet),
|
|
138
|
+
operation === 'enable-api-wallet',
|
|
139
|
+
signature(p.sig),
|
|
140
|
+
]);
|
|
141
|
+
metadata.action = operation;
|
|
142
|
+
break;
|
|
143
|
+
}
|
|
144
|
+
case 'transfer': {
|
|
145
|
+
var p = fields(params, [
|
|
146
|
+
'accountId',
|
|
147
|
+
'toAccountId',
|
|
148
|
+
'token',
|
|
149
|
+
'tokenAmount',
|
|
150
|
+
'sig',
|
|
151
|
+
]);
|
|
152
|
+
callData = periphery.encodeFunctionData('transferFromMAToMA', [
|
|
153
|
+
{
|
|
154
|
+
accountId: uint(p.accountId, 128),
|
|
155
|
+
transfer: {
|
|
156
|
+
destAccountId: uint(p.toAccountId, 128),
|
|
157
|
+
collateral: address(p.token),
|
|
158
|
+
collateralAmount: uint(p.tokenAmount),
|
|
159
|
+
},
|
|
160
|
+
sig: signature(p.sig),
|
|
161
|
+
},
|
|
162
|
+
]);
|
|
163
|
+
break;
|
|
164
|
+
}
|
|
165
|
+
case 'withdraw':
|
|
166
|
+
case 'withdraw-lz': {
|
|
167
|
+
var p = fields(params, __spreadArray([
|
|
168
|
+
'accountId',
|
|
169
|
+
'token',
|
|
170
|
+
'tokenAmount',
|
|
171
|
+
'sig',
|
|
172
|
+
'receiver'
|
|
173
|
+
], (operation === 'withdraw'
|
|
174
|
+
? ['chainId', 'socketMsgGasLimit']
|
|
175
|
+
: ['dstEid']), true));
|
|
176
|
+
callData = periphery.encodeFunctionData(operation === 'withdraw' ? 'withdrawMA' : 'withdrawMALZ', [
|
|
177
|
+
__assign({ accountId: uint(p.accountId, 128), token: address(p.token), tokenAmount: uint(p.tokenAmount), sig: signature(p.sig), receiver: address(p.receiver) }, (operation === 'withdraw'
|
|
178
|
+
? {
|
|
179
|
+
chainId: uint(p.chainId),
|
|
180
|
+
socketMsgGasLimit: uint(p.socketMsgGasLimit),
|
|
181
|
+
}
|
|
182
|
+
: { dstEid: uint(p.dstEid, 32) })),
|
|
183
|
+
]);
|
|
184
|
+
break;
|
|
185
|
+
}
|
|
186
|
+
case 'stake':
|
|
187
|
+
case 'unstake': {
|
|
188
|
+
var p = fields(params, [
|
|
189
|
+
'accountId',
|
|
190
|
+
'poolId',
|
|
191
|
+
'amount',
|
|
192
|
+
'minimumOut',
|
|
193
|
+
'sig',
|
|
194
|
+
]);
|
|
195
|
+
var inputs = ethers_1.AbiCoder.defaultAbiCoder().encode(['uint128', 'uint256', 'uint256'], [uint(p.poolId, 128), uint(p.amount), uint(p.minimumOut)]);
|
|
196
|
+
var command = (0, routerCommands_1.getCommand)(routerCommands_1.CommandType.MANAGE_POOL_STAKE, [operation === 'stake' ? 0 : 1, inputs], 0, 0).command;
|
|
197
|
+
callData = periphery.encodeFunctionData('execute', [
|
|
198
|
+
{
|
|
199
|
+
accountId: uint(p.accountId, 128),
|
|
200
|
+
commands: [command],
|
|
201
|
+
sig: signature(p.sig),
|
|
202
|
+
},
|
|
203
|
+
]);
|
|
204
|
+
break;
|
|
205
|
+
}
|
|
206
|
+
case 'deposit-pool': {
|
|
207
|
+
var p = fields(params, ['accountId', 'poolId', 'sharesAmount', 'sig']);
|
|
208
|
+
callData = periphery.encodeFunctionData('depositLiquidityToAccount', [
|
|
209
|
+
{
|
|
210
|
+
accountId: uint(p.accountId, 128),
|
|
211
|
+
poolId: uint(p.poolId, 128),
|
|
212
|
+
sharesAmount: uint(p.sharesAmount),
|
|
213
|
+
sig: signature(p.sig),
|
|
214
|
+
},
|
|
215
|
+
]);
|
|
216
|
+
metadata.destinationType = 'pool';
|
|
217
|
+
break;
|
|
218
|
+
}
|
|
219
|
+
case 'withdraw-pool': {
|
|
220
|
+
var p = fields(params, [
|
|
221
|
+
'owner',
|
|
222
|
+
'poolId',
|
|
223
|
+
'sharesAmount',
|
|
224
|
+
'minOut',
|
|
225
|
+
'sig',
|
|
226
|
+
'socketMsgGasLimit',
|
|
227
|
+
'chainId',
|
|
228
|
+
'receiver',
|
|
229
|
+
]);
|
|
230
|
+
callData = periphery.encodeFunctionData('withdrawPassivePool', [
|
|
231
|
+
{
|
|
232
|
+
owner: address(p.owner),
|
|
233
|
+
poolId: uint(p.poolId, 128),
|
|
234
|
+
sharesAmount: uint(p.sharesAmount),
|
|
235
|
+
minOut: uint(p.minOut),
|
|
236
|
+
sig: signature(p.sig),
|
|
237
|
+
socketMsgGasLimit: uint(p.socketMsgGasLimit),
|
|
238
|
+
chainId: uint(p.chainId),
|
|
239
|
+
receiver: address(p.receiver),
|
|
240
|
+
},
|
|
241
|
+
]);
|
|
242
|
+
metadata.destinationType = 'pool';
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
default:
|
|
246
|
+
return invalid();
|
|
247
|
+
}
|
|
248
|
+
return {
|
|
249
|
+
call: { target: (0, contractAddresses_1.getAddress)(reyaChainId, contract), callData: callData },
|
|
250
|
+
metadata: metadata,
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
exports.buildTransactionOperation = buildTransactionOperation;
|
|
254
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"/","sources":["transactions/operations.ts"],"names":[],"mappings":"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","sourcesContent":["import { AbiCoder, Interface, isAddress, isHexString } from 'ethers';\nimport { abi as CoreAbi } from './abis/CoreProxy.json';\nimport { abi as PeripheryAbi } from './abis/Periphery.json';\nimport { abi as OrdersGatewayAbi } from './abis/OrdersGateway.json';\nimport { ContractType, getAddress } from './contractAddresses';\nimport { CommandType, getCommand } from './routerCommands';\nimport type { TransactionExecutionMetadata } from '../types';\nimport type { Call } from './buildMulticallTx';\n\n/** Integers travel as decimal strings, including IDs, amounts and deadlines. */\nexport type TransactionOperationSignature = {\n v: 27 | 28;\n r: string;\n s: string;\n deadline: string;\n};\n\ntype SignedAccountOperation = {\n accountId: string;\n sig: TransactionOperationSignature;\n};\ntype WithdrawOperation = SignedAccountOperation & {\n token: string;\n tokenAmount: string;\n receiver: string;\n};\ntype ApiWalletOperation = {\n owner: string;\n apiWallet: string;\n sig: TransactionOperationSignature;\n};\ntype StakeOperation = SignedAccountOperation & {\n poolId: string;\n amount: string;\n minimumOut: string;\n};\n\nexport type TransactionOperationParams = {\n 'create-account': { owner: string };\n transfer: SignedAccountOperation & {\n toAccountId: string;\n token: string;\n tokenAmount: string;\n };\n withdraw: WithdrawOperation & {\n chainId: string;\n socketMsgGasLimit: string;\n };\n 'withdraw-lz': WithdrawOperation & { dstEid: string };\n 'enable-api-wallet': ApiWalletOperation;\n 'disable-api-wallet': ApiWalletOperation;\n stake: StakeOperation;\n unstake: StakeOperation;\n /** Deposit existing pool shares into a margin account; no source-chain relay. */\n 'deposit-pool': SignedAccountOperation & {\n poolId: string;\n sharesAmount: string;\n };\n 'withdraw-pool': {\n owner: string;\n poolId: string;\n sharesAmount: string;\n minOut: string;\n sig: TransactionOperationSignature;\n socketMsgGasLimit: string;\n chainId: string;\n receiver: string;\n };\n};\n\nexport type TransactionOperation = keyof TransactionOperationParams;\nexport type TransactionOperationRequest<K extends TransactionOperation> = {\n params: TransactionOperationParams[K];\n};\n\nexport const TRANSACTION_OPERATIONS: readonly TransactionOperation[] = [\n 'create-account',\n 'transfer',\n 'withdraw',\n 'withdraw-lz',\n 'enable-api-wallet',\n 'disable-api-wallet',\n 'stake',\n 'unstake',\n 'deposit-pool',\n 'withdraw-pool',\n];\n\nexport class InvalidTransactionOperation extends Error {\n constructor(message: string) {\n super(message);\n // common targets ES5. Restore Error subclass identity for consumers of\n // the compiled package, so invalid HTTP input remains a 400, not a 500.\n Object.setPrototypeOf(this, InvalidTransactionOperation.prototype);\n this.name = 'InvalidTransactionOperation';\n }\n}\n\nconst invalid = (): never => {\n throw new InvalidTransactionOperation(\n 'Invalid transaction operation parameters',\n );\n};\n\n// Reject extra fields as well as missing ones. Neither raw calldata nor client\n// metadata may smuggle an alternate target, command batch, or nonce destination.\nfunction fields(value: unknown, keys: string[]): Record<string, unknown> {\n if (!value || typeof value !== 'object' || Array.isArray(value)) invalid();\n const object = value as Record<string, unknown>;\n if (\n Object.keys(object).length !== keys.length ||\n !keys.every((key) => Object.prototype.hasOwnProperty.call(object, key))\n )\n invalid();\n return object;\n}\n\nfunction uint(value: unknown, bits = 256): string {\n if (\n typeof value !== 'string' ||\n !/^(0|[1-9][0-9]{0,77})$/.test(value) ||\n BigInt(value) >= BigInt(1) << BigInt(bits)\n )\n invalid();\n return value as string;\n}\n\nfunction address(value: unknown): string {\n if (typeof value !== 'string' || !isHexString(value, 20) || !isAddress(value))\n invalid();\n return value as string;\n}\n\nfunction signature(value: unknown): TransactionOperationSignature {\n const sig = fields(value, ['v', 'r', 's', 'deadline']);\n if (\n (sig.v !== 27 && sig.v !== 28) ||\n typeof sig.r !== 'string' ||\n !isHexString(sig.r, 32) ||\n typeof sig.s !== 'string' ||\n !isHexString(sig.s, 32)\n )\n invalid();\n return {\n v: sig.v as 27 | 28,\n r: sig.r as string,\n s: sig.s as string,\n deadline: uint(sig.deadline),\n };\n}\n\nconst core = new Interface(CoreAbi);\nconst periphery = new Interface(PeripheryAbi);\nconst gateway = new Interface(OrdersGatewayAbi);\n\n/** Validates an untrusted HTTP body and constructs only the named operation. */\nexport function buildTransactionOperation(\n operation: TransactionOperation,\n body: unknown,\n reyaChainId: number,\n): { call: Call; metadata: TransactionExecutionMetadata } {\n const { params } = fields(body, ['params']);\n let contract = ContractType.PERIPHERY_PROXY;\n let callData: string;\n const metadata: TransactionExecutionMetadata = { destinationType: 'account' };\n\n switch (operation) {\n case 'create-account': {\n const p = fields(params, ['owner']);\n contract = ContractType.CORE_PROXY;\n callData = core.encodeFunctionData('createAccount', [address(p.owner)]);\n metadata.action = 'createAccount';\n // Creating an account for an owner is permissionless on Core. Profile\n // names require the authenticated account-edit endpoint (RET-200).\n break;\n }\n case 'enable-api-wallet':\n case 'disable-api-wallet': {\n const p = fields(params, ['owner', 'apiWallet', 'sig']);\n contract = ContractType.ORDERS_GATEWAY_PROXY;\n callData = gateway.encodeFunctionData('managePermissionBySig', [\n address(p.owner),\n address(p.apiWallet),\n operation === 'enable-api-wallet',\n signature(p.sig),\n ]);\n metadata.action = operation;\n break;\n }\n case 'transfer': {\n const p = fields(params, [\n 'accountId',\n 'toAccountId',\n 'token',\n 'tokenAmount',\n 'sig',\n ]);\n callData = periphery.encodeFunctionData('transferFromMAToMA', [\n {\n accountId: uint(p.accountId, 128),\n transfer: {\n destAccountId: uint(p.toAccountId, 128),\n collateral: address(p.token),\n collateralAmount: uint(p.tokenAmount),\n },\n sig: signature(p.sig),\n },\n ]);\n break;\n }\n case 'withdraw':\n case 'withdraw-lz': {\n const p = fields(params, [\n 'accountId',\n 'token',\n 'tokenAmount',\n 'sig',\n 'receiver',\n ...(operation === 'withdraw'\n ? ['chainId', 'socketMsgGasLimit']\n : ['dstEid']),\n ]);\n callData = periphery.encodeFunctionData(\n operation === 'withdraw' ? 'withdrawMA' : 'withdrawMALZ',\n [\n {\n accountId: uint(p.accountId, 128),\n token: address(p.token),\n tokenAmount: uint(p.tokenAmount),\n sig: signature(p.sig),\n receiver: address(p.receiver),\n ...(operation === 'withdraw'\n ? {\n chainId: uint(p.chainId),\n socketMsgGasLimit: uint(p.socketMsgGasLimit),\n }\n : { dstEid: uint(p.dstEid, 32) }),\n },\n ],\n );\n break;\n }\n case 'stake':\n case 'unstake': {\n const p = fields(params, [\n 'accountId',\n 'poolId',\n 'amount',\n 'minimumOut',\n 'sig',\n ]);\n const inputs = AbiCoder.defaultAbiCoder().encode(\n ['uint128', 'uint256', 'uint256'],\n [uint(p.poolId, 128), uint(p.amount), uint(p.minimumOut)],\n );\n const { command } = getCommand(\n CommandType.MANAGE_POOL_STAKE,\n [operation === 'stake' ? 0 : 1, inputs],\n 0,\n 0,\n );\n callData = periphery.encodeFunctionData('execute', [\n {\n accountId: uint(p.accountId, 128),\n commands: [command],\n sig: signature(p.sig),\n },\n ]);\n break;\n }\n case 'deposit-pool': {\n const p = fields(params, ['accountId', 'poolId', 'sharesAmount', 'sig']);\n callData = periphery.encodeFunctionData('depositLiquidityToAccount', [\n {\n accountId: uint(p.accountId, 128),\n poolId: uint(p.poolId, 128),\n sharesAmount: uint(p.sharesAmount),\n sig: signature(p.sig),\n },\n ]);\n metadata.destinationType = 'pool';\n break;\n }\n case 'withdraw-pool': {\n const p = fields(params, [\n 'owner',\n 'poolId',\n 'sharesAmount',\n 'minOut',\n 'sig',\n 'socketMsgGasLimit',\n 'chainId',\n 'receiver',\n ]);\n callData = periphery.encodeFunctionData('withdrawPassivePool', [\n {\n owner: address(p.owner),\n poolId: uint(p.poolId, 128),\n sharesAmount: uint(p.sharesAmount),\n minOut: uint(p.minOut),\n sig: signature(p.sig),\n socketMsgGasLimit: uint(p.socketMsgGasLimit),\n chainId: uint(p.chainId),\n receiver: address(p.receiver),\n },\n ]);\n metadata.destinationType = 'pool';\n break;\n }\n default:\n return invalid();\n }\n\n return {\n call: { target: getAddress(reyaChainId, contract), callData },\n metadata,\n };\n}\n"]}
|
|
@@ -190,11 +190,9 @@ type BalanceHistoryPoint = {
|
|
|
190
190
|
balance: number;
|
|
191
191
|
/**
|
|
192
192
|
* PnL since the first point: the change in balance minus the change in
|
|
193
|
-
* net deposits, withdrawals and transfers.
|
|
194
|
-
* replay serves the history (BALANCE_HISTORY_SOURCE=replay, or a database
|
|
195
|
-
* the account-value task has not started on).
|
|
193
|
+
* net deposits, withdrawals and transfers.
|
|
196
194
|
*/
|
|
197
|
-
pnl
|
|
195
|
+
pnl: number;
|
|
198
196
|
};
|
|
199
197
|
type MarketData = {
|
|
200
198
|
marketId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trading-api-types.d.ts","sourceRoot":"/","sources":["trading-api-types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"trading-api-types.d.ts","sourceRoot":"/","sources":["trading-api-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,GAAG,IAAI,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"/","sources":["transactions/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,GAAG,IAAI,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,GAAG,IAAI,SAAS,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,GAAG,IAAI,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,GAAG,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,GAAG,IAAI,0BAA0B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,EAAE,GAAG,IAAI,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,GAAG,IAAI,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,GAAG,IAAI,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAChD,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import type { TransactionExecutionMetadata } from '../types';
|
|
2
|
+
import type { Call } from './buildMulticallTx';
|
|
3
|
+
/** Integers travel as decimal strings, including IDs, amounts and deadlines. */
|
|
4
|
+
export type TransactionOperationSignature = {
|
|
5
|
+
v: 27 | 28;
|
|
6
|
+
r: string;
|
|
7
|
+
s: string;
|
|
8
|
+
deadline: string;
|
|
9
|
+
};
|
|
10
|
+
type SignedAccountOperation = {
|
|
11
|
+
accountId: string;
|
|
12
|
+
sig: TransactionOperationSignature;
|
|
13
|
+
};
|
|
14
|
+
type WithdrawOperation = SignedAccountOperation & {
|
|
15
|
+
token: string;
|
|
16
|
+
tokenAmount: string;
|
|
17
|
+
receiver: string;
|
|
18
|
+
};
|
|
19
|
+
type ApiWalletOperation = {
|
|
20
|
+
owner: string;
|
|
21
|
+
apiWallet: string;
|
|
22
|
+
sig: TransactionOperationSignature;
|
|
23
|
+
};
|
|
24
|
+
type StakeOperation = SignedAccountOperation & {
|
|
25
|
+
poolId: string;
|
|
26
|
+
amount: string;
|
|
27
|
+
minimumOut: string;
|
|
28
|
+
};
|
|
29
|
+
export type TransactionOperationParams = {
|
|
30
|
+
'create-account': {
|
|
31
|
+
owner: string;
|
|
32
|
+
};
|
|
33
|
+
transfer: SignedAccountOperation & {
|
|
34
|
+
toAccountId: string;
|
|
35
|
+
token: string;
|
|
36
|
+
tokenAmount: string;
|
|
37
|
+
};
|
|
38
|
+
withdraw: WithdrawOperation & {
|
|
39
|
+
chainId: string;
|
|
40
|
+
socketMsgGasLimit: string;
|
|
41
|
+
};
|
|
42
|
+
'withdraw-lz': WithdrawOperation & {
|
|
43
|
+
dstEid: string;
|
|
44
|
+
};
|
|
45
|
+
'enable-api-wallet': ApiWalletOperation;
|
|
46
|
+
'disable-api-wallet': ApiWalletOperation;
|
|
47
|
+
stake: StakeOperation;
|
|
48
|
+
unstake: StakeOperation;
|
|
49
|
+
/** Deposit existing pool shares into a margin account; no source-chain relay. */
|
|
50
|
+
'deposit-pool': SignedAccountOperation & {
|
|
51
|
+
poolId: string;
|
|
52
|
+
sharesAmount: string;
|
|
53
|
+
};
|
|
54
|
+
'withdraw-pool': {
|
|
55
|
+
owner: string;
|
|
56
|
+
poolId: string;
|
|
57
|
+
sharesAmount: string;
|
|
58
|
+
minOut: string;
|
|
59
|
+
sig: TransactionOperationSignature;
|
|
60
|
+
socketMsgGasLimit: string;
|
|
61
|
+
chainId: string;
|
|
62
|
+
receiver: string;
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
export type TransactionOperation = keyof TransactionOperationParams;
|
|
66
|
+
export type TransactionOperationRequest<K extends TransactionOperation> = {
|
|
67
|
+
params: TransactionOperationParams[K];
|
|
68
|
+
};
|
|
69
|
+
export declare const TRANSACTION_OPERATIONS: readonly TransactionOperation[];
|
|
70
|
+
export declare class InvalidTransactionOperation extends Error {
|
|
71
|
+
constructor(message: string);
|
|
72
|
+
}
|
|
73
|
+
/** Validates an untrusted HTTP body and constructs only the named operation. */
|
|
74
|
+
export declare function buildTransactionOperation(operation: TransactionOperation, body: unknown, reyaChainId: number): {
|
|
75
|
+
call: Call;
|
|
76
|
+
metadata: TransactionExecutionMetadata;
|
|
77
|
+
};
|
|
78
|
+
export {};
|
|
79
|
+
//# sourceMappingURL=operations.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"/","sources":["transactions/operations.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAC;AAC7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE/C,gFAAgF;AAChF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,6BAA6B,CAAC;CACpC,CAAC;AACF,KAAK,iBAAiB,GAAG,sBAAsB,GAAG;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AACF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,6BAA6B,CAAC;CACpC,CAAC;AACF,KAAK,cAAc,GAAG,sBAAsB,GAAG;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,gBAAgB,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpC,QAAQ,EAAE,sBAAsB,GAAG;QACjC,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,QAAQ,EAAE,iBAAiB,GAAG;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,aAAa,EAAE,iBAAiB,GAAG;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,mBAAmB,EAAE,kBAAkB,CAAC;IACxC,oBAAoB,EAAE,kBAAkB,CAAC;IACzC,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,cAAc,CAAC;IACxB,iFAAiF;IACjF,cAAc,EAAE,sBAAsB,GAAG;QACvC,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,eAAe,EAAE;QACf,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,6BAA6B,CAAC;QACnC,iBAAiB,EAAE,MAAM,CAAC;QAC1B,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,MAAM,0BAA0B,CAAC;AACpE,MAAM,MAAM,2BAA2B,CAAC,CAAC,SAAS,oBAAoB,IAAI;IACxE,MAAM,EAAE,0BAA0B,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE,SAAS,oBAAoB,EAWjE,CAAC;AAEF,qBAAa,2BAA4B,SAAQ,KAAK;gBACxC,OAAO,EAAE,MAAM;CAO5B;AA2DD,gFAAgF;AAChF,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,OAAO,EACb,WAAW,EAAE,MAAM,GAClB;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,4BAA4B,CAAA;CAAE,CA6JxD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reyaxyz/common",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.373.1",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public",
|
|
6
6
|
"registry": "https://registry.npmjs.org"
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"test:coverage": "npx jest test --coverage",
|
|
42
42
|
"generate:coverage-badges": "npx istanbul-badges-readme --silent"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "c4733b7a18ca9e87db1d10e750da92340d59a384"
|
|
45
45
|
}
|
package/src/trading-api-types.ts
CHANGED
|
@@ -248,11 +248,9 @@ type BalanceHistoryPoint = {
|
|
|
248
248
|
balance: number;
|
|
249
249
|
/**
|
|
250
250
|
* PnL since the first point: the change in balance minus the change in
|
|
251
|
-
* net deposits, withdrawals and transfers.
|
|
252
|
-
* replay serves the history (BALANCE_HISTORY_SOURCE=replay, or a database
|
|
253
|
-
* the account-value task has not started on).
|
|
251
|
+
* net deposits, withdrawals and transfers.
|
|
254
252
|
*/
|
|
255
|
-
pnl
|
|
253
|
+
pnl: number;
|
|
256
254
|
};
|
|
257
255
|
|
|
258
256
|
type MarketData = {
|
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
import { AbiCoder, Interface, isAddress, isHexString } from 'ethers';
|
|
2
|
+
import { abi as CoreAbi } from './abis/CoreProxy.json';
|
|
3
|
+
import { abi as PeripheryAbi } from './abis/Periphery.json';
|
|
4
|
+
import { abi as OrdersGatewayAbi } from './abis/OrdersGateway.json';
|
|
5
|
+
import { ContractType, getAddress } from './contractAddresses';
|
|
6
|
+
import { CommandType, getCommand } from './routerCommands';
|
|
7
|
+
import type { TransactionExecutionMetadata } from '../types';
|
|
8
|
+
import type { Call } from './buildMulticallTx';
|
|
9
|
+
|
|
10
|
+
/** Integers travel as decimal strings, including IDs, amounts and deadlines. */
|
|
11
|
+
export type TransactionOperationSignature = {
|
|
12
|
+
v: 27 | 28;
|
|
13
|
+
r: string;
|
|
14
|
+
s: string;
|
|
15
|
+
deadline: string;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
type SignedAccountOperation = {
|
|
19
|
+
accountId: string;
|
|
20
|
+
sig: TransactionOperationSignature;
|
|
21
|
+
};
|
|
22
|
+
type WithdrawOperation = SignedAccountOperation & {
|
|
23
|
+
token: string;
|
|
24
|
+
tokenAmount: string;
|
|
25
|
+
receiver: string;
|
|
26
|
+
};
|
|
27
|
+
type ApiWalletOperation = {
|
|
28
|
+
owner: string;
|
|
29
|
+
apiWallet: string;
|
|
30
|
+
sig: TransactionOperationSignature;
|
|
31
|
+
};
|
|
32
|
+
type StakeOperation = SignedAccountOperation & {
|
|
33
|
+
poolId: string;
|
|
34
|
+
amount: string;
|
|
35
|
+
minimumOut: string;
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export type TransactionOperationParams = {
|
|
39
|
+
'create-account': { owner: string };
|
|
40
|
+
transfer: SignedAccountOperation & {
|
|
41
|
+
toAccountId: string;
|
|
42
|
+
token: string;
|
|
43
|
+
tokenAmount: string;
|
|
44
|
+
};
|
|
45
|
+
withdraw: WithdrawOperation & {
|
|
46
|
+
chainId: string;
|
|
47
|
+
socketMsgGasLimit: string;
|
|
48
|
+
};
|
|
49
|
+
'withdraw-lz': WithdrawOperation & { dstEid: string };
|
|
50
|
+
'enable-api-wallet': ApiWalletOperation;
|
|
51
|
+
'disable-api-wallet': ApiWalletOperation;
|
|
52
|
+
stake: StakeOperation;
|
|
53
|
+
unstake: StakeOperation;
|
|
54
|
+
/** Deposit existing pool shares into a margin account; no source-chain relay. */
|
|
55
|
+
'deposit-pool': SignedAccountOperation & {
|
|
56
|
+
poolId: string;
|
|
57
|
+
sharesAmount: string;
|
|
58
|
+
};
|
|
59
|
+
'withdraw-pool': {
|
|
60
|
+
owner: string;
|
|
61
|
+
poolId: string;
|
|
62
|
+
sharesAmount: string;
|
|
63
|
+
minOut: string;
|
|
64
|
+
sig: TransactionOperationSignature;
|
|
65
|
+
socketMsgGasLimit: string;
|
|
66
|
+
chainId: string;
|
|
67
|
+
receiver: string;
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export type TransactionOperation = keyof TransactionOperationParams;
|
|
72
|
+
export type TransactionOperationRequest<K extends TransactionOperation> = {
|
|
73
|
+
params: TransactionOperationParams[K];
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export const TRANSACTION_OPERATIONS: readonly TransactionOperation[] = [
|
|
77
|
+
'create-account',
|
|
78
|
+
'transfer',
|
|
79
|
+
'withdraw',
|
|
80
|
+
'withdraw-lz',
|
|
81
|
+
'enable-api-wallet',
|
|
82
|
+
'disable-api-wallet',
|
|
83
|
+
'stake',
|
|
84
|
+
'unstake',
|
|
85
|
+
'deposit-pool',
|
|
86
|
+
'withdraw-pool',
|
|
87
|
+
];
|
|
88
|
+
|
|
89
|
+
export class InvalidTransactionOperation extends Error {
|
|
90
|
+
constructor(message: string) {
|
|
91
|
+
super(message);
|
|
92
|
+
// common targets ES5. Restore Error subclass identity for consumers of
|
|
93
|
+
// the compiled package, so invalid HTTP input remains a 400, not a 500.
|
|
94
|
+
Object.setPrototypeOf(this, InvalidTransactionOperation.prototype);
|
|
95
|
+
this.name = 'InvalidTransactionOperation';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
const invalid = (): never => {
|
|
100
|
+
throw new InvalidTransactionOperation(
|
|
101
|
+
'Invalid transaction operation parameters',
|
|
102
|
+
);
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
// Reject extra fields as well as missing ones. Neither raw calldata nor client
|
|
106
|
+
// metadata may smuggle an alternate target, command batch, or nonce destination.
|
|
107
|
+
function fields(value: unknown, keys: string[]): Record<string, unknown> {
|
|
108
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) invalid();
|
|
109
|
+
const object = value as Record<string, unknown>;
|
|
110
|
+
if (
|
|
111
|
+
Object.keys(object).length !== keys.length ||
|
|
112
|
+
!keys.every((key) => Object.prototype.hasOwnProperty.call(object, key))
|
|
113
|
+
)
|
|
114
|
+
invalid();
|
|
115
|
+
return object;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
function uint(value: unknown, bits = 256): string {
|
|
119
|
+
if (
|
|
120
|
+
typeof value !== 'string' ||
|
|
121
|
+
!/^(0|[1-9][0-9]{0,77})$/.test(value) ||
|
|
122
|
+
BigInt(value) >= BigInt(1) << BigInt(bits)
|
|
123
|
+
)
|
|
124
|
+
invalid();
|
|
125
|
+
return value as string;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
function address(value: unknown): string {
|
|
129
|
+
if (typeof value !== 'string' || !isHexString(value, 20) || !isAddress(value))
|
|
130
|
+
invalid();
|
|
131
|
+
return value as string;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function signature(value: unknown): TransactionOperationSignature {
|
|
135
|
+
const sig = fields(value, ['v', 'r', 's', 'deadline']);
|
|
136
|
+
if (
|
|
137
|
+
(sig.v !== 27 && sig.v !== 28) ||
|
|
138
|
+
typeof sig.r !== 'string' ||
|
|
139
|
+
!isHexString(sig.r, 32) ||
|
|
140
|
+
typeof sig.s !== 'string' ||
|
|
141
|
+
!isHexString(sig.s, 32)
|
|
142
|
+
)
|
|
143
|
+
invalid();
|
|
144
|
+
return {
|
|
145
|
+
v: sig.v as 27 | 28,
|
|
146
|
+
r: sig.r as string,
|
|
147
|
+
s: sig.s as string,
|
|
148
|
+
deadline: uint(sig.deadline),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
const core = new Interface(CoreAbi);
|
|
153
|
+
const periphery = new Interface(PeripheryAbi);
|
|
154
|
+
const gateway = new Interface(OrdersGatewayAbi);
|
|
155
|
+
|
|
156
|
+
/** Validates an untrusted HTTP body and constructs only the named operation. */
|
|
157
|
+
export function buildTransactionOperation(
|
|
158
|
+
operation: TransactionOperation,
|
|
159
|
+
body: unknown,
|
|
160
|
+
reyaChainId: number,
|
|
161
|
+
): { call: Call; metadata: TransactionExecutionMetadata } {
|
|
162
|
+
const { params } = fields(body, ['params']);
|
|
163
|
+
let contract = ContractType.PERIPHERY_PROXY;
|
|
164
|
+
let callData: string;
|
|
165
|
+
const metadata: TransactionExecutionMetadata = { destinationType: 'account' };
|
|
166
|
+
|
|
167
|
+
switch (operation) {
|
|
168
|
+
case 'create-account': {
|
|
169
|
+
const p = fields(params, ['owner']);
|
|
170
|
+
contract = ContractType.CORE_PROXY;
|
|
171
|
+
callData = core.encodeFunctionData('createAccount', [address(p.owner)]);
|
|
172
|
+
metadata.action = 'createAccount';
|
|
173
|
+
// Creating an account for an owner is permissionless on Core. Profile
|
|
174
|
+
// names require the authenticated account-edit endpoint (RET-200).
|
|
175
|
+
break;
|
|
176
|
+
}
|
|
177
|
+
case 'enable-api-wallet':
|
|
178
|
+
case 'disable-api-wallet': {
|
|
179
|
+
const p = fields(params, ['owner', 'apiWallet', 'sig']);
|
|
180
|
+
contract = ContractType.ORDERS_GATEWAY_PROXY;
|
|
181
|
+
callData = gateway.encodeFunctionData('managePermissionBySig', [
|
|
182
|
+
address(p.owner),
|
|
183
|
+
address(p.apiWallet),
|
|
184
|
+
operation === 'enable-api-wallet',
|
|
185
|
+
signature(p.sig),
|
|
186
|
+
]);
|
|
187
|
+
metadata.action = operation;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
case 'transfer': {
|
|
191
|
+
const p = fields(params, [
|
|
192
|
+
'accountId',
|
|
193
|
+
'toAccountId',
|
|
194
|
+
'token',
|
|
195
|
+
'tokenAmount',
|
|
196
|
+
'sig',
|
|
197
|
+
]);
|
|
198
|
+
callData = periphery.encodeFunctionData('transferFromMAToMA', [
|
|
199
|
+
{
|
|
200
|
+
accountId: uint(p.accountId, 128),
|
|
201
|
+
transfer: {
|
|
202
|
+
destAccountId: uint(p.toAccountId, 128),
|
|
203
|
+
collateral: address(p.token),
|
|
204
|
+
collateralAmount: uint(p.tokenAmount),
|
|
205
|
+
},
|
|
206
|
+
sig: signature(p.sig),
|
|
207
|
+
},
|
|
208
|
+
]);
|
|
209
|
+
break;
|
|
210
|
+
}
|
|
211
|
+
case 'withdraw':
|
|
212
|
+
case 'withdraw-lz': {
|
|
213
|
+
const p = fields(params, [
|
|
214
|
+
'accountId',
|
|
215
|
+
'token',
|
|
216
|
+
'tokenAmount',
|
|
217
|
+
'sig',
|
|
218
|
+
'receiver',
|
|
219
|
+
...(operation === 'withdraw'
|
|
220
|
+
? ['chainId', 'socketMsgGasLimit']
|
|
221
|
+
: ['dstEid']),
|
|
222
|
+
]);
|
|
223
|
+
callData = periphery.encodeFunctionData(
|
|
224
|
+
operation === 'withdraw' ? 'withdrawMA' : 'withdrawMALZ',
|
|
225
|
+
[
|
|
226
|
+
{
|
|
227
|
+
accountId: uint(p.accountId, 128),
|
|
228
|
+
token: address(p.token),
|
|
229
|
+
tokenAmount: uint(p.tokenAmount),
|
|
230
|
+
sig: signature(p.sig),
|
|
231
|
+
receiver: address(p.receiver),
|
|
232
|
+
...(operation === 'withdraw'
|
|
233
|
+
? {
|
|
234
|
+
chainId: uint(p.chainId),
|
|
235
|
+
socketMsgGasLimit: uint(p.socketMsgGasLimit),
|
|
236
|
+
}
|
|
237
|
+
: { dstEid: uint(p.dstEid, 32) }),
|
|
238
|
+
},
|
|
239
|
+
],
|
|
240
|
+
);
|
|
241
|
+
break;
|
|
242
|
+
}
|
|
243
|
+
case 'stake':
|
|
244
|
+
case 'unstake': {
|
|
245
|
+
const p = fields(params, [
|
|
246
|
+
'accountId',
|
|
247
|
+
'poolId',
|
|
248
|
+
'amount',
|
|
249
|
+
'minimumOut',
|
|
250
|
+
'sig',
|
|
251
|
+
]);
|
|
252
|
+
const inputs = AbiCoder.defaultAbiCoder().encode(
|
|
253
|
+
['uint128', 'uint256', 'uint256'],
|
|
254
|
+
[uint(p.poolId, 128), uint(p.amount), uint(p.minimumOut)],
|
|
255
|
+
);
|
|
256
|
+
const { command } = getCommand(
|
|
257
|
+
CommandType.MANAGE_POOL_STAKE,
|
|
258
|
+
[operation === 'stake' ? 0 : 1, inputs],
|
|
259
|
+
0,
|
|
260
|
+
0,
|
|
261
|
+
);
|
|
262
|
+
callData = periphery.encodeFunctionData('execute', [
|
|
263
|
+
{
|
|
264
|
+
accountId: uint(p.accountId, 128),
|
|
265
|
+
commands: [command],
|
|
266
|
+
sig: signature(p.sig),
|
|
267
|
+
},
|
|
268
|
+
]);
|
|
269
|
+
break;
|
|
270
|
+
}
|
|
271
|
+
case 'deposit-pool': {
|
|
272
|
+
const p = fields(params, ['accountId', 'poolId', 'sharesAmount', 'sig']);
|
|
273
|
+
callData = periphery.encodeFunctionData('depositLiquidityToAccount', [
|
|
274
|
+
{
|
|
275
|
+
accountId: uint(p.accountId, 128),
|
|
276
|
+
poolId: uint(p.poolId, 128),
|
|
277
|
+
sharesAmount: uint(p.sharesAmount),
|
|
278
|
+
sig: signature(p.sig),
|
|
279
|
+
},
|
|
280
|
+
]);
|
|
281
|
+
metadata.destinationType = 'pool';
|
|
282
|
+
break;
|
|
283
|
+
}
|
|
284
|
+
case 'withdraw-pool': {
|
|
285
|
+
const p = fields(params, [
|
|
286
|
+
'owner',
|
|
287
|
+
'poolId',
|
|
288
|
+
'sharesAmount',
|
|
289
|
+
'minOut',
|
|
290
|
+
'sig',
|
|
291
|
+
'socketMsgGasLimit',
|
|
292
|
+
'chainId',
|
|
293
|
+
'receiver',
|
|
294
|
+
]);
|
|
295
|
+
callData = periphery.encodeFunctionData('withdrawPassivePool', [
|
|
296
|
+
{
|
|
297
|
+
owner: address(p.owner),
|
|
298
|
+
poolId: uint(p.poolId, 128),
|
|
299
|
+
sharesAmount: uint(p.sharesAmount),
|
|
300
|
+
minOut: uint(p.minOut),
|
|
301
|
+
sig: signature(p.sig),
|
|
302
|
+
socketMsgGasLimit: uint(p.socketMsgGasLimit),
|
|
303
|
+
chainId: uint(p.chainId),
|
|
304
|
+
receiver: address(p.receiver),
|
|
305
|
+
},
|
|
306
|
+
]);
|
|
307
|
+
metadata.destinationType = 'pool';
|
|
308
|
+
break;
|
|
309
|
+
}
|
|
310
|
+
default:
|
|
311
|
+
return invalid();
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
return {
|
|
315
|
+
call: { target: getAddress(reyaChainId, contract), callData },
|
|
316
|
+
metadata,
|
|
317
|
+
};
|
|
318
|
+
}
|