From 9c0bf5fc7bb227e472b96aeed87669f1ba5593d0 Mon Sep 17 00:00:00 2001 From: Jordan Prince Date: Mon, 7 Jun 2021 11:33:16 -0400 Subject: [PATCH] Prep for switch of ids --- js/packages/common/src/actions/metadata.ts | 3 +- js/packages/common/src/actions/vault.ts | 3 +- js/packages/web/src/contexts/meta.tsx | 58 ++++++++++++-------- js/packages/web/src/models/metaplex/index.ts | 4 +- 4 files changed, 42 insertions(+), 26 deletions(-) diff --git a/js/packages/common/src/actions/metadata.ts b/js/packages/common/src/actions/metadata.ts index 24a4667..ef3a8c1 100644 --- a/js/packages/common/src/actions/metadata.ts +++ b/js/packages/common/src/actions/metadata.ts @@ -36,7 +36,8 @@ export const MAX_METADATA_LEN = export const MAX_MASTER_EDITION_KEN = 1 + 9 + 8 + 32 + 32; export enum MetadataKey { - MetadataV1 = 0, + Uninitialized = 0, + MetadataV1 = 4, EditionV1 = 1, MasterEditionV1 = 2, ReservationListV1 = 3, diff --git a/js/packages/common/src/actions/vault.ts b/js/packages/common/src/actions/vault.ts index 814e1f2..005e5ed 100644 --- a/js/packages/common/src/actions/vault.ts +++ b/js/packages/common/src/actions/vault.ts @@ -10,7 +10,8 @@ import BN from 'bn.js'; export const VAULT_PREFIX = 'vault'; export enum VaultKey { - VaultV1 = 0, + Uninitialized = 0, + VaultV1 = 3, SafetyDepositBoxV1 = 1, ExternalPriceAccountV1 = 2, } diff --git a/js/packages/web/src/contexts/meta.tsx b/js/packages/web/src/contexts/meta.tsx index 3dc1fec..3fa3e77 100644 --- a/js/packages/web/src/contexts/meta.tsx +++ b/js/packages/web/src/contexts/meta.tsx @@ -29,13 +29,15 @@ import { useConnectionConfig, } from '@oyster/common'; import { MintInfo } from '@solana/spl-token'; -import { - Connection, - PublicKey, - PublicKeyAndAccount -} from '@solana/web3.js'; +import { Connection, PublicKey, PublicKeyAndAccount } from '@solana/web3.js'; import BN from 'bn.js'; -import React, { useCallback, useContext, useEffect, useMemo, useState } from 'react'; +import React, { + useCallback, + useContext, + useEffect, + useMemo, + useState, +} from 'react'; import { AuctionManager, AuctionManagerStatus, @@ -165,18 +167,18 @@ export function MetaProvider({ children = null as any }) { setSafetyDepositBoxesByVaultAndIndex, ] = useState>>({}); - const updateMints = useCallback(async (metadataByMint) => { - try { - const m = await queryExtendedMetadata( - connection, - metadataByMint, - ); - setMetadata(m.metadata); - setMetadataByMint(m.mintToMetadata); - } catch (er) { - console.error(er); - } - }, [setMetadata, setMetadataByMint]); + const updateMints = useCallback( + async metadataByMint => { + try { + const m = await queryExtendedMetadata(connection, metadataByMint); + setMetadata(m.metadata); + setMetadataByMint(m.mintToMetadata); + } catch (er) { + console.error(er); + } + }, + [setMetadata, setMetadataByMint], + ); useEffect(() => { let dispose = () => {}; @@ -435,7 +437,7 @@ export function MetaProvider({ children = null as any }) { setPayoutTickets, setStore, setWhitelistedCreatorsByCreator, - updateMints + updateMints, ]); const filteredMetadata = useMemo( @@ -639,8 +641,12 @@ const processMetaplexAccounts = async ( setWhitelistedCreatorsByCreator: any, ) => { try { - const STORE_ID = programIds().store.toBase58() - if (a.account.data[0] === MetaplexKey.AuctionManagerV1) { + const STORE_ID = programIds().store.toBase58(); + + if ( + a.account.data[0] === MetaplexKey.AuctionManagerV1 || + a.account.data[0] === 0 + ) { const storeKey = new PublicKey(a.account.data.slice(1, 33)); if (storeKey.toBase58() === STORE_ID) { const auctionManager = decodeAuctionManager(a.account.data); @@ -735,7 +741,10 @@ const processMetaData = async ( setMasterEditionsByOneTimeAuthMint: any, ) => { try { - if (meta.account.data[0] === MetadataKey.MetadataV1) { + if ( + meta.account.data[0] === MetadataKey.MetadataV1 || + meta.account.data[0] === 0 + ) { const metadata = await decodeMetadata(meta.account.data); if ( @@ -807,7 +816,10 @@ const processVaultData = ( ...e, [safetyDeposit.vault.toBase58() + '-' + safetyDeposit.order]: account, })); - } else if (a.account.data[0] === VaultKey.VaultV1) { + } else if ( + a.account.data[0] === VaultKey.VaultV1 || + a.account.data[0] === 0 + ) { const vault = decodeVault(a.account.data); const account: ParsedAccount = { pubkey: a.pubkey, diff --git a/js/packages/web/src/models/metaplex/index.ts b/js/packages/web/src/models/metaplex/index.ts index d7b4de3..82a5f3a 100644 --- a/js/packages/web/src/models/metaplex/index.ts +++ b/js/packages/web/src/models/metaplex/index.ts @@ -19,12 +19,14 @@ export const METAPLEX_PREFIX = 'metaplex'; export const ORIGINAL_AUTHORITY_LOOKUP_SIZE = 33; export enum MetaplexKey { - AuctionManagerV1 = 0, + Uninitialized = 0, OriginalAuthorityLookupV1 = 1, BidRedemptionTicketV1 = 2, StoreV1 = 3, WhitelistedCreatorV1 = 4, PayoutTicketV1 = 5, + SafetyDepositValidationTicketV1 = 6, + AuctionManagerV1 = 7, } export class PayoutTicket {