noble

package module
v11.0.0-beta.0 Latest Latest
Warning

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

Go to latest
Published: Aug 25, 2025 License: Apache-2.0 Imports: 138 Imported by: 0

Documentation

Index

Constants

View Source
const PermissionedAccount = "noble18vx4czzv4rgrfhm0pzhwu5janjdh4ssdkpu8vr"

PermissionedAccount is the account allowed to perform liquidity actions on Noble.

Variables

View Source
var AppConfigYAML []byte
View Source
var DefaultNodeHome string

Functions

func AppConfig

func AppConfig() depinject.Config

AppConfig returns the default app config.

func NewAnteHandler

func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error)

NewAnteHandler extends the default Cosmos SDK AnteHandler with custom ante decorators.

func NewSigVerificationDecorator

func NewSigVerificationDecorator(options HandlerOptions) sdk.AnteDecorator

func SigVerificationGasConsumer

func SigVerificationGasConsumer(meter storetypes.GasMeter, sig signing.SignatureV2, params authtypes.Params) error

SigVerificationGasConsumer is a custom implementation of the signature verification gas consumer to handle public keys defined in the Forwarding module.

Types

type App

type App struct {
	*runtime.App

	// Cosmos Modules
	AccountKeeper   authkeeper.AccountKeeper
	AuthzKeeper     authzkeeper.Keeper
	BankKeeper      bankkeeper.Keeper
	ConsensusKeeper consensuskeeper.Keeper
	CrisisKeeper    *crisiskeeper.Keeper
	EvidenceKeeper  evidencekeeper.Keeper
	FeeGrantKeeper  feegrantkeeper.Keeper
	ParamsKeeper    paramskeeper.Keeper
	SlashingKeeper  slashingkeeper.Keeper
	StakingKeeper   *stakingkeeper.Keeper
	UpgradeKeeper   *upgradekeeper.Keeper
	// IBC Modules
	CapabilityKeeper *capabilitykeeper.Keeper
	IBCKeeper        *ibckeeper.Keeper
	ICAHostKeeper    icahostkeeper.Keeper
	PFMKeeper        *pfmkeeper.Keeper
	RateLimitKeeper  ratelimitkeeper.Keeper
	TransferKeeper   transferkeeper.Keeper
	// Circle Modules
	CCTPKeeper *cctpkeeper.Keeper
	FTFKeeper  *ftfkeeper.Keeper
	// Ondo Modules
	AuraKeeper *aurakeeper.Keeper
	// Hashnote Modules
	HaloKeeper *halokeeper.Keeper
	// Hyperlane Modules
	HyperlaneKeeper *hyperlanekeeper.Keeper
	WarpKeeper      warpkeeper.Keeper
	// Monerium Modules
	FlorinKeeper *florinkeeper.Keeper
	// Noble Modules
	AuthorityKeeper  *authoritykeeper.Keeper
	DollarKeeper     *dollarkeeper.Keeper
	ForwardingKeeper *forwardingkeeper.Keeper
	GlobalFeeKeeper  *globalfeekeeper.Keeper
	OrbiterKeeper    *orbiterkeeper.Keeper
	SwapKeeper       *swapkeeper.Keeper
	WormholeKeeper   *wormholekeeper.Keeper
	// contains filtered or unexported fields
}

App defines the interface of Noble's Cosmos SDK-based application that extends the default ABCI interface.

func InitAppForTestnet

func InitAppForTestnet(app *App, pubKey crypto.PubKey, rawConsensusAddress bytes.HexBytes, rawOperatorAddress string, upgradeToTrigger string) *App

InitAppForTestnet executes the necessary state transitions on the provided application in order to start an in-place testnet.

func NewApp

func NewApp(
	logger log.Logger,
	db dbm.DB,
	traceStore io.Writer,
	loadLatest bool,
	appOpts servertypes.AppOptions,
	baseAppOptions ...func(*baseapp.BaseApp),
) (*App, error)

