Documentation
¶
Index ¶
- func ContractOwner(ctx context.Context, deps stellardeps.StellarDeps, ref datastore.AddressRef) (string, error)
- func CurseAdmins(ctx context.Context, deps stellardeps.StellarDeps, ref datastore.AddressRef) ([]string, error)
- func ExecuteAcceptOwnership(b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef) error
- func ExecuteApplyCurseAdminUpdates(b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, ...) error
- func ExecuteTransferOwnership(b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, ...) error
- func ExecuteUpgrade(b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, ...) error
- func NormalizeContractAddress(addr string) (string, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ContractOwner ¶
func ContractOwner(ctx context.Context, deps stellardeps.StellarDeps, ref datastore.AddressRef) (string, error)
ContractOwner returns the current owner address string for a Soroban CCIP contract ref (simulation read). The ref address may be the contract strkey or the hex form the datastore records; it is normalized to the strkey the bindings require.
func CurseAdmins ¶
func CurseAdmins(ctx context.Context, deps stellardeps.StellarDeps, ref datastore.AddressRef) ([]string, error)
CurseAdmins returns the stored curse-admin list for a Soroban contract ref (simulation read). The returned list is the raw stored list: the owner is implicitly curse-authorized on chain but is never inserted into it, and nothing filters it out — treat the owner as authorized independently of the list. Only RMN Remote supports curse admins; other contract types error. The ref address may be the contract strkey or the hex form the datastore records; it is normalized to the strkey the bindings require.
func ExecuteAcceptOwnership ¶
func ExecuteAcceptOwnership(b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef) error
ExecuteAcceptOwnership runs the Soroban accept_ownership op for the contract type in ref.
func ExecuteApplyCurseAdminUpdates ¶
func ExecuteApplyCurseAdminUpdates( b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, added, removed []string, ) error
ExecuteApplyCurseAdminUpdates runs the Soroban apply_curse_admin_updates op for the contract type in ref (owner-only on chain). Only RMN Remote supports curse admins; other contract types error.
func ExecuteTransferOwnership ¶
func ExecuteTransferOwnership( b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, newOwner string, ) error
ExecuteTransferOwnership runs the Soroban transfer_ownership op for the contract type in ref.
func ExecuteUpgrade ¶
func ExecuteUpgrade( b cldfops.Bundle, deps stellardeps.StellarDeps, ref datastore.AddressRef, newWasmHash [32]byte, ) error
ExecuteUpgrade runs the Soroban in-place `upgrade` op for the contract type in ref, swapping the contract's Wasm to newWasmHash. Covers all 18 upgradeable CCIP contracts (17 core + the ccip_receiver example). Unlike ExecuteTransferOwnership this includes executor and advanced_pool_hooks (both have Upgrade ops); cre_forwarder is excluded — it has no Upgrade binding.
func NormalizeContractAddress ¶
NormalizeContractAddress accepts a datastore ref address in either recorded form — a contract strkey, or the hex encoding the datastore Record* helpers store deployed contract IDs as — and returns the strkey the Soroban ops and the MCMS transaction targets require. Anything else is rejected: guessing an address form here would build a proposal that fails on chain at execute time instead of failing at build time with the actual input named.
Types ¶
This section is empty.