Methods
How to use Silk as a developer
// --- Methods exported from "@silk-wallet/silk-wallet-sdk" ---
/**
* @param [referralCode] - Silk points referral code
*/
initSilk(referralCode?: string): SilkProvider
// --- Methods on SilkProvider ---
interface SilkProvider {
/**
* Open the Silk login modal (without other wallet options).
* Returns null if the user logs in.
* Throws an error if the user exits without logging in.
*/
login(): Promise<null>
/**
* Open the Silk login modal (with other wallet options).
* Returns a string denoting the wallet selected by the user.
* Throws an error if the user exits without logging in.
* @param [injectedProvider] - window.ethereum. The text for the button for the
* injected wallet in the login modal changes based on which wallet this is.
*/
loginSelector(injectedProvider?: EthereumProvider): Promise<'silk' | 'injected' | 'walletconnect'>
/**
* Request the user's email address.
*/
requestEmail(): Promise<string>
/**
* This function is implemented as described in EIP-1193
* (https://eips.ethereum.org/EIPS/eip-1193#request).
*/
request(args: { method: string, params?: unknown[] | object }): Promise<unknown>
}
CodeSandbox
We created a CodeSandbox so you can easily see how these methods behave.
Click here to go to the sandbox.
Last updated