* reorganize error using DRY principle
* rename error `Format` to `Deserialization`
* Rename `EncryptionError` to `DiscreteLogError`
* resolve errors from rebase
* resolve clippy
* change `ProofInstructionError` to `ProofError`
* use files for merkle tree inputs on accounts hash
* remove multi-pass scan, simplify
* cleanup and comments
* rework writing into the hash file for clarity
* add test, cleanup
* rename
* move count into option
* Test that `TransactionMessage.decompile()` can decompile a legacy `Message`
* `TransactionMessage.decompile()` now correctly accounts for the number of writable unsigned accounts
The num_repair field is only blockstore insertion metric being updated
outside of Blockstore::insert() call chain; move the update to insert()
with the rest of the fields in BlockstoreInsertionMetrics struct.
* Add dump_node to update stake for heaviest subtrees
Additionally refactor subtrees to store children as a hashset
* Add a more complicated forks test
* chose -> choose
* remove is_dumped flag and reuse latest_invalid_ancestor instead
* create a reusable workflow for current error reporting logic
* make github.event.head_commit.message as a env, COMMIT_MESSAGE
* make github.event.head_commit.author.name as a env, COMMIT_AUTHOR_NAME
* remove redundant name
* replace error reporting step with the reusalble workflow
* 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>
* support CpiGuard and PermanentDelegate extensions in transaction-status and account-decoder
* update transaction-status and account-decoder to new ConfidentialTransfer interfaces
* Update `@solana/eslint-config-solana`
* [web3.js][experimental] Add Watchman config to ignore `dist` and `node_modules` folders
* [web3.js][experimental] Install Jest
* [web3.js][experimental] Configure Jest to lint, format, and test code
* [web3.js][experimental] Add a typecheck step
* [web3.js][experimental] Add fake tests and fake implementation to exercise the build infra