@exodus/address-provider
Advanced tools
Comparing version 4.1.1 to 4.2.0
@@ -6,2 +6,12 @@ # Change Log | ||
## [4.2.0](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/address-provider@4.1.1...@exodus/address-provider@4.2.0) (2023-06-22) | ||
### Features | ||
- add Trezor `compatibilityMode` ([#1973](https://github.com/ExodusMovement/exodus-hydra/issues/1973)) ([d950eeb](https://github.com/ExodusMovement/exodus-hydra/commit/d950eeb14fec63f3385d69c2d605b6eea3645bd5)) | ||
### Bug Fixes | ||
- use `walletAccount` index & rewrite purpose for cardano ([#1970](https://github.com/ExodusMovement/exodus-hydra/issues/1970)) ([d7edd68](https://github.com/ExodusMovement/exodus-hydra/commit/d7edd6807d063286ccd80917ac4244b0760e984b)) | ||
## [4.1.1](https://github.com/ExodusMovement/exodus-hydra/compare/@exodus/address-provider@4.1.0...@exodus/address-provider@4.1.1) (2023-06-21) | ||
@@ -8,0 +18,0 @@ |
@@ -7,2 +7,3 @@ import addressProviderDefinition from './address-provider' | ||
import trezorAddressProviderDefinition from './trezor' | ||
import createKeyIdentifierProvider from '@exodus/key-identifier-provider' | ||
@@ -42,5 +43,13 @@ export default function createAddressProviderDependencies({ mockAddresses, useTrezor } = {}) { | ||
if (useTrezor) { | ||
dependencies.push({ | ||
definition: trezorAddressProviderDefinition, | ||
}) | ||
dependencies.push( | ||
{ | ||
definition: trezorAddressProviderDefinition, | ||
}, | ||
{ | ||
definition: { | ||
id: 'trezorKeyIdentifierProvider', | ||
factory: () => createKeyIdentifierProvider({ compatibilityMode: 'trezor' }), | ||
}, | ||
} | ||
) | ||
} | ||
@@ -47,0 +56,0 @@ |
@@ -8,2 +8,3 @@ import typeforce from '@exodus/typeforce' | ||
import { getCachePath } from '../cache' | ||
import { parseDerivationPath } from '@exodus/bip32/lib/derivation-path' | ||
@@ -14,5 +15,6 @@ export class TrezorAddressProvider { | ||
#accountsAtom | ||
#keyIdentifierProvider | ||
#logger | ||
constructor({ logger, assetsModule, addressCache, accountsAtom }) { | ||
constructor({ logger, assetsModule, addressCache, accountsAtom, trezorKeyIdentifierProvider }) { | ||
this.#assetsModule = assetsModule | ||
@@ -22,2 +24,3 @@ this.#addressCache = addressCache | ||
this.#logger = logger | ||
this.#keyIdentifierProvider = trezorKeyIdentifierProvider | ||
} | ||
@@ -40,5 +43,14 @@ | ||
const { purpose, assetName, walletAccount, chainIndex, addressIndex } = opts | ||
const { purpose: initialPurpose, assetName, walletAccount, chainIndex, addressIndex } = opts | ||
const asset = this.#getAsset(assetName) | ||
const { derivationPath } = this.#keyIdentifierProvider.createKeyIdentifier({ | ||
asset, | ||
purpose: initialPurpose, | ||
accountIndex: walletAccount.index, | ||
chainIndex, | ||
addressIndex, | ||
}) | ||
const accountByPurpose = await this.#getAccounts({ walletAccount, assetName }) | ||
@@ -57,13 +69,6 @@ | ||
const { purpose } = parseDerivationPath(derivationPath) | ||
const account = accountByPurpose[purpose] | ||
const path = BipPath.fromPathArray([chainIndex, addressIndex]).toString() | ||
// full derivation path for cache purposes | ||
const { derivationPath } = asset.baseAsset.api.getKeyIdentifier({ | ||
purpose, | ||
accountIndex: 1, | ||
addressIndex, | ||
chainIndex, | ||
}) | ||
const cachePath = getCachePath({ | ||
@@ -70,0 +75,0 @@ walletAccount, |
{ | ||
"name": "@exodus/address-provider", | ||
"version": "4.1.1", | ||
"version": "4.2.0", | ||
"description": "Address provider gateway that delegates to registered address provider based on wallet account source", | ||
@@ -26,3 +26,4 @@ "author": "Exodus Movement Inc", | ||
"dependencies": { | ||
"@exodus/atoms": "^5.0.0", | ||
"@exodus/atoms": "^5.1.0", | ||
"@exodus/key-identifier-provider": "^1.2.0", | ||
"@exodus/models": "^8.9.0", | ||
@@ -39,3 +40,3 @@ "@exodus/trezor-meta": "^3.2.7", | ||
"@exodus/assets-base": "^8.1.6", | ||
"@exodus/bip32": "^1.0.0", | ||
"@exodus/bip32": "^1.1.2", | ||
"@exodus/bip44-constants": "^195.0.0", | ||
@@ -45,3 +46,3 @@ "@exodus/bitcoin-api": "^2.3.2", | ||
"@exodus/bitcoin-meta": "^1.0.1", | ||
"@exodus/cardano-lib": "^2.0.3", | ||
"@exodus/cardano-lib": "^1.4.0", | ||
"@exodus/keychain": "^4.0.2", | ||
@@ -55,3 +56,3 @@ "@exodus/solana-lib": "^1.3.11", | ||
}, | ||
"gitHead": "f0a3d249bf994a6d5c106a106b5e4b2b6c61a6e8" | ||
"gitHead": "f475ba3cbfb086a2e0c3908372ffa851180dbf27" | ||
} |
36307
800
8