@plasma-fi/sdk
Version:
🛠An SDK for building dapp on PlasmaSwap.
63 lines (62 loc) • 2.1 kB
TypeScript
export declare type SignMethod = 'eth_signTypedData_v4' | 'eth_signTypedData_v3' | 'eth_signTypedData';
export interface EIP712Parameter {
name: string;
type: string;
}
export interface EIP712Types {
[key: string]: EIP712Parameter[];
}
export declare type EIP712ObjectValue = string | number | EIP712Object;
export interface EIP712Object {
[key: string]: EIP712ObjectValue;
}
export interface EIP712Domain {
name: string;
version: string;
chainId: number;
verifyingContract: string;
}
export interface EIP712TypedData {
types: EIP712Types;
domain: EIP712Domain;
primaryType: string;
message: EIP712Object;
}
export declare const EIP712_DOMAIN_ABI: EIP712Parameter[];
export declare const EIP712_DOMAIN_ABI_HASH: string;
export declare const EIP712_PERMIT_ABI: EIP712Parameter[];
export declare const EIP712_LIMIT_ORDER_ABI: EIP712Parameter[];
export declare const EIP712_LIMIT_ORDER_ABI_HASH: string;
export interface EIP712MessageForPermit extends EIP712Object {
owner: string;
spender: string;
value: string;
deadline: number;
nonce: string;
}
export interface EIP712MessageForLimitOrder extends EIP712Object {
makerToken: string;
takerToken: string;
makerAmount: string;
takerAmount: string;
takerTokenFeeAmount: string;
maker: string;
taker: string;
sender: string;
feeRecipient: string;
pool: string;
expiry: string;
salt: string;
}
/**
* Returns typed data for the issuing permission for the transfer of tokens (eth_signTypedData_v4)
*/
export declare function getEIP712TypedDataForPermit(domain: EIP712Domain, message: EIP712MessageForPermit): EIP712TypedData;
/**
* Returns typed data for the create limit order (eth_signTypedData_v3, eth_signTypedData_v4)
* @param domain
* @param domain.name - Should by 'ZeroEx'
* @param domain.version - Should by '1.0.0'
* @param message
*/
export declare function getLimitOrderEIP712TypedData(domain: EIP712Domain, message: EIP712MessageForLimitOrder): EIP712TypedData;