xdr/Stellar-transaction.x in stellar-base-0.0.3 vs xdr/Stellar-transaction.x in stellar-base-0.0.4

- old
+ new

@@ -84,10 +84,12 @@ uint32* clearFlags; // which flags to clear uint32* setFlags; // which flags to set Thresholds* thresholds; // update the thresholds for the account + string32* homeDomain; // sets the home domain + // Add, update or remove a signer for the account // signer is deleted if the weight is 0 Signer* signer; }; @@ -167,15 +169,38 @@ case ALLOW_TRUST: AllowTrustOp allowTrustOp; case ACCOUNT_MERGE: uint256 destination; case INFLATION: - uint32 inflationSeq; + void; } body; }; +enum MemoType +{ + MEMO_TYPE_NONE = 0, + MEMO_TYPE_TEXT = 1, + MEMO_TYPE_ID = 2, + MEMO_TYPE_HASH = 3, + MEMO_TYPE_RETURN =4 +}; + +union Memo switch (MemoType type) +{ + case MEMO_TYPE_NONE: + void; + case MEMO_TYPE_TEXT: + string text<28>; + case MEMO_TYPE_ID: + uint64 id; + case MEMO_TYPE_HASH: + Hash hash; // the hash of what to pull from the content server + case MEMO_TYPE_RETURN: + Hash retHash; // the hash of the tx you are rejecting +}; + /* a transaction is a container for a set of operations - is executed by an account - fees are collected from the account - operations are executed in order as one ACID transaction either all operations are applied or none are @@ -196,10 +221,12 @@ // validity range (inclusive) for the ledger sequence number uint32 minLedger; uint32 maxLedger; + Memo memo; + Operation operations<100>; }; /* A TransactionEnvelope wraps a transaction with signatures. */ struct TransactionEnvelope @@ -328,11 +355,12 @@ SET_OPTIONS_SUCCESS = 0, // codes considered as "failure" for the operation SET_OPTIONS_LOW_RESERVE = -1, // not enough funds to add a signer SET_OPTIONS_TOO_MANY_SIGNERS = -2, // max number of signers already reached SET_OPTIONS_BAD_FLAGS = -3, // invalid combination of clear/set flags - SET_OPTIONS_INVALID_INFLATION = -4 // inflation account does not exist + SET_OPTIONS_INVALID_INFLATION = -4,// inflation account does not exist + SET_OPTIONS_CANT_CHANGE = -5 // can no longer change this option }; union SetOptionsResult switch (SetOptionsResultCode code) { case SET_OPTIONS_SUCCESS: @@ -369,10 +397,11 @@ // codes considered as "success" for the operation ALLOW_TRUST_SUCCESS = 0, // codes considered as "failure" for the operation ALLOW_TRUST_MALFORMED = -1, // currency is not ISO4217 ALLOW_TRUST_NO_TRUST_LINE = -2, // trustor does not have a trustline - ALLOW_TRUST_TRUST_NOT_REQUIRED = -3 // source account does not require trust + ALLOW_TRUST_TRUST_NOT_REQUIRED = -3, // source account does not require trust + ALLOW_TRUST_CANT_REVOKE = -4 // source account can't revoke trust }; union AllowTrustResult switch (AllowTrustResultCode code) { case ALLOW_TRUST_SUCCESS: