All Downloads are FREE. Search and download functionalities are using the official Maven repository.

waves.transaction.proto Maven / Gradle / Ivy

There is a newer version: 1.5.2
Show newest version
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 {
    Transaction transaction = 1;
    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;
        ContinuationTransactionData continuation = 118;
    };
};

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;
    int32 fee_increase_factor = 4;
}

message UpdateAssetInfoTransactionData {
    bytes asset_id = 1;
    string name = 2;
    string description = 3;
}

message ContinuationTransactionData {
    bytes invoke_transaction_id = 1;
    int32 nonce = 2;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy