wallet-core/src/proto at master · trustwallet/wallet-core
pseudomuto/protoc-gen-doc: Documentation generator plugin for Google Protocol Buffers
git clone https://github.com/trustwallet/wallet-core.git /tmp/src/trustwallet-core
bash tc.sh --gen-proto-doc /tmp/src/trustwallet-core/src/proto /tmp/output.md
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
chain_id | bytes | | Chain identifier (256-bit number) |
nonce | bytes | | Nonce (256-bit number) |
gas_price | bytes | | Gas price (256-bit number) |
gas_limit | bytes | | Gas limit (256-bit number) |
to_address | string | | Recipient's address. |
amount | bytes | | Amount to send in wei (256-bit number) |
payload | bytes | | Optional payload |
private_key | bytes | | Private key. |
Transaction signing output.
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
private_key | bytes | | |
destination | string | | |
value | uint64 | | |
fee | uint64 | | |
nonce | uint64 | | current latest transaction serial number |
timestamp | uint64 | | current timestamp in millisecond |
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
nonce | bytes | | Nonce (256-bit number) |
gas_price | bytes | | Gas price (256-bit number) |
gas_limit | bytes | | Gas limit (256-bit number) |
to_address | string | | Recipient's address. |
amount | bytes | | Amount to send in wei (256-bit number) |
payload | bytes | | Optional payload |
private_key | bytes | | Private key. |
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded transaction bytes. |
signature | bytes | | Signature. |
Top
Amount
Fee
Message for sending coins.
Field | Type | Label | Description |
from_address | string | | |
to_address | string | | |
amounts | Amount | repeated | |
type_prefix | string | | default is cosmos-sdk/MsgSend |
Signature
Field | Type | Label | Description |
public_key | bytes | | |
signature | bytes | | |
Input data necessary to create a signed order.
Transaction signing output.
Field | Type | Label | Description |
signature | bytes | | Signature |
json | string | | Signed transaction in JSON. |
Message for staking.
Field | Type | Label | Description |
delegator_address | string | | |
validator_address | string | | |
amount | Amount | | |
type_prefix | string | | cosmos-sdk/MsgDelegate to stake and cosmos-sdk/MsgUndelegate to unstake |
Transaction
Message for staking.
Field | Type | Label | Description |
delegator_address | string | | |
validator_address | string | | |
type_prefix | string | | default is cosmos-sdk/MsgWithdrawDelegationReward |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
encoded | string | | JSON-encoded transaction parameters. |
signature | bytes | | Signature. |
Name | Number | Description |
Transfer | 0 | |
Top
transaction signing input
transaction signing output
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded Action bytes |
hash | bytes | | Signed Action hash |
Top
Bitcoin transaction out-point reference.
Field | Type | Label | Description |
hash | bytes | | The hash of the referenced transaction. |
index | uint32 | | The index of the specific output in the transaction. |
sequence | uint32 | | Transaction version as defined by the sender. |
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
hash_type | uint32 | | Hash type to use when signing. |
amount | int64 | | Amount to send. |
byte_fee | int64 | | Transaction fee per byte. |
to_address | string | | Recipient's address. |
change_address | string | | Change address. |
private_key | bytes | repeated | Available private keys. |
scripts | SigningInput.ScriptsEntry | repeated | Available redeem scripts indexed by script hash. |
utxo | UnspentTransaction | repeated | Available unspent transaction outputs. |
use_max_amount | bool | | If sending max amount. |
coin_type | uint32 | | Coin type (forks). |
Transaction signing output.
Field | Type | Label | Description |
transaction | Transaction | | Resulting transaction. Note that the amount may be different than the requested amount to account for fees and available funds. |
encoded | bytes | | Signed and encoded transaction bytes. |
fee | int64 | | Total transaction fees. |
max_amount | int64 | | Maximum spendable amount. |
transaction_id | string | | Transaction id |
Field | Type | Label | Description |
version | sint32 | | Transaction data format version. |
lockTime | uint32 | | The block number or timestamp at which this transaction is unlocked. |
inputs | TransactionInput | repeated | A list of 1 or more transaction inputs or sources for coins. |
outputs | TransactionOutput | repeated | A list of 1 or more transaction outputs or destinations for coins |
Bitcoin transaction input.
Field | Type | Label | Description |
previousOutput | OutPoint | | Reference to the previous transaction's output. |
sequence | uint32 | | Transaction version as defined by the sender. |
script | bytes | | Computational script for confirming transaction authorization. |
Bitcoin transaction output.
Field | Type | Label | Description |
value | int64 | | Transaction amount. |
script | bytes | | Usually contains the public key as a Bitcoin script setting up conditions to claim this output. |
Describes a preliminary transaction plan.
Field | Type | Label | Description |
amount | int64 | | Amount to be received at the other end. |
available_amount | int64 | | Maximum available amount. |
fee | int64 | | Estimated transaction fee. |
change | int64 | | Change. |
utxos | UnspentTransaction | repeated | Selected unspent transaction outputs. |
Top
Transaction signing output.
Field | Type | Label | Description |
transaction | Transaction | | Resulting transaction. Note that the amount may be different than the requested amount to account for fees and available funds. |
encoded | bytes | | Signed and encoded transaction bytes. |
fee | int64 | | Total transaction fees. |
max_amount | int64 | | Maximum spendable amount. |
transaction_id | string | | Transaction id |
Field | Type | Label | Description |
serializeType | uint32 | | Serialization format |
version | uint32 | | Transaction data format version |
inputs | TransactionInput | repeated | A list of 1 or more transaction inputs or sources for coins. |
outputs | TransactionOutput | repeated | A list of 1 or more transaction outputs or destinations for coins |
lockTime | uint32 | | The time when a transaction can be spent (usually zero, in which case it has no effect). |
expiry | uint32 | | The block height at which the transaction expires and is no longer valid. |
Decred transaction input.
Field | Type | Label | Description |
previousOutput | TW.Bitcoin.Proto.OutPoint | | Reference to the previous transaction's output. |
sequence | uint32 | | Transaction version as defined by the sender. |
valueIn | int64 | | |
blockHeight | uint32 | | |
blockIndex | uint32 | | |
script | bytes | | Computational script for confirming transaction authorization. |
Decred transaction output.
Field | Type | Label | Description |
value | int64 | | Transaction amount. |
version | uint32 | | Transaction output version. |
script | bytes | | Usually contains the public key as a Decred script setting up conditions to claim this output. |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
version | uint32 | | Transaction version |
nonce | uint64 | | Nonce |
to_address | string | | Recipient's address. |
amount | bytes | | Amount to send (256-bit number) |
gas_price | bytes | | GasPrice (256-bit number) |
gas_limit | uint64 | | GasLimit |
private_key | bytes | | Private Key |
code | bytes | | Smart contract code |
data | bytes | | String-ified JSON object specifying the transition parameter |
Transaction signing output.
Field | Type | Label | Description |
signature | bytes | | Signed signature bytes. |
Top
Field | Type | Label | Description |
private_key | bytes | | The stake account private key |
vote_pubkey | string | | |
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | |
Field | Type | Label | Description |
private_key | bytes | | The stake account private key |
recipient | string | | |
value | uint64 | | |
Top
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded transaction bytes. |
Top
Field | Type | Label | Description |
hash | bytes | | |
Field | Type | Label | Description |
id | int64 | | |
Field | Type | Label | Description |
text | string | | |
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
signature | string | | Signature. |
Name | Number | Description |
CREATE_ACCOUNT | 0 | |
PAYMENT | 1 | |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
amount | int64 | | |
asset | string | | |
fee | int64 | | minimum 0.001 Waves (100000 Wavelets) for now |
fee_asset | string | | |
to | string | | |
attachment | bytes | | any 140 bytes payload, will be displayed to the client as utf-8 string |
timestamp | int64 | | in millis |
private_key | bytes | | |
Transaction signing output.
Top
Result type.
Field | Type | Label | Description |
success | bool | | Whether the operation was successful. |
error | string | | Optional error message, only present if success is false. |
objects | google.protobuf.Any | repeated | Result objects, if any. |
Top
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | |
Top
Field | Type | Label | Description |
sender | bytes | | 0x166E681B // prefix |
originating address |
| symbol | string | | symbol for trading pair in full name of the tokens |
| refid | string | | order id to cancel |
Field | Type | Label | Description |
from | bytes | | 0xC1665300 // prefix |
signer address |
| swap_id | bytes | | |
| random_number | bytes | | |
Field | Type | Label | Description |
from | bytes | | 0xB33F9A24 // prefix |
signer address |
| amount | SendOrder.Token | repeated | |
| swap_id | bytes | | |
Field | Type | Label | Description |
from | bytes | | 0xB33F9A24 // prefix |
signer address |
| to | bytes | | recipient address |
| recipient_other_chain | string | | |
| sender_other_chain | string | | |
| random_number_hash | bytes | | hash of a random number and timestamp, based on SHA256 |
| timestamp | int64 | | |
| amount | SendOrder.Token | repeated | |
| expected_income | string | | expected gained token on the other chain |
| height_span | int64 | | |
| cross_chain | bool | | |
Field | Type | Label | Description |
from | bytes | | 0x3454A27C // prefix |
signer address |
| swap_id | bytes | | |
0x2A2C87FA
Field | Type | Label | Description |
pub_key | bytes | | public key bytes of the signer address |
signature | bytes | | signature bytes, please check chain access section for signature generation |
account_number | int64 | | another identifier of signer, which can be read from chain by account REST API or RPC |
sequence | int64 | | sequence number for the next transaction |
0xEB5AE987 // prefix
bytes // public key bytes
Input data necessary to create a signed order.
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded transaction bytes. |
Field | Type | Label | Description |
from | bytes | | 0xE774B32D // prefix |
owner address |
| symbol | string | | token symbol, in full name with "-" suffix |
| amount | int64 | | amount of token to freeze |
Field | Type | Label | Description |
from | bytes | | 0x6515FF0D // prefix |
owner address |
| symbol | string | | token symbol, in full name with "-" suffix |
| amount | int64 | | amount of token to unfreeze |
Field | Type | Label | Description |
sender | bytes | | 0xCE6DC043 // prefix |
originating address |
| id | string | | order id, optional |
| symbol | string | | symbol for trading pair in full name of the tokens |
| ordertype | int64 | | only accept 2 for now, meaning limit order |
| side | int64 | | 1 for buy and 2 fory sell |
| price | int64 | | price of the order, which is the real price multiplied by 1e8 (10^8) and rounded to integer |
| quantity | int64 | | quantity of the order, which is the real price multiplied by 1e8 (10^8) and rounded to integer |
| timeinforce | int64 | | 1 for Good Till Expire(GTE) order and 3 for Immediate Or Cancel (IOC) |
Field | Type | Label | Description |
msgs | bytes | repeated | int64 SIZE-OF-ENCODED // varint encoded length of the structure after encoding 0xF0625DEE // prefix |
array of size 1, containing the transaction message, which are one of the transaction type below |
| signatures | bytes | repeated | array of size 1, containing the standard signature structure of the transaction sender |
| memo | string | | a short sentence of remark for the transaction, only for Transfer
transactions. |
| source | int64 | | an identifier for tools triggerring this transaction, set to zero if unwilling to disclose. |
| data | bytes | | reserved for future use |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
from_address | string | | Sender address. |
to_address | string | | Recipient address. |
value | bytes | | Transfer amount. |
step_limit | bytes | | The amount of step to send with the transaction. |
timestamp | int64 | | UNIX epoch time (from 1970.1.1 00:00:00) in microseconds |
nonce | bytes | | Integer value increased by request to avoid replay attacks. |
network_id | bytes | | Network identifier |
private_key | bytes | | Private key. |
Transaction signing output.
Field | Type | Label | Description |
encoded | string | | JSON-encoded transaction parameters. |
signature | bytes | | Signature. |
Top
Field | Type | Label | Description |
to | string | | Recipient address. |
value | bytes | | Transaction amount. |
data | bytes | | Payload data. |
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
chain_tag | uint32 | | Last byte of the genesis block ID which is used to identify a blockchain to prevent the cross-chain replay attack. |
block_ref | uint64 | | Reference to a specific block. |
expiration | uint32 | | How long, in terms of the number of blocks, the transaction will be allowed to be mined in VeChainThor. |
clauses | Clause | repeated | An array of Clause objects. / / Each clause contains fields To, Value and Data to enable a single transaction to carry multiple tasks issued / by the transaction sender. |
gas_price_coef | uint32 | | Coefficient used to calculate the gas price for the transaction. |
gas | uint64 | | Maximum amount of gas allowed to pay for the transaction. |
depends_on | bytes | | ID of the transaction on which the current transaction depends. |
nonce | uint64 | | Number set by user. |
private_key | bytes | | Private key. |
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded transaction bytes. |
signature | bytes | | Signature. |
Top
Delegation operation specific data.
Next field: 2
Field | Type | Label | Description |
delegate | string | | |
An operation that can be applied to the Tezos blockchain.
Next field: 12
A list of operations and a branch.
Next field: 3
Origination operation specific data.
Next field: 3
Field | Type | Label | Description |
manager_pubkey | string | | |
balance | int64 | | |
Reveal operation specific data.
Next field: 2
Field | Type | Label | Description |
public_key | bytes | | |
Input data necessary to create a signed Tezos transaction.
Next field: 3
Transaction signing output.
Next field: 2
Field | Type | Label | Description |
signed_bytes | bytes | | |
Transaction operation specific data.
Next field: 3
Field | Type | Label | Description |
destination | string | | |
amount | int64 | | |
Name | Number | Description |
ENDORSEMENT | 0 | Note: Proto3 semantics require a zero value. |
REVEAL | 7 | |
TRANSACTION | 8 | |
ORIGINATION | 9 | |
DELEGATION | 10 | |
Top
Field | Type | Label | Description |
coin_type | uint32 | | BIP44 network ID |
transaction | string | | JSON transaction |
private_key | string | | Private Key in HEX format |
Field | Type | Label | Description |
code | uint32 | | Error code |
description | string | | Error description |
Top
Raw transaction data
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
from_address | string | | sender's address. |
chain_id | bytes | | Chain identifier (256-bit number) |
nonce | bytes | | Nonce (256-bit number) |
gas_price | bytes | | Gas price (256-bit number) |
gas_limit | bytes | | Gas limit (256-bit number) |
to_address | string | | Recipient's address. |
amount | bytes | | Amount to send in wei, 1 NAS = 10^18 Wei (256-bit number) |
timestamp | bytes | | Timestamp to create transaction (256-bit number) |
payload | string | | Optional payload |
private_key | bytes | | Private key. |
Transaction signing output.
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
chain_id | bytes | | Chain id (256-bit number) |
sender | string | | Sender's username |
recipient | string | | Recipient's username |
amount | double | | Amount in "BRAVO" or "TEST" |
testnet | bool | | Whether the transaction is for testnet |
memo | string | | Memo to attach to the transaction |
reference_block_id | bytes | | Reference Block Id (160-bits) |
reference_block_time | sfixed32 | | Timestamp on the reference block |
private_key | bytes | | Sender's private key's raw bytes |
Transaction signing output.
Field | Type | Label | Description |
json_encoded | string | | JSON of the signed transaction. |
Top
Field | Type | Label | Description |
owner_address | string | | Sender address. |
frozen_balance | int64 | | Frozen balance. Minimum 1 |
frozen_duration | int64 | | Frozen duration |
resource | string | | Resource type: BANDWIDTH |
receiver_address | string | | Receiver address |
Field | Type | Label | Description |
transaction | Transaction | | Transaction. |
private_key | bytes | | Private key. |
Transaction signing output.
Field | Type | Label | Description |
id | bytes | | Transaction identifier. |
signature | bytes | | Signature. |
ref_block_bytes | bytes | | |
ref_block_hash | bytes | | |
Field | Type | Label | Description |
asset_name | string | | Asset name. |
owner_address | string | | Sender address. |
to_address | string | | Recipient address. |
amount | int64 | | Amount to send. |
Field | Type | Label | Description |
owner_address | string | | Sender address. |
to_address | string | | Recipient address. |
amount | int64 | | Amount to send. |
Field | Type | Label | Description |
owner_address | string | | Sender address |
Field | Type | Label | Description |
owner_address | string | | Sender address |
resource | string | | Resource type: BANDWIDTH |
receiver_address | string | | Receiver address |
Field | Type | Label | Description |
owner_address | string | | Sender address |
vote_address | string | repeated | Vote addresses |
support | bool | | |
count | int32 | | |
Field | Type | Label | Description |
vote_address | string | | |
vote_count | int64 | | |
Field | Type | Label | Description |
owner_address | string | | Sender address |
Top
Input data necessary to create a signed transaction
Field | Type | Label | Description |
chain_id | string | | Chain ID string, mainnet, testnet and privatenet |
to_address | string | | Recipient address |
theta_amount | bytes | | Theta token amount to send in wei (256-bit number) |
tfuel_amount | bytes | | TFuel token amount to send in wei (256-bit number) |
sequence | uint64 | | Sequence number of the transaction for the sender address |
fee | bytes | | Fee amount in TFuel wei for the transaction (256-bit number) |
private_key | bytes | | Private key |
Transaction signing output
Field | Type | Label | Description |
encoded | bytes | | Signed and encoded transaction bytes |
signature | bytes | | Signature |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
from_address | string | | Address of the sender with "ak_" prefix |
to_address | string | | Address of the recipient with "ak_" prefix |
amount | bytes | | |
fee | bytes | | |
payload | string | | Message, optional |
ttl | uint64 | | Time to live until block height |
nonce | uint64 | | |
private_key | bytes | | |
Transaction signing output.
Field | Type | Label | Description |
encoded | string | | Signed and encoded transaction bytes, Base64 with checksum |
signature | string | | Signature, Base58 with checksum |
Top
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
encoded | bytes | | |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
chain_id | bytes | | Chain identifier (256-bit number) |
nonce | bytes | | Nonce (256-bit number) |
gas_price | bytes | | Gas price (256-bit number) |
gas_limit | bytes | | Gas limit (256-bit number) |
to_address | string | | Recipient's address. |
amount | bytes | | Amount to send in wei (256-bit number) |
payload | bytes | | Optional payload |
private_key | bytes | | Private key. |
from_shard_id | bytes | | From shard ID (256-bit number) |
to_shard_id | bytes | | To Shard ID (256-bit number) |
Transaction signing output.
Top
Values for an Asset object.
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
chain_id | bytes | | Chain id (256-bit number) |
reference_block_id | bytes | | Reference Block Id (256-bits) |
reference_block_time | sfixed32 | | Timestamp on the reference block |
currency | string | | Currency (e.g. "eosio.token") |
sender | string | | Sender's username |
recipient | string | | Recipient's username |
memo | string | | Memo attached to the transaction |
asset | Asset | | Asset details and amount |
private_key | bytes | | Sender's private key's raw bytes |
private_key_type | KeyType | | Type of the private key |
Transaction signing output.
Field | Type | Label | Description |
json_encoded | string | | JSON of the packed transaction. |
Name | Number | Description |
LEGACY | 0 | |
MODERNK1 | 1 | |
MODERNR1 | 2 | |
Top
Input data necessary to create a signed transaction.
Field | Type | Label | Description |
private_key | bytes | | Private key |
parent_block | bytes | | Optional parent block hash |
link_block | bytes | | Hash of a block to receive from |
link_recipient | string | | Recipient address to send coins to |
representative | string | | Representative address |
balance | string | | Account balance (128-bit unsigned integer, as a string) |
Transaction signing output.
Field | Type | Label | Description |
signature | bytes | | Signature |
block_hash | bytes | | Block hash |
Top
The message defines transaction action struct.
Field | Type | Label | Description |
contract | string | | contract name |
action_name | string | | action name |
data | string | | data |
The message defines transaction amount limit struct.
Field | Type | Label | Description |
token | string | | token name |
value | string | | limit value |
The message defines signature struct.
Field | Type | Label | Description |
algorithm | Algorithm | | signature algorithm |
signature | bytes | | signature bytes |
public_key | bytes | | public key |
Input data necessary to create a signed transaction.
Transaction signing output.
Field | Type | Label | Description |
transaction | Transaction | | Signed transaction |
The message defines the transaction request.
Field | Type | Label | Description |
time | int64 | | transaction timestamp |
expiration | int64 | | expiration timestamp |
gas_ratio | double | | gas price |
gas_limit | double | | gas limit |
delay | int64 | | delay nanoseconds |
chain_id | uint32 | | chain id |
actions | Action | repeated | action list |
amount_limit | AmountLimit | repeated | amount limit |
signers | string | repeated | signer list |
signatures | Signature | repeated | signatures of signers |
publisher | string | | publisher |
publisher_sigs | Signature | repeated | signatures of publisher |
The enumeration defines the signature algorithm.
Name | Number | Description |
UNKNOWN | 0 | unknown |
SECP256K1 | 1 | secp256k1 |
ED25519 | 2 | ed25519 |
.proto Type | Notes | C++ Type | Java Type | Python Type |
double | | double | double | float |
float | | float | float | float |
int32 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead. | int32 | int | int |
int64 | Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead. | int64 | long | int/long |
uint32 | Uses variable-length encoding. | uint32 | int | int/long |
uint64 | Uses variable-length encoding. | uint64 | long | int/long |
sint32 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s. | int32 | int | int |
sint64 | Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s. | int64 | long | int/long |
fixed32 | Always four bytes. More efficient than uint32 if values are often greater than 2^28. | uint32 | int | int |
fixed64 | Always eight bytes. More efficient than uint64 if values are often greater than 2^56. | uint64 | long | int/long |
sfixed32 | Always four bytes. | int32 | int | int |
sfixed64 | Always eight bytes. | int64 | long | int/long |
bool | | bool | boolean | boolean |
string | A string must always contain UTF-8 encoded or 7-bit ASCII text. | string | String | str/unicode |
bytes | May contain any arbitrary sequence of bytes. | string | ByteString | str |
.
├── Aeternity.proto
├── Aion.proto
├── Any.proto
├── ARK.proto
├── Binance.proto
├── Bitcoin.proto
├── Bravo.proto
├── Common.proto
├── Cosmos.proto
├── Decred.proto
├── EOS.proto
├── Ethereum.proto
├── Harmony.proto
├── Icon.proto
├── IOST.proto
├── IoTeX.proto
├── Nano.proto
├── Nebulas.proto
├── Nimiq.proto
├── Ontology.proto
├── Ripple.proto
├── Semux.proto
├── Solana.proto
├── Stellar.proto
├── Tezos.proto
├── Theta.proto
├── Tron.proto
├── VeChain.proto
├── Waves.proto
└── Zilliqa.proto
0 directories, 30 files
syntax = "proto3";
package TW.Ethereum.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Chain identifier (256-bit number)
bytes chain_id = 1;
// Nonce (256-bit number)
bytes nonce = 2;
// Gas price (256-bit number)
bytes gas_price = 3;
// Gas limit (256-bit number)
bytes gas_limit = 4;
// Recipient's address.
string to_address = 5;
// Amount to send in wei (256-bit number)
bytes amount = 6;
// Optional payload
bytes payload = 7;
// Private key.
bytes private_key = 8;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
bytes v = 2;
bytes r = 3;
bytes s = 4;
}
syntax = "proto3";
package TW.Semux.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
bytes private_key = 1;
string destination = 2;
uint64 value = 3;
uint64 fee = 4;
// current latest transaction serial number
uint64 nonce = 5;
// current timestamp in millisecond
uint64 timestamp = 6;
}
// Transaction signing output.
message SigningOutput {
bytes encoded = 1;
}
syntax = "proto3";
package TW.Aion.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Nonce (256-bit number)
bytes nonce = 1;
// Gas price (256-bit number)
bytes gas_price = 2;
// Gas limit (256-bit number)
bytes gas_limit = 3;
// Recipient's address.
string to_address = 4;
// Amount to send in wei (256-bit number)
bytes amount = 5;
// Optional payload
bytes payload = 6;
// Private key.
bytes private_key = 7;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
// Signature.
bytes signature = 2;
}
syntax = "proto3";
package TW.Cosmos.Proto;
option java_package = "wallet.core.jni.proto";
// Amount
message Amount {
string denom = 1;
int64 amount = 2;
}
// Fee
message Fee {
repeated Amount amounts = 1;
uint64 gas = 2;
}
// Message for sending coins.
message SendCoinsMessage {
string from_address = 1;
string to_address = 2;
repeated Amount amounts = 3;
// default is cosmos-sdk/MsgSend
string type_prefix = 4;
}
// Message for staking.
message StakeMessage {
string delegator_address = 1;
string validator_address = 2;
Amount amount = 3;
// cosmos-sdk/MsgDelegate to stake and cosmos-sdk/MsgUndelegate to unstake
string type_prefix = 4;
}
// Message for staking.
message WithdrawStakeRewardMessage {
string delegator_address = 1;
string validator_address = 2;
// default is cosmos-sdk/MsgWithdrawDelegationReward
string type_prefix = 3;
}
// Signature
message Signature {
bytes public_key = 1;
bytes signature = 2;
}
// Transaction
message Transaction {
Fee fee = 1;
string memo = 2;
Signature signature = 3;
oneof message_oneof {
SendCoinsMessage send_coins_message = 4;
StakeMessage stake_message = 5;
StakeMessage unstake_message = 6;
WithdrawStakeRewardMessage withdraw_stake_reward_message = 7;
}
}
// Input data necessary to create a signed order.
message SigningInput {
uint64 account_number = 1;
string chain_id = 2;
Fee fee = 3;
string memo = 4;
uint64 sequence = 5;
bytes private_key = 6;
oneof message_oneof {
SendCoinsMessage send_coins_message = 7;
StakeMessage stake_message = 8;
StakeMessage unstake_message = 9;
WithdrawStakeRewardMessage withdraw_stake_reward_message = 10;
}
// default is cosmos-sdk/MsgSend
string type_prefix = 11;
}
// Transaction signing output.
message SigningOutput {
// Signature
bytes signature = 1;
// Signed transaction in JSON.
string json = 2;
}
syntax = "proto3";
package TW.ARK.Proto;
option java_package = "wallet.core.jni.proto";
enum TransactionType {
Transfer = 0;
}
// Input data necessary to create a signed transaction.
message SigningInput {
// Transaction type
TransactionType type = 1;
// Amount to send
uint64 amount = 2;
// Fee
uint64 fee = 3;
// Recipient's address.
string to_address = 4;
// Timestamp
uint32 timestamp = 5;
// Private key.
bytes private_key = 6;
}
message SigningOutput {
// JSON-encoded transaction parameters.
string encoded = 1;
// Signature.
bytes signature = 2;
}
syntax = "proto3";
package TW.IoTeX.Proto;
option java_package = "wallet.core.jni.proto";
message Transfer {
string amount = 1;
string recipient = 2;
bytes payload = 3;
}
message Execution {
string amount = 1;
string contract = 2;
bytes data = 3;
}
message ActionCore {
uint32 version = 1;
uint64 nonce = 2;
uint64 gasLimit = 3;
string gasPrice = 4;
oneof action {
Transfer transfer = 10;
Execution execution = 12;
}
}
message Action {
ActionCore core = 1;
bytes senderPubKey = 2;
bytes signature = 3;
}
// transaction signing input
message SigningInput {
uint32 version = 1;
uint64 nonce = 2;
uint64 gasLimit = 3;
string gasPrice = 4;
bytes privateKey = 5;
oneof action {
Transfer transfer = 10;
Execution execution = 12;
}
}
// transaction signing output
message SigningOutput {
// Signed and encoded Action bytes
bytes encoded = 1;
// Signed Action hash
bytes hash = 2;
}
syntax = "proto3";
package TW.Bitcoin.Proto;
option java_package = "wallet.core.jni.proto";
message Transaction {
// Transaction data format version.
sint32 version = 1;
// The block number or timestamp at which this transaction is unlocked.
uint32 lockTime = 2;
// A list of 1 or more transaction inputs or sources for coins.
repeated TransactionInput inputs = 3;
// A list of 1 or more transaction outputs or destinations for coins
repeated TransactionOutput outputs = 4;
}
// Bitcoin transaction input.
message TransactionInput {
// Reference to the previous transaction's output.
OutPoint previousOutput = 1;
// Transaction version as defined by the sender.
uint32 sequence = 2;
// Computational script for confirming transaction authorization.
bytes script = 3;
}
// Bitcoin transaction out-point reference.
message OutPoint {
// The hash of the referenced transaction.
bytes hash = 1;
// The index of the specific output in the transaction.
uint32 index = 2;
// Transaction version as defined by the sender.
uint32 sequence = 3;
}
// Bitcoin transaction output.
message TransactionOutput {
// Transaction amount.
int64 value = 1;
// Usually contains the public key as a Bitcoin script setting up conditions to claim this output.
bytes script = 2;
}
message UnspentTransaction {
OutPoint out_point = 1;
bytes script = 2;
int64 amount = 3;
}
// Input data necessary to create a signed transaction.
message SigningInput {
// Hash type to use when signing.
uint32 hash_type = 1;
// Amount to send.
int64 amount = 2;
// Transaction fee per byte.
int64 byte_fee = 3;
// Recipient's address.
string to_address = 4;
// Change address.
string change_address = 5;
// Available private keys.
repeated bytes private_key = 10;
// Available redeem scripts indexed by script hash.
map<string, bytes> scripts = 11;
// Available unspent transaction outputs.
repeated UnspentTransaction utxo = 12;
// If sending max amount.
bool use_max_amount = 13;
// Coin type (forks).
uint32 coin_type = 14;
}
// Describes a preliminary transaction plan.
message TransactionPlan {
// Amount to be received at the other end.
int64 amount = 1;
// Maximum available amount.
int64 available_amount = 2;
// Estimated transaction fee.
int64 fee = 3;
// Change.
int64 change = 4;
// Selected unspent transaction outputs.
repeated UnspentTransaction utxos = 5;
};
// Transaction signing output.
message SigningOutput {
// Resulting transaction. Note that the amount may be different than the requested amount to account for fees and available funds.
Transaction transaction = 1;
// Signed and encoded transaction bytes.
bytes encoded = 2;
// Total transaction fees.
int64 fee = 3;
// Maximum spendable amount.
int64 max_amount = 4;
// Transaction id
string transaction_id = 5;
}
syntax = "proto3";
package TW.Decred.Proto;
option java_package = "wallet.core.jni.proto";
import "Bitcoin.proto";
message Transaction {
/// Serialization format
uint32 serializeType = 1;
/// Transaction data format version
uint32 version = 2;
// A list of 1 or more transaction inputs or sources for coins.
repeated TransactionInput inputs = 3;
// A list of 1 or more transaction outputs or destinations for coins
repeated TransactionOutput outputs = 4;
/// The time when a transaction can be spent (usually zero, in which case it has no effect).
uint32 lockTime = 5;
/// The block height at which the transaction expires and is no longer valid.
uint32 expiry = 6;
}
// Decred transaction input.
message TransactionInput {
// Reference to the previous transaction's output.
Bitcoin.Proto.OutPoint previousOutput = 1;
// Transaction version as defined by the sender.
uint32 sequence = 2;
int64 valueIn = 3;
uint32 blockHeight = 4;
uint32 blockIndex = 5;
// Computational script for confirming transaction authorization.
bytes script = 6;
}
// Decred transaction output.
message TransactionOutput {
// Transaction amount.
int64 value = 1;
/// Transaction output version.
uint32 version = 2;
// Usually contains the public key as a Decred script setting up conditions to claim this output.
bytes script = 3;
}
// Transaction signing output.
message SigningOutput {
// Resulting transaction. Note that the amount may be different than the requested amount to account for fees and available funds.
Transaction transaction = 1;
// Signed and encoded transaction bytes.
bytes encoded = 2;
// Total transaction fees.
int64 fee = 3;
// Maximum spendable amount.
int64 max_amount = 4;
// Transaction id
string transaction_id = 5;
}
syntax = "proto3";
package TW.Zilliqa.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Transaction version
uint32 version = 1;
// Nonce
uint64 nonce = 2;
// Recipient's address.
string to_address = 3;
// Amount to send (256-bit number)
bytes amount = 4;
// GasPrice (256-bit number)
bytes gas_price = 5;
// GasLimit
uint64 gas_limit = 6;
// Private Key
bytes private_key = 7;
// Smart contract code
bytes code = 10;
// String-ified JSON object specifying the transition parameter
bytes data = 11;
}
// Transaction signing output.
message SigningOutput {
// Signed signature bytes.
bytes signature = 1;
}
syntax = "proto3";
package TW.Solana.Proto;
option java_package = "wallet.core.jni.proto";
message Transfer {
bytes private_key = 1;
string recipient = 2;
uint64 value = 3;
}
message Stake {
bytes from_private_key = 1;
bytes stake_private_key = 2;
string vote_pubkey = 3;
uint64 value = 4;
}
message DeactivateStake {
// The stake account private key
bytes private_key = 1;
string vote_pubkey = 2;
}
message WithdrawStake {
// The stake account private key
bytes private_key = 1;
string recipient = 2;
uint64 value = 3;
}
// Input data necessary to create a signed transaction.
message SigningInput {
oneof transaction_type {
Transfer transfer_transaction = 1;
Stake stake_transaction = 2;
DeactivateStake deactivate_stake_transaction = 3;
WithdrawStake withdraw_transaction = 4;
}
string recent_blockhash = 5;
}
// Transaction signing output.
message SigningOutput {
bytes encoded = 1;
}
syntax = "proto3";
package TW.Ontology.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
string contract = 1;
string method = 2;
bytes owner_private_key = 3;
// base58 encode address string (160-bit number)
string to_address = 4;
uint64 amount = 5;
bytes payer_private_key = 6;
uint64 gas_price = 7;
uint64 gas_limit = 8;
// base58 encode address string (160-bit number)
string query_address = 9;
uint32 nonce = 10;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
}
syntax = "proto3";
package TW.Stellar.Proto;
option java_package = "wallet.core.jni.proto";
message MemoVoid {
}
message MemoText {
string text = 1;
}
message MemoId {
int64 id = 1;
}
message MemoHash {
bytes hash = 1;
}
// Input data necessary to create a signed transaction.
message SigningInput {
int64 amount = 1;
int32 fee = 2;
int64 sequence = 3;
string account = 4;
string destination = 5;
// Private key.
bytes private_key = 6;
oneof memo_type_oneof {
MemoVoid memo_void = 7;
MemoText memo_text = 8;
MemoId memo_id = 9;
MemoHash memo_hash = 10;
MemoHash memo_return_hash = 11;
}
enum OperationType {
CREATE_ACCOUNT = 0;
PAYMENT = 1;
}
OperationType operation_type = 12;
string passphrase = 13;
}
// Transaction signing output.
message SigningOutput {
// Signature.
string signature = 1;
}
syntax = "proto3";
package TW.Waves.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
int64 amount = 1;
string asset = 2;
// minimum 0.001 Waves (100000 Wavelets) for now
int64 fee = 3;
string fee_asset = 4;
string to = 5;
// any 140 bytes payload, will be displayed to the client as utf-8 string
bytes attachment = 6;
// in millis
int64 timestamp = 7;
bytes private_key = 8;
}
// Transaction signing output.
message SigningOutput {
bytes signature = 1;
string json = 2;
}
syntax = "proto3";
import "google/protobuf/any.proto";
package TW.Proto;
option java_package = "wallet.core.jni.proto";
// Result type.
message Result {
// Whether the operation was successful.
bool success = 1;
// Optional error message, only present if success is false.
string error = 2;
// Result objects, if any.
repeated google.protobuf.Any objects = 3;
}
syntax = "proto3";
package TW.Ripple.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
int64 amount = 1;
int64 fee = 2;
int32 sequence = 3;
int32 last_ledger_sequence = 4;
string account = 5;
string destination = 6;
int64 destination_tag = 7;
int64 flags = 8;
bytes private_key = 9;
}
// Transaction signing output.
message SigningOutput {
bytes encoded = 1;
}
syntax = "proto3";
package TW.Binance.Proto;
option java_package = "wallet.core.jni.proto";
message Transaction {
// int64 SIZE-OF-ENCODED // varint encoded length of the structure after encoding
// 0xF0625DEE // prefix
repeated bytes msgs = 1; // array of size 1, containing the transaction message, which are one of the transaction type below
repeated bytes signatures = 2; // array of size 1, containing the standard signature structure of the transaction sender
string memo = 3; // a short sentence of remark for the transaction, only for `Transfer` transactions.
int64 source = 4; // an identifier for tools triggerring this transaction, set to zero if unwilling to disclose.
bytes data = 5; // reserved for future use
}
message Signature {
message PubKey {
// 0xEB5AE987 // prefix
// bytes // public key bytes
}
bytes pub_key = 1; // public key bytes of the signer address
bytes signature = 2; // signature bytes, please check chain access section for signature generation
int64 account_number = 3; // another identifier of signer, which can be read from chain by account REST API or RPC
int64 sequence = 4; // sequence number for the next transaction
}
message TradeOrder {
// 0xCE6DC043 // prefix
bytes sender = 1; // originating address
string id = 2; // order id, optional
string symbol = 3; // symbol for trading pair in full name of the tokens
int64 ordertype = 4; // only accept 2 for now, meaning limit order
int64 side = 5; // 1 for buy and 2 fory sell
int64 price = 6; // price of the order, which is the real price multiplied by 1e8 (10^8) and rounded to integer
int64 quantity = 7; // quantity of the order, which is the real price multiplied by 1e8 (10^8) and rounded to integer
int64 timeinforce = 8; // 1 for Good Till Expire(GTE) order and 3 for Immediate Or Cancel (IOC)
}
message CancelTradeOrder {
// 0x166E681B // prefix
bytes sender = 1; // originating address
string symbol = 2; // symbol for trading pair in full name of the tokens
string refid = 3; // order id to cancel
}
message SendOrder {
// 0x2A2C87FA
message Token {
string denom = 1;
int64 amount = 2;
}
message Input {
bytes address = 1;
repeated Token coins = 2;
}
message Output {
bytes address = 1;
repeated Token coins = 2;
}
repeated Input inputs = 1;
repeated Output outputs = 2;
}
message TokenFreezeOrder {
// 0xE774B32D // prefix
bytes from = 1; // owner address
string symbol = 2; // token symbol, in full name with "-" suffix
int64 amount = 3; // amount of token to freeze
}
message TokenUnfreezeOrder {
// 0x6515FF0D // prefix
bytes from = 1; // owner address
string symbol = 2; // token symbol, in full name with "-" suffix
int64 amount = 3; // amount of token to unfreeze
}
message HTLTOrder {
// 0xB33F9A24 // prefix
bytes from = 1; // signer address
bytes to = 2; // recipient address
string recipient_other_chain = 3;
string sender_other_chain = 4;
bytes random_number_hash = 5; //hash of a random number and timestamp, based on SHA256
int64 timestamp = 6;
repeated SendOrder.Token amount = 7;
string expected_income = 8; // expected gained token on the other chain
int64 height_span = 9;
bool cross_chain = 10;
}
message DepositHTLTOrder {
// 0xB33F9A24 // prefix
bytes from = 1; // signer address
repeated SendOrder.Token amount = 2;
bytes swap_id = 3;
}
message ClaimHTLOrder {
// 0xC1665300 // prefix
bytes from = 1; // signer address
bytes swap_id = 2;
bytes random_number = 3;
}
message RefundHTLTOrder {
// 0x3454A27C // prefix
bytes from = 1; // signer address
bytes swap_id = 2;
}
// Input data necessary to create a signed order.
message SigningInput {
string chain_id = 1;
int64 account_number = 2;
int64 sequence = 3;
int64 source = 4;
string memo = 5;
bytes private_key = 6;
oneof order_oneof {
TradeOrder trade_order = 8;
CancelTradeOrder cancel_trade_order = 9;
SendOrder send_order = 10;
TokenFreezeOrder freeze_order = 11;
TokenUnfreezeOrder unfreeze_order = 12;
HTLTOrder htlt_order = 13;
DepositHTLTOrder depositHTLT_order = 14;
ClaimHTLOrder claimHTLT_order = 15;
RefundHTLTOrder refundHTLT_order = 16;
}
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
}
syntax = "proto3";
package TW.Icon.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Sender address.
string from_address = 1;
// Recipient address.
string to_address = 2;
// Transfer amount.
bytes value = 3;
// The amount of step to send with the transaction.
bytes step_limit = 4;
// UNIX epoch time (from 1970.1.1 00:00:00) in microseconds
int64 timestamp = 5;
// Integer value increased by request to avoid replay attacks.
bytes nonce = 6;
// Network identifier
bytes network_id = 7;
// Private key.
bytes private_key = 8;
}
// Transaction signing output.
message SigningOutput {
// JSON-encoded transaction parameters.
string encoded = 1;
// Signature.
bytes signature = 2;
}
syntax = "proto3";
package TW.VeChain.Proto;
option java_package = "wallet.core.jni.proto";
message Clause {
/// Recipient address.
string to = 1;
/// Transaction amount.
bytes value = 2;
/// Payload data.
bytes data = 3;
}
// Input data necessary to create a signed transaction.
message SigningInput {
/// Last byte of the genesis block ID which is used to identify a blockchain to prevent the cross-chain replay attack.
uint32 chain_tag = 1;
/// Reference to a specific block.
uint64 block_ref = 2;
/// How long, in terms of the number of blocks, the transaction will be allowed to be mined in VeChainThor.
uint32 expiration = 3;
/// An array of Clause objects.
///
/// Each clause contains fields To, Value and Data to enable a single transaction to carry multiple tasks issued
/// by the transaction sender.
repeated Clause clauses = 4;
/// Coefficient used to calculate the gas price for the transaction.
uint32 gas_price_coef = 5;
/// Maximum amount of gas allowed to pay for the transaction.
uint64 gas = 6;
/// ID of the transaction on which the current transaction depends.
bytes depends_on = 7;
/// Number set by user.
uint64 nonce = 8;
// Private key.
bytes private_key = 9;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
// Signature.
bytes signature = 2;
}
syntax = "proto3";
package TW.Tezos.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed Tezos transaction.
// Next field: 3
message SigningInput {
OperationList operation_list = 1;
bytes private_key = 2;
}
// Transaction signing output.
// Next field: 2
message SigningOutput {
bytes signed_bytes = 1;
}
// A list of operations and a branch.
// Next field: 3
message OperationList {
string branch = 1;
repeated Operation operations = 2;
}
// An operation that can be applied to the Tezos blockchain.
// Next field: 12
message Operation {
int64 counter = 1;
string source = 2;
int64 fee = 3;
int64 gas_limit = 4;
int64 storage_limit = 5;
enum OperationKind {
// Note: Proto3 semantics require a zero value.
ENDORSEMENT = 0;
REVEAL = 7;
TRANSACTION = 8;
ORIGINATION = 9;
DELEGATION = 10;
}
OperationKind kind = 7;
// Operation specific data depending on the type of the operation.
oneof operation_data {
RevealOperationData reveal_operation_data = 8;
TransactionOperationData transaction_operation_data = 9;
OriginationOperationData origination_operation_data = 10;
DelegationOperationData delegation_operation_data = 11;
}
}
// Transaction operation specific data.
// Next field: 3
message TransactionOperationData {
string destination = 1;
int64 amount = 2;
}
// Reveal operation specific data.
// Next field: 2
message RevealOperationData {
bytes public_key = 1;
}
// Origination operation specific data.
// Next field: 3
message OriginationOperationData {
string manager_pubkey = 1;
int64 balance = 2;
}
// Delegation operation specific data.
// Next field: 2
message DelegationOperationData {
string delegate = 1;
}
syntax = "proto3";
package TW.Any.Proto;
option java_package = "wallet.core.jni.proto";
message SigningInput {
// BIP44 network ID
uint32 coin_type = 1;
// JSON transaction
string transaction = 2;
// Private Key in HEX format
string private_key = 3;
}
message SigningOutput {
message Error {
// Error code
uint32 code = 1;
// Error description
string description = 2;
}
oneof result {
Error error = 1;
bool success = 2;
}
string output = 4;
}
syntax = "proto3";
package TW.Nebulas.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// sender's address.
string from_address = 1;
// Chain identifier (256-bit number)
bytes chain_id = 2;
// Nonce (256-bit number)
bytes nonce = 3;
// Gas price (256-bit number)
bytes gas_price = 4;
// Gas limit (256-bit number)
bytes gas_limit = 5;
// Recipient's address.
string to_address = 6;
// Amount to send in wei, 1 NAS = 10^18 Wei (256-bit number)
bytes amount = 7;
// Timestamp to create transaction (256-bit number)
bytes timestamp = 8;
// Optional payload
string payload = 9;
// Private key.
bytes private_key = 10;
}
// Transaction signing output.
message SigningOutput {
uint32 algorithm = 1;
bytes signature = 2;
string raw = 3;
}
//
message Data {
string type = 1;
bytes payload = 2;
}
// Raw transaction data
message RawTransaction {
bytes hash = 1;
bytes from = 2;
bytes to = 3;
bytes value = 4;
uint64 nonce = 5;
int64 timestamp = 6;
Data data = 7;
uint32 chain_id = 8;
bytes gas_price = 9;
bytes gas_limit = 10;
uint32 alg = 11;
bytes sign = 12;
}
syntax = "proto3";
package TW.Bravo.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Chain id (256-bit number)
bytes chain_id = 1;
// Sender's username
string sender = 2;
// Recipient's username
string recipient = 3;
// Amount in "BRAVO" or "TEST"
double amount = 4;
// Whether the transaction is for testnet
bool testnet = 5;
// Memo to attach to the transaction
string memo = 6;
// Reference Block Id (160-bits)
bytes reference_block_id = 7;
// Timestamp on the reference block
sfixed32 reference_block_time = 8;
// Sender's private key's raw bytes
bytes private_key = 9;
}
// Transaction signing output.
message SigningOutput {
// JSON of the signed transaction.
string json_encoded = 1;
}
syntax = "proto3";
package TW.Tron.Proto;
option java_package = "wallet.core.jni.proto";
message TransferContract {
// Sender address.
string owner_address = 1;
// Recipient address.
string to_address = 2;
// Amount to send.
int64 amount = 3;
}
message TransferAssetContract {
// Asset name.
string asset_name = 1;
// Sender address.
string owner_address = 2;
// Recipient address.
string to_address = 3;
// Amount to send.
int64 amount = 4;
}
message FreezeBalanceContract {
// Sender address.
string owner_address = 1;
// Frozen balance. Minimum 1
int64 frozen_balance = 2;
// Frozen duration
int64 frozen_duration = 3;
// Resource type: BANDWIDTH | ENERGY
string resource = 10;
// Receiver address
string receiver_address = 15;
}
message UnfreezeBalanceContract {
// Sender address
string owner_address = 1;
// Resource type: BANDWIDTH | ENERGY
string resource = 10;
// Receiver address
string receiver_address = 15;
}
message UnfreezeAssetContract {
// Sender address
string owner_address = 1;
}
message VoteAssetContract {
// Sender address
string owner_address = 1;
// Vote addresses
repeated string vote_address = 2;
bool support = 3;
int32 count = 5;
}
message VoteWitnessContract {
message Vote {
string vote_address = 1;
int64 vote_count = 2;
}
string owner_address = 1;
repeated Vote votes = 2;
bool support = 3;
}
message WithdrawBalanceContract {
// Sender address
string owner_address = 1;
}
message TriggerSmartContract {
string owner_address = 1;
string contract_address = 2;
int64 call_value = 3;
bytes data = 4;
int64 call_token_value = 5;
int64 token_id = 6;
}
message BlockHeader {
int64 timestamp = 1;
bytes tx_trie_root = 2;
bytes parent_hash = 3;
int64 number = 7;
bytes witness_address = 9;
int32 version = 10;
}
message Transaction {
// Transaction timestamp in milliseconds.
int64 timestamp = 1;
// Transaction expiration time in milliseconds.
int64 expiration = 2;
// Transaction block header.
BlockHeader block_header = 3;
// Transaction fee limit
int64 fee_limit = 4;
// Contract.
oneof contract_oneof {
TransferContract transfer = 10;
TransferAssetContract transfer_asset = 11;
FreezeBalanceContract freeze_balance = 12;
UnfreezeBalanceContract unfreeze_balance = 13;
UnfreezeAssetContract unfreeze_asset = 14;
WithdrawBalanceContract withdraw_balance = 15;
VoteAssetContract vote_asset = 16;
VoteWitnessContract vote_witness = 17;
TriggerSmartContract trigger_smart_contract = 18;
}
}
message SigningInput {
// Transaction.
Transaction transaction = 1;
// Private key.
bytes private_key = 2;
}
// Transaction signing output.
message SigningOutput {
// Transaction identifier.
bytes id = 1;
// Signature.
bytes signature = 2;
bytes ref_block_bytes = 3;
bytes ref_block_hash = 4;
}
syntax = "proto3";
package TW.Theta.Proto;
option java_package = "wallet.core.jni.proto";
/// Input data necessary to create a signed transaction
message SigningInput {
/// Chain ID string, mainnet, testnet and privatenet
string chain_id = 1;
/// Recipient address
string to_address = 2;
/// Theta token amount to send in wei (256-bit number)
bytes theta_amount = 3;
/// TFuel token amount to send in wei (256-bit number)
bytes tfuel_amount = 4;
/// Sequence number of the transaction for the sender address
uint64 sequence = 5;
/// Fee amount in TFuel wei for the transaction (256-bit number)
bytes fee = 6;
/// Private key
bytes private_key = 7;
}
/// Transaction signing output
message SigningOutput {
/// Signed and encoded transaction bytes
bytes encoded = 1;
/// Signature
bytes signature = 2;
}
syntax = "proto3";
package TW.Aeternity.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Address of the sender with "ak_" prefix
string from_address = 1;
// Address of the recipient with "ak_" prefix
string to_address = 2;
bytes amount = 3;
bytes fee = 4;
// Message, optional
string payload = 5;
// Time to live until block height
uint64 ttl = 6;
uint64 nonce = 7;
bytes private_key = 8;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes, Base64 with checksum
string encoded = 1;
// Signature, Base58 with checksum
string signature = 2;
}
syntax = "proto3";
package TW.Nimiq.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
bytes private_key = 1;
string destination = 2;
uint64 value = 3;
uint64 fee = 4;
uint32 validity_start_height = 5;
}
// Transaction signing output.
message SigningOutput {
bytes encoded = 1;
}
syntax = "proto3";
package TW.Harmony.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Chain identifier (256-bit number)
bytes chain_id = 1;
// Nonce (256-bit number)
bytes nonce = 2;
// Gas price (256-bit number)
bytes gas_price = 3;
// Gas limit (256-bit number)
bytes gas_limit = 4;
// Recipient's address.
string to_address = 5;
// Amount to send in wei (256-bit number)
bytes amount = 6;
// Optional payload
bytes payload = 7;
// Private key.
bytes private_key = 8;
// From shard ID (256-bit number)
bytes from_shard_id = 9;
// To Shard ID (256-bit number)
bytes to_shard_id = 10;
}
// Transaction signing output.
message SigningOutput {
// Signed and encoded transaction bytes.
bytes encoded = 1;
bytes v = 2;
bytes r = 3;
bytes s = 4;
}
syntax = "proto3";
package TW.EOS.Proto;
option java_package = "wallet.core.jni.proto";
enum KeyType {
LEGACY = 0;
MODERNK1 = 1;
MODERNR1 = 2;
}
// Values for an Asset object.
message Asset {
int64 amount = 1;
uint32 decimals = 2;
string symbol = 3;
}
// Input data necessary to create a signed transaction.
message SigningInput {
// Chain id (256-bit number)
bytes chain_id = 1;
// Reference Block Id (256-bits)
bytes reference_block_id = 2;
// Timestamp on the reference block
sfixed32 reference_block_time = 3;
// Currency (e.g. "eosio.token")
string currency = 4;
// Sender's username
string sender = 5;
// Recipient's username
string recipient = 6;
// Memo attached to the transaction
string memo = 7;
// Asset details and amount
Asset asset = 8;
// Sender's private key's raw bytes
bytes private_key = 9;
// Type of the private key
KeyType private_key_type = 10;
}
// Transaction signing output.
message SigningOutput {
// JSON of the packed transaction.
string json_encoded = 1;
}
syntax = "proto3";
package TW.Nano.Proto;
option java_package = "wallet.core.jni.proto";
// Input data necessary to create a signed transaction.
message SigningInput {
// Private key
bytes private_key = 1;
// Optional parent block hash
bytes parent_block = 2;
oneof link_oneof {
// Hash of a block to receive from
bytes link_block = 3;
// Recipient address to send coins to
string link_recipient = 4;
}
// Representative address
string representative = 5;
// Account balance (128-bit unsigned integer, as a string)
string balance = 6;
}
// Transaction signing output.
message SigningOutput {
// Signature
bytes signature = 1;
// Block hash
bytes block_hash = 2;
}
syntax = "proto3";
package TW.IOST.Proto;
option java_package = "wallet.core.jni.proto";
// The message defines transaction action struct.
message Action {
// contract name
string contract = 1;
// action name
string action_name = 2;
// data
string data = 3;
}
// The message defines transaction amount limit struct.
message AmountLimit {
// token name
string token = 1;
// limit value
string value = 2;
}
// The enumeration defines the signature algorithm.
enum Algorithm {
// unknown
UNKNOWN = 0;
// secp256k1
SECP256K1 = 1;
// ed25519
ED25519 = 2;
}
// The message defines signature struct.
message Signature {
// signature algorithm
Algorithm algorithm = 1;
// signature bytes
bytes signature = 2;
// public key
bytes public_key = 3;
}
// The message defines the transaction request.
message Transaction {
// transaction timestamp
int64 time = 1;
// expiration timestamp
int64 expiration = 2;
// gas price
double gas_ratio = 3;
// gas limit
double gas_limit = 4;
// delay nanoseconds
int64 delay = 5;
// chain id
uint32 chain_id = 6;
// action list
repeated Action actions = 7;
// amount limit
repeated AmountLimit amount_limit = 8;
// signer list
repeated string signers = 9;
// signatures of signers
repeated Signature signatures = 10;
// publisher
string publisher = 11;
// signatures of publisher
repeated Signature publisher_sigs = 12;
}
message AccountInfo {
string name = 1;
bytes active_key = 2;
bytes owner_key = 3;
}
// Input data necessary to create a signed transaction.
message SigningInput {
AccountInfo account = 1;
Transaction transaction_template = 2;
string transfer_destination = 3;
string transfer_amount = 4;
string transfer_memo = 5;
}
// Transaction signing output.
message SigningOutput {
// Signed transaction
Transaction transaction = 1;
}