@polyester/sdk 0.22.2 → 0.22.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @polyester/sdk
2
2
 
3
+ ## 0.22.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Point the testnet Multicall3 address at the verified deployment `0xfc9B0991DC84E419C9b164dE89795958a5B0A0cF` (block 179823). ([#135](https://github.com/Fabric-Labs/polyester-sdk-typescript/pull/135))
8
+
3
9
  ## 0.22.2
4
10
 
5
11
  ### Patch Changes
@@ -202,7 +202,7 @@ const POLYESTER_TESTNET_ENVIRONMENT = createPolyesterEnvironment({
202
202
  url: "https://testnet.polyesterscan.com"
203
203
  } },
204
204
  contracts: { multicall3: {
205
- address: "0xF35A6AE5408fa1356064849D0BC3855f801aa6aC",
205
+ address: "0xfc9B0991DC84E419C9b164dE89795958a5B0A0cF",
206
206
  blockCreated: 179823
207
207
  } }
208
208
  },
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","names":[],"sources":["../src/environment.ts"],"sourcesContent":["import type { SafeVersion } from \"permissionless/accounts\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport type { Address, Chain } from \"viem\";\nimport { checksumEvmAddress, evmUtf8ToBytes, isEvmAddress, keccak256Hex } from \"./utils/evm.js\";\n\nexport interface PolyesterEntryPointConfig {\n readonly address: Address;\n readonly version: \"0.7\";\n}\n\nexport interface PolyesterSafeDeploymentConfig {\n readonly version: SafeVersion;\n readonly safeModuleSetupAddress: Address;\n readonly safe4337ModuleAddress: Address;\n readonly safeProxyFactoryAddress: Address;\n readonly safeSingletonAddress: Address;\n readonly multiSendAddress: Address;\n readonly multiSendCallOnlyAddress?: Address;\n}\n\nexport interface PolyesterAccountAbstractionEnvironment {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n}\n\nexport interface PolyesterContractsEnvironment {\n readonly tradingGatewayAddress: Address;\n}\n\nexport interface PolyesterEnvironment {\n readonly name: string;\n readonly fingerprint: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: PolyesterAccountAbstractionEnvironment;\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nexport interface CreatePolyesterEnvironmentParams {\n readonly name: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n };\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nconst LOCAL_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\n\nfunction requireObject(value: unknown, label: string): asserts value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(`${label} must be an object.`);\n }\n}\n\nfunction requireNonEmptyString(value: unknown, label: string): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new ConfigurationError(`${label} must be a non-empty string.`);\n }\n}\n\nfunction isLocalHost(hostname: string): boolean {\n return LOCAL_HOSTS.has(hostname);\n}\n\nfunction normalizeUrl(\n value: string,\n label: string,\n allowedProtocols: readonly string[],\n options?: { allowSearch?: boolean },\n): string {\n let url: URL;\n try {\n url = new URL(value);\n } catch {\n throw new ConfigurationError(`${label} must be a valid URL.`);\n }\n\n if (!allowedProtocols.includes(url.protocol)) {\n throw new ConfigurationError(`${label} must use ${allowedProtocols.join(\" or \")}.`);\n }\n\n const insecureRemote =\n (url.protocol === \"http:\" || url.protocol === \"ws:\") && !isLocalHost(url.hostname);\n if (insecureRemote) {\n throw new ConfigurationError(`${label} must use a secure protocol for remote hosts.`);\n }\n\n if (options?.allowSearch === false && url.search) {\n throw new ConfigurationError(`${label} must not include query parameters.`);\n }\n\n url.hash = \"\";\n return url.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction normalizeAddress(value: Address, label: string): Address {\n if (!isEvmAddress(value)) {\n throw new ConfigurationError(`${label} must be a valid address.`);\n }\n return checksumEvmAddress(value);\n}\n\nfunction normalizeEntryPoint(entryPoint: PolyesterEntryPointConfig): PolyesterEntryPointConfig {\n requireObject(entryPoint, \"accountAbstraction.entryPoint\");\n if (entryPoint.version !== \"0.7\") {\n throw new ConfigurationError(\"accountAbstraction.entryPoint.version must be 0.7.\");\n }\n return Object.freeze({\n address: normalizeAddress(entryPoint.address, \"accountAbstraction.entryPoint.address\"),\n version: entryPoint.version,\n });\n}\n\nfunction normalizeSafeConfig(safe: PolyesterSafeDeploymentConfig): PolyesterSafeDeploymentConfig {\n requireObject(safe, \"accountAbstraction.safe\");\n if (safe.version !== \"1.4.1\" && safe.version !== \"1.5.0\") {\n throw new ConfigurationError(\n 'accountAbstraction.safe.version must be either \"1.4.1\" or \"1.5.0\".',\n );\n }\n return Object.freeze({\n version: safe.version,\n safeModuleSetupAddress: normalizeAddress(\n safe.safeModuleSetupAddress,\n \"accountAbstraction.safe.safeModuleSetupAddress\",\n ),\n safe4337ModuleAddress: normalizeAddress(\n safe.safe4337ModuleAddress,\n \"accountAbstraction.safe.safe4337ModuleAddress\",\n ),\n safeProxyFactoryAddress: normalizeAddress(\n safe.safeProxyFactoryAddress,\n \"accountAbstraction.safe.safeProxyFactoryAddress\",\n ),\n safeSingletonAddress: normalizeAddress(\n safe.safeSingletonAddress,\n \"accountAbstraction.safe.safeSingletonAddress\",\n ),\n multiSendAddress: normalizeAddress(\n safe.multiSendAddress,\n \"accountAbstraction.safe.multiSendAddress\",\n ),\n multiSendCallOnlyAddress: safe.multiSendCallOnlyAddress\n ? normalizeAddress(\n safe.multiSendCallOnlyAddress,\n \"accountAbstraction.safe.multiSendCallOnlyAddress\",\n )\n : undefined,\n });\n}\n\nfunction normalizeChain(chain: Chain, rpcUrl: string): Chain {\n requireObject(chain, \"chain\");\n if (!Number.isInteger(chain.id) || chain.id <= 0) {\n throw new ConfigurationError(\"chain.id must be a positive integer.\");\n }\n requireNonEmptyString(chain.name, \"chain.name\");\n requireObject(chain.nativeCurrency, \"chain.nativeCurrency\");\n if (!Number.isInteger(chain.nativeCurrency.decimals) || chain.nativeCurrency.decimals < 0) {\n throw new ConfigurationError(\n \"chain.nativeCurrency.decimals must be a non-negative integer.\",\n );\n }\n requireNonEmptyString(chain.nativeCurrency.name, \"chain.nativeCurrency.name\");\n requireNonEmptyString(chain.nativeCurrency.symbol, \"chain.nativeCurrency.symbol\");\n requireObject(chain.rpcUrls, \"chain.rpcUrls\");\n requireObject(chain.rpcUrls.default, \"chain.rpcUrls.default\");\n if (!Array.isArray(chain.rpcUrls.default.http)) {\n throw new ConfigurationError(\"chain.rpcUrls.default.http must be an array.\");\n }\n\n // Shape parity with viem's defineChain: spread over undefined defaults.\n return Object.freeze({\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n default: {\n ...chain.rpcUrls.default,\n http: [rpcUrl],\n },\n },\n });\n}\n\nfunction environmentFingerprint(input: {\n apiUrl: string;\n websocketUrl: string;\n rpcUrl: string;\n chainId: number;\n accountAbstraction: PolyesterAccountAbstractionEnvironment;\n contracts: PolyesterContractsEnvironment;\n}): string {\n return keccak256Hex(\n evmUtf8ToBytes(\n JSON.stringify({\n apiUrl: input.apiUrl,\n websocketUrl: input.websocketUrl,\n rpcUrl: input.rpcUrl,\n chainId: input.chainId,\n bundlerUrl: input.accountAbstraction.bundlerUrl,\n paymasterUrl: input.accountAbstraction.paymasterUrl,\n entryPoint: input.accountAbstraction.entryPoint,\n safe: input.accountAbstraction.safe,\n contracts: input.contracts,\n }),\n ),\n );\n}\n\n/**\n * Creates a complete SDK environment configuration from entrypoint and contract settings.\n */\nexport function createPolyesterEnvironment(\n params: CreatePolyesterEnvironmentParams,\n): PolyesterEnvironment {\n requireObject(params, \"Environment configuration\");\n requireNonEmptyString(params.name, \"name\");\n requireObject(params.accountAbstraction, \"accountAbstraction\");\n requireObject(params.contracts, \"contracts\");\n const apiUrl = normalizeUrl(params.apiUrl, \"apiUrl\", [\"https:\", \"http:\"], {\n allowSearch: false,\n });\n const websocketUrl = normalizeUrl(params.websocketUrl, \"websocketUrl\", [\"wss:\", \"ws:\"]);\n const rpcUrl = normalizeUrl(params.rpcUrl, \"rpcUrl\", [\"https:\", \"http:\"]);\n const bundlerUrl = normalizeUrl(params.accountAbstraction.bundlerUrl, \"bundlerUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const paymasterUrl = normalizeUrl(params.accountAbstraction.paymasterUrl, \"paymasterUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const chain = normalizeChain(params.chain, rpcUrl);\n const accountAbstraction = Object.freeze({\n bundlerUrl,\n paymasterUrl,\n entryPoint: normalizeEntryPoint(params.accountAbstraction.entryPoint),\n safe: normalizeSafeConfig(params.accountAbstraction.safe),\n });\n const contracts = Object.freeze({\n tradingGatewayAddress: normalizeAddress(\n params.contracts.tradingGatewayAddress,\n \"contracts.tradingGatewayAddress\",\n ),\n });\n const fingerprint = environmentFingerprint({\n apiUrl,\n websocketUrl,\n rpcUrl,\n chainId: chain.id,\n accountAbstraction,\n contracts,\n });\n\n return Object.freeze({\n name: params.name,\n fingerprint,\n apiUrl,\n websocketUrl,\n rpcUrl,\n chain,\n accountAbstraction,\n contracts,\n });\n}\n\n/**\n * Parses a complete environment supplied to a public SDK client constructor.\n */\nexport function parsePolyesterEnvironment(environment: PolyesterEnvironment): PolyesterEnvironment {\n requireObject(environment, \"environment\");\n const parsed = createPolyesterEnvironment(environment);\n if (environment.fingerprint !== parsed.fingerprint) {\n throw new ConfigurationError(\n \"environment.fingerprint must match the environment configuration.\",\n );\n }\n return parsed;\n}\n\nexport const POLYESTER_DEVNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-devnet\",\n apiUrl: \"https://api-devnet.polyester.ai\",\n websocketUrl: \"wss://api-devnet.polyester.ai\",\n rpcUrl: \"https://rpc.polyester.tech\",\n chain: {\n id: 888168,\n name: \"Polyester Chain Devnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.tech\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://devnet.polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xF35A6AE5408fa1356064849D0BC3855f801aa6aC\",\n blockCreated: 563457,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.tech\",\n paymasterUrl: \"https://paymaster.polyester.tech\",\n entryPoint: {\n address: \"0x59a4B77766509c4507D79eFF8089474eC3daC174\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0x80791683D9C079A37Debc67EaDdbFcBC6f0FF2bB\",\n safe4337ModuleAddress: \"0x0713FF3d4c1b4f177833a372b1e3cb977540EA11\",\n safeProxyFactoryAddress: \"0xF8F0F649Dd3bFa9095206691E9fb2356c26216dE\",\n safeSingletonAddress: \"0x92abEa238FEA8908c397cE65366ea9278f0AeC7A\",\n multiSendAddress: \"0x70C8a8CcB45a8E2589B0f019374fc923dA34E4c7\",\n multiSendCallOnlyAddress: \"0x375C86a08DA98d1944D7B3c736307A72186CcAf1\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0xD3fecf5D39131e23b6B0f872cA0a21c8A5a30932\",\n },\n});\n\nexport const POLYESTER_TESTNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-testnet\",\n apiUrl: \"https://api-testnet.polyester.com\",\n websocketUrl: \"wss://api-testnet.polyester.com\",\n rpcUrl: \"https://rpc.polyester.live\",\n chain: {\n id: 888169,\n name: \"Polyester Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.live\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://testnet.polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xF35A6AE5408fa1356064849D0BC3855f801aa6aC\",\n blockCreated: 179823,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.live\",\n paymasterUrl: \"https://paymaster.polyester.live\",\n entryPoint: {\n address: \"0x35c524a72ffb4D348d616cDD340D176c8f3C8B2C\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0xdA9510c95Ab50EAd5A3DD28FA6BACce497dCF1fB\",\n safe4337ModuleAddress: \"0xE278E4BCb71b095f7dAaa1bcEc1950696Fc40C74\",\n safeProxyFactoryAddress: \"0x2b8250158D58dD6D5e89313fa940586C9054A547\",\n safeSingletonAddress: \"0x6f00AB12B6A8aFf400F14f4Cd738549f0F53390d\",\n multiSendAddress: \"0xA38fEFA19ff5d8E3d988b2a0e6C8A2ae099fd97D\",\n multiSendCallOnlyAddress: \"0xE99b6c6d550B322347EeE11f4e8643377D8475A8\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0x20ef1BCeE69D73Ce1649E688dAA9A7AcF441f0EE\",\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"environment.js","names":[],"sources":["../src/environment.ts"],"sourcesContent":["import type { SafeVersion } from \"permissionless/accounts\";\nimport { ConfigurationError } from \"./shared/errors.js\";\nimport type { Address, Chain } from \"viem\";\nimport { checksumEvmAddress, evmUtf8ToBytes, isEvmAddress, keccak256Hex } from \"./utils/evm.js\";\n\nexport interface PolyesterEntryPointConfig {\n readonly address: Address;\n readonly version: \"0.7\";\n}\n\nexport interface PolyesterSafeDeploymentConfig {\n readonly version: SafeVersion;\n readonly safeModuleSetupAddress: Address;\n readonly safe4337ModuleAddress: Address;\n readonly safeProxyFactoryAddress: Address;\n readonly safeSingletonAddress: Address;\n readonly multiSendAddress: Address;\n readonly multiSendCallOnlyAddress?: Address;\n}\n\nexport interface PolyesterAccountAbstractionEnvironment {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n}\n\nexport interface PolyesterContractsEnvironment {\n readonly tradingGatewayAddress: Address;\n}\n\nexport interface PolyesterEnvironment {\n readonly name: string;\n readonly fingerprint: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: PolyesterAccountAbstractionEnvironment;\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nexport interface CreatePolyesterEnvironmentParams {\n readonly name: string;\n readonly apiUrl: string;\n readonly websocketUrl: string;\n readonly rpcUrl: string;\n readonly chain: Chain;\n readonly accountAbstraction: {\n readonly bundlerUrl: string;\n readonly paymasterUrl: string;\n readonly entryPoint: PolyesterEntryPointConfig;\n readonly safe: PolyesterSafeDeploymentConfig;\n };\n readonly contracts: PolyesterContractsEnvironment;\n}\n\nconst LOCAL_HOSTS = new Set([\"localhost\", \"127.0.0.1\", \"::1\", \"[::1]\"]);\n\nfunction requireObject(value: unknown, label: string): asserts value is Record<string, unknown> {\n if (typeof value !== \"object\" || value === null || Array.isArray(value)) {\n throw new ConfigurationError(`${label} must be an object.`);\n }\n}\n\nfunction requireNonEmptyString(value: unknown, label: string): asserts value is string {\n if (typeof value !== \"string\" || value.trim().length === 0) {\n throw new ConfigurationError(`${label} must be a non-empty string.`);\n }\n}\n\nfunction isLocalHost(hostname: string): boolean {\n return LOCAL_HOSTS.has(hostname);\n}\n\nfunction normalizeUrl(\n value: string,\n label: string,\n allowedProtocols: readonly string[],\n options?: { allowSearch?: boolean },\n): string {\n let url: URL;\n try {\n url = new URL(value);\n } catch {\n throw new ConfigurationError(`${label} must be a valid URL.`);\n }\n\n if (!allowedProtocols.includes(url.protocol)) {\n throw new ConfigurationError(`${label} must use ${allowedProtocols.join(\" or \")}.`);\n }\n\n const insecureRemote =\n (url.protocol === \"http:\" || url.protocol === \"ws:\") && !isLocalHost(url.hostname);\n if (insecureRemote) {\n throw new ConfigurationError(`${label} must use a secure protocol for remote hosts.`);\n }\n\n if (options?.allowSearch === false && url.search) {\n throw new ConfigurationError(`${label} must not include query parameters.`);\n }\n\n url.hash = \"\";\n return url.toString().replace(/\\/+$/u, \"\");\n}\n\nfunction normalizeAddress(value: Address, label: string): Address {\n if (!isEvmAddress(value)) {\n throw new ConfigurationError(`${label} must be a valid address.`);\n }\n return checksumEvmAddress(value);\n}\n\nfunction normalizeEntryPoint(entryPoint: PolyesterEntryPointConfig): PolyesterEntryPointConfig {\n requireObject(entryPoint, \"accountAbstraction.entryPoint\");\n if (entryPoint.version !== \"0.7\") {\n throw new ConfigurationError(\"accountAbstraction.entryPoint.version must be 0.7.\");\n }\n return Object.freeze({\n address: normalizeAddress(entryPoint.address, \"accountAbstraction.entryPoint.address\"),\n version: entryPoint.version,\n });\n}\n\nfunction normalizeSafeConfig(safe: PolyesterSafeDeploymentConfig): PolyesterSafeDeploymentConfig {\n requireObject(safe, \"accountAbstraction.safe\");\n if (safe.version !== \"1.4.1\" && safe.version !== \"1.5.0\") {\n throw new ConfigurationError(\n 'accountAbstraction.safe.version must be either \"1.4.1\" or \"1.5.0\".',\n );\n }\n return Object.freeze({\n version: safe.version,\n safeModuleSetupAddress: normalizeAddress(\n safe.safeModuleSetupAddress,\n \"accountAbstraction.safe.safeModuleSetupAddress\",\n ),\n safe4337ModuleAddress: normalizeAddress(\n safe.safe4337ModuleAddress,\n \"accountAbstraction.safe.safe4337ModuleAddress\",\n ),\n safeProxyFactoryAddress: normalizeAddress(\n safe.safeProxyFactoryAddress,\n \"accountAbstraction.safe.safeProxyFactoryAddress\",\n ),\n safeSingletonAddress: normalizeAddress(\n safe.safeSingletonAddress,\n \"accountAbstraction.safe.safeSingletonAddress\",\n ),\n multiSendAddress: normalizeAddress(\n safe.multiSendAddress,\n \"accountAbstraction.safe.multiSendAddress\",\n ),\n multiSendCallOnlyAddress: safe.multiSendCallOnlyAddress\n ? normalizeAddress(\n safe.multiSendCallOnlyAddress,\n \"accountAbstraction.safe.multiSendCallOnlyAddress\",\n )\n : undefined,\n });\n}\n\nfunction normalizeChain(chain: Chain, rpcUrl: string): Chain {\n requireObject(chain, \"chain\");\n if (!Number.isInteger(chain.id) || chain.id <= 0) {\n throw new ConfigurationError(\"chain.id must be a positive integer.\");\n }\n requireNonEmptyString(chain.name, \"chain.name\");\n requireObject(chain.nativeCurrency, \"chain.nativeCurrency\");\n if (!Number.isInteger(chain.nativeCurrency.decimals) || chain.nativeCurrency.decimals < 0) {\n throw new ConfigurationError(\n \"chain.nativeCurrency.decimals must be a non-negative integer.\",\n );\n }\n requireNonEmptyString(chain.nativeCurrency.name, \"chain.nativeCurrency.name\");\n requireNonEmptyString(chain.nativeCurrency.symbol, \"chain.nativeCurrency.symbol\");\n requireObject(chain.rpcUrls, \"chain.rpcUrls\");\n requireObject(chain.rpcUrls.default, \"chain.rpcUrls.default\");\n if (!Array.isArray(chain.rpcUrls.default.http)) {\n throw new ConfigurationError(\"chain.rpcUrls.default.http must be an array.\");\n }\n\n // Shape parity with viem's defineChain: spread over undefined defaults.\n return Object.freeze({\n formatters: undefined,\n fees: undefined,\n serializers: undefined,\n ...chain,\n rpcUrls: {\n ...chain.rpcUrls,\n default: {\n ...chain.rpcUrls.default,\n http: [rpcUrl],\n },\n },\n });\n}\n\nfunction environmentFingerprint(input: {\n apiUrl: string;\n websocketUrl: string;\n rpcUrl: string;\n chainId: number;\n accountAbstraction: PolyesterAccountAbstractionEnvironment;\n contracts: PolyesterContractsEnvironment;\n}): string {\n return keccak256Hex(\n evmUtf8ToBytes(\n JSON.stringify({\n apiUrl: input.apiUrl,\n websocketUrl: input.websocketUrl,\n rpcUrl: input.rpcUrl,\n chainId: input.chainId,\n bundlerUrl: input.accountAbstraction.bundlerUrl,\n paymasterUrl: input.accountAbstraction.paymasterUrl,\n entryPoint: input.accountAbstraction.entryPoint,\n safe: input.accountAbstraction.safe,\n contracts: input.contracts,\n }),\n ),\n );\n}\n\n/**\n * Creates a complete SDK environment configuration from entrypoint and contract settings.\n */\nexport function createPolyesterEnvironment(\n params: CreatePolyesterEnvironmentParams,\n): PolyesterEnvironment {\n requireObject(params, \"Environment configuration\");\n requireNonEmptyString(params.name, \"name\");\n requireObject(params.accountAbstraction, \"accountAbstraction\");\n requireObject(params.contracts, \"contracts\");\n const apiUrl = normalizeUrl(params.apiUrl, \"apiUrl\", [\"https:\", \"http:\"], {\n allowSearch: false,\n });\n const websocketUrl = normalizeUrl(params.websocketUrl, \"websocketUrl\", [\"wss:\", \"ws:\"]);\n const rpcUrl = normalizeUrl(params.rpcUrl, \"rpcUrl\", [\"https:\", \"http:\"]);\n const bundlerUrl = normalizeUrl(params.accountAbstraction.bundlerUrl, \"bundlerUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const paymasterUrl = normalizeUrl(params.accountAbstraction.paymasterUrl, \"paymasterUrl\", [\n \"https:\",\n \"http:\",\n ]);\n const chain = normalizeChain(params.chain, rpcUrl);\n const accountAbstraction = Object.freeze({\n bundlerUrl,\n paymasterUrl,\n entryPoint: normalizeEntryPoint(params.accountAbstraction.entryPoint),\n safe: normalizeSafeConfig(params.accountAbstraction.safe),\n });\n const contracts = Object.freeze({\n tradingGatewayAddress: normalizeAddress(\n params.contracts.tradingGatewayAddress,\n \"contracts.tradingGatewayAddress\",\n ),\n });\n const fingerprint = environmentFingerprint({\n apiUrl,\n websocketUrl,\n rpcUrl,\n chainId: chain.id,\n accountAbstraction,\n contracts,\n });\n\n return Object.freeze({\n name: params.name,\n fingerprint,\n apiUrl,\n websocketUrl,\n rpcUrl,\n chain,\n accountAbstraction,\n contracts,\n });\n}\n\n/**\n * Parses a complete environment supplied to a public SDK client constructor.\n */\nexport function parsePolyesterEnvironment(environment: PolyesterEnvironment): PolyesterEnvironment {\n requireObject(environment, \"environment\");\n const parsed = createPolyesterEnvironment(environment);\n if (environment.fingerprint !== parsed.fingerprint) {\n throw new ConfigurationError(\n \"environment.fingerprint must match the environment configuration.\",\n );\n }\n return parsed;\n}\n\nexport const POLYESTER_DEVNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-devnet\",\n apiUrl: \"https://api-devnet.polyester.ai\",\n websocketUrl: \"wss://api-devnet.polyester.ai\",\n rpcUrl: \"https://rpc.polyester.tech\",\n chain: {\n id: 888168,\n name: \"Polyester Chain Devnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.tech\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://devnet.polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xF35A6AE5408fa1356064849D0BC3855f801aa6aC\",\n blockCreated: 563457,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.tech\",\n paymasterUrl: \"https://paymaster.polyester.tech\",\n entryPoint: {\n address: \"0x59a4B77766509c4507D79eFF8089474eC3daC174\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0x80791683D9C079A37Debc67EaDdbFcBC6f0FF2bB\",\n safe4337ModuleAddress: \"0x0713FF3d4c1b4f177833a372b1e3cb977540EA11\",\n safeProxyFactoryAddress: \"0xF8F0F649Dd3bFa9095206691E9fb2356c26216dE\",\n safeSingletonAddress: \"0x92abEa238FEA8908c397cE65366ea9278f0AeC7A\",\n multiSendAddress: \"0x70C8a8CcB45a8E2589B0f019374fc923dA34E4c7\",\n multiSendCallOnlyAddress: \"0x375C86a08DA98d1944D7B3c736307A72186CcAf1\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0xD3fecf5D39131e23b6B0f872cA0a21c8A5a30932\",\n },\n});\n\nexport const POLYESTER_TESTNET_ENVIRONMENT = createPolyesterEnvironment({\n name: \"polyester-testnet\",\n apiUrl: \"https://api-testnet.polyester.com\",\n websocketUrl: \"wss://api-testnet.polyester.com\",\n rpcUrl: \"https://rpc.polyester.live\",\n chain: {\n id: 888169,\n name: \"Polyester Chain Testnet\",\n nativeCurrency: {\n decimals: 18,\n name: \"POL\",\n symbol: \"POL\",\n },\n rpcUrls: {\n default: {\n http: [\"https://rpc.polyester.live\"],\n },\n },\n blockExplorers: {\n default: {\n name: \"Polyester Scan\",\n url: \"https://testnet.polyesterscan.com\",\n },\n },\n contracts: {\n multicall3: {\n address: \"0xfc9B0991DC84E419C9b164dE89795958a5B0A0cF\",\n blockCreated: 179823,\n },\n },\n },\n accountAbstraction: {\n bundlerUrl: \"https://bundler.polyester.live\",\n paymasterUrl: \"https://paymaster.polyester.live\",\n entryPoint: {\n address: \"0x35c524a72ffb4D348d616cDD340D176c8f3C8B2C\",\n version: \"0.7\",\n },\n safe: {\n version: \"1.4.1\",\n safeModuleSetupAddress: \"0xdA9510c95Ab50EAd5A3DD28FA6BACce497dCF1fB\",\n safe4337ModuleAddress: \"0xE278E4BCb71b095f7dAaa1bcEc1950696Fc40C74\",\n safeProxyFactoryAddress: \"0x2b8250158D58dD6D5e89313fa940586C9054A547\",\n safeSingletonAddress: \"0x6f00AB12B6A8aFf400F14f4Cd738549f0F53390d\",\n multiSendAddress: \"0xA38fEFA19ff5d8E3d988b2a0e6C8A2ae099fd97D\",\n multiSendCallOnlyAddress: \"0xE99b6c6d550B322347EeE11f4e8643377D8475A8\",\n },\n },\n contracts: {\n tradingGatewayAddress: \"0x20ef1BCeE69D73Ce1649E688dAA9A7AcF441f0EE\",\n },\n});\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ type TimestampInit = {
11
11
  };
