nft_metadata_update changes
This commit is contained in:
parent
218d826e65
commit
92eb5c441f
3 changed files with 24 additions and 14 deletions
|
|
@ -10,10 +10,10 @@ void_result nft_metadata_create_evaluator::do_evaluate( const nft_metadata_creat
|
|||
FC_ASSERT( idx_nft_md_by_name.find(op.name) == idx_nft_md_by_name.end(), "NFT name already in use" );
|
||||
const auto& idx_nft_md_by_symbol = db().get_index_type<nft_metadata_index>().indices().get<by_symbol>();
|
||||
FC_ASSERT( idx_nft_md_by_symbol.find(op.symbol) == idx_nft_md_by_symbol.end(), "NFT symbol already in use" );
|
||||
FC_ASSERT( (op.revenue_partner && op.revenue_split) || (!op.revenue_partner && !op.revenue_split), "NFT revenue partner info invalid" );
|
||||
if(op.revenue_partner) {
|
||||
(*op.revenue_partner)(db());
|
||||
FC_ASSERT( *op.revenue_split >= 0.0 && *op.revenue_split <= 1.0, "Revenue split percent invalid" );
|
||||
FC_ASSERT((op.revenue_partner && op.revenue_split) || (!op.revenue_partner && !op.revenue_split), "NFT revenue partner info invalid");
|
||||
if (op.revenue_partner) {
|
||||
(*op.revenue_partner)(db());
|
||||
FC_ASSERT(*op.revenue_split >= 0.0 && *op.revenue_split <= 1.0, "Revenue split percent invalid");
|
||||
}
|
||||
return void_result();
|
||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||
|
|
@ -41,10 +41,16 @@ void_result nft_metadata_update_evaluator::do_evaluate( const nft_metadata_updat
|
|||
auto itr_nft_md = idx_nft_md.find(op.nft_metadata_id);
|
||||
FC_ASSERT( itr_nft_md != idx_nft_md.end(), "NFT metadata not found" );
|
||||
FC_ASSERT( itr_nft_md->owner == op.owner, "Only owner can modify NFT metadata" );
|
||||
FC_ASSERT( (op.revenue_partner && op.revenue_split) || (!op.revenue_partner && !op.revenue_split), "NFT revenue partner info invalid" );
|
||||
if(op.revenue_partner) {
|
||||
(*op.revenue_partner)(db());
|
||||
FC_ASSERT( *op.revenue_split >= 0.0 && *op.revenue_split <= 1.0, "Revenue split percent invalid" );
|
||||
const auto& idx_nft_md_by_name = db().get_index_type<nft_metadata_index>().indices().get<by_name>();
|
||||
const auto& idx_nft_md_by_symbol = db().get_index_type<nft_metadata_index>().indices().get<by_symbol>();
|
||||
if (op.name.valid())
|
||||
FC_ASSERT((itr_nft_md->name != *op.name) && (idx_nft_md_by_name.find(*op.name) == idx_nft_md_by_name.end()), "NFT name already in use");
|
||||
if (op.symbol.valid())
|
||||
FC_ASSERT((itr_nft_md->symbol != *op.symbol) && (idx_nft_md_by_symbol.find(*op.symbol) == idx_nft_md_by_symbol.end()), "NFT symbol already in use");
|
||||
FC_ASSERT((op.revenue_partner && op.revenue_split) || (!op.revenue_partner && !op.revenue_split), "NFT revenue partner info invalid");
|
||||
if (op.revenue_partner) {
|
||||
(*op.revenue_partner)(db());
|
||||
FC_ASSERT(*op.revenue_split >= 0.0 && *op.revenue_split <= 1.0, "Revenue split percent invalid");
|
||||
}
|
||||
return void_result();
|
||||
} FC_CAPTURE_AND_RETHROW( (op) ) }
|
||||
|
|
|
|||
|
|
@ -1955,6 +1955,7 @@ class wallet_api
|
|||
/**
|
||||
* @brief Updates NFT metadata
|
||||
* @param owner_account_id_or_name Owner account ID or name
|
||||
* @param nft_metadata_id Metadata ID to modify
|
||||
* @param name Name of the token group
|
||||
* @param symbol Symbol of the token group
|
||||
* @param base_uri Base URI for token URI
|
||||
|
|
@ -1966,9 +1967,10 @@ class wallet_api
|
|||
* @return Signed transaction transfering the funds
|
||||
*/
|
||||
signed_transaction nft_metadata_update(string owner_account_id_or_name,
|
||||
string name,
|
||||
string symbol,
|
||||
string base_uri,
|
||||
nft_metadata_id_type nft_metadata_id,
|
||||
optional<string> name,
|
||||
optional<string> symbol,
|
||||
optional<string> base_uri,
|
||||
optional<string> revenue_partner,
|
||||
optional<double> revenue_split,
|
||||
optional<bool> is_transferable,
|
||||
|
|
|
|||
|
|
@ -6407,9 +6407,10 @@ signed_transaction wallet_api::nft_metadata_create(string owner_account_id_or_na
|
|||
}
|
||||
|
||||
signed_transaction wallet_api::nft_metadata_update(string owner_account_id_or_name,
|
||||
string name,
|
||||
string symbol,
|
||||
string base_uri,
|
||||
nft_metadata_id_type nft_metadata_id,
|
||||
optional<string> name,
|
||||
optional<string> symbol,
|
||||
optional<string> base_uri,
|
||||
optional<string> revenue_partner,
|
||||
optional<double> revenue_split,
|
||||
optional<bool> is_transferable,
|
||||
|
|
@ -6419,6 +6420,7 @@ signed_transaction wallet_api::nft_metadata_update(string owner_account_id_or_na
|
|||
account_object owner_account = my->get_account(owner_account_id_or_name);
|
||||
|
||||
nft_metadata_update_operation op;
|
||||
op.nft_metadata_id = nft_metadata_id;
|
||||
op.owner = owner_account.id;
|
||||
op.name = name;
|
||||
op.symbol = symbol;
|
||||
|
|
|
|||
Loading…
Reference in a new issue