// Allows data host to bond with asset
type MsgHostBond struct {
Amount cosmos.Uint
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
Signer cosmos.AccAddress
}
// Allows data host to unbond with asset
type MsgHostUnbond struct {
Amount cosmos.Uint
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
Signer cosmos.AccAddress
}
// This message registers a new DataHost on-chain, or updates the existing DataHost’s record on-chain. This message costs 1 NT to perform, and locks up the current [DataHostBondAmount](<https://shapeshift.notion.site/KVStore-Items-beac5689487342cebc24dec89c55cc2e>) from the account registering this host on-chain.
type MsgHostRegistration struct {
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
Signer cosmos.AccAddress
}
// update the configuration of a host
type MsgHostConfig struct {
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
MetadataURI string
MetadataNonce int // each time the metadata is changed, the data host should update this nonce
Status enum // online, offline
SubscriptionRate int // tokens per block
PayAsYouGoRate int // tokens per request
MaxContractDuration int // maximum duration a contract can be opened for
Signer cosmos.AccAddress
}
// claim income from a contract
type MsgHostClaimSubscription struct {
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
Client common.Address // address that can make these queries
Signer cosmos.AccAddress
}
type MsgHostClaimPayAsYouGo struct {
Chain common.Chain // The symbol of the native token of the blockchain being registered (e.g. BTC or ETH, etc.)
Pubkey common.Pubkey // The public key of the server being registered. Must match signer
Client common.Address // address that can make these queries
Signer cosmos.AccAddress
}