Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Protocol 14 support. #572

Merged
merged 8 commits into from
Sep 29, 2020
Merged

Add Protocol 14 support. #572

merged 8 commits into from
Sep 29, 2020

Conversation

abuiles
Copy link
Contributor

@abuiles abuiles commented Sep 28, 2020

This pull request add support for protocol 14 operations, effects, and new Horizon end-points.

  • Add support for claimable balances.
    Extend server class to allow loading claimable balances from Horizon. The following functions are available:
server.claimableBalances();
server.claimableBalances().claimant(claimant);
server.claimableBalances().sponsor(sponsorID);
server.claimableBalances().asset(asset);
server.claimableBalances().claimableBalance(balanceID);
  • Add the following attributes to AccountResponse :

    • sponsor?: string
    • num_sponsoring: number
    • num_sponsored: number
  • Add the optional attribute sponsor to AccountSigner, BalanceLineAsset, ClaimableBalanceRecord, and OfferRecord .

  • Add sponsor filtering support for offers and accounts .

    • server.offers().sponsor(accountID)
    • server.accounts().sponsor(accountID)
  • Extend operation responses to support new operations .

    • create_claimable_balance with the following fields:
      • asset - asset available to be claimed (in canonical form),
      • amount - amount available to be claimed,
      • claimants - list of claimants with predicates (see below):
        • destination - destination account ID,
        • predicate - predicate required to claim a balance (see below).
    • claim_claimable_balance with the following fields:
      • balance_id - unique ID of balance to be claimed,
      • claimant - account ID of a claimant.
    • begin_sponsoring_future_reserves with the following fields:
      • sponsored_id - account ID for which future reserves will be sponsored.
    • end_sponsoring_future_reserves with the following fields:
      • begin_sponsor - account sponsoring reserves.
    • revoke_sponsorship with the following fields:
      • account_id - if account sponsorship was revoked,
      • claimable_balance_id - if claimable balance sponsorship was revoked,
      • data_account_id - if account data sponsorship was revoked,
      • data_name - if account data sponsorship was revoked,
      • offer_id - if offer sponsorship was revoked,
      • trustline_account_id - if trustline sponsorship was revoked,
      • trustline_asset - if trustline sponsorship was revoked,
      • signer_account_id - if signer sponsorship was revoked,
      • signer_key - if signer sponsorship was revoked.
  • Extend effect responses to support new effects .

    • claimable_balance_created with the following fields:
      • balance_id - unique ID of claimable balance,
      • asset - asset available to be claimed (in canonical form),
      • amount - amount available to be claimed.
    • claimable_balance_claimant_created with the following fields:
      • balance_id - unique ID of a claimable balance,
      • asset - asset available to be claimed (in canonical form),
      • amount - amount available to be claimed,
      • predicate - predicate required to claim a balance (see below).
    • claimable_balance_claimed with the following fields:
      • balance_id - unique ID of a claimable balance,
      • asset - asset available to be claimed (in canonical form),
      • amount - amount available to be claimed,
    • account_sponsorship_created with the following fields:
      • sponsor - sponsor of an account.
    • account_sponsorship_updated with the following fields:
      • new_sponsor - new sponsor of an account,
      • former_sponsor - former sponsor of an account.
    • account_sponsorship_removed with the following fields:
      • former_sponsor - former sponsor of an account.
    • trustline_sponsorship_created with the following fields:
      • sponsor - sponsor of a trustline.
    • trustline_sponsorship_updated with the following fields:
      • new_sponsor - new sponsor of a trustline,
      • former_sponsor - former sponsor of a trustline.
    • trustline_sponsorship_removed with the following fields:
      • former_sponsor - former sponsor of a trustline.
    • claimable_balance_sponsorship_created with the following fields:
      • sponsor - sponsor of a claimable balance.
    • claimable_balance_sponsorship_updated with the following fields:
      • new_sponsor - new sponsor of a claimable balance,
      • former_sponsor - former sponsor of a claimable balance.
    • claimable_balance_sponsorship_removed with the following fields:
      • former_sponsor - former sponsor of a claimable balance.
    • signer_sponsorship_created with the following fields:
      • signer - signer being sponsored.
      • sponsor - signer sponsor.
    • signer_sponsorship_updated with the following fields:
      • signer - signer being sponsored.
      • former_sponsor - the former sponsor of the signer.
      • new_sponsor - the new sponsor of the signer.
    • signer_sponsorship_removed with the following fields:
      • former_sponsor - former sponsor of a signer.

@abuiles abuiles changed the title Protocol 18 support. Add Protocol 18 support. Sep 28, 2020
@abuiles abuiles marked this pull request as ready for review September 28, 2020 21:17
@abuiles abuiles requested a review from a team September 28, 2020 21:28
Copy link
Member

@ire-and-curses ire-and-curses left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed docs, looks good 👍

@Shaptic Shaptic changed the title Add Protocol 18 support. Add Protocol 14 support. Sep 28, 2020
@abuiles abuiles merged commit 0eb6cf8 into master Sep 29, 2020
@abuiles abuiles deleted the procotol-14-support branch September 29, 2020 14:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants