From f9da63fa627c42bdcfa6ac454f9741f86882f466 Mon Sep 17 00:00:00 2001 From: "transifex-integration[bot]" <43880903+transifex-integration[bot]@users.noreply.github.com> Date: Sun, 25 Feb 2024 19:33:46 +0000 Subject: [PATCH 1/3] Translate loc/en.json in pl 100% reviewed source file: 'loc/en.json' on 'pl'. --- loc/pl.json | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/loc/pl.json b/loc/pl.json index 8b47d6339..b771d226d 100644 --- a/loc/pl.json +++ b/loc/pl.json @@ -281,6 +281,7 @@ "language": "Język", "last_updated": "Ostatnia aktualizacja", "language_isRTL": "Aby ustawienia dotyczące kierunku pisma wybranego języka zaczęły obowiązywać, BlueWallet musi być zrestartowany.", + "license": "Licencja", "lightning_error_lndhub_uri": "Nieprawidłowy adres LNDHub", "lightning_saved": "Wprowadzone przez ciebie zmiany zostały pomyślnie zachowane.", "lightning_settings": "Ustawienia Lightning", @@ -452,7 +453,6 @@ "no_ln_wallet_error": "Musisz najpierw dodać portfel Lightning, zanim zapłacisz fakturę.", "looks_like_bip38": "To wygląda na klucz prywatny chroniony hasłem (BIP38).", "reorder_title": "Zmień kolejność portfeli", - "reorder_instructions": "Stuknij i przytrzmaj portfel aby go przeciągnąć na liście.", "please_continue_scanning": "Proszę skanuj dalej.", "select_no_bitcoin": "Nie ma dostępnych portfeli Bitcoin.", "select_no_bitcoin_exp": "Portfel Bitcoin jest wymagany by uzupełnić portfel Lightning. Proszę utwórz lub zaimportuj.", @@ -462,7 +462,8 @@ "warning_do_not_disclose": "Uwaga! Nie ujawniać.", "add_ln_wallet_first": "Najpierw musisz dodać portfel Lightning.", "identity_pubkey": "Klucz publiczny tożsamości", - "xpub_title": "XPUB portfela" + "xpub_title": "XPUB portfela", + "search_wallets": "Szukaj portfeli" }, "multisig": { "multisig_vault": "Skarbiec", @@ -571,6 +572,8 @@ "sats": "satoshi" }, "addresses": { + "copy_private_key": "Skopiuj klucz prywatny", + "sensitive_private_key": "Uwaga: klucz prywatne są skrajnie poufne. Kontynuować?", "sign_title": "Podpisz/Weryfikuj wiadomość", "sign_help": "Tutaj możesz stworzyć lub zweryfikować podpis kryptograficzny oparty o adres Bitcoin.", "sign_sign": "Podpisz", From 21d6833e1cf9df1fa5828f60ab3e829eb0f5ba79 Mon Sep 17 00:00:00 2001 From: Marcos Rodriguez Velez Date: Sun, 25 Feb 2024 17:45:49 -0400 Subject: [PATCH 2/3] FIX: Currency row height issue on some devices It was static set to 50 --- screen/settings/Currency.tsx | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/screen/settings/Currency.tsx b/screen/settings/Currency.tsx index b267ebaa2..9ab8e86a5 100644 --- a/screen/settings/Currency.tsx +++ b/screen/settings/Currency.tsx @@ -18,8 +18,6 @@ import loc from '../../loc'; import { FiatUnit, FiatUnitSource, FiatUnitType, getFiatRate } from '../../models/fiatUnit'; dayjs.extend(require('dayjs/plugin/calendar')); -const ITEM_HEIGHT = 50; - const Currency = () => { const { setPreferredFiatCurrency } = useContext(BlueStorageContext); const [isSavingNewPreferredCurrency, setIsSavingNewPreferredCurrency] = useState(false); @@ -62,17 +60,11 @@ const Currency = () => { fetchCurrency(); }, [setOptions]); - const getItemLayout = (_data: any, index: number) => ({ - length: ITEM_HEIGHT, - offset: ITEM_HEIGHT * index, - index, - }); - const renderItem = ({ item }: { item: FiatUnitType }) => ( { setIsSavingNewPreferredCurrency(true); @@ -104,7 +96,6 @@ const Currency = () => { data={data} initialNumToRender={30} extraData={data} - getItemLayout={getItemLayout} renderItem={renderItem} /> From 8e03eae63ad408466cba5e329f56238be9c26188 Mon Sep 17 00:00:00 2001 From: overtorment Date: Sun, 25 Feb 2024 21:57:04 +0000 Subject: [PATCH 3/3] REF: remove obsolete dep buffer-reverse --- blue_modules/BlueElectrum.js | 15 ++++++------ class/hd-segwit-bech32-transaction.js | 7 +++--- class/wallets/abstract-hd-electrum-wallet.ts | 5 ++-- class/wallets/multisig-hd-wallet.ts | 3 +-- package-lock.json | 25 ++++++-------------- package.json | 1 - screen/selftest.js | 4 ++++ typings/buffer-reverse.d.ts | 4 ---- 8 files changed, 24 insertions(+), 40 deletions(-) delete mode 100644 typings/buffer-reverse.d.ts diff --git a/blue_modules/BlueElectrum.js b/blue_modules/BlueElectrum.js index aff7ba495..905a43512 100644 --- a/blue_modules/BlueElectrum.js +++ b/blue_modules/BlueElectrum.js @@ -7,7 +7,6 @@ import WidgetCommunication from './WidgetCommunication'; import presentAlert from '../components/Alert'; const bitcoin = require('bitcoinjs-lib'); const ElectrumClient = require('electrum-client'); -const reverse = require('buffer-reverse'); const BigNumber = require('bignumber.js'); const net = require('net'); @@ -333,7 +332,7 @@ module.exports.getBalanceByAddress = async function (address) { if (!mainClient) throw new Error('Electrum client is not connected'); const script = bitcoin.address.toOutputScript(address); const hash = bitcoin.crypto.sha256(script); - const reversedHash = Buffer.from(reverse(hash)); + const reversedHash = Buffer.from(hash).reverse(); const balance = await mainClient.blockchainScripthash_getBalance(reversedHash.toString('hex')); balance.addr = address; return balance; @@ -362,7 +361,7 @@ module.exports.getTransactionsByAddress = async function (address) { if (!mainClient) throw new Error('Electrum client is not connected'); const script = bitcoin.address.toOutputScript(address); const hash = bitcoin.crypto.sha256(script); - const reversedHash = Buffer.from(reverse(hash)); + const reversedHash = Buffer.from(hash).reverse(); const history = await mainClient.blockchainScripthash_getHistory(reversedHash.toString('hex')); for (const h of history || []) { if (h.tx_hash) txhashHeightCache[h.tx_hash] = h.height; // cache tx height @@ -380,7 +379,7 @@ module.exports.getMempoolTransactionsByAddress = async function (address) { if (!mainClient) throw new Error('Electrum client is not connected'); const script = bitcoin.address.toOutputScript(address); const hash = bitcoin.crypto.sha256(script); - const reversedHash = Buffer.from(reverse(hash)); + const reversedHash = Buffer.from(hash).reverse(); return mainClient.blockchainScripthash_getMempool(reversedHash.toString('hex')); }; @@ -477,7 +476,7 @@ module.exports.multiGetBalanceByAddress = async function (addresses, batchsize) for (const addr of chunk) { const script = bitcoin.address.toOutputScript(addr); const hash = bitcoin.crypto.sha256(script); - let reversedHash = Buffer.from(reverse(hash)); + let reversedHash = Buffer.from(hash).reverse(); reversedHash = reversedHash.toString('hex'); scripthashes.push(reversedHash); scripthash2addr[reversedHash] = addr; @@ -523,7 +522,7 @@ module.exports.multiGetUtxoByAddress = async function (addresses, batchsize) { for (const addr of chunk) { const script = bitcoin.address.toOutputScript(addr); const hash = bitcoin.crypto.sha256(script); - let reversedHash = Buffer.from(reverse(hash)); + let reversedHash = Buffer.from(hash).reverse(); reversedHash = reversedHash.toString('hex'); scripthashes.push(reversedHash); scripthash2addr[reversedHash] = addr; @@ -566,7 +565,7 @@ module.exports.multiGetHistoryByAddress = async function (addresses, batchsize) for (const addr of chunk) { const script = bitcoin.address.toOutputScript(addr); const hash = bitcoin.crypto.sha256(script); - let reversedHash = Buffer.from(reverse(hash)); + let reversedHash = Buffer.from(hash).reverse(); reversedHash = reversedHash.toString('hex'); scripthashes.push(reversedHash); scripthash2addr[reversedHash] = addr; @@ -1039,7 +1038,7 @@ function txhexToElectrumTransaction(txhex) { if (inn.witness[1]) txinwitness.push(inn.witness[1].toString('hex')); ret.vin.push({ - txid: reverse(inn.hash).toString('hex'), + txid: Buffer.from(inn.hash).reverse().toString('hex'), vout: inn.index, scriptSig: { hex: inn.script.toString('hex'), asm: '' }, txinwitness, diff --git a/class/hd-segwit-bech32-transaction.js b/class/hd-segwit-bech32-transaction.js index 758a120a9..0527f05c6 100644 --- a/class/hd-segwit-bech32-transaction.js +++ b/class/hd-segwit-bech32-transaction.js @@ -2,7 +2,6 @@ import { HDSegwitBech32Wallet } from './wallets/hd-segwit-bech32-wallet'; import { SegwitBech32Wallet } from './wallets/segwit-bech32-wallet'; const bitcoin = require('bitcoinjs-lib'); const BlueElectrum = require('../blue_modules/BlueElectrum'); -const reverse = require('buffer-reverse'); const BigNumber = require('bignumber.js'); /** @@ -150,7 +149,7 @@ export class HDSegwitBech32Transaction { const prevInputs = []; for (const inp of this._txDecoded.ins) { - let reversedHash = Buffer.from(reverse(inp.hash)); + let reversedHash = Buffer.from(inp.hash).reverse(); reversedHash = reversedHash.toString('hex'); prevInputs.push(reversedHash); } @@ -161,7 +160,7 @@ export class HDSegwitBech32Transaction { let wentIn = 0; const utxos = []; for (const inp of this._txDecoded.ins) { - let reversedHash = Buffer.from(reverse(inp.hash)); + let reversedHash = Buffer.from(inp.hash).reverse(); reversedHash = reversedHash.toString('hex'); if (prevTransactions[reversedHash] && prevTransactions[reversedHash].vout && prevTransactions[reversedHash].vout[inp.index]) { let value = prevTransactions[reversedHash].vout[inp.index].value; @@ -228,7 +227,7 @@ export class HDSegwitBech32Transaction { const spentUtxos = this._wallet.getDerivedUtxoFromOurTransaction(true); for (const inp of this._txDecoded.ins) { - const txidInUtxo = reverse(inp.hash).toString('hex'); + const txidInUtxo = Buffer.from(inp.hash).reverse().toString('hex'); let found = false; for (const spentU of spentUtxos) { diff --git a/class/wallets/abstract-hd-electrum-wallet.ts b/class/wallets/abstract-hd-electrum-wallet.ts index fa37fd8d8..fc24307b9 100644 --- a/class/wallets/abstract-hd-electrum-wallet.ts +++ b/class/wallets/abstract-hd-electrum-wallet.ts @@ -19,7 +19,6 @@ import { CreateTransactionResult, CreateTransactionUtxo, Transaction, Utxo } fro const ECPair = ECPairFactory(ecc); const BlueElectrum: typeof BlueElectrumNs = require('../../blue_modules/BlueElectrum'); -const reverse = require('buffer-reverse'); const bip32 = BIP32Factory(ecc); const bip47 = BIP47Factory(ecc); @@ -1165,7 +1164,7 @@ export class AbstractHDElectrumWallet extends AbstractHDWallet { let masterFingerprintHex = Number(masterFingerprint).toString(16); if (masterFingerprintHex.length < 8) masterFingerprintHex = '0' + masterFingerprintHex; // conversion without explicit zero might result in lost byte const hexBuffer = Buffer.from(masterFingerprintHex, 'hex'); - masterFingerprintBuffer = Buffer.from(reverse(hexBuffer)); + masterFingerprintBuffer = Buffer.from(hexBuffer).reverse(); } else { masterFingerprintBuffer = Buffer.from([0x00, 0x00, 0x00, 0x00]); } @@ -1191,7 +1190,7 @@ export class AbstractHDElectrumWallet extends AbstractHDWallet { let masterFingerprintHex = Number(masterFingerprint).toString(16); if (masterFingerprintHex.length < 8) masterFingerprintHex = '0' + masterFingerprintHex; // conversion without explicit zero might result in lost byte const hexBuffer = Buffer.from(masterFingerprintHex, 'hex'); - masterFingerprintBuffer = Buffer.from(reverse(hexBuffer)); + masterFingerprintBuffer = Buffer.from(hexBuffer).reverse(); } else { masterFingerprintBuffer = Buffer.from([0x00, 0x00, 0x00, 0x00]); } diff --git a/class/wallets/multisig-hd-wallet.ts b/class/wallets/multisig-hd-wallet.ts index b47081c8c..c2dac5172 100644 --- a/class/wallets/multisig-hd-wallet.ts +++ b/class/wallets/multisig-hd-wallet.ts @@ -3,7 +3,6 @@ import * as bip39 from 'bip39'; import * as bitcoin from 'bitcoinjs-lib'; import { Psbt, Transaction } from 'bitcoinjs-lib'; import b58 from 'bs58check'; -import reverse from 'buffer-reverse'; import createHash from 'create-hash'; import { ECPairFactory } from 'ecpair'; import * as mn from 'electrum-mnemonic'; @@ -1111,7 +1110,7 @@ export class MultisigHDWallet extends AbstractHDElectrumWallet { // means we failed to get amounts that go in previously, so lets use utxo amounts cache we've build // from non-segwit inputs for (const inp of psbt.txInputs) { - const cacheKey = reverse(inp.hash).toString('hex') + ':' + inp.index; + const cacheKey = Buffer.from(inp.hash).reverse().toString('hex') + ':' + inp.index; if (cacheUtxoAmounts[cacheKey]) goesIn += cacheUtxoAmounts[cacheKey]; } } diff --git a/package-lock.json b/package-lock.json index 28614d992..807a393ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,11 +38,10 @@ "bitcoinjs-message": "2.2.0", "bolt11": "1.4.1", "buffer": "6.0.3", - "buffer-reverse": "1.0.1", "coinselect": "3.1.13", "crypto-js": "4.2.0", "dayjs": "1.11.10", - "detox": "20.17.1", + "detox": "20.18.3", "ecpair": "2.0.1", "ecurve": "1.0.6", "electrum-client": "github:BlueWallet/rn-electrum-client#1bfe3cc", @@ -8402,11 +8401,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "node_modules/buffer-reverse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" - }, "node_modules/buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -9646,9 +9640,9 @@ } }, "node_modules/detox": { - "version": "20.17.1", - "resolved": "https://registry.npmjs.org/detox/-/detox-20.17.1.tgz", - "integrity": "sha512-10pey6CR9D5GSloRkH60ObBGZ8VS11H7iuBNY7qq6jO2swiqqckHhPLRXfH9+WGR7l3vDnfU+G/gQs7JxQkJwA==", + "version": "20.18.3", + "resolved": "https://registry.npmjs.org/detox/-/detox-20.18.3.tgz", + "integrity": "sha512-ssC7pWLDOs48Rocu7TDdLaYWiDWF5A8EAf/YcCsseHIqAqr6ECX6Hve8MIh3wUkPGYWoZaJHQfT9cyZjklt8AQ==", "hasInstallScript": true, "dependencies": { "ajv": "^8.6.3", @@ -28971,11 +28965,6 @@ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, - "buffer-reverse": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/buffer-reverse/-/buffer-reverse-1.0.1.tgz", - "integrity": "sha512-M87YIUBsZ6N924W57vDwT/aOu8hw7ZgdByz6ijksLjmHJELBASmYTTlNHRgjE+pTsT9oJXGaDSgqqwfdHotDUg==" - }, "buffer-xor": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", @@ -29910,9 +29899,9 @@ "dev": true }, "detox": { - "version": "20.17.1", - "resolved": "https://registry.npmjs.org/detox/-/detox-20.17.1.tgz", - "integrity": "sha512-10pey6CR9D5GSloRkH60ObBGZ8VS11H7iuBNY7qq6jO2swiqqckHhPLRXfH9+WGR7l3vDnfU+G/gQs7JxQkJwA==", + "version": "20.18.3", + "resolved": "https://registry.npmjs.org/detox/-/detox-20.18.3.tgz", + "integrity": "sha512-ssC7pWLDOs48Rocu7TDdLaYWiDWF5A8EAf/YcCsseHIqAqr6ECX6Hve8MIh3wUkPGYWoZaJHQfT9cyZjklt8AQ==", "requires": { "ajv": "^8.6.3", "bunyan": "^1.8.12", diff --git a/package.json b/package.json index a16d6ae1a..cae1b79a5 100644 --- a/package.json +++ b/package.json @@ -124,7 +124,6 @@ "bitcoinjs-message": "2.2.0", "bolt11": "1.4.1", "buffer": "6.0.3", - "buffer-reverse": "1.0.1", "coinselect": "3.1.13", "crypto-js": "4.2.0", "dayjs": "1.11.10", diff --git a/screen/selftest.js b/screen/selftest.js index a07ddc9ad..5b1b4b6f2 100644 --- a/screen/selftest.js +++ b/screen/selftest.js @@ -271,6 +271,10 @@ export default class Selftest extends Component { } // + + assertStrictEqual(Buffer.from('00ff0f', 'hex').reverse().toString('hex'), '0fff00'); + + // } catch (Err) { errorMessage += Err; isOk = false; diff --git a/typings/buffer-reverse.d.ts b/typings/buffer-reverse.d.ts deleted file mode 100644 index e3535e312..000000000 --- a/typings/buffer-reverse.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -declare module 'buffer-reverse' { - declare function reverse(buffer: Buffer): Buffer; - export default reverse; -}