# proto - devgas

# Table of Contents

Top

# nibiru/devgas/v1/devgas.proto

# FeeShare

FeeShare defines an instance that organizes fee distribution conditions for the owner of a given smart contract

Field Type Label Description
contract_address string contract_address is the bech32 address of a registered contract in string form
deployer_address string deployer_address is the bech32 address of message sender. It must be the same as the contracts admin address.
withdrawer_address string withdrawer_address is the bech32 address of account receiving the transaction fees.

Top

# nibiru/devgas/v1/event.proto

# EventCancelDevGas

ABCI event emitted when a deployer cancels fee sharing for a contract, specifying the deployer and contract addresses.

Field Type Label Description
deployer string deployer is the addess of the account that registered the smart contract to receive dev gas royalties.
contract string Address of the smart contract. This identifies the specific contract that will receive fee sharing payouts.

# EventPayoutDevGas

ABCI event emitted when fee sharing payouts are made, containing details on the payouts in JSON format.

Field Type Label Description
payouts string

# EventRegisterDevGas

ABCI event emitted when a deployer registers a contract to receive fee sharing payouts, specifying the deployer, contract, and withdrawer addresses.

Field Type Label Description
deployer string deployer is the addess of the account that registered the smart contract to receive dev gas royalties.
contract string Address of the smart contract. This identifies the specific contract that will receive fee sharing payouts.
withdrawer string The address that will receive the fee sharing payouts for the registered contract. This could be the deployer address or a separate withdrawer address specified.

# EventUpdateDevGas

ABCI event emitted when a deployer updates the fee sharing registration for a contract, specifying updated deployer, contract, and/or withdrawer addresses.

Field Type Label Description
deployer string deployer is the addess of the account that registered the smart contract to receive dev gas royalties.
contract string Address of the smart contract. This identifies the specific contract that will receive fee sharing payouts.
withdrawer string The address that will receive the fee sharing payouts for the registered contract. This could be the deployer address or a separate withdrawer address specified.

Top

# nibiru/devgas/v1/genesis.proto

# GenesisState

GenesisState defines the module's genesis state.

Field Type Label Description
params ModuleParams params are the feeshare module parameters
fee_share FeeShare repeated FeeShare is a slice of active registered contracts for fee distribution

# ModuleParams

ModuleParams defines the params for the devgas module

Field Type Label Description
enable_fee_share bool enable_feeshare defines a parameter to enable the feeshare module
developer_shares string developer_shares defines the proportion of the transaction fees to be distributed to the registered contract owner
allowed_denoms string repeated allowed_denoms defines the list of denoms that are allowed to be paid to the contract withdraw addresses. If said denom is not in the list, the fees will ONLY be sent to the community pool. If this list is empty, all denoms are allowed.

Top

# nibiru/devgas/v1/query.proto

# QueryFeeShareRequest

QueryFeeShareRequest is the request type for the Query/FeeShare RPC method.

Field Type Label Description
contract_address string contract_address of a registered contract in bech32 format

# QueryFeeShareResponse

QueryFeeShareResponse is the response type for the Query/FeeShare RPC method.

Field Type Label Description
feeshare FeeShare FeeShare is a stored Reveneue for the queried contract

# QueryFeeSharesByWithdrawerRequest

QueryFeeSharesByWithdrawerRequest is the request type for the Query/FeeSharesByWithdrawer RPC method.

Field Type Label Description
withdrawer_address string withdrawer_address in bech32 format

# QueryFeeSharesByWithdrawerResponse

QueryFeeSharesByWithdrawerResponse is the response type for the Query/FeeSharesByWithdrawer RPC method.

Field Type Label Description
feeshare FeeShare repeated

# QueryFeeSharesRequest

QueryFeeSharesRequest is the request type for the Query/FeeShares RPC method.

Field Type Label Description
deployer string TODO feat(devgas): re-implement the paginated version TODO feat(colletions): add automatic pagination generation

pagination defines an optional pagination for the request. cosmos.base.query.v1beta1.PageRequest pagination = 1; |

# QueryFeeSharesResponse

QueryFeeSharesResponse is the response type for the Query/FeeShares RPC method.

Field Type Label Description
feeshare FeeShare repeated FeeShare is the slice of all stored Reveneue for the deployer

# QueryParamsRequest

QueryParamsRequest is the request type for the Query/Params RPC method.

# QueryParamsResponse

QueryParamsResponse is the response type for the Query/Params RPC method.

Field Type Label Description
params ModuleParams params is the returned FeeShare parameter

# Query

Query defines the gRPC querier service.

