* 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
* [web3.js][experimental] Repair build paths and add package.json `exports` field for CommonJS/ESM compatibility
* [web3.js][experimental] Add package.json entries for common JavaScript CDNs
* [web3.js][experimental] Exclude source files from npm bundle
* Update cost model to use requested_cu instead of estimated cu #27608
* remove CostUpdate and CostModel from replay/tvu
* revive cost update service to send cost tracker stats
* CostModel is now static
* remove unused package
Co-authored-by: Tao Zhu <tao@solana.com>
* Enable remote cache for Turborepo
* Rename `build` to `compile` and `package` to `build`
* Add a workflow that builds on PRs and pushes with Turborepo
* Explain how to connect to Turborepo remote caching
* Upgrade to pnpm 7