@velora-dex/sdk
Version:
28 lines • 2.51 kB
TypeScript
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