syntax = "proto3";

package base.v1;

import "google/protobuf/timestamp.proto";
import "google/protobuf/any.proto";
import "base/v1/resource.proto";

message StdTxData {
    uint32  type = 1;
    uint64  nonce = 2;
    BigInt  gas_price = 3;
    uint64  gas_limit = 4;
    Address recipient = 5;  
    BigInt  amount = 6;
    bytes   data = 7;
    BigInt  r = 8;
    BigInt  s = 9;
    BigInt  v = 10;
}

message Receipt {
    uint32 type = 1;
}

message BlockHeader {
    Hash parent_hash = 1;
    Hash block_hash = 2;
    Address miner = 3;
    Hash state_root = 4;
    Hash tx_root = 5;
    Hash receipt_root = 6;
    BigInt block_number = 7;
    uint64 gas_limit = 8;
    uint64 gas_used = 9;
    uint64 timestamp = 10;
    bytes extra = 11;
}

message BlockBody {

}