Vessel Registry
Address: [-------------]
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░█████╗░██╗░░░░░░█████╗░░██████╗██╗░░██╗░█████╗░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██╔══██╗██║░░░░░██╔══██╗██╔════╝██║░██╔╝██╔══██╗░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░███████║██║░░░░░███████║╚█████╗░█████═╝░███████║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██╔══██║██║░░░░░██╔══██║░╚═══██╗██╔═██╗░██╔══██║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░██║░░██║███████╗██║░░██║██████╔╝██║░╚██╗██║░░██║░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░╚═╝░░╚═╝╚══════╝╚═╝░░╚═╝╚═════╝░╚═╝░░╚═╝╚═╝░░╚═╝░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ ░░░░░░░░░ █░█ █▀▀ █▀ █▀ █▀▀ █░░ █▀█ █▀▀ █▀▀ █ █▀ ▀█▀ █▀█ █▄█ ░░░░░░░░░ ▀▄▀ ██▄ ▄█ ▄█ ██▄ █▄▄ █▀▄ ██▄ █▄█ █ ▄█ ░█░ █▀▄ ░█░ ░░░░░░░░░ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░IDL
type VesselRegistry = service { deployToAlaska: () -> (); getVessel: (VesselId) -> (opt Vessel) query; getVesselAddressById: (VesselId) -> (principal) query; getVesselIDByAddress: (principal) -> (VesselId) query; getVesselItemApprove: (VesselId, nat) -> (principal); getVesselItemOwner: (VesselId, nat) -> (principal); getVesselItems: (VesselId) -> (vec reserved); getVessels: () -> (vec record { VesselId; Vessel; }) query; indexVessel: (IndexVessel) -> (VesselId); itemExists: (VesselId, nat) -> (bool); vesselExists: (principal) -> (bool) query; vesselItemExists: (VesselId, nat) -> (bool); vesselItemTransfer: (VesselId, nat, principal, principal) -> (bool); whoami: () -> (principal); };type VesselInfo = record { description: text; logo: text; meta_keywords: vec text; name: text; recommanded_protocols: vec principal; symbol: text; };type VesselId = nat;type Vessel = record { address: principal; history_address: principal; id: nat; indexed_at: Time; info: VesselInfo; };type Time = int;type IndexVessel = record {address: text;};service : (text) -> VesselRegistryGetters
getVessels
Returns array of indexed Vessels.
@returns [(T.VesselId, T.Vessel)]
@parameters ()
getVessel
Returns Vessel that matches the ID or null if not found.
@returns ?T.Vessel
@parameters (id: T.VesselId)
getVesselAddressById
Returns Vessel's Address that matches the ID.
@returns Principal
@parameters (id: T.VesselId)
getVesselIDByAddress
Returns Vessel's ID that matches the Address/Principal.
@returns T.VesselId
@parameters (p: Principal)
getVesselItems
Returns items in a vessel.
@returns [Any]
@parameters (vessel_id: T.VesselId)
@alpha
getVesselItemApprove
Returns the Principal if item is approve to any Principal.
@returns Principal
@parameters (vessel_id: T.VesselId, item_id: Nat)
vesselExists
Returns true if the Vessel exists with the given VesselID.
@returns Bool
@parameters (vessel_id: Principal)
itemExists
Returns true if the items exists with the given VesselID and ItemID.
@returns Bool
@parameters (vessel_id: T.VesselId, item_id: Nat)
vesselItemExists
SAME AS ABOVE FUNCTION.
@returns Bool
@parameters (vessel_id: T.VesselId, item_id: Nat)
Setters
indexVessel
Let you index your own Vessel.
@returns T.VesselId
@parameters (vessel: T.IndexVessel)
vesselItemTransfer
Returns array of indexed protocols.
@returns Bool
@parameters (vessel_id: T.VesselId, item_id: Nat, from: Principal, to: Principal)
@alpha