common: add all Ripple messages

ripple-full
Silas Lenz 5 years ago committed by Pavol Rusnak
parent 60d1d93228
commit 4595b51fb6
No known key found for this signature in database
GPG Key ID: 91F3B339B9A02A3D

@ -29,23 +29,276 @@ message RippleAddress {
* @next RippleSignedTx
*/
message RippleSignTx {
// Common fields
repeated uint32 address_n = 1; // BIP-32 path. For compatibility with other wallets, must be m/44'/144'/index'
optional uint64 fee = 2; // fee (in drops) for the transaction
optional uint32 flags = 3; // transaction flags
optional uint32 sequence = 4; // transaction sequence number
optional uint32 last_ledger_sequence = 5; // see https://developers.ripple.com/reliable-transaction-submission.html#lastledgersequence
optional RipplePayment payment = 6; // Payment transaction type
optional string account_txn_id = 7; // see https://xrpl.org/transaction-common-fields.html#accounttxnid
repeated RippleMemo memos = 8; // additional arbitrary information used to identify this transaction
repeated RippleSigner signers = 9; // array of objects that represent a multi-signature
optional uint32 source_tag = 10; // identify the reason for this payment, or a sender on whose behalf this transaction is made.
// Transaction fields
optional RippleAccountSet account_set = 11;
optional RippleCheckCancel check_cancel = 12;
optional RippleCheckCash check_cash = 13;
optional RippleCheckCreate check_create = 14;
optional RippleDepositPreauth deposit_preauth = 15;
optional RippleEscrowCancel escrow_cancel = 16;
optional RippleEscrowCreate escrow_create = 17;
optional RippleEscrowFinish escrow_finish = 18;
optional RippleOfferCancel offer_cancel = 19;
optional RippleOfferCreate offer_create = 20;
optional RipplePayment payment = 6; // keep number 6 for backwards compatibility
optional RipplePaymentChannelClaim payment_channel_claim = 21;
optional RipplePaymentChannelCreate payment_channel_create = 22;
optional RipplePaymentChannelFund payment_channel_fund = 23;
optional RippleSetRegularKey set_regular_key = 24;
optional RippleSignerListSet signer_list_set = 25;
optional RippleTrustSet trust_set = 26;
/**
* AccountSet transaction type
* - modifies the properties of an account
* - see https://xrpl.org/accountset.html
*/
message RippleAccountSet {
optional uint32 clear_flag = 1;
optional uint32 set_flag = 2;
optional string domain = 3;
optional string email_hash = 4;
optional string message_key = 5;
optional uint32 transfer_rate = 6;
optional uint32 tick_size = 7;
}
/**
* CheckCancel transaction type
* - cancels an unredeemed Check
* - see https://xrpl.org/checkcancel.html
*/
message RippleCheckCancel {
optional string check_id = 1;
}
/**
* CheckCash transaction type
* - attempts to redeem a Check
* - see https://xrpl.org/checkcash.html
*/
message RippleCheckCash {
optional string check_id = 1;
optional uint64 amount = 2;
optional RippleIssuedAmount issued_amount = 3;
optional uint64 deliver_min = 4;
optional RippleIssuedAmount issued_deliver_min = 5;
}
/**
* CheckCreate transaction type
* - creates a Check
* - see https://xrpl.org/checkcreate.html
*/
message RippleCheckCreate {
optional string destination = 1;
optional uint64 send_max = 2;
optional RippleIssuedAmount issued_send_max = 3;
optional uint32 destination_tag = 4;
optional uint32 expiration = 5;
optional string invoice_id = 6;
}
/**
* DepositPreauth transaction type
* - gives another account pre-approval to deliver payments to the sender of this transaction
* - see https://xrpl.org/depositpreauth.html
*/
message RippleDepositPreauth {
optional string authorize = 1;
optional string unauthorize = 2;
}
/**
* EscrowCancel transaction type
* - returns escrowed XRP to the sender
* - see https://xrpl.org/escrowcancel.html
*/
message RippleEscrowCancel {
optional string owner = 1;
optional uint32 offer_sequence = 2;
}
/**
* EscrowCreate transaction type
* - sequesters XRP until the escrow process either finishes or is canceled
* - see https://xrpl.org/escrowcreate.html
*/
message RippleEscrowCreate {
optional uint64 amount = 1;
optional string destination = 2;
optional uint32 cancel_after = 3;
optional uint32 finish_after = 4;
optional string condition = 5;
optional uint32 destination_tag = 6;
}
/**
* EscrowFinish transaction type
* - delivers XRP from a held payment to the recipient
* - see https://xrpl.org/escrowfinish.html
*/
message RippleEscrowFinish {
optional string owner = 1;
optional uint32 offer_sequence = 2;
optional string condition = 3;
optional string fulfillment = 4;
}
/**
* OfferCancel transaction type
* - removes an Offer
* - see https://xrpl.org/offercancel.html
*/
message RippleOfferCancel {
optional uint32 offer_sequence = 1;
}
/**
* OfferCreate transaction type
* - effectively a limit order
* - see https://xrpl.org/offercreate.html
*/
message RippleOfferCreate {
optional uint32 expiration = 1;
optional uint32 offer_sequence = 2;
optional uint64 taker_gets = 3;
optional RippleIssuedAmount issued_taker_gets = 4;
optional uint64 taker_pays = 5;
optional RippleIssuedAmount issued_taker_pays = 6;
}
/**
* Payment transaction type
* - simple A sends money to B
* - only a subset of fields is supported
* - see https://developers.ripple.com/payment.html
* - see https://xrpl.org/payment.html
*/
message RipplePayment {
optional uint64 amount = 1; // only XRP is supported at the moment so this an integer
optional string destination = 2; // destination account address
optional uint32 destination_tag = 3; // destination tag to identify payments
optional uint64 amount = 1;
optional string destination = 2;
optional uint32 destination_tag = 3;
optional RippleIssuedAmount issued_amount = 4;
optional string invoice_id = 5;
optional uint64 send_max = 6;
optional uint64 deliver_min = 7;
optional RippleIssuedAmount issued_deliver_min = 8;
}
/**
* PaymentChannelClaim transaction type
* - claims XRP from a payment channel, adjusts the payment channel's expiration, or both
* - see https://xrpl.org/paymentchannelclaim.html
*/
message RipplePaymentChannelClaim {
optional string channel = 1;
optional uint64 balance = 2;
optional uint64 amount = 4;
optional string signature = 5;
optional string public_key = 6;
}
/**
* PaymentChannelCreate transaction type
* - creates a unidirectional channel and fund it with XRP
* - see https://xrpl.org/paymentchannelcreate.html
*/
message RipplePaymentChannelCreate {
optional uint64 amount = 1;
optional string destination = 2;
optional uint32 settle_delay = 3;
optional string public_key = 4;
optional uint32 cancel_after = 5;
optional uint32 destination_tag = 6;
}
/**
* PaymentChannelFund transaction type
* - adds additional XRP to an open payment channel, updates the expiration time of the channel, or both
* - see https://xrpl.org/paymentchannelfund.html
*/
message RipplePaymentChannelFund {
optional string channel = 1;
optional uint64 amount = 2;
optional uint32 expiration = 3;
}
/**
* SetRegularKey transaction type
* - assigns, changes, or removes the regular key pair associated with an account
* - see https://xrpl.org/setregularkey.html
*/
message RippleSetRegularKey {
optional string regular_key = 1;
}
/**
* SignerListSet transaction type
* - creates, replaces, or removes a list of signers that can be used to multi-sign a transaction
* - see https://xrpl.org/signerlistset.html
*/
message RippleSignerListSet {
optional uint32 signer_quorum = 1;
repeated RippleSignerEntry signer_entries = 2;
message RippleSignerEntry {
optional string account = 1;
optional uint32 signer_weight = 2;
}
}
/**
* TrustSet transaction type
* - creates or modify a trust line linking two accounts
* - see https://xrpl.org/trustset.html
*/
message RippleTrustSet {
optional RippleIssuedAmount limit_amount = 1;
optional uint32 quality_in = 2;
optional uint32 quality_out = 3;
}
/**
* Amount object
* - specifies amount for issued currencies
* - see https://xrpl.org/basic-data-types.html#specifying-currency-amounts
*/
message RippleIssuedAmount {
optional string currency = 1;
optional string value = 2;
optional string issuer = 3;
}
/**
* Memo object
* - specifies arbitrary messaging data for a transaction
* - see https://xrpl.org/transaction-common-fields.html#memos-field
*/
message RippleMemo {
optional string memo_data = 1;
optional string memo_format = 2;
optional string memo_type = 3;
}
/**
* Signer object
* - specifies signatures for a multi-signed transaction
* - see https://xrpl.org/transaction-common-fields.html#signers-field
*/
message RippleSigner {
optional string account = 1;
optional string txn_signature = 2;
optional string signing_pub_key = 3;
}
}

Loading…
Cancel
Save