Connect helper functions to update metadata related actions
This commit is contained in:
parent
4e646b9cf4
commit
16c859bbd8
@ -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()
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ export interface SG721Instance {
|
||||
batchTransfer: (recipient: string, tokenIds: string) => Promise<string>
|
||||
updateTokenMetadata: (tokenId: string, tokenURI: string) => Promise<string>
|
||||
batchUpdateTokenMetadata: (tokenIds: string, tokenURI: string) => Promise<string>
|
||||
freezeMetadata: () => Promise<string>
|
||||
freezeTokenMetadata: () => Promise<string>
|
||||
}
|
||||
|
||||
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<string, never> }
|
||||
msg: { freeze_token_metadata: Record<string, never> }
|
||||
funds: Coin[]
|
||||
}
|
||||
|
||||
@ -674,12 +674,12 @@ export const SG721 = (client: SigningCosmWasmClient, txSigner: string): SG721Con
|
||||
return res.transactionHash
|
||||
}
|
||||
|
||||
const freezeMetadata = async (): Promise<string> => {
|
||||
const freezeTokenMetadata = async (): Promise<string> => {
|
||||
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,
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user