Files
orionprotocol-sdk/src/crypt/hashOrder.ts
Aleksandr Kraiz 8588b55725 ESM
2023-03-31 17:47:56 +04:00

36 lines
635 B
TypeScript

import { ethers } from 'ethers';
import type { Order } from '../types.js';
const hashOrder = (order: Order) => ethers.utils.solidityKeccak256(
[
'uint8',
'address',
'address',
'address',
'address',
'address',
'uint64',
'uint64',
'uint64',
'uint64',
'uint64',
'uint8',
],
[
'0x03',
order.senderAddress,
order.matcherAddress,
order.baseAsset,
order.quoteAsset,
order.matcherFeeAsset,
order.amount,
order.price,
order.matcherFee,
order.nonce,
order.expiration,
order.buySide === 1 ? '0x01' : '0x00',
],
);
export default hashOrder;