Commit Graph

537 Commits

Author SHA1 Message Date
steveluscher 48d034b69d fix: alias `TransactionCtorFields_DEPRECATED` back to the way it was for back-compat 2022-06-07 09:58:19 -07:00
steveluscher 0ae5893379 fix: repair sort order of pubkeys when compiling messages 2022-06-04 16:09:08 -07:00
steveluscher 58092f746c fix: serializing transactions; sort that takes less time and memory 2022-05-30 16:37:50 -07:00
sudhir-b 20f169c0b0 fix: sort accountMetas after deduping 2022-05-30 11:40:01 -07:00
steveluscher da28badcaa fix: web3.js fork fetch for browsers 2022-05-26 14:40:18 -07:00
steveluscher 9f1b876c74 fix: correct the types of the fetch infra in web3.js 2022-05-26 14:40:18 -07:00
Justin Starry 14b1434c52
fix: remove dependency on @solana/buffer-layout-utils (#25399) 2022-05-20 17:57:01 +08:00
Justin Starry a7e6f4deef
feat: support additional compute budget ixs (#25104) 2022-05-20 07:27:48 +00:00
Steven Luscher 84f1e5c0da
fix: speed up transaction signing by removing code that does nothing (#25302) 2022-05-18 11:08:13 -07:00
Phil Chen 456e6711f0
chore: typo in BlockheightBasedTransactionConfirmationStrategy (#25279)
* fix typo: Confimation => Confirmation

* chore: run prettier

Co-authored-by: steveluscher <me+github@steveluscher.com>
2022-05-17 16:59:04 -07:00
Steven Luscher 4ea39c1cd3
feat: thread new blockheight expiry strategy through `sendAndConfirmTransaction` (#25227)
* 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
2022-05-14 21:54:12 -07:00
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
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
steveluscher 0e0065a3f2 fix: restore export of PACKET_DATA_SIZE to web3.js 2022-04-28 20:03:57 -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 442e6c325f
fix: eliminate circular dependencies in web3.js (#24729)
* chore: enable circular dependency warnings on build
* fix: eliminate circular dependencies in web3.js
2022-04-27 11:41:14 -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
steveluscher 674c0d7602 fix: downgrade multiple unsubscribes from fatal to warning 2022-04-25 11:50:47 -07:00
Brennan Gebotys 0b93de9bd5
feat: implement getTransactions (#23633)
implement getTransactions which retrieves multiple transaction responses in a single RPC call

Co-authored-by: obiwan <you@example.com>
2022-04-25 21:46:33 +08:00
Kartik Soneji 758fcd383d
feat: allow PublicKey.isOnCurve to accept PublicKeyInitData (#24602) 2022-04-25 20:42:41 +08:00
Justin Starry 2ad1baa753
Add const fn StakeState::size_of and static assertion (#24416) 2022-04-20 01:04:12 +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
Elliott W 6e03e0e987
feat: support overriding fetch function in Connection (#24367)
Co-authored-by: elliott-home-pc <elliott.wagener@mude.com.au>
2022-04-16 14:49:31 +08:00
Justin Starry e13efa0883 fix: do not modify transaction during simulation 2022-04-13 15:22:35 -07:00
David Mohl d8c45a69c3
fix: don't override a transaction's recentBlockhash when calling simulate if it's already set (#24280)
* Update simulate to add blockhash if not exist

Simulate has been overriding the recentBlockhash of the passed
Transaction which can be considered destructive and with side effects.

Since the purpose of this function is to purely simulate, it should not
override recentBlockhash if it has already been set

Refs https://github.com/solana-labs/solana/issues/24279

* Apply prettier
2022-04-13 10:15:50 +08:00
steveluscher 4dd3987451 Reset onLogs subscriptions when websocket disconnects 2022-04-07 15:45:35 -07:00
Bryon M 04158ee455
fix: stop logging to console when send tx fails (#23511)
There is no need to log the error to the console. Developers can simply catch the error and handle it themselves without it cluttering production logs.
2022-04-04 19:11:20 +08:00
stellaw1 c08cfafd6c feat: adds getBlockProduction RPC call 2022-03-26 18:31:40 -07:00
steveluscher 9cf7720922 fix: when there is no instruction index, default to the current instruction by supplying u16:MAX 2022-03-24 22:55:52 -07:00
steveluscher c73cdfd6ce fix: add TypeScript buffer type to nonce-account.ts 2022-03-24 22:55:52 -07:00
steveluscher 477355df3b fix: add TypeScript buffer type to stake-program.ts 2022-03-24 22:55:52 -07:00
steveluscher 6686b7c534 fix: add TypeScript buffer type to message.ts 2022-03-24 22:55:52 -07:00
steveluscher 741c85ca7c fix: add TypeScript buffer type to loader.ts 2022-03-24 22:55:52 -07:00
steveluscher 6bb02cdcc1 fix: add TypeScript buffer type to secp256k1-program.ts 2022-03-24 22:55:52 -07:00
steveluscher 96361295aa fix: add TypeScript buffer type to ed25519-program.ts 2022-03-24 22:55:52 -07:00
steveluscher 3333f37e88 fix: add TypeScript buffer type to vote-account.ts 2022-03-24 22:55:52 -07:00
steveluscher b2f2a68b86 fix: fix spelling of timestamp in BlockTimestamp type 2022-03-24 22:55:52 -07:00
steveluscher c227b8ca4d fix: add TypeScript buffer type to vote-program.ts 2022-03-24 22:55:52 -07:00
steveluscher 607a5c05de fix: add TypeScript buffer type to system-program.ts 2022-03-24 22:55:52 -07:00
steveluscher 807f88e547 fix: add TypeScript types to the rustString buffer layout helper 2022-03-24 22:55:52 -07:00
steveluscher d34fe3dba3 fix: add TypeScript buffer type to layout.ts 2022-03-24 22:55:52 -07:00
steveluscher b516a25132 fix: add TypeScript buffer type to instruction.ts 2022-03-24 22:55:52 -07:00
Andrey Frolov 59290c08aa
fix: add type-check script to web3.js package (#23109) 2022-03-23 12:58:42 -07:00
Sammy 26da64184a
feat(web3.js): expose rpcEndpoint in client for web3.js (#23719)
Adds a getter to the commitment class to expose the rpcEndpoint property.
2022-03-23 11:05:37 -07:00
Ashwin Ramaswami accc64ebcf
chore: fix typo retring -> retrying (#23630) 2022-03-13 23:25:27 -06:00