Michael Vines
adc984a225
Rename Binary64 to Base64. Establish Base58 encoding
2020-08-17 17:26:29 -07:00
Michael Vines
757e147b3b
Rework UiAccountData encode/decode such that it works from Rust
2020-08-17 17:26:29 -07:00
Ryo Onodera
23fa84b322
Re-do rent collection check on rent-exempt account ( #11349 )
...
* wip: re-do rent collection check on rent-exempt account
* Let's see how the ci goes
* Restore previous code
* Well, almost all new changes are revertable
* Update doc
* Add test and gating
* Fix tests
* Fix tests, especially avoid to change abi...
* Fix more tests...
* Fix snapshot restore
* Align to _new_ with better uninitialized detection
2020-08-17 14:22:16 +09:00
Tyera Eulberg
6c5b8f324a
Rpc: Add until parameter for getConfirmedSignaturesForAddress2 ( #11644 )
...
* Refactor bigtable apis to accept start and end keys
* Make helper fn to deserialize cell data
* Refactor get_confirmed_signatures_for_address to use get_row_data range
* Add until param to get_confirmed_signatures_for_address
* Add until param to blockstore api
* Plumb until through client/cli
* Simplify client params
2020-08-15 10:42:17 -06:00
Jack May
7c736f71fe
Make BPF Loader static ( #11516 )
2020-08-14 12:32:45 -07:00
Tyera Eulberg
4da1e9833c
Ensure highest_confirmed_root only grows ( #11596 )
...
* Split out commitment-cache update for unit testing
* Add failing test
* Ensure highest_confirmed_root only grows
2020-08-13 00:59:44 -06:00
sakridge
f519fdecc2
generate_pull_response optimization ( #11597 )
2020-08-12 22:45:19 -07:00
Greg Fitzgerald
574c356863
Add CommitmentSlots::new_from_slot() ( #11600 )
2020-08-13 03:51:15 +00:00
Tyera Eulberg
b1e452f876
Return blockstore signatures-for-address despite bigtable error ( #11594 )
2020-08-12 17:57:05 -06:00
sakridge
54137e3446
Add incoming pull response counter ( #11591 )
2020-08-12 14:07:05 -07:00
carllin
473b5249e3
Fix assertion failure ( #11572 )
...
Co-authored-by: Carl <carl@solana.com>
2020-08-12 12:10:24 -07:00
Jack May
9290e561e1
Align host addresses ( #11384 )
...
* Align host addresses
* support new program abi
* update epoch rollout
* Enforce aligned pointers in cross-program invocations
2020-08-11 16:11:52 -07:00
carllin
1b238dd63e
Gossip log ( #11555 )
...
Co-authored-by: Carl <carl@solana.com>
2020-08-11 21:03:54 +00:00
carllin
7ef50a9352
Move cluster slots update to separate thread ( #11523 )
...
* Add cluster_slots_service
Co-authored-by: Carl <carl@solana.com>
2020-08-11 12:48:13 -07:00
Ryo Onodera
2910fd467f
Fix rust fmt ( #11537 )
2020-08-11 22:53:55 +09:00
anatoly yakovenko
713851b68d
filter out old gossip pull requests ( #11448 )
...
* init
* builds
* stats
* revert
* tests
* clippy
* add some jitter
* shorter jitter timer
* update
* fixup! update
* use saturating_sub
* fix filters
2020-08-11 06:26:42 -07:00
dependabot[bot]
191a2eb088
chore: bump indexmap from 1.4.0 to 1.5.1
...
Bumps [indexmap](https://github.com/bluss/indexmap ) from 1.4.0 to 1.5.1.
- [Release notes](https://github.com/bluss/indexmap/releases )
- [Commits](https://github.com/bluss/indexmap/compare/1.4.0...1.5.1 )
Signed-off-by: dependabot[bot] <support@github.com>
2020-08-10 22:49:55 -07:00
Tyera Eulberg
88ca04dbdb
Add config param to specify offset/length for single and program account info ( #11515 )
...
* Add config param to specify dataSlice for account info and program accounts
* Use match instead of if
2020-08-10 22:35:29 +00:00
Tyera Eulberg
da210ddd51
Fix parsing of spl-token Mint ( #11512 )
...
* Add failing test
* Fix jsonParsed mint
2020-08-10 20:35:36 +00:00
Tyera Eulberg
a9f76862fb
Decode native-program and sysvar accounts ( #11463 )
...
* Pass pubkey in to account-decoder for sysvars
* Decode sysvar accounts
* Decode config accounts; move validator-info lower
* Decode stake accounts
* Review comments
* Stringify any account lamports and epochs that can be set to u64::MAX
2020-08-09 07:50:45 +00:00
sakridge
068d23f298
Add Binary64 option for account data ( #11474 )
...
* Add Binary64 option for account data
* Decode into binary64
* Reword docs
2020-08-08 22:40:13 -07:00
Greg Fitzgerald
edadd5d6d5
Remove Budget from CLI ( #11451 )
...
* Remove support for Budget
Also:
* Make "pay" command a deprecated alias for the "transfer" command
* chore: remove budget from web3.js
* Drop Budget depedency from core
Validators no longer ship with builtin Budget
2020-08-07 16:01:51 -06:00
carllin
7e25130529
Send votes from banking stage to vote listener ( #11434 )
...
* Send votes from banking stage to vote listener
Co-authored-by: Carl <carl@solana.com>
2020-08-07 11:21:35 -07:00
Tyera Eulberg
b7c2681903
Token Accounts: return ui_amount, decimals with decoded account ( #11407 )
...
* Return ui_amount, decimals from token client methods
* Return ui_amount, decimals in RPC jsonParsed token accounts
* Fixup docs
* Return ui_amount, decimals in pubsub jsonParsed token accounts
* Remove unnecessary duplicate struct
* StringAmount rename
2020-08-07 11:37:39 -06:00
Greg Fitzgerald
bad486823c
Add a client for BankForks ( #10728 )
...
Also:
* Use BanksClient in solana-tokens
2020-08-07 08:45:17 -06:00
Greg Fitzgerald
3fdd8ffdf0
Remove circular dep between InstructionError and SystemError ( #11427 )
2020-08-06 22:04:43 +00:00
Michael Vines
4222932e08
Plug getConfirmedSignaturesForAddress2 into bigtable storage
2020-08-05 23:04:16 -07:00
Michael Vines
02c0981ecf
Rename startAfter to before
2020-08-05 14:33:14 -07:00
Michael Vines
087fd32ce3
Reimplement transaction-history command with getConfirmedSignaturesForAddress2
2020-08-05 14:33:14 -07:00
Michael Vines
1b2276520b
Add getConfirmedSignaturesForAddress2 RPC method
2020-08-05 14:33:14 -07:00
Michael Vines
dfae9a9864
Plumb Bigtable ledger storage into the RPC subsystem
2020-08-05 14:27:12 -07:00
Michael Vines
0e02740565
Setup a tokio 0.2 runtime for RPC usage
2020-08-05 14:27:12 -07:00
Michael Vines
b876fb84ba
Make room for tokio 0.2
2020-08-05 14:27:12 -07:00
Trent Nelson
e12ab9d0dd
Bump version to 1.4.0
2020-08-05 12:04:15 -06:00
Tyera Eulberg
86e3f96f16
Return token amounts as floats ( #11370 )
...
* Return token amounts as floats
* Floating-point equality
* Return float and raw token amounts
* Fix decimals and token rpcs for native-mint tokens
* Fixup docs and review comments
2020-08-05 06:48:09 +00:00
Trent Nelson
14339dec0a
Harden RPC preflight test inputs
2020-08-05 06:06:57 +00:00
Trent Nelson
e25846e1ad
Add failing test for unsane tx in RPC preflight
2020-08-05 06:06:57 +00:00
Tyera Eulberg
d0144ce382
Fix token rpc-client methods ( #11361 )
...
* Convert None to error in parse_keyed_accounts
* Allow encoding configuration in getTokenAccounts methods
2020-08-04 11:11:30 -06:00
carllin
5b4cb083f1
Add integration test for optimistic confirmation failure detection ( #11353 )
...
* Add optimistic conf failure test
* Add check for optimistic failure log
Co-authored-by: Carl <carl@solana.com>
2020-08-03 20:01:52 -07:00
Michael Vines
1d40685b8e
Remove support for 1.1.0 version snapshots
2020-08-04 01:01:50 +00:00
Michael Vines
eefcf484cb
clippy
2020-08-03 18:35:15 +00:00
Tyera Eulberg
0bc9bcc8b9
Fix bad rebase
2020-08-02 12:09:06 -06:00
Tyera Eulberg
d1b2e6cdf2
Add getTokenLargestAccounts endpoint ( #11322 )
2020-08-02 10:23:44 -06:00
Michael Vines
ffbd859c42
Update spl-token and spl-memo
2020-08-02 07:53:42 -07:00
Tyera Eulberg
9bcfc51df1
Add token rpc endpoints to rpc-client ( #11315 )
2020-07-31 20:53:49 +00:00
carllin
d7e961dac4
Enable new fork choice on mainnet, 400_000 slots into epoch 61 ( #11312 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-31 20:37:58 +00:00
Greg Fitzgerald
61d9d219f9
Withdraw authority no longer implies a custodian ( #11302 )
...
* Withdraw authority no longer implies a custodian
Before this change, if the withdraw authority and custodian had
the same public key, then a withdraw authority signature would
imply a custodian signature and lockup would be not be enforced.
After this change, the client's withdraw instruction must
explictly reference a custodian account in its optional sixth
account argument.
Likewise, the fee-payer no longer implies either a withdraw
authority or custodian.
* Fix test
The test was configuring the stake account with the fee-payer as
the withdraw authority, but then passing in a different key to
the withdraw instruction's withdraw authority parameter. It only
worked because the second transaction was signed by the fee-payer.
2020-07-31 13:37:53 -06:00
Michael Vines
c78e12a262
Avoid spl-sdk dependency, which inhibits crate publishing
2020-07-30 23:47:26 +00:00
Greg Fitzgerald
1d2426ddbc
Move simulate_transaction from rpc to bank ( #11294 )
2020-07-30 19:15:45 +00:00
carllin
a23e1129a9
Switch to optimistic conf for notifying gossip subscribers ( #11289 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-30 02:52:27 -07:00
carllin
bf18524368
Add hook for getting vote transactions on replay ( #11264 )
...
* Add hook for getting vote transactions on replay
Co-authored-by: Carl <carl@solana.com>
2020-07-29 23:17:40 -07:00
Trent Nelson
a888f2f516
Reject TXs sent via RPC with no signatures
2020-07-30 00:07:33 -06:00
Trent Nelson
9778fedd7a
Add new RPC error for TXs with no signatures
2020-07-30 00:07:33 -06:00
Trent Nelson
a7079e4dde
Dereplicode send_transaction and request_airdrop RPC handlers
2020-07-30 00:07:33 -06:00
Trent Nelson
b962b2ce2d
Add failing test for TX sent via RPC with no signatures
2020-07-30 00:07:33 -06:00
carllin
ebe367f722
Add utility function ( #11262 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-28 23:44:10 -07:00
Tyera Eulberg
b45ac5d4db
Add SPL Token-specific rpc endpoints ( #11231 )
...
* Simplify account-decoder program ids + spl_token helper
* Spl program namespace version
* Add getTokenAccountBalance endpoint
* Remove token program id from getTokenAccountBalance request
* Add getTokenSupply endpoint
* Remove token program id from getTokenSupply request
* Add getTokenAccountsByOwner/Delegate endpoints
* Remove token program id from getTokenAccountsByOwner/Delegate requests
* Named parameter
2020-07-28 23:00:48 -06:00
Trent Nelson
678f94903b
Fill out missing RPC request received debug logging
2020-07-29 01:51:20 +00:00
carllin
a7ea340f22
Track votes from gossip for optimistic confirmation ( #11209 )
...
* Add check in cluster_info_vote_listenere to see if optimstic conf was achieved
Add OptimisticConfirmationVerifier
* More fixes
* Fix merge conflicts
* Remove gossip notificatin
* Add dashboards
* Fix rebase
* Count switch votes as well toward optimistic conf
* rename
Co-authored-by: Carl <carl@solana.com>
2020-07-28 09:33:27 +00:00
carllin
c0dc21620b
Test cleanup ( #11192 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-24 09:55:25 +00:00
carllin
6578ad7d08
Speed up local cluster partitioning tests ( #11177 )
...
* Fix long local cluster partition tests by skipping slot warmup
Co-authored-by: Carl <carl@solana.com>
2020-07-23 18:50:42 -07:00
Greg Fitzgerald
7484202282
Return root when bank not found ( #11188 )
...
* Return root when bank not found
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-24 00:57:15 +00:00
Greg Fitzgerald
8ccce1e543
Upgrade ed25519-dalek ( #11183 )
2020-07-23 17:23:51 -06:00
Tyera Eulberg
c90de8978d
Add encoding and filters parameters to rpc Subscriptions ( #11065 )
...
* Plumb account configs and enable encoding
* Enable filters for pubsub program accounts
* Update docs
2020-07-23 13:38:28 -06:00
Tyera Eulberg
ca6480a8ac
Use OrderedIterator in collect_balances ( #11166 )
2020-07-23 13:35:10 -06:00
Tyera Eulberg
b5a6a2f461
Initialize BlockCommitmentCache slot and root on node boot ( #11178 )
...
* Initialize commitment-cache slot and root on node boot
* Ignore long tests
2020-07-23 11:44:57 -06:00
carllin
e556f85178
Add test for making sure switch doesn't happen past failure threshold ( #11138 )
...
Fix switch threshold
Co-authored-by: Carl <carl@solana.com>
2020-07-21 23:04:24 -07:00
Tyera Eulberg
6c38369042
Use OrderedIterator in TransactionStatusService ( #11149 )
...
* Split out get-first-err for unit testing
* Add failing test
* Add missing ordering
2020-07-21 20:06:49 +00:00
carllin
73f3d04798
Add replay votes to gossip vote tracking ( #11119 )
...
* Plumb replay vote channel for notifying vote listener of replay votes
* Keep gossip only notification for debugging gossip in the future
Co-authored-by: Carl <carl@solana.com>
2020-07-20 17:29:07 -07:00
Greg Fitzgerald
23c2e55cbf
Use BlockCommitmentCache for RPC slots, take 2 ( #11137 )
...
* Use BlockCommitmentCache for RPC slots (#11103 )
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Fix crossed-in-flight compilation error
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-20 23:03:40 +00:00
Michael Vines
d19cd3a18a
Revert "Use BlockCommitmentCache for RPC slots ( #11103 )" ( #11122 )
...
This reverts commit 815b0f31b4
.
2020-07-18 16:39:12 -07:00
Greg Fitzgerald
815b0f31b4
Use BlockCommitmentCache for RPC slots ( #11103 )
...
* Add BankForks::highest_descendant(slot)
* Update debug messages
* Update core/src/rpc.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* cargo fmt
* Remove highest_descendant
* Fix test
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2020-07-17 16:22:27 -06:00
Tyera Eulberg
a255b0fc86
Rename CacheSlotInfo to CommitmentSlots ( #11111 )
2020-07-17 17:54:49 +00:00
Tyera Eulberg
fdff681bcc
Simplify BlockCommitmentCache slot info ( #11106 )
...
* Refactor BlockCommitmentCache, store a CacheSlotInfo
* Comma
2020-07-17 09:24:51 -06:00
Dan Albert
7958dd88c2
Update non_circulating_supply.rs
2020-07-16 12:57:13 -06:00
sakridge
7fe870ba48
Make accounts file clean faster ( #11071 )
2020-07-15 09:37:40 -07:00
Tyera Eulberg
9a80e31bae
Expose tss to the other blockstore_processor path ( #11070 )
2020-07-14 21:14:48 -06:00
dependabot-preview[bot]
5055028231
Bump serde_json from 1.0.54 to 1.0.56
...
Bumps [serde_json](https://github.com/serde-rs/json ) from 1.0.54 to 1.0.56.
- [Release notes](https://github.com/serde-rs/json/releases )
- [Commits](https://github.com/serde-rs/json/compare/v1.0.54...v1.0.56 )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2020-07-14 11:13:22 -07:00
carllin
e9cbdf711b
Add TreeDiff trait to reuse tree functions ( #11046 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-14 07:38:48 +00:00
Kristofer Peterson
ed5a2f2a90
Fold bank serialisation into serde snapshot ( #10581 )
...
* Move bank (de)serialisation logic from bank and snapshot_utils to serde_snapshot.
Add sanity assertions between genesis config and bank fields on deserialisation.
Atomically update atomic bool in quote_for_specialization_detection().
Use same genesis config when restoring snapshots in test cases.
* Tidy up namings and duplicate structs to version
* Apply struct renames to tests
* Update abi hashes
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
2020-07-13 23:00:59 +09:00
Greg Fitzgerald
145906123a
Simplify use of SendTransactionService ( #10999 )
...
* Send transaction upon recv
This will allow us to move the channel to the public interface
* Use a channel, not a method, to communicate
* Pipeline the services
* Ignore unused return values
* Fix clippy warning
2020-07-11 01:14:41 +00:00
Michael Vines
25ca99cdcf
largest -> highest
2020-07-10 12:57:32 -07:00
Michael Vines
aef6bf272e
getConfirmedBlocks now has an upper limit on slot range
2020-07-10 12:18:31 -07:00
sakridge
631f051c68
Add jitter to cleanup to prevent all nodes cleaning at the same time ( #10936 )
2020-07-10 11:54:45 -07:00
carllin
7a14e359d7
Switch to using weighted repair in RepairService ( #10735 )
...
* Plumb votes into repair service
* Remove refactoring
* Fix tests
* Switch to using RepairWeight for generating repairs
* Revert "Weight repair slots based on vote stake (#10741 )"
This reverts commit cabd0a09c3
.
* Update logging
Co-authored-by: Carl <carl@solana.com>
2020-07-10 05:52:54 +00:00
Greg Fitzgerald
16eeea4f82
Move SendTransactionService to solana_runtime ( #10972 )
2020-07-09 18:28:26 +00:00
Greg Fitzgerald
17a8cc862b
Remove core dependencies from SendTransactionService ( #10965 )
...
* Remove core dependencies from SendTransactionService
* Fix clippy warnings
2020-07-08 19:13:42 -06:00
Greg Fitzgerald
ebadbce920
Drop bank from BlockCommitmentCache ( #10959 )
...
* Remove bank reference from BlockCommitmentCache
* Don't use a Bank to create BlockCommitmentCache
* Rename recent_slot to slot
2020-07-09 00:50:13 +00:00
dependabot-preview[bot]
841ecfd927
chore(deps): bump bincode from 1.2.1 to 1.3.1 ( #10867 )
...
* chore(deps): bump bincode from 1.2.1 to 1.3.1
Bumps [bincode](https://github.com/servo/bincode ) from 1.2.1 to 1.3.1.
- [Release notes](https://github.com/servo/bincode/releases )
- [Commits](https://github.com/servo/bincode/commits )
Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
* [auto-commit] Update all Cargo lock files
* Switch from deprecated method
* Add options to maintain behavior with bincode::options()
Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2020-07-09 00:08:05 +00:00
Tyera Eulberg
1a6bbd2867
Limited Deserialize isn't limiting anything ( #10952 )
...
* Add failing test
* Use deserialize_from to enable limit
2020-07-08 15:54:42 -06:00
Greg Fitzgerald
930162a079
Drop dependency on BlockCommitmentCache bank ( #10946 )
...
* Drop dependency on BlockCommitmentCache bank
* cargo fmt
2020-07-07 20:13:30 -06:00
Greg Fitzgerald
2fdbb97244
Rename largest_confirmed_root to highest_confirmed_root ( #10947 )
2020-07-07 23:59:46 +00:00
sakridge
d492f4f15b
Clean accounts path on validator startup ( #10929 )
2020-07-07 09:41:45 -07:00
carllin
3f6042d8b3
Add RepairWeight to track votes seen in gossip for weighted repair ( #10903 )
...
* Add RepairWeight
Co-authored-by: Carl <carl@solana.com>
2020-07-06 22:49:40 -07:00
sakridge
58a475b789
Add db recovery methods ( #10838 )
2020-07-06 12:43:45 -07:00
Tyera Eulberg
4de0713aa3
Rpc: Add getStakeActivation endpoint ( #10902 )
...
* Add getStakeActivation endpoint
* Add docs
* Update docs/src/apps/jsonrpc-api.md
Co-authored-by: Michael Vines <mvines@gmail.com>
* Rework return type
* Update docs
* Rebase
Co-authored-by: Michael Vines <mvines@gmail.com>
2020-07-06 13:28:40 -06:00
Ryo Onodera
39b3ac6a8d
Introduce automatic ABI maintenance mechanism (2/2; rollout) ( #8012 )
...
* Introduce automatic ABI maintenance mechanism (2/2; rollout)
* Fix stable clippy
* Change to symlink
* Freeze abi of Tower
* fmt...
* Improve dev-experience!
* Update BankSlotDelta
$ diff -u /tmp/abi8/*7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj* /tmp/abi8/*9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w*
--- /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_7dg6BreYxTuxiVz6aLvk3p2Z7GQk2cJqfGvC9h4FAoSj 2020-06-18 18:01:22.831228087 +0900
+++ /tmp/abi8/bank__BankSlotDelta_frozen_abi__test_abi_digest_9chBcbXVJ4fK7uGgydQzam5aHipaAKFw6V4LDFpjbE4w 2020-07-03 15:59:58.430695244 +0900
@@ -140,7 +140,7 @@
field u8
primitive u8
field solana_sdk::instruction::InstructionError
- enum InstructionError (variants = 34)
+ enum InstructionError (variants = 35)
variant(0) GenericError (unit)
variant(1) InvalidArgument (unit)
variant(2) InvalidInstructionData (unit)
@@ -176,6 +176,7 @@
variant(31) CallDepth (unit)
variant(32) MissingAccount (unit)
variant(33) ReentrancyNotAllowed (unit)
+ variant(34) MaxSeedLengthExceeded (unit)
variant(9) CallChainTooDeep (unit)
variant(10) MissingSignatureForFee (unit)
variant(11) InvalidAccountIndex (unit)
* Fix some merge conflicts...
2020-07-06 20:22:23 +09:00
Ryo Onodera
92697973d0
Document lockout_intervals and tiny niceties ( #10925 )
2020-07-06 08:59:17 +00:00
carllin
28e15a63e5
Repair timing ( #10913 )
...
Co-authored-by: Carl <carl@solana.com>
2020-07-03 18:37:01 -07:00
Greg Fitzgerald
2922494b4f
Cleanup rpc ( #10910 )
...
* Remove unreachable error case
* Inline Ok
* Hoist Ok
2020-07-03 17:39:14 -06:00