oken-waas
Version:
Oken Wallet as a Service SDK
47 lines (46 loc) • 1.81 kB
TypeScript
import { TypedDataField } from "ethers";
export type CreateWalletResponse = {
referenceId: string;
address: string;
};
export type WalletResponse = {
referenceId: string;
address: string;
status: 'CREATED' | 'AWAITING_RETRY' | 'CREATING_VAULT_KEYS';
created: string;
};
export type DataStructureItem = {
type: string;
name: string;
};
export type TypedMessage = {
typeName: string;
domainName: string;
domainVersion: string;
dataStructure?: DataStructureItem[];
types?: Record<string, TypedDataField[]>;
};
export type SignedMessage = {
v: 27 | 28;
r: string;
s: string;
};
export type SignedTypedMessage = SignedMessage & {
[key: string]: unknown;
};
declare const _default: (api: any, network: string) => {
/**
* @param referenceId Your reference id for this user
* @param type The signer type, can be 'VAULT' or 'SMART_ACCOUNT'
* @param network If the signer type is 'SMART_ACCOUNT', you can specify the network
* @returns {Promise<CreateWalletResponse>}
*/
create: (referenceId: string, signerType?: 'VAULT' | 'SMART_ACCOUNT', network?: string) => Promise<CreateWalletResponse>;
batchCreate: (referenceIds: string[], signerType?: 'VAULT' | 'SMART_ACCOUNT', network?: string) => Promise<CreateWalletResponse[]>;
createVaultAccount: (referenceId: string) => Promise<CreateWalletResponse>;
createSmartAccount: (referenceId: string, network: string) => Promise<CreateWalletResponse>;
get: (referenceId?: string) => Promise<WalletResponse>;
signTypedMessage: (typedData: TypedMessage, message: any, signerWallet: string, contractAddress: string) => Promise<SignedTypedMessage>;
signMessage: (message: any, signerWallet: string) => Promise<SignedMessage>;
};
export default _default;