diff --git a/contract/Forest/ForestContract.cs b/contract/Forest/ForestContract.cs index 4ce475d..090851e 100755 --- a/contract/Forest/ForestContract.cs +++ b/contract/Forest/ForestContract.cs @@ -257,5 +257,14 @@ public override Empty SetMaxBatchCancelListCount(Int32Value input) State.MaxBatchCancelListCount.Value = input.Value; return new Empty(); } + + public override Empty SetCollectionListTotalCount(SetCollectionListTotalCountInput input) + { + AssertSenderIsAdmin(); + Assert(input != null && input.Address != null && !string.IsNullOrEmpty(input.Symbol) && input.Count >=0, "Invalid input."); + + State.ListedNFTTotalAmountMap[input.Symbol][input.Address] = input.Count.ToString(); + return new Empty(); + } } } \ No newline at end of file diff --git a/protobuf/forest_contract.proto b/protobuf/forest_contract.proto index 82370e9..3b37426 100755 --- a/protobuf/forest_contract.proto +++ b/protobuf/forest_contract.proto @@ -85,6 +85,9 @@ service ForestContract { rpc SetMaxBatchCancelListCount(google.protobuf.Int32Value) returns (google.protobuf.Empty){ } + + rpc SetCollectionListTotalCount(SetCollectionListTotalCountInput) returns (google.protobuf.Empty){ + } // Views. rpc GetListedNFTInfoList (GetListedNFTInfoListInput) returns (ListedNFTInfoList) { @@ -418,6 +421,12 @@ message SetAIServiceFeeInput { aelf.Address service_fee_receiver = 2; } +message SetCollectionListTotalCountInput { + aelf.Address address = 1; + int64 count = 2; + string symbol = 3; +} + message CreateArtInput { string promt = 1; string negative_prompt = 2;