UNPKG

@velora-dex/sdk

Version:
36 lines (30 loc) 1.05 kB
import type { ConstructProviderFetchInput } from '../../types'; import { SignableDeltaOrderData } from './helpers/buildDeltaOrderData'; import { sanitizeDeltaOrderData } from './helpers/misc'; type SignDeltaOrder = ( signableOrderData: SignableDeltaOrderData ) => Promise<string>; export type SignDeltaOrderFunctions = { signDeltaOrder: SignDeltaOrder; }; // returns whatever `contractCaller` returns // to allow for better versatility export const constructSignDeltaOrder = ( options: Pick< ConstructProviderFetchInput<any, 'signTypedDataCall'>, 'contractCaller' > ): SignDeltaOrderFunctions => { const signDeltaOrder: SignDeltaOrder = async (typedData) => { // types allow to pass OrderData & extra_stuff, but tx will break like that const typedDataOnly: SignableDeltaOrderData = { ...typedData, data: sanitizeDeltaOrderData(typedData.data), }; const signature = await options.contractCaller.signTypedDataCall( typedDataOnly ); return signature; }; return { signDeltaOrder }; };