{ "casper_contract_schema_version": 1, "toolchain": "rustc 1.79.0-nightly (3a36386dc 2024-04-25)", "authors": [ "Jakub Płaskonka ", "Krzysztof Pobiarżyn ", "Maciej Zieliński " ], "repository": "https://github.com/odradev/odra", "homepage": null, "contract_name": "Erc721Token", "contract_version": "1.2.0", "types": [ { "struct": { "name": "Approval", "description": null, "members": [ { "name": "owner", "description": null, "ty": "Key" }, { "name": "approved", "description": null, "ty": { "Option": "Key" } }, { "name": "token_id", "description": null, "ty": "U256" } ] } }, { "struct": { "name": "ApprovalForAll", "description": null, "members": [ { "name": "owner", "description": null, "ty": "Key" }, { "name": "operator", "description": null, "ty": "Key" }, { "name": "approved", "description": null, "ty": "Bool" } ] } }, { "struct": { "name": "OwnershipTransferred", "description": null, "members": [ { "name": "previous_owner", "description": null, "ty": { "Option": "Key" } }, { "name": "new_owner", "description": null, "ty": { "Option": "Key" } } ] } }, { "struct": { "name": "Transfer", "description": null, "members": [ { "name": "from", "description": null, "ty": { "Option": "Key" } }, { "name": "to", "description": null, "ty": { "Option": "Key" } }, { "name": "token_id", "description": null, "ty": "U256" } ] } } ], "errors": [ { "name": "ApprovalToCurrentOwner", "description": "The owner cannot be approved.", "discriminant": 30002 }, { "name": "ApproveToCaller", "description": "The caller cannot approve self.", "discriminant": 30003 }, { "name": "BaseUriNotSet", "description": "The base URI is not set.", "discriminant": 31002 }, { "name": "CallerNotTheNewOwner", "description": "The caller is not the new owner.", "discriminant": 20002 }, { "name": "CallerNotTheOwner", "description": "The caller is not the owner.", "discriminant": 20001 }, { "name": "InvalidTokenId", "description": "Token is invalid in the given context or does not exist.", "discriminant": 30000 }, { "name": "MissingRole", "description": "The role is missing.", "discriminant": 20003 }, { "name": "NameNotSet", "description": "The name is not set.", "discriminant": 31000 }, { "name": "NotAnOwnerOrApproved", "description": "Address in not eligible to operate on the token.", "discriminant": 30001 }, { "name": "OwnerNotSet", "description": "The owner is not set.", "discriminant": 20000 }, { "name": "RoleRenounceForAnotherAddress", "description": "The role cannot be renounced for another address.", "discriminant": 20004 }, { "name": "SymbolNotSet", "description": "The symbol is not set.", "discriminant": 31001 }, { "name": "TokenAlreadyExists", "description": "Token with a given id already exists.", "discriminant": 35000 }, { "name": "TransferFailed", "description": "Token transfer ends with an error", "discriminant": 30004 } ], "entry_points": [ { "name": "name", "description": "", "is_mutable": false, "arguments": [], "return_ty": "String", "is_contract_context": true, "access": "public" }, { "name": "symbol", "description": "", "is_mutable": false, "arguments": [], "return_ty": "String", "is_contract_context": true, "access": "public" }, { "name": "base_uri", "description": "", "is_mutable": false, "arguments": [], "return_ty": "String", "is_contract_context": true, "access": "public" }, { "name": "balance_of", "description": "", "is_mutable": false, "arguments": [ { "name": "owner", "description": null, "ty": "Key", "optional": false } ], "return_ty": "U256", "is_contract_context": true, "access": "public" }, { "name": "owner_of", "description": "", "is_mutable": false, "arguments": [ { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Key", "is_contract_context": true, "access": "public" }, { "name": "safe_transfer_from", "description": "", "is_mutable": true, "arguments": [ { "name": "from", "description": null, "ty": "Key", "optional": false }, { "name": "to", "description": null, "ty": "Key", "optional": false }, { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "safe_transfer_from_with_data", "description": "", "is_mutable": true, "arguments": [ { "name": "from", "description": null, "ty": "Key", "optional": false }, { "name": "to", "description": null, "ty": "Key", "optional": false }, { "name": "token_id", "description": null, "ty": "U256", "optional": false }, { "name": "data", "description": null, "ty": { "List": "U8" }, "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "transfer_from", "description": "", "is_mutable": true, "arguments": [ { "name": "from", "description": null, "ty": "Key", "optional": false }, { "name": "to", "description": null, "ty": "Key", "optional": false }, { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "approve", "description": "", "is_mutable": true, "arguments": [ { "name": "approved", "description": null, "ty": { "Option": "Key" }, "optional": false }, { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "set_approval_for_all", "description": "", "is_mutable": true, "arguments": [ { "name": "operator", "description": null, "ty": "Key", "optional": false }, { "name": "approved", "description": null, "ty": "Bool", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "get_approved", "description": "", "is_mutable": false, "arguments": [ { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": { "Option": "Key" }, "is_contract_context": true, "access": "public" }, { "name": "is_approved_for_all", "description": "", "is_mutable": false, "arguments": [ { "name": "owner", "description": null, "ty": "Key", "optional": false }, { "name": "operator", "description": null, "ty": "Key", "optional": false } ], "return_ty": "Bool", "is_contract_context": true, "access": "public" }, { "name": "renounce_ownership", "description": "", "is_mutable": true, "arguments": [], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "transfer_ownership", "description": "", "is_mutable": true, "arguments": [ { "name": "new_owner", "description": null, "ty": "Key", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "owner", "description": "", "is_mutable": false, "arguments": [], "return_ty": "Key", "is_contract_context": true, "access": "public" }, { "name": "mint", "description": "", "is_mutable": true, "arguments": [ { "name": "to", "description": null, "ty": "Key", "optional": false }, { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" }, { "name": "burn", "description": "", "is_mutable": true, "arguments": [ { "name": "token_id", "description": null, "ty": "U256", "optional": false } ], "return_ty": "Unit", "is_contract_context": true, "access": "public" } ], "events": [ { "name": "Approval", "ty": "Approval" }, { "name": "ApprovalForAll", "ty": "ApprovalForAll" }, { "name": "OwnershipTransferred", "ty": "OwnershipTransferred" }, { "name": "Transfer", "ty": "Transfer" } ], "call": { "wasm_file_name": "Erc721Token.wasm", "description": "", "arguments": [ { "name": "odra_cfg_package_hash_key_name", "description": "The arg name for the package hash key name.", "ty": "String", "optional": false }, { "name": "odra_cfg_allow_key_override", "description": "The arg name for the allow key override.", "ty": "Bool", "optional": false }, { "name": "odra_cfg_is_upgradable", "description": "The arg name for the contract upgradeability setting.", "ty": "Bool", "optional": false }, { "name": "name", "description": null, "ty": "String", "optional": false }, { "name": "symbol", "description": null, "ty": "String", "optional": false }, { "name": "base_uri", "description": null, "ty": "String", "optional": false } ] } }