java-stellar-sdk icon indicating copy to clipboard operation
java-stellar-sdk copied to clipboard

Horizon v1.0.0 Compatibility

Open abuiles opened this issue 6 years ago • 3 comments

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:

  • [x] ➕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 https://github.com/stellar/go/pull/2140 for more info.

  • [x] ✂ 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 https://github.com/stellar/go/issues/1609, https://github.com/stellar/go/pull/1909, and https://github.com/stellar/go/issues/1912 for more info

  • [ ] 🚨 Update operation types to canonical names (if needed) (see https://github.com/stellar/go/pull/2134).

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

  • [x] ➕Add support for /offers end-point with query parameters. We recommend a method like .offers(queryParams) (see documentation for offers).

  • [x] ➕Add support for /paths/strict-send end-point. See documentation. We recommend a method like

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

    strictReceivePaths(sourceAssets,destinationAsset, destinationAmount)
    
  • [x] ♻ 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.

abuiles avatar Jan 22 '20 21:01 abuiles

Is anyone working on this? If not, I would be happy to help.

overcat avatar Jan 31 '20 13:01 overcat

@overcat go for it, I think there are some tasks which were already handled by @tamirms -- but then the others are open. @tamirms can you check the ones which are already done?

abuiles avatar Jan 31 '20 14:01 abuiles

@overcat I would recommend tackling either:

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

or

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

tamirms avatar Jan 31 '20 21:01 tamirms