Envelope and synthetic transaction redesign

Description

Add something to the synthetic transaction so we know where it came from.

Whether or not the transaction is synthetic must be included in the transaction hash (and thus included in what is signed). Otherwise people could spoof synthetic transactions.

Implementation plan

  • Add an enum for the transaction/envelope/delivery kind/mode

    • Value 0 (default): is user transaction

    • Value 1: synthetic transaction

    • Value 2: suggested transaction

  • Update Envelope

    • Add Principal *url.URL

    • Add transaction/envelope/delivery kind/mode

  • Update Transaction

    • Remove TransactionHeader

    • Add Initiator [32]byte

    • Delete TransactionHeader type

  • Update ED25519Signature

    • Add Signer *url.URL, SignerLastUpdatedOn uint64, Timestamp uint64

  • Update LegacyED25519Signature

    • Add Signer *url.URL, SignerLastUpdatedOn uint64

  • Add BulkTransaction

    • Has field Transactions []TransactionBody

  • Synthetic transactions should be sent as a bulk transaction

    • Add a URL field where necessary (e.g the recipient for a token deposit)

Activity

Show:

Automation for Jira March 18, 2022 at 6:22 PM

Ethan Reesor merged "chore(prot): redesign envelopes" (!214)

Automation for Jira March 18, 2022 at 6:22 PM

Ethan Reesor pushed 0 commit(s):

Automation for Jira March 18, 2022 at 6:07 PM

Ethan Reesor pushed 1 commit(s): "fix" by Ethan Reesor on 2022-03-18T13:07:24-05:00

Automation for Jira March 18, 2022 at 5:43 PM

Ethan Reesor pushed 1 commit(s): "fix" by Ethan Reesor on 2022-03-18T12:43:41-05:00

Automation for Jira March 18, 2022 at 5:05 PM

Ethan Reesor pushed 1 commit(s): "fix" by Ethan Reesor on 2022-03-18T12:05:26-05:00

Done
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Ethan Reesor

Reporter

Validation

Actual end

Mar 18, 2022, 10:21 PM
Created March 8, 2022 at 1:37 AM
Updated April 4, 2022 at 3:53 PM
Resolved March 18, 2022 at 10:21 PM