@solsdk/xswap_sdk
Version:
Universal cross-chain swaps SDK
30 lines • 1.37 kB
JavaScript
import { EVMIntentProvider } from './intent-provider.js';
import { CROSS_CHAIN_PERMIT2_TYPES, PERMIT2_DOMAIN, SINGLE_CHAIN_LIMIT_PERMIT2_TYPES } from './permit2.js';
export async function getEVMSingleChainOrderTypedData(order) {
const randomNonce = EVMIntentProvider.getRandomNonce();
const permissionMessage = EVMIntentProvider.getSingleChainLimitPermissionMessage(order, randomNonce);
const orderTypedData = {
domain: PERMIT2_DOMAIN(order.chainId),
types: SINGLE_CHAIN_LIMIT_PERMIT2_TYPES,
primaryType: 'PermitWitnessTransferFrom',
message: permissionMessage,
};
return { orderTypedData, nonce: randomNonce };
}
/**
* Generates typed data for EVM order signatures
* @param order The order to generate typed data for
* @returns Object containing the typed data and nonce
*/
export async function getEVMCrossChainOrderTypedData(order) {
const randomNonce = EVMIntentProvider.getRandomNonce();
const permissionMessage = EVMIntentProvider.getCrossChainPermissionMessage(order, randomNonce);
const orderTypedData = {
domain: PERMIT2_DOMAIN(order.sourceChainId),
types: CROSS_CHAIN_PERMIT2_TYPES,
primaryType: 'PermitWitnessTransferFrom',
message: permissionMessage,
};
return { orderTypedData, nonce: randomNonce };
}
//# sourceMappingURL=order-signature.js.map