* feat: allow for verifying the sigs of partially signed txs
* fix: make comment ab verifying sigs more specific
Co-authored-by: Steven Luscher <[email protected]>
* feat: add tests for partial signed tx verification
* fix: revert lockfile changes
* fix: make tests more modular
* fix: run linter
Co-authored-by: Steven Luscher <[email protected]>
* docs: make the comments on using the new connection.confirmTransaction clearer
* docs: add TransactionConfirmataionStrategy type
* refactor: change param type in sendAndConfirmRawTransaction
* docs: fix typo
* Delete `AgentManager`
* Replace custom `http.Agent` implementation with `agentkeepalive` package
* Set the default free socket timeout to 1s less than the Solana RPC's default timeout
* Add link to particular issue comment
* Create the correct flavor of default agent for http/https
* You can now supply your own `https?.Agent` when creating a `Connection` object
* Don't use HTTP agents in test mode
* Tests that assert the behaviour of the `agentOverride` config of `Connection`
* s/agentOverride/httpAgent/ is less confusing when the value is `false`
* Upgrade Typescript, `@types/node`, and `typedoc` to versions that play well together
In this instance it means they:
* understand `AbortSignal`
* don't cause build errors
* You can now abort transaction confirmation using an `AbortSignal`
* Pipe an `AbortSignal` down through `sendAndConfirmTransaction()`
* Add `AbortController` polyfill to test so that test works in Node 14
* Add `transactionDetails` and `rewards` params to `getBlock` API of web3.js
* Add the same content to the legacy call
…because it's such a PITA to share config between two methods and not have Typedoc throw a fit.
* Add tests to exercise block deserialization in the case that `transactionDetails` is `none` or `accounts`
* Extract the annotated account key parser into a separate struct
* Parse the `getBlock()` responses differently depending on the mode
* Test that `TransactionMessage.decompile()` can decompile a legacy `Message`
* `TransactionMessage.decompile()` now correctly accounts for the number of writable unsigned accounts
* 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 <[email protected]>
This makes web3.js compatible with runtimes that don't understand bigint literals but _do_ understand `BigInt` constructors.
For whatever that's worth.