Contract Add Error on Cis2-MarketPlace

As shown in the picture above this error occurred when I was trying to add my nft on the marketplace with the error code -1 it says that the parameters were wrong in some way but I tried different option yet still came to the conclusion that these parameter formats were correct yet still I received the error telling me that it couldn’t parse the parameters. Please help resolve this issue
#[receive(
contract = “Market-NFT”,
name = “add”,
parameter = “AddParams”,
mutable
)]
fn add<S: HasStateApi>(
ctx: &impl HasReceiveContext,
host: &mut impl HasHost<ContractState, StateApiType = S>,
) → ContractResult<()> {
let params: AddParams = ctx
.parameter_cursor()
.get()
.map_err(|_e| MarketplaceError::ParseParams)?;

let sender_account_address: AccountAddress = match ctx.sender() {
    Address::Account(account_address) => Option::Some(account_address),
    Address::Contract(_) => Option::None,
}
.ok_or(MarketplaceError::CalledByAContract)?;

let token_info = TokenInfo {
    address: params.nft_contract_address,
    id: params.token_id,
};

ensure_supports_cis2(host, &params.nft_contract_address)?;
ensure_is_operator(host, ctx, &params.nft_contract_address)?;
ensure_balance(
    host,
    params.token_id,
    &params.nft_contract_address,
    sender_account_address,
    params.quantity,
)?;

host.state_mut().list_token(
    &token_info,
    &sender_account_address,
    params.price,
    params.royalty,
    params.quantity,
);
ContractResult::Ok(())

}

Closing this, as it is a duplicate of Nft Market Place Error - #4 by hassan.

@hassan please use the original post for replying to comments.

/Søren