NewApp initializes and returns a new Noble application.

func (*App) ExportAppStateAndValidators

func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)

ExportAppStateAndValidators exports the state of the application for a genesis file.

func (*App) GetKey

func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey

func (*App) GetMemKey

func (app *App) GetMemKey(memKey string) *storetypes.MemoryStoreKey

func (*App) GetSubspace

func (app *App) GetSubspace(moduleName string) paramstypes.Subspace

func (*App) LegacyAmino

func (app *App) LegacyAmino() *codec.LegacyAmino

func (*App) RegisterAPIRoutes

func (app *App) RegisterAPIRoutes(apiSvr *serverapi.Server, apiConfig serverconfig.APIConfig)

func (*App) RegisterLegacyModules

func (app *App) RegisterLegacyModules() error

func (*App) RegisterOrbiterControllers

func (app *App) RegisterOrbiterControllers()

func (*App) RegisterUpgradeHandler

func (app *App) RegisterUpgradeHandler() error

func (*App) SimulationManager

func (app *App) SimulationManager() *module.SimulationManager

type BankKeeper

type BankKeeper interface {
	authtypes.BankKeeper
	forwardingtypes.BankKeeper
}

type HandlerOptions

type HandlerOptions struct {
	ante.HandlerOptions

	BankKeeper BankKeeper
	FTFKeeper  *ftfkeeper.Keeper
	IBCKeeper  *ibckeeper.Keeper
	// contains filtered or unexported fields
}

HandlerOptions extends the options required by the default Cosmos SDK AnteHandler for our custom ante decorators.

type PermissionedHyperlaneDecorator

type PermissionedHyperlaneDecorator struct{}

PermissionedHyperlaneDecorator is a custom ante handler that permissions all Hyperlane actions on Noble.

func NewPermissionedHyperlaneDecorator

func NewPermissionedHyperlaneDecorator() PermissionedHyperlaneDecorator

func (PermissionedHyperlaneDecorator) AnteHandle

func (d PermissionedHyperlaneDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

func (PermissionedHyperlaneDecorator) CheckMessage

func (d PermissionedHyperlaneDecorator) CheckMessage(msg sdk.Msg) error

type PermissionedLiquidityDecorator

type PermissionedLiquidityDecorator struct{}

PermissionedLiquidityDecorator is a custom ante handler that permissions all liquidity actions on Noble.

func NewPermissionedLiquidityDecorator

func NewPermissionedLiquidityDecorator() PermissionedLiquidityDecorator

func (PermissionedLiquidityDecorator) AnteHandle

func (d PermissionedLiquidityDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error)

func (PermissionedLiquidityDecorator) CheckMessage

func (d PermissionedLiquidityDecorator) CheckMessage(msg sdk.Msg) error

type ProposalHandler

type ProposalHandler struct {
	// contains filtered or unexported fields
}

func NewProposalHandler

func NewProposalHandler(
	app *baseapp.BaseApp,
	mempool mempool.Mempool,
	preBlocker sdk.PreBlocker,
	txConfig client.TxConfig,
	jesterClient jester.QueryServiceClient,
	dollarKeeper *dollarkeeper.Keeper,
	wormholeKeeper *wormholekeeper.Keeper,
) *ProposalHandler

func (*ProposalHandler) PreBlocker

func (h *ProposalHandler) PreBlocker() sdk.PreBlocker

PreBlocker processes all injected $USDN transfers from Jester.

func (*ProposalHandler) PrepareProposal

func (h *ProposalHandler) PrepareProposal() sdk.PrepareProposalHandler

PrepareProposal is the logic called by the current block proposer to prepare a block proposal. Noble modifies this by making a request to our sidecar service, Jester, to check if there are any outstanding $USDN transfers that need to be relayed to Noble. These transfers (in the form of Wormhole VAAs) are injected as the first transaction of the block, and are later processed by the PreBlocker handler.

Directories

Path Synopsis
cmd
nobled command

Jump to

Keyboard shortcuts

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