rmn_remote

package
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Index

Constants

View Source
const ContractType = "RmnRemote"

ContractType labels RMN Remote.

Variables

View Source
var AcceptOwnership = cldfops.NewOperation(
	"rmn-remote:accept-ownership",
	stellarops.ContractDeploymentVersion,
	"Accepts RMN Remote ownership after transfer_ownership",
	func(b cldfops.Bundle, d stellardeps.StellarDeps, in AcceptOwnershipInput) (stellarops.Void, error) {
		c := rmnremotebindings.NewRmnRemoteClient(d.Invoker, in.ContractID)
		if err := c.AcceptOwnership(b.GetContext()); err != nil {
			return stellarops.Void{}, err
		}
		return stellarops.Void{}, nil
	},
)

AcceptOwnership calls `accept_ownership` on RMN Remote.

View Source
var Curse = cldfops.NewOperation(
	"rmn-remote:curse",
	stellarops.ContractDeploymentVersion,
	"Curses subjects on Stellar RMN Remote",
	func(b cldfops.Bundle, d stellardeps.StellarDeps, in CurseInput) (stellarops.Void, error) {
		c := rmnremotebindings.NewRmnRemoteClient(d.Invoker, in.ContractID)
		if err := c.Curse(b.GetContext(), in.Caller, in.Subjects); err != nil {
			return stellarops.Void{}, err
		}
		return stellarops.Void{}, nil
	},
)

Curse calls `curse` on RMN Remote with the given subjects.

View Source
var Deploy = stellarops.NewDeployOperation("rmn-remote:deploy", "Deploys the RMN Remote Soroban contract from WASM")

Deploy uploads rmn_remote.wasm.

View Source
var Initialize = cldfops.NewOperation(
	"rmn-remote:initialize",
	stellarops.ContractDeploymentVersion,
	"Initializes RMN Remote with owner and curse admins",
	func(b cldfops.Bundle, d stellardeps.StellarDeps, in InitializeInput) (stellarops.Void, error) {
		c := rmnremotebindings.NewRmnRemoteClient(d.Invoker, in.ContractID)
		if err := c.Initialize(b.GetContext(), in.Owner, in.CurseAdmins); err != nil {
			return stellarops.Void{}, err
		}
		return stellarops.Void{}, nil
	},
)

Initialize calls RMN Remote `initialize`.

View Source
var TransferOwnership = cldfops.NewOperation(
	"rmn-remote:transfer-ownership",
	stellarops.ContractDeploymentVersion,
	"Transfers RMN Remote ownership to a pending new owner",
	func(b cldfops.Bundle, d stellardeps.StellarDeps, in TransferOwnershipInput) (stellarops.Void, error) {
		c := rmnremotebindings.NewRmnRemoteClient(d.Invoker, in.ContractID)
		if err := c.TransferOwnership(b.GetContext(), in.NewOwner); err != nil {
			return stellarops.Void{}, err
		}
		return stellarops.Void{}, nil
	},
)

TransferOwnership calls `transfer_ownership` on RMN Remote.

View Source
var Uncurse = cldfops.NewOperation(
	"rmn-remote:uncurse",
	stellarops.ContractDeploymentVersion,
	"Uncurses subjects on Stellar RMN Remote",
	func(b cldfops.Bundle, d stellardeps.StellarDeps, in UncurseInput) (stellarops.Void, error) {
		c := rmnremotebindings.NewRmnRemoteClient(d.Invoker, in.ContractID)
		if err := c.Uncurse(b.GetContext(), in.Subjects); err != nil {
			return stellarops.Void{}, err
		}
		return stellarops.Void{}, nil
	},
)

Uncurse calls `uncurse` on RMN Remote with the given subjects.

Functions

This section is empty.

Types

type AcceptOwnershipInput

type AcceptOwnershipInput struct {
	ContractID string `json:"contract_id"`
}

AcceptOwnershipInput completes two-step ownership transfer for the caller.

type CurseInput

type CurseInput struct {
	ContractID string     `json:"contract_id"`
	Caller     string     `json:"caller"`
	Subjects   [][16]byte `json:"subjects"`
}

CurseInput holds the contract ID, curse-admin caller, and subjects to curse.

type InitializeInput

type InitializeInput struct {
	ContractID  string   `json:"contract_id"`
	Owner       string   `json:"owner"`
	CurseAdmins []string `json:"curse_admins,omitempty"`
}

InitializeInput configures RMN Remote owner and optional curse admins.

type TransferOwnershipInput

type TransferOwnershipInput struct {
	ContractID string `json:"contract_id"`
	NewOwner   string `json:"new_owner"`
}

TransferOwnershipInput starts two-step ownership transfer.

type UncurseInput

type UncurseInput struct {
	ContractID string     `json:"contract_id"`
	Subjects   [][16]byte `json:"subjects"`
}

UncurseInput holds the contract ID and subjects to uncurse (owner-only on chain).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL