diff --git a/components/collections/actions/actions.ts b/components/collections/actions/actions.ts index e65561f..5132da4 100644 --- a/components/collections/actions/actions.ts +++ b/components/collections/actions/actions.ts @@ -32,7 +32,7 @@ export const ACTION_TYPES = [ 'burn_remaining', 'update_token_metadata', 'batch_update_token_metadata', - 'freeze_metadata', + 'freeze_token_metadata', ] as const export interface ActionListItem { @@ -199,9 +199,9 @@ export const SG721_UPDATABLE_ACTION_LIST: ActionListItem[] = [ description: `Update the metadata URI for a range of tokens`, }, { - id: 'freeze_metadata', - name: 'Freeze Metadata', - description: `Render the metadata for the collection no longer updatable`, + id: 'freeze_token_metadata', + name: 'Freeze Token Metadata', + description: `Render the metadata for tokens no longer updatable`, }, ] @@ -243,9 +243,9 @@ export type DispatchExecuteArgs = { | { type: Select<'burn_remaining'> } | { type: Select<'update_collection_info'>; collectionInfo: CollectionInfo | undefined } | { type: Select<'freeze_collection_info'> } - | { type: Select<'update_token_metadata'> } - | { type: Select<'batch_update_token_metadata'> } - | { type: Select<'freeze_metadata'> } + | { type: Select<'update_token_metadata'>; tokenId: number; tokenUri: string } + | { type: Select<'batch_update_token_metadata'>; tokenIds: string; baseUri: string } + | { type: Select<'freeze_token_metadata'> } ) export const dispatchExecute = async (args: DispatchExecuteArgs) => { @@ -293,6 +293,15 @@ export const dispatchExecute = async (args: DispatchExecuteArgs) => { case 'freeze_collection_info': { return sg721Messages.freezeCollectionInfo() } + case 'update_token_metadata': { + return sg721Messages.updateTokenMetadata(args.tokenId.toString(), args.tokenUri) + } + case 'batch_update_token_metadata': { + return sg721Messages.batchUpdateTokenMetadata(args.tokenIds, args.baseUri) + } + case 'freeze_token_metadata': { + return sg721Messages.freezeTokenMetadata() + } case 'shuffle': { return vendingMinterMessages.shuffle(txSigner) } @@ -371,6 +380,15 @@ export const previewExecutePayload = (args: DispatchExecuteArgs) => { case 'freeze_collection_info': { return sg721Messages(sg721Contract)?.freezeCollectionInfo() } + case 'update_token_metadata': { + return sg721Messages(sg721Contract)?.updateTokenMetadata(args.tokenId.toString(), args.tokenUri) + } + case 'batch_update_token_metadata': { + return sg721Messages(sg721Contract)?.batchUpdateTokenMetadata(args.tokenIds, args.baseUri) + } + case 'freeze_token_metadata': { + return sg721Messages(sg721Contract)?.freezeTokenMetadata() + } case 'shuffle': { return vendingMinterMessages(minterContract)?.shuffle() } diff --git a/contracts/sg721/contract.ts b/contracts/sg721/contract.ts index 918cf9b..bce6b13 100644 --- a/contracts/sg721/contract.ts +++ b/contracts/sg721/contract.ts @@ -88,7 +88,7 @@ export interface SG721Instance { batchTransfer: (recipient: string, tokenIds: string) => Promise updateTokenMetadata: (tokenId: string, tokenURI: string) => Promise batchUpdateTokenMetadata: (tokenIds: string, tokenURI: string) => Promise - freezeMetadata: () => Promise + freezeTokenMetadata: () => Promise } export interface Sg721Messages { @@ -106,7 +106,7 @@ export interface Sg721Messages { freezeCollectionInfo: () => FreezeCollectionInfoMessage updateTokenMetadata: (tokenId: string, tokenURI: string) => UpdateTokenMetadataMessage batchUpdateTokenMetadata: (tokenIds: string, tokenURI: string) => BatchUpdateTokenMetadataMessage - freezeMetadata: () => FreezeMetadataMessage + freezeTokenMetadata: () => FreezeTokenMetadataMessage } export interface TransferNFTMessage { @@ -240,10 +240,10 @@ export interface BatchUpdateTokenMetadataMessage { funds: Coin[] } -export interface FreezeMetadataMessage { +export interface FreezeTokenMetadataMessage { sender: string contract: string - msg: { freeze_metadata: Record } + msg: { freeze_token_metadata: Record } funds: Coin[] } @@ -674,12 +674,12 @@ export const SG721 = (client: SigningCosmWasmClient, txSigner: string): SG721Con return res.transactionHash } - const freezeMetadata = async (): Promise => { + const freezeTokenMetadata = async (): Promise => { const res = await client.execute( txSigner, contractAddress, { - freeze_metadata: {}, + freeze_token_metadata: {}, }, 'auto', '', @@ -715,7 +715,7 @@ export const SG721 = (client: SigningCosmWasmClient, txSigner: string): SG721Con freezeCollectionInfo, updateTokenMetadata, batchUpdateTokenMetadata, - freezeMetadata, + freezeTokenMetadata, } } @@ -952,12 +952,12 @@ export const SG721 = (client: SigningCosmWasmClient, txSigner: string): SG721Con } } - const freezeMetadata = () => { + const freezeTokenMetadata = () => { return { sender: txSigner, contract: contractAddress, msg: { - freeze_metadata: {}, + freeze_token_metadata: {}, }, funds: [], } @@ -1000,7 +1000,7 @@ export const SG721 = (client: SigningCosmWasmClient, txSigner: string): SG721Con freezeCollectionInfo, updateTokenMetadata, batchUpdateTokenMetadata, - freezeMetadata, + freezeTokenMetadata, } }