walletlink-e
Version:
WalletLink JavaScript SDK
45 lines (44 loc) • 1.86 kB
TypeScript
import { AddressString, BigIntString, HexString, IntNumber, RegExpString } from "../types";
import { Web3Method } from "./Web3Method";
interface BaseWeb3Request<Method extends Web3Method, Params extends object = {}> {
method: Method;
params: Params;
}
export declare type RequestEthereumAccountsRequest = BaseWeb3Request<Web3Method.requestEthereumAccounts, {
appName: string;
appLogoUrl: string | null;
}>;
export declare type SignEthereumMessageRequest = BaseWeb3Request<Web3Method.signEthereumMessage, {
message: HexString;
address: AddressString;
addPrefix: boolean;
typedDataJson: string | null;
}>;
export declare type SignEthereumTransactionRequest = BaseWeb3Request<Web3Method.signEthereumTransaction, {
fromAddress: AddressString;
toAddress: AddressString | null;
weiValue: BigIntString;
data: HexString;
nonce: IntNumber | null;
gasPriceInWei: BigIntString | null;
gasLimit: BigIntString | null;
chainId: IntNumber;
shouldSubmit: boolean;
}>;
export declare type SubmitEthereumTransactionRequest = BaseWeb3Request<Web3Method.submitEthereumTransaction, {
signedTransaction: HexString;
chainId: IntNumber;
}>;
export declare type EthereumAddressFromSignedMessageRequest = BaseWeb3Request<Web3Method.ethereumAddressFromSignedMessage, {
message: HexString;
signature: HexString;
addPrefix: boolean;
}>;
export declare type ScanQRCodeRequest = BaseWeb3Request<Web3Method.scanQRCode, {
regExp: RegExpString;
}>;
export declare type ArbitraryRequest = BaseWeb3Request<Web3Method.arbitrary, {
data: string;
}>;
export declare type Web3Request = RequestEthereumAccountsRequest | SignEthereumMessageRequest | SignEthereumTransactionRequest | SubmitEthereumTransactionRequest | EthereumAddressFromSignedMessageRequest | ScanQRCodeRequest | ArbitraryRequest;
export {};