Jungle 4 (Testnet)

contract2.gm

合约

{
  "version": "eosio::abi/1.2",
  "types": [
    {
      "new_type_name": "B_vector_entity_ref_E",
      "type": "entity_ref[]"
    },
    {
      "new_type_name": "location_type",
      "type": "uint8"
    }
  ],
  "structs": [
    {
      "name": "addmodule",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "module_index",
          "type": "uint8"
        },
        {
          "name": "module_ref",
          "type": "cargo_ref"
        },
        {
          "name": "target_ref",
          "type": "cargo_ref?"
        }
      ]
    },
    {
      "name": "addnexus",
      "base": "",
      "fields": [
        {
          "name": "nexus_name",
          "type": "string"
        },
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "addoracle",
      "base": "",
      "fields": [
        {
          "name": "oracle_id",
          "type": "name"
        }
      ]
    },
    {
      "name": "blend",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "inputs",
          "type": "cargo_item[]"
        }
      ]
    },
    {
      "name": "buildplot",
      "base": "",
      "fields": [
        {
          "name": "builder_id",
          "type": "uint64"
        },
        {
          "name": "plot_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "cancel",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "count",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "cancel_results",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "entity_type",
          "type": "name"
        },
        {
          "name": "cancelled_count",
          "type": "uint8"
        },
        {
          "name": "schedule_started",
          "type": "time_point?"
        },
        {
          "name": "entitygroup",
          "type": "uint64?"
        },
        {
          "name": "group_members",
          "type": "B_vector_entity_ref_E?"
        }
      ]
    },
    {
      "name": "cargo_item",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "quantity",
          "type": "uint32"
        },
        {
          "name": "entity_id",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "cargo_ref",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "entity_id",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "cargo_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "item_id",
          "type": "uint64"
        },
        {
          "name": "quantity",
          "type": "uint64"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "sequence_id",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "cargo_view",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "quantity",
          "type": "uint32"
        },
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "entity_id",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "claimplot",
      "base": "",
      "fields": [
        {
          "name": "builder_id",
          "type": "uint64"
        },
        {
          "name": "target_item_id",
          "type": "uint16"
        },
        {
          "name": "coords",
          "type": "coordinates"
        }
      ]
    },
    {
      "name": "cleanrsvp",
      "base": "",
      "fields": [
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "max_rows",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "cleartable",
      "base": "",
      "fields": [
        {
          "name": "table_name",
          "type": "name"
        },
        {
          "name": "scope",
          "type": "name?"
        },
        {
          "name": "max_rows",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "commit",
      "base": "",
      "fields": [
        {
          "name": "oracle_id",
          "type": "name"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "commit",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "commit_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "oracle_id",
          "type": "name"
        },
        {
          "name": "commit",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "configlog",
      "base": "",
      "fields": [
        {
          "name": "config",
          "type": "game_config"
        }
      ]
    },
    {
      "name": "coordinates",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        },
        {
          "name": "z",
          "type": "uint16?"
        }
      ]
    },
    {
      "name": "craft",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "recipe_id",
          "type": "uint16"
        },
        {
          "name": "quantity",
          "type": "uint32"
        },
        {
          "name": "inputs",
          "type": "cargo_item[]"
        }
      ]
    },
    {
      "name": "crafter_stats",
      "base": "",
      "fields": [
        {
          "name": "speed",
          "type": "uint16"
        },
        {
          "name": "drain",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "demolish",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "deploy",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "ref",
          "type": "cargo_ref"
        }
      ]
    },
    {
      "name": "descentity",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "hull_stats",
          "type": "uint64"
        },
        {
          "name": "module_items",
          "type": "uint16[]"
        },
        {
          "name": "module_stats",
          "type": "uint64[]"
        }
      ]
    },
    {
      "name": "enable",
      "base": "",
      "fields": [
        {
          "name": "enabled",
          "type": "bool"
        }
      ]
    },
    {
      "name": "energy_stats",
      "base": "",
      "fields": [
        {
          "name": "capacity",
          "type": "uint16"
        },
        {
          "name": "recharge",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "entity_current_state",
      "base": "",
      "fields": [
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "energy",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "entity_defaults",
      "base": "",
      "fields": [
        {
          "name": "warehouse_z",
          "type": "uint16"
        },
        {
          "name": "container_z",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "entity_info",
      "base": "",
      "fields": [
        {
          "name": "type",
          "type": "name"
        },
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_name",
          "type": "string"
        },
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "cargomass",
          "type": "uint32"
        },
        {
          "name": "cargo",
          "type": "cargo_view[]"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "energy",
          "type": "uint16?"
        },
        {
          "name": "hullmass",
          "type": "uint32?"
        },
        {
          "name": "capacity",
          "type": "uint32?"
        },
        {
          "name": "engines",
          "type": "movement_stats?"
        },
        {
          "name": "warp",
          "type": "warp_stats?"
        },
        {
          "name": "generator",
          "type": "energy_stats?"
        },
        {
          "name": "gatherer",
          "type": "gatherer_stats?"
        },
        {
          "name": "loaders",
          "type": "loader_stats?"
        },
        {
          "name": "hauler",
          "type": "hauler_stats?"
        },
        {
          "name": "crafter",
          "type": "crafter_stats?"
        },
        {
          "name": "is_idle",
          "type": "bool"
        },
        {
          "name": "current_task",
          "type": "task?"
        },
        {
          "name": "current_task_elapsed",
          "type": "uint32"
        },
        {
          "name": "current_task_remaining",
          "type": "uint32"
        },
        {
          "name": "pending_tasks",
          "type": "task[]"
        },
        {
          "name": "idle_at",
          "type": "time_point?"
        },
        {
          "name": "schedule",
          "type": "schedule?"
        }
      ]
    },
    {
      "name": "entity_layout",
      "base": "",
      "fields": [
        {
          "name": "entity_item_id",
          "type": "uint16"
        },
        {
          "name": "slots",
          "type": "slot_def[]"
        }
      ]
    },
    {
      "name": "entity_layouts_result",
      "base": "",
      "fields": [
        {
          "name": "entities",
          "type": "entity_layout[]"
        }
      ]
    },
    {
      "name": "entity_ref",
      "base": "",
      "fields": [
        {
          "name": "entity_type",
          "type": "name"
        },
        {
          "name": "entity_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "entity_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "kind",
          "type": "name"
        },
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "energy",
          "type": "uint16?"
        },
        {
          "name": "cargomass",
          "type": "uint32"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "schedule",
          "type": "schedule?"
        }
      ]
    },
    {
      "name": "entity_seq_row",
      "base": "",
      "fields": [
        {
          "name": "next_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "entity_summary",
      "base": "",
      "fields": [
        {
          "name": "type",
          "type": "name"
        },
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_name",
          "type": "string"
        },
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "is_idle",
          "type": "bool"
        },
        {
          "name": "resolved_count",
          "type": "uint32"
        },
        {
          "name": "pending_count",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "entity_task_info",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "entity_type",
          "type": "name"
        },
        {
          "name": "task_count",
          "type": "uint8"
        },
        {
          "name": "schedule_started",
          "type": "time_point"
        }
      ]
    },
    {
      "name": "entitygroup_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "participants",
          "type": "entity_ref[]"
        }
      ]
    },
    {
      "name": "enum_member",
      "base": "",
      "fields": [
        {
          "name": "value",
          "type": "uint8"
        },
        {
          "name": "name",
          "type": "string"
        }
      ]
    },
    {
      "name": "enum_result",
      "base": "",
      "fields": [
        {
          "name": "members",
          "type": "enum_member[]"
        }
      ]
    },
    {
      "name": "epoch_row",
      "base": "",
      "fields": [
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "oracle_ids",
          "type": "name[]"
        },
        {
          "name": "threshold",
          "type": "uint8"
        },
        {
          "name": "seed",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "fixcargomass",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "forcereveal",
      "base": "",
      "fields": [
        {
          "name": "epoch",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "game_config",
      "base": "",
      "fields": [
        {
          "name": "version",
          "type": "uint32"
        },
        {
          "name": "defaults",
          "type": "entity_defaults"
        },
        {
          "name": "items",
          "type": "item_def[]"
        }
      ]
    },
    {
      "name": "gather",
      "base": "",
      "fields": [
        {
          "name": "source_id",
          "type": "uint64"
        },
        {
          "name": "destination_id",
          "type": "uint64"
        },
        {
          "name": "stratum",
          "type": "uint16"
        },
        {
          "name": "quantity",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "gatherer_stats",
      "base": "",
      "fields": [
        {
          "name": "yield",
          "type": "uint16"
        },
        {
          "name": "drain",
          "type": "uint16"
        },
        {
          "name": "depth",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "getconfig",
      "base": "",
      "fields": []
    },
    {
      "name": "getdeposit",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "geteligible",
      "base": "",
      "fields": [
        {
          "name": "coords",
          "type": "coordinates"
        },
        {
          "name": "stratum",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "getentcls",
      "base": "",
      "fields": []
    },
    {
      "name": "getentities",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_type",
          "type": "name?"
        }
      ]
    },
    {
      "name": "getentity",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "getitemdata",
      "base": "",
      "fields": []
    },
    {
      "name": "getitemids",
      "base": "",
      "fields": []
    },
    {
      "name": "getitems",
      "base": "",
      "fields": []
    },
    {
      "name": "getitemtype",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "getitemtypes",
      "base": "",
      "fields": []
    },
    {
      "name": "getkindmeta",
      "base": "",
      "fields": []
    },
    {
      "name": "getlocation",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "getlocdata",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "getmodtypes",
      "base": "",
      "fields": []
    },
    {
      "name": "getmodules",
      "base": "",
      "fields": []
    },
    {
      "name": "getnearby",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "recharge",
          "type": "bool"
        }
      ]
    },
    {
      "name": "getnftbase",
      "base": "",
      "fields": []
    },
    {
      "name": "getnftinfo",
      "base": "",
      "fields": []
    },
    {
      "name": "getplayer",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "getprojstate",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "task_count",
          "type": "uint8?"
        }
      ]
    },
    {
      "name": "getrecipe",
      "base": "",
      "fields": [
        {
          "name": "output_item_id",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "getrecipes",
      "base": "",
      "fields": [
        {
          "name": "lower_bound",
          "type": "uint16"
        },
        {
          "name": "limit",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "getrescats",
      "base": "",
      "fields": []
    },
    {
      "name": "getreserves",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "getresources",
      "base": "",
      "fields": []
    },
    {
      "name": "getslots",
      "base": "",
      "fields": []
    },
    {
      "name": "getstratum",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        },
        {
          "name": "stratum",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "getsummaries",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_type",
          "type": "name?"
        }
      ]
    },
    {
      "name": "grouptravel",
      "base": "",
      "fields": [
        {
          "name": "entities",
          "type": "entity_ref[]"
        },
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        },
        {
          "name": "recharge",
          "type": "bool"
        }
      ]
    },
    {
      "name": "hash",
      "base": "",
      "fields": [
        {
          "name": "value",
          "type": "string"
        }
      ]
    },
    {
      "name": "hash512",
      "base": "",
      "fields": [
        {
          "name": "value",
          "type": "string"
        }
      ]
    },
    {
      "name": "hauler_stats",
      "base": "",
      "fields": [
        {
          "name": "capacity",
          "type": "uint8"
        },
        {
          "name": "efficiency",
          "type": "uint16"
        },
        {
          "name": "drain",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "importcargo",
      "base": "",
      "fields": [
        {
          "name": "row",
          "type": "cargo_row"
        }
      ]
    },
    {
      "name": "importentity",
      "base": "",
      "fields": [
        {
          "name": "row",
          "type": "entity_row"
        }
      ]
    },
    {
      "name": "importgroup",
      "base": "",
      "fields": [
        {
          "name": "row",
          "type": "entitygroup_row"
        }
      ]
    },
    {
      "name": "importplayer",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        }
      ]
    },
    {
      "name": "importreserve",
      "base": "",
      "fields": [
        {
          "name": "epoch_scope",
          "type": "uint32"
        },
        {
          "name": "row",
          "type": "reserve_row"
        }
      ]
    },
    {
      "name": "importstate",
      "base": "",
      "fields": [
        {
          "name": "row",
          "type": "state_row"
        }
      ]
    },
    {
      "name": "item_def",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "mass",
          "type": "uint32"
        },
        {
          "name": "type",
          "type": "uint8"
        },
        {
          "name": "subtype",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "item_id_pair",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "name",
          "type": "string"
        }
      ]
    },
    {
      "name": "item_ids_result",
      "base": "",
      "fields": [
        {
          "name": "items",
          "type": "item_id_pair[]"
        }
      ]
    },
    {
      "name": "itemdata_result",
      "base": "",
      "fields": [
        {
          "name": "items",
          "type": "item_def[]"
        },
        {
          "name": "recipes",
          "type": "recipes_result"
        }
      ]
    },
    {
      "name": "items_info",
      "base": "",
      "fields": [
        {
          "name": "items",
          "type": "item_def[]"
        }
      ]
    },
    {
      "name": "join",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "kind_meta_result",
      "base": "",
      "fields": [
        {
          "name": "kinds",
          "type": "kind_meta_row[]"
        },
        {
          "name": "templates",
          "type": "template_meta_row[]"
        }
      ]
    },
    {
      "name": "kind_meta_row",
      "base": "",
      "fields": [
        {
          "name": "kind",
          "type": "name"
        },
        {
          "name": "classification",
          "type": "uint8"
        },
        {
          "name": "capability_flags",
          "type": "uint8"
        },
        {
          "name": "z_coord",
          "type": "uint32"
        },
        {
          "name": "default_label",
          "type": "string"
        }
      ]
    },
    {
      "name": "loader_stats",
      "base": "",
      "fields": [
        {
          "name": "mass",
          "type": "uint32"
        },
        {
          "name": "thrust",
          "type": "uint16"
        },
        {
          "name": "quantity",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "location_derived",
      "base": "",
      "fields": [
        {
          "name": "static_props",
          "type": "location_static"
        },
        {
          "name": "size",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "location_info",
      "base": "",
      "fields": [
        {
          "name": "coords",
          "type": "coordinates"
        },
        {
          "name": "is_system",
          "type": "bool"
        }
      ]
    },
    {
      "name": "location_static",
      "base": "",
      "fields": [
        {
          "name": "coords",
          "type": "coordinates"
        },
        {
          "name": "type",
          "type": "location_type"
        },
        {
          "name": "subtype",
          "type": "uint8"
        },
        {
          "name": "seed0",
          "type": "uint8"
        },
        {
          "name": "seed1",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "module_entry",
      "base": "",
      "fields": [
        {
          "name": "type",
          "type": "uint8"
        },
        {
          "name": "installed",
          "type": "packed_module?"
        }
      ]
    },
    {
      "name": "module_info",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "mass",
          "type": "uint32"
        },
        {
          "name": "module_type",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "modules_result",
      "base": "",
      "fields": [
        {
          "name": "modules",
          "type": "module_info[]"
        }
      ]
    },
    {
      "name": "movement_stats",
      "base": "",
      "fields": [
        {
          "name": "thrust",
          "type": "uint32"
        },
        {
          "name": "drain",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "nearby_info",
      "base": "",
      "fields": [
        {
          "name": "can_travel",
          "type": "bool"
        },
        {
          "name": "current",
          "type": "entity_current_state"
        },
        {
          "name": "projected",
          "type": "entity_current_state"
        },
        {
          "name": "max_energy",
          "type": "uint16"
        },
        {
          "name": "systems",
          "type": "nearby_system[]"
        }
      ]
    },
    {
      "name": "nearby_system",
      "base": "",
      "fields": [
        {
          "name": "distance",
          "type": "uint64"
        },
        {
          "name": "energy_cost",
          "type": "uint64"
        },
        {
          "name": "flight_time",
          "type": "uint32"
        },
        {
          "name": "location",
          "type": "location_info"
        }
      ]
    },
    {
      "name": "nft_cargo_item",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "stats",
          "type": "uint64"
        },
        {
          "name": "modules",
          "type": "module_entry[]"
        },
        {
          "name": "quantity",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "nft_item_payload",
      "base": "",
      "fields": [
        {
          "name": "item",
          "type": "nft_cargo_item"
        },
        {
          "name": "location",
          "type": "coordinates?"
        }
      ]
    },
    {
      "name": "nft_schema_def",
      "base": "",
      "fields": [
        {
          "name": "schema_name",
          "type": "name"
        },
        {
          "name": "fields",
          "type": "schema_field[]"
        }
      ]
    },
    {
      "name": "nft_template_def",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "schema_name",
          "type": "name"
        },
        {
          "name": "template_id",
          "type": "int32"
        }
      ]
    },
    {
      "name": "nftconfig_row",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "template_id",
          "type": "int32"
        },
        {
          "name": "schema_name",
          "type": "name"
        }
      ]
    },
    {
      "name": "nftimgurl",
      "base": "",
      "fields": [
        {
          "name": "item",
          "type": "cargo_item"
        },
        {
          "name": "location",
          "type": "coordinates?"
        }
      ]
    },
    {
      "name": "nftinfo_result",
      "base": "",
      "fields": [
        {
          "name": "schemas",
          "type": "nft_schema_def[]"
        },
        {
          "name": "templates",
          "type": "nft_template_def[]"
        }
      ]
    },
    {
      "name": "notify",
      "base": "",
      "fields": [
        {
          "name": "event",
          "type": "task_event"
        }
      ]
    },
    {
      "name": "oracle_config_row",
      "base": "",
      "fields": [
        {
          "name": "threshold",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "oracle_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "name"
        }
      ]
    },
    {
      "name": "packed_module",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "stats",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "placecargo",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "host_id",
          "type": "uint64"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "placeentity",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "asset_id",
          "type": "uint64"
        },
        {
          "name": "target_nexus_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "player_info",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "is_player",
          "type": "bool"
        },
        {
          "name": "company_name",
          "type": "string"
        }
      ]
    },
    {
      "name": "player_row",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        }
      ]
    },
    {
      "name": "projected_state",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "energy",
          "type": "uint16?"
        },
        {
          "name": "cargomass",
          "type": "uint32"
        },
        {
          "name": "cargo",
          "type": "cargo_view[]"
        },
        {
          "name": "hullmass",
          "type": "uint32?"
        },
        {
          "name": "capacity",
          "type": "uint32?"
        },
        {
          "name": "engines",
          "type": "movement_stats?"
        },
        {
          "name": "warp",
          "type": "warp_stats?"
        },
        {
          "name": "generator",
          "type": "energy_stats?"
        },
        {
          "name": "gatherer",
          "type": "gatherer_stats?"
        },
        {
          "name": "loaders",
          "type": "loader_stats?"
        },
        {
          "name": "hauler",
          "type": "hauler_stats?"
        },
        {
          "name": "crafter",
          "type": "crafter_stats?"
        }
      ]
    },
    {
      "name": "recharge",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "recipe_input",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "quantity",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "recipe_item_info",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "mass",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "recipe_response",
      "base": "",
      "fields": [
        {
          "name": "output_item_id",
          "type": "uint16"
        },
        {
          "name": "output_mass",
          "type": "uint32"
        },
        {
          "name": "inputs",
          "type": "recipe_input[]"
        },
        {
          "name": "stat_slots",
          "type": "stat_slot_response[]"
        },
        {
          "name": "blend_weights",
          "type": "bytes"
        },
        {
          "name": "output_item",
          "type": "recipe_item_info"
        },
        {
          "name": "input_items",
          "type": "recipe_item_info[]"
        }
      ]
    },
    {
      "name": "recipes_result",
      "base": "",
      "fields": [
        {
          "name": "recipes",
          "type": "recipe_response[]"
        }
      ]
    },
    {
      "name": "refrshentity",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "removeoracle",
      "base": "",
      "fields": [
        {
          "name": "oracle_id",
          "type": "name"
        }
      ]
    },
    {
      "name": "reserve_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "coord_id",
          "type": "uint64"
        },
        {
          "name": "stratum",
          "type": "uint16"
        },
        {
          "name": "remaining",
          "type": "uint32"
        },
        {
          "name": "last_block",
          "type": "block_timestamp_type"
        }
      ]
    },
    {
      "name": "resolve",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "count",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "resolve_results",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "entity_type",
          "type": "name"
        },
        {
          "name": "resolved_count",
          "type": "uint8"
        },
        {
          "name": "new_schedule_started",
          "type": "time_point?"
        },
        {
          "name": "entitygroup",
          "type": "uint64?"
        },
        {
          "name": "group_members",
          "type": "B_vector_entity_ref_E?"
        }
      ]
    },
    {
      "name": "resource_info",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "mass",
          "type": "uint32"
        },
        {
          "name": "category",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "resource_stats",
      "base": "",
      "fields": [
        {
          "name": "stat1",
          "type": "uint16"
        },
        {
          "name": "stat2",
          "type": "uint16"
        },
        {
          "name": "stat3",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "resources_result",
      "base": "",
      "fields": [
        {
          "name": "resources",
          "type": "resource_info[]"
        }
      ]
    },
    {
      "name": "reveal",
      "base": "",
      "fields": [
        {
          "name": "oracle_id",
          "type": "name"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "reveal",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "reveal_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "oracle_id",
          "type": "name"
        },
        {
          "name": "reveal",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "rmmodule",
      "base": "",
      "fields": [
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "module_index",
          "type": "uint8"
        },
        {
          "name": "target_ref",
          "type": "cargo_ref?"
        }
      ]
    },
    {
      "name": "rmnftcfg",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "schedule",
      "base": "",
      "fields": [
        {
          "name": "started",
          "type": "time_point"
        },
        {
          "name": "tasks",
          "type": "task[]"
        }
      ]
    },
    {
      "name": "schema_field",
      "base": "",
      "fields": [
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "field_type",
          "type": "string"
        }
      ]
    },
    {
      "name": "setnftcfg",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "template_id",
          "type": "int32"
        },
        {
          "name": "schema_name",
          "type": "name"
        }
      ]
    },
    {
      "name": "setthreshold",
      "base": "",
      "fields": [
        {
          "name": "threshold",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "setwrapcost",
      "base": "",
      "fields": [
        {
          "name": "item_type",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        },
        {
          "name": "amount",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "setwrapfee",
      "base": "",
      "fields": [
        {
          "name": "fee_pct",
          "type": "uint16"
        },
        {
          "name": "fee_account",
          "type": "name"
        }
      ]
    },
    {
      "name": "slot_def",
      "base": "",
      "fields": [
        {
          "name": "type",
          "type": "uint8"
        },
        {
          "name": "output_pct",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "stat_slot_response",
      "base": "",
      "fields": [
        {
          "name": "sources",
          "type": "stat_source[]"
        }
      ]
    },
    {
      "name": "stat_source",
      "base": "",
      "fields": [
        {
          "name": "input_index",
          "type": "uint8"
        },
        {
          "name": "input_stat_index",
          "type": "uint8"
        }
      ]
    },
    {
      "name": "state_row",
      "base": "",
      "fields": [
        {
          "name": "enabled",
          "type": "bool"
        },
        {
          "name": "epoch",
          "type": "uint32"
        },
        {
          "name": "seed",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "stowcargo",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "nexus_id",
          "type": "uint64"
        },
        {
          "name": "cargo_id",
          "type": "uint64"
        },
        {
          "name": "quantity",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "stowentity",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "nexus_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "stratum_data",
      "base": "",
      "fields": [
        {
          "name": "stratum",
          "type": "stratum_info"
        },
        {
          "name": "stats",
          "type": "resource_stats"
        }
      ]
    },
    {
      "name": "stratum_info",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "seed",
          "type": "uint64"
        },
        {
          "name": "richness",
          "type": "uint16"
        },
        {
          "name": "reserve",
          "type": "uint32"
        },
        {
          "name": "reserve_max",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "stratum_remaining",
      "base": "",
      "fields": [
        {
          "name": "stratum",
          "type": "uint16"
        },
        {
          "name": "remaining",
          "type": "uint32"
        },
        {
          "name": "last_block",
          "type": "block_timestamp_type"
        }
      ]
    },
    {
      "name": "task",
      "base": "",
      "fields": [
        {
          "name": "type",
          "type": "uint8"
        },
        {
          "name": "duration",
          "type": "uint32"
        },
        {
          "name": "cancelable",
          "type": "uint8"
        },
        {
          "name": "coordinates",
          "type": "coordinates?"
        },
        {
          "name": "cargo",
          "type": "cargo_item[]"
        },
        {
          "name": "entitytarget",
          "type": "entity_ref?"
        },
        {
          "name": "entitygroup",
          "type": "uint64?"
        },
        {
          "name": "energy_cost",
          "type": "uint16?"
        }
      ]
    },
    {
      "name": "task_event",
      "base": "",
      "fields": [
        {
          "name": "event_type",
          "type": "uint8"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "entity_type",
          "type": "name"
        },
        {
          "name": "entity_id",
          "type": "uint64"
        },
        {
          "name": "task_index",
          "type": "uint8"
        },
        {
          "name": "task",
          "type": "task"
        },
        {
          "name": "starts_at",
          "type": "time_point"
        },
        {
          "name": "completes_at",
          "type": "time_point"
        },
        {
          "name": "new_energy",
          "type": "uint16?"
        }
      ]
    },
    {
      "name": "task_results",
      "base": "",
      "fields": [
        {
          "name": "entities",
          "type": "entity_task_info[]"
        }
      ]
    },
    {
      "name": "template_meta_row",
      "base": "",
      "fields": [
        {
          "name": "item_id",
          "type": "uint16"
        },
        {
          "name": "kind",
          "type": "name"
        },
        {
          "name": "display_label",
          "type": "string"
        }
      ]
    },
    {
      "name": "transfer",
      "base": "",
      "fields": [
        {
          "name": "source_id",
          "type": "uint64"
        },
        {
          "name": "dest_id",
          "type": "uint64"
        },
        {
          "name": "items",
          "type": "cargo_item[]"
        }
      ]
    },
    {
      "name": "travel",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        },
        {
          "name": "recharge",
          "type": "bool"
        }
      ]
    },
    {
      "name": "types_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "entity_summary_type",
          "type": "entity_summary"
        },
        {
          "name": "game_config_type",
          "type": "game_config"
        },
        {
          "name": "stratum_remaining_type",
          "type": "stratum_remaining"
        },
        {
          "name": "nft_item_payload_type",
          "type": "nft_item_payload"
        }
      ]
    },
    {
      "name": "undeploy",
      "base": "",
      "fields": [
        {
          "name": "host_id",
          "type": "uint64"
        },
        {
          "name": "target_id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "warp",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "warp_stats",
      "base": "",
      "fields": [
        {
          "name": "range",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "wipe",
      "base": "",
      "fields": []
    },
    {
      "name": "wrapconfig_row",
      "base": "",
      "fields": [
        {
          "name": "fee_pct",
          "type": "uint16"
        },
        {
          "name": "fee_account",
          "type": "name"
        }
      ]
    },
    {
      "name": "wrapcost_row",
      "base": "",
      "fields": [
        {
          "name": "item_type",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        },
        {
          "name": "amount",
          "type": "uint64"
        }
      ]
    }
  ],
  "actions": [
    {
      "name": "addmodule",
      "type": "addmodule",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: addmodule\nsummary: 'Install a module into a slot'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInstall a module from cargo into a module slot on a live entity or a packed entity in cargo. The entity must be idle with no scheduled tasks. The module type must be compatible with the target slot type. The module item is removed from cargo upon installation."
    },
    {
      "name": "addnexus",
      "type": "addnexus",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: addnexus\nsummary: 'Add a nexus location'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCreate a new nexus entity at the given coordinates. Nexuses are owned by the contract and serve as fixed gathering points where players can wrap, unwrap, deploy, and otherwise interact with NFT-backed assets. Requires contract authority."
    },
    {
      "name": "addoracle",
      "type": "addoracle",
      "ricardian_contract": ""
    },
    {
      "name": "blend",
      "type": "blend",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: blend\nsummary: 'Blend cargo stacks'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCombine multiple cargo stacks of the same item type into a single stack with new blended stats. All input stacks must share the same item id. The output stack has the combined quantity of all inputs."
    },
    {
      "name": "buildplot",
      "type": "buildplot",
      "ricardian_contract": ""
    },
    {
      "name": "cancel",
      "type": "cancel",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: cancel\nsummary: 'Cancel scheduled tasks'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCancel the specified number of tasks from the end of an entity's schedule. Tasks that are immutable and in progress cannot be cancelled."
    },
    {
      "name": "claimplot",
      "type": "claimplot",
      "ricardian_contract": ""
    },
    {
      "name": "cleanrsvp",
      "type": "cleanrsvp",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: cleanrsvp\nsummary: 'Clean up past epoch reserves'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nErase reserve table rows from a past epoch. Cannot clean the current or future epochs. The max_rows parameter caps the number of rows erased per call to limit CPU usage."
    },
    {
      "name": "cleartable",
      "type": "cleartable",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: cleartable\nsummary: 'DEBUG: cleartable action'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---"
    },
    {
      "name": "commit",
      "type": "commit",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: commit\nsummary: 'Set commit value'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nSet the initial commit value during game initialization."
    },
    {
      "name": "configlog",
      "type": "configlog",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: configlog\nsummary: 'Log game configuration'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action that logs the current game configuration. Called inline after initialization to broadcast config via action traces. Requires contract authority."
    },
    {
      "name": "craft",
      "type": "craft",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: craft\nsummary: 'Craft items from a recipe'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nTransform cargo items into a new item using a recipe. The entity must have a crafter module installed. Consumes energy and schedules a crafting task with duration based on total input mass and crafter speed. Input quantities must exactly match the recipe requirements."
    },
    {
      "name": "demolish",
      "type": "demolish",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: demolish\nsummary: 'Demolish a stationary entity'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nDecommission an entity, erasing it from the game. The entity must be idle, have empty cargo, and have no installed modules (remove each via rmmodule first). Schedules a demolish task that erases the entity on resolution. Only valid for entities that cannot move; use undeploy or wrapentity for the rest."
    },
    {
      "name": "deploy",
      "type": "deploy",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: deploy\nsummary: 'Deploy a packed entity'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nUnpack a packed entity item (packed ship or packed container) from cargo, scheduling a deploy task that creates the new entity at the deploying entity's location upon resolution."
    },
    {
      "name": "descentity",
      "type": "descentity",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: descentity\nsummary: 'Describe a packed entity'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns a human-readable description string for a packed entity, derived from the entity item id, hull stats, and the list of installed module item ids and stats. Used by off-chain tooling and NFT renderers to display packed entities."
    },
    {
      "name": "enable",
      "type": "enable",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: enable\nsummary: 'Set enabled state'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nEnable or disable this game of Shipload."
    },
    {
      "name": "fixcargomass",
      "type": "fixcargomass",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: fixcargomass\nsummary: 'DEBUG: recompute entity cargo mass'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nRecompute and rewrite an entity's cargo mass from its current cargo. Requires contract authority. Available for repairing drift between cached cargo mass and the true mass derived from cargo rows."
    },
    {
      "name": "forcereveal",
      "type": "forcereveal",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: forcereveal\nsummary: 'DEBUG: force-finalize an epoch from existing reveals'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nFinalize a stuck epoch by computing its seed from the reveals already submitted, without waiting for the configured threshold. Requires contract authority. The seed is derived solely from the pre-image-locked reveals already on chain; no admin-supplied entropy is introduced. Used to unblock epoch progression when the threshold cannot otherwise be met."
    },
    {
      "name": "gather",
      "type": "gather",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: gather\nsummary: 'Gather resources'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nGather resources at the ship's current location. Only works at gatherable location types. Schedules a gather task that consumes energy and yields cargo based on the ship's gatherer stats and the location's resource composition."
    },
    {
      "name": "getconfig",
      "type": "getconfig",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getconfig\nsummary: 'Get game configuration'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns the game configuration including default entity stats for warehouses and containers, and the full item definitions table."
    },
    {
      "name": "getdeposit",
      "type": "getdeposit",
      "ricardian_contract": ""
    },
    {
      "name": "geteligible",
      "type": "geteligible",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: geteligible\nsummary: 'Get eligible resource item IDs at a location and stratum'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the list of resource item IDs eligible to be gathered at the given coordinates and stratum depth. Items are gated by both the location's resource profile and the depth threshold for each tier."
    },
    {
      "name": "getentcls",
      "type": "getentcls",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getentcls\nsummary: 'Get entity class enum values'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full set of entity class enum values and their string names (OrbitalVessel, PlanetaryStructure). Used by off-chain tooling to decode entity class identifiers."
    },
    {
      "name": "getentities",
      "type": "getentities",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getentities\nsummary: 'Get all entities for a player'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nReturns full entity info for all entities owned by a player. Optionally filter by entity type."
    },
    {
      "name": "getentity",
      "type": "getentity",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getentity\nsummary: 'Get entity state'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nReturns the current state of an entity including identity, cargo, schedule state, and type-specific fields."
    },
    {
      "name": "getitemdata",
      "type": "getitemdata",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getitemdata\nsummary: 'Get full item catalog'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the complete item catalog as the contract sees it, including type, subtype, tier, mass, and other static metadata. Used by off-chain tooling and clients to mirror the contract's item definitions."
    },
    {
      "name": "getitemids",
      "type": "getitemids",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getitemids\nsummary: 'Get item id to name mappings'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full mapping of item id constants to their canonical string names. Used by off-chain tooling to resolve numeric item ids to human-readable identifiers."
    },
    {
      "name": "getitems",
      "type": "getitems",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getitems\nsummary: 'Get all available items'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns a list of all items in the game including their id, base price, and mass."
    },
    {
      "name": "getitemtype",
      "type": "getitemtype",
      "ricardian_contract": ""
    },
    {
      "name": "getitemtypes",
      "type": "getitemtypes",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getitemtypes\nsummary: 'Get item type enum values'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full set of item type enum values and their string names (resource, component, module, entity). Used by off-chain tooling to decode item type identifiers."
    },
    {
      "name": "getkindmeta",
      "type": "getkindmeta",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getkindmeta\nsummary: 'Get entity kind metadata'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the entity kind registry and template registry, including each kind's classification, capability flags, Z-coordinate, and default label, plus the mapping of entity item ids to kinds with display labels. Used by off-chain tooling to interpret entity kinds and capabilities."
    },
    {
      "name": "getlocation",
      "type": "getlocation",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getlocation\nsummary: 'Get location information'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns information about a location including whether a system exists, and for each item: price, supply, rarity multiplier, and location multiplier."
    },
    {
      "name": "getlocdata",
      "type": "getlocdata",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getlocdata\nsummary: 'Get derived location data'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns derived location data including static properties (type, difficulty, seeds) from the game seed and epoch-specific properties (active, seeds) from the current epoch seed."
    },
    {
      "name": "getmodtypes",
      "type": "getmodtypes",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getmodtypes\nsummary: 'Get module type enum values'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full set of module type enum values and their string names (any, engine, generator, gatherer, loader, warp, crafter, launcher, storage, hauler). Used by off-chain tooling to decode module subtype identifiers and slot compatibility."
    },
    {
      "name": "getmodules",
      "type": "getmodules",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getmodules\nsummary: 'Get all module items'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the subset of items classified as modules, including each module's id, mass, subtype, and tier. Used by off-chain tooling to enumerate installable equipment."
    },
    {
      "name": "getnearby",
      "type": "getnearby",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getnearby\nsummary: 'Get nearby reachable systems'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns nearby systems reachable by an entity from its projected location. Returns current state (with completed tasks resolved), projected state (after all scheduled tasks), and a list of reachable systems with distance, energy cost, flight time, and market information."
    },
    {
      "name": "getnftbase",
      "type": "getnftbase",
      "ricardian_contract": ""
    },
    {
      "name": "getnftinfo",
      "type": "getnftinfo",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getnftinfo\nsummary: 'Get NFT schema and template configuration'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full set of AtomicAssets schemas and templates the game contract expects, plus the current `item_id → (template_id, schema_name)` mapping stored in the `nftconfig` table. Used by off-chain tooling to sync atomicassets state with the contract."
    },
    {
      "name": "getplayer",
      "type": "getplayer",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getplayer\nsummary: 'Get player information'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns information about a player including balance, debt, networth, entity counts, and pricing for next purchases. Returns is_player=false if the account has not joined the game."
    },
    {
      "name": "getprojstate",
      "type": "getprojstate",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getprojstate\nsummary: 'Get projected entity state'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the projected state of an entity after applying the next task_count scheduled tasks (or all tasks if task_count is omitted). Used by off-chain tooling to preview the result of an entity's schedule without resolving on-chain."
    },
    {
      "name": "getrecipe",
      "type": "getrecipe",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getrecipe\nsummary: 'Get a single crafting recipe'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the recipe whose output matches the given item id, including its inputs, blend weights, stat slots, and resolved item mass info. Used by off-chain tooling to display crafting requirements."
    },
    {
      "name": "getrecipes",
      "type": "getrecipes",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getrecipes\nsummary: 'List crafting recipes'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns a paginated list of crafting recipes starting at the provided lower bound output item id, up to the specified limit. Each entry includes inputs, blend weights, stat slots, and resolved item mass info."
    },
    {
      "name": "getrescats",
      "type": "getrescats",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getrescats\nsummary: 'Get resource category enum values'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the full set of resource category enum values and their string names (ore, gas, regolith, biomass, crystal). Used by off-chain tooling to decode resource subtype identifiers."
    },
    {
      "name": "getreserves",
      "type": "getreserves",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getreserves\nsummary: 'Get current reserve modifications at a location'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns the chain's modifications to derived reserves at the given coordinate for the current epoch as a list of {stratum, remaining} pairs. Strata not present in the response use their derived initial reserve. Compose with SDK derivation to get the full per-location strata view."
    },
    {
      "name": "getresources",
      "type": "getresources",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getresources\nsummary: 'Get all resource items'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the subset of items classified as resources, including each resource's id, mass, subtype, and tier. Used by off-chain tooling to enumerate gatherable materials."
    },
    {
      "name": "getslots",
      "type": "getslots",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getslots\nsummary: 'Get entity slot layouts'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the module slot layout for every entity item type, listing the ordered slot types available for module installation. Used by off-chain tooling to determine which module types are compatible with a given entity hull."
    },
    {
      "name": "getstratum",
      "type": "getstratum",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getstratum\nsummary: 'Get resource stratum data'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action returns resource stratum data for a specific depth layer at a coordinate, including the stratum seed info and derived resource stats."
    },
    {
      "name": "getsummaries",
      "type": "getsummaries",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: getsummaries\nsummary: 'Get entity summaries for a player'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nReturns lightweight summaries of all entities owned by a player including type, id, owner, name, location, and idle status. Optionally filter by entity type."
    },
    {
      "name": "grouptravel",
      "type": "grouptravel",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: grouptravel\nsummary: 'Move multiple entities together'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInitiate group travel for multiple entities to a destination. All entities must be at the same location and owned by the caller. At least one entity with engines is required to provide thrust. Flight duration is calculated from combined thrust and total mass of all entities. Creates an entitygroup for atomic resolution and cancellation."
    },
    {
      "name": "hash",
      "type": "hash",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: hash\nsummary: 'Calculate sha256 hash'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCalculates the sha256 hash of a string based using the game seed."
    },
    {
      "name": "hash512",
      "type": "hash512",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: hash512\nsummary: 'Calculate sha512 hash'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCalculates the sha512 hash of a string based using the game seed."
    },
    {
      "name": "importcargo",
      "type": "importcargo",
      "ricardian_contract": ""
    },
    {
      "name": "importentity",
      "type": "importentity",
      "ricardian_contract": ""
    },
    {
      "name": "importgroup",
      "type": "importgroup",
      "ricardian_contract": ""
    },
    {
      "name": "importplayer",
      "type": "importplayer",
      "ricardian_contract": ""
    },
    {
      "name": "importreserve",
      "type": "importreserve",
      "ricardian_contract": ""
    },
    {
      "name": "importstate",
      "type": "importstate",
      "ricardian_contract": ""
    },
    {
      "name": "join",
      "type": "join",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: join\nsummary: 'Join a game'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nJoin a game of Shipload"
    },
    {
      "name": "nftimgurl",
      "type": "nftimgurl",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: nftimgurl\nsummary: 'Get NFT image URL for a cargo item'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis is a read-only query that returns the image URL the contract emits for a given cargo item, optionally scoped to a location. Used by off-chain tooling and NFT renderers to fetch the canonical artwork for an item or packed entity."
    },
    {
      "name": "notify",
      "type": "notify",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: notify\nsummary: 'Task lifecycle notification'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action that notifies entity owners of task lifecycle events (resolved, cancelled). Called inline when tasks change state. Uses require_recipient to enable off-chain monitoring via action traces."
    },
    {
      "name": "placecargo",
      "type": "placecargo",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: placecargo\nsummary: 'Restore NFT cargo onto a host entity'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action called inline by the platform contract only. Restores the cargo recorded in an unwrapped NFT onto a host entity. Validates host ownership, loaders, and remaining capacity, deserializes the NFT's item data, and appends an unwrap task to deliver the cargo to the host. The platform contract credits the deposit refund and burns the asset. Requires contract authority."
    },
    {
      "name": "placeentity",
      "type": "placeentity",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: placeentity\nsummary: 'Materialize a packed-entity NFT as a live entity'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action called inline by the platform contract only. Emplaces a live orbital vessel (ship or container) from its packed-entity NFT data at the recorded wrap origin, then queues travel and recharge tasks to deliver it to the target nexus at full energy. The platform contract credits the deposit refund and burns the asset. Requires contract authority."
    },
    {
      "name": "recharge",
      "type": "recharge",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: recharge\nsummary: 'Recharge ship energy'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nSchedule a recharge task for an entity to restore energy to full capacity. The recharge duration depends on current energy level and recharge rate."
    },
    {
      "name": "refrshentity",
      "type": "refrshentity",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: refrshentity\nsummary: 'Refresh derived entity state'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nRecompute derived fields on an entity from its current cargo and modules, refreshing capability stats and cargo mass. The entity must be idle with no scheduled tasks. Used to reconcile derived state after data migrations or contract upgrades."
    },
    {
      "name": "removeoracle",
      "type": "removeoracle",
      "ricardian_contract": ""
    },
    {
      "name": "resolve",
      "type": "resolve",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: resolve\nsummary: 'Complete scheduled tasks'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nResolve completed tasks in an entity's schedule, applying their effects (recharge energy, update location, load/unload cargo). If count is specified, resolve exactly that many tasks; otherwise resolve all completed tasks. Fails if count exceeds the number of completed tasks."
    },
    {
      "name": "reveal",
      "type": "reveal",
      "ricardian_contract": ""
    },
    {
      "name": "rmmodule",
      "type": "rmmodule",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: rmmodule\nsummary: 'Remove a module from a slot'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nRemove an installed module from a slot on a live entity or a packed entity in cargo. The entity must be idle with no scheduled tasks. The module is returned to cargo. Fails if the entity does not have enough cargo capacity to hold the returned module."
    },
    {
      "name": "rmnftcfg",
      "type": "rmnftcfg",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: rmnftcfg\nsummary: 'Remove NFT template mapping for an item'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nRemove the AtomicAssets template mapping for the specified item id from the `nftconfig` table. After removal the item can no longer be wrapped or unwrapped until a new mapping is set. Requires contract authority."
    },
    {
      "name": "setnftcfg",
      "type": "setnftcfg",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: setnftcfg\nsummary: 'Set NFT template mapping for an item'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nBind an item id to an AtomicAssets template id and schema name. Used to configure how the contract mints and recognizes NFTs for a given item. Inserts a new mapping if one does not exist, or updates the existing mapping. Requires contract authority."
    },
    {
      "name": "setthreshold",
      "type": "setthreshold",
      "ricardian_contract": ""
    },
    {
      "name": "setwrapcost",
      "type": "setwrapcost",
      "ricardian_contract": ""
    },
    {
      "name": "setwrapfee",
      "type": "setwrapfee",
      "ricardian_contract": ""
    },
    {
      "name": "stowcargo",
      "type": "stowcargo",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: stowcargo\nsummary: 'Reserve a cargo stack for wrapping into an NFT'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action called inline by the platform contract only. Reserves and consumes a cargo stack on a live entity for wrapping into an NFT. Validates entity ownership, loaders, and presence at the nexus, and confirms the target cargo stack is available and not reserved by a pending task. Computes the wrap cost and fee, debits them from the owner's platform deposit balance, derives the NFT's immutable data, and mints the NFT inline as the game contract before consuming the cargo. Requires contract authority."
    },
    {
      "name": "stowentity",
      "type": "stowentity",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: stowentity\nsummary: 'Reserve an entity for wrapping into an NFT'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInternal action called inline by the platform contract only. Reserves a whole entity (ship, container, or planetary structure) for wrapping into an NFT. The entity must be idle with empty cargo and no scheduled tasks. Computes the wrap cost and fee, debits them from the owner's platform deposit balance, derives the entity NFT's immutable data, mints the NFT inline as the game contract, and erases the entity from the world. Requires contract authority."
    },
    {
      "name": "transfer",
      "type": "transfer",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: transfer\nsummary: 'Transfer cargo between entities'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nTransfer cargo between two entities at the same location. Both entities must be owned by the caller and at least one must have loaders. Creates load and unload tasks on both entities with duration based on combined loader capacity and Z-distance between them."
    },
    {
      "name": "travel",
      "type": "travel",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: travel\nsummary: 'Move a ship'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInitiate travel of an entity from its current location to a new destination."
    },
    {
      "name": "undeploy",
      "type": "undeploy",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: undeploy\nsummary: 'Pack a deployed entity into a host'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nPack an entity into a host entity's cargo as a packed-entity item. Host and target must share the same owner and coordinates, the host must have loaders and enough capacity for the packed mass, and the target must be idle with empty cargo. Creates an entitygroup and schedules undeploy tasks on both entities; on resolution the target is erased and the packed entity is added to the host's cargo. Inverse of deploy."
    },
    {
      "name": "warp",
      "type": "warp",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: warp\nsummary: 'Warp to a destination'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInstantly teleport an entity to a destination system. Requires warp capability, full energy, empty cargo, and an empty schedule. The destination must be a valid system within warp range. Resolves immediately as a zero-duration task."
    },
    {
      "name": "wipe",
      "type": "wipe",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: wipe\nsummary: 'DEBUG: wipe action'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---"
    }
  ],
  "tables": [
    {
      "name": "cargo",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "cargo_row"
    },
    {
      "name": "commit",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "commit_row"
    },
    {
      "name": "entity",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "entity_row"
    },
    {
      "name": "entitygroup",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "entitygroup_row"
    },
    {
      "name": "entityseq",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "entity_seq_row"
    },
    {
      "name": "epoch",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "epoch_row"
    },
    {
      "name": "nftconfig",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "nftconfig_row"
    },
    {
      "name": "oraclecfg",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "oracle_config_row"
    },
    {
      "name": "oracles",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "oracle_row"
    },
    {
      "name": "player",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "player_row"
    },
    {
      "name": "reserve",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "reserve_row"
    },
    {
      "name": "reveal",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "reveal_row"
    },
    {
      "name": "state",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "state_row"
    },
    {
      "name": "types",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "types_row"
    },
    {
      "name": "wrapconfig",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "wrapconfig_row"
    },
    {
      "name": "wrapcost",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "wrapcost_row"
    }
  ],
  "ricardian_clauses": [
    {
      "id": "Shipload (Server)",
      "body": "Shipload (Server)"
    }
  ],
  "error_messages": [],
  "abi_extensions": [],
  "variants": [],
  "action_results": [
    {
      "name": "buildplot",
      "result_type": "task_results"
    },
    {
      "name": "cancel",
      "result_type": "cancel_results"
    },
    {
      "name": "claimplot",
      "result_type": "task_results"
    },
    {
      "name": "craft",
      "result_type": "task_results"
    },
    {
      "name": "demolish",
      "result_type": "task_results"
    },
    {
      "name": "deploy",
      "result_type": "task_results"
    },
    {
      "name": "descentity",
      "result_type": "string"
    },
    {
      "name": "gather",
      "result_type": "task_results"
    },
    {
      "name": "getconfig",
      "result_type": "game_config"
    },
    {
      "name": "getdeposit",
      "result_type": "extended_asset"
    },
    {
      "name": "geteligible",
      "result_type": "uint16[]"
    },
    {
      "name": "getentcls",
      "result_type": "enum_result"
    },
    {
      "name": "getentities",
      "result_type": "entity_info[]"
    },
    {
      "name": "getentity",
      "result_type": "entity_info"
    },
    {
      "name": "getitemdata",
      "result_type": "itemdata_result"
    },
    {
      "name": "getitemids",
      "result_type": "item_ids_result"
    },
    {
      "name": "getitems",
      "result_type": "items_info"
    },
    {
      "name": "getitemtype",
      "result_type": "uint8"
    },
    {
      "name": "getitemtypes",
      "result_type": "enum_result"
    },
    {
      "name": "getkindmeta",
      "result_type": "kind_meta_result"
    },
    {
      "name": "getlocation",
      "result_type": "location_info"
    },
    {
      "name": "getlocdata",
      "result_type": "location_derived"
    },
    {
      "name": "getmodtypes",
      "result_type": "enum_result"
    },
    {
      "name": "getmodules",
      "result_type": "modules_result"
    },
    {
      "name": "getnearby",
      "result_type": "nearby_info"
    },
    {
      "name": "getnftbase",
      "result_type": "string[]"
    },
    {
      "name": "getnftinfo",
      "result_type": "nftinfo_result"
    },
    {
      "name": "getplayer",
      "result_type": "player_info"
    },
    {
      "name": "getprojstate",
      "result_type": "projected_state"
    },
    {
      "name": "getrecipe",
      "result_type": "recipes_result"
    },
    {
      "name": "getrecipes",
      "result_type": "recipes_result"
    },
    {
      "name": "getrescats",
      "result_type": "enum_result"
    },
    {
      "name": "getreserves",
      "result_type": "stratum_remaining[]"
    },
    {
      "name": "getresources",
      "result_type": "resources_result"
    },
    {
      "name": "getslots",
      "result_type": "entity_layouts_result"
    },
    {
      "name": "getstratum",
      "result_type": "stratum_data"
    },
    {
      "name": "getsummaries",
      "result_type": "entity_summary[]"
    },
    {
      "name": "grouptravel",
      "result_type": "task_results"
    },
    {
      "name": "hash",
      "result_type": "checksum256"
    },
    {
      "name": "hash512",
      "result_type": "checksum512"
    },
    {
      "name": "nftimgurl",
      "result_type": "string"
    },
    {
      "name": "placecargo",
      "result_type": "task_results"
    },
    {
      "name": "placeentity",
      "result_type": "task_results"
    },
    {
      "name": "recharge",
      "result_type": "task_results"
    },
    {
      "name": "resolve",
      "result_type": "resolve_results"
    },
    {
      "name": "stowcargo",
      "result_type": "task_results"
    },
    {
      "name": "stowentity",
      "result_type": "task_results"
    },
    {
      "name": "transfer",
      "result_type": "task_results"
    },
    {
      "name": "travel",
      "result_type": "task_results"
    },
    {
      "name": "undeploy",
      "result_type": "task_results"
    },
    {
      "name": "warp",
      "result_type": "task_results"
    }
  ]
}