createCoinbaseWalletSDK
Creates a new sdk
object for getting a CoinbaseWalletProvider
instance.
Usage
import { sdk } from './setup'
// Create provider
export const provider = sdk.getProvider();
// Use provider
const addresses = provider.request({method: 'eth_requestAccounts'});
Returns
An object with related SDK methods
Parameters
appName (optional)
- Type:
string
The app name. This will be displayed to users on connection, transacting, and signing requests.
appChainIds (optional)
- Type:
number[]
Array of chain IDs your app supports. Default value is [1]
.
appLogoUrl (optional)
- Type:
string
App logo image URL. Favicon is used if unspecified.
preference (optional)
- Type
Preference
type Attribution = {
auto: boolean;
dataSuffix?: never;
} | {
auto?: never;
dataSuffix: `0x${string}`;
}
type Preference = {
options?: 'all' | 'smartWalletOnly' | 'eoaOnly';
attribution?: Attribution;
}
preference.options
(optional)
- Type:
'all' | 'smartWalletOnly' | 'eoaOnly'
Determines which connection options users will see. Defaults to all
.
all
Users will see Smart Wallet and mobile app connection options.
smartWalletOnly
With this option, users will only see an option to create a Smart Wallet or sign into their Smart Wallet.
eoaOnly
With this option, users will only see an option to connect with their EOA.
preference.attribution
(optional)
- Type:
Attribution
This option only applies to Coinbase Smart Wallet. When a valid data suffix is supplied, it is appended to the initCode and executeBatch calldata.
type Attribution = {
auto: boolean;
dataSuffix?: never;
} | {
auto?: never;
dataSuffix: `0x${string}`;
}
auto
(optional)
- Type:
boolean
If auto is true, the Smart Wallet will generate a 16 byte hex string from the apps origin.
dataSuffix
(optional)
- Type:
0x${string}
Smart Wallet expects a 16 byte hex string. If the data suffix is not a 16 byte hex string, the Smart Wallet will ignore the property.