Lorenz Herzberger 7b658121ee
ignite scaffold message mint-production production:coins --module machine
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2024-08-05 15:22:59 +02:00

75 lines
2.3 KiB
Protocol Buffer

syntax = "proto3";
package planetmintgo.machine;
import "planetmintgo/machine/machine.proto";
import "planetmintgo/machine/trust_anchor.proto";
import "planetmintgo/machine/liquid_asset.proto";
import "planetmintgo/machine/params.proto";
import "amino/amino.proto";
import "gogoproto/gogo.proto";
import "cosmos_proto/cosmos.proto";
import "cosmos/msg/v1/msg.proto";
import "cosmos/base/v1beta1/coin.proto";
option go_package = "github.com/planetmint/planetmint-go/x/machine/types";
// Msg defines the Msg service.
service Msg {
rpc AttestMachine (MsgAttestMachine ) returns (MsgAttestMachineResponse );
rpc RegisterTrustAnchor (MsgRegisterTrustAnchor) returns (MsgRegisterTrustAnchorResponse);
rpc NotarizeLiquidAsset (MsgNotarizeLiquidAsset) returns (MsgNotarizeLiquidAssetResponse);
rpc UpdateParams (MsgUpdateParams ) returns (MsgUpdateParamsResponse );
rpc MintProduction (MsgMintProduction ) returns (MsgMintProductionResponse );
rpc BurnConsumption (MsgBurnConsumption ) returns (MsgBurnConsumptionResponse );
}
message MsgAttestMachine {
string creator = 1;
Machine machine = 2;
}
message MsgAttestMachineResponse {}
message MsgRegisterTrustAnchor {
string creator = 1;
TrustAnchor trustAnchor = 2;
}
message MsgRegisterTrustAnchorResponse {}
message MsgNotarizeLiquidAsset {
string creator = 1;
LiquidAsset notarization = 2;
}
message MsgNotarizeLiquidAssetResponse {}
message MsgUpdateParams {
option (cosmos.msg.v1.signer) = "authority";
// authority is the address that controls the module (defaults to x/gov unless overwritten).
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// params defines the x/dao parameters to update.
// NOTE: All parameters must be supplied.
Params params = 2 [(gogoproto.nullable) = false, (amino.dont_omitempty) = true];
}
message MsgUpdateParamsResponse {}
message MsgMintProduction {
string creator = 1;
repeated cosmos.base.v1beta1.Coin production = 2 [(gogoproto.nullable) = false];
}
message MsgMintProductionResponse {}
message MsgBurnConsumption {
string creator = 1;
repeated cosmos.base.v1beta1.Coin consumption = 2 [(gogoproto.nullable) = false];
}
message MsgBurnConsumptionResponse {}