wallet-adapter-plugin-template v0.1.1
Aptos wallet plugin template for wallet builders to interact with the Aptos Wallet Adapter
This repo provides wallet builders a pre-made class with all required wallet functionality following the wallet standard for easy and fast development to interact with the Aptos Wallet Adapter
Usage
forkthis repo- run
npm installoryarn install - Open
src/index.ts - Change all
AptosWindowappereances to<Your-Wallet-Name>Window - Change
AptosWalletNameto be<Your-Wallet-Name>WalletName - Change
urlto match your website url Change
iconto your wallet icon (pay attention to the required format)Change
window.aptosto bewindow.<your-wallet-name>
NOTE: Ensure the
nameprop is the same as thewindow.<name>. The adapter will look for the matching name when detecting a wallet. For example, if your wallet's name prop isPetra, then the window should bewindow.petra.NOTE2 window object key (i.e
window.<name>) has to be lowercase exact match (petra). Wallet name prop can have capitalization (Petra/PetraWallet)
- Make sure the
Window Interfacehas<your-wallet-name>as a key (instead ofaptos) - Open
__tests/index.test.tsxand changeAptosWalletto<Your-Wallet-Name>Wallet - Run tests with
npm run test- all tests should pass
At this point, you have a ready wallet class with all required properties and functions to integrate with the Aptos Wallet Adapter.
Publish as a Package
Next step is to publish your wallet as a npm package so dapps can install it as a dependency.
- Make sure to update
package.jsonname, description, author and any other properties. - Run
npm installthennpm run build- adistfolder should be available - (optional) Run
npm publish --dry-runto see what would get published (make sure there is adistfolder)
Creating and publishing scoped public packages https://docs.npmjs.com/creating-and-publishing-scoped-public-packages
Creating and publishing unscoped public packages https://docs.npmjs.com/creating-and-publishing-unscoped-public-packages
Add your name to the wallets list
Once the package is published, you can create a PR against the aptos-wallet-adapter repo and add your wallet name as a url to the npm package to the supported wallet list on the README file.
Note: if your wallet provides function that is not included, you should open a PR against aptos-wallet-adapter in the core package so it would support this functionality. You can take a look at the
signTransactionon the wallet core package