From de1e2aae6fd989d11b52ecffa7e91c306b864222 Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Fri, 9 Feb 2024 09:36:59 +0100 Subject: [PATCH 1/2] chore(filecoin): move from `izari` to `iso-filecoin` --- libs/ledger-live-common/dependencies.md | 2 +- libs/ledger-live-common/package.json | 2 +- .../src/families/filecoin/bridge/account.ts | 10 +- .../filecoin/bridge/utils/addresses.ts | 14 +- .../filecoin/bridge/utils/serializer.ts | 4 +- .../filecoin/speculos-deviceActions.ts | 14 +- .../src/families/filecoin/utils.ts | 6 +- pnpm-lock.yaml | 202 +++++++++++------- 8 files changed, 156 insertions(+), 98 deletions(-) diff --git a/libs/ledger-live-common/dependencies.md b/libs/ledger-live-common/dependencies.md index 6fdcc593499c..466e17f61f73 100644 --- a/libs/ledger-live-common/dependencies.md +++ b/libs/ledger-live-common/dependencies.md @@ -59,7 +59,6 @@ yarn upgrade-interactive -i --latest | TBD DEPRECATE? | | algosdk | Algorand coin integration | monthly | | @zondax/ledger-filecoin | Filecoin coin integration | monthly | -| @zondax/izari-filecoin | Filecoin coin integration | monthly | | @zondax/ledger-stacks | Stacks coin integration | monthly | | async | ??? | UNCLEAR IF USED | | axios | network | monthly | @@ -89,6 +88,7 @@ yarn upgrade-interactive -i --latest | generic-pool | Bitcoin coin integration | monthly | | invariant | generic helper | monthly | | isomorphic-ws | WebSocket helper | monthly | +| iso-filecoin | Filecoin coin integration | monthly | | json-rpc-2.0 | Ethereum coin integration | monthly | | lodash | generic helper | monthly | | long | Osmosis coin integration | monthly | diff --git a/libs/ledger-live-common/package.json b/libs/ledger-live-common/package.json index 39e3dc149de3..0644a573881d 100644 --- a/libs/ledger-live-common/package.json +++ b/libs/ledger-live-common/package.json @@ -190,7 +190,6 @@ "@types/redux-actions": "^2.6.2", "@xstate/react": "^1.6.3", "@zondax/cbor": "v8.1.0-zondax-no-bigint", - "@zondax/izari-filecoin": "^1.2.0", "@zondax/ledger-casper": "^2.6.1", "@zondax/ledger-cosmos-js": "^3.0.3", "@zondax/ledger-filecoin": "^0.11.2", @@ -222,6 +221,7 @@ "expect": "^27.4.6", "fuse.js": "^6.6.2", "invariant": "^2.2.2", + "iso-filecoin": "^4.0.3", "isomorphic-ws": "^4.0.1", "json-rpc-2.0": "^0.2.19", "lodash": "^4.17.21", diff --git a/libs/ledger-live-common/src/families/filecoin/bridge/account.ts b/libs/ledger-live-common/src/families/filecoin/bridge/account.ts index 77ca9acfdfbf..03b91b20e6ce 100644 --- a/libs/ledger-live-common/src/families/filecoin/bridge/account.ts +++ b/libs/ledger-live-common/src/families/filecoin/bridge/account.ts @@ -8,8 +8,6 @@ import { import { BigNumber } from "bignumber.js"; import Fil from "@zondax/ledger-filecoin"; import { Observable } from "rxjs"; -import { Address } from "@zondax/izari-filecoin/address"; -import { Methods } from "@zondax/izari-filecoin/artifacts"; import { makeAccountBridgeReceive, makeSync } from "../../../bridge/jsHelpers"; import { defaultUpdateTransaction } from "@ledgerhq/coin-framework/bridge/jsHelpers"; @@ -29,9 +27,9 @@ import { BroadcastBlockIncl } from "./utils/types"; import { getMainAccount } from "../../../account"; import { close } from "../../../hw"; import { toCBOR } from "./utils/serializer"; -import { calculateEstimatedFees, getPath, isError } from "../utils"; +import { Methods, calculateEstimatedFees, getPath, isError } from "../utils"; import { log } from "@ledgerhq/logs"; -import { validateAddress } from "./utils/addresses"; +import { isFilEthAddress, validateAddress } from "./utils/addresses"; import { encodeOperationId, patchOperationWithHash } from "../../../operation"; import { withDevice } from "../../../hw/deviceAccess"; @@ -133,7 +131,7 @@ const estimateMaxSpendable = async ({ } recipient = recipientValidation.parsedAddress.toString(); - methodNum = Address.isFilEthAddress(recipientValidation.parsedAddress) + methodNum = isFilEthAddress(recipientValidation.parsedAddress) ? Methods.InvokeEVM : Methods.Transfer; } @@ -177,7 +175,7 @@ const prepareTransaction = async (a: Account, t: Transaction): Promise = {}; - const method = Address.isFilEthAddress(recipientValidation.parsedAddress) + const method = isFilEthAddress(recipientValidation.parsedAddress) ? Methods.InvokeEVM : Methods.Transfer; diff --git a/libs/ledger-live-common/src/families/filecoin/bridge/utils/addresses.ts b/libs/ledger-live-common/src/families/filecoin/bridge/utils/addresses.ts index d931caa0b955..a39a28f04d7f 100644 --- a/libs/ledger-live-common/src/families/filecoin/bridge/utils/addresses.ts +++ b/libs/ledger-live-common/src/families/filecoin/bridge/utils/addresses.ts @@ -1,26 +1,30 @@ -import { Address } from "@zondax/izari-filecoin/address"; -import { NetworkPrefix } from "@zondax/izari-filecoin/artifacts"; +import { IAddress, PROTOCOL_INDICATOR, fromEthAddress, fromString } from "iso-filecoin/address"; import { log } from "@ledgerhq/logs"; export type ValidateAddressResult = | { isValid: true; - parsedAddress: Address; + parsedAddress: IAddress; } | { isValid: false; }; +export const isFilEthAddress = (addr: IAddress) => + addr.protocol === PROTOCOL_INDICATOR.DELEGATED && addr.namespace === 10; + export const validateAddress = (input: string): ValidateAddressResult => { try { - const parsedAddress = Address.fromString(input); + const parsedAddress = fromString(input); return { isValid: true, parsedAddress }; } catch (error) { log("debug", `[validateAddress] fromString invalid address`); } try { - const parsedAddress = Address.fromEthAddress(NetworkPrefix.Mainnet, input); + // allow non 0x starting eth addresses as well + if (!input.startsWith("0x")) input = "0x" + input; + const parsedAddress = fromEthAddress(input, "mainnet"); return { isValid: true, parsedAddress }; } catch (error) { log("debug", `[validateAddress] fromEthAddress invalid address`); diff --git a/libs/ledger-live-common/src/families/filecoin/bridge/utils/serializer.ts b/libs/ledger-live-common/src/families/filecoin/bridge/utils/serializer.ts index ab2b9de13dba..341dc6738e55 100644 --- a/libs/ledger-live-common/src/families/filecoin/bridge/utils/serializer.ts +++ b/libs/ledger-live-common/src/families/filecoin/bridge/utils/serializer.ts @@ -45,10 +45,10 @@ export const toCBOR = ( answer.push(version); // "to" field - answer.push(recipientValidation.parsedAddress.toBytes()); + answer.push(Buffer.from(recipientValidation.parsedAddress.toBytes())); // "from" field - answer.push(fromValidation.parsedAddress.toBytes()); + answer.push(Buffer.from(fromValidation.parsedAddress.toBytes())); // "nonce" field answer.push(nonce); diff --git a/libs/ledger-live-common/src/families/filecoin/speculos-deviceActions.ts b/libs/ledger-live-common/src/families/filecoin/speculos-deviceActions.ts index b4dc6df2d464..42e716320809 100644 --- a/libs/ledger-live-common/src/families/filecoin/speculos-deviceActions.ts +++ b/libs/ledger-live-common/src/families/filecoin/speculos-deviceActions.ts @@ -1,9 +1,9 @@ -import { Address } from "@zondax/izari-filecoin/address"; -import { Methods, NetworkPrefix } from "@zondax/izari-filecoin/artifacts"; import type { DeviceAction } from "../../bot/types"; import type { Transaction } from "./types"; import { deviceActionFlow, formatDeviceAmount, SpeculosButton } from "../../bot/specs"; -import { BotScenario } from "./utils"; +import { BotScenario, Methods } from "./utils"; +import { isFilEthAddress } from "./bridge/utils/addresses"; +import { fromEthAddress, fromString, toEthAddress } from "iso-filecoin/address"; export const generateDeviceActionFlow = (scenario: BotScenario): DeviceAction => { const data: Parameters>[0] = { steps: [] }; @@ -18,9 +18,9 @@ export const generateDeviceActionFlow = (scenario: BotScenario): DeviceAction { - const addr = Address.fromString(transaction.recipient); - if (Address.isFilEthAddress(addr)) { - return addr.toEthAddressHex(true) + transaction.recipient; + const addr = fromString(transaction.recipient); + if (isFilEthAddress(addr)) { + return toEthAddress(addr) + transaction.recipient; } return "unexpected flow... address should be eth type"; }, @@ -30,7 +30,7 @@ export const generateDeviceActionFlow = (scenario: BotScenario): DeviceAction { - const addr = Address.fromEthAddress(NetworkPrefix.Mainnet, transaction.recipient); + const addr = fromEthAddress(transaction.recipient, "mainnet"); return transaction.recipient + addr.toString(); }, }); diff --git a/libs/ledger-live-common/src/families/filecoin/utils.ts b/libs/ledger-live-common/src/families/filecoin/utils.ts index b5fa8436cf8a..e041f8b768fb 100644 --- a/libs/ledger-live-common/src/families/filecoin/utils.ts +++ b/libs/ledger-live-common/src/families/filecoin/utils.ts @@ -1,5 +1,9 @@ import { BigNumber } from "bignumber.js"; -import { Methods } from "@zondax/izari-filecoin/artifacts"; + +export enum Methods { + Transfer = 0, + InvokeEVM = 3844450837, +} export enum BotScenario { DEFAULT = "default", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1be4acc3fc9d..8c828b4c2792 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2273,9 +2273,6 @@ importers: '@zondax/cbor': specifier: v8.1.0-zondax-no-bigint version: 8.1.0-zondax-no-bigint - '@zondax/izari-filecoin': - specifier: ^1.2.0 - version: 1.2.0 '@zondax/ledger-casper': specifier: ^2.6.1 version: 2.6.1 @@ -2369,6 +2366,9 @@ importers: invariant: specifier: ^2.2.2 version: 2.2.4 + iso-filecoin: + specifier: ^4.0.3 + version: 4.0.3 isomorphic-ws: specifier: ^4.0.1 version: 4.0.1(ws@7.5.7) @@ -10929,13 +10929,6 @@ packages: /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - /@bitcoinerlab/secp256k1@1.0.4: - resolution: {integrity: sha512-7H16hdCmiZVQ56/NrdyFKEgrPb2NEjeU16Fdfo7uzRldX3bf7SYPgtMcN6ZZ+5RvUfUm/oMYtpv5KQ4yv3kMeQ==} - dependencies: - '@noble/hashes': 1.3.2 - '@noble/secp256k1': 1.7.1 - dev: false - /@braintree/sanitize-url@6.0.2: resolution: {integrity: sha512-Tbsj02wXCbqGmzdnXNk0SOF19ChhRU70BsroIi4Pm6Ehp56in6vch94mfbdQ17DozxkL3BAVjbZ4Qc1a0HFRAg==} dev: false @@ -13971,6 +13964,8 @@ packages: metro-core: '*' minimatch: '*' peerDependenciesMeta: + '@expo/metro-config': + optional: true glob: optional: true metro: @@ -14060,6 +14055,8 @@ packages: metro-core: '*' minimatch: '*' peerDependenciesMeta: + '@expo/metro-config': + optional: true glob: optional: true metro: @@ -15322,12 +15319,12 @@ packages: resolution: {integrity: sha512-4D8MEvTcFc/DVy5q25vHxRItmgJyeX85dixMH+MxdKr+yy71h3sYk+sVBEIn70uqGP7VqAJkGOPNFs08/XYELw==} dev: false - /@ipld/dag-cbor@9.0.3: - resolution: {integrity: sha512-A2UFccS0+sARK9xwXiVZIaWbLbPxLGP3UZOjBeOMWfDY04SXi8h1+t4rHBzOlKYF/yWNm3RbFLyclWO7hZcy4g==} + /@ipld/dag-cbor@9.2.0: + resolution: {integrity: sha512-N14oMy0q4gM6OuZkIpisKe0JBSjf1Jb39VI+7jMLiWX9124u1Z3Fdj/Tag1NA0cVxxqWDh0CqsjcVfOKtelPDA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - cborg: 2.0.2 - multiformats: 12.0.1 + cborg: 4.0.9 + multiformats: 13.1.0 dev: false /@isaacs/cliui@8.0.2: @@ -17124,6 +17121,12 @@ packages: '@noble/hashes': 1.3.2 dev: false + /@noble/curves@1.3.0: + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + dependencies: + '@noble/hashes': 1.3.3 + dev: false + /@noble/ed25519@1.7.3: resolution: {integrity: sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ==} dev: false @@ -19368,6 +19371,9 @@ packages: /@react-native-community/cli-tools@11.3.7: resolution: {integrity: sha512-peyhP4TV6Ps1hk+MBHTFaIR1eI3u+OfGBvr5r0wPwo3FAJvldRinMgcB/TcCcOBXVORu7ba1XYjkubPeYcqAyA==} + peerDependenciesMeta: + find-up: + optional: true dependencies: appdirsjs: 1.2.6 chalk: 4.1.2 @@ -19383,6 +19389,9 @@ packages: /@react-native-community/cli-tools@11.3.9: resolution: {integrity: sha512-qWEUo/HQll/aj5xHYCw6itXGkPgultxTHa4UYSaBIRSfU15aSiwonJ/JP7fe+fHKbaFh6IdhaaRhj4ArfEOxuQ==} + peerDependenciesMeta: + find-up: + optional: true dependencies: appdirsjs: 1.2.6 chalk: 4.1.2 @@ -20009,14 +20018,14 @@ packages: - zenObservable dev: true - /@scure/base@1.1.1: - resolution: {integrity: sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==} - dev: false - /@scure/base@1.1.3: resolution: {integrity: sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q==} dev: false + /@scure/base@1.1.5: + resolution: {integrity: sha512-Brj9FiG2W1MRQSTB212YVPRrcbjkv48FoZi/u4l/zds/ieRrqsh7aUf6CLwkAq61oKXr/ZlTzlY66gLIj3TFTQ==} + dev: false + /@scure/bip32@1.3.2: resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: @@ -20025,6 +20034,14 @@ packages: '@scure/base': 1.1.3 dev: false + /@scure/bip32@1.3.3: + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + dependencies: + '@noble/curves': 1.3.0 + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.5 + dev: false + /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: @@ -20032,6 +20049,13 @@ packages: '@scure/base': 1.1.3 dev: false + /@scure/bip39@1.2.2: + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + dependencies: + '@noble/hashes': 1.3.3 + '@scure/base': 1.1.5 + dev: false + /@segment/analytics-react-native@2.9.1(react-native@0.72.6)(react@18.2.0): resolution: {integrity: sha512-tALKLpRTbwyn4uviRbEEG4x+Bis4t/JxKeCrFlfh9dBrh//HEtAEe/uJuM9PZkx+6BtidvpQLqISotFkTZ3wDA==} engines: {node: '>=12'} @@ -21074,7 +21098,7 @@ packages: /@stacks/transactions@4.3.8: resolution: {integrity: sha512-5xYYv2TdXXM9PVixB79Pr99symQ8fhbVATjempGUxtL23/XUiRiLvJZohDxIE4VQ2EzbB4g4j8Y7oqPjj0h09Q==} dependencies: - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.3.3 '@noble/secp256k1': 1.7.1 '@stacks/common': 4.3.5 '@stacks/network': 4.3.5 @@ -24778,6 +24802,10 @@ packages: /@types/retry@0.12.0: resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + /@types/retry@0.12.2: + resolution: {integrity: sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==} + dev: false + /@types/scheduler@0.16.2: resolution: {integrity: sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==} @@ -26367,23 +26395,6 @@ packages: nofilter: 3.1.0 dev: false - /@zondax/izari-filecoin@1.2.0: - resolution: {integrity: sha512-pixz+VOaNy2RXbU/eUPYtoulxJ4QYKpj05rP5rzEG4yckE1WkLVMajrYH/VWJlNw48GjtxZko6cWwJAi8ZDolQ==} - engines: {node: '>= 16.0.0'} - dependencies: - '@bitcoinerlab/secp256k1': 1.0.4 - '@ipld/dag-cbor': 9.0.3 - axios: 1.3.4 - base32-decode: 1.0.0 - bip32: 4.0.0 - bip39: 3.0.4 - blakejs: 1.2.1 - bn.js: 5.2.1 - leb128: 0.0.5 - multiformats: 11.0.2 - secp256k1: 5.0.0 - dev: false - /@zondax/ledger-casper@2.6.1: resolution: {integrity: sha512-Zk+DOVK9G9Gyt7ua9x/G5iVVSlNfp1l+Tek+7+MoqP5aTr4YznBJIhdnPD8yYSxEEZZLs8Q0tV0TyfsXeRokQw==} dependencies: @@ -28313,10 +28324,6 @@ packages: resolution: {integrity: sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==} dev: false - /base32-decode@1.0.0: - resolution: {integrity: sha512-KNWUX/R7wKenwE/G/qFMzGScOgVntOmbE27vvc6GrniDGYb6a5+qWcuoXl8WIOQL7q0TpK7nZDm1Y04Yi3Yn5g==} - dev: false - /base32.js@0.1.0: resolution: {integrity: sha512-n3TkB02ixgBOhTvANakDb4xaMXnYUVkNoRFJjQflcqMQhyEKxEHdj3E6N8t8sUQ0mjH/3/JxzlXuz3ul/J90pQ==} engines: {node: '>=0.12.0'} @@ -28441,6 +28448,11 @@ packages: bindings: 1.5.0 dev: false + /bigint-mod-arith@3.3.1: + resolution: {integrity: sha512-pX/cYW3dCa87Jrzv6DAr8ivbbJRzEX5yGhdt8IutnX/PCIXfpx+mabWNK/M8qqh+zQ0J3thftUBHW0ByuUlG0w==} + engines: {node: '>=10.4.0'} + dev: false + /bignumber.js@7.2.1: resolution: {integrity: sha512-S4XzBk5sMB+Rcb/LNcpzXr57VRTxgAvaAEDAl1AwRx27j00hT84O6OkteE7u8UB3NuaaygCRrEpqox4uDOrbdQ==} dev: false @@ -28493,16 +28505,6 @@ packages: wif: 2.0.6 dev: false - /bip32@4.0.0: - resolution: {integrity: sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@noble/hashes': 1.3.2 - '@scure/base': 1.1.1 - typeforce: 1.18.0 - wif: 2.0.6 - dev: false - /bip39@3.0.2: resolution: {integrity: sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==} dependencies: @@ -29006,12 +29008,6 @@ packages: engines: {node: '>=0.10'} dev: true - /buffer-pipe@0.0.3: - resolution: {integrity: sha512-GlxfuD/NrKvCNs0Ut+7b1IHjylfdegMBxQIlZHj7bObKVQBxB5S84gtm2yu1mQ8/sSggceWBDPY0cPXgvX2MuA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - /buffer-shims@1.0.0: resolution: {integrity: sha512-Zy8ZXMyxIT6RMTeY7OP/bDndfj6bwCan7SS98CEndS6deHwWPpseeHlwarNcBim+etXnF9HBc1non5JgDaJU1g==} dev: true @@ -29497,8 +29493,8 @@ packages: nofilter: 3.1.0 dev: true - /cborg@2.0.2: - resolution: {integrity: sha512-2b+30FYdBmAukzlpzWcigJDUE9ym4Mo3ldCmShfgDkq7zOOk+NnLGl1SueAFPHXi55FlyLUuT0yEXgY/1CcymA==} + /cborg@4.0.9: + resolution: {integrity: sha512-xAuZbCDUOZxCe/ZJuIrnlG1Bk1R0qhwCXdnPYxVmqBSqm9M3BeE3G6Qoj5Zq+8epas36bT3vjiInDTJ6BVH6Rg==} hasBin: true dev: false @@ -32421,6 +32417,11 @@ packages: engines: {node: '>=10'} dev: false + /delay@6.0.0: + resolution: {integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw==} + engines: {node: '>=16'} + dev: false + /delayed-stream@1.0.0: resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} engines: {node: '>=0.4.0'} @@ -34905,6 +34906,7 @@ packages: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 dev: false + bundledDependencies: false /ev-emitter@1.1.1: resolution: {integrity: sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==} @@ -35143,6 +35145,8 @@ packages: peerDependenciesMeta: expo-constants: optional: true + expo-file-system: + optional: true expo-modules-core: optional: true react: @@ -38188,6 +38192,10 @@ packages: dependencies: postcss: 8.4.32 + /idb-keyval@6.2.1: + resolution: {integrity: sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg==} + dev: false + /idb@7.0.1: resolution: {integrity: sha512-UUxlE7vGWK5RfB/fDwEGgRf84DY/ieqNha6msMV99UsEMQhJ1RwbCd8AYBj3QMgnE3VZnfQvm4oKVCJTYlqIgg==} dev: false @@ -38803,6 +38811,11 @@ packages: resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} engines: {node: '>= 0.4'} + /is-network-error@1.0.1: + resolution: {integrity: sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ==} + engines: {node: '>=16'} + dev: false + /is-node-process@1.2.0: resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==} dev: true @@ -39112,11 +39125,47 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + /iso-base@2.0.1: + resolution: {integrity: sha512-ip0nUW9oZP+LG6mslSgdJPt9NWZOq1qIOKpoUIdm8sq/87VwY8WZXw9ptCkhdJclY+r4feFbZuu9P/OFDqCvkQ==} + dependencies: + base-x: 4.0.0 + bigint-mod-arith: 3.3.1 + dev: false + + /iso-filecoin@4.0.3: + resolution: {integrity: sha512-JVEHvEoDs+Gz4uEvMo9wociX5LgUBxe84rXMoRtBwwXR2kjb1CeWbEiY8BeVzKOAiucy9vmFeYMdSqbxbvO9zA==} + dependencies: + '@ipld/dag-cbor': 9.2.0 + '@noble/curves': 1.3.0 + '@noble/hashes': 1.3.3 + '@scure/bip32': 1.3.3 + '@scure/bip39': 1.2.2 + bignumber.js: 9.1.2 + iso-base: 2.0.1 + iso-web: 1.0.4 + zod: 3.22.4 + dev: false + + /iso-kv@3.0.1: + resolution: {integrity: sha512-ezcu9dwJTOUjpPuSGDUMGsR8d47hnjZnxJ2VEMZ5cnXoahZCWXRe+/tGCvWnNS1UVS4rJWPtkaqQIe+P+4WBpQ==} + dependencies: + idb-keyval: 6.2.1 + kysely: 0.27.2 + dev: false + /iso-url@0.4.7: resolution: {integrity: sha512-27fFRDnPAMnHGLq36bWTpKET+eiXct3ENlCcdcMdk+mjXrb2kw3mhBUg1B7ewAC0kVzlOPhADzQgz1SE6Tglog==} engines: {node: '>=10'} dev: false + /iso-web@1.0.4: + resolution: {integrity: sha512-5pqi1hg4VZTjpWoODsJb/8+cvBFG7g5XIUl5rA/3Ur/jd6TgFR1hcxmj4DA59SqEGk+kWdDKJmvwkDwiBRHpXw==} + dependencies: + delay: 6.0.0 + iso-kv: 3.0.1 + p-retry: 6.2.0 + dev: false + /isobject@2.1.0: resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==} engines: {node: '>=0.10.0'} @@ -39915,7 +39964,7 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 strip-json-comments: 3.1.1 - ts-node: 10.7.0(@types/node@20.8.10)(source-map-support@0.5.21)(typescript@5.1.3) + ts-node: 10.7.0(@types/node@20.8.10)(typescript@5.1.3) transitivePeerDependencies: - babel-plugin-macros - metro @@ -42175,6 +42224,11 @@ packages: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} dev: false + /kysely@0.27.2: + resolution: {integrity: sha512-DmRvEfiR/NLpgsTbSxma2ldekhsdcd65+MNiKXyd/qj7w7X5e3cLkXxcj+MypsRDjPhHQ/CD5u3Eq1sBYzX0bw==} + engines: {node: '>=14.0.0'} + dev: false + /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} @@ -42234,13 +42288,6 @@ packages: flush-write-stream: 1.1.1 dev: true - /leb128@0.0.5: - resolution: {integrity: sha512-elbNtfmu3GndZbesVF6+iQAfVjOXW9bM/aax9WwMlABZW+oK9sbAZEXoewaPHmL34sxa8kVwWsru8cNE/yn2gg==} - dependencies: - bn.js: 5.2.1 - buffer-pipe: 0.0.3 - dev: false - /level-blobs@0.1.7: resolution: {integrity: sha1-mrm5e7mfHtv594o0M+Ie1WOGva8=} dependencies: @@ -45197,14 +45244,8 @@ packages: varint: 5.0.2 dev: false - /multiformats@11.0.2: - resolution: {integrity: sha512-b5mYMkOkARIuVZCpvijFj9a6m5wMVLC7cf/jIPd5D/ARDOfLC5+IFkbgDXQgcU2goIsTD/O9NY4DI/Mt4OGvlg==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} - dev: false - - /multiformats@12.0.1: - resolution: {integrity: sha512-s01wijBJoDUqESWSzePY0lvTw7J3PVO9x2Cc6ASI5AMZM2Gnhh7BC17+nlFhHKU7dDzaCaRfb+NiqNzOsgPUoQ==} - engines: {node: '>=16.0.0', npm: '>=7.0.0'} + /multiformats@13.1.0: + resolution: {integrity: sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ==} dev: false /multiformats@9.6.5: @@ -45678,6 +45719,7 @@ packages: /node-addon-api@5.1.0: resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==} + dev: true /node-addon-api@6.1.0: resolution: {integrity: sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==} @@ -46505,6 +46547,15 @@ packages: '@types/retry': 0.12.0 retry: 0.13.1 + /p-retry@6.2.0: + resolution: {integrity: sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA==} + engines: {node: '>=16.17'} + dependencies: + '@types/retry': 0.12.2 + is-network-error: 1.0.1 + retry: 0.13.1 + dev: false + /p-timeout@1.2.1: resolution: {integrity: sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA==} engines: {node: '>=4'} @@ -51749,6 +51800,7 @@ packages: elliptic: 6.5.4 node-addon-api: 5.1.0 node-gyp-build: 4.6.0 + dev: true /secretjs@0.17.5: resolution: {integrity: sha512-sf0+Je9KIEMQr/wJOgeqyBOV0ruiMNHSwP4L2vXiJbtzJWQqyVHyPkpavAhruNZ+91XlSzAFP2X5MPxqPBC9fQ==} @@ -54768,7 +54820,7 @@ packages: dependencies: bs-logger: 0.2.6 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.8.10)(ts-node@10.7.0) + jest: 29.7.0 jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 From a0f74f786fa91aeebfe018b3d1168f47e197bb1d Mon Sep 17 00:00:00 2001 From: Carlo Sala Date: Fri, 9 Feb 2024 09:37:58 +0100 Subject: [PATCH 2/2] chore: add changeset --- .changeset/rotten-rockets-rush.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/rotten-rockets-rush.md diff --git a/.changeset/rotten-rockets-rush.md b/.changeset/rotten-rockets-rush.md new file mode 100644 index 000000000000..13edd640ec31 --- /dev/null +++ b/.changeset/rotten-rockets-rush.md @@ -0,0 +1,5 @@ +--- +"@ledgerhq/live-common": patch +--- + +Replace `@zondax/izari-filecoin` deprecated library by `iso-filecoin`.