* feat: you can now construct a `Transaction` with durable nonce information
* chore: refactor confirmation logic so that each strategy gets its own method
* feat: `geNonce` now accepts a `minContextSlot` param
* feat: a nonce-based transaction confirmation strategy
* feat: add nonce confirmation strategy to send-and-confirm helpers
* fix: nits from July 8 review
* Use Typescript narrowing to determine which strategy to use
* Double check the signature confirmation against the slot in which the nonce was discovered to have advanced
* Rename `subscriptionCommitment` to `confirmationCommitment`
* Reorganize status checking code to return early if `value` is `null`
* Bail if the one-shot signature result does not meet the target commitment
* chore: create internal method for subscribing to subscription state changes
* add status pool
* fix tests
* more tests
* syntax fix
* variable rename
* fix test
* comment fix
* remove getSignatureStatuses pooling
* rename variable
* IIFE
* wait for subscription
* fix interval clear
* test: you can now pause the establishment of subscriptions in tests
* feat: implementation of signature status check after setting up signature subscription
Co-authored-by: steveluscher <me+github@steveluscher.com>
* feat: add support for version 0 transactions
* chore: feedback
* chore: update VersionedMessage type
* chore: use literals for version getter
* chore: fix lint error
* chore: switch to VersionedMessage.deserialize
* chore: extract expirable blockhash record into its own type
* fix: the local latest blockhash cache now fetches and stores lastValidBlockHeight
* fix: allow people to supply a confirmation strategy to sendAndConfirmRawTransaction
* test: upgrade RPC helpers to use blockheight confirmation method
* test: patch up tests to use blockheight based confirmation strategy
* fix: eliminate deprecated construction of Transaction inside simulateTransaction
* test: eliminate deprecated constructions of Transaction in tests
* 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>
* 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>
* 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
* 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>
* 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>