1
0
mirror of https://github.com/kremalicious/metamask-extension.git synced 2024-11-30 08:09:15 +01:00
metamask-extension/shared/constants/snaps.ts
Hassan Malik 4a0f47d74e
[FLASK] Add hardcoded derivation paths (#18176)
* added allowlisted protocol snap's derivation paths

* added missing path
2023-03-16 10:39:25 -04:00

155 lines
3.2 KiB
TypeScript

///: BEGIN:ONLY_INCLUDE_IN(flask)
import type { SupportedCurve } from '@metamask/key-tree';
type SnapsMetadata = {
[snapId: string]: {
name: string;
};
};
// If a Snap ID is present in this object, its metadata is used before the info
// of the snap is fetched. Ideally this information would be fetched from the
// snap registry, but this is a temporary solution.
export const SNAPS_METADATA: SnapsMetadata = {
'npm:@metamask/test-snap-error': {
name: 'Error Test Snap',
},
'npm:@metamask/test-snap-confirm': {
name: 'Confirm Test Snap',
},
'npm:@metamask/test-snap-dialog': {
name: 'Dialog Test Snap',
},
'npm:@metamask/test-snap-bip44': {
name: 'BIP-44 Test Snap',
},
'npm:@metamask/test-snap-managestate': {
name: 'Manage State Test Snap',
},
'npm:@metamask/test-snap-notification': {
name: 'Notification Test Snap',
},
'npm:@metamask/test-snap-bip32': {
name: 'BIP-32 Test Snap',
},
'npm:@metamask/test-snap-insights': {
name: 'Insights Test Snap',
},
'npm:@metamask/test-snap-rpc': {
name: 'RPC Test Snap',
},
'npm:@metamask/test-snap-cronjob': {
name: 'Cronjob Test Snap',
},
};
type SnapsDerivationPath = {
path: ['m', ...string[]];
curve: SupportedCurve;
name: string;
};
export const SNAPS_DERIVATION_PATHS: SnapsDerivationPath[] = [
{
path: ['m', `44'`, `0'`],
curve: 'ed25519',
name: 'Test BIP-32 Path (ed25519)',
},
{
path: ['m', `44'`, `1'`],
curve: 'secp256k1',
name: 'Test BIP-32 Path (secp256k1)',
},
{
path: ['m', `44'`, `0'`],
curve: 'secp256k1',
name: 'Bitcoin Legacy',
},
{
path: ['m', `49'`, `0'`],
curve: 'secp256k1',
name: 'Bitcoin Nested SegWit',
},
{
path: ['m', `49'`, `1'`],
curve: 'secp256k1',
name: 'Bitcoin Testnet Nested SegWit',
},
{
path: ['m', `84'`, `0'`],
curve: 'secp256k1',
name: 'Bitcoin Native SegWit',
},
{
path: ['m', `84'`, `1'`],
curve: 'secp256k1',
name: 'Bitcoin Testnet Native SegWit',
},
{
path: ['m', `44'`, `501'`],
curve: 'secp256k1',
name: 'Solana',
},
{
path: ['m', `44'`, `2'`],
curve: 'secp256k1',
name: 'Litecoin',
},
{
path: ['m', `44'`, `3'`],
curve: 'secp256k1',
name: 'Dogecoin',
},
{
path: ['m', `44'`, `60'`],
curve: 'secp256k1',
name: 'Ethereum',
},
{
path: ['m', `44'`, `118'`],
curve: 'secp256k1',
name: 'Atom',
},
{
path: ['m', `44'`, `145'`],
curve: 'secp256k1',
name: 'Bitcoin Cash',
},
{
path: ['m', `44'`, `714'`],
curve: 'secp256k1',
name: 'Binance (BNB)',
},
{
path: ['m', `44'`, `931'`],
curve: 'secp256k1',
name: 'THORChain (RUNE)',
},
{
path: ['m', `44'`, `330'`],
curve: 'secp256k1',
name: 'Terra (LUNA)',
},
{
path: ['m', `44'`, `459'`],
curve: 'secp256k1',
name: 'Kava',
},
{
path: ['m', `44'`, `529'`],
curve: 'secp256k1',
name: 'Secret Network',
},
{
path: ['m', `44'`, `397'`],
curve: 'ed25519',
name: 'NEAR Protocol',
},
{
path: ['m', `44'`, `1'`, `0'`],
curve: 'ed25519',
name: 'NEAR Protocol Testnet',
},
];
///: END:ONLY_INCLUDE_IN