A Snap plugin for MetaMask providing multi-chain signing support. Currently supported networks are:
- Bitcoin
- Cosmos
- Ethereum
.
├── packages
│ ├── adapter // Intermediate package used to interact with the snap in external applications
│ │ ├── __mocks__
│ │ ├── dist
│ │ └── src
│ ├── sandbox // Demo application used to interact with the snap
│ │ ├── public
│ │ └── src
│ ├── snap // ShapeShift multi-chain snap code
│ │ ├── dist
│ │ ├── images
│ │ ├── src
│ │ └── test
│ └── types // Types used in adapter, sandbox, and snap
│ ├── dist
│ └── src
└── scripts
- (optional) Make sure you're using the right Node.js version.
nvm use
- Install dependencies.
# This is short for `yarn install`; be sure to use `yarn install --frozen-lockfile` instead if you're setting up a CI pipeline or trying to duplicate a historical build.
yarn
To run the snap locally use:
cd packages/snap
yarn build && yarn serve
A sandbox application is included to assist in snap development. To start the sandbox:
cd packages/sandbox
yarn dev
Open http://www.localhost:3000 to view the sandbox in the browser.
Run yarn test
to run the tests once.
Run yarn lint
to run the linter, or run yarn lint:fix
to run the linter and fix any automatically fixable issues.