12
12
  declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
13
13
  readonly symbolId: v.NumberSchema<undefined>;
14
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
14
+ readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
15
15
  readonly tsSec: v.BigintSchema<undefined>;
16
16
  readonly open: v.BigintSchema<undefined>;
17
17
  readonly high: v.BigintSchema<undefined>;
@@ -22,7 +22,7 @@ declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<read
22
22
  readonly isClosed: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
23
23
  }, undefined>, v.TransformAction<{
24
24
  symbolId: number;
25
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
25
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
26
26
  tsSec: bigint;
27
27
  open: bigint;
28
28
  high: bigint;
@@ -33,7 +33,7 @@ declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<read
33
33
  isClosed: boolean;
34
34
  }, {
35
35
  symbolId: number;
36
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
36
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
37
37
  time: number;
38
38
  open: string;
39
39
  high: string;
@@ -46,7 +46,7 @@ declare function createCandleRowSchema(scales: SdkScales): v.SchemaWithPipe<read
46
46
  declare const createCandleRowIntSchema: typeof createCandleRowSchema;
47
47
  declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
48
48
  readonly symbolId: v.NumberSchema<undefined>;
49
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
49
+ readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
50
50
  readonly tsSec: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
51
51
  readonly open: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
52
52
  readonly high: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
@@ -63,7 +63,7 @@ declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe
63
63
  readonly nextPageToken: v.OptionalSchema<v.StringSchema<undefined>, "">;
64
64
  }, undefined>, v.TransformAction<{
65
65
  symbolId: number;
66
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
66
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
67
67
  tsSec: bigint[];
68
68
  open: bigint[];
69
69
  high: bigint[];
@@ -80,7 +80,7 @@ declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe
80
80
  nextPageToken: string;
81
81
  }, {
82
82
  symbolId: number;
83
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
83
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
84
84
  time: number[];
85
85
  open: string[];
86
86
  high: string[];
@@ -100,7 +100,7 @@ declare function createCandleColumnarSchema(scales: SdkScales): v.SchemaWithPipe
100
100
  }>]>;
