@dynamic-labs/wallet-book v3.4.6
Wallet Book
Updating Wallet Book
- Wallet Book
Adding First Party Wallet
Simply add an entry to firstPartyWalletsData in packages/wallet-book/src/build/sources/firstParty/index.ts and Compile & Publish
For example:
argentx: {
brand: {
alt: 'Argent Wallet',
primaryColor: '#FF875B',
spriteId: 'argentx',
},
desktop: {
chromeId: 'dlcobpjiigpikoobohmabehhmhfoodbb',
firefoxId: 'argent-x',
},
name: 'Argent X',
injectedConfig: [
{
chain: 'EVM',
extensionLocators:
}
]
},Required fields:
brandaltprimaryColorspriteId- The id used in the iconic svgname
Refer to WalletRecordsSchema for more schema options
Adding injected (browser extension) wallets
Similar to adding first party wallets, we add another key, injectedConfig to the wallet object.
...
injectedConfig: [
{
chain: 'EVM',
extensionLocators: [
{ flag: 'isOkxWallet', value: true },
{ flag: 'isOkexWallet', value: true }
],
windowLocations: ['okxwallet']
}
],
name: 'OKX'If you need to override any of the following functions: signMessage, getAddress, getSigner, isInstalledOnBrowser, etc...
- Create a file in the respective
ethereum/src/injected/orsolana/src/injected/. The basic file should follow this form:
export class <NameOfConnector> extends InjectedWalletBase {
override name = '<Name Here>';
override walletConnectorFallback = true; // only specified on evm wallet connectors
constructor(props: EthereumWalletConnectorOpts) {
super(props);
this.wallet = findWalletBookWallet(this.walletBook, this.key);
}
// override the methods you need below
override async getAddress() {
...
}
}- Open
fetchInjectedWalletConnectors.tsfor the respective network package (etherem/solana/...) and add the new InjectedWalletBase class toinjectedWalletOverridesand the key (normalized name) to thefilterInjectedWalletKeyOverrides
Things to remember when adding a new wallet
IF the new wallet is also in wallletconnect.json: make sure that the key used infirstParty/index.tsis thesameas the value fromwalletconnect.jsonas to inherit the properties from that wallet definition.- The value(s) in
windowLocationsmap towindow.<value from windowLocations>. i.e.okxwalletmeanswindow.okxwallet. The values can be a nested path that is dot delimited. If the wallet lives underwindow.ethereumorwindow.ethereum.providers, those window locations are imported by default. - For every extension locator you add for the new wallet, add the negation
[{ flag: 'isOkxWallet', value: false }, ...]to the extensionLocators under themetamaskkey in firstParty. - If the new wallet is wallet connect enabled (exists in
walletconnect.json), make sure to add:filterFromWalletConnect: trueas a sibling toinjectedConfigwhich will filter the wallet from the wallet connect connectors list and use wallet connect as fallback.
Checklist before submitting the PR:
: If this change adds a new file to the injected folder, add the wallet key to the walletBookFallbackList in packages/wallet-book/src/build/index.ts
: If the name is changing in walletbook, make sure that if there is no new file in the injected/ folder, you make sure at least the shortName normalizes down to the wallet key
myawesomenewwallet: {
...
injectedConfig: { ... },
shortName: 'My Awesome New Wallet', // maps down to the key if you lowercase and remove special characters and spaces
name: 'Awesome Wallet' // this will be displayed in the wallet list and can be changed as long as the `shortName` normalizes to the key
}NOTE:
Refer to injectedConfigSchema for the schema options
Updating Wallet Connect Data
- Download the data from : https://explorer-api.walletconnect.com/v3/wallets?projectId=XXXX replace
- Replace packages/wallet-book/src/build/sources/walletConnect/walletconnect.json
- Compile & Publish
Adding overrides to WalletConnect
- modify packages/wallet-book/src/build/sources/walletConnectOverrides/index.ts
- Compile & Publish
Compile & Publish
The compiled json is stored in packages/wallet-book/wallet-book.json. When the file is updated
and merged to main it will be published to S3 automatically.
Simply, make any changes that you need and:
- run
npm run nuke- to clean any cache of the wallet-book logic - run
npx nx compile wallet-book - commit
wallet-book.json - Open PR with changes and merge
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago