react-native-trust-sdk
Version:
The react-native-trust-sdk lets you sign Ethereum transactions and messages with Trust Wallet so that you can bulid a react native DApp without having to worry about keys or wallets.
67 lines (66 loc) • 2.01 kB
TypeScript
import { TrustCommand, MessagePayload, TransactionPayload } from './lib/commands';
export declare enum TrustError {
unknown = -1,
none = 0,
cancelled = 1,
invalidRequest = 2,
watchOnly = 3,
notInstalled = 1000,
}
export declare namespace TrustError {
function toString(error: TrustError): "" | "Unknown Error" | "No Error" | "User cancelled" | "Signing request is invalid" | "Wallet is watch only" | "Trust Wallet is not installed";
}
declare class TrustWallet {
callbackScheme: string;
app: {
name: string;
scheme: string;
AppStoreURL: string;
GooglePlayURL: string;
};
resolvers: {
[key: string]: (value: string) => void;
};
rejectors: {
[key: string]: (value: Object) => void;
};
/**
* constructor
* @param callbackScheme default callback scheme
*/
constructor(callbackScheme: string);
/**
* start listening openURL event, you don't need to call it unless you explicit called cleanup
*/
start(): void;
/**
* stop listening openURL event and clean resolvers
*/
cleanup(): void;
/**
* check if Trust Wallet is installed
*/
installed(): Promise<boolean>;
/**
* sign a transaction
* @param payload transaction payload
* @returns {Promise<string>} signed transaction hash
*/
signTransaction(payload: TransactionPayload): Promise<string>;
/**
* sign a message
* @param payload message payload
* @returns {Promise<string>} signed message hash
*/
signMessage(payload: MessagePayload): Promise<string>;
/**
* sign a personal message
* @param payload message payload
* @returns {Promise<string>} signed personal message hash
*/
signPersonalMessage(payload: MessagePayload): Promise<string>;
private runCommand(payload);
private handleOpenURL(event);
}
export default TrustWallet;
export { TrustCommand, MessagePayload, TransactionPayload };