You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
trezor-firmware/protob/messages-ontology.proto

190 lines
4.9 KiB

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

syntax = "proto2";
// Sugar for easier handling in Java
option java_package = "com.satoshilabs.trezor.lib.protobuf";
option java_outer_classname = "TrezorMessageOntology";
/**
* Ontology Transaction
* @embed
*/
message OntologyTransaction {
optional uint32 version = 1;
optional uint32 type = 2;
optional uint32 nonce = 3;
optional uint64 gas_price = 4;
optional uint64 gas_limit = 5;
optional string payer = 6;
repeated OntologyTxAttribute tx_attributes = 7;
/**
* Attribute of Ontology transaction
*/
message OntologyTxAttribute {
optional uint32 usage = 1;
optional bytes data = 2;
}
}
/**
* Request: Ask device for Ontology public key corresponding to address_n path
* @start
* @next OntologyPublicKey
*/
message OntologyGetPublicKey {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional bool show_display = 2; // Optionally show on display before sending the result
}
/**
* Response: Contains Ontology public key derived from device private seed
* @end
*/
message OntologyPublicKey {
optional bytes public_key = 1; // Ontology public key
}
/**
* Request: Ask device for Ontology address corresponding to address_n path
* @start
* @next OntologyAddress
*/
message OntologyGetAddress {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional bool show_display = 2; // Optionally show on display before sending the result
}
/**
* Response: Contains Ontology address derived from device private seed
* @end
*/
message OntologyAddress {
optional string address = 1; // Ontology address
}
/**
* Request: Ask device to sign Ontology transfer
* @start
* @next OntologySignedTransfer
*/
message OntologySignTransfer {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional OntologyTransaction transaction = 2;
optional OntologyTransfer transfer = 3;
/**
* Ontology Transfer
*/
message OntologyTransfer {
optional OntologyAsset asset = 1;
optional uint64 amount = 2;
optional string from_address = 3;
optional string to_address = 4;
/**
* Ontology Asset
*/
enum OntologyAsset {
ONT = 1;
ONG = 2;
}
}
}
/**
* Response: Contains Ontology transfer signature
* @end
*/
message OntologySignedTransfer {
optional bytes signature = 1;
optional bytes payload = 2;
}
/**
* Request: Ask device to sign Ontology ONG withdrawal
* @start
* @next OntologySignedWithdrawOng
*/
message OntologySignWithdrawOng {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional OntologyTransaction transaction = 2;
optional OntologyWithdrawOng withdraw_ong = 3;
/**
* Ontology ONG Withdrawal
*/
message OntologyWithdrawOng {
optional uint64 amount = 1;
optional string from_address = 2;
optional string to_address = 3;
}
}
/**
* Response: Contains Ontology ONG withdrawal signature
* @end
*/
message OntologySignedWithdrawOng {
optional bytes signature = 1;
optional bytes payload = 2;
}
/**
* Request: Ask device to sign Ontology ONT ID registration
* @start
* @next OntologySignedOntIdRegister
*/
message OntologySignOntIdRegister {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional OntologyTransaction transaction = 2;
optional OntologyOntIdRegister ont_id_register = 3;
/**
* Ontology ONT ID registration
*/
message OntologyOntIdRegister {
optional string ont_id = 1;
optional bytes public_key = 2;
}
}
/**
* Response: Contains Ontology ONT ID registration signature
* @end
*/
message OntologySignedOntIdRegister {
optional bytes signature = 1;
optional bytes payload = 2;
}
/**
* Request: Ask device to sign Ontology ONT ID attributes adding
* @start
* @next OntologySignedOntIdAddAttributes
*/
message OntologySignOntIdAddAttributes {
repeated uint32 address_n = 1; // BIP-32 path to derive the key from master node
optional OntologyTransaction transaction = 2;
optional OntologyOntIdAddAttributes ont_id_add_attributes = 3;
/**
* Ontology ONT ID attributes adding
*/
message OntologyOntIdAddAttributes {
optional string ont_id = 1;
optional bytes public_key = 2;
repeated OntologyOntIdAttribute ont_id_attributes = 3;
/**
* Attribute of Ontology ONT ID
*/
message OntologyOntIdAttribute {
optional string key = 1;
optional string type = 2;
optional string value = 3;
}
}
}
/**
* Response: Contains Ontology ONT ID attributes adding signature
* @end
*/
message OntologySignedOntIdAddAttributes {
optional bytes signature = 1;
optional bytes payload = 2;
}