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
steveluscher
eb12983785
feat: add custom version HTTP header string to RPC requests
2022-06-29 06:59:44 +00:00
Steven Luscher
a741eddf7d
fix: always use the nonce as the recent blockhash; never overwrite it ( #25829 )
2022-06-26 19:01:54 -07:00
Steven Luscher
19eea3a741
chore: fix types of `RpcRequest` and `RpcBatchRequest` ( #26102 )
2022-06-21 14:48:44 -07:00
Kunal Desai
aea84e699c
fix: `getTransactions()` now returns the expected datatype ( #26099 )
2022-06-21 10:31:42 -07:00
steveluscher
62ff54d04e
fix: export custom transaction confirmation error classes
2022-06-17 15:57:52 +00:00
behzad nouri
b4190319a1
feat(nonce): adds system instruction to upgrade legacy nonce versions ( #25789 )
...
https://github.com/solana-labs/solana/pull/25788
permanently disables durable transactions with legacy nonce versions
which are within chain blockhash domain.
This commit adds a new system instruction for a one-time idempotent
upgrade of legacy nonce accounts in order to bump them out of chain
blockhash domain.
2022-06-10 00:04:29 +00:00
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
Marc Jaramillo
2bff36dfba
feat: add getEstimatedFee to Transaction ( #23579 )
2022-03-11 10:05:22 -07:00
Krešimir Klas
41ab690a61
feat: add getMultipleAccountsInfoAndContext method to Connection
...
Similar to `getAccountInfoAndContext`.
2022-03-02 20:39:48 +01:00
Pierre
ebe3d2d59d
fix: simulateTransaction accounts items can be null ( #23229 )
...
* fix: simulated accounts can be null
* Use Missing rather than token program id
Co-authored-by: Arrowana <8245419+Arrowana@users.noreply.github.com>
2022-02-21 14:20:11 +08:00
mooori
5726f42a7c
feat(stake-program): support `splitWithSeed` ( #23213 )
2022-02-17 12:21:07 -07:00
mooori
ae175a026b
feat(vote-program): support VoteInstruction::Authorize ( #22978 )
2022-02-09 11:29:49 -07:00
mooori
4d877567dd
feat(web3.js): support withdraw from Vote account ( #22932 )
2022-02-04 13:37:28 -07:00
marty-mcflai
f73b470ec0
fix: swallow error if socket has already been closed ( #22934 )
...
* Swallow error if socket has already been closed
* fix: log error
2022-02-04 19:21:58 +08:00
Hareesh Nagaraj
28442aa922
fix: enable maxRetries option to SendOptions ( #22893 )
...
* Web3.js - enable maxRetries option to SendOptions
* Prettier
2022-02-03 11:54:43 -07:00
Jon Cinque
fa51e5b704
chore: update Connection to non-deprecated endpoints ( #22800 )
...
* chore: remove usage of `getConfirmedTransaction`
* chore: use `getBlock` instead of `getConfirmedBlock`
* chore: add `getLatestBlockhash` and test
2022-01-28 00:43:01 +01:00
joeaba
8cb0b1ce9a
reverse mainnet-beta endpoint changes
2022-01-22 15:56:45 -05:00
joeaba
e42316ba5a
change mainnet-beta endpoint
2022-01-22 15:36:00 -05:00
Kirill Fomichev
3c44d405c7
feat: add Connection.getFeeForMessage ( #22128 )
...
* web3.js: add Connection.getFeeForMessage
* throw if value is null
* fix null value
* fix types
2022-01-11 17:49:28 +08:00
Noah Prince
81a10e649f
fix: non-deterministic writeable account order ( #21724 )
2022-01-08 13:38:58 +08:00
Victor Pontis
8b6310b179
fix: add owner to token balance type
2022-01-03 20:31:42 -08:00
Victor Pontis
33ad74fbcd
chore: add encoding param to getMultipleAccounts
2022-01-03 19:26:03 -08:00
Victor Wu
736f974082
chore: fix typo in AccountInfo docs ( #22196 )
2021-12-31 06:03:42 +08:00
Kirill Fomichev
972730924b
fix: add Sysvar PubKeys
...
* web3.js: Add Sysvar PubKeys
* remove fees sysvar
2021-12-29 16:30:34 -07:00
Victor Pontis
c0c3d7c1f2
fix: add publickey toJSON ( #22004 )
2021-12-20 15:16:32 -06:00
Colin Ogoo
393c7653c7
fix(web3.js): VoteAccount.fromAccountData() throws range error ( #21091 )
...
* fix(vote-account): rangeError [ERR_OUT_OF_RANGE] error
The web3 buffer layout is out-of-date with the current `VoteState` implementation. The buffer layout
is updated to match the structure in
https://github.com/solana-labs/solana/blob/master/account-decoder/src/parse_vote.rs
fix #20786
* docs(vote account): update reference to match new payload
* fix(vote-account): update buffer layout for prior voters
Update buffer layout for prior voters to match serialized data
* fix(vote-account): response showing buffers instead of public keys
transform buffers into public keys
* refactor(vote account): extract parsing into function calls
* feat(vote account): address PR comments
* fix(web3.js vote account): start prior voters array from given index
* fix(web3.js vote account): incorrect data for prior voters array
* Update web3.js/src/vote-account.ts
Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
Co-authored-by: Justin Starry <justin.m.starry@gmail.com>
2021-11-30 13:55:21 -05:00
Steven Luscher
d36ff8d978
fix: refine stacktrace attribution of errors thrown from middleware ( #21470 )
...
* Refine middleware types to include the method signature and to express the nullability of the middleware.
* Make sure that the stacktrace does not involve middleware unless the error originated from the middleware itself.
Co-authored-by: steveluscher <github@steveluscher.com>
2021-11-28 23:43:33 -06:00