Skip to content

[AA] Enable RicherMoveCall in AuthContext #10270

@miker83z

Description

@miker83z

Example of a RicherMoveCall command:

/// The command for calling a Move function, either an entry function or a
/// public function (which cannot return references).
#[derive(Debug, PartialEq, Eq, Hash, Clone, Serialize, Deserialize)]
pub struct RichProgrammableMoveCall {
    /// The package containing the module and function.
    pub package: ObjectID,
    /// The specific module in the package containing the function.
    pub module: String,
    /// The function to be called.
    pub function: String,
    /// The visibility of this function.
    pub visibility: Visibility,
    /// Marker if the function is intended as an entry function.
    pub is_entry: bool,
    /// The type arguments to the function.
    pub type_arguments: Vec<TypeName>,
    /// The arguments to the function.
    /// This points to Argument::Input or Argument::Result from which
    /// we can extract the TypeName.
    pub arguments: Vec<Argument>,
    /// The returned value of the function. 
    /// Argument::Result and Argument::NestedResult point to this.
    pub returns: Vec<TypeName>,
}
#[derive(Default)]
pub enum Visibility {
    /// Accessible within its defining module only.
    #[default]
    Private = 0x0,
    /// Accessible by any module or script outside of its declaring module.
    Public = 0x1,
    // DEPRECATED for separate entry modifier
    // Accessible by any script or other `Script` functions from any module
    // Script = 0x2,
    /// Accessible by this module as well as modules declared in the friend
    /// list.
    Friend = 0x3,
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    vm-languageIssues related to the VM & Language Team

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions