diff --git a/chia/cmds/wallet.py b/chia/cmds/wallet.py index b8416a72d145..2e0fda2bb9d1 100644 --- a/chia/cmds/wallet.py +++ b/chia/cmds/wallet.py @@ -513,9 +513,9 @@ def nft_wallet_create_cmd( @click.option("-ta", "--target-address", help="Target address", type=str) @click.option("-nh", "--hash", help="NFT content hash", type=str, required=True) @click.option("-u", "--uris", help="Comma separated list of URIs", type=str, required=True) -@click.option("-mh", "--metadata-hash", help="NFT metadata hash", type=str, default="00") +@click.option("-mh", "--metadata-hash", help="NFT metadata hash", type=str, default="") @click.option("-mu", "--metadata-uris", help="Comma separated list of metadata URIs", type=str) -@click.option("-lh", "--license-hash", help="NFT license hash", type=str, default="00") +@click.option("-lh", "--license-hash", help="NFT license hash", type=str, default="") @click.option("-lu", "--license-uris", help="Comma separated list of license URIs", type=str) @click.option("-st", "--series-total", help="NFT series total number", type=int, default=1, show_default=True) @click.option("-sn", "--series-number", help="NFT seriese number", type=int, default=1, show_default=True) diff --git a/chia/rpc/wallet_rpc_api.py b/chia/rpc/wallet_rpc_api.py index 44b0cab0e4b2..fdcc94c997ad 100644 --- a/chia/rpc/wallet_rpc_api.py +++ b/chia/rpc/wallet_rpc_api.py @@ -1362,18 +1362,19 @@ class WalletRpcApi: return {"success": False, "error": "Metadata URIs must be a list"} if not isinstance(request.get("license_uris", []), list): return {"success": False, "error": "License URIs must be a list"} - metadata = Program.to( - [ - ("u", request["uris"]), - ("h", hexstr_to_bytes(request["hash"])), - ("mu", request.get("meta_uris", [])), - ("mh", hexstr_to_bytes(request.get("meta_hash", "00"))), - ("lu", request.get("license_uris", [])), - ("lh", hexstr_to_bytes(request.get("license_hash", "00"))), - ("sn", uint64(request.get("series_number", 1))), - ("st", uint64(request.get("series_total", 1))), - ] - ) + metadata_list = [ + ("u", request["uris"]), + ("h", hexstr_to_bytes(request["hash"])), + ("mu", request.get("meta_uris", [])), + ("lu", request.get("license_uris", [])), + ("sn", uint64(request.get("series_number", 1))), + ("st", uint64(request.get("series_total", 1))), + ] + if "meta_hash" in request and len(request["meta_hash"]) > 0: + metadata_list.append(("mh", hexstr_to_bytes(request["meta_hash"]))) + if "license_hash" in request and len(request["license_hash"]) > 0: + metadata_list.append(("lh", hexstr_to_bytes(request["license_hash"]))) + metadata = Program.to(metadata_list) fee = uint64(request.get("fee", 0)) did_id = request.get("did_id", None) if did_id is not None: diff --git a/chia/rpc/wallet_rpc_client.py b/chia/rpc/wallet_rpc_client.py index 637da8be0664..07e1161cb266 100644 --- a/chia/rpc/wallet_rpc_client.py +++ b/chia/rpc/wallet_rpc_client.py @@ -591,9 +591,9 @@ class WalletRpcClient(RpcClient): target_address, hash, uris, - meta_hash="00", + meta_hash="", meta_uris=[], - license_hash="00", + license_hash="", license_uris=[], series_total=1, series_number=1, diff --git a/tests/wallet/nft_wallet/test_nft_offers.py b/tests/wallet/nft_wallet/test_nft_offers.py index 1d3be2c3e3f0..63ef77920a21 100644 --- a/tests/wallet/nft_wallet/test_nft_offers.py +++ b/tests/wallet/nft_wallet/test_nft_offers.py @@ -11,7 +11,6 @@ from chia.simulator.simulator_protocol import FarmNewBlockProtocol from chia.types.blockchain_format.program import Program from chia.types.blockchain_format.sized_bytes import bytes32 from chia.types.peer_info import PeerInfo -from chia.util.byte_types import hexstr_to_bytes from chia.util.ints import uint16, uint32, uint64 from chia.wallet.cat_wallet.cat_wallet import CATWallet from chia.wallet.nft_wallet.nft_wallet import NFTWallet @@ -395,9 +394,7 @@ async def test_nft_offer_with_metadata_update(two_wallet_nodes: Any, trusted: An ("u", ["https://www.chia.net/img/branding/chia-logo.svg"]), ("h", "0xD4584AD463139FA8C0D9F68F4B59F185"), ("mu", []), - ("mh", hexstr_to_bytes("00")), ("lu", []), - ("lh", hexstr_to_bytes("00")), ("sn", uint64(1)), ("st", uint64(1)), ] diff --git a/tests/wallet/nft_wallet/test_nft_wallet.py b/tests/wallet/nft_wallet/test_nft_wallet.py index 62ffac5b3155..ed80ea772481 100644 --- a/tests/wallet/nft_wallet/test_nft_wallet.py +++ b/tests/wallet/nft_wallet/test_nft_wallet.py @@ -457,9 +457,7 @@ async def test_nft_wallet_rpc_update_metadata(two_wallet_nodes: Any, trusted: An ("u", ["https://www.chia.net/img/branding/chia-logo.svg"]), ("h", hexstr_to_bytes("0xD4584AD463139FA8C0D9F68F4B59F185")), ("mu", []), - ("mh", hexstr_to_bytes("00")), ("lu", []), - ("lh", hexstr_to_bytes("00")), ("sn", uint64(1)), ("st", uint64(1)), ]