Vaulta

agc.shipload

Contract

{
  "version": "eosio::abi/1.2",
  "types": [],
  "structs": [
    {
      "name": "advance",
      "base": "",
      "fields": [
        {
          "name": "reveal",
          "type": "string"
        },
        {
          "name": "commit",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "arrive",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "buygoods",
      "base": "",
      "fields": [
        {
          "name": "ship_id",
          "type": "uint64"
        },
        {
          "name": "good_id",
          "type": "uint64"
        },
        {
          "name": "quantity",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "buyship",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "name",
          "type": "string"
        }
      ]
    },
    {
      "name": "cargo_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "ship_id",
          "type": "uint64"
        },
        {
          "name": "good_id",
          "type": "uint64"
        },
        {
          "name": "paid",
          "type": "uint64"
        },
        {
          "name": "owned",
          "type": "uint32"
        },
        {
          "name": "loaded",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "cleartable",
      "base": "",
      "fields": [
        {
          "name": "table_name",
          "type": "name"
        },
        {
          "name": "scope",
          "type": "name?"
        },
        {
          "name": "max_rows",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "commit",
      "base": "",
      "fields": [
        {
          "name": "commit",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "coordinates",
      "base": "",
      "fields": [
        {
          "name": "x",
          "type": "int64"
        },
        {
          "name": "y",
          "type": "int64"
        }
      ]
    },
    {
      "name": "enable",
      "base": "",
      "fields": [
        {
          "name": "enabled",
          "type": "bool"
        }
      ]
    },
    {
      "name": "good_price",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint16"
        },
        {
          "name": "price",
          "type": "uint64"
        },
        {
          "name": "supply",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "hash",
      "base": "",
      "fields": [
        {
          "name": "value",
          "type": "string"
        }
      ]
    },
    {
      "name": "hash512",
      "base": "",
      "fields": [
        {
          "name": "value",
          "type": "string"
        }
      ]
    },
    {
      "name": "init",
      "base": "",
      "fields": [
        {
          "name": "seed",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "jettison",
      "base": "",
      "fields": [
        {
          "name": "ship_id",
          "type": "uint64"
        },
        {
          "name": "good_id",
          "type": "uint16"
        },
        {
          "name": "quantity",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "join",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        }
      ]
    },
    {
      "name": "loader_stats",
      "base": "",
      "fields": [
        {
          "name": "mass",
          "type": "uint32"
        },
        {
          "name": "quantity",
          "type": "uint16"
        },
        {
          "name": "thrust",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "location_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "coordinates",
          "type": "coordinates"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "good_id",
          "type": "uint16"
        },
        {
          "name": "supply",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "marketprice",
      "base": "",
      "fields": [
        {
          "name": "location",
          "type": "coordinates"
        },
        {
          "name": "good_id",
          "type": "uint16"
        }
      ]
    },
    {
      "name": "marketprices",
      "base": "",
      "fields": [
        {
          "name": "location",
          "type": "coordinates"
        }
      ]
    },
    {
      "name": "payloan",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "player_row",
      "base": "",
      "fields": [
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "balance",
          "type": "uint64"
        },
        {
          "name": "debt",
          "type": "uint64"
        },
        {
          "name": "networth",
          "type": "int64"
        }
      ]
    },
    {
      "name": "purgesupply",
      "base": "",
      "fields": [
        {
          "name": "max_rows",
          "type": "uint64?"
        }
      ]
    },
    {
      "name": "salt",
      "base": "",
      "fields": [
        {
          "name": "salt",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "sellgoods",
      "base": "",
      "fields": [
        {
          "name": "ship_id",
          "type": "uint64"
        },
        {
          "name": "good_id",
          "type": "uint64"
        },
        {
          "name": "quantity",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "sequence_row",
      "base": "",
      "fields": [
        {
          "name": "key",
          "type": "name"
        },
        {
          "name": "value",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "ship_row",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "owner",
          "type": "name"
        },
        {
          "name": "name",
          "type": "string"
        },
        {
          "name": "location",
          "type": "coordinates"
        },
        {
          "name": "skin",
          "type": "uint8"
        },
        {
          "name": "tier",
          "type": "uint8"
        },
        {
          "name": "state",
          "type": "ship_state"
        },
        {
          "name": "stats",
          "type": "ship_stats"
        },
        {
          "name": "loaders",
          "type": "loader_stats"
        },
        {
          "name": "travelplan",
          "type": "travel_plan?"
        }
      ]
    },
    {
      "name": "ship_state",
      "base": "",
      "fields": [
        {
          "name": "energy",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "ship_stats",
      "base": "",
      "fields": [
        {
          "name": "capacity",
          "type": "uint32"
        },
        {
          "name": "drain",
          "type": "uint32"
        },
        {
          "name": "mass",
          "type": "uint64"
        },
        {
          "name": "maxmass",
          "type": "uint64"
        },
        {
          "name": "orbit",
          "type": "uint16"
        },
        {
          "name": "recharge",
          "type": "uint32"
        },
        {
          "name": "thrust",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "state_row",
      "base": "",
      "fields": [
        {
          "name": "enabled",
          "type": "bool"
        },
        {
          "name": "epoch",
          "type": "uint64"
        },
        {
          "name": "salt",
          "type": "uint64"
        },
        {
          "name": "ships",
          "type": "uint32"
        },
        {
          "name": "seed",
          "type": "checksum256"
        },
        {
          "name": "commit",
          "type": "checksum256"
        }
      ]
    },
    {
      "name": "takeloan",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "travel",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "destination",
          "type": "coordinates"
        },
        {
          "name": "recharge",
          "type": "bool"
        }
      ]
    },
    {
      "name": "travel_plan",
      "base": "",
      "fields": [
        {
          "name": "departure",
          "type": "time_point"
        },
        {
          "name": "destination",
          "type": "coordinates"
        },
        {
          "name": "distance",
          "type": "uint64"
        },
        {
          "name": "flighttime",
          "type": "uint32"
        },
        {
          "name": "loadtime",
          "type": "uint32"
        },
        {
          "name": "rechargetime",
          "type": "uint32"
        },
        {
          "name": "masspenalty",
          "type": "uint32"
        },
        {
          "name": "mass",
          "type": "uint64"
        },
        {
          "name": "energyusage",
          "type": "uint32"
        }
      ]
    },
    {
      "name": "travel_summary",
      "base": "",
      "fields": [
        {
          "name": "stats",
          "type": "ship_stats"
        },
        {
          "name": "loaders",
          "type": "loader_stats"
        },
        {
          "name": "origin",
          "type": "coordinates"
        },
        {
          "name": "destination",
          "type": "coordinates"
        },
        {
          "name": "distance",
          "type": "uint64"
        },
        {
          "name": "totalmass",
          "type": "uint64"
        },
        {
          "name": "acceleration",
          "type": "float64"
        },
        {
          "name": "flighttime",
          "type": "uint32"
        },
        {
          "name": "energyusage",
          "type": "uint32"
        },
        {
          "name": "rechargetime",
          "type": "uint32"
        },
        {
          "name": "masspenalty",
          "type": "uint32"
        },
        {
          "name": "loadtime",
          "type": "uint64"
        },
        {
          "name": "time",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "travelplan",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "origin",
          "type": "coordinates"
        },
        {
          "name": "destination",
          "type": "coordinates"
        },
        {
          "name": "recharge",
          "type": "bool"
        }
      ]
    },
    {
      "name": "traveltime",
      "base": "",
      "fields": [
        {
          "name": "id",
          "type": "uint64"
        },
        {
          "name": "destination",
          "type": "coordinates"
        }
      ]
    },
    {
      "name": "updatecredit",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "int64"
        }
      ]
    },
    {
      "name": "updatedebt",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "amount",
          "type": "int64"
        }
      ]
    },
    {
      "name": "upgradeship",
      "base": "",
      "fields": [
        {
          "name": "account",
          "type": "name"
        },
        {
          "name": "id",
          "type": "uint64"
        }
      ]
    },
    {
      "name": "wipe",
      "base": "",
      "fields": []
    },
    {
      "name": "wipesequence",
      "base": "",
      "fields": []
    }
  ],
  "actions": [
    {
      "name": "advance",
      "type": "advance",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: advance\nsummary: 'Advance turn'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nAdvance the game to the next turn."
    },
    {
      "name": "arrive",
      "type": "arrive",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: arrive\nsummary: 'Complete travel'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nComplete the travel of a ship by updating its location to the destination coordinates after the travel duration has passed.\n\n---"
    },
    {
      "name": "buygoods",
      "type": "buygoods",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: buygoods\nsummary: 'Buy goods'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nPurchase goods and add them to a ship's cargo."
    },
    {
      "name": "buyship",
      "type": "buyship",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: buyship\nsummary: 'Buy a new ship'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nPurchase a new ship"
    },
    {
      "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.\n\n---"
    },
    {
      "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.\n\n---"
    },
    {
      "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.\n\n---"
    },
    {
      "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": "init",
      "type": "init",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: init\nsummary: 'Initialize game seed'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nInitialize a the games seed and seed values to bootstrap game state."
    },
    {
      "name": "jettison",
      "type": "jettison",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: jettison\nsummary: 'Jettison Cargo from Ship'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nJettison cargo from the a ship and recalculate travel time."
    },
    {
      "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\n\n---"
    },
    {
      "name": "marketprice",
      "type": "marketprice",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: marketprice\nsummary: 'Get price of good at location'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action determines the market price of a specified good at a given location.\n\n---"
    },
    {
      "name": "marketprices",
      "type": "marketprices",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: marketprices\nsummary: 'Get price of all goods at location'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nThis action determines the market price of all goods at a given location."
    },
    {
      "name": "payloan",
      "type": "payloan",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: payloan\nsummary: 'Loan Payment'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nMake a payment on an outstanding credit loan."
    },
    {
      "name": "purgesupply",
      "type": "purgesupply",
      "ricardian_contract": ""
    },
    {
      "name": "salt",
      "type": "salt",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: salt\nsummary: 'Append Salt'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nAdd additional salt to the next epoch seed.\n\n---"
    },
    {
      "name": "sellgoods",
      "type": "sellgoods",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: sellgoods\nsummary: 'Sell goods'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nSell goods from a ship's cargo.\n\n---"
    },
    {
      "name": "takeloan",
      "type": "takeloan",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: takeloan\nsummary: 'Credit Loan'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nBorrow credits from the bank that will need to be repaid."
    },
    {
      "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 a ship from its current location to a new destination.\n\n---\n\nThis action determines the market price of all goods at a given location."
    },
    {
      "name": "travelplan",
      "type": "travelplan",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: travelplan\nsummary: 'Estimate a travel plan'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nCalculate what the travel plan is for a ship traveling to a given location.\n\n---"
    },
    {
      "name": "traveltime",
      "type": "traveltime",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: traveltime\nsummary: 'Estimate Travel Time'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nEstimate the duration of a ship traveling without committing to the action.\n\n---"
    },
    {
      "name": "updatecredit",
      "type": "updatecredit",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: updatecredit\nsummary: 'DEBUG: updatecredit action'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---"
    },
    {
      "name": "updatedebt",
      "type": "updatedebt",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: updatedebt\nsummary: 'DEBUG: updatedebt action'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---"
    },
    {
      "name": "upgradeship",
      "type": "upgradeship",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: upgradeship\nsummary: 'Upgrade a Ship'\nicon: https://avatars.githubusercontent.com/u/147292861?s=400&u=3b1af66e90dd851f4d7c096ed6a2fbb4b9e190da\n\n---\n\nUpgrade a ship to the next tier."
    },
    {
      "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---"
    },
    {
      "name": "wipesequence",
      "type": "wipesequence",
      "ricardian_contract": "---\n\nspec_version: \"0.2.0\"\ntitle: wipesequence\nsummary: 'DEBUG: wipesequence 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": "location",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "location_row"
    },
    {
      "name": "player",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "player_row"
    },
    {
      "name": "sequence",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "sequence_row"
    },
    {
      "name": "ship",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "ship_row"
    },
    {
      "name": "state",
      "index_type": "i64",
      "key_names": [],
      "key_types": [],
      "type": "state_row"
    }
  ],
  "ricardian_clauses": [
    {
      "id": "Shipload (Server)",
      "body": "Shipload (Server)"
    }
  ],
  "error_messages": [],
  "abi_extensions": [],
  "variants": [],
  "action_results": [
    {
      "name": "hash",
      "result_type": "checksum256"
    },
    {
      "name": "hash512",
      "result_type": "checksum512"
    },
    {
      "name": "marketprice",
      "result_type": "good_price"
    },
    {
      "name": "marketprices",
      "result_type": "good_price[]"
    },
    {
      "name": "travelplan",
      "result_type": "travel_plan"
    },
    {
      "name": "traveltime",
      "result_type": "travel_summary"
    }
  ]
}