Commit Graph

611 Commits

Author SHA1 Message Date
Ian Macalinao f53aa5f12b
chore: remove redundant 'Buffer' from 'Account' class (#27865) 2022-11-28 23:42:58 -08:00
Ian Macalinao 0e70275b07
chore: use constant for PUBLIC_KEY_LENGTH for checking length of input (#27876) 2022-11-28 23:29:40 -08:00
Ian Macalinao 61803b914f
chore: add deprecation notice for createProgramAddress (#27879) 2022-11-28 23:29:06 -08:00
Ian Macalinao ac8ddc841c
chore: deprecate PublicKey.findProgramAddress (#27882) 2022-11-28 23:28:35 -08:00
Ian Macalinao 19ec2dc0b1
chore: replace casts with not-null assertions (#27883) 2022-11-28 23:26:08 -08:00
Ian Macalinao 8c8e113879
chore: fix typo in PublicKey.unique (#27884) 2022-11-28 23:15:58 -08:00
Steven Luscher 7646521a6e
feat: a nonce-based transaction confirmation strategy for web3.js (#25839)
* 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
2022-11-28 22:46:27 -08:00
Steven Luscher 04789cab81
fix: verify commitment level when confirming transactions with one-shot fetch (#28969)
* 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
2022-11-28 18:50:16 -08:00
Ian Macalinao 3b2014ddc1
fix: remove Buffer from transaction signature verification (#27868) 2022-11-28 16:32:16 -08:00
amilz 3922f3d685
fix: add confirmation status to ConfirmedSignatureInfo web3.js response (#28555)
* Add confirmation status to ConfirmedSignatureInfo web3 response

* Update web3.js/src/connection.ts

Co-authored-by: Austin Milt <austin.w.milt@gmail.com>

Co-authored-by: Austin Milt <austin.w.milt@gmail.com>
2022-11-28 12:00:40 -08:00
Adrian Brzeziński d16810ec84
fix: web3.js transaction confirmation now double-checks for already-confirmed txs (#28290)
* 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>
2022-11-28 11:55:56 -08:00
Dmitri Makarov 34865d032c chore: update Solana docs and code comments that specify "BPF" to "SBF" 2022-10-31 14:14:25 -04:00
Justin Starry 49daa596c0
fix: incorrect error message for getFeeForMessage (#28529) 2022-10-21 01:50:10 +00:00
Steven Luscher 5d172151a2
fix: wrap _rpcWebSocketGeneration around when about to overflow (#28428) 2022-10-16 23:33:28 -07:00
Justin Starry 831ed96730
feat: add getMultipleParsedAccounts method (#28414) 2022-10-16 07:26:08 +00:00
Justin Starry 36e5f33e67
feat: add dataSlice param to account fetching config (#28389) 2022-10-14 03:28:00 +00:00
Peter Piekarczyk 759dc80fb6
chore: improve default PublicKey docs (#28372)
* docs: replace zeros comments with ones

* Update comment around docs
2022-10-12 20:04:22 -06:00
Justin Starry 33a328e589
feat: add getParsedBlock method to Connection (#28345)
* feat: add getParsedBlock method to Connection

* Update web3.js/src/connection.ts

Co-authored-by: Yihau Chen <a122092487@gmail.com>

Co-authored-by: Yihau Chen <a122092487@gmail.com>
2022-10-11 16:13:10 +08:00
Justin Starry 7810387b00
fix: improve `MessageV0.getAccountKeys` API ergonomics (#28042)
fix: improve MessageV0.getAccountKeys API flexibility
2022-09-24 05:37:58 +00:00
Varga-Somogyi Ákos e15a5c010e
feat: implement addSignature in VersionedTransaction (#27945)
* Implement addSignature in VersionedTransaction

* Update asserts

* VersionedTransaction.addSignature test

* Update VersionedTransaction tests
2022-09-21 17:22:40 -07:00
Steven Luscher d466799871
fix: replace bigint literals with `BigInt` constructors (#27930)
This makes web3.js compatible with runtimes that don't understand bigint literals but _do_ understand `BigInt` constructors.
For whatever that's worth.
2022-09-19 18:31:16 -07:00
Ian Macalinao 98dfc2b7d1
chore: remove Buffer from PublicKeyInitData (#27888) 2022-09-17 17:16:45 -07:00
Justin Starry 07a83e0fbb
feat: add isAccountWritable and isAccountSigner to MessageV0 (#27808) 2022-09-15 18:31:43 +00:00
Justin Starry afe1cfe94a
fix: replace computed max u64 constant with literal (#27765) 2022-09-13 19:37:40 +00:00
Justin Starry d9b1ebece7
feat: add version getter to VersionedTransaction class (#27734) 2022-09-13 00:22:12 +00:00
Justin Starry 8bb0acc4c6
chore: remove failing request units test (#27735) 2022-09-12 23:18:29 +00:00
Justin Starry e42a39024d
feat: add source field to parsed account key responses (#27702) 2022-09-09 21:06:54 +00:00
Justin Starry 080f085cb8
fix: ensure that Keypair.secretKey is a Uint8Array (#27700) 2022-09-09 16:31:18 -04:00
Justin Starry f8b5b517d2
fix: replace `TransactionMessage` `accountKeys` field with `payerKey` (#27653)
fix: replace TransactionMessage accountKeys field with payerKey
2022-09-07 18:11:24 -04:00
Steven Luscher 6bc04b5e3a
fix: replace js-sha3 with `@noble/hashes/sha3` (#27630) 2022-09-06 22:38:11 -07:00
Steven Luscher 466e9948bf
feat: added `authorizeWithSeed` to the vote program in web3.js (#27627)
* fix: recursively size variable size structs in your buffer layouts

* feat: added `authorizeWithSeed` to the vote program in web3.js
2022-09-06 22:37:43 -07:00
Steven Luscher a94ada8b3e
fix: recursively size variable size structs in your buffer layouts (#27624) 2022-09-06 22:37:27 -07:00
Justin Starry 204f272412
feat: support versioned txs in `sendTransaction` and `simulateTransaction` (#27528)
* feat: support versioned txs in sendTransaction and simulateTransaction

* chore: add docs for simulation config parameters
2022-09-06 23:53:42 -04:00
Justin Starry 9f81d27db8
feat: add `TransactionMessage` class (#27526)
feat: implement message v0 decompilation
2022-09-07 03:51:52 +00:00
Justin Starry 3374f41201
feat: implement message v0 compilation (#27524)
* feat: add PublicKey.unique method for tests

* feat: add MessageAccountKeys class

* feat: add CompiledKeys class for message compilation

* feat: implement message compilation using CompiledKeys
2022-09-06 23:43:22 -04:00
Justin Starry da7e88fc41
fix: add compute units to jsonrpc parser (#27554) 2022-09-01 18:18:43 +00:00
Justin Starry 31087b8aba
Revert "fix: add compute units to jsonrpc parser" (#27553)
Revert "fix: add compute units to jsonrpc parser (#27466)"

This reverts commit b34cab46d6.
2022-09-01 13:30:22 -04:00
Maximilian Schneider b34cab46d6
fix: add compute units to jsonrpc parser (#27466)
add compute units to jsonrpc parser
2022-09-01 09:34:10 -07:00
Justin Starry 292b2a1bfe
feat: update `Connection` to support versioned transactions (#27068)
feat: update Connection to support versioned transactions
2022-08-31 08:46:24 -04:00
Justin Starry ada493f607
feat: add VersionedMessage.deserializeMessageVersion utility function (#27415) 2022-08-29 21:20:16 +01:00
Steven Luscher 60f3dc5f72
fix: replace tweetnacl impl
* Install `@noble/ed25519` and create a shim

* Replace `tweetnacl` with `@noble/ed25519` in `Account` class

* Replace `tweetnacl` with `@noble/ed25519` in `Keypair` class

* Replace `tweetnacl` with `@noble/ed25519` in `PublicKey` class

* Replace `tweetnacl` with `@noble/ed25519` in `Ed25519Program` class

* Replace `tweetnacl` with `@noble/ed25519` in `Transaction` class

* Replace `tweetnacl` with `@noble/ed25519` in versioned `Transaction` class

* Remove `tweetnacl` from project

* Damnit, typedoc.
2022-08-28 12:11:34 -07:00
Steven Luscher 1a836ab4af
[web3.js] Replace sha256 and secp256k1 impls (#27390)
* fix: replace `@ethersproject/sha2` with `@noble/hashes/sha256`

* fix: replace `secp256k1` with `@noble/secp256k1`
2022-08-25 13:34:11 -07:00
Justin Starry 1ccfc65a52
feat: add support for creating version 0 transactions (#27142)
* 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
2022-08-25 15:42:54 +02:00
Steven Luscher 5975176af7
[web3.js] Eliminate dependency on `URL` class (#27349)
* fix: `makeWebsocketUrl` no longer depends on the `URL` class
* fix: `Connection` no longer relies on the `URL` class
* fix: remove dependency on `react-native-url-polyfill`
2022-08-24 11:02:40 -07:00
Andrew Schonfeld 4b8ab4e65d
VoteProgram.safeWithdraw function to safeguard against accidental vote account closures (#26586)
feat: safe withdraw function

Co-authored-by: aschonfeld <andrew@proofofalpha.io>
2022-08-17 00:22:38 +02:00
Justin Starry a97346aec7
chore: add constant for pubkey byte length (#27134) 2022-08-14 16:19:06 +00:00
Justin Starry dcef8ec100
feat: add getAddressLookupTable method to Connection (#27127) 2022-08-14 10:11:49 +00:00
Justin Starry 8e30dbbbf2 chore: restructure utils code 2022-08-12 17:11:51 +01:00
Justin Starry 52dc24abfb chore: restructure program files 2022-08-12 17:11:51 +01:00
Justin Starry 1a1a7ce1cf chore: restucture message files 2022-08-12 17:11:51 +01:00