Method Name Request Type Response Type Description
FeeShares QueryFeeSharesRequest QueryFeeSharesResponse FeeShares retrieves all FeeShares that a deployer has registered
FeeShare QueryFeeShareRequest QueryFeeShareResponse FeeShare retrieves a registered FeeShare for a given contract address
Params QueryParamsRequest QueryParamsResponse Params retrieves the module params
FeeSharesByWithdrawer QueryFeeSharesByWithdrawerRequest QueryFeeSharesByWithdrawerResponse FeeSharesByWithdrawer retrieves all FeeShares with a given withdrawer address

Top

# nibiru/devgas/v1/tx.proto

# MsgCancelFeeShare

MsgCancelFeeShare defines a message that cancels a registered FeeShare

Field Type Label Description
contract_address string contract_address in bech32 format
deployer_address string deployer_address is the bech32 address of message sender. It must be the same the contract's admin address

# MsgCancelFeeShareResponse

MsgCancelFeeShareResponse defines the MsgCancelFeeShare response type

# MsgRegisterFeeShare

MsgRegisterFeeShare defines a message that registers a FeeShare

Field Type Label Description
contract_address string contract_address in bech32 format
deployer_address string deployer_address is the bech32 address of message sender. It must be the same the contract's admin address
withdrawer_address string withdrawer_address is the bech32 address of account receiving the transaction fees

# MsgRegisterFeeShareResponse

MsgRegisterFeeShareResponse defines the MsgRegisterFeeShare response type

# MsgUpdateFeeShare

MsgUpdateFeeShare defines a message that updates the withdrawer address for a registered FeeShare

Field Type Label Description
contract_address string contract_address in bech32 format
deployer_address string deployer_address is the bech32 address of message sender. It must be the same the contract's admin address
withdrawer_address string withdrawer_address is the bech32 address of account receiving the transaction fees

# MsgUpdateFeeShareResponse

MsgUpdateFeeShareResponse defines the MsgUpdateFeeShare response type

# MsgUpdateParams

MsgUpdateParams is the Msg/UpdateParams request type.

Since: cosmos-sdk 0.47

Field Type Label Description
authority string authority is the address that controls the module (defaults to x/gov unless overwritten).
params ModuleParams params defines the x/feeshare parameters to update.

NOTE: All parameters must be supplied. |

# MsgUpdateParamsResponse

MsgUpdateParamsResponse defines the response structure for executing a MsgUpdateParams message.

Since: cosmos-sdk 0.47

# Msg

Msg defines the fees Msg service.

Method Name Request Type Response Type Description
RegisterFeeShare MsgRegisterFeeShare MsgRegisterFeeShareResponse RegisterFeeShare registers a new contract for receiving transaction fees
UpdateFeeShare MsgUpdateFeeShare MsgUpdateFeeShareResponse UpdateFeeShare updates the withdrawer address of a FeeShare
CancelFeeShare MsgCancelFeeShare MsgCancelFeeShareResponse CancelFeeShare cancels a contract's fee registration and further receival of transaction fees
UpdateParams MsgUpdateParams MsgUpdateParamsResponse Update the params of the module through gov v1 type.

# Scalar Value Types

.proto Type Notes C++ Java Python Go C# PHP Ruby
double double double float float64 double float Float
float float float float float32 float float Float
int32 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. int32 int int int32 int integer Bignum or Fixnum (as required)
int64 Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. int64 long int/long int64 long integer/string Bignum
uint32 Uses variable-length encoding. uint32 int int/long uint32 uint integer Bignum or Fixnum (as required)
uint64 Uses variable-length encoding. uint64 long int/long uint64 ulong integer/string Bignum or Fixnum (as required)
sint32 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. int32 int int int32 int integer Bignum or Fixnum (as required)
sint64 Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. int64 long int/long int64 long integer/string Bignum
fixed32 Always four bytes. More efficient than uint32 if values are often greater than 2^28. uint32 int int uint32 uint integer Bignum or Fixnum (as required)
fixed64 Always eight bytes. More efficient than uint64 if values are often greater than 2^56. uint64 long int/long uint64 ulong integer/string Bignum
sfixed32 Always four bytes. int32 int int int32 int integer Bignum or Fixnum (as required)
sfixed64 Always eight bytes. int64 long int/long int64 long integer/string Bignum
bool bool boolean boolean bool bool boolean TrueClass/FalseClass
string A string must always contain UTF-8 encoded or 7-bit ASCII text. string String str/unicode string string string String (UTF-8)
bytes May contain any arbitrary sequence of bytes. string ByteString str []byte ByteString string String (ASCII-8BIT)