Torus EVM Adapter
@web3auth/torus-evm-adapter
Torus Wallet adapter allows to connect with torus wallet for evm chains. You can read more about torus wallet here.
Basic Details
Adapter Name: torus-evm
Package Name: @web3auth/torus-evm-adapter
authMode: DAPP
chainNamespace: EIP155
Default: YES
Installation
- npm
- Yarn
- pnpm
npm install --save @web3auth/torus-evm-adapter
yarn add @web3auth/torus-evm-adapter
pnpm add @web3auth/torus-evm-adapter
Arguments
- Table
- Interface
Parameter | type |
---|---|
chainConfig | CustomChainConfig |
adapterSettings | TorusCtorArgs |
loginSettings | LoginParams |
initParams | Omit <TorusParams, "network"> |
clientId? | string |
sessionTime? | number |
web3AuthNetwork? | WEB3AUTH_NETWORK_TYPE |
// refer to https://docs.tor.us/wallet/api-reference/class to know more about interface field types
interface TorusWalletOptions {
adapterSettings?: TorusCtorArgs;
loginSettings?: LoginParams;
initParams?: Omit<TorusParams, "network">;
chainConfig?: CustomChainConfig;
clientId?: string;
sessionTime?: number;
web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE;
}
Custom Chain Config
chainConfig
warning
While you can pass your chainConfig
here, it is not required since you can directly pass it over
to the Web3Auth
/ Web3AuthNoModal
configuration while instantiating it.
Read more about it in their respective sections:
warning
If you do pass chainConfig
in an Adapter, it overwrites the chainConfig
passed over to the
Web3Auth
/ Web3AuthNoModal
constructor.
Change Adapter Settings
You can change the adapter settings by calling the setAdapterSettings()
function on the adapter
instance.
Arguments
- Table
- Interface
Parameter | type |
---|---|
clientId? | string |
sessionTime? | number |
chainConfig? | CustomChainConfig |
web3AuthNetwork? | WEB3AUTH_NETWORK_TYPE |
interface BaseAdapterSettings {
clientId?: string;
sessionTime?: number;
chainConfig?: CustomChainConfig;
web3AuthNetwork?: WEB3AUTH_NETWORK_TYPE;
}
Example
import { TorusWalletAdapter } from "@web3auth/torus-evm-adapter";
const torusWalletAdapter = new TorusWalletAdapter({
adapterSettings: {
buttonPosition: "bottom-left",
},
loginSettings: {
verifier: "google",
},
initParams: {
buildEnv: "testing",
},
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://rpc.ankr.com/eth",
// Avoid using public rpcTarget in production.
// Use services like Infura, Quicknode etc
displayName: "Ethereum Mainnet",
blockExplorer: "https://etherscan.io",
ticker: "ETH",
tickerName: "Ethereum",
},
clientId:
"BPi5PB_UiIZ-cPz1GtV5i1I2iOSOHuimiXBI0e-Oe_u6X3oVAbCiAZOTEBtTXw4tsluTITPqA8zMsfxIKMjiqNQ",
sessionTime: 3600, // 1 hour in seconds
web3AuthNetwork: "sapphire_mainnet",
});
// it will add/update the torus-evm adapter in to web3auth class
web3auth.configureAdapter(torusWalletAdapter);
// You can change the adapter settings by calling the setAdapterSettings() function on the adapter instance.
torusWalletAdapter.setAdapterSettings({
sessionTime: 86400, // 1 day in seconds
chainConfig: {
chainNamespace: CHAIN_NAMESPACES.EIP155,
chainId: "0x1",
rpcTarget: "https://rpc.ankr.com/eth", // This is the public RPC we have added, please pass on your own endpoint while creating an app
},
web3AuthNetwork: "sapphire_mainnet",
});