Documentation
¶
Index ¶
- Constants
- Variables
- func AppConfig() depinject.Config
- func NewAnteHandler(options HandlerOptions) (sdk.AnteHandler, error)
- func NewSigVerificationDecorator(options HandlerOptions) sdk.AnteDecorator
- func SigVerificationGasConsumer(meter storetypes.GasMeter, sig signing.SignatureV2, params authtypes.Params) error
- type App
- func (app *App) ExportAppStateAndValidators(forZeroHeight bool, jailAllowedAddrs, modulesToExport []string) (servertypes.ExportedApp, error)
- func (app *App) GetKey(storeKey string) *storetypes.KVStoreKey
- func (app *App) GetMemKey(memKey string) *storetypes.MemoryStoreKey
- func (app *App) GetSubspace(moduleName string) paramstypes.Subspace
- func (app *App) LegacyAmino() *codec.LegacyAmino
- func (app *App) RegisterAPIRoutes(apiSvr *serverapi.Server, apiConfig serverconfig.APIConfig)
- func (app *App) RegisterLegacyModules() error
- func (app *App) RegisterOrbiterControllers()
- func (app *App) RegisterUpgradeHandler() error
- func (app *App) SimulationManager() *module.SimulationManager
- type BankKeeper
- type HandlerOptions
- type PermissionedHyperlaneDecorator
- type PermissionedLiquidityDecorator
- type ProposalHandler
Constants ¶
const PermissionedAccount = "noble18vx4czzv4rgrfhm0pzhwu5janjdh4ssdkpu8vr"
PermissionedAccount is the account allowed to perform liquidity actions on Noble.
Variables ¶
var AppConfigYAML []byte
var DefaultNodeHome string
Functions ¶
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) RegisterOrbiterControllers ¶
func (app *App) RegisterOrbiterControllers()
func (*App) RegisterUpgradeHandler ¶
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 (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 (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.