Synesso / scala-stellar-sdk

Scala SDK for the Stellar network

Home Page:https://synesso.github.io/scala-stellar-sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Post Protocol 13 release

abuiles opened this issue · comments

The vote to upgrade the Stellar network to Protocol 13 is currently scheduled for June 18 at 1600 UTC. Once Protocol 13 is enabled, we need to release a new version of the SDKs which implement the following tasks:

1) The SDKs should generate V1 transaction envelopes instead of V0 transaction envelopes.

After Protocol 13 is enabled Stellar Core will accept both V0 and V1 transactions in order to maintain backwards compatibility with transactions generated before Protocol 13 is enabled.

However, there are some features which are only available in V1 transactions such as CAP 18 Fine-Grained Control of Authorization. Therefore all SDKs should be generating V1 transactions once Protocol 13 is enabled.

Here is the Go SDK implementation for reference: stellar/go#2640

2) The SDKs should allow you to fee bump a V0 transaction. The workflow for fee bumping a V0 transaction is:

First convert the V0 transaction to a V1 transaction. This is possible because the transaction hash for a V0 transaction is the same for its equivalent V1 transaction.

Therefore, any signatures attached to a V0 transaction are also valid for the equivalent V1 transaction.

Once you have converted the V0 transaction into a V1 transaction, construct the fee bump transaction by wrapping the V1 transaction.

Here is the Go SDK implementation for reference: stellar/go#2650


The Go SDK has implemented these changes in a release branch. However, the release will only be published after the protocol vote because, until the network is upgraded, Stellar Core will only accept V0 transactions.

If you have any question, feel free to ping @tamirms or @abuiles.