/** * Access control list (acl) module. An acl is a list of account addresses who * have the access permission to a certain object. * This module uses a `vector` to represent the list, but can be refactored to * use a "set" instead when it's available in the language in the future. * * **Module ID:** `0x1::acl` * * @module */ import type * as p from "@movingco/prelude"; /** Type name: `0x1::acl::ACL` */ export interface IACL { list: ReadonlyArray; } export { idl } from "./idl.js"; /** The address of the module. */ export const ADDRESS = "0x1" as const; /** The full module name. */ export const FULL_NAME = "0x1::acl" as const; /** The name of the module. */ export const NAME = "acl" as const; /** Module ID information. */ export const id = { ADDRESS, FULL_NAME, NAME, } as const; export * as errors from "./errors.js"; /** Module error codes. */ export const errorCodes = { "0": { name: "ECONTAIN", doc: "The ACL already contains the address.", }, "1": { name: "ENOT_CONTAIN", doc: "The ACL does not contain the address.", }, } as const; /** All module function IDLs. */ export const functions = {} as const; /** All struct types with ability `key`. */ export const resources = {} as const; /** All struct types. */ export const structs = { ACL: "0x1::acl::ACL", } as const; /** Payload generators for module `0x1::acl`. */ const moduleImpl = { ...id, errorCodes, functions, resources, structs, } as const; /** * Access control list (acl) module. An acl is a list of account addresses who * have the access permission to a certain object. * This module uses a `vector` to represent the list, but can be refactored to * use a "set" instead when it's available in the language in the future. */ export const moduleDefinition = moduleImpl as p.MoveModuleDefinition< "0x1", "acl" > as typeof moduleImpl;