syntax = "proto3"; package waves; option java_package = "com.wavesplatform.protobuf.transaction"; option csharp_namespace = "Waves"; option go_package = "github.com/wavesplatform/gowaves/pkg/grpc/generated/waves"; import "waves/amount.proto"; import "waves/recipient.proto"; import "waves/order.proto"; message SignedTransaction { oneof transaction { Transaction waves_transaction = 1; bytes ethereum_transaction = 3; } repeated bytes proofs = 2; } message Transaction { int32 chain_id = 1; bytes sender_public_key = 2; Amount fee = 3; int64 timestamp = 4; int32 version = 5; oneof data { GenesisTransactionData genesis = 101; PaymentTransactionData payment = 102; IssueTransactionData issue = 103; TransferTransactionData transfer = 104; ReissueTransactionData reissue = 105; BurnTransactionData burn = 106; ExchangeTransactionData exchange = 107; LeaseTransactionData lease = 108; LeaseCancelTransactionData lease_cancel = 109; CreateAliasTransactionData create_alias = 110; MassTransferTransactionData mass_transfer = 111; DataTransactionData data_transaction = 112; SetScriptTransactionData set_script = 113; SponsorFeeTransactionData sponsor_fee = 114; SetAssetScriptTransactionData set_asset_script = 115; InvokeScriptTransactionData invoke_script = 116; UpdateAssetInfoTransactionData update_asset_info = 117; InvokeExpressionTransactionData invoke_expression = 119; }; }; message GenesisTransactionData { bytes recipient_address = 1; int64 amount = 2; }; message PaymentTransactionData { bytes recipient_address = 1; int64 amount = 2; }; message TransferTransactionData { Recipient recipient = 1; Amount amount = 2; bytes attachment = 3; }; message CreateAliasTransactionData { string alias = 1; }; message DataTransactionData { message DataEntry { string key = 1; oneof value { int64 int_value = 10; bool bool_value = 11; bytes binary_value = 12; string string_value = 13; }; }; repeated DataEntry data = 1; }; message MassTransferTransactionData { message Transfer { Recipient recipient = 1; int64 amount = 2; }; bytes asset_id = 1; repeated Transfer transfers = 2; bytes attachment = 3; }; message LeaseTransactionData { Recipient recipient = 1; int64 amount = 2; }; message LeaseCancelTransactionData { bytes lease_id = 1; }; message BurnTransactionData { Amount asset_amount = 1; }; message IssueTransactionData { string name = 1; string description = 2; int64 amount = 3; int32 decimals = 4; bool reissuable = 5; bytes script = 6; }; message ReissueTransactionData { Amount asset_amount = 1; bool reissuable = 2; }; message SetAssetScriptTransactionData { bytes asset_id = 1; bytes script = 2; }; message SetScriptTransactionData { bytes script = 1; }; message ExchangeTransactionData { int64 amount = 1; int64 price = 2; int64 buy_matcher_fee = 3; int64 sell_matcher_fee = 4; repeated Order orders = 5; }; message SponsorFeeTransactionData { Amount min_fee = 1; }; message InvokeScriptTransactionData { Recipient d_app = 1; bytes function_call = 2; repeated Amount payments = 3; } message UpdateAssetInfoTransactionData { bytes asset_id = 1; string name = 2; string description = 3; } message InvokeExpressionTransactionData { bytes expression = 1; }