diff --git a/app/components/home/transaction-list/transaction-list-item-pending.tsx b/app/components/home/transaction-list/transaction-list-item-pending.tsx index c9f10ee5e..79dd073d3 100644 --- a/app/components/home/transaction-list/transaction-list-item-pending.tsx +++ b/app/components/home/transaction-list/transaction-list-item-pending.tsx @@ -44,7 +44,7 @@ export const TransactionListItemPending: FC = p - Sending + {tx.txType === 'token_transfer' ? 'Sending' : 'Initiating Stacking…'} {tx.tx_id.substr(0, 28)}… @@ -52,7 +52,8 @@ export const TransactionListItemPending: FC = p - −{toHumanReadableStx(tx.amount)} + {tx.txType === 'token_transfer' ? '−' : ''} + {toHumanReadableStx(tx.amount)} Pending diff --git a/app/components/home/transaction-list/transaction-list-item.tsx b/app/components/home/transaction-list/transaction-list-item.tsx index 9bf72795d..04aeb8ff5 100644 --- a/app/components/home/transaction-list/transaction-list-item.tsx +++ b/app/components/home/transaction-list/transaction-list-item.tsx @@ -20,7 +20,7 @@ import { sumStxTxTotal } from '@utils/sum-stx-tx-total'; import { TransactionIcon, TransactionIconVariants } from './transaction-icon'; import { toHumanReadableStx } from '@utils/unit-convert'; import { makeExplorerLink } from '@utils/external-links'; -import { getRecipientAddress, isLockTx } from '@utils/tx-utils'; +import { getRecipientAddress, isStackingTx } from '@utils/tx-utils'; import { createTxListContextMenu, @@ -61,7 +61,7 @@ export const TransactionListItem: FC = props => { if (tx.tx_type === 'token_transfer') { return direction; } - if (tx.tx_type === 'contract_call' && isLockTx(tx, poxInfo?.contract_id)) { + if (tx.tx_type === 'contract_call' && isStackingTx(tx, poxInfo?.contract_id)) { return 'locked'; } return 'default'; @@ -69,10 +69,16 @@ export const TransactionListItem: FC = props => { const transactionTitle = useCallback(() => { if (tx.tx_type === 'token_transfer') return capitalize(direction); + if (tx.tx_type === 'contract_call' && isStackingTx(tx, poxInfo?.contract_id)) { + if (tx.tx_status === 'pending') return 'Initiating Stacking'; + if (tx.tx_status === 'abort_by_response' || tx.tx_status === 'abort_by_post_condition') + return 'Stacking initiation failed'; + return 'Stacking initiated successfully'; + } return capitalize(tx.tx_type).replace('_', ' '); - }, [direction, tx.tx_type]); + }, [direction, poxInfo?.contract_id, tx]); - const sumPrefix = direction === 'sent' ? '−' : ''; + const sumPrefix = direction === 'sent' && !isStackingTx(tx, poxInfo?.contract_id) ? '−' : ''; const memo = tx.tx_type === 'token_transfer' && Buffer.from( diff --git a/app/modals/stacking/stacking-modal.tsx b/app/modals/stacking/stacking-modal.tsx index fd36e2f7c..9c9b70842 100644 --- a/app/modals/stacking/stacking-modal.tsx +++ b/app/modals/stacking/stacking-modal.tsx @@ -8,17 +8,15 @@ import { useHotkeys } from 'react-hotkeys-hook'; import { BigNumber } from 'bignumber.js'; import { RootState } from '@store/index'; -import { watchContractExecution } from '@api/watch-contract-execution'; import routes from '@constants/routes.json'; import { - selectAddress, selectPublicKey, selectEncryptedMnemonic, selectSalt, decryptSoftwareWallet, selectWalletType, } from '@store/keys'; -import { fetchStackerInfo, selectCoreNodeInfo, selectPoxInfo } from '@store/stacking'; +import { selectCoreNodeInfo, selectPoxInfo } from '@store/stacking'; import { makeUnsignedContractCall, StacksTransaction, @@ -43,12 +41,10 @@ import { DecryptWalletForm } from './steps/decrypt-wallet-form'; import { SignTxWithLedger } from './steps/sign-tx-with-ledger'; import { FailedBroadcastError } from './steps/failed-broadcast-error'; import { StackingSuccess } from './steps/stacking-success'; -import { PendingContractCall } from './steps/pending-contract-call'; enum StackingModalStep { DecryptWalletAndSend, SignWithLedgerAndSend, - PendingTransaction, StackingSuccess, FailedContractCall, } @@ -72,12 +68,10 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA const [decryptionError, setDecryptionError] = useState(null); const [isDecrypting, setIsDecrypting] = useState(false); const [blockstackApp, setBlockstackApp] = useState(null); - const [contractError, setContractError] = useState(null); const { encryptedMnemonic, salt, - address, walletType, publicKey, poxInfo, @@ -87,7 +81,6 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA } = useSelector((state: RootState) => ({ salt: selectSalt(state), encryptedMnemonic: selectEncryptedMnemonic(state), - address: selectAddress(state), walletType: selectWalletType(state), publicKey: selectPublicKey(state), poxInfo: selectPoxInfo(state), @@ -181,20 +174,7 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA const broadcastActions = { amount: new BigNumber(balance), - onBroadcastSuccess: async (txId: string) => { - setStep(StackingModalStep.PendingTransaction); - const [error, success] = await safeAwait( - watchContractExecution({ txId, nodeUrl: node.url }) - ); - if (error) { - setContractError(error.message); - setStep(StackingModalStep.FailedContractCall); - } - if (success) { - setStep(StackingModalStep.StackingSuccess); - if (address) dispatch(fetchStackerInfo(address)); - } - }, + onBroadcastSuccess: () => history.push(routes.HOME), onBroadcastFail: () => setStep(StackingModalStep.FailedContractCall), }; @@ -212,7 +192,9 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA if (transaction) { setIsDecrypting(false); - dispatch(broadcastTransaction({ ...broadcastActions, transaction })); + dispatch( + broadcastTransaction({ ...broadcastActions, txType: 'contract_call', transaction }) + ); } } @@ -230,7 +212,9 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA } if (transaction) { - dispatch(broadcastTransaction({ ...broadcastActions, transaction })); + dispatch( + broadcastTransaction({ ...broadcastActions, txType: 'contract_call', transaction }) + ); } } }; @@ -306,18 +290,6 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA ), }), - [StackingModalStep.PendingTransaction]: () => ({ - header: , - body: , - footer: ( - - (onClose(), history.push(routes.HOME))}> - Close - - - ), - }), - [StackingModalStep.StackingSuccess]: () => ({ header: , body: , @@ -332,11 +304,7 @@ export const StackingModal: FC = ({ onClose, numCycles, poxA [StackingModalStep.FailedContractCall]: () => ({ header: , - body: ( - - {contractError || 'Failed to call stacking contract'} - - ), + body: {'Failed to call stacking contract'}, footer: ( diff --git a/app/modals/stacking/steps/pending-contract-call.tsx b/app/modals/stacking/steps/pending-contract-call.tsx deleted file mode 100644 index d0a7dcad6..000000000 --- a/app/modals/stacking/steps/pending-contract-call.tsx +++ /dev/null @@ -1,11 +0,0 @@ -import React, { FC } from 'react'; -import { Flex, Spinner, Text } from '@blockstack/ui'; - -export const PendingContractCall: FC = () => ( - - - - Executing Stacking contract - - -); diff --git a/app/modals/transaction/transaction-modal.tsx b/app/modals/transaction/transaction-modal.tsx index 8fe300779..cb1cd3ddd 100644 --- a/app/modals/transaction/transaction-modal.tsx +++ b/app/modals/transaction/transaction-modal.tsx @@ -170,7 +170,9 @@ export const TransactionModal: FC = ({ balance, address }) => { if (transaction) { setIsDecrypting(false); - dispatch(broadcastTransaction({ ...broadcastActions, transaction })); + dispatch( + broadcastTransaction({ ...broadcastActions, txType: 'token_transfer', transaction }) + ); } } @@ -190,7 +192,9 @@ export const TransactionModal: FC = ({ balance, address }) => { } if (transaction) { - dispatch(broadcastTransaction({ ...broadcastActions, transaction })); + dispatch( + broadcastTransaction({ ...broadcastActions, txType: 'token_transfer', transaction }) + ); } } }; diff --git a/app/package.json b/app/package.json index b5fb27c3c..92af325e3 100644 --- a/app/package.json +++ b/app/package.json @@ -15,8 +15,9 @@ "license": "MIT", "dependencies": { "@ledgerhq/hw-transport-node-hid": "5.23.2", - "@stacks/keychain": "0.16.1", - "@stacks/transactions": "1.0.0-beta.9", - "bitcoinjs-lib": "^5.2.0" + "@stacks/keychain": "1.0.0-beta.10", + "@stacks/transactions": "1.0.0-beta.10", + "bitcoinjs-lib": "^5.2.0", + "blockstack": "21.1.1" } } diff --git a/app/store/pending-transaction/pending-transaction.reducer.ts b/app/store/pending-transaction/pending-transaction.reducer.ts index 6ac905ed3..f06dcb5ec 100644 --- a/app/store/pending-transaction/pending-transaction.reducer.ts +++ b/app/store/pending-transaction/pending-transaction.reducer.ts @@ -7,6 +7,7 @@ import { Transaction } from '@blockstack/stacks-blockchain-api-types'; export interface PendingTransaction extends Pick { amount: string; time: number; + txType: Transaction['tx_type']; } export type PendingTransactionState = EntityState; diff --git a/app/store/transaction/transaction.actions.ts b/app/store/transaction/transaction.actions.ts index 162f94390..8cc9e9acd 100644 --- a/app/store/transaction/transaction.actions.ts +++ b/app/store/transaction/transaction.actions.ts @@ -55,12 +55,13 @@ export const broadcastTxFail = createAction( interface BroadcastTransactionArgs { transaction: StacksTransaction; + txType: Transaction['tx_type']; amount: BigNumber; onBroadcastSuccess(txId: string): void; onBroadcastFail(): void; } export function broadcastTransaction(args: BroadcastTransactionArgs) { - const { amount, transaction, onBroadcastSuccess, onBroadcastFail } = args; + const { amount, transaction, txType, onBroadcastSuccess, onBroadcastFail } = args; return async (dispatch: Dispatch, getState: GetState) => { dispatch(broadcastTx()); @@ -86,6 +87,7 @@ export function broadcastTransaction(args: BroadcastTransactionArgs) { tx_id: safelyFormatHexTxid(blockchainResponse), amount: amount.toString(), time: +new Date(), + txType, }) ); return blockchainResponse; diff --git a/app/utils/sum-stx-tx-total.ts b/app/utils/sum-stx-tx-total.ts index f0e2549e7..e46953e07 100644 --- a/app/utils/sum-stx-tx-total.ts +++ b/app/utils/sum-stx-tx-total.ts @@ -1,9 +1,9 @@ import type { Transaction, TransactionEvent } from '@blockstack/stacks-blockchain-api-types'; import BigNumber from 'bignumber.js'; import { getStxTxDirection } from './get-stx-transfer-direction'; -import { isLockTx } from './tx-utils'; +import { isStackingTx } from './tx-utils'; -export function sumStxTxTotal(address: string, tx: Transaction, poxContractID?: string) { +export function sumStxTxTotal(address: string, tx: Transaction, poxContractId?: string) { const dir = getStxTxDirection(address, tx); if (tx.tx_type === 'token_transfer') { return new BigNumber(tx.token_transfer.amount).plus(dir === 'sent' ? tx.fee_rate : 0); @@ -12,7 +12,7 @@ export function sumStxTxTotal(address: string, tx: Transaction, poxContractID?: return new BigNumber(tx.fee_rate); } - if (isLockTx(tx, poxContractID) && tx.tx_result?.repr) { + if (isStackingTx(tx, poxContractId) && tx.tx_result?.repr) { // We get the amount stacked from the tx_result const matcher = /\(tuple \(lock-amount\su(\d+)/; const matches = matcher.exec(tx.tx_result.repr); diff --git a/app/utils/tx-utils.ts b/app/utils/tx-utils.ts index 42aaf432c..a2c3053d2 100644 --- a/app/utils/tx-utils.ts +++ b/app/utils/tx-utils.ts @@ -10,6 +10,6 @@ export function getRecipientAddress(tx: Transaction) { return tx.token_transfer.recipient_address; } -export function isLockTx(tx: Transaction, poxContractID?: string): boolean { - return tx.tx_type === 'contract_call' && tx.contract_call.contract_id === poxContractID; +export function isStackingTx(tx: Transaction, poxContractId?: string): boolean { + return tx.tx_type === 'contract_call' && tx.contract_call.contract_id === poxContractId; } diff --git a/app/yarn.lock b/app/yarn.lock index fdcce3584..5befc9ace 100644 --- a/app/yarn.lock +++ b/app/yarn.lock @@ -2,7 +2,7 @@ # yarn lockfile v1 -"@blockstack/rpc-client@^0.3.0-alpha.21": +"@blockstack/rpc-client@^0.3.0-alpha.11": version "0.3.0-alpha.22" resolved "https://registry.yarnpkg.com/@blockstack/rpc-client/-/rpc-client-0.3.0-alpha.22.tgz#2e72f3d9ab734c0eed00a3ef3b2c1a2c12b0f232" integrity sha512-pfIg0WYkCUZ/fbM9ic3dMf9n9dU3NAJrGLMHTXgxndQRktf8fWBSXOxA4PUuBFzVh4aDlfEGh0PWS4WPe/FRnA== @@ -103,23 +103,71 @@ resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-5.23.0.tgz#7a86b1e6479c8aa8e8b9affe00eb8e369efdbc3b" integrity sha512-88M8RkVHl44k6MAhfrYhx25opnJV24/2XpuTUVklID11f9rBdE+6RZ9OMs39dyX2sDv7TuzIPi5nTRoCqZMDYw== -"@stacks/common@^1.0.0-beta.9": - version "1.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@stacks/common/-/common-1.0.0-beta.9.tgz#f791cf4768aa4c40e581fd22068f342745620ca5" - integrity sha512-YpY0/0BwEDfFR/n96nAhNn3Rpeket+ArxHzsscorhx0WpxccT3um/SjJj4yXJHyqR/BhRpIuU+ngQCfrSP6hww== +"@stacks/auth@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/auth/-/auth-1.0.0-beta.10.tgz#a500fccdc796ee87042cbeae80949a848b498100" + integrity sha512-wi4nDsizyNPTsRIn68fHd9ls6LqtQKlK40INU5vzskxsOMJN7FMcC0kCKOAs7AGL8r9/AqILxqOH95Vx7BamJw== + dependencies: + "@stacks/common" "^1.0.0-beta.10" + "@stacks/connect" "^4.0.0" + "@stacks/encryption" "^1.0.0-beta.10" + "@stacks/network" "^1.0.0-beta.10" + "@stacks/profile" "^1.0.0-beta.10" + codecov "^3.7.2" + cross-fetch "^3.0.5" + jsontokens "^3.0.0" + query-string "^6.13.1" + +"@stacks/common@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/common/-/common-1.0.0-beta.10.tgz#2e95f5e9881540e64d892324ef24e7df3e0a9f50" + integrity sha512-QHSll9coPMQxe81O/enTHj+y7oo2sIJAULhHK66qG4okZcS6wdzY5oufVGRw75bL+otHeb42ltq1/vW8WYg+cA== dependencies: cross-fetch "^3.0.5" -"@stacks/keychain@0.16.1": - version "0.16.1" - resolved "https://registry.yarnpkg.com/@stacks/keychain/-/keychain-0.16.1.tgz#bc7203fc83bf8118260ca1bb5c4ab0a9c5af67b1" - integrity sha512-odohv3/ZCLRzdPlPEGzUYvN1HrwJd8K88yUG/sTEjUOS09oD2/OwvXR/aA9O1OmgxkVkAFN9i0/a3psVKsMMYA== +"@stacks/connect-ui@^2.16.3": + version "2.16.3" + resolved "https://registry.yarnpkg.com/@stacks/connect-ui/-/connect-ui-2.16.3.tgz#7386c5f4b0541490dc9585b27b4539148b481d4c" + integrity sha512-x0sY3+ziJ2KlHR9CQDmjJFMj/FU8gFOYhqVMO5B1/9LpBUDicQQuL7efsZBUTJlCOFFQ0syi0Suz0EnDtYLy/g== + dependencies: + "@stencil/core" "^1.17.3" + +"@stacks/connect@^4.0.0": + version "4.2.3" + resolved "https://registry.yarnpkg.com/@stacks/connect/-/connect-4.2.3.tgz#743159a4aee3eb469e0b7f0a1c204ffa808c830a" + integrity sha512-ugabNLd9+WGYDM1XMh8gwhFQGFhPg8BXkpRFw02cFkfvW1u+DlBbfgb6nYIzsMZETTb+Jn8RcO1bQZQJdMK+AA== dependencies: - "@blockstack/rpc-client" "^0.3.0-alpha.21" "@blockstack/stacks-transactions" "0.7.0" + "@stacks/connect-ui" "^2.16.3" + jsontokens "^3.0.0" + +"@stacks/encryption@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/encryption/-/encryption-1.0.0-beta.10.tgz#7c44916fd6d46335683df6342f1602778d3ae526" + integrity sha512-PRJuwc1jFhHhQNtVCDTpqdjQVGWDbFyk0UdvnrB1jS5WaoduGZ4f//R1rxtx1J2n9ITjtfof6zOkBsHyHsoz2w== + dependencies: + "@stacks/common" "^1.0.0-beta.10" + bip39 "^3.0.2" + bitcoinjs-lib "^5.1.10" + bn.js "^5.1.2" + elliptic "^6.5.2" + randombytes "^2.1.0" + ripemd160-min "^0.0.6" + sha.js "^2.4.11" + +"@stacks/keychain@1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/keychain/-/keychain-1.0.0-beta.10.tgz#d6a88e2e9fce87cd4789af553970d89195f223e7" + integrity sha512-qBCbf7fgB7xNM7a5PUIy3TwKgSCz2QkzBDaun1dDFwR8joRB2Kv9fXm+M2JGqcTfVKc2CwHVkYmBVz9HCoYRHw== + dependencies: + "@blockstack/rpc-client" "^0.3.0-alpha.11" + "@stacks/common" "^1.0.0-beta.10" + "@stacks/encryption" "^1.0.0-beta.10" + "@stacks/storage" "^1.0.0-beta.10" + "@stacks/transactions" "^1.0.0-beta.10" + bip32 "^2.0.4" bip39 "^3.0.2" bitcoinjs-lib "^5.1.6" - blockstack "21.0.0" bn.js "^5.1.1" c32check "^1.0.1" jsontokens "^3.0.0" @@ -127,20 +175,42 @@ triplesec "^3.0.27" zone-file "^1.0.0" -"@stacks/network@^1.0.0-beta.9": - version "1.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@stacks/network/-/network-1.0.0-beta.9.tgz#c201256f1b0216ea37259c0af0e0cb1cd21182b5" - integrity sha512-cmqznzjtyRDoBibbw+B1h3esZ/2StsnjAMZyqxvH856fVSGVSgxIk5HycA+zGqOUQewjfgHKIiZ9gzaMsETnow== +"@stacks/network@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/network/-/network-1.0.0-beta.10.tgz#3cc5ae894d567cacf64e3aa7c80ed6060700ef29" + integrity sha512-ZIWHSDJ3gXV9Fv+k6IbPdTTz0VNmC6VRg8Eso+W7S4p8exp6GHdyi7GRWx5gqwdJCc+/1E21M3zv89uvb2gquA== dependencies: - "@stacks/common" "^1.0.0-beta.9" + "@stacks/common" "^1.0.0-beta.10" + +"@stacks/profile@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/profile/-/profile-1.0.0-beta.10.tgz#93d07211deab48d960a954512db4eaf1b370967b" + integrity sha512-zT9RClZQ4Sqxmh2F3Nwsg9UPRJskxy8J7Nd5slLLYkVjGh7Qv60ufe4w7I6JOBAOioYfdYHKecHlh0o4wMIG4A== + dependencies: + "@stacks/common" "^1.0.0-beta.10" + "@stacks/encryption" "^1.0.0-beta.10" + "@stacks/network" "^1.0.0-beta.10" + bitcoinjs-lib "^5.1.10" + jsontokens "^3.0.0" + schema-inspector "^1.7.0" + zone-file "^1.0.0" -"@stacks/transactions@1.0.0-beta.9": - version "1.0.0-beta.9" - resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-1.0.0-beta.9.tgz#3ff46dd0897321fcf98abc6e13aff845990f0e07" - integrity sha512-QBRcWJV69E4st5IceU0XE/9tif2MSnvEOOOv5B44lRtBlHpEOPkot7QbfPIa5QqgCcDRB+9tb5S69mmd5QYdLw== +"@stacks/storage@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/storage/-/storage-1.0.0-beta.10.tgz#03667413a63aafafa573b6b333ef3c9902e4a114" + integrity sha512-rAwLf6uCoBT1xjLitWLmLCD+4znyMLvQeI85ajwmpA0bf/aNRccn4ciXeeMMqoi3uImjbvYV08gqBSGPAMGBLg== dependencies: - "@stacks/common" "^1.0.0-beta.9" - "@stacks/network" "^1.0.0-beta.9" + "@stacks/auth" "^1.0.0-beta.10" + "@stacks/common" "^1.0.0-beta.10" + "@stacks/encryption" "^1.0.0-beta.10" + +"@stacks/transactions@1.0.0-beta.10", "@stacks/transactions@^1.0.0-beta.10": + version "1.0.0-beta.10" + resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-1.0.0-beta.10.tgz#9589413d6400eaa95cc889a88c615376241ed448" + integrity sha512-eC5QnHVfSKZmFLIX+7/9RMBTEl02bca3Ux4dYJHv0Z3r52ToQbaR4VNGJzATU0nRYHFR6Dryu0qln/QkBYC70g== + dependencies: + "@stacks/common" "^1.0.0-beta.10" + "@stacks/network" "^1.0.0-beta.10" "@types/bn.js" "^4.11.6" "@types/elliptic" "^6.4.12" "@types/randombytes" "^2.0.0" @@ -155,6 +225,18 @@ sha.js "^2.4.11" smart-buffer "^4.1.0" +"@stencil/core@^1.17.3": + version "1.17.4" + resolved "https://registry.yarnpkg.com/@stencil/core/-/core-1.17.4.tgz#f7beb16ecb3344c80e053fece013ae499adc7c54" + integrity sha512-dmuNYM6fnHPvE2ptHoUBQtjcpXqrHnkDtdyUD6/JrZWcJt6jBtrykewObOxzpDCMLs+NT7668ussRagdVL03gQ== + dependencies: + typescript "3.9.7" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + "@types/bn.js@*", "@types/bn.js@^4.11.6": version "4.11.6" resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" @@ -163,9 +245,9 @@ "@types/node" "*" "@types/cheerio@^0.22.13": - version "0.22.21" - resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.21.tgz#5e37887de309ba11b2e19a6e14cad7874b31a8a3" - integrity sha512-aGI3DfswwqgKPiEOTaiHV2ZPC9KEhprpgEbJnv0fZl3SGX0cGgEva1126dGrMC6AJM6v/aihlUgJn9M5DbDZ/Q== + version "0.22.22" + resolved "https://registry.yarnpkg.com/@types/cheerio/-/cheerio-0.22.22.tgz#ae71cf4ca59b8bbaf34c99af7a5d6c8894988f5f" + integrity sha512-05DYX4zU96IBfZFY+t3Mh88nlwSMtmmzSYaQkKN48T495VV1dkHSah6qYyDTN5ngaS0i0VonH37m+RuzSM0YiA== dependencies: "@types/node" "*" @@ -177,14 +259,14 @@ "@types/bn.js" "*" "@types/lodash@^4.14.149": - version "4.14.161" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.161.tgz#a21ca0777dabc6e4f44f3d07f37b765f54188b18" - integrity sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA== + version "4.14.165" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.165.tgz#74d55d947452e2de0742bad65270433b63a8c30f" + integrity sha512-tjSSOTHhI5mCHTy/OOXYIhi2Wt1qcbHmuXD1Ha7q70CgI/I71afO4XtLb/cVexki1oVYchpul/TOuu3Arcdxrg== "@types/node@*": - version "14.6.4" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.6.4.tgz#a145cc0bb14ef9c4777361b7bbafa5cf8e3acb5a" - integrity sha512-Wk7nG1JSaMfMpoMJDKUsWYugliB2Vy55pdjLpmLixeyMi7HizW2I/9QoxsPCkXl3dO+ZOVqPumKaDUv5zJu2uQ== + version "14.14.8" + resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.8.tgz#2127bd81949a95c8b7d3240f3254352d72563aec" + integrity sha512-z/5Yd59dCKI5kbxauAJgw6dLPzW+TNOItNE00PkpzNwUIEwdj/Lsqwq94H5DdYBX7C13aRA0CY32BK76+neEUA== "@types/node@10.12.18": version "10.12.18" @@ -197,14 +279,14 @@ integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== "@types/node@^12.7.12": - version "12.12.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.55.tgz#0aa266441cb9e1fd3e415a8f619cb7d776667cdd" - integrity sha512-Vd6xQUVvPCTm7Nx1N7XHcpX6t047ltm7TgcsOr4gFHjeYgwZevo+V7I1lfzHnj5BT5frztZ42+RTG4MwYw63dw== + version "12.19.5" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.19.5.tgz#9be3946136e818597c71c62d04240d0602c645d4" + integrity sha512-Wgdl27uw/jUYUFyajUGKSjDNGxmJrZi9sjeG6UJImgUtKbJoO9aldx+1XODN1EpNDX9DirvbvHHmTsNlb8GwMA== "@types/node@^8.0.0": - version "8.10.63" - resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.63.tgz#f86775d576bc07a2992da244f41c23d3ba66d402" - integrity sha512-g+nSkeHFDd2WOQChfmy9SAXLywT47WZBrGS/NC5ym5PJ8c8RC6l4pbGaUW/X0+eZJnXw6/AVNEouXWhV4iz72Q== + version "8.10.66" + resolved "https://registry.yarnpkg.com/@types/node/-/node-8.10.66.tgz#dd035d409df322acc83dff62a602f12a5783bbb3" + integrity sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw== "@types/randombytes@^2.0.0": version "2.0.0" @@ -227,6 +309,18 @@ dependencies: "@types/node" "*" +agent-base@5: + version "5.1.1" + resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" + integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== + +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" + ajv@^4.11.5: version "4.11.8" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.8.tgz#82ffb02b29e662ae53bdc20af15947706739c536" @@ -236,9 +330,9 @@ ajv@^4.11.5: json-stable-stringify "^1.0.1" ajv@^6.12.3: - version "6.12.4" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234" - integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ== + version "6.12.6" + resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" fast-json-stable-stringify "^2.0.0" @@ -268,6 +362,18 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +argparse@^1.0.7: + version "1.0.10" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +argv@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/argv/-/argv-0.0.2.tgz#ecbd16f8949b157183711b1bda334f37840185ab" + integrity sha1-7L0W+JSbFXGDcRsb2jNPN4QBhas= + asn1.js@^5.0.1: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -308,9 +414,14 @@ aws-sign2@~0.7.0: integrity sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg= aws4@^1.8.0: - version "1.10.1" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.10.1.tgz#e1e82e4f3e999e2cfd61b161280d16a111f86428" - integrity sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA== + version "1.11.0" + resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" + integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== + +balanced-match@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.0.tgz#89b4d199ab2bee49de164ea02b89ce462d71b767" + integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c= base-x@^3.0.2, base-x@^3.0.8: version "3.0.8" @@ -319,10 +430,10 @@ base-x@^3.0.2, base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" -base64-js@^1.0.2: - version "1.3.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1" - integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g== +base64-js@^1.0.2, base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== base64url@^3.0.1: version "3.0.1" @@ -348,20 +459,15 @@ bindings@^1.3.0, bindings@^1.4.0, bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" -bip174@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/bip174/-/bip174-1.0.1.tgz#858a587f9529e22ee9b0572fd884e5783696824d" - integrity sha512-Mq2aFs1TdMfxBpYPg7uzjhsiXbAtoVq44TNjEWtvuZBiBgc3m7+n55orYMtTAxdg7jWbL4DtH0MKocJER4xERQ== - bip174@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bip174/-/bip174-2.0.1.tgz#39cf8ca99e50ce538fb762589832f4481d07c254" integrity sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ== bip32@^2.0.4: - version "2.0.5" - resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.5.tgz#e3808a9e97a880dbafd0f5f09ca4a1e14ee275d2" - integrity sha512-zVY4VvJV+b2fS0/dcap/5XLlpqtgwyN8oRkuGgAS1uLOeEp0Yo6Tw2yUTozTtlrMJO3G8n4g/KX/XGFHW6Pq3g== + version "2.0.6" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" + integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== dependencies: "@types/node" "10.12.18" bs58check "^2.1.1" @@ -372,9 +478,9 @@ bip32@^2.0.4: wif "^2.0.6" bip39@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.2.tgz#2baf42ff3071fc9ddd5103de92e8f80d9257ee32" - integrity sha512-J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ== + version "3.0.3" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.3.tgz#4a8b79067d6ed2e74f9199ac994a2ab61b176760" + integrity sha512-P0dKrz4g0V0BjXfx7d9QNkJ/Txcz/k+hM9TnjqjUaXtuOfAvxXSw2rJw8DX0e3ZPwnK/IgDxoRqf0bvoVCqbMg== dependencies: "@types/node" "11.11.6" create-hash "^1.1.0" @@ -393,28 +499,7 @@ bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0: resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== -bitcoinjs-lib@^5.1.6: - version "5.1.10" - resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.1.10.tgz#91ec7cde308007008b22ed9117c5f26970cbad54" - integrity sha512-CesUqtBtnYc+SOMsYN9jWQWhdohW1MpklUkF7Ukn4HiAyN6yxykG+cIJogfRt6x5xcgH87K1Q+Mnoe/B+du1Iw== - dependencies: - bech32 "^1.1.2" - bip174 "^1.0.1" - bip32 "^2.0.4" - bip66 "^1.1.0" - bitcoin-ops "^1.4.0" - bs58check "^2.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.3" - merkle-lib "^2.0.10" - pushdata-bitcoin "^1.0.1" - randombytes "^2.0.1" - tiny-secp256k1 "^1.1.1" - typeforce "^1.11.3" - varuint-bitcoin "^1.0.4" - wif "^2.0.1" - -bitcoinjs-lib@^5.2.0: +bitcoinjs-lib@^5.1.10, bitcoinjs-lib@^5.1.6, bitcoinjs-lib@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.2.0.tgz#caf8b5efb04274ded1b67e0706960b93afb9d332" integrity sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ== @@ -444,10 +529,10 @@ bl@^4.0.1: inherits "^2.0.4" readable-stream "^3.4.0" -blockstack@21.0.0: - version "21.0.0" - resolved "https://registry.yarnpkg.com/blockstack/-/blockstack-21.0.0.tgz#28dcf8ecf4878c0273697dee33d4585d5876bdc9" - integrity sha512-KH/eg3vlMZc93T4+rIjGwnSROqye/WOr46cDCrcnmkKdeUd2D2i/g5L6S9zTzIWQGQ7HWWLS1FZ9Xk8GcJdBKg== +blockstack@21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/blockstack/-/blockstack-21.1.1.tgz#c5088842a455ee377390e050b82b558a00ee888e" + integrity sha512-Zd66+peKmLxyF5lL6wN/ate/n/acmtXFi8fWei1Nb3g+25uPbrKINse2UMLFLlIsSPlshMoxMizvEfrmV7Fq5Q== dependencies: "@types/bn.js" "^4.11.6" "@types/cheerio" "^0.22.13" @@ -477,11 +562,19 @@ bn.js@^4.0.0, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.9.tgz#26d556829458f9d1e81fc48952493d0ba3507828" integrity sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw== -bn.js@^5.1.1: +bn.js@^5.1.1, bn.js@^5.1.2: version "5.1.3" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.1.3.tgz#beca005408f642ebebea80b042b4d18d2ac0ee6b" integrity sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ== +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -503,7 +596,7 @@ bs58check@<3.0.0, bs58check@^2.0.0, bs58check@^2.1.1: create-hash "^1.1.0" safe-buffer "^5.1.2" -buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.5.0: version "5.6.0" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== @@ -511,6 +604,14 @@ buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.0.2" ieee754 "^1.1.4" +buffer@^5.6.0: + version "5.7.1" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + c32check@^1.0.1, c32check@^1.1.1: version "1.1.2" resolved "https://registry.yarnpkg.com/c32check/-/c32check-1.1.2.tgz#e84a66366bf9964ddf8d7b1f86d0e79281b8c8bd" @@ -548,6 +649,17 @@ code-point-at@^1.0.0: resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c= +codecov@^3.7.2: + version "3.8.1" + resolved "https://registry.yarnpkg.com/codecov/-/codecov-3.8.1.tgz#06fe026b75525ed1ce864d4a34f1010c52c51546" + integrity sha512-Qm7ltx1pzLPsliZY81jyaQ80dcNR4/JpcX0IHCIWrHBXgseySqbdbYfkdiXd7o/xmzQpGRVCKGYeTrHUpn6Dcw== + dependencies: + argv "0.0.2" + ignore-walk "3.0.3" + js-yaml "3.14.0" + teeny-request "6.0.1" + urlgrey "0.4.4" + combined-stream@^1.0.6, combined-stream@~1.0.6: version "1.0.8" resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" @@ -555,6 +667,11 @@ combined-stream@^1.0.6, combined-stream@~1.0.6: dependencies: delayed-stream "~1.0.0" +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= + console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" @@ -588,14 +705,7 @@ create-hmac@^1.1.3, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -cross-fetch@^3.0.4: - version "3.0.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.5.tgz#2739d2981892e7ab488a7ad03b92df2816e03f4c" - integrity sha512-FFLcLtraisj5eteosnX1gf01qYDCOc4fDy0+euOt8Kn9YBY2NtXL/pCoYPavw24NIQkQqm5ZOLsGD5Zzj0gyew== - dependencies: - node-fetch "2.6.0" - -cross-fetch@^3.0.5: +cross-fetch@^3.0.4, cross-fetch@^3.0.5: version "3.0.6" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.0.6.tgz#3a4040bc8941e653e0e9cf17f29ebcd177d3365c" integrity sha512-KBPUbqgFjzWlVcURG+Svp9TlhA5uliYtiNx/0r8nv0pdypeQCRJ9IaSIc3q/x3q8t3F75cHuwxVql1HFGHCNJQ== @@ -617,6 +727,13 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" +debug@4: + version "4.2.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.2.0.tgz#7f150f93920e94c58f5574c2fd01a3110effe7f1" + integrity sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg== + dependencies: + ms "2.1.2" + decode-uri-component@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545" @@ -684,6 +801,11 @@ end-of-stream@^1.1.0, end-of-stream@^1.4.1: dependencies: once "^1.4.0" +esprima@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== + events@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/events/-/events-3.2.0.tgz#93b87c18f8efcd4202a461aec4dfc0556b639379" @@ -822,6 +944,15 @@ hmac-drbg@^1.0.0: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.1" +http-proxy-agent@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -831,6 +962,14 @@ http-signature@~1.2.0: jsprim "^1.2.2" sshpk "^1.7.0" +https-proxy-agent@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" + integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== + dependencies: + agent-base "5" + debug "4" + iced-error@>=0.0.9: version "0.0.13" resolved "https://registry.yarnpkg.com/iced-error/-/iced-error-0.0.13.tgz#a4a8a4f1461a59c7a2a380b4f745ffd80718f08b" @@ -848,10 +987,17 @@ iced-runtime@>=0.0.1, iced-runtime@^1.0.0, iced-runtime@^1.0.2: resolved "https://registry.yarnpkg.com/iced-runtime/-/iced-runtime-1.0.4.tgz#e9de26dfe98cd8621201f7f3dfb9f7f09c550990" integrity sha512-rgiJXNF6ZgF2Clh/TKUlBDW3q51YPDJUXmxGQXx1b8tbZpVpTn+1RX9q1sjNkujXIIaVxZByQzPHHORg7KV51g== -ieee754@^1.1.4: - version "1.1.13" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.13.tgz#ec168558e95aa181fd87d37f55c32bbcb6708b84" - integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg== +ieee754@^1.1.13, ieee754@^1.1.4: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore-walk@3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/ignore-walk/-/ignore-walk-3.0.3.tgz#017e2447184bfeade7c238e4aefdd1e8f95b1e37" + integrity sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw== + dependencies: + minimatch "^3.0.4" inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3: version "2.0.4" @@ -890,6 +1036,14 @@ isstream@~0.1.2: resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" integrity sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo= +js-yaml@3.14.0: + version "3.14.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482" + integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A== + dependencies: + argparse "^1.0.7" + esprima "^4.0.0" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -990,6 +1144,13 @@ minimalistic-crypto-utils@^1.0.0, minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo= +minimatch@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== + dependencies: + brace-expansion "^1.1.7" + minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" @@ -1014,12 +1175,22 @@ more-entropy@>=0.0.7: dependencies: iced-runtime ">=0.0.1" +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + nan@2.13.2: version "2.13.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.13.2.tgz#f51dc7ae66ba7d5d55e1e6d4d8092e802c9aefe7" integrity sha512-TghvYc72wlMGMVMluVo9WRJc0mB8KxxF/gZ4YYFy7V2ZQX9l7rgbPg7vjS9mt6U5HXODVFVI2bOduCzwOMv/lw== -nan@^2.13.2, nan@^2.14.0: +nan@^2.13.2: + version "2.14.2" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" + integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== + +nan@^2.14.0: version "2.14.1" resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.1.tgz#d7be34dfa3105b91494c3147089315eff8874b01" integrity sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw== @@ -1036,12 +1207,7 @@ node-abi@^2.18.0, node-abi@^2.7.0: dependencies: semver "^5.4.1" -node-fetch@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.0.tgz#e633456386d4aa55863f676a7ab0daa8fdecb0fd" - integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA== - -node-fetch@2.6.1: +node-fetch@2.6.1, node-fetch@^2.2.0: version "2.6.1" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== @@ -1131,9 +1297,9 @@ prebuild-install@^5.3.3, prebuild-install@^5.3.4: which-pm-runs "^1.0.0" prettier@^2.0.5: - version "2.1.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.1.tgz#d9485dd5e499daa6cb547023b87a6cf51bee37d6" - integrity sha512-9bY+5ZWCfqj3ghYBLxApy2zf6m+NJo5GzmLTpr9FsApsfjriNnS2dahWReHMi7qNPhhHl9SYHJs2cHZLgexNIw== + version "2.1.2" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5" + integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg== process-nextick-args@~2.0.0: version "2.0.1" @@ -1175,10 +1341,10 @@ qs@~6.5.2: resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36" integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA== -query-string@^6.8.3: - version "6.13.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.1.tgz#d913ccfce3b4b3a713989fe6d39466d92e71ccad" - integrity sha512-RfoButmcK+yCta1+FuU8REvisx1oEzhMKwhLUNcepQTPGcNMp1sIqjnfCtfnvGSQZQEhaBHvccujtWoUV3TTbA== +query-string@^6.13.1, query-string@^6.8.3: + version "6.13.7" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.13.7.tgz#af53802ff6ed56f3345f92d40a056f93681026ee" + integrity sha512-CsGs8ZYb39zu0WLkeOhe0NMePqgYdAuCqxOYKDR5LVCytDZYMGx3Bb+xypvQvPHVPijRXB0HZNFllCzHRe4gEA== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -1289,7 +1455,7 @@ safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== -schema-inspector@^1.6.8: +schema-inspector@^1.6.8, schema-inspector@^1.7.0: version "1.7.0" resolved "https://registry.yarnpkg.com/schema-inspector/-/schema-inspector-1.7.0.tgz#b3f8b97fc26ba930ef16cd7b8fcf77201ce468db" integrity sha512-Cj4XP6O3QfDhOq7bIPpz3Ev+sjR++nqFsIggBVIk/8axqFc2p+XSwNBWih9Ut/p8k36f1uCyXB+TzumZUsxVBQ== @@ -1343,6 +1509,11 @@ split-on-first@^1.0.0: resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= + sshpk@^1.7.0: version "1.16.1" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877" @@ -1358,6 +1529,13 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +stream-events@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/stream-events/-/stream-events-1.0.5.tgz#bbc898ec4df33a4902d892333d47da9bf1c406d5" + integrity sha512-E1GUzBSgvct8Jsb3v2X15pjzN1tYebtbLaMg+eBOUOAxgbLoSbT2NS91ckc5lJD1KfLjId+jXJRgo0qnV5Nerg== + dependencies: + stubs "^3.0.0" + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -1413,6 +1591,11 @@ strip-json-comments@~2.0.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo= +stubs@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/stubs/-/stubs-3.0.0.tgz#e8d2ba1fa9c90570303c030b6900f7d5f89abe5b" + integrity sha1-6NK6H6nJBXAwPAMLaQD31fiavls= + tar-fs@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.0.tgz#d1cdd121ab465ee0eb9ccde2d35049d3f3daf0d5" @@ -1434,6 +1617,17 @@ tar-stream@^2.0.0: inherits "^2.0.3" readable-stream "^3.1.1" +teeny-request@6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/teeny-request/-/teeny-request-6.0.1.tgz#9b1f512cef152945827ba7e34f62523a4ce2c5b0" + integrity sha512-TAK0c9a00ELOqLrZ49cFxvPVogMUFaWY8dUsQc/0CuQPGF+BOxOQzXfE413BAk2kLomwNplvdtMpeaeGWmoc2g== + dependencies: + http-proxy-agent "^4.0.0" + https-proxy-agent "^4.0.0" + node-fetch "^2.2.0" + stream-events "^1.0.5" + uuid "^3.3.2" + tiny-secp256k1@^1.1.1, tiny-secp256k1@^1.1.3: version "1.1.5" resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.5.tgz#3dc37b9bf0fa5b4390b9fa29e953228810cebc18" @@ -1465,7 +1659,12 @@ triplesec@^3.0.27: progress "~1.1.2" uglify-js "^3.1.9" -tslib@^1.10.0, tslib@^1.9.0: +tslib@^1.10.0: + version "1.14.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== + +tslib@^1.9.0: version "1.13.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== @@ -1487,10 +1686,15 @@ typeforce@^1.11.3, typeforce@^1.11.5: resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== +typescript@3.9.7: + version "3.9.7" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa" + integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw== + uglify-js@^3.1.9: - version "3.10.4" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.10.4.tgz#dd680f5687bc0d7a93b14a3482d16db6eba2bfbb" - integrity sha512-kBFT3U4Dcj4/pJ52vfjCSfyLyvG9VYYuGYPmrPvAxRw/i7xHiT4VvCev+uiEMcEEiu6UNB6KgWmGtSUYIWScbw== + version "3.11.6" + resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.11.6.tgz#144b50d3e05eadd3ad4dd047c60ca541a8cd4e9c" + integrity sha512-oASI1FOJ7BBFkSCNDZ446EgkSuHkOZBuqRFrwXIKWCoXw8ZXQETooTQjkAcBS03Acab7ubCKsXnwuV2svy061g== uri-js@^4.2.2: version "4.4.0" @@ -1499,6 +1703,11 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +urlgrey@0.4.4: + version "0.4.4" + resolved "https://registry.yarnpkg.com/urlgrey/-/urlgrey-0.4.4.tgz#892fe95960805e85519f1cd4389f2cb4cbb7652f" + integrity sha1-iS/pWWCAXoVRnxzUOJ8stMu3ZS8= + usb@^1.6.3: version "1.6.3" resolved "https://registry.yarnpkg.com/usb/-/usb-1.6.3.tgz#c0bc14994e8f9cb16f9602ec0dbadaa57cb919f5"