UNPKG

@velora-dex/sdk

Version:
28 lines 2.51 kB
import type { ConstructProviderFetchInput, RequestParameters, TxSendOverrides } from '../../types'; import { SignableExternalOrderData } from './helpers/buildExternalOrderData'; import type { ExternalDeltaOrder } from './helpers/types'; type HashExternalDeltaOrderTypedData = (signableOrderData: SignableExternalOrderData) => string; type HashExternalDeltaOrder = (orderData: ExternalDeltaOrder, requestParams?: RequestParameters) => Promise<string>; export type SetExternalDeltaOrderPreSignature<T> = (orderHash: string, overrides?: TxSendOverrides, requestParams?: RequestParameters) => Promise<T>; export type PreSignExternalDeltaOrder<T> = (signableOrderData: SignableExternalOrderData, overrides?: TxSendOverrides, requestParams?: RequestParameters) => Promise<T>; export type PreSignExternalDeltaOrderFunctions<T> = { /** @description Compute the EIP-712 order hash from already-built signable External order data. Strips any extra fields off `data` before hashing; synchronous, no network call. */ hashExternalDeltaOrderTypedData: HashExternalDeltaOrderTypedData; /** @description Resolve the Delta contract, build the EIP-712 typed data for the External order, and return its order hash. */ hashExternalDeltaOrder: HashExternalDeltaOrder; /** @description On-chain `setPreSignature(orderHash, true)` on the Delta contract — pre-approves an External order hash so it can be filled without an EIP-712 signature. Returns whatever the `contractCaller` returns. */ setExternalDeltaOrderPreSignature: SetExternalDeltaOrderPreSignature<T>; /** @description Hash the signable External order data and pre-sign it on-chain in one call (`hashExternalDeltaOrderTypedData` → `setExternalDeltaOrderPreSignature`). */ preSignExternalDeltaOrder: PreSignExternalDeltaOrder<T>; }; /** * @description Construct on-chain pre-signing helpers for External Delta orders: * order hashing (`hashExternalDeltaOrder` / `hashExternalDeltaOrderTypedData`) and * `setPreSignature` transactions (`setExternalDeltaOrderPreSignature` / * `preSignExternalDeltaOrder`). The transact methods return whatever the configured * `contractCaller` returns, for versatility. */ export declare const constructPreSignExternalDeltaOrder: <T>(options: ConstructProviderFetchInput<T, "transactCall">) => PreSignExternalDeltaOrderFunctions<T>; export declare function produceExternalOrderHash(typedData: SignableExternalOrderData): string; export {}; //# sourceMappingURL=preSignExternalDeltaOrder.d.ts.map