"Contract" terminology - a dissenting opinion

True, but I don’t think we want to separate those steps in practice. We currently call the last step “finalize,” but I think “complete” or “completar” (in Spanish) is more in line with what the last step really means. It should be a trade-off, I don’t believe those 10 principles are the 10 Commandments, but I have seen these principles put into practice and the results are surprisingly positive.

Let me be more specific.

Sender creates the transaction:

$ grin-wallet transaction draft

(the output is an incomplete slate or draft)

Recipient accepts the transaction:

$ grin-wallet transaction accept 

(the input here is an incomplete slate or draft)
(the output is a partially signed transaction, is not a draft because it is “reviewed” and then “accepted”)

Sender completes the transaction:

$ grin-wallet transaction complete

(the input is a partially signed transaction)

In the last step the transaction is finalized or “completed”, which means “signed by sender and broadcasted”.

This could be also well translated into a GUI based on a more intuitive API. If SRS and RSR is unified this also applies. Then we could have one single consistent flow: Draft - Accept - Complete or DAC.

2 Likes