[
  {
    "abi": {
      "address": "0x4",
      "name": "token",
      "friends": [],
      "exposed_functions": [
        {
          "name": "royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<0x4::royalty::Royalty>"
          ]
        },
        {
          "name": "index",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "create",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x4::token::BurnRef"
          ],
          "return": []
        },
        {
          "name": "creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "generate_burn_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::token::BurnRef"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::token::MutatorRef"
          ]
        },
        {
          "name": "description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "address_from_burn_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::token::BurnRef"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "collection_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "collection_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::object::Object<0x4::collection::Collection>"
          ]
        },
        {
          "name": "create_from_account",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_from_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_from_seed_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_named_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_numbered_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&address",
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "create_token_address_with_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [],
          "params": [
            "address",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "create_token_as_collection_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::object::Object<0x4::collection::Collection>",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_token_name_with_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String",
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "create_token_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        }
      ],
      "structs": [
        {
          "name": "BurnRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::option::Option<0x1::object::DeleteRef>"
            },
            {
              "name": "self",
              "type": "0x1::option::Option<address>"
            }
          ],
          "variants": []
        },
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "Mutation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "token_address",
              "type": "address"
            },
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ],
          "variants": []
        },
        {
          "name": "MutationEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ],
          "variants": []
        },
        {
          "name": "ConcurrentTokenIdentifiers",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "name",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<0x1::string::String>"
            }
          ],
          "variants": []
        },
        {
          "name": "Token",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "mutation_events",
              "type": "0x1::event::EventHandle<0x4::token::MutationEvent>"
            }
          ],
          "variants": []
        },
        {
          "name": "TokenIdentifiers",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "name",
              "type": "0x1::aggregator_v2::DerivedStringSnapshot"
            }
          ],
          "variants": []
        }
      ]
    }
  },
  {
    "abi": {
      "address": "0x4",
      "name": "royalty",
      "friends": [
        "0x4::token"
      ],
      "exposed_functions": [
        {
          "name": "update",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::MutatorRef",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "init",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "get",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<0x4::royalty::Royalty>"
          ]
        },
        {
          "name": "numerator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "denominator",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "create",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "u64",
            "u64",
            "address"
          ],
          "return": [
            "0x4::royalty::Royalty"
          ]
        },
        {
          "name": "exists_at",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "delete",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "address"
          ],
          "return": []
        },
        {
          "name": "payee_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::royalty::Royalty"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x1::object::ExtendRef"
          ],
          "return": [
            "0x4::royalty::MutatorRef"
          ]
        }
      ],
      "structs": [
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::object::ExtendRef"
            }
          ],
          "variants": []
        },
        {
          "name": "Royalty",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "copy",
            "drop",
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "numerator",
              "type": "u64"
            },
            {
              "name": "denominator",
              "type": "u64"
            },
            {
              "name": "payee_address",
              "type": "address"
            }
          ],
          "variants": []
        }
      ]
    }
  },
  {
    "abi": {
      "address": "0x4",
      "name": "collection",
      "friends": [
        "0x4::token"
      ],
      "exposed_functions": [
        {
          "name": "count",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::option::Option<u64>"
          ]
        },
        {
          "name": "creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "upgrade_to_concurrent",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ExtendRef"
          ],
          "return": []
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::collection::MutatorRef"
          ]
        },
        {
          "name": "create_collection_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&address",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "create_collection_seed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "create_fixed_collection",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_fixed_collection_as_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_unlimited_collection",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "create_unlimited_collection_as_owner",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::option::Option<0x4::royalty::Royalty>",
            "0x1::string::String"
          ],
          "return": [
            "0x1::object::ConstructorRef"
          ]
        },
        {
          "name": "decrement_supply",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::Object<0x4::collection::Collection>",
            "address",
            "0x1::option::Option<u64>",
            "address"
          ],
          "return": []
        },
        {
          "name": "increment_supply",
          "visibility": "friend",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::Object<0x4::collection::Collection>",
            "address"
          ],
          "return": [
            "0x1::option::Option<0x1::aggregator_v2::AggregatorSnapshot<u64>>"
          ]
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_max_supply",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "u64"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::collection::MutatorRef",
            "0x1::string::String"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "ConcurrentSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "0x1::aggregator_v2::Aggregator<u64>"
            },
            {
              "name": "total_minted",
              "type": "0x1::aggregator_v2::Aggregator<u64>"
            }
          ],
          "variants": []
        },
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "Burn",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "address"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            },
            {
              "name": "previous_owner",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "BurnEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "Collection",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "creator",
              "type": "address"
            },
            {
              "name": "description",
              "type": "0x1::string::String"
            },
            {
              "name": "name",
              "type": "0x1::string::String"
            },
            {
              "name": "uri",
              "type": "0x1::string::String"
            },
            {
              "name": "mutation_events",
              "type": "0x1::event::EventHandle<0x4::collection::MutationEvent>"
            }
          ],
          "variants": []
        },
        {
          "name": "ConcurrentBurnEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_addr",
              "type": "address"
            },
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "ConcurrentMintEvent",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection_addr",
              "type": "address"
            },
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "token",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "FixedSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "u64"
            },
            {
              "name": "max_supply",
              "type": "u64"
            },
            {
              "name": "total_minted",
              "type": "u64"
            },
            {
              "name": "burn_events",
              "type": "0x1::event::EventHandle<0x4::collection::BurnEvent>"
            },
            {
              "name": "mint_events",
              "type": "0x1::event::EventHandle<0x4::collection::MintEvent>"
            }
          ],
          "variants": []
        },
        {
          "name": "Mint",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "address"
            },
            {
              "name": "index",
              "type": "0x1::aggregator_v2::AggregatorSnapshot<u64>"
            },
            {
              "name": "token",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "MintEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "index",
              "type": "u64"
            },
            {
              "name": "token",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "Mutation",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            },
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "old_value",
              "type": "0x1::string::String"
            },
            {
              "name": "new_value",
              "type": "0x1::string::String"
            }
          ],
          "variants": []
        },
        {
          "name": "MutationEvent",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutated_field_name",
              "type": "0x1::string::String"
            }
          ],
          "variants": []
        },
        {
          "name": "SetMaxSupply",
          "is_native": false,
          "is_event": true,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "collection",
              "type": "0x1::object::Object<0x4::collection::Collection>"
            },
            {
              "name": "old_max_supply",
              "type": "u64"
            },
            {
              "name": "new_max_supply",
              "type": "u64"
            }
          ],
          "variants": []
        },
        {
          "name": "UnlimitedSupply",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "current_supply",
              "type": "u64"
            },
            {
              "name": "total_minted",
              "type": "u64"
            },
            {
              "name": "burn_events",
              "type": "0x1::event::EventHandle<0x4::collection::BurnEvent>"
            },
            {
              "name": "mint_events",
              "type": "0x1::event::EventHandle<0x4::collection::MintEvent>"
            }
          ],
          "variants": []
        }
      ]
    }
  },
  {
    "abi": {
      "address": "0x4",
      "name": "aptos_token",
      "friends": [],
      "exposed_functions": [
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "mint",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": []
        },
        {
          "name": "set_description",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_name",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_uri",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "add_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "add_typed_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            },
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "T1"
          ],
          "return": []
        },
        {
          "name": "are_collection_tokens_burnable",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "are_collection_tokens_freezable",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "are_properties_mutable",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "create_collection",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::string::String",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "u64",
            "u64"
          ],
          "return": []
        },
        {
          "name": "create_collection_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "u64",
            "0x1::string::String",
            "0x1::string::String",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "bool",
            "u64",
            "u64"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosCollection>"
          ]
        },
        {
          "name": "freeze_transfer",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "is_burnable",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_freezable_by_creator",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_royalty",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_properties",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_token_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_collection_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_description",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_name",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "is_mutable_uri",
          "visibility": "public",
          "is_entry": false,
          "is_view": true,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "0x1::object::Object<T0>"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "mint_soul_bound",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "address"
          ],
          "return": []
        },
        {
          "name": "mint_soul_bound_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>",
            "address"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosToken>"
          ]
        },
        {
          "name": "mint_token_object",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&signer",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "0x1::string::String",
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": [
            "0x1::object::Object<0x4::aptos_token::AptosToken>"
          ]
        },
        {
          "name": "remove_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_collection_description",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "set_collection_royalties",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x4::royalty::Royalty"
          ],
          "return": []
        },
        {
          "name": "set_collection_royalties_call",
          "visibility": "private",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "u64",
            "u64",
            "address"
          ],
          "return": []
        },
        {
          "name": "set_collection_uri",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "unfreeze_transfer",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>"
          ],
          "return": []
        },
        {
          "name": "update_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "update_typed_property",
          "visibility": "public",
          "is_entry": true,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            },
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&signer",
            "0x1::object::Object<T0>",
            "0x1::string::String",
            "T1"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "AptosCollection",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "mutator_ref",
              "type": "0x1::option::Option<0x4::collection::MutatorRef>"
            },
            {
              "name": "royalty_mutator_ref",
              "type": "0x1::option::Option<0x4::royalty::MutatorRef>"
            },
            {
              "name": "mutable_description",
              "type": "bool"
            },
            {
              "name": "mutable_uri",
              "type": "bool"
            },
            {
              "name": "mutable_token_description",
              "type": "bool"
            },
            {
              "name": "mutable_token_name",
              "type": "bool"
            },
            {
              "name": "mutable_token_properties",
              "type": "bool"
            },
            {
              "name": "mutable_token_uri",
              "type": "bool"
            },
            {
              "name": "tokens_burnable_by_creator",
              "type": "bool"
            },
            {
              "name": "tokens_freezable_by_creator",
              "type": "bool"
            }
          ],
          "variants": []
        },
        {
          "name": "AptosToken",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "burn_ref",
              "type": "0x1::option::Option<0x4::token::BurnRef>"
            },
            {
              "name": "transfer_ref",
              "type": "0x1::option::Option<0x1::object::TransferRef>"
            },
            {
              "name": "mutator_ref",
              "type": "0x1::option::Option<0x4::token::MutatorRef>"
            },
            {
              "name": "property_mutator_ref",
              "type": "0x4::property_map::MutatorRef"
            }
          ],
          "variants": []
        }
      ]
    }
  },
  {
    "abi": {
      "address": "0x4",
      "name": "property_map",
      "friends": [],
      "exposed_functions": [
        {
          "name": "update",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "remove",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String"
          ],
          "return": []
        },
        {
          "name": "init",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef",
            "0x4::property_map::PropertyMap"
          ],
          "return": []
        },
        {
          "name": "length",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "add",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x4::property_map::MutatorRef",
            "0x1::string::String",
            "0x1::string::String",
            "vector<u8>"
          ],
          "return": []
        },
        {
          "name": "burn",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "0x4::property_map::MutatorRef"
          ],
          "return": []
        },
        {
          "name": "read",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String",
            "vector<u8>"
          ]
        },
        {
          "name": "contains_key",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "generate_mutator_ref",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ConstructorRef"
          ],
          "return": [
            "0x4::property_map::MutatorRef"
          ]
        },
        {
          "name": "add_typed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&0x4::property_map::MutatorRef",
            "0x1::string::String",
            "T0"
          ],
          "return": []
        },
        {
          "name": "extend",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "&0x1::object::ExtendRef",
            "0x4::property_map::PropertyMap"
          ],
          "return": []
        },
        {
          "name": "prepare_input",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [],
          "params": [
            "vector<0x1::string::String>",
            "vector<0x1::string::String>",
            "vector<vector<u8>>"
          ],
          "return": [
            "0x4::property_map::PropertyMap"
          ]
        },
        {
          "name": "read_address",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "address"
          ]
        },
        {
          "name": "read_bool",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "bool"
          ]
        },
        {
          "name": "read_bytes",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "vector<u8>"
          ]
        },
        {
          "name": "read_string",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "0x1::string::String"
          ]
        },
        {
          "name": "read_u128",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u128"
          ]
        },
        {
          "name": "read_u16",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u16"
          ]
        },
        {
          "name": "read_u256",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u256"
          ]
        },
        {
          "name": "read_u32",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u32"
          ]
        },
        {
          "name": "read_u64",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u64"
          ]
        },
        {
          "name": "read_u8",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "key"
              ]
            }
          ],
          "params": [
            "&0x1::object::Object<T0>",
            "&0x1::string::String"
          ],
          "return": [
            "u8"
          ]
        },
        {
          "name": "update_typed",
          "visibility": "public",
          "is_entry": false,
          "is_view": false,
          "generic_type_params": [
            {
              "constraints": [
                "drop"
              ]
            }
          ],
          "params": [
            "&0x4::property_map::MutatorRef",
            "&0x1::string::String",
            "T0"
          ],
          "return": []
        }
      ],
      "structs": [
        {
          "name": "MutatorRef",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "self",
              "type": "address"
            }
          ],
          "variants": []
        },
        {
          "name": "PropertyMap",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "key"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "inner",
              "type": "0x1::simple_map::SimpleMap<0x1::string::String, 0x4::property_map::PropertyValue>"
            }
          ],
          "variants": []
        },
        {
          "name": "PropertyValue",
          "is_native": false,
          "is_event": false,
          "is_enum": false,
          "abilities": [
            "drop",
            "store"
          ],
          "generic_type_params": [],
          "fields": [
            {
              "name": "type",
              "type": "u8"
            },
            {
              "name": "value",
              "type": "vector<u8>"
            }
          ],
          "variants": []
        }
      ]
    }
  }
]