This commit is contained in:
Seroxdesign
2023-04-21 11:25:12 -04:00
parent b7ae3895ee
commit 6eebca64c2
5 changed files with 220 additions and 128 deletions

View File

@@ -28,7 +28,6 @@ import { humanizeNumber, roundNumber } from 'utils/mathHelper';
import {
approveMeTokens,
burn,
checkMeTokenApproval,
getCollateralData,
getErc20TokenData,
getMeTokenFor,
@@ -87,7 +86,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
const [transactionType, toggleTransactionType] = useState<string>('mint');
const [approved, setApproved] = useState<boolean>(false);
const { chainId, address } = useWeb3();
const [amount, setAmount] = useState<string>();
const [amount, setAmount] = useState<string>('0');
const [previewAmount, setPreviewAmount] = useState<string>('0');
const [loading, setLoading] = useState<boolean>(false);
const toast = useToast();
@@ -119,7 +118,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
setPreviewAmount(
await preview(
metokenAddress,
ethers.utils.parseEther(amount || '0'),
ethers.utils.parseEther(amount),
address,
transactionType,
),
@@ -132,12 +131,40 @@ const MeTokenSwap: React.FC<SwapProps> = ({
handlePreview();
}, [handlePreview, amount, metokenAddress]);
const handleSpendMeTokens = useCallback(async () => {
setLoading(true);
await spendMeTokens(
metokenAddress,
ethers.utils.parseEther(amount),
owner,
provider,
)
.then(() => {
toast({
title: 'Success',
description: `Successfully spent ${meTokenData.symbol} with Issuer.`,
status: 'success',
isClosable: true,
});
setLoading(false);
})
.catch(() => {
toast({
title: 'Error',
description: `Could not spend ${meTokenData.symbol} tokens.`,
status: 'error',
isClosable: true,
});
setLoading(false);
});
}, [meTokenData, amount, toast, setLoading, metokenAddress, provider, owner]);
const approveMeTokenTx = useCallback(async () => {
const approvalToken =
transactionType === 'mint' ? collateral : metokenAddress;
await approveMeTokens(
approvalToken,
ethers.utils.parseEther(amount || '0'),
ethers.utils.parseEther(amount),
provider,
)
.then(() => {
@@ -169,50 +196,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
provider,
]);
const handleSpendMeTokens = useCallback(async () => {
setLoading(true);
if (!approved) {
await approveMeTokenTx();
return;
}
await spendMeTokens(
metokenAddress,
ethers.utils.parseEther(amount || '0'),
owner,
provider,
)
.then(() => {
toast({
title: 'Success',
description: `Successfully spent ${meTokenData.symbol} with Issuer.`,
status: 'success',
isClosable: true,
});
setLoading(false);
})
.catch(() => {
toast({
title: 'Error',
description: `Could not spend ${meTokenData.symbol} tokens.`,
status: 'error',
isClosable: true,
});
setLoading(false);
});
}, [
meTokenData,
amount,
toast,
approved,
setLoading,
approveMeTokenTx,
metokenAddress,
provider,
owner,
]);
const clearAmounts = useCallback(() => {
toggleTransactionType('burn');
setAmount('0');
setPreviewAmount('0');
}, [setAmount, setPreviewAmount]);
@@ -256,7 +240,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
} else {
await burn(
metokenAddress,
ethers.utils.parseEther(amount || '0'),
ethers.utils.parseEther(amount),
owner,
provider,
)
@@ -293,7 +277,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
]);
const handleSetAmount = useCallback(
async (swapAmount: string) => {
(swapAmount: string) => {
if (swapAmount && !/^[0-9.]+$/.test(swapAmount)) return;
if (
transactionType === 'burn' &&
@@ -303,23 +287,8 @@ const MeTokenSwap: React.FC<SwapProps> = ({
} else {
setAmount(swapAmount);
}
if (address && amount) {
const approvalToken =
transactionType === 'mint' ? collateral : metokenAddress;
checkMeTokenApproval(approvalToken, swapAmount, address).then((res) =>
setApproved(res),
);
}
},
[
setAmount,
transactionType,
meTokenData,
address,
amount,
metokenAddress,
collateral,
],
[setAmount, transactionType, meTokenData],
);
const handleSetSpendAmount = useCallback(
@@ -363,7 +332,6 @@ const MeTokenSwap: React.FC<SwapProps> = ({
color={'black'}
border={'none'}
value={amount}
placeholder="0"
type="text"
onChange={(e) => handleSetAmount(e.target.value)}
name="Amount"
@@ -389,9 +357,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
borderRadius="full"
size="sm"
onClick={() =>
handleSetAmount(
humanizeNumber(collateralTokenData.balance),
)
setAmount(humanizeNumber(collateralTokenData.balance))
}
>
Max
@@ -416,7 +382,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
borderRadius="full"
size="sm"
onClick={() =>
handleSetAmount(humanizeNumber(meTokenData.balance))
setAmount(humanizeNumber(meTokenData.balance))
}
>
Max
@@ -535,7 +501,6 @@ const MeTokenSwap: React.FC<SwapProps> = ({
color={'black'}
border={'none'}
value={amount}
placeholder="0"
pl={2}
type="text"
onChange={(e) => handleSetSpendAmount(e.target.value)}
@@ -551,19 +516,6 @@ const MeTokenSwap: React.FC<SwapProps> = ({
</Text>
</Box>
<Wrap align="center">
<Button
borderColor="black"
color="black"
variant="outline"
textTransform="uppercase"
borderRadius="full"
size="sm"
onClick={() =>
handleSetAmount(humanizeNumber(meTokenData.balance))
}
>
Max
</Button>
<Image
src={profilePicture}
height="36px"
@@ -596,7 +548,7 @@ const MeTokenSwap: React.FC<SwapProps> = ({
onClick={handleSpendMeTokens}
disabled={loading}
>
{approved ? 'Spend meToken' : 'Approve Token'}
{loading ? 'Loading..' : `Spend ${symbol}`}
</MetaButton>
) : (
<Wrap mx="auto" mt="1rem">

View File

@@ -122,6 +122,7 @@ export const AddBoxSection = React.forwardRef<HTMLDivElement, Props>(
borderColor={MetaTheme.colors.whiteAlpha[800]}
onChange={selectBoxType}
sx={{
textTransform: 'capitalize',
'& > option': {
backgroundColor: MetaTheme.colors.purpleBoxLight,
},

View File

@@ -102,28 +102,4 @@ export default [
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{
internalType: 'address',
name: 'owner',
type: 'address',
},
{
internalType: 'address',
name: 'spender',
type: 'address',
},
],
name: 'allowance',
outputs: [
{
internalType: 'uint256',
name: '',
type: 'uint256',
},
],
stateMutability: 'view',
type: 'function',
},
];

View File

@@ -143,20 +143,6 @@ export const preview = async (
return BigNumber.from(0);
};
export const checkMeTokenApproval = async (
tokenAddress: string,
amount: string,
owner: string,
) => {
const erc20 = await new Contract(
tokenAddress,
erc20Abi,
mainnetProvider.getSigner(owner),
);
const approvalAmount = await erc20.allowance(owner, foundryFacet);
return ethers.utils.formatEther(approvalAmount) > amount;
};
// Write
export const approveMeTokens = async (
tokenAddress: string,

187
yarn.lock
View File

@@ -1633,7 +1633,7 @@
near-api-js "^0.44.2"
uint8arrays "^3.0.0"
"@ceramicnetwork/common@2.18.0", "@ceramicnetwork/common@^2.0.0", "@ceramicnetwork/common@^2.10.0", "@ceramicnetwork/common@^2.18.0", "@ceramicnetwork/common@^2.24.0", "@ceramicnetwork/common@^2.8.0":
"@ceramicnetwork/common@^2.0.0", "@ceramicnetwork/common@^2.10.0", "@ceramicnetwork/common@^2.18.0", "@ceramicnetwork/common@^2.8.0":
version "2.18.0"
resolved "https://registry.yarnpkg.com/@ceramicnetwork/common/-/common-2.18.0.tgz#65c15fe72eb207ec2a31137e67e86d9fd7e069fc"
integrity sha512-z716JnPjDzGy9P2p++XsF3ApbLRmeZX4notAaYH9MW2PAqcaQeGBistxgLV/JZaOOGc9MDDiTGeCJ8CL/PiB0w==
@@ -1655,6 +1655,29 @@
rxjs "^7.5.2"
uint8arrays "^3.0.0"
"@ceramicnetwork/common@^2.24.0":
version "2.24.0"
resolved "https://registry.yarnpkg.com/@ceramicnetwork/common/-/common-2.24.0.tgz#98ed0f7607e3904cfc4299c88f56e272eff5df99"
integrity sha512-Q3GBlJd5XrSDCP/6KJy2sz+5MfAVhMrEDoW9SIaxG19xPC+QGeMRouNbZf+qfe3tGQintaRn3FhoqSAtjFxE1g==
dependencies:
"@ceramicnetwork/streamid" "^2.14.0"
"@didtools/cacao" "^2.0.0"
"@didtools/pkh-ethereum" "^0.1.0"
"@didtools/pkh-solana" "^0.1.0"
"@didtools/pkh-stacks" "^0.1.0"
"@didtools/pkh-tezos" "^0.2.1"
"@stablelib/random" "^1.0.1"
caip "~1.1.0"
cross-fetch "^3.1.4"
flat "^5.0.2"
it-first "^1.0.7"
jet-logger "1.2.2"
lodash.clonedeep "^4.5.0"
logfmt "^1.3.2"
multiformats "^11.0.1"
rxjs "^7.5.2"
uint8arrays "^4.0.3"
"@ceramicnetwork/http-client@^2.0.0":
version "2.7.0"
resolved "https://registry.yarnpkg.com/@ceramicnetwork/http-client/-/http-client-2.7.0.tgz#d67da7d3ee84646b20da1bbf3c97ac3524c56814"
@@ -2802,6 +2825,30 @@
caip "^1.1.0"
uint8arrays "^3.1.0"
"@didtools/pkh-solana@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@didtools/pkh-solana/-/pkh-solana-0.1.0.tgz#0ef34d6e40d4605f090d4c9d74ac7037de175b66"
integrity sha512-/0pWsM/TCdHjYZMy4yNcQav2SNj+3W/6RmMebUxdFDKVZFss3ULXIJD0+qsrMFpVNZw3sW/xjFs3He+/fl4HvA==
dependencies:
"@didtools/cacao" "^2.0.0"
"@stablelib/ed25519" "^1.0.3"
"@stablelib/random" "^1.0.2"
caip "^1.1.0"
uint8arrays "^4.0.3"
"@didtools/pkh-stacks@^0.1.0":
version "0.1.0"
resolved "https://registry.yarnpkg.com/@didtools/pkh-stacks/-/pkh-stacks-0.1.0.tgz#91191dee0a5767989d68ffc6a78e7736b44c8f52"
integrity sha512-dEgyHleiIa2afibchNqs07tSqddFS6pX9D5BNxbWH0NAr+FisVCA4nUXajcbd9TUbSuplClfQ4EXjjJAGqlgeg==
dependencies:
"@didtools/cacao" "^2.0.0"
"@stablelib/random" "^1.0.2"
"@stacks/common" "^6.0.0"
"@stacks/encryption" "^6.2.0"
"@stacks/transactions" "^6.2.0"
caip "^1.1.0"
jsontokens "^4.0.1"
"@didtools/pkh-tezos@^0.0.2":
version "0.0.2"
resolved "https://registry.yarnpkg.com/@didtools/pkh-tezos/-/pkh-tezos-0.0.2.tgz#3d00d18548bafa26944af6c17d6c80d6f3b7e38c"
@@ -2812,6 +2859,19 @@
"@taquito/utils" "^14.0.0"
caip "^1.1.0"
"@didtools/pkh-tezos@^0.2.1":
version "0.2.1"
resolved "https://registry.yarnpkg.com/@didtools/pkh-tezos/-/pkh-tezos-0.2.1.tgz#01001e18b2daf7e8f57523f339ed45854055dae8"
integrity sha512-QKf73frCwcxpY8qZkLqt7EP2eGieltRW5GU/xmMPfgrNLYQrfFRYjF8Rmp9wf16cBuRjCRD0WuxQ8rV/++dseg==
dependencies:
"@didtools/cacao" "^2.0.0"
"@stablelib/blake2b" "^1.0.1"
"@stablelib/ed25519" "^1.0.3"
"@stablelib/random" "^1.0.2"
"@stablelib/sha256" "^1.0.1"
caip "^1.1.0"
uint8arrays "^4.0.3"
"@discordjs/builders@^0.11.0":
version "0.11.0"
resolved "https://registry.yarnpkg.com/@discordjs/builders/-/builders-0.11.0.tgz#4102abe3e0cd093501f3f71931df43eb92f5b0cc"
@@ -3222,7 +3282,7 @@
"@ethersproject/logger" "^5.6.0"
bn.js "^4.11.9"
"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0":
"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d"
integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==
@@ -3440,7 +3500,7 @@
bech32 "1.1.4"
ws "7.4.6"
"@ethersproject/providers@^5.2.0", "@ethersproject/providers@^5.5.1", "@ethersproject/providers@^5.7.0", "@ethersproject/providers@^5.7.2":
"@ethersproject/providers@^5.5.1", "@ethersproject/providers@^5.2.0", "@ethersproject/providers@^5.7.0", "@ethersproject/providers@^5.7.2":
version "5.7.2"
resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb"
integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==
@@ -3543,7 +3603,7 @@
"@ethersproject/sha2" "^5.7.0"
"@ethersproject/strings" "^5.7.0"
"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0":
"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0":
version "5.7.0"
resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2"
integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==
@@ -5594,6 +5654,21 @@
resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.6.0.tgz#b55f7c9e532b478bf1d7c4f609e1f3a37850b583"
integrity sha512-UKju89WV37IUALIMfKhKW3psO8AqmrE/GvH6QbPKjzolQ98zM7WmGUeY+xdIgSf5tqPFf75ZCYMgym6E9Jsw3Q==
"@noble/hashes@1.1.5", "@noble/hashes@~1.1.1":
version "1.1.5"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.5.tgz#1a0377f3b9020efe2fae03290bd2a12140c95c11"
integrity sha512-LTMZiiLc+V4v1Yi16TD6aX2gmtKszNye0pQgbaLqkvhIqP7nVsSaJsWloGQjJfJ8offaoP5GtX3yY5swbcJxxQ==
"@noble/hashes@^1.1.2":
version "1.3.0"
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1"
integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg==
"@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3":
version "1.7.1"
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c"
integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==
"@noble/secp256k1@^1.3.0":
version "1.5.5"
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.5.5.tgz#315ab5745509d1a8c8e90d0bdf59823ccf9bcfc3"
@@ -5994,6 +6069,19 @@
resolved "https://registry.yarnpkg.com/@sapphire/async-queue/-/async-queue-1.1.9.tgz#ce69611c8753c4affd905a7ef43061c7eb95c01b"
integrity sha512-CbXaGwwlEMq+l1TRu01FJCvySJ1CEFKFclHT48nIfNeZXaAAmmwwy7scUKmYHPUa3GhoMp6Qr1B3eAJux6XgOQ==
"@scure/base@~1.1.0":
version "1.1.1"
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938"
integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA==
"@scure/bip39@1.1.0":
version "1.1.0"
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.0.tgz#92f11d095bae025f166bef3defcc5bf4945d419a"
integrity sha512-pwrPOS16VeTKg98dYXQyIjJEcWfz7/1YJIwxUEPFfQPtc86Ym/1sVgQ2RLoD43AazMk2l/unK4ITySSpW2+82w==
dependencies:
"@noble/hashes" "~1.1.1"
"@scure/base" "~1.1.0"
"@self.id/3box-legacy@^0.3.0":
version "0.3.0"
resolved "https://registry.yarnpkg.com/@self.id/3box-legacy/-/3box-legacy-0.3.0.tgz#442a11c809f48e7ec61bc3447afb4e8b4c4023fd"
@@ -6221,6 +6309,49 @@
"@stablelib/wipe" "^1.0.1"
"@stablelib/xchacha20" "^1.0.1"
"@stacks/common@^6.0.0":
version "6.0.0"
resolved "https://registry.yarnpkg.com/@stacks/common/-/common-6.0.0.tgz#ce80a11ca5d16db8276891db3ecc8e4f2eb1b43a"
integrity sha512-tETwccvbYvaZ7u3ZucWNMOIPN97r6IPeZXKIFhLc1KSVaWSGEPTtZcwVp+Rz3mu2XgI2pg37SUrOWXSL7OOkDw==
dependencies:
"@types/bn.js" "^5.1.0"
"@types/node" "^18.0.4"
"@stacks/encryption@^6.2.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@stacks/encryption/-/encryption-6.5.0.tgz#826851979b1ccc5491a0907e30e2b7e22621436a"
integrity sha512-QE1+gy1x6spGkpK5PnZxKoX1hL8eeIYxYa5HNMl4cbdIVKaFgqjoGFKMtTA/tQMc91T/saXLqbQLyh/U4AVpTA==
dependencies:
"@noble/hashes" "1.1.5"
"@noble/secp256k1" "1.7.1"
"@scure/bip39" "1.1.0"
"@stacks/common" "^6.0.0"
"@types/node" "^18.0.4"
base64-js "^1.5.1"
bs58 "^5.0.0"
ripemd160-min "^0.0.6"
varuint-bitcoin "^1.1.2"
"@stacks/network@^6.3.0":
version "6.3.0"
resolved "https://registry.yarnpkg.com/@stacks/network/-/network-6.3.0.tgz#6ce412dd06bfa2128b62fe9d8f6bf8518f542953"
integrity sha512-573ZldQ+Iy0nCCxprXLLvkAo1AMEXncfmMUvqQ+5TN3m7VqCVADtb5G5WzMZsyR4m/k9oPsv076Lmqyl8AtR2A==
dependencies:
"@stacks/common" "^6.0.0"
cross-fetch "^3.1.5"
"@stacks/transactions@^6.2.0":
version "6.5.0"
resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-6.5.0.tgz#ec6bd94b21fe34683b53af28fcaeaf9cac093bdd"
integrity sha512-kwE8cZq+QdAum4/LC+lSlAXVvzkdsSHTkCbfg4+VCWPBqA+gdXEqZe6R9SNBtMb8yGQrqUY8uIGRLVCWcXJ8zQ==
dependencies:
"@noble/hashes" "1.1.5"
"@noble/secp256k1" "1.7.1"
"@stacks/common" "^6.0.0"
"@stacks/network" "^6.3.0"
c32check "^2.0.0"
lodash.clonedeep "^4.5.0"
"@supabase/functions-js@^1.3.4":
version "1.3.4"
resolved "https://registry.yarnpkg.com/@supabase/functions-js/-/functions-js-1.3.4.tgz#44f86f7cf949baa7f1bb414f3b8c0985a19df633"
@@ -6655,6 +6786,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240"
integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==
"@types/node@^18.0.4":
version "18.15.10"
resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.10.tgz#4ee2171c3306a185d1208dad5f44dae3dee4cfe3"
integrity sha512-9avDaQJczATcXgfmMAW3MIWArOO7A+m90vuCFLr8AotWf8igO/mRoYukrk2cqZVtv38tHs33retzHEilM7FpeQ==
"@types/normalize-package-data@^2.4.0":
version "2.4.0"
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
@@ -8413,7 +8549,12 @@ base-x@^3.0.8:
dependencies:
safe-buffer "^5.0.1"
base64-js@^1.3.1:
base-x@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a"
integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw==
base64-js@^1.3.1, base64-js@^1.5.1:
version "1.5.1"
resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
@@ -8799,6 +8940,13 @@ bs58@^4.0.0:
dependencies:
base-x "^3.0.2"
bs58@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279"
integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ==
dependencies:
base-x "^4.0.0"
bs58check@^2.1.2:
version "2.1.2"
resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc"
@@ -8932,6 +9080,14 @@ bytes@3.1.2:
resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
c32check@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/c32check/-/c32check-2.0.0.tgz#b9365618b2fb135c0783d03f00605b7b0f90c659"
integrity sha512-rpwfAcS/CMqo0oCqDf3r9eeLgScRE3l/xHDCXhM3UyrfvIn7PrLq63uHh7yYbv8NzaZn5MVsVhIRpQ+5GZ5HyA==
dependencies:
"@noble/hashes" "^1.1.2"
base-x "^4.0.0"
cacache@^15.0.5:
version "15.0.6"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.0.6.tgz#65a8c580fda15b59150fb76bf3f3a8e45d583099"
@@ -15759,6 +15915,15 @@ jsonschema@^1.2.2:
resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2"
integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw==
jsontokens@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/jsontokens/-/jsontokens-4.0.1.tgz#c3edf74a01160b2ca6d62b021b288edd59d1184a"
integrity sha512-+MO415LEN6M+3FGsRz4wU20g7N2JA+2j9d9+pGaNJHviG4L8N0qzavGyENw6fJqsq9CcrHOIL6iWX5yeTZ86+Q==
dependencies:
"@noble/hashes" "^1.1.2"
"@noble/secp256k1" "^1.6.3"
base64-js "^1.5.1"
jsonwebtoken@^8.5.1:
version "8.5.1"
resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d"
@@ -20522,6 +20687,11 @@ rimraf@^3.0.0, rimraf@^3.0.2:
dependencies:
glob "^7.1.3"
ripemd160-min@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/ripemd160-min/-/ripemd160-min-0.0.6.tgz#a904b77658114474d02503e819dcc55853b67e62"
integrity sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==
ripemd160@^2.0.0, ripemd160@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
@@ -22983,6 +23153,13 @@ varint@^6.0.0:
resolved "https://registry.yarnpkg.com/varint/-/varint-6.0.0.tgz#9881eb0ce8feaea6512439d19ddf84bf551661d0"
integrity sha512-cXEIW6cfr15lFv563k4GuVuW/fiwjknytD37jIOLSdSWuOI6WnO/oKwmP2FQTU2l01LP8/M5TSAJpzUaGe3uWg==
varuint-bitcoin@^1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92"
integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw==
dependencies:
safe-buffer "^5.1.1"
vary@^1, vary@~1.1.2:
version "1.1.2"
resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"