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

client: Add async to anchor-client #2488

Merged
merged 10 commits into from
Jun 6, 2023
Merged

Conversation

Aursen
Copy link
Contributor

@Aursen Aursen commented May 12, 2023

No description provided.

@vercel
Copy link

vercel bot commented May 12, 2023

@Aursen is attempting to deploy a commit to the coral-xyz Team on Vercel.

A member of the Team first needs to authorize it.

@Aursen Aursen marked this pull request as ready for review May 12, 2023 08:40
client/src/nonblocking.rs Outdated Show resolved Hide resolved
client/src/nonblocking.rs Outdated Show resolved Hide resolved
client/src/nonblocking.rs Outdated Show resolved Hide resolved
@Aursen Aursen requested a review from acheroncrypto May 15, 2023 12:31
@Aursen Aursen requested a review from acheroncrypto May 15, 2023 15:28
Copy link
Collaborator

@acheroncrypto acheroncrypto left a comment

Choose a reason for hiding this comment

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

I made the subscription method the same as the blocking version(no need event handler) and subscriptions only return an unsubscribe function instead of a subscription id(since this is also what solana_client returns). Let me know what you think!

Before:

let mut event_handler = program.create_event_handler().await?;
let event_id = event_handler.subscribe(...)?;
event_handler.unsubscribe(event_id).await;

After:

let event = program.on(...).await?;
event.unsubscribe().await;

One issue is that there is still too much duplicate code. What do you think we can do about it?

client/src/nonblocking.rs Outdated Show resolved Hide resolved
client/src/nonblocking.rs Outdated Show resolved Hide resolved
@Aursen
Copy link
Contributor Author

Aursen commented May 23, 2023

For the duplication, I need to think a bit

@Aursen Aursen requested a review from acheroncrypto June 4, 2023 17:53
Copy link
Collaborator

@acheroncrypto acheroncrypto left a comment

Choose a reason for hiding this comment

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

Thank you for taking the time to reduce the duplication. I think it looks much better overall, and will be easier to maintain.

Let me know if there are any issues with the other comment.

client/src/lib.rs Outdated Show resolved Hide resolved
Copy link
Collaborator

@acheroncrypto acheroncrypto left a comment

Choose a reason for hiding this comment

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

Thank you, looks great!

