///
import BigNumber from "bignumber.js";
import type { TokenConfig } from "../../common/types.js";
import Aptos from "./aptos.js";
import type { Signer } from "arbundles";
import { MultiSignatureAptosSigner } from "arbundles";
import { MultiEd25519PublicKey } from "@aptos-labs/ts-sdk";
export type HexString = string;
export default class MultiSignatureAptos extends Aptos {
wallet: {
participants: Buffer[];
threshold: number;
};
protected signerInstance: MultiSignatureAptosSigner;
protected collectSignatures: (message: Uint8Array) => Promise<{
signatures: Buffer[];
bitmap: number[];
}>;
constructor(config: TokenConfig & {
opts: {
collectSignatures: any;
};
});
/**
* @param owner compound MultiEd25519PublicKey .toBytes()
*/
ownerToAddress(pubKey: Buffer): string;
protected deserialisePubKey(pubKey: Buffer): MultiEd25519PublicKey;
getPublicKey(): string | Buffer;
getFee(amount: BigNumber.Value, to?: string): Promise<{
gasUnitPrice: number;
maxGasAmount: number;
}>;
createTx(amount: BigNumber.Value, to: string, fee?: {
gasUnitPrice: number;
maxGasAmount: number;
}): Promise<{
txId: string | undefined;
tx: any;
}>;
sendTx(data: any): Promise;
getSigner(): Signer;
ready(): Promise;
verify(pub: any, data: Uint8Array, signature: Uint8Array): Promise;
}