Skip to content
This repository has been archived by the owner on May 24, 2024. It is now read-only.

Horizon v1.0.0 Compatibility #214

Closed
9 tasks done
abuiles opened this issue Jan 22, 2020 · 6 comments
Closed
9 tasks done

Horizon v1.0.0 Compatibility #214

abuiles opened this issue Jan 22, 2020 · 6 comments

Comments

@abuiles
Copy link

abuiles commented Jan 22, 2020

The upcoming Horizon release is coming, and there are multiple breaking changes plus new features ๐ŸŽ‰๐ŸŽ‰๐ŸŽ‰!

The following are the list of changes required to support this new release:

  • โž•Update /fee_stats response.

    • โœ‚ Remove the following fields:

      min_accepted_fee
      mode_accepted_fee
      p10_accepted_fee
      p20_accepted_fee
      p30_accepted_fee
      p40_accepted_fee
      p50_accepted_fee
      p60_accepted_fee
      p70_accepted_fee
      p80_accepted_fee
      p90_accepted_fee
      p95_accepted_fee
      p99_accepted_fee
    • โž•Add support for max_fee and fee_charged fields. Each field contains a JSON object that looks like this:

      {
        "last_ledger": "22606298",
        "last_ledger_base_fee": "100",
        "ledger_capacity_usage": "0.97",
        "fee_charged": {
          "max": "100",
          "min": "100",
          "mode": "100",
          "p10": "100",
          "p20": "100",
          "p30": "100",
          "p40": "100",
          "p50": "100",
          "p60": "100",
          "p70": "100",
          "p80": "100",
          "p90": "100",
          "p95": "100",
          "p99": "100"
        },
        "max_fee": {
          "max": "100000",
          "min": "100",
          "mode": "100",
          "p10": "100",
          "p20": "100",
          "p30": "100",
          "p40": "100",
          "p50": "100",
          "p60": "100",
          "p70": "100",
          "p80": "100",
          "p90": "15000",
          "p95": "100000",
          "p99": "100000"
        }
       }

    See Update /fee_stats documentation.ย stellar/go#2140 for more info.

  • โœ‚ Remove deprecated fee_paid field from Transaction response (replace it with the fee_charged and max_fee fields, see #1372).

  • ๐ŸšจMultiple fields changed from int64 to string. If your SDK has types, they need to be updated. If possible, we recommend implementing backward compatibility support, as we did here.

    See Decide on use of int64 in JSON responses.ย stellar/go#1609, protocols/horizon/effects: Add UnmarshalJSON to SequenceBumped.ย stellar/go#1909, and Support String or Number Unmarshalling in Int64 fieldsย stellar/go#1912 for more info

  • ๐Ÿšจ Update operation types to canonical names (if needed) (see protocols/horizon: Apply deprecation on some operation types, updating them to the correct valueย stellar/go#2134).

  • โž•Add support for /accounts end-point with ?signer and ?asset filters. We recommend a method like .accounts(queryParams) (see documentation for accounts).

  • โž•Add support for /offers end-point with query parameters. We recommend a method like .offers(queryParams) (see documentation for offers).

  • โž•Add support for /paths/strict-send end-point. See documentation.
    We recommend a method like

    strictSendPaths(sourceAsset, sourceAmount, [destinationAsset])
    
  • โž• Add support for /paths/strict-receive end-point. See documentation.
    We recommend a method like:

    strictReceivePaths(sourceAssets,destinationAsset, destinationAmount)
    
  • โ™ป Regenerate the XDR definitions to include MetaV2 support (also see #1902).

That's it! If you have any questions feel free to ping us on #dev-discussion in Keybase.

@Kirbyrawr
Copy link
Collaborator

@Kirbyrawr
Copy link
Collaborator

Kirbyrawr commented Jan 23, 2020

@fracek fracek added this to the Horizon v1.0.0 milestone Jan 24, 2020
@Kirbyrawr
Copy link
Collaborator

@Kirbyrawr
Copy link
Collaborator

Kirbyrawr commented Jan 26, 2020

@fracek
Copy link
Collaborator

fracek commented Jan 26, 2020

@fracek
Copy link
Collaborator

fracek commented Jan 26, 2020

We implemented all required changes and merged them into the horizon-1.0.0 branch. We just need to merge into master to release a new version of the SDK.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants