-
Notifications
You must be signed in to change notification settings - Fork 30
/
transaction.proto
50 lines (45 loc) · 3.19 KB
/
transaction.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
syntax = "proto3";
package trisa.data.generic.v1beta1;
option go_package = "github.com/trisacrypto/trisa/pkg/trisa/data/generic/v1beta1;generic";
// Generic Transaction message for TRISA transaction payloads. The goal of this payload
// is to provide enough information to link Travel Rule Compliance information in the
// identity payload with a transaction on the blockchain or network. All fields are
// optional, this message serves as a convienience for parsing transaction payloads.
message Transaction {
string txid = 1; // a transaction ID unique to the chain/network
string originator = 2; // crypto address of the originator
string beneficiary = 3; // crypto address of the beneficiary
double amount = 4; // amount of the transaction
string network = 5; // the chain/network of the transaction
string timestamp = 6; // RFC 3339 timestamp of the transaction
string extra_json = 7; // any extra data as a JSON formatted object
string asset_type = 8; // the type of virtual asset for mult-asset chains
string tag = 9; // optional memo/destination-tag required by some ledgers to identify transactions
}
// A control flow message to support asynchronous TRISA transfers. Pending messages can
// be returned as an intermediate response during a compliance transfer if further
// processing is required before a response can be sent. The Pending message should
// provide information to the originator about when they can expect a response via the
// reply_not_before and reply_not_after timestamps. The Pending message should also
// provide collation information such as the envelope_id and original transaction so
// that the response message can be matched to the original request.
message Pending {
string envelope_id = 1; // the TRISA envelope ID that refers to the compliance communication
string received_by = 2; // the name of the recipient or recipient VASP
string received_at = 3; // the RFC3339 formatted timestamp when the request was received
string message = 4; // an optional message to respond with to the counterparty
string reply_not_after = 5; // the RFC3339 formatted timestamp when the response will be returned by
string reply_not_before = 6; // the RFC339 formatted timestamp that the response will not be sent before
string extra_json = 7; // any extra data as a JSON formatted object
Transaction transaction = 15; // the original transaction for reference
}
// DEPRECATED: the ConfirmationReceipt message was deemed to cause confusion as it could
// signal that the confirmation payload was received and the transfer is concluded. Use
// the Pending message instead to signal that this is a control flow message.
message ConfirmationReceipt {
string envelope_id = 1; // the TRISA envelope ID for reference
string received_by = 2; // name of the recipient or recipient VASP
string received_at = 3; // RFC 3339 timestamp of the receipt of request
string message = 4; // A generic message to respond with
bool response_required = 5; // If the message requires an additional transfer message
}