defmodule Forge.TransactionMessage do @moduledoc false use Protobuf, syntax: :proto3 @type t :: %__MODULE__{ value: {atom, any}, from: String.t(), nonce: non_neg_integer, public_key: String.t(), signature: String.t() } defstruct [:value, :from, :nonce, :public_key, :signature] oneof :value, 0 field :from, 1, type: :bytes field :nonce, 2, type: :uint64 field :public_key, 3, type: :bytes field :signature, 4, type: :bytes field :transfer, 10, type: Forge.TransferMessage, oneof: 0 field :any, 50, type: Google.Protobuf.Any, oneof: 0 end defmodule Forge.TransferMessage do @moduledoc false use Protobuf, syntax: :proto3 @type t :: %__MODULE__{ to: String.t(), total: non_neg_integer } defstruct [:to, :total] field :to, 1, type: :bytes field :total, 2, type: :uint64 end defmodule Forge.AccountState do @moduledoc false use Protobuf, syntax: :proto3 @type t :: %__MODULE__{ balance: non_neg_integer, nonce: non_neg_integer, num_txs: non_neg_integer, address: String.t(), owner: String.t(), genesis_tx: String.t(), renaissance_tx: String.t(), genesis_time: Google.Protobuf.Timestamp.t(), renaissance_time: Google.Protobuf.Timestamp.t(), data: Google.Protobuf.Any.t() } defstruct [ :balance, :nonce, :num_txs, :address, :owner, :genesis_tx, :renaissance_tx, :genesis_time, :renaissance_time, :data ] field :balance, 1, type: :uint64 field :nonce, 2, type: :uint64 field :num_txs, 3, type: :uint64 field :address, 4, type: :bytes field :owner, 5, type: :bytes field :genesis_tx, 10, type: :bytes field :renaissance_tx, 11, type: :bytes field :genesis_time, 12, type: Google.Protobuf.Timestamp field :renaissance_time, 13, type: Google.Protobuf.Timestamp field :data, 50, type: Google.Protobuf.Any end