From 7294becb454043aec5e0a13b9aa6ea795ba96b4a Mon Sep 17 00:00:00 2001 From: Iveta Date: Wed, 4 Dec 2024 15:41:51 -0500 Subject: [PATCH] View XDR stream + update Trezor deps (#1178) * View XDR stream + update Trezor deps * Show proper array of JSON objects --- package.json | 6 +- src/app/(sidebar)/xdr/view/page.tsx | 76 ++++++- src/components/PrettyJson/index.tsx | 8 +- src/components/PrettyJson/styles.scss | 12 + src/helpers/StellarXdr.ts | 9 +- tests/viewXdrToJsonPage.test.ts | 25 +- yarn.lock | 313 +++++++++++++------------- 7 files changed, 269 insertions(+), 180 deletions(-) diff --git a/package.json b/package.json index bc00bf7c..431d2d34 100644 --- a/package.json +++ b/package.json @@ -24,11 +24,11 @@ "@ledgerhq/hw-transport-webusb": "^6.29.4", "@stellar/design-system": "^2.0.0-beta.17", "@stellar/stellar-sdk": "^13.0.0", - "@stellar/stellar-xdr-json": "^22.0.0-rc.1", + "@stellar/stellar-xdr-json": "^22.0.0-rc.1.1", "@tanstack/react-query": "^5.59.0", "@tanstack/react-query-devtools": "^5.59.0", - "@trezor/connect-plugin-stellar": "^9.0.3", - "@trezor/connect-web": "^9.4.2", + "@trezor/connect-plugin-stellar": "^9.0.6", + "@trezor/connect-web": "^9.4.4", "@typescript-eslint/eslint-plugin": "^7.13.1", "bignumber.js": "^9.1.2", "dompurify": "^3.1.7", diff --git a/src/app/(sidebar)/xdr/view/page.tsx b/src/app/(sidebar)/xdr/view/page.tsx index 22826a58..29ecccd8 100644 --- a/src/app/(sidebar)/xdr/view/page.tsx +++ b/src/app/(sidebar)/xdr/view/page.tsx @@ -33,6 +33,7 @@ import { delayedAction } from "@/helpers/delayedAction"; import { getNetworkHeaders } from "@/helpers/getNetworkHeaders"; import { useIsXdrInit } from "@/hooks/useIsXdrInit"; import { useStore } from "@/store/useStore"; +import { AnyObject } from "@/types/types"; export default function ViewXdr() { const { xdr, network } = useStore(); @@ -60,6 +61,28 @@ export default function ViewXdr() { const isFetchingLatestTxn = isLatestTxnFetching || isLatestTxnLoading; + const maybeStreamXdr = ( + xdrType: string, + xdrString: string, + originalError: any, + ) => { + try { + const streamXdrJson = StellarXdr.decode_stream(xdrType, xdrString); + + return { + jsonString: JSON.stringify(streamXdrJson), + jsonArray: streamXdrJson.map((s) => parseToLosslessJson(s)), + error: "", + }; + } catch (e) { + // If the stream fails, assume that the XDR is invalid and return the original error. + return { + jsonString: "", + error: `Unable to decode input as ${xdrType}: ${originalError}. Select another XDR type.`, + }; + } + }; + const xdrDecodeJson = () => { if (!(isXdrInit && xdr.blob && xdr.type)) { return null; @@ -70,13 +93,12 @@ export default function ViewXdr() { return { jsonString: xdrJson, + jsonArray: [parseToLosslessJson(xdrJson)], error: "", }; } catch (e) { - return { - jsonString: "", - error: `Unable to decode input as ${xdr.type}: ${e}. Select another XDR type.`, - }; + // It's possible that the XDR is a stream + return maybeStreamXdr(xdr.type, xdr.blob, e); } }; @@ -157,6 +179,42 @@ export default function ViewXdr() { return null; }; + const renderJsonContent = ({ + jsonArray, + xdr, + }: { + jsonArray: AnyObject[]; + xdr: string; + }) => { + if (jsonArray.length > 1) { + return ( +
+
+ [ + {`${jsonArray.length} items`} +
+ {jsonArray.map((j, index) => ( + <> + + + ))} + ] +
+ ); + } + + if (jsonArray.length === 1) { + return ; + } + + return null; + }; + return ( @@ -233,7 +291,7 @@ export default function ViewXdr() { <> - {xdrJsonDecoded?.jsonString ? ( + {xdrJsonDecoded?.jsonString && xdrJsonDecoded?.jsonArray ? ( <>{renderClaimableBalanceIds()} @@ -241,10 +299,10 @@ export default function ViewXdr() { className="PageBody__content PageBody__scrollable" data-testid="view-xdr-render-json" > - + {renderJsonContent({ + jsonArray: xdrJsonDecoded.jsonArray, + xdr: xdr.blob, + })} diff --git a/src/components/PrettyJson/index.tsx b/src/components/PrettyJson/index.tsx index b3af102b..a767912b 100644 --- a/src/components/PrettyJson/index.tsx +++ b/src/components/PrettyJson/index.tsx @@ -290,7 +290,7 @@ export const PrettyJson = ({
{render(json)} - +
); }; @@ -334,12 +334,16 @@ const Bracket = ({ char, children, isCollapsed, + isEnd, }: { char: Char; children?: React.ReactNode; isCollapsed?: boolean; + isEnd?: boolean; }) => ( - + {char} {children} {isCollapsed ? `...${getClosingChar(char)}` : null} diff --git a/src/components/PrettyJson/styles.scss b/src/components/PrettyJson/styles.scss index 2cf6f9cf..bdc2d91b 100644 --- a/src/components/PrettyJson/styles.scss +++ b/src/components/PrettyJson/styles.scss @@ -44,6 +44,18 @@ position: relative; } + &__array { + & > .PrettyJson { + padding-left: pxToRem(16px); + + & > .PrettyJson__bracket--end { + &::after { + content: ","; + } + } + } + } + &--click { cursor: pointer; } diff --git a/src/helpers/StellarXdr.ts b/src/helpers/StellarXdr.ts index c8dc0f70..7df1618f 100644 --- a/src/helpers/StellarXdr.ts +++ b/src/helpers/StellarXdr.ts @@ -1,4 +1,9 @@ -import init, { decode, encode, guess } from "@stellar/stellar-xdr-json"; +import init, { + decode, + decode_stream, + encode, + guess, +} from "@stellar/stellar-xdr-json"; // A wrapper for the Stellar XDR JSON declare global { @@ -14,4 +19,4 @@ const initialize = async () => { } }; -export { initialize, decode, encode, guess }; +export { initialize, decode, decode_stream, encode, guess }; diff --git a/tests/viewXdrToJsonPage.test.ts b/tests/viewXdrToJsonPage.test.ts index 183e780f..be1f915e 100644 --- a/tests/viewXdrToJsonPage.test.ts +++ b/tests/viewXdrToJsonPage.test.ts @@ -61,7 +61,7 @@ test.describe("View XDR to JSON Page", () => { const xdrTypeOptions = page.getByTestId("xdr-type-select-options"); const jsonView = page.getByTestId("view-xdr-render-json"); const decodeErrorMsg = page.getByText( - "Unable to decode input as TransactionEnvelope: xdr value invalid. Select another XDR type.", + "Unable to decode input as TransactionEnvelope: length limit exceeded. Select another XDR type.", ); // Initial state @@ -128,6 +128,25 @@ test.describe("View XDR to JSON Page", () => { await expect(claimableBalanceOp).toBeVisible(); }); + test("Import XDR stream", async ({ page }) => { + const xdrInput = page.getByLabel("Base-64 encoded XDR"); + const xdrTypeInput = page.getByLabel("XDR type"); + const jsonView = page.getByTestId("view-xdr-render-json"); + + await xdrInput.fill(MOCK_XDR_STREAM); + + await expect( + page.getByText( + "Unable to decode input as TransactionEnvelope: xdr value invalid. Select another XDR type.", + ), + ).toBeVisible(); + await expect(jsonView).toBeHidden(); + + await xdrTypeInput.focus(); + await page.getByText("ScSpecEntry").first().click(); + await expect(jsonView).toBeVisible(); + }); + test("Fetch latest transaction", async ({ page }) => { // Click to fetch await page @@ -183,9 +202,11 @@ const MOCK_TX_TRANSACTION_ENVELOPE_HASH = const MOCK_TX_TRANSACTION_ENVELOPE_CLAIMABLE_BALANCE = "AAAAAgAAAAAZCaG2HvD37MucM8Z4qhClE0XQWhEakEgovVIZfS+4JgAAAMgAADgIAAAALAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAADgAAAAAAAAAAAJiWgAAAAAEAAAAAAAAAABv1ZY2hLWb8m+1MaU/6hIGsWBvl7J70/xL8wq4+s9NSAAAAAAAAAAAAAAABAAAAABv1ZY2hLWb8m+1MaU/6hIGsWBvl7J70/xL8wq4+s9NSAAAAAAAAAAAAmJaAAAAAAAAAAAA="; const MOCK_TX_TRANSACTION_RESULT = - "AAAAAAAABEwAAAAAAAAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAABAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAA="; + "AAAAAAAAAGQAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAA="; const MOCK_TX_TRANSACTION_META = "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"; +const MOCK_XDR_STREAM = + "AAAAAAAAAAAAAAAKaW5pdGlhbGl6ZQAAAAAAAwAAAAAAAAAPdG9rZW5fd2FzbV9oYXNoAAAAA+4AAAAgAAAAAAAAAAd0b2tlbl9hAAAAABMAAAAAAAAAB3Rva2VuX2IAAAAAEwAAAAAAAAAAAAAAAAAAAAhzaGFyZV9pZAAAAAAAAAABAAAAEwAAAAAAAAAAAAAAB2RlcG9zaXQAAAAABQAAAAAAAAACdG8AAAAAABMAAAAAAAAACWRlc2lyZWRfYQAAAAAAAAsAAAAAAAAABW1pbl9hAAAAAAAACwAAAAAAAAAJZGVzaXJlZF9iAAAAAAAACwAAAAAAAAAFbWluX2IAAAAAAAALAAAAAAAAAAAAAAAAAAAABHN3YXAAAAAEAAAAAAAAAAJ0bwAAAAAAEwAAAAAAAAAFYnV5X2EAAAAAAAABAAAAAAAAAANvdXQAAAAACwAAAAAAAAAGaW5fbWF4AAAAAAALAAAAAAAAAAAAAAAAAAAACHdpdGhkcmF3AAAABAAAAAAAAAACdG8AAAAAABMAAAAAAAAADHNoYXJlX2Ftb3VudAAAAAsAAAAAAAAABW1pbl9hAAAAAAAACwAAAAAAAAAFbWluX2IAAAAAAAALAAAAAQAAA+0AAAACAAAACwAAAAsAAAAAAAAAAAAAAAlnZXRfcnNydnMAAAAAAAAAAAAAAQAAA+0AAAACAAAACwAAAAs="; const MOCK_LATEST_TX_RESPONSE = { _links: { diff --git a/yarn.lock b/yarn.lock index ba2262be..53b2e818 100644 --- a/yarn.lock +++ b/yarn.lock @@ -333,13 +333,6 @@ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.57.0.tgz#a5417ae8427873f1dd08b70b3574b453e67b5f7f" integrity sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g== -"@ethereumjs/common@^4.3.0": - version "4.3.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.3.0.tgz#5b45eec7dcf521fa4ddaf0b383072fbcf9913553" - integrity sha512-shBNJ0ewcPNTUfZduHiczPmqkfJDn0Dh/9BR5fq7xUFTuIq7Fu1Vx00XDwQVIrpVL70oycZocOhBM6nDO+4FEQ== - dependencies: - "@ethereumjs/util" "^9.0.3" - "@ethereumjs/common@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-4.4.0.tgz#fba41612f527a815bf304e98653d6b5fc5d6d4de" @@ -352,7 +345,7 @@ resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-5.0.2.tgz#c89bd82f2f3bec248ab2d517ae25f5bbc4aac842" integrity sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA== -"@ethereumjs/tx@^5.3.0": +"@ethereumjs/tx@^5.4.0": version "5.4.0" resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-5.4.0.tgz#6f47894cc3e2d4e63d87c62b41ed7e8180a1de58" integrity sha512-SCHnK7m/AouZ7nyoR0MEXw1OO/tQojSbp88t8oxhwes5iZkZCtfFdUrJaiIb72qIpH2FVw6s1k1uP7LXuH7PsA== @@ -362,14 +355,6 @@ "@ethereumjs/util" "^9.1.0" ethereum-cryptography "^2.2.1" -"@ethereumjs/util@^9.0.3": - version "9.0.3" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.0.3.tgz#c2709e6127a85bbe23a71937ac78358ac93e7241" - integrity sha512-PmwzWDflky+7jlZIFqiGsBPap12tk9zK5SVH9YW2OEnDN7OEhCjUOMzbOqwuClrbkSIkM2ERivd7sXZ48Rh/vg== - dependencies: - "@ethereumjs/rlp" "^5.0.2" - ethereum-cryptography "^2.1.3" - "@ethereumjs/util@^9.1.0": version "9.1.0" resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-9.1.0.tgz#75e3898a3116d21c135fa9e29886565609129bce" @@ -698,13 +683,6 @@ resolved "https://registry.yarnpkg.com/@ngneat/elf/-/elf-2.5.1.tgz#bf87146ab4ee9bd9364f03b5cfad6ce180cfb343" integrity sha512-13BItNZFgHglTiXuP9XhisNczwQ5QSzH+imAv9nAPsdbCq/3ortqkIYRnlxB8DGPVcuIjLujQ4OcZa+9QWgZtw== -"@noble/curves@1.4.0", "@noble/curves@~1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" - integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== - dependencies: - "@noble/hashes" "1.4.0" - "@noble/curves@1.4.2": version "1.4.2" resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.2.tgz#40309198c76ed71bc6dbf7ba24e81ceb4d0d1fe9" @@ -719,6 +697,13 @@ dependencies: "@noble/hashes" "1.5.0" +"@noble/curves@~1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" + "@noble/hashes@1.4.0", "@noble/hashes@^1.2.0", "@noble/hashes@^1.4.0", "@noble/hashes@~1.4.0": version "1.4.0" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" @@ -946,10 +931,10 @@ dependencies: buffer "~6.0.3" -"@solana/web3.js@^1.95.0": - version "1.95.3" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.3.tgz#70b5f4d76823f56b5af6403da51125fffeb65ff3" - integrity sha512-O6rPUN0w2fkNqx/Z3QJMB9L225Ex10PRDH8bTaIUPZXMPV0QP8ZpPvjQnXK+upUczlRgzHzd6SjKIha1p+I6og== +"@solana/web3.js@^1.95.4": + version "1.95.5" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.95.5.tgz#ba70da4c205c64249ed94369fe2d617c0347cd85" + integrity sha512-hU9cBrbg1z6gEjLH9vwIckGBVB78Ijm0iZFNk4ocm5OD82piPwuk3MeQ1rfiKD9YQtr95krrcaopb49EmQJlRg== dependencies: "@babel/runtime" "^7.25.0" "@noble/curves" "^1.4.2" @@ -1150,10 +1135,10 @@ toml "^3.0.0" urijs "^1.19.1" -"@stellar/stellar-xdr-json@^22.0.0-rc.1": - version "22.0.0-rc.1" - resolved "https://registry.yarnpkg.com/@stellar/stellar-xdr-json/-/stellar-xdr-json-22.0.0-rc.1.tgz#5690afb7776accdb51f82a6358ff80950a6137c1" - integrity sha512-BEVt2F2hmEuBctueFhFTyTh1GPxOZe4wtqhPhiSgc0y5iJb7+iy+ZMABBSQ6+xOx4edbiqR9O8wGHWosAuq4Ew== +"@stellar/stellar-xdr-json@^22.0.0-rc.1.1": + version "22.0.0-rc.1.1" + resolved "https://registry.yarnpkg.com/@stellar/stellar-xdr-json/-/stellar-xdr-json-22.0.0-rc.1.1.tgz#e3e236aba492171114d3facf901cb0a848068f2d" + integrity sha512-2fXydL1i7OiegEjDHj2QFLKjypJVXd2BaaPp+QRgZTMD/FYrfJdTaubhDwEdBNk6TQ3ICl8YpESLmb7ca8r6QA== "@stellar/tsconfig@^1.0.2": version "1.0.2" @@ -1204,165 +1189,172 @@ dependencies: "@tanstack/query-core" "5.59.0" -"@trezor/analytics@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/analytics/-/analytics-1.2.1.tgz#40e3e9aa738b90e09ffb858dca3fe19468cee225" - integrity sha512-GKkHp+4e2YaX+nNf3C46Et8y9D7ExRSvlCinJfClFNbY3p5Mn83PwoXpSsM9omqmZkIy+0EoC/o6+JcaiA+p9A== +"@trezor/analytics@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/analytics/-/analytics-1.2.3.tgz#6fa7cb5da639bdfa2393c1e726912e6d5ec97772" + integrity sha512-VMWDedeFnZEaJnZEYsSaxhU6fJjiNj7nyXu1m2ht+pA73GIoTTwAFAQGgbT4Fy4VdLmwI3AdwKvJTuA+ccFwpg== dependencies: - "@trezor/env-utils" "1.2.0" - "@trezor/utils" "9.2.1" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" -"@trezor/blockchain-link-types@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-types/-/blockchain-link-types-1.2.1.tgz#394041f0010b60ac083f01357df7ae74c36103f9" - integrity sha512-YokPYnMG60qWoaQU18st3A3lvvefFRLY/TK1sDHFpwKWDLWch+tvZINhviJ1bdbxPqYZVDCmL8yyXNAu0xS5iQ== +"@trezor/blockchain-link-types@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-types/-/blockchain-link-types-1.2.3.tgz#8b596a953c6d992e0d0dc94a852235ca555ba8d8" + integrity sha512-ymH4R/fmmUmNKSIpItFONhvq4r9UjzIWNSX/Jqntf8X0Jb4/pMLLxY+ZJ+AK9mEvk9hVbf/TTa99gJ1XQ2SwnA== dependencies: - "@solana/web3.js" "^1.95.0" - "@trezor/type-utils" "1.1.0" - "@trezor/utxo-lib" "2.2.1" - socks-proxy-agent "6.1.1" + "@solana/web3.js" "^1.95.4" + "@trezor/type-utils" "1.1.2" + "@trezor/utxo-lib" "2.2.3" -"@trezor/blockchain-link-utils@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-utils/-/blockchain-link-utils-1.2.1.tgz#b0b941d4afa7fb463918a8cccdc6b815843c9d1b" - integrity sha512-+h+TIHG6l1gCqguhiWt5ZLKH/ImDGqfaZ0ql/nl5QQUdtPh9g2RU1Wc0CwQHOLmWqI/YBPExhMFB9MTf5feZ3w== +"@trezor/blockchain-link-utils@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link-utils/-/blockchain-link-utils-1.2.3.tgz#53cfa05e0661cdcce19858f2b4af8f31fded8649" + integrity sha512-Q+G+o7LaWJWIlRR6VhIVYcNoWGbohv2ApSsT/8/7UQg9FHUqJa3x9z4ulU6mTGVf3XFm4fmRoFrYZJOj/2orDw== dependencies: "@mobily/ts-belt" "^3.13.1" - "@solana/web3.js" "^1.95.0" - "@trezor/env-utils" "1.2.0" - "@trezor/utils" "9.2.1" + "@solana/web3.js" "^1.95.4" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" -"@trezor/blockchain-link@2.3.1": - version "2.3.1" - resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.3.1.tgz#72f8c956ee2d3e25caeadcbbae1c029dc9a84d48" - integrity sha512-W4cvbPT3+3w3z/Xf8G49XbwkW8hnhiMEnJJfYGR0yPgqul7rtSmPHvII4pb+/AHAo1DfOaJCrRw87tEbhybU6Q== +"@trezor/blockchain-link@2.3.3": + version "2.3.3" + resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.3.3.tgz#99ca4c5c685498e3c1333a7a40d6d06955845ac3" + integrity sha512-njRNNGzFvyKzOSmtuhljbIfnL+eozqNY9DMQWbtMnLlKgQH6kwJTFfn5RsW7rKRTqd7I4DkKWRVT4VXIRJO1bw== dependencies: "@solana/buffer-layout" "^4.0.1" - "@solana/web3.js" "^1.95.0" - "@trezor/blockchain-link-types" "1.2.1" - "@trezor/blockchain-link-utils" "1.2.1" - "@trezor/utils" "9.2.1" - "@trezor/utxo-lib" "2.2.1" - "@types/web" "^0.0.162" + "@solana/web3.js" "^1.95.4" + "@trezor/blockchain-link-types" "1.2.3" + "@trezor/blockchain-link-utils" "1.2.3" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" + "@trezor/utxo-lib" "2.2.3" + "@types/web" "^0.0.174" events "^3.3.0" ripple-lib "^1.10.1" - socks-proxy-agent "6.1.1" + socks-proxy-agent "8.0.4" ws "^8.18.0" -"@trezor/connect-analytics@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/connect-analytics/-/connect-analytics-1.2.1.tgz#c4777fd957833d06d766a9b680c07fd799b81ea7" - integrity sha512-zvnoyTop5rz4i3KkhAIG8rnOOn5TIUgZcBbOD2a8lya/zeAlMhMtGg2R3STZWbj91xhmouoIb76ipB5jShsfCg== +"@trezor/connect-analytics@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/connect-analytics/-/connect-analytics-1.2.3.tgz#9853bd30c49da36eae3690a69e618983b59c6a22" + integrity sha512-xUXBG7XyEoUdxsFjWG7F9RtzR6zqn34KGIh2ySmCRiz+YM6iDYCxkBZe/2hiaEWKzuCguYBvL7oelDT+CQZIGQ== dependencies: - "@trezor/analytics" "1.2.1" + "@trezor/analytics" "1.2.3" -"@trezor/connect-common@0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.2.2.tgz#d0862d062c7a6b9636ebfe403e7fcdcee77ce8dc" - integrity sha512-evPjhDhV6RNv90OiLIFAXnWKMojwsSMltxyhsCrjzAO5e+xrP/ZykCLoJfO0MR7onFGNi41H91wpvD7LSXLvMQ== +"@trezor/connect-common@0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.2.4.tgz#6eb06ecffdcba66d1ef8cf3161ed4ffe69bbda9a" + integrity sha512-6sQlbnTa7KSjs6ZsfGPznYBXAOn4o2ylA0RHH5SOBdexXwx4+4XlEp2TvEpTCssFgtGONd6/Wwgbhb6MeDLkTA== dependencies: - "@trezor/env-utils" "1.2.0" - "@trezor/utils" "9.2.1" + "@trezor/env-utils" "1.2.1" + "@trezor/utils" "9.2.3" -"@trezor/connect-plugin-stellar@^9.0.3": - version "9.0.3" - resolved "https://registry.yarnpkg.com/@trezor/connect-plugin-stellar/-/connect-plugin-stellar-9.0.3.tgz#1c922d984931c26d6440e77bdfd855c56211f7bc" - integrity sha512-cYAAMdRlNAA5RFDyLle+WpB8Gd7WtmOgp3mHbg2fGm1sd6hMG6VCfVls0DIMu4jRqJCilfKLcx6Cbu+2rfBC/w== +"@trezor/connect-plugin-stellar@^9.0.6": + version "9.0.6" + resolved "https://registry.yarnpkg.com/@trezor/connect-plugin-stellar/-/connect-plugin-stellar-9.0.6.tgz#170dd27ddeb7c7912c3004dcfed4f8b4fd86ac99" + integrity sha512-LieD7xqckUXaPIA3a5XHyAAWE4gMRru6ot+kp1J93MfLn7wnjzJ5FrH2/TXFMxXJh/o1VCX/CzT4KQmgFSQ4Lw== dependencies: - bignumber.js "^9.1.2" + "@trezor/utils" "9.2.2" -"@trezor/connect-web@^9.4.2": - version "9.4.2" - resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.4.2.tgz#f730c795ea9359cd440dd8de8cd507367c5fa2d4" - integrity sha512-nkqfNx7KZyHovteJsxRPqu/63u3Xp4Hi4BtJDkt/ialpIBC78Nheiyz0fY16mxPz+HKrlpswryimlfjDD59aWA== +"@trezor/connect-web@^9.4.4": + version "9.4.4" + resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.4.4.tgz#74b77753267b0dd1c2c20527da2e28a51476fadb" + integrity sha512-sArG/cTsDCic1ZSwqoQPf2Fgyw4PrWDsHElAPC5ohTLo8HHEcTOKSM59X38jrd7DQrs3+EoMQHxNU3EVi6FJEw== dependencies: - "@trezor/connect" "9.4.2" - "@trezor/connect-common" "0.2.2" - "@trezor/utils" "9.2.1" + "@trezor/connect" "9.4.4" + "@trezor/connect-common" "0.2.4" + "@trezor/utils" "9.2.3" -"@trezor/connect@9.4.2": - version "9.4.2" - resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.4.2.tgz#e20b7fb3a1c3e887113e68e45d4f7598c42172ba" - integrity sha512-SXp34aAZKicDd/3H3Et546MJtwmgSFUdnkIR7zBbqm9sdyxOzNmapE7bRpYYhSJtVarCY/COwdfXNOo1wO9JZQ== +"@trezor/connect@9.4.4": + version "9.4.4" + resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.4.4.tgz#bd2547e1dd78716aafc5f6271388fd37b8adb218" + integrity sha512-s9mnVwdxMQHBkzNj3KfcoVMZN8lwRzeVknrWOE0COZiD5TCyVirEVlaV7jXz95DU0yB7ke1mRDtSV1eRJD3XEA== dependencies: "@babel/preset-typescript" "^7.24.7" - "@ethereumjs/common" "^4.3.0" - "@ethereumjs/tx" "^5.3.0" + "@ethereumjs/common" "^4.4.0" + "@ethereumjs/tx" "^5.4.0" "@fivebinaries/coin-selection" "2.2.1" - "@trezor/blockchain-link" "2.3.1" - "@trezor/blockchain-link-types" "1.2.1" - "@trezor/connect-analytics" "1.2.1" - "@trezor/connect-common" "0.2.2" - "@trezor/protobuf" "1.2.2" - "@trezor/protocol" "1.2.1" - "@trezor/schema-utils" "1.2.1" - "@trezor/transport" "1.3.2" - "@trezor/utils" "9.2.1" - "@trezor/utxo-lib" "2.2.1" + "@trezor/blockchain-link" "2.3.3" + "@trezor/blockchain-link-types" "1.2.3" + "@trezor/connect-analytics" "1.2.3" + "@trezor/connect-common" "0.2.4" + "@trezor/protobuf" "1.2.4" + "@trezor/protocol" "1.2.2" + "@trezor/schema-utils" "1.2.3" + "@trezor/transport" "1.3.4" + "@trezor/utils" "9.2.3" + "@trezor/utxo-lib" "2.2.3" blakejs "^1.2.1" bs58 "^6.0.0" bs58check "^4.0.0" cross-fetch "^4.0.0" -"@trezor/env-utils@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@trezor/env-utils/-/env-utils-1.2.0.tgz#8fb771a6f43e31b7dcf8c383c1f06c21f16b9674" - integrity sha512-dbOR+PIeReZW4iooN+DQIMWloZAV92jMGOTzEdcY6NA63nCV8QUSxoNZwZtU9nVRPeJLrT6cVkVG80nZjlplow== +"@trezor/env-utils@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@trezor/env-utils/-/env-utils-1.2.1.tgz#58f689b69ba65208d5518fe34ca46054024f2312" + integrity sha512-ESBV+/AWpfJA6qnHk7BgBYFbhNtUKjPZZzQr1LOUiePwFITbVu421b5BHjTSPFVjpbrWo6Ob0IG7u8saJi0G5A== dependencies: ua-parser-js "^1.0.37" -"@trezor/protobuf@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@trezor/protobuf/-/protobuf-1.2.2.tgz#9563bc701087bb3d19bf42792f05f154446618c2" - integrity sha512-zEpyQHMXpG6LJC/f1lKyzRIsy+v+waor7MdSQ0Dh4ndBf/NkHdxAkCPmT6aehZ8UFZuSDMlp0plK8V+0p9pHNw== +"@trezor/protobuf@1.2.4": + version "1.2.4" + resolved "https://registry.yarnpkg.com/@trezor/protobuf/-/protobuf-1.2.4.tgz#18a6b9c83b8b89652167cdbed0e2b3daea079fd4" + integrity sha512-609Z8st6lL59DQoAb3XTwyNz3xxXBr1rgcAE6mB8LtVjo37YMO2IL2CXomk0ngybtfwkPq9tU1SgifMdAv0sVw== dependencies: - "@trezor/schema-utils" "1.2.1" + "@trezor/schema-utils" "1.2.3" protobufjs "7.4.0" -"@trezor/protocol@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/protocol/-/protocol-1.2.1.tgz#bc926fc36fa40d2d4f5776bcfa3e1f3d1bb63290" - integrity sha512-KGRtlizHk4nz7owhHH/gP3XfTbOGvD1Co3As1KOvVAA4+J+YJsk4ri84heJG9vb1Mi30rY2fvQ0TrxOL7bgsWQ== +"@trezor/protocol@1.2.2": + version "1.2.2" + resolved "https://registry.yarnpkg.com/@trezor/protocol/-/protocol-1.2.2.tgz#922319cb59da33f605257a59f630345b4866dcd3" + integrity sha512-iXD+Wqpk0FpwJpQbAFKw+8AL6ipfDjQ7g+MYZ7lU1H7/gCxM2XqLI4eW7Il+FAwk7orepDuoSbJSVcsNJYKjOA== -"@trezor/schema-utils@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@trezor/schema-utils/-/schema-utils-1.2.1.tgz#ab34c77e06f007ef75853130c1d418f340b773b8" - integrity sha512-oMAxn8UWknstNHW0BHpT5uV3K74Sc71NMp84IDdvmgGJKu8szuynUEbwuLa399TWNT8w76dp4JY1antZ0/uQhw== +"@trezor/schema-utils@1.2.3": + version "1.2.3" + resolved "https://registry.yarnpkg.com/@trezor/schema-utils/-/schema-utils-1.2.3.tgz#e94e1f2fa24451db88bfede873719d0bac3eebc4" + integrity sha512-+/GmaSTfUf8nEBSSWz/SV0W/0l37YQBfDMygAKXlKMbtXJI03PHqkEF/jQrt+BP2Gh24gjo5GNqCwx7EIlzZug== dependencies: "@sinclair/typebox" "^0.33.7" ts-mixer "^6.0.3" -"@trezor/transport@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.3.2.tgz#eb12c986e4493d956e82d15b25a2fc94f23d376e" - integrity sha512-QeudU2AUfFFqORgb+Hg+T7Fy6Qusk45QESJmPI/sxqjQyqEV3kCbg6bPQppDvljasZLiz0Ofw5JAkDAELGkdew== +"@trezor/transport@1.3.4": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.3.4.tgz#73019543c97668d81846e24eae7ba5fa07fb65f9" + integrity sha512-qKE2d7gML4uDNcTwPTJqgZ6gA79kXX61ZQknCyGXizW3oaTVCu7GP1wZxxW8plzRZVHNCAH9Wdc5mlrAkAooDQ== dependencies: - "@trezor/protobuf" "1.2.2" - "@trezor/protocol" "1.2.1" - "@trezor/utils" "9.2.1" + "@trezor/protobuf" "1.2.4" + "@trezor/protocol" "1.2.2" + "@trezor/utils" "9.2.3" cross-fetch "^4.0.0" long "^4.0.0" protobufjs "7.4.0" usb "^2.14.0" -"@trezor/type-utils@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@trezor/type-utils/-/type-utils-1.1.0.tgz#cbf65c188555565afe03b16e2ea1238e6fea5b71" - integrity sha512-zoPN9ZmdYlr03WyCWEQY6xCHPfhsodENYHPcZMKObVsUlhtMh1Z7OSD/pzd/NzOPBAtSctNbldx4aFu9A88afw== +"@trezor/type-utils@1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@trezor/type-utils/-/type-utils-1.1.2.tgz#accb6ad8d0b3f207c09ce2bf4f59605b00523371" + integrity sha512-48VUd5OwgqzsnShMDVxs6SyKrYdl+rQc23fKMNChpYM1Ilw7ea9uKvNN38pEvQHWERKKEtmiRJ8cQD4X9D9MVQ== -"@trezor/utils@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.2.1.tgz#56959ddd53364d6ebee1b56edfe22f91ac2af3ac" - integrity sha512-BKE/B4szVjdzbZ35Gg0x6l5o/HF3BShlGIQ0S7Ypw9puNriCKTEHBM7YoNYWxx90Byah8o6uxlkQDxPH86ppWA== +"@trezor/utils@9.2.2": + version "9.2.2" + resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.2.2.tgz#79e97c70b65872a78272b70515a31f2ff891b97a" + integrity sha512-eTKOXhJsqUObQiL4ccJvamuDe9YDt+QFPh25YG85fqUInN85H/dxRXiLEboeqkRHldP06+bG+e2t4iAnsWuINQ== dependencies: bignumber.js "^9.1.2" -"@trezor/utxo-lib@2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-2.2.1.tgz#e819a9b837a22a244aa4e0958e170060e2da4389" - integrity sha512-yBodbZ5kmZucSJFhWfO8WefAacm+d12wbKX8zgrRnQM5Hr4NfACvQh2yLh4UpgM/r3BGAbx8qnEXNpw6SwdOTg== +"@trezor/utils@9.2.3": + version "9.2.3" + resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.2.3.tgz#b310ac21767b00b980f58bcfa0eba4966fba20a6" + integrity sha512-nSuI87UUHKwh8loQDiBkvKE7yAQOnJKaxQ0MM45JocYZ/kyfKfipWSsmB1Rm/T6llgCnqHdCvirhfjEI18Zlxg== dependencies: - "@trezor/utils" "9.2.1" + bignumber.js "^9.1.2" + +"@trezor/utxo-lib@2.2.3": + version "2.2.3" + resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-2.2.3.tgz#061c9988e60fb7ce36c05a32feb00172791465fd" + integrity sha512-BtQHlFWb02FAtB13g23xsgEO1CJewKyRk0em00kGtpEeIBLLKRq/D1dj6o3B3ERUQHOFvoufZjcYJkJ/WExGWQ== + dependencies: + "@trezor/utils" "9.2.3" bchaddrjs "^0.5.2" bech32 "^2.0.0" bip66 "^2.0.0" @@ -1471,10 +1463,10 @@ resolved "https://registry.yarnpkg.com/@types/w3c-web-usb/-/w3c-web-usb-1.0.10.tgz#cf89cccd2d93b6245e784c19afe0a9f5038d4528" integrity sha512-CHgUI5kTc/QLMP8hODUHhge0D4vx+9UiAwIGiT0sTy/B2XpdX1U5rJt6JSISgr6ikRT7vxV9EVAFeYZqUnl1gQ== -"@types/web@^0.0.162": - version "0.0.162" - resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.162.tgz#84a31c785e17049f035af47386571cc00d264f02" - integrity sha512-uYssYXblX0BTDdpxllMQ84uDEk0EeU+dcfo8Whyl715cpfsYk5+msRQ6ul0TJGHbCr0XftFybVQGpy1eU262Aw== +"@types/web@^0.0.174": + version "0.0.174" + resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.174.tgz#381796df30266c77681f3fd56b60063694806412" + integrity sha512-dT8gX38RUQjy+uruZg49EvloEa2S3gR0z2eRi557eTSFKqUSXkSCWYa0IY9uabX9MZPMGOu+1r8Qn6tsvJ1KnQ== "@types/ws@^7.2.0", "@types/ws@^7.4.4": version "7.4.7" @@ -1892,13 +1884,20 @@ acorn@^8.11.3, acorn@^8.9.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -agent-base@6, agent-base@^6.0.2: +agent-base@6: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== dependencies: debug "4" +agent-base@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-7.1.1.tgz#bdbded7dfb096b751a2a087eeeb9664725b2e317" + integrity sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA== + dependencies: + debug "^4.3.4" + agentkeepalive@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" @@ -3198,16 +3197,6 @@ esutils@^2.0.2: resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== -ethereum-cryptography@^2.1.3: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.0.tgz#06e2d9c0d89f98ffc6a83818f55bf85afecd50dc" - integrity sha512-hsm9JhfytIf8QME/3B7j4bc8V+VdTU+Vas1aJlvIS96ffoNAosudXvGoEvWmc7QZYdkC8mrMJz9r0fcbw7GyCA== - dependencies: - "@noble/curves" "1.4.0" - "@noble/hashes" "1.4.0" - "@scure/bip32" "1.4.0" - "@scure/bip39" "1.3.0" - ethereum-cryptography@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.2.1.tgz#58f2810f8e020aecb97de8c8c76147600b0b8ccf" @@ -5404,16 +5393,16 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== -socks-proxy-agent@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" - integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== +socks-proxy-agent@8.0.4: + version "8.0.4" + resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-8.0.4.tgz#9071dca17af95f483300316f4b063578fa0db08c" + integrity sha512-GNAq/eg8Udq2x0eNiFkr9gRg5bA7PXEWagQdeRX4cPSG+X/8V38v637gim9bjFptMk1QWsCTr0ttrJEiXbNnRw== dependencies: - agent-base "^6.0.2" - debug "^4.3.1" - socks "^2.6.1" + agent-base "^7.1.1" + debug "^4.3.4" + socks "^2.8.3" -socks@^2.6.1: +socks@^2.8.3: version "2.8.3" resolved "https://registry.yarnpkg.com/socks/-/socks-2.8.3.tgz#1ebd0f09c52ba95a09750afe3f3f9f724a800cb5" integrity sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==