Commit Graph

452 Commits

Author SHA1 Message Date
Marc Jaramillo 375968da3b fix: transaction confirmation strategy: wait until the last valid blockheight passes (closes #24211)
Co-authored-by: Marc Jaramillo <mnj.webdeveloper@gmail.com>
Co-authored-by: Stella Wang <stella01wang@gmail.com>
2022-05-13 20:21:24 -07:00
Steven Luscher e024806aa5
fix: mark the socket as closed when receiving a close/error message (#25180) 2022-05-13 02:07:13 -07:00
wentokay a38ce127ca
fix: include exception identifier in `catch` blocks (#25147) 2022-05-11 20:32:02 -07:00
Justin Starry d1f816984e
fix: allow mutating transactions (#25141) 2022-05-12 11:02:57 +08:00
Justin Starry 634b7c3b5a
chore: fix lagging stake program live test (#25107)
* chore: fix lagging stake program live test

* chore: use min stake delegation in stake tests
2022-05-11 00:37:15 +08:00
Justin Starry d34b440a3c
chore: update dev dep @solana/spl-token to 0.2.0 (#25044)
* chore: update dev dep @solana/spl-token to 0.2.0

* chore: fix token tests
2022-05-07 00:14:11 +08:00
Steven Luscher 9089909995
fix: add bigint support to system transfers (#24975)
Authored-by: KonyTech <nicolas.cortella@protonmail.com>
2022-05-04 19:14:31 -07:00
Steven Luscher dd8295981b
test: you can now supply promises for values when mocking RPC subscriptions (#24920) 2022-05-02 17:02:35 -07:00
Steven Luscher 2e617ba4fd
fix: the one where we fix client subscriptions (#24473)
* chore: create a first-class type to distinguish client subscription ids from server subscription ids

* chore: add fast-stable-stringify as a dependency to web3.js

* fix: reimplement the subscription tracker as a state machine

* test: updated tests to recognize that signatureUnsubscribe happens synchronously

* chore: add sinon-chai so that we can make assertions on calling spies

* test: coverage for the full range of subscription state transitions

* fix: special case auto-disposing subscriptions like signatureSubscribe

* fix: document Subscription type (SQUASH THIS)

* fix: strict undefined checks (SQUASH THIS)

* fix: naming (SQUASH THIS)

* fix: move defaulting to source (SQUASH THIS)

* fix: build RPC args first, then produce the subscription topic hash (SQUASH THIS)

* fix: dispose handles no longer track whether they've been called (SQUASH THIS)

* fix: shore up the auto-disposing sub tests now that double-free doesn't fatal (SQUASH THIS)

* fix: write documentation explaining how and why to apply a default commitment (SQUASH THIS)

* fix: skip subscriptions that have been deleted when recursing (SQUASH THIS)

* fix: bail on async responses when the connection has been recycled (SQUASH THIS)

* fix: typo in comment (SQUASH THIS)

* chore: comment on why notification callbacks are ts-ignored

* chore: start all the new stuff out as private members of the Connection class
2022-04-28 16:21:39 -07:00
Steven Luscher 8f6e469d92
test: repair web3.js getBlocks tests (#24813) 2022-04-28 16:09:08 -07:00
Steven Luscher 69725df6b0
chore: delete unused Rollup config in web3.js test dir (#24733) 2022-04-27 11:36:04 -07:00
Steven Luscher 2be4ee3619
test: increase timeout for getEstimatedFee test (#24732) 2022-04-26 23:54:56 -07:00
Phil Chen 6bbfef7069
feat: add support for compute budget instructions (#24086)
* Add ComputeBudgetInstruction to web3 sdk

* Prettier fix

* Rename to ComputeBudgetProgram and enable tests

Co-authored-by: Justin Starry <justin@solana.com>
2022-04-26 23:58:32 +08:00
Kartik Soneji 758fcd383d
feat: allow PublicKey.isOnCurve to accept PublicKeyInitData (#24602) 2022-04-25 20:42:41 +08:00
Justin Starry 7ba419e5d5
fix: allow signing a populated transaction (#24475) 2022-04-20 01:03:37 +08:00
Yang Li a6742b5838
fix: remove async for createProgramAddress and findProgramAddress (#2… (#23185)
* fix: remove async for createProgramAddress and findProgramAddress (#23184)

make sync

* test: add test to ensure backwards compatibility
2022-04-18 16:17:00 +02:00
Jordan Sexton 21dacefbee
fix: transactions populated from RPC requests retain original account key order (#23720)
* fix: transaction populate

* chore: web3: fix tx serialization test

* chore: web3: run prettier

* fix: web3: transaction populate

* fix: web3: handle nonce info

* add hash calc config.use_write_cache (#24005)

* restore existing overlapping overflow (#24010)

* Stringify populated transaction fields

* fix: web3: compare stringified JSON

* chore: web3: remove eslint indent rule that conflicts with prettier

* fix: web3: explicitly call toJSON

* fix: web3: add test for compileMessage

* fix: web3: make JSON internal

* fix: web3: connection simulation from message relies on mutating transaction

Co-authored-by: Jeff Washington (jwash) <wash678@gmail.com>
Co-authored-by: Jack May <jack@solana.com>
Co-authored-by: Justin Starry <justin@solana.com>
2022-04-16 14:28:57 -05:00
steveluscher 1882434c69 test: add test for signature notifications 2022-04-09 19:43:15 -07:00
steveluscher 21a64db140 test: refactor notification tests on the basis of promises rather than polling 2022-04-09 19:43:15 -07:00
steveluscher db50893fa1 test: reenable account change subscription test 2022-04-09 19:43:15 -07:00
steveluscher 35ee38b0f1 test: reenable log subscription test 2022-04-09 19:43:15 -07:00
stellaw1 c08cfafd6c feat: adds getBlockProduction RPC call 2022-03-26 18:31:40 -07:00
Steven Luscher 412d9be445
fix: repair web3 connection tests by making fewer assumptions about the existence of particular blocks (#23921)
* fix: repair 'get confirmed signatures for address' test in web3.js

* fix: repair 'get signatures for address' test in web3.js

* fix: repair 'get parsed confirmed transactions' test in web3.js

* fix: repair 'get transaction' test in web3.js

* fix: repair 'get confirmed transaction' test in web3.js

* fix: repair 'get block' test in web3.js

* fix: repair 'get confirmed block' test in web3.js

* fix: repair 'get block signatures' test in web3.js

* fix: repair 'get block time' test in web3.js

Co-authored-by: steveluscher <github@steveluscher.com>
2022-03-24 22:21:14 -07:00
Marc Jaramillo 2bff36dfba
feat: add getEstimatedFee to Transaction (#23579) 2022-03-11 10:05:22 -07:00
Justin Starry c97f34a0fd
Add script for running nightly rustfmt on all workspaces (#23244)
* Add script for running nightly rustfmt on all workspaces

* invalidate ci cache
2022-02-22 11:59:06 +08:00
Pierre ebe3d2d59d
fix: simulateTransaction accounts items can be null (#23229)
* fix: simulated accounts can be null

* Use Missing rather than token program id

Co-authored-by: Arrowana <8245419+Arrowana@users.noreply.github.com>
2022-02-21 14:20:11 +08:00
mooori 5726f42a7c
feat(stake-program): support `splitWithSeed` (#23213) 2022-02-17 12:21:07 -07:00
mooori ae175a026b
feat(vote-program): support VoteInstruction::Authorize (#22978) 2022-02-09 11:29:49 -07:00
Tyera Eulberg c899685cb2
chore: make Connection block tests less brittle (#23015) 2022-02-08 14:58:50 -07:00
mooori 4d877567dd
feat(web3.js): support withdraw from Vote account (#22932) 2022-02-04 13:37:28 -07:00
Jon Cinque fa51e5b704
chore: update Connection to non-deprecated endpoints (#22800)
* chore: remove usage of `getConfirmedTransaction`

* chore: use `getBlock` instead of `getConfirmedBlock`

* chore: add `getLatestBlockhash` and test
2022-01-28 00:43:01 +01:00
Dmitri Makarov 52045c761c chore: remove remaining unused Xargo.toml files 2022-01-24 15:35:54 -08:00
Michael Vines ae95540387 chore: add test timeouts 2022-01-21 13:16:42 -08:00
Kirill Fomichev 3c44d405c7
feat: add Connection.getFeeForMessage (#22128)
* web3.js: add Connection.getFeeForMessage

* throw if value is null

* fix null value

* fix types
2022-01-11 17:49:28 +08:00
Noah Prince 81a10e649f
fix: non-deterministic writeable account order (#21724) 2022-01-08 13:38:58 +08:00
Victor Pontis c0c3d7c1f2
fix: add publickey toJSON (#22004) 2021-12-20 15:16:32 -06:00
Michael Vines 0406d524e6 chore: upgrade to Rust 2021 2021-11-30 20:43:46 -08:00
Steven Luscher d36ff8d978
fix: refine stacktrace attribution of errors thrown from middleware (#21470)
* Refine middleware types to include the method signature and to express the nullability of the middleware.

* Make sure that the stacktrace does not involve middleware unless the error originated from the middleware itself.

Co-authored-by: steveluscher <github@steveluscher.com>
2021-11-28 23:43:33 -06:00
Justin Starry a005773d10
feat: add config option to exclude accounts from supply response (#20887) 2021-10-22 16:12:49 -04:00
Brian Anderson d9b0fc0e3e
Remove @brief annotations from Rust API docs (#20769) 2021-10-19 15:48:15 -06:00
Justin Starry c02ef395ed
fix: use stable endpoints for getBlocks (#20310) 2021-09-29 15:27:11 +00:00
Justin Starry 071cfd7484 fix: add type checks for caught errors 2021-09-25 15:38:58 -04:00
Furkan KAMACI ea5fed937f
feat: getBlocks API is added (#19854) 2021-09-20 23:08:12 -04:00
Josh 49d3d79459
web3.js: add accounts support to simulateTransaction (#19590)
* feat: add accounts support to simulateTransaction

* feat: introduce test for simulateTransaction on Message objects

* feat: populate transaction from message defaults to no signatures

* fix: remove unused constant

* fix: small formatting error

* fix: eslint and prettier were fighting over ternary indentation

* fix: make simulated transaction result accounts nullable
2021-09-16 14:10:28 -07:00
Sean Young ee0b948903 feat: support for builtin ed25519 program 2021-09-15 09:09:51 +01:00
Justin Starry 0b64bf5585
feat: add support for getGenesisHash RPC (#19732) 2021-09-09 13:34:43 -04:00
Tyera Eulberg 5233338c94 chore: add live merge test cases 2021-08-12 10:55:24 -06:00
Alex Harley 224adb7645 fix: adding Merge decode function and making unit tests pass 2021-08-12 10:55:24 -06:00
Tommy Johnson c8442fd476
feat: add getMultipleAccountsInfo which uses the getMultipleAccounts RPC method (#18736)
* feat(web3): add getMultipleAccountsInfo which uses the getMultipleAccounts RPC method

* fix: add airdrop to get multiple accounts info

Co-authored-by: Josh Hundley <josh.hundley@gmail.com>
2021-07-20 09:42:14 -07:00
Justin Starry 2ef2b6daa0
fix: remove buggy node polyfill plugin (#18531)
* fix: remove buggy node polyfill plugin

* fix websocket test

* remove assert dependency
2021-07-09 00:33:41 -05:00
Justin Starry 4fb1c9da26
fix: update buffer-layout to fix downstream bundler issues (#18529)
* fix: update buffer-layout to fix downstream bundler issues

* chore: run check on generated type declaration
2021-07-08 20:01:11 -05:00
Rohit Narurkar db3475bcdf feat: support rpc method getSignaturesByAddres 2021-06-24 09:18:16 -07:00
dependabot[bot] ddd9ec4c40
chore: bump mockttp from 1.2.2 to 2.0.1 in /web3.js (#17870)
* chore: bump mockttp from 1.2.2 to 2.0.1 in /web3.js

Bumps [mockttp](https://github.com/httptoolkit/mockttp) from 1.2.2 to 2.0.1.
- [Release notes](https://github.com/httptoolkit/mockttp/releases)
- [Commits](https://github.com/httptoolkit/mockttp/compare/v1.2.2...v2.0.1)

---
updated-dependencies:
- dependency-name: mockttp
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix browser tests

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Starry <justin@solana.com>
2021-06-11 14:20:34 -07:00
Pierre 97ef9b2bc3
feat: add convenience methods to EpochSchedule (#17810)
* first try, failing test

* fix implementation and tests

* lint:fix

* move method tests to seperate test

* lint fix

* apply starry's comments and grab the bonus points

* minor fixes after starry's second review

Co-authored-by: Arrowana <8245419+Arrowana@users.noreply.github.com>
2021-06-09 22:47:54 -07:00
Tyera Eulberg 7b58dcac14
chore: update commented devnet urls (#17837) 2021-06-08 15:58:34 +00:00
Justin Starry 3e13cde988
fix: allow messages to be compiled without instructions (#17621)
* fix: allow messages to be compiled without instructions

* chore: fix tests
2021-06-02 12:39:59 -07:00
Lieu Zheng Hong d47990e753
feat: add decodeUnchecked to borsh-schema.ts (#17620) 2021-06-02 13:43:01 +02:00
dependabot[bot] e833d2ba5b
Bump num-derive from 0.3.2 to 0.3.3 (#17547)
* Bump num-derive from 0.3.2 to 0.3.3

Bumps [num-derive](https://github.com/rust-num/num-derive) from 0.3.2 to 0.3.3.
- [Release notes](https://github.com/rust-num/num-derive/releases)
- [Changelog](https://github.com/rust-num/num-derive/blob/master/RELEASES.md)
- [Commits](https://github.com/rust-num/num-derive/compare/num-derive-0.3.2...num-derive-0.3.3)

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump num-derive

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-05-27 19:43:00 -06:00
Alexey Elizarov 94fffee158
feat(web3): add ability to pass different websocket endpoint #17387 (#17556) 2021-05-27 14:57:32 -07:00
Michael Vines 8eab0e8602
Bump version to v1.8.0 (#17541) 2021-05-27 08:51:53 -07:00
Justin Starry 7e433ddf83
chore: fix formatting (#17483) 2021-05-25 19:39:11 +00:00
Justin Starry 0dbe926efe
feat: add getBlock and getTransaction apis (#17449) 2021-05-25 10:12:47 -07:00
Justin Starry dbd7be5ff1
feat: generate random keypair with constructor (#17448) 2021-05-24 21:04:05 -07:00
dependabot[bot] fda8cb176a
chore: bump prettier from 2.2.1 to 2.3.0 in /web3.js (#17143)
* chore: bump prettier from 2.2.1 to 2.3.0 in /web3.js

Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump

* chore: format

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Justin Starry <justin@solana.com>
2021-05-25 03:53:16 +00:00
Jon Cinque 00e198d169
feat: add borsh utilities and public key support (#17239)
* feat: add borsh utilities and public key support

* fix: make bn internal for flow

* fix: add Buffer import in borsh file
2021-05-18 19:33:06 +02:00
Josh Hundley ae5a10dffd fix: cluster test 2021-05-14 16:20:39 -06:00
Justin Starry f43f0afa55
feat: add Keypair class and deprecate Account (#17098)
* feat: add Keypair class and deprecate Account

* chore: fix lint issues

* chore: rename TransactionSigner to Signer
2021-05-07 08:59:51 +00:00
Justin Starry 643133b2c1
feat: add getSlotLeaders method (#16989) 2021-05-02 03:54:27 +00:00
Trent Nelson a2fbb9cfef
fix: optional stake lockup field parameters (#16943)
* fix: optional stake lockup field parameters

* chore: update web3.js/src/stake-program.ts

Co-authored-by: Justin Starry <justin.m.starry@gmail.com>

* chore: prettier

Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
Co-authored-by: Justin Starry <justin@solana.com>
2021-04-29 22:04:33 +08:00
Trent Nelson aee30e304d chore: export `is_on_curve()` 2021-04-28 06:37:25 +00:00
Josh c54daa8009
feat: introduce getInflationReward to connection (#16807)
* feat: introduce getInflationReward to connection

* fix: only run getInflationReward test in mock mode
2021-04-26 11:09:40 -07:00
Josh c44812fa71
feat: introduce support for custom HTTP headers (#16599)
* feat: introduce support for custom http headers

* feat: add fetch middleware
2021-04-26 08:35:07 -07:00
Tyera Eulberg 30c95d38a5 feat: support commitment in getConfirmed methods 2021-04-19 20:49:20 -06:00
Josh 7e3db1dedb
feat: add filters to getProgramAccounts and getParsedProgramAccounts (#16448)
* feat: add filters to getProgramAccounts and getParsedProgramAccounts

* fix: documentation edits

* fix: make connection interface match existing interface
2021-04-16 10:18:19 -07:00
Tyera Eulberg a4474f1d94 fix: deprecate getTotalSupply 2021-04-16 10:33:42 -06:00
Tyera Eulberg fe4c39a26a fix: deprecate getConfirmedSignaturesForAddress 2021-04-16 10:33:42 -06:00
Tyera Eulberg f37c05adeb feat: add method to return a confirmed block with signatures only 2021-04-16 10:33:42 -06:00
Tyera Eulberg 4ac17b1ee3
Revert "web3.js: deprecate getTotalSupply and getConfirmedSignaturesForAddress (#16534)" (#16594)
This reverts commit 59268b8629.
2021-04-16 10:11:34 -06:00
Tyera Eulberg 59268b8629
web3.js: deprecate getTotalSupply and getConfirmedSignaturesForAddress (#16534)
* feat: add method to return a confirmed block with signatures only

* fix: deprecate getConfirmedSignaturesForAddress

* fix: deprecate getTotalSupply
2021-04-16 03:52:08 +00:00
Justin Starry 4b7b402e74
fix: allow strings in transaction error validation (#16348)
* fix: allow strings in transaction error validation

* chore: make log tests more robust
2021-04-04 18:02:36 +08:00
Justin Starry 2c94c6f8e8
fix: handle empty rpc batch requests properly (#16254) 2021-03-31 15:15:04 +08:00
Justin Starry c959c5daf7
fix: add explicit module declaration to type definitions (#16219) 2021-03-30 20:16:31 +08:00
Justin Starry 602d0ca52d
chore: modify https test and add run-all dep (#16124) 2021-03-25 17:18:00 +08:00
Armani Ferrante d6ef694139
feat: add logs subscription (#16045)
* feat: logs subscription

* fix: address review comments

* fix: use processed commitment

* fix: sleep before triggering log transaction
2021-03-24 11:05:17 +08:00
Josh 63d0c78b20
web3.js: add support for batch getParsedConfirmedTransactions (#16001)
* feat: add support for batch requests

* feat: get confirmed transactions batch

* feat: test get parsed confirmed transactions

* fix: run prettier

* fix: test uses one signature

* fix: fix docs and return type on ParsedConfirmedTransactions

* fix: null values in test
2021-03-22 10:22:59 -07:00
Michael Vines 939c654752 Fix version more 2021-03-19 09:14:31 -07:00
Michael Vines ac75e386dd Fix version 2021-03-19 09:05:59 -07:00
Justin Starry e9b08b5e7f fix: remove deprecated bpf-sdk, localnet, and examples
BREAKING CHANGE: Removed binaries solana-localnet and solana-bpf-sdk-install.
Please install the Solana CLI tools to download the BPF SDK and to
install the solana-test-validator binary intead.
2021-03-19 17:45:08 +08:00
Josh 0988c2f1d6
feat: add support for blockTime on confirmed block (#15968) 2021-03-18 07:10:48 -07:00
Justin Starry 48b3b27985 chore: linter fixes 2021-03-17 10:26:00 +08:00
Justin Starry 8ada44456d chore: migrate tests to typescript 2021-03-17 10:26:00 +08:00
Justin Starry f912c63b22 chore: migrate to typescript 2021-03-17 10:26:00 +08:00
Michael Vines 81253c9956 chore: remove undocumented validatorExit method 2021-03-04 16:39:44 -08:00
Justin Starry 7435a7b0ed
feat: support creating secp256k1 instructions with eth address (#15626) 2021-03-03 02:16:36 +08:00
Justin Starry 55f357153a
fix: secp256k1 instruction should accept 64 byte public key (#15584) 2021-03-02 09:01:31 +08:00
Justin Starry bb06817e16
feat: update superstruct and future proof type validations (#15491)
* chore: update superstruct

* fix: fix program account notification type coercion
2021-02-26 15:06:12 +08:00
Tyera Eulberg d866f742e2
fix: createAccountWithSeed account handling (#15482) 2021-02-25 23:47:22 -07:00
Josh 8c8f8f3130
feat: update commitment variants (#15253)
* feat: update commitment variants

* fix: make pretty

* fix: deprecate, but leave in commitment types
2021-02-17 16:15:09 -08:00
Tyera Eulberg b09865e5a0
fix: default preflightCommitment to Connection.commitment when sending tx (#15299) 2021-02-13 01:29:26 +00:00
Justin Starry f0a8aba2e2 chore: cleanup flow and package.json 2021-02-08 07:57:05 +08:00