Merge remote-tracking branch 'origin/main' into dev

This commit is contained in:
kyranjamie
2023-01-23 11:12:24 +01:00
6 changed files with 5456 additions and 30 deletions

View File

@@ -1,3 +1,26 @@
## [3.30.0](https://github.com/hirosystems/stacks-wallet-web/compare/v3.29.0...v3.30.0) (2023-01-10)
### Features
* misc sentry improvements ([9cc0507](https://github.com/hirosystems/stacks-wallet-web/commit/9cc0507520bec87e4063c94c8c957d215ee44997))
### Bug Fixes
* dev source maps ([b73b63a](https://github.com/hirosystems/stacks-wallet-web/commit/b73b63a5ed7746993a37c6430801a344e2e7adcc))
* emotion styles broken ([22c97c4](https://github.com/hirosystems/stacks-wallet-web/commit/22c97c49fa00875e6fc0e7687df4d1e8697f5605))
* emotion styles broken ([aa24db4](https://github.com/hirosystems/stacks-wallet-web/commit/aa24db4900886eb95477e3eb1f3ec8e11c094943))
* pending tx nonce ([fbc73bc](https://github.com/hirosystems/stacks-wallet-web/commit/fbc73bc9749d0436a8195836a2e90228a1cb24b3))
* unit tests ([78e09d0](https://github.com/hirosystems/stacks-wallet-web/commit/78e09d0e4647849e8b04828a67e648dcd1de3395))
### Internal
* attempt removing babel ([f9deba9](https://github.com/hirosystems/stacks-wallet-web/commit/f9deba9afc2c6d42596ed6b246a974732eb0c332))
* form validation ([474d57b](https://github.com/hirosystems/stacks-wallet-web/commit/474d57b29b2e4da8c3534765d9ba05a6b126b717))
* new send form file structure ([d544a3f](https://github.com/hirosystems/stacks-wallet-web/commit/d544a3f665df41710829f201c0564e5831b34ee3))
## [3.29.0](https://github.com/hirosystems/stacks-wallet-web/compare/v3.28.0...v3.29.0) (2022-12-19)

View File

@@ -2,7 +2,7 @@
"name": "@stacks/wallet-web",
"description": "The Hiro Wallet is browser extension for interacting with Stacks apps",
"private": true,
"version": "3.29.0",
"version": "3.30.0",
"author": "Hiro Systems PBC",
"scripts": {
"dev": "cross-env NODE_ENV=development concurrently --raw 'node webpack/dev-server.js' 'redux-devtools --hostname=localhost --port=8000'",
@@ -32,7 +32,13 @@
"test:integration:ci": "jest --config=./jest.integration.config.js --testPathPattern=./tests-legacy/integration/*",
"test:integration-api": "jest --config=./jest.integration.config.js --verbose=true --runInBand --testPathPattern=./tests-legacy/test-api/*",
"test:integration-api:ci": "jest --config=./jest.integration.config.js --testPathPattern=./tests-legacy/test-api/*",
<<<<<<< HEAD
"test:unit": "vitest run",
||||||| d62440114
"test:unit": "cross-env TEST_ENV=true jest --forceExit --testPathIgnorePatterns=./tests-legacy/integration/*",
=======
"test:unit": "vitest",
>>>>>>> origin/main
"test": "NODE_ENV=test jest --verbose=true",
"test:coverage": "NODE_ENV=test jest --collect-coverage",
"test:watch": "NODE_ENV=test jest --watch",
@@ -125,6 +131,7 @@
"dependencies": {
"@coinbase/cbpay-js": "1.0.2",
"@emotion/core": "11.0.0",
<<<<<<< HEAD
"@emotion/css": "11.10.5",
"@emotion/react": "11.10.5",
"@emotion/styled": "11.10.5",
@@ -140,6 +147,46 @@
"@sentry/tracing": "7.31.0",
"@stacks/auth": "6.1.0",
"@stacks/blockchain-api-client": "6.3.2",
||||||| d62440114
"@emotion/css": "11.7.1",
"@emotion/react": "11.7.1",
"@emotion/styled": "11.6.0",
"@ledgerhq/hw-transport-webusb": "6.24.1",
"@noble/hashes": "1.1.4",
"@noble/secp256k1": "1.6.3",
"@reach/alert": "0.15.3",
"@reach/auto-id": "0.15.3",
"@reach/rect": "0.15.3",
"@reach/utils": "0.15.3",
"@reach/visually-hidden": "0.15.2",
"@reduxjs/toolkit": "1.8.4",
"@segment/analytics-next": "1.46.0",
"@sentry/react": "7.21.1",
"@sentry/tracing": "7.21.1",
"@stacks/auth": "6.0.0",
"@stacks/blockchain-api-client": "4.0.1",
=======
"@emotion/css": "11.10.5",
"@emotion/react": "11.10.5",
"@emotion/styled": "11.10.5",
"@ledgerhq/hw-transport-webusb": "6.24.1",
"@noble/hashes": "1.1.4",
"@noble/secp256k1": "1.6.3",
"@reach/alert": "0.15.3",
"@reach/auto-id": "0.15.3",
"@reach/rect": "0.15.3",
"@reach/utils": "0.15.3",
"@reach/visually-hidden": "0.15.2",
"@reduxjs/toolkit": "1.8.4",
"@scure/base": "1.1.1",
"@scure/bip32": "1.1.1",
"@scure/bip39": "1.1.0",
"@segment/analytics-next": "1.46.0",
"@sentry/react": "7.27.0",
"@sentry/tracing": "7.28.0",
"@stacks/auth": "6.0.0",
"@stacks/blockchain-api-client": "4.0.1",
>>>>>>> origin/main
"@stacks/common": "6.0.0",
"@stacks/connect": "7.1.0",
"@stacks/connect-ui": "6.0.0",
@@ -182,10 +229,21 @@
"limiter": "2.1.0",
"lodash.get": "4.4.2",
"mdi-react": "7.5.0",
<<<<<<< HEAD
"micro-btc-signer": "0.3.0",
"object-hash": "3.0.0",
"pino": "8.8.0",
"prismjs": "1.29.0",
||||||| d62440114
"object-hash": "2.2.0",
"pino": "8.6.1",
"prismjs": "1.27.0",
=======
"micro-btc-signer": "0.2.0",
"object-hash": "2.2.0",
"pino": "8.6.1",
"prismjs": "1.27.0",
>>>>>>> origin/main
"promise-memoize": "1.2.1",
"punycode": "2.2.0",
"react": "17.0.2",
@@ -212,22 +270,56 @@
"@actions/core": "1.10.0",
"@babel/preset-react": "7.18.6",
"@babel/preset-typescript": "7.18.6",
<<<<<<< HEAD
"@emotion/babel-plugin": "11.10.5",
"@emotion/babel-preset-css-prop": "11.10.0",
"@emotion/cache": "11.10.5",
"@playwright/test": "1.29.2",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
"@redux-devtools/cli": "2.0.0",
||||||| d62440114
"@babel/runtime": "7.19.0",
"@emotion/babel-preset-css-prop": "11.2.0",
"@emotion/cache": "11.7.1",
"@playwright/test": "1.28.0",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.7",
"@redux-devtools/cli": "1.0.7",
=======
"@emotion/babel-plugin": "11.10.5",
"@emotion/babel-preset-css-prop": "11.10.0",
"@emotion/cache": "11.10.5",
"@playwright/test": "1.28.0",
"@pmmmwh/react-refresh-webpack-plugin": "0.5.10",
"@redux-devtools/cli": "1.0.7",
>>>>>>> origin/main
"@redux-devtools/remote": "0.7.5",
"@schemastore/web-manifest": "0.0.5",
"@sentry/webpack-plugin": "1.20.0",
"@stacks/connect-react": "21.0.0",
"@stacks/eslint-config": "1.0.10",
"@stacks/prettier-config": "0.0.10",
<<<<<<< HEAD
"@stacks/stacks-blockchain-api-types": "6.3.2",
"@swc-node/jest": "1.5.6",
"@swc/core": "1.3.26",
"@trivago/prettier-plugin-sort-imports": "4.0.0",
||||||| d62440114
"@stacks/stacks-blockchain-api-types": "0.65.0",
"@swc-node/jest": "1.5.3",
"@swc/core": "1.3.3",
"@testing-library/react": "12.0.0",
"@testing-library/react-hooks": "7.0.1",
"@testing-library/user-event": "13.1.9",
"@trivago/prettier-plugin-sort-imports": "3.4.0",
=======
"@stacks/stacks-blockchain-api-types": "0.65.0",
"@swc-node/jest": "1.5.6",
"@swc/core": "1.3.24",
"@testing-library/react": "12.0.0",
"@testing-library/react-hooks": "7.0.1",
"@testing-library/user-event": "13.1.9",
"@trivago/prettier-plugin-sort-imports": "3.4.0",
>>>>>>> origin/main
"@types/argon2-browser": "1.18.1",
"@types/chroma-js": "2.1.4",
"@types/chrome": "0.0.208",
@@ -235,14 +327,32 @@
"@types/download": "8.0.2",
"@types/expect-puppeteer": "5.0.2",
"@types/html-webpack-plugin": "3.2.6",
<<<<<<< HEAD
"@types/jest": "29.2.5",
||||||| d62440114
"@types/jest": "27.0.3",
=======
"@types/jest": "29.2.4",
>>>>>>> origin/main
"@types/jest-dev-server": "5.0.0",
"@types/jsdom": "20.0.1",
"@types/just-debounce-it": "1.5.0",
<<<<<<< HEAD
"@types/lodash.get": "4.4.7",
"@types/node": "18.11.18",
"@types/object-hash": "3.0.2",
"@types/prismjs": "1.26.0",
||||||| d62440114
"@types/lodash.get": "4.4.6",
"@types/node": "17.0.2",
"@types/object-hash": "2.2.1",
"@types/prismjs": "1.16.6",
=======
"@types/lodash.get": "4.4.7",
"@types/node": "17.0.2",
"@types/object-hash": "2.2.1",
"@types/prismjs": "1.16.6",
>>>>>>> origin/main
"@types/promise-memoize": "1.2.1",
"@types/punycode": "2.1.0",
"@types/qrcode.react": "1.0.2",
@@ -258,9 +368,18 @@
"@types/webextension-polyfill": "0.10.0",
"@types/webpack": "5.28.0",
"@types/zxcvbn": "4.4.1",
<<<<<<< HEAD
"@vitest/coverage-istanbul": "0.27.2",
"audit-ci": "6.6.0",
"babel-loader": "9.1.2",
||||||| d62440114
"audit-ci": "6.3.0",
"babel-loader": "8.2.5",
=======
"@vitest/coverage-istanbul": "0.26.3",
"audit-ci": "6.3.0",
"babel-loader": "9.1.0",
>>>>>>> origin/main
"base64-loader": "1.0.0",
"bip32": "3.1.0",
"bip39": "3.0.4",
@@ -274,15 +393,34 @@
"cross-env": "7.0.3",
"crypto-browserify": "3.12.0",
"deepmerge": "4.2.2",
<<<<<<< HEAD
"dependency-cruiser": "12.5.0",
||||||| d62440114
"dependency-cruiser": "11.15.0",
=======
"dependency-cruiser": "12.3.0",
>>>>>>> origin/main
"dotenv-webpack": "8.0.1",
<<<<<<< HEAD
"esbuild": "0.17.2",
"esbuild-loader": "2.21.0",
"eslint-plugin-deprecation": "1.3.3",
"eslint-plugin-react-hooks": "4.6.0",
||||||| d62440114
"esbuild": "0.15.7",
"esbuild-loader": "2.20.0",
"eslint-plugin-deprecation": "1.2.1",
"eslint-plugin-react-hooks": "4.3.0",
=======
"esbuild": "0.16.13",
"esbuild-loader": "2.20.0",
"eslint-plugin-deprecation": "1.3.3",
"eslint-plugin-react-hooks": "4.6.0",
>>>>>>> origin/main
"file-loader": "6.2.0",
"generate-json-webpack-plugin": "2.0.0",
"html-webpack-plugin": "5.5.0",
<<<<<<< HEAD
"jest": "29.3.1",
"jest-chrome": "0.8.0",
"jest-circus": "29.3.1",
@@ -290,23 +428,69 @@
"jsdom": "21.0.0",
"playwright": "1.29.2",
"prettier": "2.8.3",
||||||| d62440114
"jest": "26.6.3",
"jest-chrome": "0.7.2",
"jest-circus": "27.3.1",
"jest-dev-server": "6.0.0",
"msw": "0.31.0",
"playwright": "1.28.0",
"prettier": "2.7.1",
=======
"jest": "29.3.1",
"jest-chrome": "0.8.0",
"jest-circus": "29.3.1",
"jest-dev-server": "6.2.0",
"jsdom": "20.0.3",
"msw": "0.31.0",
"playwright": "1.28.0",
"prettier": "2.8.1",
>>>>>>> origin/main
"process": "0.11.10",
"progress-bar-webpack-plugin": "2.1.0",
<<<<<<< HEAD
"react-dev-utils": "12.0.1",
"react-refresh": "0.14.0",
||||||| d62440114
"react-dev-utils": "12.0.0",
"react-refresh": "0.11.0",
"react-test-renderer": "17.0.2",
=======
"react-dev-utils": "12.0.1",
"react-refresh": "0.14.0",
"react-test-renderer": "17.0.2",
>>>>>>> origin/main
"redux-devtools-extension": "2.13.9",
"schema-inspector": "2.0.2",
"speed-measure-webpack-plugin": "1.5.0",
"stream-browserify": "3.0.0",
<<<<<<< HEAD
"svg-url-loader": "8.0.0",
"tiny-secp256k1": "2.2.1",
"ts-jest": "29.0.5",
||||||| d62440114
"svg-url-loader": "7.1.1",
"ts-jest": "27.0.7",
"ts-loader": "9.3.1",
=======
"svg-url-loader": "8.0.0",
"tiny-secp256k1": "2.2.1",
"ts-jest": "29.0.3",
>>>>>>> origin/main
"ts-node": "10.9.1",
"ts-unused-exports": "7.0.3",
"tsconfig-paths-webpack-plugin": "4.0.0",
<<<<<<< HEAD
"typescript": "4.9.4",
"vitest": "0.27.2",
||||||| d62440114
"typescript": "4.8.2",
=======
"typescript": "4.9.4",
"vitest": "0.26.3",
>>>>>>> origin/main
"vm-browserify": "1.1.2",
<<<<<<< HEAD
"web-ext": "7.4.0",
"web-ext-submit": "7.4.0",
"webpack": "5.75.0",
@@ -314,6 +498,23 @@
"webpack-cli": "5.0.1",
"webpack-dev-server": "4.11.1",
"webpack-hot-middleware": "2.25.3"
||||||| d62440114
"web-ext": "7.2.0",
"web-ext-submit": "7.2.0",
"webpack": "5.74.0",
"webpack-bundle-analyzer": "4.6.1",
"webpack-cli": "4.10.0",
"webpack-dev-server": "4.10.1",
"webpack-hot-middleware": "2.25.2"
=======
"web-ext": "7.2.0",
"web-ext-submit": "7.2.0",
"webpack": "5.75.0",
"webpack-bundle-analyzer": "4.7.0",
"webpack-cli": "5.0.1",
"webpack-dev-server": "4.11.1",
"webpack-hot-middleware": "2.25.3"
>>>>>>> origin/main
},
"resolutions": {
"**/**/socket.io-parser": "4.2.1"

View File

@@ -19,7 +19,13 @@ export function AmountField({ symbol, rightInputOverlay }: AmountFieldProps) {
const { inputFontSize, symbolTextWidth } = useFontResizer();
return (
<<<<<<<< HEAD:src/app/pages/send/send-crypto-asset-form/_components/amount-field.tsx
<Stack alignItems="center" spacing={['base', meta.error ? 'base' : '48px']}>
|||||||| d62440114:src/app/pages/send-crypto-asset/components/amount-field.tsx
<Stack alignItems="center" spacing="48px">
========
<Stack alignItems="center" spacing={meta.error ? 'base' : '48px'}>
>>>>>>>> origin/main:src/app/pages/send/send-crypto-asset-form/components/amount-field.tsx
<Flex
alignItems="center"
height="55px"

View File

@@ -8,17 +8,27 @@ import { FeeTypes } from '@shared/models/fees/_fees.model';
import { BitcoinSendFormValues } from '@shared/models/form.model';
import { RouteUrls } from '@shared/route-urls';
<<<<<<<< HEAD:src/app/pages/send/send-crypto-asset-form/btc/btc-crypto-currency-send-form.tsx
import { formatPrecisionError } from '@app/common/error-formatters';
import { useWalletType } from '@app/common/use-wallet-type';
import { btcAddressValidator } from '@app/common/validation/forms/address-validators';
import { btcAmountValidator } from '@app/common/validation/forms/currency-validators';
import { btcFeeValidator } from '@app/common/validation/forms/fee-validators';
|||||||| d62440114:src/app/pages/send-crypto-asset/forms/btc/btc-crypto-currency-send-form.tsx
import { btcAmountSchema } from '@app/common/validation/currency-schema';
========
import { formatPrecisionError } from '@app/common/error-formatters';
import { btcAddressValidator } from '@app/common/validation/forms/address-validators';
import { btcAmountValidator } from '@app/common/validation/forms/currency-validators';
import { btcFeeValidator } from '@app/common/validation/forms/fee-validators';
>>>>>>>> origin/main:src/app/pages/send/send-crypto-asset-form/forms/btc/btc-crypto-currency-send-form.tsx
import { FeesRow } from '@app/components/fees-row/fees-row';
import { BtcIcon } from '@app/components/icons/btc-icon';
import { useBitcoinCryptoCurrencyAssetBalance } from '@app/query/bitcoin/address/address.hooks';
import { useBitcoinFees } from '@app/query/bitcoin/fees/fee-estimates.hooks';
import { useCurrentAccountBtcAddressState } from '@app/store/accounts/account.hooks';
<<<<<<<< HEAD:src/app/pages/send/send-crypto-asset-form/btc/btc-crypto-currency-send-form.tsx
import { AmountField } from '../_components/amount-field';
import { FormErrors } from '../_components/form-errors';
import { FormFieldsLayout } from '../_components/form-fields.layout';
@@ -28,8 +38,38 @@ import { RecipientField } from '../_components/recipient-field';
import { SelectedAssetField } from '../_components/selected-asset-field';
import { SendAllButton } from '../_components/send-all-button';
import { createDefaultInitialFormValues } from '../send-form.utils';
|||||||| d62440114:src/app/pages/send-crypto-asset/forms/btc/btc-crypto-currency-send-form.tsx
import { AmountField } from '../../components/amount-field';
import { FormErrors } from '../../components/form-errors';
import { FormFieldsLayout } from '../../components/form-fields.layout';
import { MemoField } from '../../components/memo-field';
import { PreviewButton } from '../../components/preview-button';
import { RecipientField } from '../../components/recipient-field';
import { SelectedAssetField } from '../../components/selected-asset-field';
import { SendAllButton } from '../../components/send-all-button';
import { createDefaultInitialFormValues } from '../../form-utils';
import { btcAddressValidator } from '../../validators/recipient-validators';
========
import { AmountField } from '../../components/amount-field';
import { FormErrors } from '../../components/form-errors';
import { FormFieldsLayout } from '../../components/form-fields.layout';
import { MemoField } from '../../components/memo-field';
import { PreviewButton } from '../../components/preview-button';
import { RecipientField } from '../../components/recipient-field';
import { SelectedAssetField } from '../../components/selected-asset-field';
import { SendAllButton } from '../../components/send-all-button';
import { createDefaultInitialFormValues } from '../../form-utils';
>>>>>>>> origin/main:src/app/pages/send/send-crypto-asset-form/forms/btc/btc-crypto-currency-send-form.tsx
<<<<<<<< HEAD:src/app/pages/send/send-crypto-asset-form/btc/btc-crypto-currency-send-form.tsx
export function BtcCryptoCurrencySendForm() {
|||||||| d62440114:src/app/pages/send-crypto-asset/forms/btc/btc-crypto-currency-send-form.tsx
interface BitcoinCryptoCurrencySendFormProps {}
export function BitcoinCryptoCurrencySendForm({}: BitcoinCryptoCurrencySendFormProps) {
========
interface BtcCryptoCurrencySendFormProps {}
export function BtcCryptoCurrencySendForm({}: BtcCryptoCurrencySendFormProps) {
>>>>>>>> origin/main:src/app/pages/send/send-crypto-asset-form/forms/btc/btc-crypto-currency-send-form.tsx
const navigate = useNavigate();
const currentAccountBtcAddress = useCurrentAccountBtcAddressState();
const btcCryptoCurrencyAssetBalance =
@@ -72,6 +112,7 @@ export function BtcCryptoCurrencySendForm() {
}
return (
<<<<<<<< HEAD:src/app/pages/send/send-crypto-asset-form/btc/btc-crypto-currency-send-form.tsx
<Formik
initialValues={initialValues}
onSubmit={async values => await previewTransaction(values)}
@@ -80,6 +121,18 @@ export function BtcCryptoCurrencySendForm() {
validateOnMount={false}
validationSchema={validationSchema}
>
|||||||| d62440114:src/app/pages/send-crypto-asset/forms/btc/btc-crypto-currency-send-form.tsx
<Formik initialValues={initialValues} onSubmit={onSubmit} validationSchema={validationSchema}>
========
<Formik
initialValues={initialValues}
onSubmit={onSubmit}
validateOnBlur={false}
validateOnChange={false}
validateOnMount={false}
validationSchema={validationSchema}
>
>>>>>>>> origin/main:src/app/pages/send/send-crypto-asset-form/forms/btc/btc-crypto-currency-send-form.tsx
<Form>
<AmountField symbol="BTC" rightInputOverlay={<SendAllButton />} />
<FormFieldsLayout>

View File

@@ -6,10 +6,22 @@ import { isString } from '@shared/utils';
import { useRouteHeader } from '@app/common/hooks/use-route-header';
import { Header } from '@app/components/header';
<<<<<<< HEAD
import { SendCryptoAssetFormLayout } from './_components/send-crypto-asset-form.layout';
import { BtcCryptoCurrencySendForm } from './btc/btc-crypto-currency-send-form';
import { StacksSip10FungibleTokenSendForm } from './stacks-sip10/stacks-sip10-fungible-token-send-form';
import { StxCryptoCurrencySendForm } from './stx/stx-crypto-currency-send-form';
||||||| d62440114
import { SendCryptoAssetLayout } from './components/send-crypto-asset.layout';
import { BitcoinCryptoCurrencySendForm } from './forms/btc/btc-crypto-currency-send-form';
import { StacksFungibleTokenSendForm } from './forms/stx-sip10/stacks-fungible-token-send-form';
import { StacksCryptoCurrencySendForm } from './forms/stx/stx-crypto-currency-send-form';
=======
import { ChooseCryptoAssetLayout } from './components/send-crypto-asset.layout';
import { BtcCryptoCurrencySendForm } from './forms/btc/btc-crypto-currency-send-form';
import { StacksFungibleTokenSendForm } from './forms/stx-sip10/stacks-fungible-token-send-form';
import { StxCryptoCurrencySendForm } from './forms/stx/stx-crypto-currency-send-form';
>>>>>>> origin/main
export function SendCryptoAssetForm() {
const { symbol } = useParams();
@@ -38,5 +50,11 @@ export function SendCryptoAssetForm() {
}
})();
<<<<<<< HEAD
return <SendCryptoAssetFormLayout>{content}</SendCryptoAssetFormLayout>;
||||||| d62440114
return <SendCryptoAssetLayout>{content}</SendCryptoAssetLayout>;
=======
return <ChooseCryptoAssetLayout>{content}</ChooseCryptoAssetLayout>;
>>>>>>> origin/main
}

5183
yarn.lock

File diff suppressed because it is too large Load Diff