@acheroncrypto acheroncrypto merged commit 65c9d6e into coral-xyz:master Jun 6, 2023
@Aursen Aursen deleted the async branch June 7, 2023 07:41
Aursen added a commit to Aursen/anchor that referenced this pull request Jun 10, 2023
commit e1afcbf
Author: acheron <[email protected]>
Date:   Fri Jun 9 18:00:35 2023 +0200

    v0.28.0 (coral-xyz#2527)

commit c7c7319
Author: acheron <[email protected]>
Date:   Thu Jun 8 18:59:44 2023 +0200

    Allow wider range of dependency versions to reduce dependency issues (coral-xyz#2524)

commit 6df34e7
Author: acheron <[email protected]>
Date:   Wed Jun 7 19:12:56 2023 +0200

    Update crate authors and remove outdated registry (coral-xyz#2522)

commit 1705d16
Author: Jean Marchand (Exotic Markets) <[email protected]>
Date:   Wed Jun 7 16:29:23 2023 +0200

    docs: Add doc for InitSpace macro (coral-xyz#2521)

commit 3d7c97b
Author: acheron <[email protected]>
Date:   Tue Jun 6 19:28:24 2023 +0200

    cli: Accept program lib name for `anchor deploy --program-name` (coral-xyz#2519)

commit a88be42
Author: Sergo <[email protected]>
Date:   Tue Jun 6 14:07:33 2023 +0300

    ts: Validate `error.data` exists on simulation response (coral-xyz#2508)

commit 65c9d6e
Author: Jean Marchand (Exotic Markets) <[email protected]>
Date:   Tue Jun 6 09:43:46 2023 +0200

    client: Add async to anchor-client (coral-xyz#2488)

    Co-authored-by: acheron <[email protected]>

commit b8eda69
Author: Deep Mehta <[email protected]>
Date:   Mon Jun 5 22:35:24 2023 +0530

    cli: Print not found message if the given program cannot be found during deployment (coral-xyz#2517)

commit 1902b8e
Author: CanardMandarin <[email protected]>
Date:   Mon Jun 5 14:16:10 2023 +0200

    cli: Update programs in `Anchor.toml` when using `anchor new` (coral-xyz#2516)

commit 383e440
Author: acheron <[email protected]>
Date:   Sun Jun 4 21:02:16 2023 +0200

    cli: Initialize with the correct program id (coral-xyz#2509)

commit 835dc5b
Author: Sarfaraz Nawaz <[email protected]>
Date:   Sun Jun 4 23:20:03 2023 +0530

    lang: Rename derive_anchor_deserialize -> derive_init_space (coral-xyz#2510)

commit 1c6f86e
Author: acheron <[email protected]>
Date:   Sun Jun 4 13:09:39 2023 +0200

    Upgrade Solana to 1.16.0 (coral-xyz#2512)

commit 2bf8afe
Author: acheron <[email protected]>
Date:   Tue May 30 19:50:45 2023 +0200

    cli: Use `confirmed` commitment level in commands (coral-xyz#2506)

commit 70d9223
Author: acheron <[email protected]>
Date:   Sun May 28 22:34:53 2023 +0200

    cli: Add `anchor keys sync` command (coral-xyz#2505)

commit 0c8498d
Author: cavemanloverboy <[email protected]>
Date:   Sat May 27 06:53:02 2023 -0700

    cli: Exit `anchor clean` without error when dirs don't exist (coral-xyz#2504)

commit 23b90bf
Author: Noah Gundotra <[email protected]>
Date:   Fri May 26 12:36:46 2023 -0400

    Feature: CPI Events API (coral-xyz#2438)

    Co-authored-by: acheron <[email protected]>

commit c3625c8
Author: Last Emperor <[email protected]>
Date:   Wed May 24 15:05:47 2023 +0300

    examples: Add an example with `instruction` method (coral-xyz#2501)

    Co-authored-by: acheron <[email protected]>

commit 67eb752
Author: acheron <[email protected]>
Date:   Sat May 20 20:34:38 2023 +0200

    tests: Fix zero-copy tests (coral-xyz#2498)

commit f9d0eca
Author: acheron <[email protected]>
Date:   Fri May 19 13:18:14 2023 +0200

    spl: Update `spl-token-2022` to 0.6.1 (coral-xyz#2496)

commit 4793b90
Author: acheron <[email protected]>
Date:   Fri May 19 10:58:16 2023 +0200

    Fix `toml_datetime` 1.64.0 MSRV error (coral-xyz#2495)

commit 41a4d82
Author: chalda <[email protected]>
Date:   Thu May 18 19:12:25 2023 +0200

    cli: Add print base64 instruction option for some of the IDL commands (coral-xyz#2486)

    Co-authored-by: acheron <[email protected]>

commit b7bada1
Author: Pierre <[email protected]>
Date:   Tue May 16 23:46:40 2023 +1000

    fix: remove skip preflight from cli (coral-xyz#2492)

    ---------

    Co-authored-by: acheron <[email protected]>

commit 89e94d1
Author: Ryan De La O <[email protected]>
Date:   Sat May 13 02:17:47 2023 -0700

    cli: Fix incorrect metadata.address generation (coral-xyz#2485)

    Currently when running 'anchor deploy --program-name <name> --program-keypair <specified keypair>' the cli still uses the auto-generated keypair when fetching the program id to add to the IDL metadata at the end. It should instead use the address from the specified keypair.

    ---------

    Co-authored-by: acheron <[email protected]>

commit 714d524
Author: CanardMandarin <[email protected]>
Date:   Tue May 9 16:17:11 2023 +0200

    lang: Add error message when Mint and TokenAccount with `init` are not ordered correctly (coral-xyz#2484)

commit 9a93a2e
Author: James <[email protected]>
Date:   Mon May 8 10:17:51 2023 +0100

    ts: Improve IDL typing (coral-xyz#2482)

    * Use XOR pattern for enum variants to prevent two variants being used at the same time.

    * Fix unknown for types like Option<[u8; 32]>

commit d1ddf00
Author: CanardMandarin <[email protected]>
Date:   Sun May 7 11:03:37 2023 +0200

    lang: Fix incorrectly checking the first init constraint (coral-xyz#2483)
vadorovsky pushed a commit to Lightprotocol/anchor that referenced this pull request Jun 20, 2023
ananas-block pushed a commit to Lightprotocol/anchor that referenced this pull request Jun 20, 2023
@acamill
Copy link
Contributor

acamill commented Aug 14, 2023

Any example of rust code using an async client?

@acheroncrypto
Copy link
Collaborator

Any example of rust code using an async client?

Here is an example https://github.com/coral-xyz/anchor/blob/master/client/example/src/nonblocking.rs

@acamill
Copy link
Contributor

acamill commented Aug 15, 2023

Thanks!

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

Successfully merging this pull request may close these issues.

3 participants