101
101
  declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
102
102
  readonly symbolId: v.NumberSchema<undefined>;
103
- readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">>]>;
103
+ readonly timeframe: v.SchemaWithPipe<readonly [v.EnumSchema<typeof Timeframe$1, undefined>, v.TransformAction<Timeframe$1, DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">>]>;
104
104
  readonly tsSec: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
105
105
  readonly open: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
106
106
  readonly high: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
@@ -117,7 +117,7 @@ declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithP
117
117
  readonly nextPageToken: v.OptionalSchema<v.StringSchema<undefined>, "">;
118
118
  }, undefined>, v.TransformAction<{
119
119
  symbolId: number;
120
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
120
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
121
121
  tsSec: bigint[];
122
122
  open: bigint[];
123
123
  high: bigint[];
@@ -134,7 +134,7 @@ declare function createCandleColumnarIntSchema(scales: SdkScales): v.SchemaWithP
134
134
  nextPageToken: string;
135
135
  }, {
136
136
  symbolId: number;
137
- timeframe: DecodedEnum<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo">;
137
+ timeframe: DecodedEnum<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo">;
138
138
  tsSec: number[];
139
139
  open: string[];
140
140
  high: string[];
@@ -158,7 +158,7 @@ type CandleColumnar = v.InferOutput<ReturnType<typeof createCandleColumnarSchema
158
158
  type CandleColumnarInt = v.InferOutput<ReturnType<typeof createCandleColumnarIntSchema>>;
159
159
  declare function createListCandlesInputSchema(): v.SchemaWithPipe<readonly [v.ObjectSchema<{
160
160
  readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
161
- readonly timeframe: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>, v.TransformAction<"1d" | "1h" | "1w" | "1m" | "1s" | "5m" | "15m" | "30m" | "4h" | "12h" | "1mo", Timeframe$1.SEC_1 | Timeframe$1.MIN_1 | Timeframe$1.MIN_5 | Timeframe$1.MIN_15 | Timeframe$1.MIN_30 | Timeframe$1.HOUR_1 | Timeframe$1.HOUR_4 | Timeframe$1.DAY_1 | Timeframe$1.HOUR_12 | Timeframe$1.WEEK_1 | Timeframe$1.MONTH_1>]>;
161
+ readonly timeframe: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["1s", "1m", "5m", "15m", "30m", "1h", "4h", "12h", "1d", "1w", "1mo"], undefined>, v.TransformAction<"1d" | "1s" | "1m" | "5m" | "15m" | "30m" | "1h" | "4h" | "12h" | "1w" | "1mo", Timeframe$1.SEC_1 | Timeframe$1.MIN_1 | Timeframe$1.MIN_5 | Timeframe$1.MIN_15 | Timeframe$1.MIN_30 | Timeframe$1.HOUR_1 | Timeframe$1.HOUR_4 | Timeframe$1.DAY_1 | Timeframe$1.HOUR_12 | Timeframe$1.WEEK_1 | Timeframe$1.MONTH_1>]>;
162
162
  readonly limit: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 10000, undefined>]>, undefined>;
163
163
  readonly includeIncomplete: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
164
164
  readonly includeReference: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
@@ -13,7 +13,7 @@ type TimestampInit = {
13
13
  };
14
14
  declare const GetOrderbookHeatmapInputSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
15
15
  readonly symbolId: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>;
16
- readonly interval: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["1s", "1m", "5m", "1h"], undefined>, "1s">, v.TransformAction<"1h" | "1m" | "1s" | "5m", HeatmapInterval>]>;
16
+ readonly interval: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["1s", "1m", "5m", "1h"], undefined>, "1s">, v.TransformAction<"1s" | "1m" | "5m" | "1h", HeatmapInterval>]>;
17
17
  readonly depth: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly [1, 5, 10, 20, 50, 100, 200, 500, 1000], undefined>, 50>, v.TransformAction<5 | 10 | 20 | 1 | 200 | 1000 | 500 | 100 | 50, HeatmapDepth>]>;
18
18
  readonly quantityMode: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["close", "peak"], undefined>, "close">, v.TransformAction<"close" | "peak", HeatmapQuantityMode>]>;
19
19
  readonly limit: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 20000, undefined>]>;
@@ -122,7 +122,7 @@ declare function convertHeatmapDeltaBucket(bucket: OrderbookHeatmapDeltaBucketRa
122
122
  type OrderbookHeatmapDeltaBucket = ReturnType<typeof convertHeatmapDeltaBucket>;
123
123
  declare const OrderbookHeatmapLiveBucketRawSchema: v.ObjectSchema<{
124
124
  readonly symbolId: v.NumberSchema<undefined>;
125
- readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1h" | "1m" | "1s" | "5m">>]>;
125
+ readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1s" | "1m" | "5m" | "1h">>]>;
126
126
  readonly tsSec: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
127
127
  readonly isFinal: v.BooleanSchema<undefined>;
128
128
  readonly bids: v.OptionalSchema<v.ObjectSchema<{
@@ -142,7 +142,7 @@ declare const OrderbookHeatmapLiveBucketRawSchema: v.ObjectSchema<{
142
142
  type OrderbookHeatmapLiveBucketRaw = v.InferOutput<typeof OrderbookHeatmapLiveBucketRawSchema>;
143
143
  declare function convertHeatmapLiveBucket(bucket: OrderbookHeatmapLiveBucketRaw, scales: SdkScales): {
144
144
  symbolId: number;
145
- interval: DecodedEnum<"1h" | "1m" | "1s" | "5m">;
145
+ interval: DecodedEnum<"1s" | "1m" | "5m" | "1h">;
146
146
  tsSec: number;
147
147
  isFinal: boolean;
148
148
  bids: {
@@ -226,7 +226,7 @@ declare function convertHeatmapDeltaChain(chain: OrderbookHeatmapDeltaChainRaw,
226
226
  type OrderbookHeatmapDeltaChain = ReturnType<typeof convertHeatmapDeltaChain>;
227
227
  declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.SchemaWithPipe<readonly [v.ObjectSchema<{
228
228
  readonly symbolId: v.NumberSchema<undefined>;
229
- readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1h" | "1m" | "1s" | "5m">>]>;
229
+ readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1s" | "1m" | "5m" | "1h">>]>;
230
230
  readonly depth: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, 5 | 10 | 20 | 1 | "unspecified" | 200 | 1000 | 500 | 100 | 50>]>;
231
231
  readonly chain: v.OptionalSchema<v.ObjectSchema<{
232
232
  readonly baseKeyframe: v.OptionalSchema<v.ObjectSchema<{
@@ -267,7 +267,7 @@ declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.Sche
267
267
  readonly quantityMode: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"close" | "peak">>]>;
268
268
  readonly liveBucket: v.OptionalSchema<v.ObjectSchema<{
269
269
  readonly symbolId: v.NumberSchema<undefined>;
270
- readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1h" | "1m" | "1s" | "5m">>]>;
270
+ readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, DecodedEnum<"1s" | "1m" | "5m" | "1h">>]>;
271
271
  readonly tsSec: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
272
272
  readonly isFinal: v.BooleanSchema<undefined>;
273
273
  readonly bids: v.OptionalSchema<v.ObjectSchema<{
@@ -286,7 +286,7 @@ declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.Sche
286
286
  }, undefined>, undefined>;
287
287
  }, undefined>, v.TransformAction<{
288
288
  symbolId: number;
289
- interval: DecodedEnum<"1h" | "1m" | "1s" | "5m">;
289
+ interval: DecodedEnum<"1s" | "1m" | "5m" | "1h">;
290
290
  depth: 5 | 10 | 20 | 1 | "unspecified" | 200 | 1000 | 500 | 100 | 50;
291
291
  chain?: {
292
292
  baseKeyframe?: {
@@ -327,7 +327,7 @@ declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.Sche
327
327
  quantityMode: DecodedEnum<"close" | "peak">;
328
328
  liveBucket?: {
329
329
  symbolId: number;
330
- interval: DecodedEnum<"1h" | "1m" | "1s" | "5m">;
330
+ interval: DecodedEnum<"1s" | "1m" | "5m" | "1h">;
331
331
  tsSec: number;
332
332
  isFinal: boolean;
333
333
  bids?: {
@@ -346,7 +346,7 @@ declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.Sche
346
346
  } | undefined;
347
347
  }, {
348
348
  symbolId: number;
349
- interval: DecodedEnum<"1h" | "1m" | "1s" | "5m">;
349
+ interval: DecodedEnum<"1s" | "1m" | "5m" | "1h">;
350
350
  depth: 5 | 10 | 20 | 1 | "unspecified" | 200 | 1000 | 500 | 100 | 50;
351
351
  chain: {
352
352
  baseKeyframe: {
@@ -387,7 +387,7 @@ declare function createOrderbookHeatmapResponseSchema(scales: SdkScales): v.Sche
387
387
  quantityMode: DecodedEnum<"close" | "peak">;
388
388
  liveBucket: {
389
389
  symbolId: number;
390
- interval: DecodedEnum<"1h" | "1m" | "1s" | "5m">;
390
+ interval: DecodedEnum<"1s" | "1m" | "5m" | "1h">;
391
391
  tsSec: number;
392
392
  isFinal: boolean;
393
393
  bids: {
@@ -30,7 +30,7 @@ declare function createMarketOverviewSchema(scales: SdkScales): v.SchemaWithPipe
30
30
  readonly bestAskTicks: v.BigintSchema<undefined>;
31
31
  readonly bestAskQtyScaled: v.BigintSchema<undefined>;
32
32
  readonly sparklines: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
33
- readonly interval: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SparklineInterval, undefined>, v.TransformAction<SparklineInterval, "unspecified" | "1h" | "24h" | "1w" | "1m">]>;
33
+ readonly interval: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SparklineInterval, undefined>, v.TransformAction<SparklineInterval, "unspecified" | "1m" | "1h" | "1w" | "24h">]>;
34
34
  readonly closeTicks: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
35
35
  }, undefined>, undefined>, readonly []>;
36
36
  readonly indexPriceTicks: v.BigintSchema<undefined>;
@@ -50,7 +50,7 @@ declare function createMarketOverviewSchema(scales: SdkScales): v.SchemaWithPipe
50
50
  bestAskTicks: bigint;
51
51
  bestAskQtyScaled: bigint;
52
52
  sparklines: {
53
- interval: "unspecified" | "1h" | "24h" | "1w" | "1m";
53
+ interval: "unspecified" | "1m" | "1h" | "1w" | "24h";
54
54
  closeTicks: bigint[];
55
55
  }[];
56
56
  indexPriceTicks: bigint;
@@ -80,7 +80,7 @@ declare const ListMarketOverviewInputSchema: v.SchemaWithPipe<readonly [v.Strict
80
80
  readonly orderBy: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["change_24h_bps", "volume_24h_usd", "last_price", "date_added"], undefined>, "volume_24h_usd">, v.TransformAction<"change_24h_bps" | "volume_24h_usd" | "last_price" | "date_added", MarketOrderBy.ORDER_BY_CHANGE_24H_BPS | MarketOrderBy.ORDER_BY_VOLUME_24H_USD | MarketOrderBy.ORDER_BY_LAST_PRICE | MarketOrderBy.ORDER_BY_DATE_ADDED>]>;
81
81
  readonly sort: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["asc", "desc"], undefined>, "desc">, v.TransformAction<"asc" | "desc", SortDirection.SORT_ASC | SortDirection.SORT_DESC>]>;
82
82
  readonly includeSparklines: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
83
- readonly sparklineIntervals: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["1h", "24h", "1w", "1m"], undefined>, undefined>, readonly ["24h"]>, v.TransformAction<("1h" | "24h" | "1w" | "1m")[], (SparklineInterval.SPARKLINE_1H | SparklineInterval.SPARKLINE_24H | SparklineInterval.SPARKLINE_1W | SparklineInterval.SPARKLINE_1M)[]>]>;
83
+ readonly sparklineIntervals: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["1h", "24h", "1w", "1m"], undefined>, undefined>, readonly ["24h"]>, v.TransformAction<("1m" | "1h" | "1w" | "24h")[], (SparklineInterval.SPARKLINE_1H | SparklineInterval.SPARKLINE_24H | SparklineInterval.SPARKLINE_1W | SparklineInterval.SPARKLINE_1M)[]>]>;
84
84
  }, undefined>, v.TransformAction<{
85
85
  symbolIds: number[];
86
86
  limit: number;
@@ -3140,18 +3140,18 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3140
3140
  readonly admissionStatus: v.SchemaWithPipe<readonly [v.EnumSchema<typeof BatchReplaceAdmissionStatus, undefined>, v.TransformAction<BatchReplaceAdmissionStatus, "unspecified" | "rejected" | "admitted" | "partially_admitted">]>;
3141
3141
  readonly items: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
3142
3142
  readonly itemIndex: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
3143
- readonly phase: v.SchemaWithPipe<readonly [v.EnumSchema<typeof BatchReplacePhase, undefined>, v.TransformAction<BatchReplacePhase, "unspecified" | "terminal" | "rejected" | "admitted" | "working">]>;
3143
+ readonly phase: v.SchemaWithPipe<readonly [v.EnumSchema<typeof BatchReplacePhase, undefined>, v.TransformAction<BatchReplacePhase, "unspecified" | "terminal" | "working" | "rejected" | "admitted">]>;
3144
3144
  readonly oldOrderId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
3145
3145
  readonly replacementOrderId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
3146
- readonly orderStatus: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled">]>;
3146
+ readonly orderStatus: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected">]>;
3147
3147
  readonly code: v.StringSchema<undefined>;
3148
3148
  readonly updatedTsNs: v.BigintSchema<undefined>;
3149
3149
  }, undefined>, v.TransformAction<{
3150
3150
  itemIndex: number;
3151
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3151
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3152
3152
  oldOrderId?: string | undefined;
3153
3153
  replacementOrderId?: string | undefined;
3154
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3154
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3155
3155
  code: string;
3156
3156
  updatedTsNs: bigint;
3157
3157
  }, {
@@ -3159,10 +3159,10 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3159
3159
  updatedTs: number;
3160
3160
  updatedTsNs: string;
3161
3161
  itemIndex: number;
3162
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3162
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3163
3163
  oldOrderId?: string | undefined;
3164
3164
  replacementOrderId?: string | undefined;
3165
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3165
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3166
3166
  }>]>, undefined>;
3167
3167
  readonly acceptedCount: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
3168
3168
  readonly rejectedCount: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
@@ -3176,10 +3176,10 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3176
3176
  updatedTs: number;
3177
3177
  updatedTsNs: string;
3178
3178
  itemIndex: number;
3179
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3179
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3180
3180
  oldOrderId?: string | undefined;
3181
3181
  replacementOrderId?: string | undefined;
3182
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3182
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3183
3183
  }[];
3184
3184
  acceptedCount: number;
3185
3185
  rejectedCount: number;
@@ -3193,10 +3193,10 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3193
3193
  updatedTs: number;
3194
3194
  updatedTsNs: string;
3195
3195
  itemIndex: number;
3196
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3196
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3197
3197
  oldOrderId?: string | undefined;
3198
3198
  replacementOrderId?: string | undefined;
3199
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3199
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3200
3200
  }[];
3201
3201
  acceptedCount: number;
3202
3202
  rejectedCount: number;
@@ -3210,10 +3210,10 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3210
3210
  updatedTs: number;
3211
3211
  updatedTsNs: string;
3212
3212
  itemIndex: number;
3213
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3213
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3214
3214
  oldOrderId?: string | undefined;
3215
3215
  replacementOrderId?: string | undefined;
3216
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3216
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3217
3217
  }[];
3218
3218
  acceptedCount: number;
3219
3219
  rejectedCount: number;
@@ -3231,10 +3231,10 @@ declare const GetBatchReplaceStatusResultSchema: v.SchemaWithPipe<readonly [v.Ob
3231
3231
  updatedTs: number;
3232
3232
  updatedTsNs: string;
3233
3233
  itemIndex: number;
3234
- phase: "unspecified" | "terminal" | "rejected" | "admitted" | "working";
3234
+ phase: "unspecified" | "terminal" | "working" | "rejected" | "admitted";
3235
3235
  oldOrderId?: string | undefined;
3236
3236
  replacementOrderId?: string | undefined;
3237
- orderStatus: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
3237
+ orderStatus: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
3238
3238
  }[];
3239
3239
  acceptedCount: number;
3240
3240
  rejectedCount: number;
@@ -40,7 +40,7 @@ type OpenOrdersInput = v.InferInput<typeof OpenOrdersInputSchema>;
40
40
  declare const OrderHistoryInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
41
41
  readonly includeAttachedRisk: v.OptionalSchema<v.BooleanSchema<undefined>, true>;
42
42
  readonly includeAttachedRiskState: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
43
- readonly status: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["FILLED", "CANCELED", "REJECTED"], undefined>, undefined>, v.TransformAction<"CANCELED" | "REJECTED" | "FILLED" | undefined, OrderStatus.FILLED | OrderStatus.CANCELED | OrderStatus.REJECTED | undefined>]>;
43
+ readonly status: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["FILLED", "CANCELED", "REJECTED"], undefined>, undefined>, v.TransformAction<"FILLED" | "CANCELED" | "REJECTED" | undefined, OrderStatus.FILLED | OrderStatus.CANCELED | OrderStatus.REJECTED | undefined>]>;
44
44
  readonly startTsNs: v.SchemaWithPipe<readonly [v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>, v.TransformAction<string | undefined, bigint | undefined>]>;
45
45
  readonly endTsNs: v.SchemaWithPipe<readonly [v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>, v.TransformAction<string | undefined, bigint | undefined>]>;
46
46
  readonly symbolId: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.GtValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>, undefined>, undefined>;
@@ -9,7 +9,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
9
9
  readonly symbolId: v.NumberSchema<undefined>;
10
10
  readonly clientOrderId: v.StringSchema<undefined>;
11
11
  readonly side: v.EnumSchema<typeof Side, undefined>;
12
- readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled">]>;
12
+ readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected">]>;
13
13
  readonly orderType: v.NumberSchema<undefined>;
14
14
  readonly timeInForce: v.NumberSchema<undefined>;
15
15
  readonly selfTradePreventionMode: v.NumberSchema<undefined>;
@@ -111,7 +111,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
111
111
  symbolId: number;
112
112
  clientOrderId: string;
113
113
  side: Side;
114
- status: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
114
+ status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
115
115
  orderType: number;
116
116
  timeInForce: number;
117
117
  selfTradePreventionMode: number;
@@ -224,7 +224,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
224
224
  orderId: string;
225
225
  symbolId: number;
226
226
  clientOrderId: string;
227
- status: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled" | "partial";
227
+ status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected" | "partial";
228
228
  side: "unspecified" | "buy" | "sell";
229
229
  orderType: "unspecified" | "limit" | "market";
230
230
  timeInForce: "unspecified" | "GTC" | "IOC" | "FOK";
@@ -352,7 +352,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
352
352
  readonly symbolId: v.NumberSchema<undefined>;
353
353
  readonly clientOrderId: v.StringSchema<undefined>;
354
354
  readonly side: v.EnumSchema<typeof Side, undefined>;
355
- readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled">]>;
355
+ readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected">]>;
356
356
  readonly orderType: v.NumberSchema<undefined>;
357
357
  readonly timeInForce: v.NumberSchema<undefined>;
358
358
  readonly selfTradePreventionMode: v.NumberSchema<undefined>;
@@ -454,7 +454,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
454
454
  symbolId: number;
455
455
  clientOrderId: string;
456
456
  side: Side;
457
- status: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled";
457
+ status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
458
458
  orderType: number;
459
459
  timeInForce: number;
460
460
  selfTradePreventionMode: number;
@@ -567,7 +567,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
567
567
  orderId: string;
568
568
  symbolId: number;
569
569
  clientOrderId: string;
570
- status: "unspecified" | "pending" | "canceled" | "rejected" | "working" | "pending_cancel" | "filled" | "partial";
570
+ status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected" | "partial";
571
571
  side: "unspecified" | "buy" | "sell";
572
572
  orderType: "unspecified" | "limit" | "market";
573
573
  timeInForce: "unspecified" | "GTC" | "IOC" | "FOK";
@@ -279,8 +279,8 @@ declare const SubaccountActivityEventSchema: v.ObjectSchema<{
279
279
  seconds: bigint;
280
280
  nanos: number;
281
281
  } | undefined, number | undefined>]>;
282
- readonly entityKind: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEntityKind, undefined>, v.TransformAction<ActivityEntityKind, "unspecified" | "api_key" | "account" | "subaccount" | "destination" | "session" | "member" | "policy" | "invite" | "security">]>;
283
- readonly eventAction: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEventAction, undefined>, v.TransformAction<ActivityEventAction, "unspecified" | "enabled" | "disabled" | "created" | "updated" | "deleted" | "removed" | "role_set" | "received" | "replied" | "failed" | "revoked" | "blocked" | "hold_placed" | "hold_released">]>;
282
+ readonly entityKind: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEntityKind, undefined>, v.TransformAction<ActivityEntityKind, "unspecified" | "api_key" | "account" | "subaccount" | "destination" | "session" | "policy" | "member" | "invite" | "security">]>;
283
+ readonly eventAction: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEventAction, undefined>, v.TransformAction<ActivityEventAction, "unspecified" | "enabled" | "disabled" | "revoked" | "created" | "updated" | "deleted" | "removed" | "role_set" | "received" | "replied" | "failed" | "blocked" | "hold_placed" | "hold_released">]>;
284
284
  readonly source: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEventSource, undefined>, v.TransformAction<ActivityEventSource, "unspecified" | "web" | "mobile" | "api">]>;
285
285
  readonly ip: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
286
286
  readonly userAgent: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polyester/sdk",
3
- "version": "0.22.2",
3
+ "version": "0.22.3",
4
4
  "private": false,
5
5
  "description": "TypeScript SDK providing access to APIs on Polyester Exchange.",
6
6
  "homepage": "https://github.com/Fabric-Labs/polyester-sdk-typescript#readme",