Add multi-address batch transfers to collection actions
This commit is contained in:
@@ -198,7 +198,12 @@ export const CollectionActions = ({
|
||||
'batch_transfer',
|
||||
'batch_mint_for',
|
||||
])
|
||||
const showAirdropFileField = isEitherType(type, ['airdrop', 'airdrop_open_edition', 'airdrop_specific'])
|
||||
const showAirdropFileField = isEitherType(type, [
|
||||
'airdrop',
|
||||
'airdrop_open_edition',
|
||||
'airdrop_specific',
|
||||
'batch_transfer_multi_address',
|
||||
])
|
||||
const showPriceField = isEitherType(type, ['update_mint_price', 'update_discount_price'])
|
||||
const showDescriptionField = type === 'update_collection_info'
|
||||
const showImageField = type === 'update_collection_info'
|
||||
@@ -499,7 +504,7 @@ export const CollectionActions = ({
|
||||
} allocated for each address. Should start with the following header row: ${
|
||||
type === 'airdrop' ? 'address,amount' : 'address,tokenId'
|
||||
}`}
|
||||
title="Airdrop File"
|
||||
title={`${type === 'batch_transfer_multi_address' ? 'Multi-Recipient Transfer File' : 'Airdrop File'}`}
|
||||
>
|
||||
<AirdropUpload onChange={airdropFileOnChange} />
|
||||
</FormGroup>
|
||||
|
||||
@@ -31,6 +31,7 @@ export const ACTION_TYPES = [
|
||||
'freeze_collection_info',
|
||||
'transfer',
|
||||
'batch_transfer',
|
||||
'batch_transfer_multi_address',
|
||||
'burn',
|
||||
'batch_burn',
|
||||
'batch_mint_for',
|
||||
@@ -82,6 +83,11 @@ export const BASE_ACTION_LIST: ActionListItem[] = [
|
||||
name: 'Batch Transfer Tokens',
|
||||
description: `Transfer a list of tokens to a recipient`,
|
||||
},
|
||||
{
|
||||
id: 'batch_transfer_multi_address',
|
||||
name: 'Transfer Tokens to Multiple Recipients',
|
||||
description: `Transfer a list of tokens to multiple addresses`,
|
||||
},
|
||||
{
|
||||
id: 'burn',
|
||||
name: 'Burn Token',
|
||||
@@ -170,6 +176,11 @@ export const VENDING_ACTION_LIST: ActionListItem[] = [
|
||||
name: 'Batch Transfer Tokens',
|
||||
description: `Transfer a list of tokens to a recipient`,
|
||||
},
|
||||
{
|
||||
id: 'batch_transfer_multi_address',
|
||||
name: 'Transfer Tokens to Multiple Recipients',
|
||||
description: `Transfer a list of tokens to multiple addresses`,
|
||||
},
|
||||
{
|
||||
id: 'burn',
|
||||
name: 'Burn Token',
|
||||
@@ -258,6 +269,11 @@ export const OPEN_EDITION_ACTION_LIST: ActionListItem[] = [
|
||||
name: 'Batch Transfer Tokens',
|
||||
description: `Transfer a list of tokens to a recipient`,
|
||||
},
|
||||
{
|
||||
id: 'batch_transfer_multi_address',
|
||||
name: 'Transfer Tokens to Multiple Recipients',
|
||||
description: `Transfer a list of tokens to multiple addresses`,
|
||||
},
|
||||
{
|
||||
id: 'burn',
|
||||
name: 'Burn Token',
|
||||
@@ -405,6 +421,9 @@ export const dispatchExecute = async (args: DispatchExecuteArgs) => {
|
||||
case 'batch_transfer': {
|
||||
return sg721Messages.batchTransfer(args.recipient, args.tokenIds)
|
||||
}
|
||||
case 'batch_transfer_multi_address': {
|
||||
return sg721Messages.batchTransferMultiAddress(txSigner, args.tokenRecipients)
|
||||
}
|
||||
case 'burn': {
|
||||
return sg721Messages.burn(args.tokenId.toString())
|
||||
}
|
||||
@@ -512,6 +531,9 @@ export const previewExecutePayload = (args: DispatchExecuteArgs) => {
|
||||
case 'batch_transfer': {
|
||||
return sg721Messages(sg721Contract)?.batchTransfer(args.recipient, args.tokenIds)
|
||||
}
|
||||
case 'batch_transfer_multi_address': {
|
||||
return sg721Messages(sg721Contract)?.batchTransferMultiAddress(args.tokenRecipients)
|
||||
}
|
||||
case 'burn': {
|
||||
return sg721Messages(sg721Contract)?.burn(args.tokenId.toString())
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user