Commit Graph

593 Commits

Author SHA1 Message Date
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
Justin Starry 7ffcde7330 chore: restructure transaction files 2022-08-12 17:11:51 +01:00
Justin Starry 7e7785fc19
feat: support minContextSlot in getParsedAccountInfo method (#27084) 2022-08-11 14:28:54 +00:00
Justin Starry 9ab52e4260
chore: annotate more types as deprecated (#27067) 2022-08-10 20:35:30 +00:00
Justin Starry 369b6b1828
feat: handle `loadedAddresses` field in tx meta responses (#27065)
feat: handle loadedAddresses field in tx meta responses
2022-08-10 20:08:24 +00:00
Steven Luscher f4100f621f
fix: (web3.js) clear the idle timer whenever the websocket closes (#26734)
fix: clear the idle timer whenever the websocket closes
2022-07-24 21:56:03 -07:00
Athar Mohammad ce337e009d
feat(web3.js): add support for get stake minimum delegation (#26682) 2022-07-22 01:02:49 -07:00
steveluscher b9001a947a fix: add `maxSupportedTransactionVersion` config to remaining `getTransaction` calls 2022-07-22 08:02:28 +00:00
Steven Luscher c971c61dfb
feat: add `maxSupportedTransactionVersion` option to `getBlock` and `getTransaction` (#26726) 2022-07-21 21:02:05 -07:00
Antematter e3c9c58032
feat: added web3 bindings for Address Lookup Table Program instructions (#26469)
* feat: added web3 bindings for Address Lookup Table Program

* fix: refactoring + addresses PR comments

* fix: typos fixed and minor refactoring

* add lookup table instruction decoding support + fixes recent slot serialization bug

* export lookup table program

* linting

* fix: type annotations

* add tests cases for address lookup table program

* fix: alloc encoding buffer properly for seq layouts

* fix: typedoc issue

Co-authored-by: Antematter <hello@antematter.io>
Co-authored-by: Muhammad Saad <msaadahmed039@gmail.com>
Co-authored-by: Justin Starry <justin@solana.com>
2022-07-13 20:19:51 +01:00
Steven Luscher 817402123f
fix: fork `URL` and `fetch` for React Native in web3.js (#26604) 2022-07-12 21:41:33 -07:00
Athar Mohammad d0d3ad7166
Support for returnData in simulate transaction (#26499)
feat(web3.js): add Support for returnData in simulate transaction
2022-07-12 14:07:17 +02:00
steveluscher 627d91fb20 chore: move `checkBlockHeight` into block where it's used 2022-07-02 13:15:50 -07:00
steveluscher 6f6e5172d3 fix: ingest only the relevant properties when constructing `Transactions` 2022-07-02 13:15:50 -07:00
steveluscher 6b82235fab fix: a much simpler way to prevent getRecentPerformanceSamples from sending a commitment 2022-07-01 22:34:30 -07:00
steveluscher e24b64dd71 fix: `getPerformanceSamples` no longer breaks when the connection has a default commitment 2022-07-02 05:29:41 +00:00
Mark Daniel 3fcdc45092
fix: web3.js; maxRetries no longer stripped when zero (#26345)
Co-authored-by: Mark D <83738282+markusmark1@users.noreply.github.com>
2022-06-30 23:20:22 -07:00
Steven Luscher e17ed6b2b9
feat: web3.js RPC errors now hold the error `code` and `data` on the error object (#26318)
feat: web3.js RPC errors now hold the error code on the error object
2022-06-30 13:08:10 -07:00
Steven Luscher f57f228126
feat: add `minContextSlot` configuration to (almost) all web3.js methods (#26296)
* feat: add `minContextSlot` config to `getAccountInfo`

* feat: add `minContextSlot` config to `getBalance`

* feat: add `minContextSlot` config to `getBlockHeight``

* feat: add `minContextSlot` config to `getEpochInfo`

* feat: add `minContextSlot` config to `getInflationReward`

* feat: add `minContextSlot` config to `getLatestBlockhash`

* feat: add `minContextSlot` config to `getMultipleAccounts`

* feat: add `minContextSlot` config to `getProgramAccounts`

* feat: add `minContextSlot` config to `getSignaturesForAddress`

* feat: add `minContextSlot` config to `getSlot`

* feat: add `minContextSlot` config to `getSlotLeader`

* feat: add `minContextSlot` config to `getStakeActivation`

* feat: add `minContextSlot` config to `getTokenAccountsByOwner`

* feat: add `minContextSlot` config to `getTransactionCount`

* feat: add `minContextSlot` config to `sendTransaction`
2022-06-29 09:22:34 -07:00