@firefly-exchange/library-sui
Version:
Sui library housing helper methods, classes to interact with Bluefin protocol(s) deployed on Sui
49 lines (48 loc) • 2.29 kB
TypeScript
import { IntentScope, Signer } from "@mysten/sui/cryptography";
import { Order, SignedOrder } from "../interfaces/order";
import { SigPK } from "../types";
import { BaseWallet, ZkPayload } from "../interfaces";
export declare class OrderSigner {
private signer;
constructor(signer: Signer);
getSignedOrder(order: Order, signer?: Signer): Promise<SignedOrder>;
signOrder(order: Order, signer?: Signer): Promise<SigPK>;
static signOrderUsingZkSignature({ order, signer, zkPayload }: {
order: Order;
signer: Signer;
zkPayload: ZkPayload;
}): Promise<SigPK>;
/**
* Signs the order using the provided wallet context
* @param order order to be signed
* @param wallet wallet context
* @returns signature and public key
*/
static signOrderUsingWallet(order: Order, wallet: BaseWallet): Promise<SigPK>;
signPayload(payload: unknown, keyPair?: Signer): Promise<SigPK>;
static signPayloadUsingZKSignature({ payload, signer, zkPayload }: {
payload: unknown;
signer: Signer;
zkPayload: ZkPayload;
}): Promise<SigPK>;
static signBytesPayloadUsingZKSignature({ payload, signer, zkPayload }: {
payload: Uint8Array;
signer: Signer;
zkPayload: ZkPayload;
}): Promise<SigPK>;
static signPayloadUsingWallet(payload: unknown, wallet: BaseWallet, useDeprecatedSigningMethod?: boolean): Promise<SigPK>;
static encodePayload(payload: unknown, intentScope?: IntentScope): Uint8Array;
static verifySignature(payload: unknown, signature: string, publicKey: string): boolean;
static verifyPhantomWalletSignature(payload: unknown, signature: string, publicKey: string): boolean;
/**
* Verifies if the given signature is correct or not using the raw order
* @param order the order used to create the signature
* @param signature the generated signature in hex string
* @param publicKey signer's public key in base64 str
* @returns True if the signature is valid
*/
static verifySignatureUsingOrder(order: Order, signature: string, publicKey: string): boolean;
static getSerializedOrder(order: Order): string;
static getOrderHash(order: Order | string): string;
getPublicKeyStr(keypair?: Signer): string;
}