@symmio/trading-core 3.1.0 → 3.3.0
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/dist/core/chains/registry.js +1 -1
- package/dist/core/chains/registry.js.map +1 -1
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +304 -298
- package/dist/quotes/get-quote-history/solver-fees.d.ts +39 -0
- package/dist/quotes/get-quote-history/solver-fees.d.ts.map +1 -0
- package/dist/quotes/get-quote-history/solver-fees.js +36 -0
- package/dist/quotes/get-quote-history/solver-fees.js.map +1 -0
- package/dist/quotes/get-quote-history/to-history-row.d.ts.map +1 -1
- package/dist/quotes/get-quote-history/to-history-row.js +34 -30
- package/dist/quotes/get-quote-history/to-history-row.js.map +1 -1
- package/dist/quotes/get-quote-history/types.d.ts +20 -0
- package/dist/quotes/get-quote-history/types.d.ts.map +1 -1
- package/dist/quotes/get-quote-history/types.js.map +1 -1
- package/dist/solvers/get-solver-info/get-solver-info.d.ts +36 -0
- package/dist/solvers/get-solver-info/get-solver-info.d.ts.map +1 -0
- package/dist/solvers/get-solver-info/get-solver-info.js +28 -0
- package/dist/solvers/get-solver-info/get-solver-info.js.map +1 -0
- package/dist/solvers/get-solver-info/index.d.ts +3 -0
- package/dist/solvers/get-solver-info/index.d.ts.map +1 -0
- package/dist/solvers/get-solver-info/query.d.ts +29 -0
- package/dist/solvers/get-solver-info/query.d.ts.map +1 -0
- package/dist/solvers/get-solver-info/query.js +24 -0
- package/dist/solvers/get-solver-info/query.js.map +1 -0
- package/dist/solvers/instant-close/get-instant-close-fees/get-instant-close-fees.d.ts +152 -0
- package/dist/solvers/instant-close/get-instant-close-fees/get-instant-close-fees.d.ts.map +1 -0
- package/dist/solvers/instant-close/get-instant-close-fees/get-instant-close-fees.js +82 -0
- package/dist/solvers/instant-close/get-instant-close-fees/get-instant-close-fees.js.map +1 -0
- package/dist/solvers/instant-close/get-instant-close-fees/index.d.ts +3 -0
- package/dist/solvers/instant-close/get-instant-close-fees/index.d.ts.map +1 -0
- package/dist/solvers/instant-close/get-instant-close-fees/query.d.ts +37 -0
- package/dist/solvers/instant-close/get-instant-close-fees/query.d.ts.map +1 -0
- package/dist/solvers/instant-close/get-instant-close-fees/query.js +32 -0
- package/dist/solvers/instant-close/get-instant-close-fees/query.js.map +1 -0
- package/dist/solvers/instant-close/index.d.ts +1 -0
- package/dist/solvers/instant-close/index.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close/instant-close.d.ts +4 -3
- package/dist/solvers/instant-close/instant-close/instant-close.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close/instant-close.js +26 -22
- package/dist/solvers/instant-close/instant-close/instant-close.js.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts +2 -0
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.d.ts.map +1 -1
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js +26 -22
- package/dist/solvers/instant-close/instant-close-bulk/instant-close-bulk.js.map +1 -1
- package/dist/solvers/instant-close/shared/calldata.d.ts +1 -1
- package/dist/solvers/instant-close/shared/calldata.d.ts.map +1 -1
- package/dist/solvers/instant-close/shared/calldata.js.map +1 -1
- package/dist/solvers/instant-close/shared/resolve-close-order-type.d.ts +13 -0
- package/dist/solvers/instant-close/shared/resolve-close-order-type.d.ts.map +1 -0
- package/dist/solvers/instant-close/shared/resolve-close-order-type.js +9 -0
- package/dist/solvers/instant-close/shared/resolve-close-order-type.js.map +1 -0
- package/dist/solvers/instant-close/shared/types.d.ts +3 -3
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.d.ts +111 -35
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.js +168 -91
- package/dist/solvers/instant-open/get-instant-open-fees/get-instant-open-fees.js.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-fees/query.d.ts +3 -2
- package/dist/solvers/instant-open/get-instant-open-fees/query.d.ts.map +1 -1
- package/dist/solvers/instant-open/get-instant-open-fees/query.js +4 -15
- package/dist/solvers/instant-open/get-instant-open-fees/query.js.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/index.d.ts +1 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts +108 -12
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.d.ts.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js +169 -149
- package/dist/solvers/instant-open/prepare-instant-open-params/prepare-instant-open-params.js.map +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/query.d.ts +49 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/query.d.ts.map +1 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/query.js +24 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/query.js.map +1 -0
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/index.d.ts +0 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/full-balance-sizing.d.ts +164 -0
- package/dist/solvers/instant-open/shared/full-balance-sizing.d.ts.map +1 -0
- package/dist/solvers/instant-open/shared/full-balance-sizing.js +138 -0
- package/dist/solvers/instant-open/shared/full-balance-sizing.js.map +1 -0
- package/dist/solvers/instant-open/shared/index.d.ts +1 -0
- package/dist/solvers/instant-open/shared/index.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/resolve-instant-open-sizing.d.ts +46 -0
- package/dist/solvers/instant-open/shared/resolve-instant-open-sizing.d.ts.map +1 -0
- package/dist/solvers/instant-open/shared/resolve-instant-open-sizing.js +50 -0
- package/dist/solvers/instant-open/shared/resolve-instant-open-sizing.js.map +1 -0
- package/dist/solvers/instant-open/shared/trade-math.d.ts +73 -26
- package/dist/solvers/instant-open/shared/trade-math.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/trade-math.js +18 -13
- package/dist/solvers/instant-open/shared/trade-math.js.map +1 -1
- package/dist/solvers/instant-open/shared/types.d.ts +18 -1
- package/dist/solvers/instant-open/shared/types.d.ts.map +1 -1
- package/dist/solvers/instant-open/shared/types.js.map +1 -1
- package/dist/solvers/limit-open/prepare-limit-open-params.d.ts +3 -1
- package/dist/solvers/limit-open/prepare-limit-open-params.d.ts.map +1 -1
- package/dist/solvers/limit-open/prepare-limit-open-params.js.map +1 -1
- package/dist/solvers/shared/resolvers/index.d.ts +2 -0
- package/dist/solvers/shared/resolvers/index.d.ts.map +1 -1
- package/dist/solvers/{instant-open/prepare-instant-open-params → shared}/resolvers/resolve-fee-rates.d.ts +3 -3
- package/dist/solvers/shared/resolvers/resolve-fee-rates.d.ts.map +1 -0
- package/dist/solvers/{instant-open/prepare-instant-open-params → shared}/resolvers/resolve-fee-rates.js +2 -2
- package/dist/solvers/shared/resolvers/resolve-fee-rates.js.map +1 -0
- package/dist/solvers/shared/resolvers/resolve-market.d.ts +21 -0
- package/dist/solvers/shared/resolvers/resolve-market.d.ts.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-market.js +34 -18
- package/dist/solvers/shared/resolvers/resolve-market.js.map +1 -1
- package/dist/solvers/shared/resolvers/resolve-solver-info.d.ts +29 -0
- package/dist/solvers/shared/resolvers/resolve-solver-info.d.ts.map +1 -0
- package/dist/solvers/shared/resolvers/resolve-solver-info.js +21 -0
- package/dist/solvers/shared/resolvers/resolve-solver-info.js.map +1 -0
- package/dist/solvers/shared/resolvers/types.d.ts +12 -0
- package/dist/solvers/shared/resolvers/types.d.ts.map +1 -1
- package/dist/solvers/types/generated/enigma-solver.d.ts +43 -82
- package/dist/solvers/types/generated/enigma-solver.d.ts.map +1 -1
- package/dist/solvers/types/generated/enigma-solver.js +6 -6
- package/dist/solvers/types/generated/enigma-solver.js.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/account-layer.d.ts +696 -85
- package/dist/symmio-contracts/abi/v0.8.6/account-layer.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/account-layer.js +815 -116
- package/dist/symmio-contracts/abi/v0.8.6/account-layer.js.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/symmio.d.ts +1044 -467
- package/dist/symmio-contracts/abi/v0.8.6/symmio.d.ts.map +1 -1
- package/dist/symmio-contracts/abi/v0.8.6/symmio.js +1183 -496
- package/dist/symmio-contracts/abi/v0.8.6/symmio.js.map +1 -1
- package/dist/symmio-contracts/symmio/types.d.ts +3 -1
- package/dist/symmio-contracts/symmio/types.d.ts.map +1 -1
- package/dist/symmio-contracts/symmio/types.js +1 -1
- package/dist/symmio-contracts/symmio/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-fee-rates.d.ts.map +0 -1
- package/dist/solvers/instant-open/prepare-instant-open-params/resolvers/resolve-fee-rates.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-limit-open-params.d.ts","sourceRoot":"","sources":["../../../src/solvers/limit-open/prepare-limit-open-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,yEAAyE,CAAC;AAIjF;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,
|
|
1
|
+
{"version":3,"file":"prepare-limit-open-params.d.ts","sourceRoot":"","sources":["../../../src/solvers/limit-open/prepare-limit-open-params.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAEL,KAAK,4BAA4B,EAClC,MAAM,yEAAyE,CAAC;AAIjF;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,CAK9C,IAAI,CAAC,4BAA4B,EAAE,WAAW,GAAG,UAAU,GAAG,eAAe,GAAG,MAAM,CAAC,GAAG;IACxF,0EAA0E;IAC1E,aAAa,EAAE,MAAM,CAAC;IACtB,gGAAgG;IAChG,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,0BAA0B,GACrC,OAAO,CAAC,qBAAqB,CAAC,CAoBhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-limit-open-params.js","names":[],"sources":["../../../src/solvers/limit-open/prepare-limit-open-params.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\nimport type { Compute } from \"../../shared/types/properties\";\nimport { supportsLimitOrder } from \"../capabilities\";\nimport type { InstantOpenParameters } from \"../instant-open/instant-open/types\";\nimport {\n prepareInstantOpenParams,\n type PrepareInstantOpenParameters,\n} from \"../instant-open/prepare-instant-open-params/prepare-instant-open-params\";\nimport { getLimitOrderDeadline } from \"../instant-open/shared/trade-math\";\nimport { ORDER_TYPE_LIMIT } from \"../instant-open/shared/types\";\n\n/**\n * Parameters for {@link prepareLimitOpenParams} and `limitOpenAuto`.\n *\n * Identical to the market (instant-open) inputs, except the caller supplies an\n * explicit resting **`price`** instead of a fetched `markPrice` + `slippage`\n * band — a limit order rests at exactly that price.\n */\nexport type PrepareLimitOpenParameters = Compute<\n Omit<PrepareInstantOpenParameters, \"markPrice\" | \"slippage\"> & {\n /** Limit price (decimal string) the order rests at. Set by the user; no slippage is applied. */\n price: string;\n }\n>;\n\n/**\n * Resolve every input the {@link InstantOpenParameters} primitive needs for a\n * **LIMIT** open, from a minimal parameter set.\n *\n * Same resolution as {@link prepareInstantOpenParams} (market metadata, locked\n * params, fee rates, quantity + locked-margin math), but the user's `price` is\n * used as the priced level with **zero slippage**, and the result is tagged\n * `orderType = LIMIT` so the hedger writes a pending on-chain quote at that\n * price rather than filling at mark.\n *\n * @throws {SymmError} `UNSUPPORTED_BY_SOLVER` when the resolved solver does not\n * support limit orders (only majors / rasa do).\n * @throws {SymmError} the same resolution errors as {@link prepareInstantOpenParams}.\n */\nexport async function prepareLimitOpenParams(\n config: Config,\n parameters: PrepareLimitOpenParameters,\n): Promise<InstantOpenParameters> {\n if (!supportsLimitOrder(config, { chainId: parameters.chainId, solverId: parameters.solverId })) {\n throw new SymmError(\n \"config\",\n \"UNSUPPORTED_BY_SOLVER\",\n \"Limit orders are not supported by the resolved solver. Only majors (rasa) support them.\",\n );\n }\n\n const resolved = await prepareInstantOpenParams(config, {\n ...parameters,\n // The user's limit price stands in for the mark price; a limit rests at an\n // exact level, so there is no slippage band.\n markPrice: parameters.price,\n slippage: 0,\n });\n\n // A resting limit order gets a wider send-quote deadline than a market fill\n // (15 min default); the caller may still override via `parameters.deadline`.\n return { ...resolved, orderType: ORDER_TYPE_LIMIT, deadline: parameters.deadline ?? getLimitOrderDeadline() };\n}\n"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"prepare-limit-open-params.js","names":[],"sources":["../../../src/solvers/limit-open/prepare-limit-open-params.ts"],"sourcesContent":["import type { Config } from \"../../core/config\";\nimport { SymmError } from \"../../shared/errors/symm-error\";\nimport type { Compute } from \"../../shared/types/properties\";\nimport { supportsLimitOrder } from \"../capabilities\";\nimport type { InstantOpenParameters } from \"../instant-open/instant-open/types\";\nimport {\n prepareInstantOpenParams,\n type PrepareInstantOpenParameters,\n} from \"../instant-open/prepare-instant-open-params/prepare-instant-open-params\";\nimport { getLimitOrderDeadline } from \"../instant-open/shared/trade-math\";\nimport { ORDER_TYPE_LIMIT } from \"../instant-open/shared/types\";\n\n/**\n * Parameters for {@link prepareLimitOpenParams} and `limitOpenAuto`.\n *\n * Identical to the market (instant-open) inputs, except the caller supplies an\n * explicit resting **`price`** instead of a fetched `markPrice` + `slippage`\n * band — a limit order rests at exactly that price.\n */\nexport type PrepareLimitOpenParameters = Compute<\n // Limit orders are majors-only; full-balance funding is lowcap-only, so a limit\n // open always funds with a typed `initialMargin`. Drop `fund` and re-require\n // `initialMargin` so a limit caller cannot pass either the wrong funding mode\n // or no margin.\n Omit<PrepareInstantOpenParameters, \"markPrice\" | \"slippage\" | \"initialMargin\" | \"fund\"> & {\n /** Collateral (USD) the user enters as initial margin. Decimal string. */\n initialMargin: string;\n /** Limit price (decimal string) the order rests at. Set by the user; no slippage is applied. */\n price: string;\n }\n>;\n\n/**\n * Resolve every input the {@link InstantOpenParameters} primitive needs for a\n * **LIMIT** open, from a minimal parameter set.\n *\n * Same resolution as {@link prepareInstantOpenParams} (market metadata, locked\n * params, fee rates, quantity + locked-margin math), but the user's `price` is\n * used as the priced level with **zero slippage**, and the result is tagged\n * `orderType = LIMIT` so the hedger writes a pending on-chain quote at that\n * price rather than filling at mark.\n *\n * @throws {SymmError} `UNSUPPORTED_BY_SOLVER` when the resolved solver does not\n * support limit orders (only majors / rasa do).\n * @throws {SymmError} the same resolution errors as {@link prepareInstantOpenParams}.\n */\nexport async function prepareLimitOpenParams(\n config: Config,\n parameters: PrepareLimitOpenParameters,\n): Promise<InstantOpenParameters> {\n if (!supportsLimitOrder(config, { chainId: parameters.chainId, solverId: parameters.solverId })) {\n throw new SymmError(\n \"config\",\n \"UNSUPPORTED_BY_SOLVER\",\n \"Limit orders are not supported by the resolved solver. Only majors (rasa) support them.\",\n );\n }\n\n const resolved = await prepareInstantOpenParams(config, {\n ...parameters,\n // The user's limit price stands in for the mark price; a limit rests at an\n // exact level, so there is no slippage band.\n markPrice: parameters.price,\n slippage: 0,\n });\n\n // A resting limit order gets a wider send-quote deadline than a market fill\n // (15 min default); the caller may still override via `parameters.deadline`.\n return { ...resolved, orderType: ORDER_TYPE_LIMIT, deadline: parameters.deadline ?? getLimitOrderDeadline() };\n}\n"],"mappings":";;;;;AA8CA,eAAsB,EACpB,GACA,GACgC;CAChC,IAAI,CAAC,EAAmB,GAAQ;EAAE,SAAS,EAAW;EAAS,UAAU,EAAW;CAAS,CAAC,GAC5F,MAAM,IAAI,EACR,UACA,yBACA,yFACF;CAaF,OAAO;EAAE,GAAG,MAVW,EAAyB,GAAQ;GACtD,GAAG;GAGH,WAAW,EAAW;GACtB,UAAU;EACZ,CAAC;EAIqB,WAAA;EAA6B,UAAU,EAAW,YAAY,EAAsB;CAAE;AAC9G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,SAAS,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Address } from 'viem';
|
|
2
|
-
import { Config } from '
|
|
3
|
-
import { FeeForUser } from '
|
|
4
|
-
import { ComputePlatformFeeRates } from '../../shared/trade-math.js';
|
|
2
|
+
import { Config } from '../../../core/config/index.js';
|
|
3
|
+
import { FeeForUser } from '../../../symmio-contracts/symmio/actions/get-fee-for-user.js';
|
|
4
|
+
import { ComputePlatformFeeRates } from '../../instant-open/shared/trade-math.js';
|
|
5
5
|
/**
|
|
6
6
|
* Parameters for {@link resolveFeeRates}.
|
|
7
7
|
*/
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-fee-rates.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/resolve-fee-rates.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,2DAA2D,CAAC;AAC3G,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAEpF;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAC;CACvB;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,yBAAyB,GACpC,OAAO,CAAC,uBAAuB,CAAC,CAWlC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getFeeForUser as e } from "
|
|
2
|
-
//#region src/solvers/
|
|
1
|
+
import { getFeeForUser as e } from "../../../symmio-contracts/symmio/actions/get-fee-for-user.js";
|
|
2
|
+
//#region src/solvers/shared/resolvers/resolve-fee-rates.ts
|
|
3
3
|
async function t(t, n) {
|
|
4
4
|
if (n.feeRates) return {
|
|
5
5
|
openFee: n.feeRates.openFee,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-fee-rates.js","names":[],"sources":["../../../../src/solvers/shared/resolvers/resolve-fee-rates.ts"],"sourcesContent":["import type { Address } from \"viem\";\nimport type { Config } from \"../../../core/config\";\nimport { getFeeForUser, type FeeForUser } from \"../../../symmio-contracts/symmio/actions/get-fee-for-user\";\nimport type { ComputePlatformFeeRates } from \"../../instant-open/shared/trade-math\";\n\n/**\n * Parameters for {@link resolveFeeRates}.\n */\nexport interface ResolveFeeRatesParameters {\n chainId?: number;\n subAccountAddress: Address;\n marketId: number;\n /**\n * Pre-fetched on-chain fee rates (matches `getFeeForUser` return shape).\n * When supplied, the fetch is skipped.\n */\n feeRates?: FeeForUser;\n}\n\n/**\n * Resolve `openFee` / `closeFee` rates. Returns caller-supplied values when\n * present; otherwise calls `getFeeForUser` on-chain.\n */\nexport async function resolveFeeRates(\n config: Config,\n parameters: ResolveFeeRatesParameters,\n): Promise<ComputePlatformFeeRates> {\n if (parameters.feeRates) {\n return { openFee: parameters.feeRates.openFee, closeFee: parameters.feeRates.closeFee };\n }\n\n const fee = await getFeeForUser(config, {\n chainId: parameters.chainId,\n user: parameters.subAccountAddress,\n symbolId: BigInt(parameters.marketId),\n });\n return { openFee: fee.openFee, closeFee: fee.closeFee };\n}\n"],"mappings":";;AAuBA,eAAsB,EACpB,GACA,GACkC;CAClC,IAAI,EAAW,UACb,OAAO;EAAE,SAAS,EAAW,SAAS;EAAS,UAAU,EAAW,SAAS;CAAS;CAGxF,IAAM,IAAM,MAAM,EAAc,GAAQ;EACtC,SAAS,EAAW;EACpB,MAAM,EAAW;EACjB,UAAU,OAAO,EAAW,QAAQ;CACtC,CAAC;CACD,OAAO;EAAE,SAAS,EAAI;EAAS,UAAU,EAAI;CAAS;AACxD"}
|
|
@@ -46,6 +46,27 @@ export interface ResolveMarketParameters {
|
|
|
46
46
|
hedgerFeeCloseEarlyThreshold?: number;
|
|
47
47
|
/** Pre-fetched standard-rate threshold in seconds. */
|
|
48
48
|
hedgerFeeCloseStandardThreshold?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Also resolve the market's quote-constraint fields (lot size, notional
|
|
51
|
+
* bounds, quote-value floors). Same short-circuit contract as the other
|
|
52
|
+
* include flags: pre-filled metadata skips the fetch only when **all six**
|
|
53
|
+
* constraint fields are pre-filled too. The full-balance open sizing sets
|
|
54
|
+
* this — the SDK-computed quantity must land on the lot grid and clear the
|
|
55
|
+
* published floors before it is signed.
|
|
56
|
+
*/
|
|
57
|
+
includeQuoteConstraints?: boolean;
|
|
58
|
+
/** Pre-fetched minimum `lf / (cva + lf + partyAmm)` portion (decimal fraction). */
|
|
59
|
+
minAcceptablePortionLf?: string;
|
|
60
|
+
/** Pre-fetched minimum locked-margin sum (decimal string). */
|
|
61
|
+
minAcceptableQuoteValue?: string;
|
|
62
|
+
/** Pre-fetched maximum notional position value; `0` ⇒ unpublished. */
|
|
63
|
+
maxNotionalValue?: number;
|
|
64
|
+
/** Pre-fetched minimum notional position value (decimal string). */
|
|
65
|
+
minNotionalValue?: string;
|
|
66
|
+
/** Pre-fetched maximum order quantity (decimal string); `"0"` ⇒ unpublished. */
|
|
67
|
+
maxQuantity?: string;
|
|
68
|
+
/** Pre-fetched minimum tradable increment / lot size (decimal string). */
|
|
69
|
+
lotSize?: string;
|
|
49
70
|
}
|
|
50
71
|
/**
|
|
51
72
|
* Resolve market metadata (`name`, `pricePrecision`, `quantityPrecision`, and —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-market.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/resolve-market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kDAAkD;IAClD,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sDAAsD;IACtD,+BAA+B,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"resolve-market.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/resolve-market.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,6DAA6D;IAC7D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,kDAAkD;IAClD,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,sDAAsD;IACtD,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC;;;;;;;OAOG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,mFAAmF;IACnF,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,8DAA8D;IAC9D,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,sEAAsE;IACtE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,CA4FhH"}
|
|
@@ -2,42 +2,58 @@ import { SymmError as e } from "../../../shared/errors/symm-error.js";
|
|
|
2
2
|
import { getMarkets as t } from "../../markets/get-markets.js";
|
|
3
3
|
//#region src/solvers/shared/resolvers/resolve-market.ts
|
|
4
4
|
async function n(n, r) {
|
|
5
|
-
let { marketName: i, pricePrecision: a, quantityPrecision: o, minOpenSolverFeeCap: s, minCloseSolverFeeCap: c } = r, { hedgerFeeOpen: l, hedgerFeeClose: u } = r, { hedgerFeeCloseEarlyRate: d, hedgerFeeCloseEarlyThreshold: f, hedgerFeeCloseStandardThreshold: p } = r, m = r.includeSolverFeeCaps === !0,
|
|
6
|
-
if (i !== void 0 && a !== void 0 && o !== void 0 && (!
|
|
5
|
+
let { marketName: i, pricePrecision: a, quantityPrecision: o, minOpenSolverFeeCap: s, minCloseSolverFeeCap: c } = r, { hedgerFeeOpen: l, hedgerFeeClose: u } = r, { hedgerFeeCloseEarlyRate: d, hedgerFeeCloseEarlyThreshold: f, hedgerFeeCloseStandardThreshold: p } = r, { minAcceptablePortionLf: m, minAcceptableQuoteValue: h, maxNotionalValue: g } = r, { minNotionalValue: _, maxQuantity: v, lotSize: y } = r, b = r.includeSolverFeeCaps === !0, x = s !== void 0 && c !== void 0, S = r.includeHedgerFees === !0, C = l !== void 0 && u !== void 0, w = r.includeQuoteConstraints === !0;
|
|
6
|
+
if (i !== void 0 && a !== void 0 && o !== void 0 && (!b || x) && (!S || C) && (!w || m !== void 0 && h !== void 0 && g !== void 0 && _ !== void 0 && v !== void 0 && y !== void 0)) return {
|
|
7
7
|
name: i,
|
|
8
8
|
pricePrecision: a,
|
|
9
9
|
quantityPrecision: o,
|
|
10
|
-
...
|
|
10
|
+
...b ? {
|
|
11
11
|
minOpenSolverFeeCap: s,
|
|
12
12
|
minCloseSolverFeeCap: c
|
|
13
13
|
} : {},
|
|
14
|
-
...
|
|
14
|
+
...S ? {
|
|
15
15
|
hedgerFeeOpen: l,
|
|
16
16
|
hedgerFeeClose: u,
|
|
17
17
|
hedgerFeeCloseEarlyRate: d,
|
|
18
18
|
hedgerFeeCloseEarlyThreshold: f,
|
|
19
19
|
hedgerFeeCloseStandardThreshold: p
|
|
20
|
+
} : {},
|
|
21
|
+
...w ? {
|
|
22
|
+
minAcceptablePortionLf: m,
|
|
23
|
+
minAcceptableQuoteValue: h,
|
|
24
|
+
maxNotionalValue: g,
|
|
25
|
+
minNotionalValue: _,
|
|
26
|
+
maxQuantity: v,
|
|
27
|
+
lotSize: y
|
|
20
28
|
} : {}
|
|
21
29
|
};
|
|
22
|
-
let
|
|
30
|
+
let T = (await t(n, {
|
|
23
31
|
chainId: r.chainId,
|
|
24
32
|
solverId: r.solverId
|
|
25
33
|
})).find((e) => e.symbolId === r.marketId);
|
|
26
|
-
if (!
|
|
34
|
+
if (!T) throw new e("api", "RESOLVE_MARKET_NOT_FOUND", `Market id ${r.marketId} not returned by solver /contract-symbols.`);
|
|
27
35
|
return {
|
|
28
|
-
name: i ??
|
|
29
|
-
pricePrecision: a ??
|
|
30
|
-
quantityPrecision: o ??
|
|
31
|
-
...
|
|
32
|
-
minOpenSolverFeeCap: s ?? (
|
|
33
|
-
minCloseSolverFeeCap: c ?? (
|
|
36
|
+
name: i ?? T.name,
|
|
37
|
+
pricePrecision: a ?? T.pricePrecision,
|
|
38
|
+
quantityPrecision: o ?? T.quantityPrecision,
|
|
39
|
+
...b ? {
|
|
40
|
+
minOpenSolverFeeCap: s ?? (T.kind === "enigma" ? T.minOpenSolverFeeCap : "0"),
|
|
41
|
+
minCloseSolverFeeCap: c ?? (T.kind === "enigma" ? T.minCloseSolverFeeCap : "0")
|
|
42
|
+
} : {},
|
|
43
|
+
...S ? {
|
|
44
|
+
hedgerFeeOpen: l ?? T.hedgerFeeOpen,
|
|
45
|
+
hedgerFeeClose: u ?? T.hedgerFeeClose,
|
|
46
|
+
hedgerFeeCloseEarlyRate: d ?? (T.kind === "enigma" ? T.hedgerFeeCloseEarlyRate : void 0),
|
|
47
|
+
hedgerFeeCloseEarlyThreshold: f ?? (T.kind === "enigma" ? T.hedgerFeeCloseEarlyThreshold : void 0),
|
|
48
|
+
hedgerFeeCloseStandardThreshold: p ?? (T.kind === "enigma" ? T.hedgerFeeCloseStandardThreshold : void 0)
|
|
34
49
|
} : {},
|
|
35
|
-
...
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
50
|
+
...w ? {
|
|
51
|
+
minAcceptablePortionLf: m ?? T.minAcceptablePortionLf,
|
|
52
|
+
minAcceptableQuoteValue: h ?? T.minAcceptableQuoteValue,
|
|
53
|
+
maxNotionalValue: g ?? T.maxNotionalValue,
|
|
54
|
+
minNotionalValue: _ ?? T.minNotionalValue,
|
|
55
|
+
maxQuantity: v ?? T.maxQuantity,
|
|
56
|
+
lotSize: y ?? T.lotSize
|
|
41
57
|
} : {}
|
|
42
58
|
};
|
|
43
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-market.js","names":[],"sources":["../../../../src/solvers/shared/resolvers/resolve-market.ts"],"sourcesContent":["import type { SolverId } from \"../../../core/chains/types\";\nimport type { Config } from \"../../../core/config\";\nimport { SymmError } from \"../../../shared/errors/symm-error\";\nimport { getMarkets } from \"../../markets/get-markets\";\nimport type { ResolvedMarket } from \"./types\";\n\n/**\n * Parameters for {@link resolveMarket}.\n */\nexport interface ResolveMarketParameters {\n chainId?: number;\n /**\n * Solver whose `/contract-symbols` listing to read. **Must match the solver\n * the trade is sent to** — the resolved `name` and precisions are encoded into\n * the signed quote. Defaults to the chain's `defaultSolverId`.\n */\n solverId?: SolverId;\n marketId: number;\n marketName?: string;\n pricePrecision?: number;\n quantityPrecision?: number;\n /**\n * Also resolve the market's solver-fee caps (`minOpenSolverFeeCap` /\n * `minCloseSolverFeeCap`, decimal ratio strings). With this set, pre-filled\n * metadata short-circuits the fetch only when both caps are pre-filled too;\n * a fetched market that carries no caps (a non-Enigma kind) resolves both to\n * `\"0\"`. The open wizard sets this; the close wizard does not need caps.\n */\n includeSolverFeeCaps?: boolean;\n /** Pre-fetched `minOpenSolverFeeCap` (decimal ratio string). */\n minOpenSolverFeeCap?: string;\n /** Pre-fetched `minCloseSolverFeeCap` (decimal ratio string). */\n minCloseSolverFeeCap?: string;\n /**\n * Also resolve the market's solver fee rates (`hedgerFeeOpen` /\n * `hedgerFeeClose`, decimal fraction strings). Same short-circuit contract as\n * `includeSolverFeeCaps`: pre-filled metadata skips the fetch only when both\n * rates are pre-filled too. The open wizard sets this — the solver charges\n * these fees from the VA, so the `addMargin` transfer must fund them.\n */\n includeHedgerFees?: boolean;\n /** Pre-fetched `hedgerFeeOpen` (decimal fraction string). */\n hedgerFeeOpen?: string;\n /** Pre-fetched `hedgerFeeClose` (decimal fraction string). */\n hedgerFeeClose?: string;\n /** Pre-fetched early (peak) close-fee rate (decimal fraction string). */\n hedgerFeeCloseEarlyRate?: string;\n /** Pre-fetched early-window length in seconds. */\n hedgerFeeCloseEarlyThreshold?: number;\n /** Pre-fetched standard-rate threshold in seconds. */\n hedgerFeeCloseStandardThreshold?: number;\n}\n\n/**\n * Resolve market metadata (`name`, `pricePrecision`, `quantityPrecision`, and —\n * when `includeSolverFeeCaps` is set — the solver-fee cap minimums) for\n * `marketId`. Returns caller-supplied values when everything needed is\n * pre-filled; otherwise fetches `/contract-symbols` and extracts the matching\n * record. The normalized {@link Market} shape guarantees the metadata fields,\n * so only \"not found\" can fail here.\n *\n * Shared by the instant-open and instant-close wizards.\n *\n * @throws {SymmError} `RESOLVE_MARKET_NOT_FOUND` when no record matches.\n */\nexport async function resolveMarket(config: Config, parameters: ResolveMarketParameters): Promise<ResolvedMarket> {\n const { marketName, pricePrecision, quantityPrecision, minOpenSolverFeeCap, minCloseSolverFeeCap } = parameters;\n const { hedgerFeeOpen, hedgerFeeClose } = parameters;\n const { hedgerFeeCloseEarlyRate, hedgerFeeCloseEarlyThreshold, hedgerFeeCloseStandardThreshold } = parameters;\n const needCaps = parameters.includeSolverFeeCaps === true;\n const capsPrefilled = minOpenSolverFeeCap !== undefined && minCloseSolverFeeCap !== undefined;\n const needFees = parameters.includeHedgerFees === true;\n const feesPrefilled = hedgerFeeOpen !== undefined && hedgerFeeClose !== undefined;\n\n if (\n marketName !== undefined &&\n pricePrecision !== undefined &&\n quantityPrecision !== undefined &&\n (!needCaps || capsPrefilled) &&\n (!needFees || feesPrefilled)\n ) {\n return {\n name: marketName,\n pricePrecision,\n quantityPrecision,\n ...(needCaps ? { minOpenSolverFeeCap, minCloseSolverFeeCap } : {}),\n ...(needFees\n ? {\n hedgerFeeOpen,\n hedgerFeeClose,\n hedgerFeeCloseEarlyRate,\n hedgerFeeCloseEarlyThreshold,\n hedgerFeeCloseStandardThreshold,\n }\n : {}),\n };\n }\n\n const markets = await getMarkets(config, { chainId: parameters.chainId, solverId: parameters.solverId });\n const match = markets.find((m) => m.symbolId === parameters.marketId);\n if (!match) {\n throw new SymmError(\n \"api\",\n \"RESOLVE_MARKET_NOT_FOUND\",\n `Market id ${parameters.marketId} not returned by solver /contract-symbols.`,\n );\n }\n\n return {\n name: marketName ?? match.name,\n pricePrecision: pricePrecision ?? match.pricePrecision,\n quantityPrecision: quantityPrecision ?? match.quantityPrecision,\n ...(needCaps\n ? {\n minOpenSolverFeeCap: minOpenSolverFeeCap ?? (match.kind === \"enigma\" ? match.minOpenSolverFeeCap : \"0\"),\n minCloseSolverFeeCap: minCloseSolverFeeCap ?? (match.kind === \"enigma\" ? match.minCloseSolverFeeCap : \"0\"),\n }\n : {}),\n ...(needFees\n ? {\n hedgerFeeOpen: hedgerFeeOpen ?? match.hedgerFeeOpen,\n hedgerFeeClose: hedgerFeeClose ?? match.hedgerFeeClose,\n // Early-close decay is Enigma-only; a non-Enigma market has no such fields.\n hedgerFeeCloseEarlyRate:\n hedgerFeeCloseEarlyRate ?? (match.kind === \"enigma\" ? match.hedgerFeeCloseEarlyRate : undefined),\n hedgerFeeCloseEarlyThreshold:\n hedgerFeeCloseEarlyThreshold ?? (match.kind === \"enigma\" ? match.hedgerFeeCloseEarlyThreshold : undefined),\n hedgerFeeCloseStandardThreshold:\n hedgerFeeCloseStandardThreshold ??\n (match.kind === \"enigma\" ? match.hedgerFeeCloseStandardThreshold : undefined),\n }\n : {}),\n };\n}\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resolve-market.js","names":[],"sources":["../../../../src/solvers/shared/resolvers/resolve-market.ts"],"sourcesContent":["import type { SolverId } from \"../../../core/chains/types\";\nimport type { Config } from \"../../../core/config\";\nimport { SymmError } from \"../../../shared/errors/symm-error\";\nimport { getMarkets } from \"../../markets/get-markets\";\nimport type { ResolvedMarket } from \"./types\";\n\n/**\n * Parameters for {@link resolveMarket}.\n */\nexport interface ResolveMarketParameters {\n chainId?: number;\n /**\n * Solver whose `/contract-symbols` listing to read. **Must match the solver\n * the trade is sent to** — the resolved `name` and precisions are encoded into\n * the signed quote. Defaults to the chain's `defaultSolverId`.\n */\n solverId?: SolverId;\n marketId: number;\n marketName?: string;\n pricePrecision?: number;\n quantityPrecision?: number;\n /**\n * Also resolve the market's solver-fee caps (`minOpenSolverFeeCap` /\n * `minCloseSolverFeeCap`, decimal ratio strings). With this set, pre-filled\n * metadata short-circuits the fetch only when both caps are pre-filled too;\n * a fetched market that carries no caps (a non-Enigma kind) resolves both to\n * `\"0\"`. The open wizard sets this; the close wizard does not need caps.\n */\n includeSolverFeeCaps?: boolean;\n /** Pre-fetched `minOpenSolverFeeCap` (decimal ratio string). */\n minOpenSolverFeeCap?: string;\n /** Pre-fetched `minCloseSolverFeeCap` (decimal ratio string). */\n minCloseSolverFeeCap?: string;\n /**\n * Also resolve the market's solver fee rates (`hedgerFeeOpen` /\n * `hedgerFeeClose`, decimal fraction strings). Same short-circuit contract as\n * `includeSolverFeeCaps`: pre-filled metadata skips the fetch only when both\n * rates are pre-filled too. The open wizard sets this — the solver charges\n * these fees from the VA, so the `addMargin` transfer must fund them.\n */\n includeHedgerFees?: boolean;\n /** Pre-fetched `hedgerFeeOpen` (decimal fraction string). */\n hedgerFeeOpen?: string;\n /** Pre-fetched `hedgerFeeClose` (decimal fraction string). */\n hedgerFeeClose?: string;\n /** Pre-fetched early (peak) close-fee rate (decimal fraction string). */\n hedgerFeeCloseEarlyRate?: string;\n /** Pre-fetched early-window length in seconds. */\n hedgerFeeCloseEarlyThreshold?: number;\n /** Pre-fetched standard-rate threshold in seconds. */\n hedgerFeeCloseStandardThreshold?: number;\n /**\n * Also resolve the market's quote-constraint fields (lot size, notional\n * bounds, quote-value floors). Same short-circuit contract as the other\n * include flags: pre-filled metadata skips the fetch only when **all six**\n * constraint fields are pre-filled too. The full-balance open sizing sets\n * this — the SDK-computed quantity must land on the lot grid and clear the\n * published floors before it is signed.\n */\n includeQuoteConstraints?: boolean;\n /** Pre-fetched minimum `lf / (cva + lf + partyAmm)` portion (decimal fraction). */\n minAcceptablePortionLf?: string;\n /** Pre-fetched minimum locked-margin sum (decimal string). */\n minAcceptableQuoteValue?: string;\n /** Pre-fetched maximum notional position value; `0` ⇒ unpublished. */\n maxNotionalValue?: number;\n /** Pre-fetched minimum notional position value (decimal string). */\n minNotionalValue?: string;\n /** Pre-fetched maximum order quantity (decimal string); `\"0\"` ⇒ unpublished. */\n maxQuantity?: string;\n /** Pre-fetched minimum tradable increment / lot size (decimal string). */\n lotSize?: string;\n}\n\n/**\n * Resolve market metadata (`name`, `pricePrecision`, `quantityPrecision`, and —\n * when `includeSolverFeeCaps` is set — the solver-fee cap minimums) for\n * `marketId`. Returns caller-supplied values when everything needed is\n * pre-filled; otherwise fetches `/contract-symbols` and extracts the matching\n * record. The normalized {@link Market} shape guarantees the metadata fields,\n * so only \"not found\" can fail here.\n *\n * Shared by the instant-open and instant-close wizards.\n *\n * @throws {SymmError} `RESOLVE_MARKET_NOT_FOUND` when no record matches.\n */\nexport async function resolveMarket(config: Config, parameters: ResolveMarketParameters): Promise<ResolvedMarket> {\n const { marketName, pricePrecision, quantityPrecision, minOpenSolverFeeCap, minCloseSolverFeeCap } = parameters;\n const { hedgerFeeOpen, hedgerFeeClose } = parameters;\n const { hedgerFeeCloseEarlyRate, hedgerFeeCloseEarlyThreshold, hedgerFeeCloseStandardThreshold } = parameters;\n const { minAcceptablePortionLf, minAcceptableQuoteValue, maxNotionalValue } = parameters;\n const { minNotionalValue, maxQuantity, lotSize } = parameters;\n const needCaps = parameters.includeSolverFeeCaps === true;\n const capsPrefilled = minOpenSolverFeeCap !== undefined && minCloseSolverFeeCap !== undefined;\n const needFees = parameters.includeHedgerFees === true;\n const feesPrefilled = hedgerFeeOpen !== undefined && hedgerFeeClose !== undefined;\n const needConstraints = parameters.includeQuoteConstraints === true;\n const constraintsPrefilled =\n minAcceptablePortionLf !== undefined &&\n minAcceptableQuoteValue !== undefined &&\n maxNotionalValue !== undefined &&\n minNotionalValue !== undefined &&\n maxQuantity !== undefined &&\n lotSize !== undefined;\n\n if (\n marketName !== undefined &&\n pricePrecision !== undefined &&\n quantityPrecision !== undefined &&\n (!needCaps || capsPrefilled) &&\n (!needFees || feesPrefilled) &&\n (!needConstraints || constraintsPrefilled)\n ) {\n return {\n name: marketName,\n pricePrecision,\n quantityPrecision,\n ...(needCaps ? { minOpenSolverFeeCap, minCloseSolverFeeCap } : {}),\n ...(needFees\n ? {\n hedgerFeeOpen,\n hedgerFeeClose,\n hedgerFeeCloseEarlyRate,\n hedgerFeeCloseEarlyThreshold,\n hedgerFeeCloseStandardThreshold,\n }\n : {}),\n ...(needConstraints\n ? { minAcceptablePortionLf, minAcceptableQuoteValue, maxNotionalValue, minNotionalValue, maxQuantity, lotSize }\n : {}),\n };\n }\n\n const markets = await getMarkets(config, { chainId: parameters.chainId, solverId: parameters.solverId });\n const match = markets.find((m) => m.symbolId === parameters.marketId);\n if (!match) {\n throw new SymmError(\n \"api\",\n \"RESOLVE_MARKET_NOT_FOUND\",\n `Market id ${parameters.marketId} not returned by solver /contract-symbols.`,\n );\n }\n\n return {\n name: marketName ?? match.name,\n pricePrecision: pricePrecision ?? match.pricePrecision,\n quantityPrecision: quantityPrecision ?? match.quantityPrecision,\n ...(needCaps\n ? {\n minOpenSolverFeeCap: minOpenSolverFeeCap ?? (match.kind === \"enigma\" ? match.minOpenSolverFeeCap : \"0\"),\n minCloseSolverFeeCap: minCloseSolverFeeCap ?? (match.kind === \"enigma\" ? match.minCloseSolverFeeCap : \"0\"),\n }\n : {}),\n ...(needFees\n ? {\n hedgerFeeOpen: hedgerFeeOpen ?? match.hedgerFeeOpen,\n hedgerFeeClose: hedgerFeeClose ?? match.hedgerFeeClose,\n // Early-close decay is Enigma-only; a non-Enigma market has no such fields.\n hedgerFeeCloseEarlyRate:\n hedgerFeeCloseEarlyRate ?? (match.kind === \"enigma\" ? match.hedgerFeeCloseEarlyRate : undefined),\n hedgerFeeCloseEarlyThreshold:\n hedgerFeeCloseEarlyThreshold ?? (match.kind === \"enigma\" ? match.hedgerFeeCloseEarlyThreshold : undefined),\n hedgerFeeCloseStandardThreshold:\n hedgerFeeCloseStandardThreshold ??\n (match.kind === \"enigma\" ? match.hedgerFeeCloseStandardThreshold : undefined),\n }\n : {}),\n ...(needConstraints\n ? {\n minAcceptablePortionLf: minAcceptablePortionLf ?? match.minAcceptablePortionLf,\n minAcceptableQuoteValue: minAcceptableQuoteValue ?? match.minAcceptableQuoteValue,\n maxNotionalValue: maxNotionalValue ?? match.maxNotionalValue,\n minNotionalValue: minNotionalValue ?? match.minNotionalValue,\n maxQuantity: maxQuantity ?? match.maxQuantity,\n lotSize: lotSize ?? match.lotSize,\n }\n : {}),\n };\n}\n"],"mappings":";;;AAsFA,eAAsB,EAAc,GAAgB,GAA8D;CAChH,IAAM,EAAE,eAAY,mBAAgB,sBAAmB,wBAAqB,4BAAyB,GAC/F,EAAE,kBAAe,sBAAmB,GACpC,EAAE,4BAAyB,iCAA8B,uCAAoC,GAC7F,EAAE,2BAAwB,4BAAyB,wBAAqB,GACxE,EAAE,qBAAkB,gBAAa,eAAY,GAC7C,IAAW,EAAW,yBAAyB,IAC/C,IAAgB,MAAwB,KAAA,KAAa,MAAyB,KAAA,GAC9E,IAAW,EAAW,sBAAsB,IAC5C,IAAgB,MAAkB,KAAA,KAAa,MAAmB,KAAA,GAClE,IAAkB,EAAW,4BAA4B;CAS/D,IACE,MAAe,KAAA,KACf,MAAmB,KAAA,KACnB,MAAsB,KAAA,MACrB,CAAC,KAAY,OACb,CAAC,KAAY,OACb,CAAC,KAbF,MAA2B,KAAA,KAC3B,MAA4B,KAAA,KAC5B,MAAqB,KAAA,KACrB,MAAqB,KAAA,KACrB,MAAgB,KAAA,KAChB,MAAY,KAAA,IAUZ,OAAO;EACL,MAAM;EACN;EACA;EACA,GAAI,IAAW;GAAE;GAAqB;EAAqB,IAAI,CAAC;EAChE,GAAI,IACA;GACE;GACA;GACA;GACA;GACA;EACF,IACA,CAAC;EACL,GAAI,IACA;GAAE;GAAwB;GAAyB;GAAkB;GAAkB;GAAa;EAAQ,IAC5G,CAAC;CACP;CAIF,IAAM,KAAQ,MADQ,EAAW,GAAQ;EAAE,SAAS,EAAW;EAAS,UAAU,EAAW;CAAS,CAAC,GACjF,MAAM,MAAM,EAAE,aAAa,EAAW,QAAQ;CACpE,IAAI,CAAC,GACH,MAAM,IAAI,EACR,OACA,4BACA,aAAa,EAAW,SAAS,2CACnC;CAGF,OAAO;EACL,MAAM,KAAc,EAAM;EAC1B,gBAAgB,KAAkB,EAAM;EACxC,mBAAmB,KAAqB,EAAM;EAC9C,GAAI,IACA;GACE,qBAAqB,MAAwB,EAAM,SAAS,WAAW,EAAM,sBAAsB;GACnG,sBAAsB,MAAyB,EAAM,SAAS,WAAW,EAAM,uBAAuB;EACxG,IACA,CAAC;EACL,GAAI,IACA;GACE,eAAe,KAAiB,EAAM;GACtC,gBAAgB,KAAkB,EAAM;GAExC,yBACE,MAA4B,EAAM,SAAS,WAAW,EAAM,0BAA0B,KAAA;GACxF,8BACE,MAAiC,EAAM,SAAS,WAAW,EAAM,+BAA+B,KAAA;GAClG,iCACE,MACC,EAAM,SAAS,WAAW,EAAM,kCAAkC,KAAA;EACvE,IACA,CAAC;EACL,GAAI,IACA;GACE,wBAAwB,KAA0B,EAAM;GACxD,yBAAyB,KAA2B,EAAM;GAC1D,kBAAkB,KAAoB,EAAM;GAC5C,kBAAkB,KAAoB,EAAM;GAC5C,aAAa,KAAe,EAAM;GAClC,SAAS,KAAW,EAAM;EAC5B,IACA,CAAC;CACP;AACF"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { SolverId } from '../../../core/chains/types.js';
|
|
2
|
+
import { Config } from '../../../core/config/index.js';
|
|
3
|
+
import { EnigmaSolverInfo } from '../../get-solver-info/index.js';
|
|
4
|
+
/** Parameters for {@link resolveSolverInfo}. */
|
|
5
|
+
export interface ResolveSolverInfoParameters {
|
|
6
|
+
/** Target chain. */
|
|
7
|
+
chainId?: number;
|
|
8
|
+
/** Target solver. */
|
|
9
|
+
solverId?: SolverId;
|
|
10
|
+
/** Pre-fetched solver info (matches `getSolverInfo` return). When supplied, the fetch is skipped. */
|
|
11
|
+
solverInfo?: EnigmaSolverInfo;
|
|
12
|
+
}
|
|
13
|
+
/** Return type of {@link resolveSolverInfo}: both static fee legs, `"0"`-defaulted. */
|
|
14
|
+
export interface ResolvedSolverStaticFees {
|
|
15
|
+
/** Static solver fee charged per instant open (flat USD decimal string). */
|
|
16
|
+
staticSolverFeeOpen: string;
|
|
17
|
+
/** Static solver close fee provisioned at open (flat USD decimal string). */
|
|
18
|
+
staticSolverFeeClose: string;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolve the solver's static per-trade fees (Enigma `/info`) for the open
|
|
22
|
+
* cost model. A caller-supplied `solverInfo` short-circuits the fetch.
|
|
23
|
+
*
|
|
24
|
+
* **Fail-soft**: any fetch failure — the endpoint is not deployed on every
|
|
25
|
+
* solver yet — resolves both legs to `"0"` instead of blocking the open; an
|
|
26
|
+
* absent static fee means the solver charges none.
|
|
27
|
+
*/
|
|
28
|
+
export declare function resolveSolverInfo(config: Config, parameters: ResolveSolverInfoParameters): Promise<ResolvedSolverStaticFees>;
|
|
29
|
+
//# sourceMappingURL=resolve-solver-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-solver-info.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/resolve-solver-info.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAiB,KAAK,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE7E,gDAAgD;AAChD,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,qGAAqG;IACrG,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC/B;AAED,uFAAuF;AACvF,MAAM,WAAW,wBAAwB;IACvC,4EAA4E;IAC5E,mBAAmB,EAAE,MAAM,CAAC;IAC5B,6EAA6E;IAC7E,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,2BAA2B,GACtC,OAAO,CAAC,wBAAwB,CAAC,CAanC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { getSolverInfo as e } from "../../get-solver-info/get-solver-info.js";
|
|
2
|
+
//#region src/solvers/shared/resolvers/resolve-solver-info.ts
|
|
3
|
+
async function t(t, n) {
|
|
4
|
+
let r = n.solverInfo;
|
|
5
|
+
if (r === void 0) try {
|
|
6
|
+
r = await e(t, {
|
|
7
|
+
chainId: n.chainId,
|
|
8
|
+
solverId: n.solverId
|
|
9
|
+
});
|
|
10
|
+
} catch {
|
|
11
|
+
r = {};
|
|
12
|
+
}
|
|
13
|
+
return {
|
|
14
|
+
staticSolverFeeOpen: r.staticSolverFeeOpen ?? "0",
|
|
15
|
+
staticSolverFeeClose: r.staticSolverFeeClose ?? "0"
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//#endregion
|
|
19
|
+
export { t as resolveSolverInfo };
|
|
20
|
+
|
|
21
|
+
//# sourceMappingURL=resolve-solver-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-solver-info.js","names":[],"sources":["../../../../src/solvers/shared/resolvers/resolve-solver-info.ts"],"sourcesContent":["import type { SolverId } from \"../../../core/chains/types\";\nimport type { Config } from \"../../../core/config\";\nimport { getSolverInfo, type EnigmaSolverInfo } from \"../../get-solver-info\";\n\n/** Parameters for {@link resolveSolverInfo}. */\nexport interface ResolveSolverInfoParameters {\n /** Target chain. */\n chainId?: number;\n /** Target solver. */\n solverId?: SolverId;\n /** Pre-fetched solver info (matches `getSolverInfo` return). When supplied, the fetch is skipped. */\n solverInfo?: EnigmaSolverInfo;\n}\n\n/** Return type of {@link resolveSolverInfo}: both static fee legs, `\"0\"`-defaulted. */\nexport interface ResolvedSolverStaticFees {\n /** Static solver fee charged per instant open (flat USD decimal string). */\n staticSolverFeeOpen: string;\n /** Static solver close fee provisioned at open (flat USD decimal string). */\n staticSolverFeeClose: string;\n}\n\n/**\n * Resolve the solver's static per-trade fees (Enigma `/info`) for the open\n * cost model. A caller-supplied `solverInfo` short-circuits the fetch.\n *\n * **Fail-soft**: any fetch failure — the endpoint is not deployed on every\n * solver yet — resolves both legs to `\"0\"` instead of blocking the open; an\n * absent static fee means the solver charges none.\n */\nexport async function resolveSolverInfo(\n config: Config,\n parameters: ResolveSolverInfoParameters,\n): Promise<ResolvedSolverStaticFees> {\n let info = parameters.solverInfo;\n if (info === undefined) {\n try {\n info = await getSolverInfo(config, { chainId: parameters.chainId, solverId: parameters.solverId });\n } catch {\n info = {};\n }\n }\n return {\n staticSolverFeeOpen: info.staticSolverFeeOpen ?? \"0\",\n staticSolverFeeClose: info.staticSolverFeeClose ?? \"0\",\n };\n}\n"],"mappings":";;AA8BA,eAAsB,EACpB,GACA,GACmC;CACnC,IAAI,IAAO,EAAW;CACtB,IAAI,MAAS,KAAA,GACX,IAAI;EACF,IAAO,MAAM,EAAc,GAAQ;GAAE,SAAS,EAAW;GAAS,UAAU,EAAW;EAAS,CAAC;CACnG,QAAQ;EACN,IAAO,CAAC;CACV;CAEF,OAAO;EACL,qBAAqB,EAAK,uBAAuB;EACjD,sBAAsB,EAAK,wBAAwB;CACrD;AACF"}
|
|
@@ -24,5 +24,17 @@ export interface ResolvedMarket {
|
|
|
24
24
|
hedgerFeeCloseEarlyThreshold?: number;
|
|
25
25
|
/** Present when resolved with `includeHedgerFees` on an Enigma market. Standard-rate threshold in seconds. */
|
|
26
26
|
hedgerFeeCloseStandardThreshold?: number;
|
|
27
|
+
/** Present when resolved with `includeQuoteConstraints`. Minimum `lf / (cva + lf + partyAmm)` portion (decimal fraction). */
|
|
28
|
+
minAcceptablePortionLf?: string;
|
|
29
|
+
/** Present when resolved with `includeQuoteConstraints`. Minimum locked-margin sum (decimal string). */
|
|
30
|
+
minAcceptableQuoteValue?: string;
|
|
31
|
+
/** Present when resolved with `includeQuoteConstraints`. Maximum notional position value; `0` ⇒ unpublished. */
|
|
32
|
+
maxNotionalValue?: number;
|
|
33
|
+
/** Present when resolved with `includeQuoteConstraints`. Minimum notional position value (decimal string). */
|
|
34
|
+
minNotionalValue?: string;
|
|
35
|
+
/** Present when resolved with `includeQuoteConstraints`. Maximum order quantity (decimal string); `"0"` ⇒ unpublished. */
|
|
36
|
+
maxQuantity?: string;
|
|
37
|
+
/** Present when resolved with `includeQuoteConstraints`. Minimum tradable increment / lot size (decimal string). */
|
|
38
|
+
lotSize?: string;
|
|
27
39
|
}
|
|
28
40
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uHAAuH;IACvH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0GAA0G;IAC1G,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,8GAA8G;IAC9G,+BAA+B,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/solvers/shared/resolvers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,6GAA6G;IAC7G,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,6GAA6G;IAC7G,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,qGAAqG;IACrG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uHAAuH;IACvH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gIAAgI;IAChI,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0GAA0G;IAC1G,4BAA4B,CAAC,EAAE,MAAM,CAAC;IACtC,8GAA8G;IAC9G,+BAA+B,CAAC,EAAE,MAAM,CAAC;IACzC,6HAA6H;IAC7H,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,wGAAwG;IACxG,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,gHAAgH;IAChH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,8GAA8G;IAC9G,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,0HAA0H;IAC1H,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oHAAoH;IACpH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -65,72 +65,6 @@ export interface ApiFundingInfoBySymbolsResponse {
|
|
|
65
65
|
export interface ApiFundingInfoResponse {
|
|
66
66
|
[key: string]: ApiFundingInfoItem;
|
|
67
67
|
}
|
|
68
|
-
export declare enum ApiGaslessAction {
|
|
69
|
-
GaslessActionAddMargin = "add_margin",
|
|
70
|
-
GaslessActionRemoveMargin = "remove_margin",
|
|
71
|
-
GaslessActionDelegate = "delegate_access_for_session_key"
|
|
72
|
-
}
|
|
73
|
-
export declare enum ApiGaslessRequestAction {
|
|
74
|
-
add_margin = "add_margin",
|
|
75
|
-
remove_margin = "remove_margin",
|
|
76
|
-
delegate_access_for_session_key = "delegate_access_for_session_key"
|
|
77
|
-
}
|
|
78
|
-
export interface Eip712AccountJSON {
|
|
79
|
-
addr: string;
|
|
80
|
-
isPartyB?: boolean;
|
|
81
|
-
}
|
|
82
|
-
export interface Eip712DelegationInfoJSON {
|
|
83
|
-
account: Eip712AccountJSON;
|
|
84
|
-
delegatedSigner: string;
|
|
85
|
-
expiryTimestamp: number;
|
|
86
|
-
/** @minItems 1 */
|
|
87
|
-
selectors: string[];
|
|
88
|
-
}
|
|
89
|
-
export interface Eip712ReplayHeaderJSON {
|
|
90
|
-
deadline: number;
|
|
91
|
-
nonce?: number;
|
|
92
|
-
salt: string;
|
|
93
|
-
}
|
|
94
|
-
export interface Eip712SignedDelegationJSON {
|
|
95
|
-
delegationInfo: Eip712DelegationInfoJSON;
|
|
96
|
-
replayAttackHeader: Eip712ReplayHeaderJSON;
|
|
97
|
-
}
|
|
98
|
-
export interface Eip712DelegationWithSigJSON {
|
|
99
|
-
signature: string;
|
|
100
|
-
signedDelegation: Eip712SignedDelegationJSON;
|
|
101
|
-
}
|
|
102
|
-
export interface Eip712FlexFieldJSON {
|
|
103
|
-
authorizedFlexFiller?: string;
|
|
104
|
-
length?: number;
|
|
105
|
-
offset?: number;
|
|
106
|
-
}
|
|
107
|
-
export interface Eip712SignedOperationJSON {
|
|
108
|
-
callData: string;
|
|
109
|
-
flexFields?: Eip712FlexFieldJSON[];
|
|
110
|
-
maxUses?: number;
|
|
111
|
-
replayAttackHeader: Eip712ReplayHeaderJSON;
|
|
112
|
-
signer: string;
|
|
113
|
-
signerAccount: Eip712AccountJSON;
|
|
114
|
-
target: string;
|
|
115
|
-
}
|
|
116
|
-
export interface Eip712OperationWithSigJSON {
|
|
117
|
-
signature: string;
|
|
118
|
-
signedOperation: Eip712SignedOperationJSON;
|
|
119
|
-
}
|
|
120
|
-
export interface ApiGaslessRequest {
|
|
121
|
-
action: ApiGaslessRequestAction;
|
|
122
|
-
delegation?: Eip712DelegationWithSigJSON;
|
|
123
|
-
operation?: Eip712OperationWithSigJSON;
|
|
124
|
-
}
|
|
125
|
-
export interface ApiGaslessResponse {
|
|
126
|
-
action?: ApiGaslessAction;
|
|
127
|
-
blockHash?: string;
|
|
128
|
-
blockNumber?: number;
|
|
129
|
-
dailyRemaining?: number;
|
|
130
|
-
gasUsed?: number;
|
|
131
|
-
partyA?: string;
|
|
132
|
-
transactionHash?: string;
|
|
133
|
-
}
|
|
134
68
|
export interface ApiGetEstimatedPriceResponse {
|
|
135
69
|
price?: string;
|
|
136
70
|
}
|
|
@@ -196,6 +130,12 @@ export interface ApiGetQuotesResponse {
|
|
|
196
130
|
count?: number;
|
|
197
131
|
quotes?: ApiQuoteInfo[];
|
|
198
132
|
}
|
|
133
|
+
export interface ApiGetSolverInfoResponse {
|
|
134
|
+
/** Configured USD amount per instant close, including each partial close, before signed fee-cap adjustments. */
|
|
135
|
+
static_solver_fee_close?: string;
|
|
136
|
+
/** Configured USD amount per instant open, before signed fee-cap adjustments. */
|
|
137
|
+
static_solver_fee_open?: string;
|
|
138
|
+
}
|
|
199
139
|
export interface ApiPeriodStats {
|
|
200
140
|
"1h"?: number;
|
|
201
141
|
"1w"?: number;
|
|
@@ -324,6 +264,33 @@ export interface ApiSymbolsResponse {
|
|
|
324
264
|
count?: number;
|
|
325
265
|
symbols?: ApiSymbolResponse[];
|
|
326
266
|
}
|
|
267
|
+
export interface Eip712FlexFieldJSON {
|
|
268
|
+
authorizedFlexFiller?: string;
|
|
269
|
+
length?: number;
|
|
270
|
+
offset?: number;
|
|
271
|
+
}
|
|
272
|
+
export interface Eip712ReplayHeaderJSON {
|
|
273
|
+
deadline: number;
|
|
274
|
+
nonce?: number;
|
|
275
|
+
salt: string;
|
|
276
|
+
}
|
|
277
|
+
export interface Eip712AccountJSON {
|
|
278
|
+
addr: string;
|
|
279
|
+
isPartyB?: boolean;
|
|
280
|
+
}
|
|
281
|
+
export interface Eip712SignedOperationJSON {
|
|
282
|
+
callData: string;
|
|
283
|
+
flexFields?: Eip712FlexFieldJSON[];
|
|
284
|
+
maxUses?: number;
|
|
285
|
+
replayAttackHeader: Eip712ReplayHeaderJSON;
|
|
286
|
+
signer: string;
|
|
287
|
+
signerAccount: Eip712AccountJSON;
|
|
288
|
+
target: string;
|
|
289
|
+
}
|
|
290
|
+
export interface Eip712OperationWithSigJSON {
|
|
291
|
+
signature: string;
|
|
292
|
+
signedOperation: Eip712SignedOperationJSON;
|
|
293
|
+
}
|
|
327
294
|
export interface ApiV2InstantCloseRequest {
|
|
328
295
|
/**
|
|
329
296
|
* @minItems 1
|
|
@@ -566,6 +533,12 @@ export declare const getGetLockedParamsSymbol: (symbol: string, params: GetGetLo
|
|
|
566
533
|
* @summary Get 24h market info by symbol name
|
|
567
534
|
*/
|
|
568
535
|
export declare const getGetMarketInfo: (options?: AxiosRequestConfig) => Promise<AxiosResponse<GetGetMarketInfo200>>;
|
|
536
|
+
/**
|
|
537
|
+
* Returns configured static solver fees as exact USD decimal strings; zero disables a fee.
|
|
538
|
+
* The close amount applies to each partial close. Actual charges remain subject to signed fee caps.
|
|
539
|
+
* @summary Get solver general information
|
|
540
|
+
*/
|
|
541
|
+
export declare const getInfo: (options?: AxiosRequestConfig) => Promise<AxiosResponse<ApiGetSolverInfoResponse>>;
|
|
569
542
|
/**
|
|
570
543
|
* Returns all pending instant close orders for a given SubAccount address.
|
|
571
544
|
* @summary Get pending instant close orders
|
|
@@ -586,26 +559,13 @@ export declare const getInstantQuoteIdTempQuoteId: (tempQuoteId: number, options
|
|
|
586
559
|
*/
|
|
587
560
|
export declare const getInstantTradeEip712Config: (options?: AxiosRequestConfig) => Promise<AxiosResponse<GetInstantTradeEip712Config200>>;
|
|
588
561
|
/**
|
|
589
|
-
*
|
|
590
|
-
*
|
|
591
|
-
* **Supported actions** (set via the `action` field):
|
|
592
|
-
* - `add_margin` — top up the allocated balance of an existing VirtualAccount via AccountLayer.addMargin. The signer must own the VA (its parent SubAccount must equal the signer's SubAccount). Requires `operation`.
|
|
593
|
-
* - `remove_margin` — withdraw allocated margin from an existing VirtualAccount via AccountLayer.removeMargin. Requires `operation`.
|
|
594
|
-
* - `delegate_access_for_session_key` — grant a delegate signer access for one or more allowlisted selectors via InstantLayer.grantBatchDelegationBySig. Requires `delegation`.
|
|
595
|
-
*
|
|
596
|
-
* Exactly one of `operation` or `delegation` must be present per request. Delegation selectors are restricted to: `sendQuote`, `requestToClosePosition`, `addMarginToNextVA`, `addMargin`, `removeMargin`, `allocate`, `deallocate`, `safeDeallocate`, `initiateWithdraw`, `finalizeWithdrawRequest`, `requestCancelWithdraw`.
|
|
597
|
-
*
|
|
598
|
-
* Each PartyA is limited to `GASLESS_DAILY_MAX` accepted attempts per UTC day (default 5). The counter is consumed on every attempt past basic validation, regardless of downstream success or failure; the `dailyRemaining` field in the response reports the user's remaining quota.
|
|
599
|
-
* @summary Submit a gasless operation
|
|
600
|
-
*/
|
|
601
|
-
export declare const postInstantTradeExecuteOperation: (apiGaslessRequest: ApiGaslessRequest, options?: AxiosRequestConfig) => Promise<AxiosResponse<ApiGaslessResponse>>;
|
|
602
|
-
/**
|
|
603
|
-
* Submit one or more V2 close operations (requestToClosePosition), one per quote. No JWT required — identity is proven by EIP-712 signature recovery. On any failure the whole request is rejected. Processing happens asynchronously.
|
|
562
|
+
* Submit one or more V2 close operations (requestToClosePosition), one per quote. No JWT required — identity is proven by EIP-712 signature recovery. Each signedOperation.maxUses must explicitly equal 1. A previously submitted signature is rejected in every record state (case and optional 0x prefix are ignored), including concurrent replays. Operations commit individually; earlier operations remain accepted if a later operation fails. Processing happens asynchronously.
|
|
604
563
|
* @summary Submit V2 instant close
|
|
605
564
|
*/
|
|
606
565
|
export declare const postInstantTradeInstantClose: (apiV2InstantCloseRequest: ApiV2InstantCloseRequest, options?: AxiosRequestConfig) => Promise<AxiosResponse<void>>;
|
|
607
566
|
/**
|
|
608
567
|
* Submit a V2 instant open request with pre-signed EIP-712 PartyA operations (addMargin + sendQuote). No JWT required — identity is proven by EIP-712 signature recovery. Processing (hedge, muon sigs, symmio-api call) happens asynchronously.
|
|
568
|
+
* PartyBsWhiteList must contain exactly the configured PartyB proxy. The signed open cap must cover the complete dynamic plus static solver fee at the fresh market price. Admission requires collateral for both solver fees while preserving margin and the protocol trading fee, using local VA balances with RPC fallback only for missing account rows.
|
|
609
569
|
* @summary Submit V2 instant open
|
|
610
570
|
*/
|
|
611
571
|
export declare const postInstantTradeInstantOpen: (apiV2InstantOpenRequest: ApiV2InstantOpenRequest, options?: AxiosRequestConfig) => Promise<AxiosResponse<ApiPostInstantOpenResponse>>;
|
|
@@ -615,6 +575,7 @@ export declare const postInstantTradeInstantOpen: (apiV2InstantOpenRequest: ApiV
|
|
|
615
575
|
*/
|
|
616
576
|
export declare const getMarketInfo: (options?: AxiosRequestConfig) => Promise<AxiosResponse<GetMarketInfo200>>;
|
|
617
577
|
/**
|
|
578
|
+
* Fetches all inventory availability pages without caching notional-cap results. Missing markets have per-symbol errors; inventory fetch failures return 503.
|
|
618
579
|
* @summary Get notional caps for all symbols
|
|
619
580
|
*/
|
|
620
581
|
export declare const getNotionalCap: (params?: GetNotionalCapParams, options?: AxiosRequestConfig) => Promise<AxiosResponse<ApiNotionalCapAllSymbolsResponse>>;
|
|
@@ -668,11 +629,11 @@ export type GetFundingInfoResult = AxiosResponse<ApiFundingInfoResponse>;
|
|
|
668
629
|
export type GetGetFundingInfoResult = AxiosResponse<ApiFundingInfoBySymbolsResponse>;
|
|
669
630
|
export type GetGetLockedParamsSymbolResult = AxiosResponse<ApiLockedParamsBySymbolIdResponse>;
|
|
670
631
|
export type GetGetMarketInfoResult = AxiosResponse<GetGetMarketInfo200>;
|
|
632
|
+
export type GetInfoResult = AxiosResponse<ApiGetSolverInfoResponse>;
|
|
671
633
|
export type GetInstantCloseAccountAddressResult = AxiosResponse<ApiGetInstantCloseResponse[]>;
|
|
672
634
|
export type GetInstantOpenAccountAddressResult = AxiosResponse<ApiGetInstantOpenResponse[]>;
|
|
673
635
|
export type GetInstantQuoteIdTempQuoteIdResult = AxiosResponse<ApiGetQuoteIdResponse>;
|
|
674
636
|
export type GetInstantTradeEip712ConfigResult = AxiosResponse<GetInstantTradeEip712Config200>;
|
|
675
|
-
export type PostInstantTradeExecuteOperationResult = AxiosResponse<ApiGaslessResponse>;
|
|
676
637
|
export type PostInstantTradeInstantCloseResult = AxiosResponse<void>;
|
|
677
638
|
export type PostInstantTradeInstantOpenResult = AxiosResponse<ApiPostInstantOpenResponse>;
|
|
678
639
|
export type GetMarketInfoResult = AxiosResponse<GetMarketInfo200>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigma-solver.d.ts","sourceRoot":"","sources":["../../../../src/solvers/types/generated/enigma-solver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enigma-solver.d.ts","sourceRoot":"","sources":["../../../../src/solvers/types/generated/enigma-solver.ts"],"names":[],"mappings":"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"}
|