@velora-dex/sdk
Version:
31 lines • 2.6 kB
TypeScript
import type { ConstructProviderFetchInput, RequestParameters, TxSendOverrides } from '../../types';
import { SignableTWAPOrderData } from './helpers/buildTWAPOrderData';
import type { TWAPDeltaOrder, TWAPBuyDeltaOrder } from './helpers/types';
type HashTWAPDeltaOrderTypedData = (signableOrderData: SignableTWAPOrderData) => string;
type HashTWAPDeltaOrder = {
(orderData: TWAPDeltaOrder, onChainOrderType: 'TWAPOrder', requestParams?: RequestParameters): Promise<string>;
(orderData: TWAPBuyDeltaOrder, onChainOrderType: 'TWAPBuyOrder', requestParams?: RequestParameters): Promise<string>;
};
export type SetTWAPDeltaOrderPreSignature<T> = (orderHash: string, overrides?: TxSendOverrides, requestParams?: RequestParameters) => Promise<T>;
export type PreSignTWAPDeltaOrder<T> = (signableOrderData: SignableTWAPOrderData, overrides?: TxSendOverrides, requestParams?: RequestParameters) => Promise<T>;
export type PreSignTWAPDeltaOrderFunctions<T> = {
/** @description Compute the EIP-712 order hash from already-built signable TWAP order data. Strips any extra fields off `data` before hashing; synchronous, no network call. */
hashTWAPDeltaOrderTypedData: HashTWAPDeltaOrderTypedData;
/** @description Resolve the Delta contract, build the EIP-712 typed data for the TWAP order (`'TWAPOrder'` sell or `'TWAPBuyOrder'` buy), and return its order hash. */
hashTWAPDeltaOrder: HashTWAPDeltaOrder;
/** @description On-chain `setPreSignature(orderHash, true)` on the Delta contract — pre-approves a TWAP order hash so it can be filled without an EIP-712 signature. Returns whatever the `contractCaller` returns. */
setTWAPDeltaOrderPreSignature: SetTWAPDeltaOrderPreSignature<T>;
/** @description Hash the signable TWAP order data and pre-sign it on-chain in one call (`hashTWAPDeltaOrderTypedData` → `setTWAPDeltaOrderPreSignature`). */
preSignTWAPDeltaOrder: PreSignTWAPDeltaOrder<T>;
};
/**
* @description Construct on-chain pre-signing helpers for TWAP Delta orders (sell
* and buy): order hashing (`hashTWAPDeltaOrder` / `hashTWAPDeltaOrderTypedData`) and
* `setPreSignature` transactions (`setTWAPDeltaOrderPreSignature` /
* `preSignTWAPDeltaOrder`). The transact methods return whatever the configured
* `contractCaller` returns, for versatility.
*/
export declare const constructPreSignTWAPDeltaOrder: <T>(options: ConstructProviderFetchInput<T, "transactCall">) => PreSignTWAPDeltaOrderFunctions<T>;
export declare function produceTWAPOrderHash(typedData: SignableTWAPOrderData): string;
export {};
//# sourceMappingURL=preSignTWAPDeltaOrder.d.ts.map