update ido-pool & anchor versions and implement account loading
This commit is contained in:
parent
1dacb41361
commit
1d58b37d24
|
@ -20,6 +20,7 @@ export interface EndpointInfo {
|
||||||
url: string
|
url: string
|
||||||
websocket: string
|
websocket: string
|
||||||
programId: string
|
programId: string
|
||||||
|
poolKey: string
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface WalletContextValues {
|
export interface WalletContextValues {
|
||||||
|
|
|
@ -103,6 +103,7 @@ const ContributionModal = () => {
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (submitting) {
|
if (submitting) {
|
||||||
|
// TODO: add submission here
|
||||||
const submitTimer = setTimeout(() => {
|
const submitTimer = setTimeout(() => {
|
||||||
setSubmitted(true)
|
setSubmitted(true)
|
||||||
setSubmitting(false)
|
setSubmitting(false)
|
||||||
|
|
|
@ -102,9 +102,12 @@ export default function useWallet() {
|
||||||
'...' +
|
'...' +
|
||||||
wallet.publicKey.toString().substr(-5),
|
wallet.publicKey.toString().substr(-5),
|
||||||
})
|
})
|
||||||
//await actions.fetchWalletTokenAccounts()
|
|
||||||
//await actions.fetchWalletMints()
|
|
||||||
await actions.fetchPool()
|
await actions.fetchPool()
|
||||||
|
await actions.fetchVault()
|
||||||
|
await Promise.all([
|
||||||
|
actions.fetchWalletTokenAccounts(),
|
||||||
|
actions.fetchVaultMint(),
|
||||||
|
])
|
||||||
})
|
})
|
||||||
wallet.on('disconnect', () => {
|
wallet.on('disconnect', () => {
|
||||||
setWalletStore((state) => {
|
setWalletStore((state) => {
|
||||||
|
@ -128,8 +131,7 @@ export default function useWallet() {
|
||||||
}, [wallet, setWalletStore])
|
}, [wallet, setWalletStore])
|
||||||
|
|
||||||
useInterval(async () => {
|
useInterval(async () => {
|
||||||
//await actions.fetchWalletTokenAccounts()
|
await actions.fetchVault()
|
||||||
//await actions.fetchWalletMints()
|
|
||||||
}, 20 * SECONDS)
|
}, 20 * SECONDS)
|
||||||
|
|
||||||
return { connected, wallet }
|
return { connected, wallet }
|
||||||
|
|
|
@ -54,6 +54,11 @@
|
||||||
"name": "rent",
|
"name": "rent",
|
||||||
"isMut": false,
|
"isMut": false,
|
||||||
"isSigner": false
|
"isSigner": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "clock",
|
||||||
|
"isMut": false,
|
||||||
|
"isSigner": false
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"args": [
|
"args": [
|
||||||
|
@ -341,52 +346,57 @@
|
||||||
],
|
],
|
||||||
"errors": [
|
"errors": [
|
||||||
{
|
{
|
||||||
"code": 100,
|
"code": 300,
|
||||||
"name": "InitTime",
|
"name": "IdoFuture",
|
||||||
|
"msg": "IDO must start in the future"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"code": 301,
|
||||||
|
"name": "SeqTimes",
|
||||||
"msg": "IDO times are non-sequential"
|
"msg": "IDO times are non-sequential"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 101,
|
"code": 302,
|
||||||
"name": "StartIdoTime",
|
"name": "StartIdoTime",
|
||||||
"msg": "IDO has not started"
|
"msg": "IDO has not started"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 102,
|
"code": 303,
|
||||||
"name": "EndDepositsTime",
|
"name": "EndDepositsTime",
|
||||||
"msg": "Deposits period has ended"
|
"msg": "Deposits period has ended"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 103,
|
"code": 304,
|
||||||
"name": "EndIdoTime",
|
"name": "EndIdoTime",
|
||||||
"msg": "IDO has ended"
|
"msg": "IDO has ended"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 104,
|
"code": 305,
|
||||||
"name": "IdoNotOver",
|
"name": "IdoNotOver",
|
||||||
"msg": "IDO has not finished yet"
|
"msg": "IDO has not finished yet"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 105,
|
"code": 306,
|
||||||
"name": "LowUsdc",
|
"name": "LowUsdc",
|
||||||
"msg": "Insufficient USDC"
|
"msg": "Insufficient USDC"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 106,
|
"code": 307,
|
||||||
"name": "LowRedeemable",
|
"name": "LowRedeemable",
|
||||||
"msg": "Insufficient redeemable tokens"
|
"msg": "Insufficient redeemable tokens"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 107,
|
"code": 308,
|
||||||
"name": "UsdcNotEqRedeem",
|
"name": "UsdcNotEqRedeem",
|
||||||
"msg": "USDC total and redeemable total don't match"
|
"msg": "USDC total and redeemable total don't match"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"code": 108,
|
"code": 309,
|
||||||
"name": "InvalidNonce",
|
"name": "InvalidNonce",
|
||||||
"msg": "Given nonce is invalid"
|
"msg": "Given nonce is invalid"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"address": "4vZP5tE6sjKrSSuFwSxvmx76kc99BCVUeDo1dYT5tXAF"
|
"address": "5JTPKQJPkvrMzfDyEHX6EiaEYbR5QxXDkNQ66BoadgUn"
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -25,7 +25,7 @@
|
||||||
"@emotion/styled": "^11.3.0",
|
"@emotion/styled": "^11.3.0",
|
||||||
"@headlessui/react": "^1.0.0",
|
"@headlessui/react": "^1.0.0",
|
||||||
"@heroicons/react": "^1.0.1",
|
"@heroicons/react": "^1.0.1",
|
||||||
"@project-serum/anchor": "^0.4.5",
|
"@project-serum/anchor": "^0.10.0",
|
||||||
"@project-serum/sol-wallet-adapter": "^0.2.0",
|
"@project-serum/sol-wallet-adapter": "^0.2.0",
|
||||||
"@solana/spl-token": "^0.1.3",
|
"@solana/spl-token": "^0.1.3",
|
||||||
"@solana/web3.js": "^1.5.0",
|
"@solana/web3.js": "^1.5.0",
|
||||||
|
|
|
@ -14,6 +14,7 @@ import {
|
||||||
ProgramAccount,
|
ProgramAccount,
|
||||||
TokenAccount,
|
TokenAccount,
|
||||||
MintAccount,
|
MintAccount,
|
||||||
|
getTokenAccount,
|
||||||
} from '../utils/tokens'
|
} from '../utils/tokens'
|
||||||
|
|
||||||
export const ENDPOINTS: EndpointInfo[] = [
|
export const ENDPOINTS: EndpointInfo[] = [
|
||||||
|
@ -22,20 +23,43 @@ export const ENDPOINTS: EndpointInfo[] = [
|
||||||
url: 'https://api.mainnet-beta.solana.com/',
|
url: 'https://api.mainnet-beta.solana.com/',
|
||||||
websocket: 'https://api.mainnet-beta.solana.com/',
|
websocket: 'https://api.mainnet-beta.solana.com/',
|
||||||
programId: '',
|
programId: '',
|
||||||
|
poolKey: '',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'devnet',
|
name: 'devnet',
|
||||||
url: 'https://devnet.solana.com',
|
url: 'https://devnet.solana.com',
|
||||||
websocket: 'https://devnet.solana.com',
|
websocket: 'https://devnet.solana.com',
|
||||||
programId: 'E5s3D6B3PJinuB9kb3dicxfi3qUNLUGX6hoPawhbqagt',
|
programId: 'E5s3D6B3PJinuB9kb3dicxfi3qUNLUGX6hoPawhbqagt',
|
||||||
|
poolKey: '',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'localnet',
|
||||||
|
url: 'http://localhost:8899',
|
||||||
|
websocket: 'http://localhost:8899',
|
||||||
|
programId: 'FF8zcQ1aEmyXeBt99hohoyYprgpEVmWsRK44qta3emno',
|
||||||
|
poolKey: '8gswb9g1JdYEVj662KXr9p6p9SMgR77NryyqvWn9GPXJ',
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
|
|
||||||
const CLUSTER = 'devnet'
|
const CLUSTER = 'localnet'
|
||||||
const ENDPOINT = ENDPOINTS.find((e) => e.name === CLUSTER)
|
const ENDPOINT = ENDPOINTS.find((e) => e.name === CLUSTER)
|
||||||
const DEFAULT_CONNECTION = new Connection(ENDPOINT.url, 'recent')
|
const DEFAULT_CONNECTION = new Connection(ENDPOINT.url, 'recent')
|
||||||
const WEBSOCKET_CONNECTION = new Connection(ENDPOINT.websocket, 'recent')
|
const WEBSOCKET_CONNECTION = new Connection(ENDPOINT.websocket, 'recent')
|
||||||
const PROGRAM_ID = new PublicKey(ENDPOINT.programId)
|
const PROGRAM_ID = new PublicKey(ENDPOINT.programId)
|
||||||
|
const POOL_PK = new PublicKey(ENDPOINT.poolKey)
|
||||||
|
|
||||||
|
interface PoolAccount {
|
||||||
|
distributionAuthority: PublicKey
|
||||||
|
endDepositsTs: anchor.BN
|
||||||
|
endIdoTs: anchor.BN
|
||||||
|
nonce: number
|
||||||
|
numIdoTokens: anchor.BN
|
||||||
|
poolUsdc: PublicKey
|
||||||
|
poolWatermelon: PublicKey
|
||||||
|
redeemableMint: PublicKey
|
||||||
|
startIdoTs: anchor.BN
|
||||||
|
watermelonMint: PublicKey
|
||||||
|
}
|
||||||
|
|
||||||
interface WalletStore extends State {
|
interface WalletStore extends State {
|
||||||
connected: boolean
|
connected: boolean
|
||||||
|
@ -50,7 +74,8 @@ interface WalletStore extends State {
|
||||||
providerUrl: string
|
providerUrl: string
|
||||||
tokenAccounts: ProgramAccount<TokenAccount>[]
|
tokenAccounts: ProgramAccount<TokenAccount>[]
|
||||||
mints: { [pubkey: string]: MintAccount }
|
mints: { [pubkey: string]: MintAccount }
|
||||||
pool: anchor.web3.Account | undefined
|
pool: PoolAccount | undefined
|
||||||
|
vault: TokenAccount | undefined
|
||||||
set: (x: any) => void
|
set: (x: any) => void
|
||||||
actions: any
|
actions: any
|
||||||
}
|
}
|
||||||
|
@ -68,8 +93,35 @@ const useWalletStore = create<WalletStore>((set, get) => ({
|
||||||
providerUrl: null,
|
providerUrl: null,
|
||||||
tokenAccounts: [],
|
tokenAccounts: [],
|
||||||
mints: {},
|
mints: {},
|
||||||
pool: null,
|
pool: undefined,
|
||||||
|
vault: undefined,
|
||||||
actions: {
|
actions: {
|
||||||
|
async fetchPool() {
|
||||||
|
const connection = get().connection.current
|
||||||
|
const connected = get().connected
|
||||||
|
const wallet = get().current
|
||||||
|
const programId = get().connection.programId
|
||||||
|
|
||||||
|
console.log('fetchPool', connected, poolIdl)
|
||||||
|
if (connection && connected) {
|
||||||
|
const provider = new anchor.Provider(
|
||||||
|
connection,
|
||||||
|
wallet,
|
||||||
|
anchor.Provider.defaultOptions()
|
||||||
|
)
|
||||||
|
const program = new anchor.Program(poolIdl, programId, provider)
|
||||||
|
console.log(program)
|
||||||
|
|
||||||
|
const pool = (await program.account.poolAccount.fetch(
|
||||||
|
POOL_PK
|
||||||
|
)) as PoolAccount
|
||||||
|
console.log(pool)
|
||||||
|
|
||||||
|
set((state) => {
|
||||||
|
state.pool = pool
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
async fetchWalletTokenAccounts() {
|
async fetchWalletTokenAccounts() {
|
||||||
const connection = get().connection.current
|
const connection = get().connection.current
|
||||||
const connected = get().connected
|
const connected = get().connected
|
||||||
|
@ -92,48 +144,34 @@ const useWalletStore = create<WalletStore>((set, get) => ({
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async fetchWalletMints() {
|
async fetchVault() {
|
||||||
const connection = get().connection.current
|
const connection = get().connection.current
|
||||||
const connected = get().connected
|
const pool = get().pool
|
||||||
const tokenAccounts = get().tokenAccounts
|
|
||||||
const set = get().set
|
const set = get().set
|
||||||
|
|
||||||
if (connected) {
|
if (!pool) return
|
||||||
const fetchMints = tokenAccounts.map((a) =>
|
|
||||||
getMint(connection, a.account.mint)
|
|
||||||
)
|
|
||||||
const mintResults = await Promise.all(fetchMints)
|
|
||||||
|
|
||||||
const newMints: { [pubkey: string]: MintAccount } = {}
|
const { account: vault } = await getTokenAccount(
|
||||||
mintResults.forEach(
|
|
||||||
(m) => (newMints[m.publicKey.toBase58()] = m.account)
|
|
||||||
)
|
|
||||||
|
|
||||||
set((state) => {
|
|
||||||
state.mints = newMints
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
set((state) => {
|
|
||||||
state.mints = {}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
async fetchPool() {
|
|
||||||
const connection = get().connection.current
|
|
||||||
const connected = get().connected
|
|
||||||
const wallet = get().current
|
|
||||||
const programId = get().connection.programId
|
|
||||||
|
|
||||||
console.log('fetchPool', connected, poolIdl)
|
|
||||||
if (connection && connected) {
|
|
||||||
const provider = new anchor.Provider(
|
|
||||||
connection,
|
connection,
|
||||||
wallet,
|
pool.poolUsdc
|
||||||
anchor.Provider.defaultOptions()
|
|
||||||
)
|
)
|
||||||
const program = new anchor.Program(poolIdl, programId, provider)
|
console.log('fetchVault', vault)
|
||||||
console.log(program)
|
|
||||||
}
|
set((state) => {
|
||||||
|
state.vault = vault
|
||||||
|
})
|
||||||
|
},
|
||||||
|
async fetchVaultMint() {
|
||||||
|
const connection = get().connection.current
|
||||||
|
const vault = get().vault
|
||||||
|
const set = get().set
|
||||||
|
|
||||||
|
const { account: mint } = await getMint(connection, vault.mint)
|
||||||
|
console.log('fetchVaultMint', mint)
|
||||||
|
|
||||||
|
set((state) => {
|
||||||
|
state.mints[vault.mint.toBase58()] = mint
|
||||||
|
})
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
set: (fn) => set(produce(fn)),
|
set: (fn) => set(produce(fn)),
|
||||||
|
|
|
@ -9,14 +9,16 @@ function fixedPointToNumber(value: BN, decimals: number) {
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getUsdcBalance() {
|
export function getUsdcBalance() {
|
||||||
const { tokenAccounts, mints } = useWalletStore((state) => state)
|
const { tokenAccounts, mints, vault } = useWalletStore((state) => state)
|
||||||
|
|
||||||
|
if (!vault) return 0
|
||||||
|
|
||||||
const calculateBalance = (a) => {
|
const calculateBalance = (a) => {
|
||||||
const mint = mints[a.account?.mint?.toBase58()]
|
const mint = mints[a.account?.mint?.toBase58()]
|
||||||
return mint ? fixedPointToNumber(a.account.amount, mint.decimals) : 0
|
return mint ? fixedPointToNumber(a.account.amount, mint.decimals) : 0
|
||||||
}
|
}
|
||||||
|
|
||||||
const usdcAddress = 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
|
const usdcAddress = vault.mint.toBase58()
|
||||||
|
|
||||||
const usdcAccount = tokenAccounts.filter(
|
const usdcAccount = tokenAccounts.filter(
|
||||||
(a) => a.account.mint.toBase58() === usdcAddress
|
(a) => a.account.mint.toBase58() === usdcAddress
|
||||||
|
|
|
@ -42,6 +42,19 @@ export async function getMint(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export async function getTokenAccount(
|
||||||
|
connection: Connection,
|
||||||
|
publicKey: PublicKey
|
||||||
|
): Promise<ProgramAccount<TokenAccount>> {
|
||||||
|
const result = await connection.getAccountInfo(publicKey)
|
||||||
|
const data = Buffer.from(result.data)
|
||||||
|
const account = parseTokenAccountData(publicKey, data)
|
||||||
|
return {
|
||||||
|
publicKey,
|
||||||
|
account,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// copied from @solana/spl-token
|
// copied from @solana/spl-token
|
||||||
|
|
||||||
const TOKEN_PROGRAM_ID = new PublicKey(
|
const TOKEN_PROGRAM_ID = new PublicKey(
|
||||||
|
|
81
yarn.lock
81
yarn.lock
|
@ -704,17 +704,13 @@
|
||||||
version "0.14.0"
|
version "0.14.0"
|
||||||
resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001"
|
resolved "https://registry.yarnpkg.com/@opentelemetry/context-base/-/context-base-0.14.0.tgz#c67fc20a4d891447ca1a855d7d70fa79a3533001"
|
||||||
|
|
||||||
"@project-serum/anchor@^0.4.5":
|
"@project-serum/anchor@^0.10.0":
|
||||||
version "0.4.5"
|
version "0.10.0"
|
||||||
resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.4.5.tgz#6c52b5722a3133d5f1df793bfbc1af5c07b0316d"
|
resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.10.0.tgz#e08396b7bb3cc94b279d45ac38595118dffdd617"
|
||||||
integrity sha512-LxcV8yZae/sOBPZULDlVGqsIyFkjhmJKi2kx1id9EybECX5QqYQTMS69ozdH2e+5VEDjw0dCfRqBCMJ97ylmmQ==
|
integrity sha512-FWw3bQy1otINPq40uOTX0h8eE3drnespaq9Xkwpy3UXj6i46xuLjsWC+x9hp76EN4pC174POeNPvB0aivatswg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@project-serum/borsh" "^0.1.1"
|
"@project-serum/borsh" "^0.2.2"
|
||||||
"@solana/web3.js" "^1.2.0"
|
"@solana/web3.js" "^1.17.0"
|
||||||
"@types/bn.js" "^4.11.6"
|
|
||||||
"@types/bs58" "^4.0.1"
|
|
||||||
"@types/crypto-hash" "^1.1.2"
|
|
||||||
"@types/pako" "^1.0.1"
|
|
||||||
base64-js "^1.5.1"
|
base64-js "^1.5.1"
|
||||||
bn.js "^5.1.2"
|
bn.js "^5.1.2"
|
||||||
bs58 "^4.0.1"
|
bs58 "^4.0.1"
|
||||||
|
@ -726,11 +722,12 @@
|
||||||
js-sha256 "^0.9.0"
|
js-sha256 "^0.9.0"
|
||||||
pako "^2.0.3"
|
pako "^2.0.3"
|
||||||
snake-case "^3.0.4"
|
snake-case "^3.0.4"
|
||||||
|
toml "^3.0.0"
|
||||||
|
|
||||||
"@project-serum/borsh@^0.1.1":
|
"@project-serum/borsh@^0.2.2":
|
||||||
version "0.1.1"
|
version "0.2.2"
|
||||||
resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.1.1.tgz#a810aad74e4b458fbd1ab63188f175bee765a8af"
|
resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.2.tgz#63e558f2d6eb6ab79086bf499dea94da3182498f"
|
||||||
integrity sha512-bzCea8KTyc7CNkcMn0V2HW/FdU9pnJUcVRrwLqvJkYeo+mhkXE4AxxWErN3q+UxhEm8ypGIX1OYTKJaTJvj5cQ==
|
integrity sha512-Ms+aWmGVW6bWd3b0+MWwoaYig2QD0F90h0uhr7AzY3dpCb5e2S6RsRW02vFTfa085pY2VLB7nTZNbFECQ1liTg==
|
||||||
dependencies:
|
dependencies:
|
||||||
bn.js "^5.1.2"
|
bn.js "^5.1.2"
|
||||||
buffer-layout "^1.2.0"
|
buffer-layout "^1.2.0"
|
||||||
|
@ -765,13 +762,14 @@
|
||||||
buffer-layout "^1.2.0"
|
buffer-layout "^1.2.0"
|
||||||
dotenv "8.2.0"
|
dotenv "8.2.0"
|
||||||
|
|
||||||
"@solana/web3.js@^1.2.0":
|
"@solana/web3.js@^1.17.0":
|
||||||
version "1.9.0"
|
version "1.20.0"
|
||||||
resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.9.0.tgz#1676215a2e89e2cb6e4694c5970c3c7c8ac12a19"
|
resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.20.0.tgz#9a1855a239c96c5b946bdbe4cc5e3768ee3b2a77"
|
||||||
integrity sha512-wal/itYezfH7ePMoBL6mtSa+J2jTkd7bOwlaen2jeJA+aHmQaLfP+XpI27Y+hPmSRChmHggVgl+/ayX4LX8sZg==
|
integrity sha512-s/hmbeC7h0QeMKDHl5HTJbY4NSrT3IK1oGerNwdmFfnbs9ygtBbXo1MXaeYVDcNazsthKgiYE+unNd+cpVH8HA==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/runtime" "^7.12.5"
|
"@babel/runtime" "^7.12.5"
|
||||||
bn.js "^5.0.0"
|
bn.js "^5.0.0"
|
||||||
|
borsh "^0.4.0"
|
||||||
bs58 "^4.0.1"
|
bs58 "^4.0.1"
|
||||||
buffer "6.0.1"
|
buffer "6.0.1"
|
||||||
buffer-layout "^1.2.0"
|
buffer-layout "^1.2.0"
|
||||||
|
@ -855,33 +853,19 @@
|
||||||
dependencies:
|
dependencies:
|
||||||
"@babel/types" "^7.3.0"
|
"@babel/types" "^7.3.0"
|
||||||
|
|
||||||
"@types/bn.js@^4.11.6":
|
"@types/bn.js@^4.11.5":
|
||||||
version "4.11.6"
|
version "4.11.6"
|
||||||
resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
|
resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c"
|
||||||
integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
|
integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/bs58@^4.0.1":
|
|
||||||
version "4.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37"
|
|
||||||
integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA==
|
|
||||||
dependencies:
|
|
||||||
base-x "^3.0.6"
|
|
||||||
|
|
||||||
"@types/connect@^3.4.33":
|
"@types/connect@^3.4.33":
|
||||||
version "3.4.34"
|
version "3.4.34"
|
||||||
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901"
|
resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.34.tgz#170a40223a6d666006d93ca128af2beb1d9b1901"
|
||||||
dependencies:
|
dependencies:
|
||||||
"@types/node" "*"
|
"@types/node" "*"
|
||||||
|
|
||||||
"@types/crypto-hash@^1.1.2":
|
|
||||||
version "1.1.2"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/crypto-hash/-/crypto-hash-1.1.2.tgz#5a993deb0e6ba7c42f86eaa65d9bf563378f4569"
|
|
||||||
integrity sha512-sOmi+4Go2XKodLV4+lfP+5QMQ+6ZYqRJhK8D/n6xsxIUvlerEulmU9S4Lo02pXCH3qPBeJXEy+g8ZERktDJLSg==
|
|
||||||
dependencies:
|
|
||||||
crypto-hash "*"
|
|
||||||
|
|
||||||
"@types/express-serve-static-core@^4.17.9":
|
"@types/express-serve-static-core@^4.17.9":
|
||||||
version "4.17.19"
|
version "4.17.19"
|
||||||
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d"
|
resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.19.tgz#00acfc1632e729acac4f1530e9e16f6dd1508a1d"
|
||||||
|
@ -939,11 +923,6 @@
|
||||||
version "2.4.0"
|
version "2.4.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
|
resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz#e486d0d97396d79beedd0a6e33f4534ff6b4973e"
|
||||||
|
|
||||||
"@types/pako@^1.0.1":
|
|
||||||
version "1.0.1"
|
|
||||||
resolved "https://registry.yarnpkg.com/@types/pako/-/pako-1.0.1.tgz#33b237f3c9aff44d0f82fe63acffa4a365ef4a61"
|
|
||||||
integrity sha512-GdZbRSJ3Cv5fiwT6I0SQ3ckeN2PWNqxd26W9Z2fCK1tGrrasGy4puvNFtnddqH9UJFMQYXxEuuB7B8UK+LLwSg==
|
|
||||||
|
|
||||||
"@types/parse-json@^4.0.0":
|
"@types/parse-json@^4.0.0":
|
||||||
version "4.0.0"
|
version "4.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
|
||||||
|
@ -1399,7 +1378,7 @@ balanced-match@^1.0.0:
|
||||||
version "1.0.2"
|
version "1.0.2"
|
||||||
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
|
||||||
|
|
||||||
base-x@^3.0.2, base-x@^3.0.6:
|
base-x@^3.0.2:
|
||||||
version "3.0.8"
|
version "3.0.8"
|
||||||
resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d"
|
resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.8.tgz#1e1106c2537f0162e8b52474a557ebb09000018d"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1443,6 +1422,16 @@ bn.js@^5.0.0, bn.js@^5.1.0, bn.js@^5.1.1, bn.js@^5.1.2:
|
||||||
version "5.2.0"
|
version "5.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
|
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002"
|
||||||
|
|
||||||
|
borsh@^0.4.0:
|
||||||
|
version "0.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.4.0.tgz#9dd6defe741627f1315eac2a73df61421f6ddb9f"
|
||||||
|
integrity sha512-aX6qtLya3K0AkT66CmYWCCDr77qsE9arV05OmdFpmat9qu8Pg9J5tBUPDztAW5fNh/d/MyVG/OYziP52Ndzx1g==
|
||||||
|
dependencies:
|
||||||
|
"@types/bn.js" "^4.11.5"
|
||||||
|
bn.js "^5.0.0"
|
||||||
|
bs58 "^4.0.0"
|
||||||
|
text-encoding-utf-8 "^1.0.2"
|
||||||
|
|
||||||
brace-expansion@^1.1.7:
|
brace-expansion@^1.1.7:
|
||||||
version "1.1.11"
|
version "1.1.11"
|
||||||
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
|
||||||
|
@ -1554,7 +1543,7 @@ browserslist@^4.12.0, browserslist@^4.14.5, browserslist@^4.16.3, browserslist@^
|
||||||
escalade "^3.1.1"
|
escalade "^3.1.1"
|
||||||
node-releases "^1.1.71"
|
node-releases "^1.1.71"
|
||||||
|
|
||||||
bs58@^4.0.1:
|
bs58@^4.0.0, bs58@^4.0.1:
|
||||||
version "4.0.1"
|
version "4.0.1"
|
||||||
resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
|
resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a"
|
||||||
dependencies:
|
dependencies:
|
||||||
|
@ -1976,7 +1965,7 @@ crypto-browserify@3.12.0, crypto-browserify@^3.11.0:
|
||||||
randombytes "^2.0.0"
|
randombytes "^2.0.0"
|
||||||
randomfill "^1.0.3"
|
randomfill "^1.0.3"
|
||||||
|
|
||||||
crypto-hash@*, crypto-hash@^1.2.2, crypto-hash@^1.3.0:
|
crypto-hash@^1.2.2, crypto-hash@^1.3.0:
|
||||||
version "1.3.0"
|
version "1.3.0"
|
||||||
resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247"
|
resolved "https://registry.yarnpkg.com/crypto-hash/-/crypto-hash-1.3.0.tgz#b402cb08f4529e9f4f09346c3e275942f845e247"
|
||||||
|
|
||||||
|
@ -6112,6 +6101,11 @@ test-exclude@^6.0.0:
|
||||||
glob "^7.1.4"
|
glob "^7.1.4"
|
||||||
minimatch "^3.0.4"
|
minimatch "^3.0.4"
|
||||||
|
|
||||||
|
text-encoding-utf-8@^1.0.2:
|
||||||
|
version "1.0.2"
|
||||||
|
resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13"
|
||||||
|
integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==
|
||||||
|
|
||||||
text-table@^0.2.0:
|
text-table@^0.2.0:
|
||||||
version "0.2.0"
|
version "0.2.0"
|
||||||
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
|
||||||
|
@ -6178,6 +6172,11 @@ toidentifier@1.0.0:
|
||||||
version "1.0.0"
|
version "1.0.0"
|
||||||
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
|
||||||
|
|
||||||
|
toml@^3.0.0:
|
||||||
|
version "3.0.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee"
|
||||||
|
integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w==
|
||||||
|
|
||||||
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
|
tough-cookie@^2.3.3, tough-cookie@~2.5.0:
|
||||||
version "2.5.0"
|
version "2.5.0"
|
||||||
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
|
resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
|
||||||
|
|
Loading…
Reference in New Issue