Sagar Dhawan
688f8a669a
Add a storage accounts cache to Bank ( #4578 )
2019-06-06 17:40:01 -07:00
dependabot-preview[bot]
e9cb4a12dc
Bump serde_derive from 1.0.91 to 1.0.92 ( #4505 )
...
automerge
2019-06-04 15:48:23 -07:00
Sagar Dhawan
de5cad9211
Add account owner to Storage Accounts ( #4537 )
...
* Add account owner to Storage Accounts
* Fix tests
2019-06-04 14:52:52 -07:00
dependabot-preview[bot]
ce2ce76958
Bump serde from 1.0.91 to 1.0.92 ( #4504 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.91 to 1.0.92.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.91...v1.0.92 )
2019-06-04 14:32:09 -07:00
dependabot-preview[bot]
d77c98530f
Bump libc from 0.2.55 to 0.2.58 ( #4514 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.55 to 0.2.58.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.55...0.2.58 )
2019-06-04 14:31:06 -07:00
Sagar Dhawan
167e15a5ae
Update replicator sampling and proof generation ( #4522 )
...
* Update replicator sampling and proof generation
* Clippy
2019-06-03 17:27:28 -07:00
Rob Walker
c56052ff16
remove from_account from stake_instruction ( #4502 )
2019-06-03 09:04:51 -07:00
Michael Vines
ec5cca41bc
Separate bootstrap leader's stake lamports from its identity lamports ( #4510 )
...
* Revert "Prevent run.sh from running beyond the first epoch under normal use (#4498 )"
This reverts commit d343c409e6
.
* Separate bootstrap leader's stake lamports from its identity lamports
2019-05-31 19:58:52 -07:00
Tyera Eulberg
64e8a21d73
Add tick height syscall ( #4497 )
...
* Remove tick_height from entrypoint signature
* Impl tick_height syscall and use in storage program
* Properly remove tick height from bpf handling
2019-05-31 16:29:21 -06:00
Rob Walker
028e111fbc
remove payer from vote instructions ( #4475 )
2019-05-31 11:45:17 -07:00
Michael Vines
4537f54532
Break noop_program -> runtime dependency ( #4481 )
2019-05-30 11:20:49 -07:00
Michael Vines
39b40dfff8
Remove runtime dependency on storage ( #4480 )
2019-05-30 10:54:28 -07:00
Michael Vines
7a021dff05
Beautify Cargo.tomls with |cargo tomlfmt| ( #4477 )
2019-05-29 18:30:49 -07:00
Pankaj Garg
c8a03c7b3d
Save RNG for generating random storage sampling offsets ( #4450 )
...
* Save RNG for generating random storage sampling offsets
* fix clippy
* fix stable-perf
* fix chacha
2019-05-28 14:14:46 -07:00
Rob Walker
ff31ffbd54
add more information to dropped vote warning ( #4449 )
...
* add more information to dropped vote warning
* fixup
2019-05-28 12:25:34 -07:00
Michael Vines
ed6a438c51
v0.16.0
2019-05-26 19:42:15 -07:00
Jack May
bfa1c025fd
Add rust bpf allocator ( #4426 )
2019-05-24 16:21:42 -07:00
Sagar Dhawan
4c9b7c9d2b
Submit all incoming proofs as valid ( #4377 )
2019-05-24 14:49:10 -07:00
Michael Vines
9784bbf154
Pay for storage transactions with a system account ( #4423 )
...
automerge
2019-05-24 11:04:05 -07:00
Michael Vines
cfe5afd34c
_id => _pubkey variable renaming ( #4419 )
...
* wallet: rename *_account_id to *_account_pubkey
* s/from_id/from_pubkey/g
* s/node_id/node_pubkey/g
* s/stake_id/stake_pubkey/g
* s/voter_id/voter_pubkey/g
* s/vote_id/vote_pubkey/g
* s/delegate_id/delegate_pubkey/g
* s/account_id/account_pubkey/g
* s/to_id/to_pubkey/g
* s/my_id/my_pubkey/g
* cargo fmt
* s/staker_id/staker_pubkey/g
* s/mining_pool_id/mining_pool_pubkey/g
* s/leader_id/leader_pubkey/g
* cargo fmt
* s/funding_id/funding_pubkey/g
2019-05-23 23:20:04 -07:00
Tyera Eulberg
943cd0a24a
Add credit-only info to AccountMetadata ( #4405 )
...
* Add credit-only flag to AccountMeta, default to false
* Sort keys by is_credit_only within signed/unsigned groupings
* Process and de-dupe program keys along with other account keys
* Add message helper functions
* Fix test
* Improve comment
* s/is_credit_only/is_debitable
* Add InstructionKeys helper struct, and simplify program_position method
2019-05-23 18:19:53 -04:00
Michael Vines
b37d2fde3d
Add storage mining pool ( #4364 )
...
* Add storage mining pool
* Set gossip port
* Add create-storage-mining-pool-account wallet command
* Add claim-storage-reward wallet command
* Create storage account upfront
* Add storage program to genesis
* Use STORAGE_ACCOUNT_SPACE
* Fix tests
* Add wallet commands to create validator/replicator storage accounts
* Add create_validator_storage_account()
* Storage stage no longer implicitly creates a storage account
2019-05-23 14:50:23 -07:00
Rob Walker
7ada8510c4
add slot_hashes to bank, remove phony slot_hashes_from_vote_instruction ( #4401 )
2019-05-22 19:07:56 -07:00
Tyera Eulberg
99d2428041
Transaction format changes toward Credit-Only accounts ( #4386 )
...
* Add num_readonly_accounts slice
* Impl programs in account_keys
* Emulate current account-loading functionality using program-account_keys (breaks exchange_program_api tests)
* Fix test
* Add temporary exchange faucet id
* Update chacha golden
* Split num_credit_only_accounts into separate fields
* Improve readability
* Move message field constants into Message
* Add MessageHeader struct and fixup comments
2019-05-22 18:23:16 -04:00
Rob Walker
578c2ad3ea
add bank hash to votes ( #4381 )
2019-05-21 21:45:38 -07:00
Rob Walker
58295b825d
introduce syscalls ( #4373 )
2019-05-21 15:19:41 -07:00
Jack May
2f7561e4ee
Split SDK's BPF Rust-utils ( #4369 )
2019-05-21 13:39:27 -07:00
Jack May
28f948aa7f
Multi rust projects ( #4362 )
2019-05-21 11:22:33 -07:00
Sagar Dhawan
c9ba9e4eb7
Add storage space constant ( #4366 )
...
automerge
2019-05-21 11:07:13 -07:00
Michael Vines
6374e69a69
Add mining pool wallet commands ( #4360 )
...
automerge
2019-05-21 07:32:38 -07:00
Rob Walker
ead15d294e
add get_epoch_vote_accounts rpc ( #4317 )
...
* add get_epoch_vote_accounts rpc
* fixups
* documentation and type updates
2019-05-20 22:21:13 -07:00
Rob Walker
86e03a6d1b
support issuing vote instructions from system account ( #4338 )
...
* issue vote instructions from system account
* fixup
* bring back KeypairUtil
2019-05-20 13:32:32 -07:00
Michael Vines
7e1a7862db
test_process_store_ok() now pays with a system account ( #4339 )
...
automerge
2019-05-17 20:17:50 -07:00
Pankaj Garg
9476fe5ce3
Use log levels for datapoint metrics ( #4335 )
...
* Use log levels for datapoint metrics
* address review comments
* fix cyclomatic complexity
2019-05-17 17:34:05 -07:00
Sagar Dhawan
788290ad82
Rework Storage Program to accept multiple proofs per segment ( #4319 )
...
automerge
2019-05-17 14:52:54 -07:00
dependabot[bot]
6b5bcfaa58
Bump libc from 0.2.54 to 0.2.55 ( #4324 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.54 to 0.2.55.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.54...0.2.55 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-17 13:24:12 -07:00
Jack May
bc74ee7117
Common Rust-BPF utilities and types ( #4325 )
2019-05-17 11:04:29 -07:00
Jack May
9271ba0039
Cleanup Rust BPF program building ( #4318 )
2019-05-16 17:35:42 -07:00
Rob Walker
87414de3e2
switch over to passive stakes ( #4295 )
...
* add failing test
* switch over to passive stakes
* test multiple stakers
2019-05-16 08:23:31 -07:00
dependabot[bot]
d40b66ff7b
Bump solana_rbpf from 0.1.10 to 0.1.11 ( #4304 )
...
Bumps [solana_rbpf](https://github.com/solana-labs/rbpf ) from 0.1.10 to 0.1.11.
- [Release notes](https://github.com/solana-labs/rbpf/releases )
- [Commits](https://github.com/solana-labs/rbpf/commits/v0.1.11 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-16 01:07:10 -07:00
Sagar Dhawan
4576250342
Fix bug in storage processor and remove duplicate Constant ( #4294 )
...
* Fix bug in storage processor and remove duplicate Constant
* Add test
* Bump replicator timeout
2019-05-15 13:28:56 -07:00
dependabot[bot]
1d327a5167
Bump bincode from 1.1.3 to 1.1.4 ( #4290 )
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.3 to 1.1.4.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.3...v1.1.4 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-15 09:47:55 -06:00
Rob Walker
e8ad822111
get program names from programs ( #4273 )
...
* get program names from programs
* fixup
2019-05-14 10:44:16 -07:00
Rob Walker
0d2574f8f0
get DLL names from programs that made the DLL ( #4269 )
...
* get program names from programs
* fixup
2019-05-13 14:17:44 -07:00
Michael Vines
8542006259
Config instructions now only require one key ( #4258 )
2019-05-12 22:47:12 -07:00
Jack May
f567877d1d
Cleanup metrics ( #4230 )
2019-05-10 08:33:58 -07:00
Rob Walker
a80176496d
add /target/ to .gitignore files for all crates ( #4217 )
...
* add /target/ to .gitignore files for all crates
* shellcheck
2019-05-08 12:15:05 -07:00
Rob Walker
b49f8c0984
reduce replicode, introduce passive staking support ( #4207 )
2019-05-07 22:22:43 -07:00
dependabot[bot]
674a49f8d7
Bump serde_derive from 1.0.90 to 1.0.91 ( #4172 )
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-07 20:05:41 -07:00
Rob Walker
401764ddb1
add create_delegate_stake_account ( #4197 )
2019-05-07 17:08:49 -07:00
Rob Walker
8e400fc4bd
rework genesis (passive staking groundwork) ( #4187 )
...
* rework genesis
* fixup
2019-05-07 11:16:22 -07:00
dependabot[bot]
673a9417ef
Bump serde from 1.0.90 to 1.0.91 ( #4171 )
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.90 to 1.0.91.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.90...v1.0.91 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-06 21:41:30 -07:00
Rob Walker
694d28acf8
remove some boilerplate ( #4143 )
2019-05-06 10:11:18 -07:00
Sagar Dhawan
a7b695c27a
Change replicators to slot-based ( #4118 )
2019-05-03 16:27:53 -07:00
dependabot[bot]
92ed7b36a2
Bump libc from 0.2.53 to 0.2.54 ( #4124 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.53 to 0.2.54.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.53...0.2.54 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-02 13:11:29 -06:00
Rob Walker
675a78aaa1
get vote_instruction off bank for tests ( #4086 )
...
* get vote_instruction off bank for tests
* clippy
2019-04-30 15:11:08 -07:00
Jack May
5524146ddf
push down noop's messages ( #4069 )
...
automerge
2019-04-29 14:10:36 -07:00
dependabot[bot]
4b599a95b3
Bump libc from 0.2.51 to 0.2.53 ( #4009 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.51 to 0.2.53.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.51...0.2.53 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-27 14:04:23 -06:00
Michael Vines
656e2649a7
v0.15.0
2019-04-27 07:38:46 -07:00
Jack May
3cf708f019
nit: remove copyposta ( #4024 )
2019-04-26 16:02:13 -07:00
Michael Vines
e71ab55288
Rename in-tree program_ids to be base-58 human readable ( #4001 )
2019-04-25 17:58:49 -07:00
sakridge
fd60ef8a8d
Allow metrics rate to differ from log rate ( #3993 )
...
And reduce metrics rate for exchange contract counters.
Since we can go 10s-100s thousands of contracts per second,
some metrics would be dropped if submitting every time.
2019-04-25 16:58:49 -07:00
Tyera Eulberg
5a79676b8a
Custom error decoder ( #3783 )
...
automerge
2019-04-25 10:29:44 -07:00
Greg Fitzgerald
29698fcd38
Cleanup stragglers from move-to-transfer rename ( #3947 )
2019-04-23 13:30:42 -06:00
Jack May
840a64ee8b
Optimize exchange contract ( #3926 )
2019-04-23 11:39:53 -07:00
sakridge
95a16426f3
Cleanup bench-exchange ( #3919 )
...
* bench-exchange changes
Generate new keypair for each bench-exchange
Add metrics
Tweak network sleep parameters for better reliability.
* Bench-exchange contract metrics
2019-04-22 13:16:28 -07:00
Greg Fitzgerald
51a2988bb2
Revert "Rename programs to instruction_processors ( #3789 )" ( #3824 )
...
This reverts commit 34344982a9
.
2019-04-17 15:05:49 -06:00
Amr Ali
34344982a9
Rename programs to instruction_processors ( #3789 )
...
* Rename programs to instruction_processors
* Updates around the code base to support instruction_processors rename
* Kabab instruction_processors
* Update Cargo.toml files and scripts to use instruction-processors
* Update Cargo.toml to use instruction-processors
* Update CI scripts to use instruction-processors
2019-04-16 22:39:00 +02:00
Dan Albert
8638b3bb19
Update Cargo.toml files for version = 0.14.0
2019-04-16 02:50:20 +00:00
Sagar Dhawan
877ec08280
Send recent votes in Vote Transactions ( #3734 )
2019-04-11 14:48:36 -07:00
Tyera Eulberg
d31989f878
CustomError from Vec->u32
2019-04-11 13:59:48 -07:00
Greg Fitzgerald
a28c3b0e9a
Consume Bank in BankClient
...
This will allow BankClient to spin up a thread to use the Bank.
It'll also ease the transaction from BankClient to ThinClient since
it won't let you depend on Bank.
Drawback, you the transition from Bank to BankClient will be harder
because the Bank methods are inaccessible.
2019-04-11 12:16:33 -07:00
Michael Vines
0aa05158c9
Adjust noop/failure program names to be consistent with all other programs
2019-04-11 11:59:56 -07:00
Jack May
d0f46d6a8a
Cleanup client traits and create super trait ( #3728 )
2019-04-11 00:25:14 -07:00
Rob Walker
f1e7237c09
vote_api cleanup ( #3710 )
...
* vote_api cleanup
* fixups
* fixup
* remove unused code
* revert removal of serialize and deserialize
* ...
* increase coverage, bootstrap staking
* Sagar's STAKE to my VOTE
2019-04-10 17:52:47 -07:00
dependabot[bot]
7295a84d69
Bump bincode from 1.1.2 to 1.1.3 ( #3672 )
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.2 to 1.1.3.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.2...v1.1.3 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-08 12:55:18 -07:00
Rob Walker
79bf3cf70d
add rewards math ( #3673 )
...
* add rewards math
* fixup
2019-04-07 21:45:28 -07:00
Carl
f3eda38b65
Fix broken lockout doubling
2019-04-05 23:15:46 -07:00
Greg Fitzgerald
46e6911ec1
Add get_signature_status() to SyncClient
...
And move bank::Result to transaction module.
2019-04-05 10:22:05 -07:00
Greg Fitzgerald
4507dca342
Boot exchange_transaction. No tests depend on it.
2019-04-05 11:10:57 -06:00
Sagar Dhawan
0b23af324b
Refactor Storage Program ( #3622 )
...
* Refactor Storage Program
* Replace KeyedAccount trait with StorageAccount struct
* Implement State for Account, not StorageAccount
* Make State trait more generic
* Move validation check into function
2019-04-04 12:01:09 -07:00
Greg Fitzgerald
1598a02a7a
Wrap all client errors with TransportError
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
167f5bdc58
Add get_balance() and get_account_data() to SyncClient
...
Migrate tests to use them.
2019-04-04 12:00:19 -06:00
Greg Fitzgerald
5cd7bccdf3
Add SyncClient and use from BankClient
2019-04-04 12:00:19 -06:00
dependabot[bot]
f97f0c4758
Bump serde_derive from 1.0.89 to 1.0.90
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.89 to 1.0.90.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.89...v1.0.90 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-03 19:54:50 -07:00
dependabot[bot]
e6ac5bc546
Bump serde from 1.0.89 to 1.0.90
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.89 to 1.0.90.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.89...v1.0.90 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-03 20:26:48 -06:00
Sagar Dhawan
5cdfd79e96
Replace print with debug
2019-04-03 16:23:02 -07:00
Sagar Dhawan
b441bac7b2
Add separate Struct for Replicator submissions
2019-04-03 16:23:02 -07:00
Sagar Dhawan
00cb52c444
Update Storage Program to support multiple accounts
2019-04-03 16:23:02 -07:00
Jack May
9323a3e257
Use keyed_account index names ( #3555 )
2019-04-03 15:57:26 -07:00
Greg Fitzgerald
35298e01a8
Remove Instruction wrapper structs and name functions after enum fields
2019-04-03 13:34:27 -07:00
Greg Fitzgerald
867f6f107b
Rename SystemInstruction::Move to SystemInstruction::Transfer
2019-04-03 08:35:57 -06:00
Greg Fitzgerald
43bb813cbe
Rename 'new_account' to 'new_user_account'
...
And 'new_program_account' to 'new_account'
2019-04-02 21:24:42 -06:00
dependabot[bot]
7b82e96467
Bump libc from 0.2.50 to 0.2.51 ( #3554 )
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.50 to 0.2.51.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.50...0.2.51 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-04-02 20:32:35 -05:00
Jack May
025b4f90de
Pre-populate tokens ( #3605 )
2019-04-02 16:50:53 -07:00
Rob Walker
25a2f08f8d
add passive staking and rewards ( #3579 )
...
* add stake stuff
* more generic
* test decode bail cases
* favor early returns
2019-04-01 16:45:53 -07:00
Greg Fitzgerald
fcef54d062
Add a constructor to generate random pubkeys
2019-03-31 16:23:18 -06:00
Greg Fitzgerald
5646daa820
Delete lots of fee parameters
...
So many zeros!
2019-03-29 19:21:51 -06:00
Greg Fitzgerald
31f8b6d352
Integrate Message into Transaction
2019-03-29 13:03:29 -07:00
Jack May
c30eb6185c
Enable logging in exchange program ( #3538 )
2019-03-27 23:02:05 -07:00
Greg Fitzgerald
47b6707c07
Don't use a loader to test Storage instruction processor
2019-03-27 11:02:41 -06:00
Greg Fitzgerald
3fc09fb23f
Remove keypairs from BankClient
...
Bring its interface closer to the other clients.
2019-03-27 09:37:19 -06:00
Greg Fitzgerald
cecdb7061e
Remove blockhash parameter from Bank::transfer
...
That parameter is an artifact from the Loom days, when I thought
Bank should implement the same interace as ThinClient.
2019-03-27 08:51:10 -06:00
Greg Fitzgerald
0ac865f08c
Remove BankClient::process_instructions
2019-03-27 08:51:10 -06:00
Greg Fitzgerald
55115d0eeb
Add process_message() to BankClient
2019-03-27 08:51:10 -06:00
Greg Fitzgerald
8c69c40834
Make space for a new Transaction::new
2019-03-26 20:06:05 -06:00
Rob Walker
d497b99abb
use solana_entrypoint directly ( #3518 )
2019-03-26 16:40:34 -07:00
Greg Fitzgerald
b61aed7250
Minor cleanup
2019-03-25 20:31:13 -07:00
Greg Fitzgerald
4bc3f70150
Boot VoteTransaction
2019-03-25 17:11:57 -07:00
Greg Fitzgerald
caff603497
Less code
2019-03-24 21:44:04 -07:00
Greg Fitzgerald
aefa9891c0
Delete unused code
2019-03-24 21:44:04 -07:00
Greg Fitzgerald
6286947697
Inline payment_plan
...
This module predates Accounts. That was a separate module because
it used to be part of Bank and those types could be sent to any
smart contract. Now each instruction processor defines for itself
what instructions it accepts.
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
33972ef89e
Boot BudgetTransaction
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
b53cbdd9e6
Punt on the Script abstraction
...
Low ROI
2019-03-24 14:52:06 -06:00
Greg Fitzgerald
c49e84c75b
Boot StorageTransaction
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
dcf2337e58
Add StorageInstruction constructors
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
5a65c3f72e
Test-drive StorageContract
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
8ff1987d2d
Reorg Storage program to look more like the others
2019-03-24 13:51:02 -07:00
Greg Fitzgerald
acedf4ca5a
Move Instruction into its own module
2019-03-23 20:31:55 -07:00
Jack May
6505221629
Add exchange program ( #3444 )
2019-03-22 21:07:36 -07:00
Greg Fitzgerald
5f41909098
Stop using VoteTransaction in Vote processor
2019-03-22 14:07:00 -06:00
Greg Fitzgerald
38fdbbba3f
Reduce remaining program crates to boilerplate crates
2019-03-22 06:46:44 -07:00
Greg Fitzgerald
045af04784
Reduce budget_program and config_program into boilerplate crates
2019-03-21 16:53:08 -06:00
Greg Fitzgerald
d0761f57e8
Add _program suffix to directories of crates with _program suffix
2019-03-21 16:24:06 -06:00
Greg Fitzgerald
4bb88619fd
Move entrypoint boilerplate into a macro
2019-03-21 15:27:49 -06:00
Greg Fitzgerald
2b00a42b06
Boot Rewards program
2019-03-21 12:07:20 -06:00
Greg Fitzgerald
d2415613de
Migrate loader tests to BankClient
2019-03-21 09:19:24 -06:00
Greg Fitzgerald
94b5835738
Make AccountMeta a traditional struct instead of a tuple struct
2019-03-19 17:22:39 -06:00
Greg Fitzgerald
a4652a9aaf
Label tuple with AccountMeta
2019-03-19 17:22:39 -06:00
Michael Vines
d0292b1cf1
store transaction no longer takes the transaction fee from the config account
2019-03-18 18:34:08 -07:00
anatoly yakovenko
61a4b998fa
Implement locktower voting ( #3251 )
...
* locktower components and tests
* integrate locktower into replay stage
* track locktower duration
* make sure threshold is checked after simulating the vote
* check vote lockouts using the VoteState program
* duplicate vote test
* epoch stakes
* disable impossible to verify tests
2019-03-18 12:12:33 -07:00
Greg Fitzgerald
8d032aba9d
Merge InstructionError and ProgramError
...
From the user's perspective, it's just an instruction error.
For program-specific errors, we still have
InstructionError::CustomError.
2019-03-18 10:39:20 -06:00
Greg Fitzgerald
607b368fe3
Add back in test to check the account program id
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
a54854abc7
Do Budget verification in BudgetScript
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ce6257a069
Delete misplaced unit-tests
...
These tests were from back in the day when Bank(then-called Accountant)
would call `verify_plan()` on all transactions. Nowadays `verify_plan`
is only useful to the client. At can be used to ensure a transaction
won't trigger runtime errors.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
7b28d3a231
Move Budget's verify_plan() into tests
...
This functionality is supposed to be the the interpreter
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ea01ff2aab
Add pubkey to BudgetExpr::new_cancelable_future_payment for wallet
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
3369019943
Add BudgetExpr::new_cancelable_authorized_payment
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
dbd4176b97
Move script constructors into a separate module
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
122c7bc2ef
Rename TransactionCompiler to Script and use it to replace the type alias
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
99671472d1
Migrate config tests to Bank
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
0c0716abfb
Move Bank-based tests into unit-tests
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
c09accb685
Rename StaticEntrypoint to ProcessInstruction
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ae4d14a2ad
Introducing Scripts
...
A sequence of instructions. A client compiles the script and then uses
the compiled script to construction a transaction. Then it adds a
adds a blockhash, signs the transaction, and sends it off for
processing.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
55cdbedb52
Allow tests to add instruction processors
...
Make runtime a private module again.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
ee39f31d81
Add Runtime object. Allow any number of static loaders.
2019-03-18 08:22:54 -07:00
Greg Fitzgerald
70b45de012
Get access to runtime errors in Budget unit-tests
2019-03-18 08:22:54 -07:00
Michael Vines
5f58e9cd6e
Config program - useful for storing/updating simple config items on chain
2019-03-15 16:39:45 -07:00
Greg Fitzgerald
24d9138067
Abandon Builder pattern
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
aca739b800
Boot fees from TransactionBuilder
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
e091aa87ea
More precise constructor names
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
968022a1b0
Instruction name swap
...
* Instruction -> GenericInstruction
* Instruction<u8, u8> -> CompiledInstruction
* Instruction<Pubkey, (Pubkey, bool)> -> Instruction
2019-03-15 14:46:44 -06:00
Greg Fitzgerald
8306c1841c
Fix build
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
4d53be8350
Make it unappealing to build and sign transactions at the same time
...
Use a client to sign transactions. It'll need that keypair anyway
to resign new blockhashes on retries.
2019-03-15 09:06:54 -06:00
Greg Fitzgerald
c1eec0290e
Rename userdata to data ( #3282 )
...
* Rename userdata to data
Instead of saying "userdata", which is ambiguous and imprecise,
say "instruction data" or "account data".
Also, add `ProgramError::InvalidInstructionData`
Fixes #2761
2019-03-14 10:48:27 -06:00
Greg Fitzgerald
e58220282a
Move TransactionError into the SDK
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
4ca4038d54
Rename BankError to TransactionError
2019-03-13 21:26:57 -06:00
Greg Fitzgerald
c14cce4c85
Add InstructionError for runtime instruction errors
2019-03-13 21:26:57 -06:00
Sagar Dhawan
c1e726da87
Remove comment
2019-03-12 15:32:41 -07:00
Sagar Dhawan
7d7528eb18
Fix test_bank_storage
2019-03-12 15:32:41 -07:00
Michael Vines
1ee43a7633
Remove non-essential programs from runtime/
2019-03-12 15:11:59 -05:00
Michael Vines
3d2b7dd1ef
Move programs/system into runtime/
2019-03-12 11:30:58 -05:00
Michael Vines
6899bd7099
0.13.0
2019-03-11 16:21:19 -07:00
Tyera Eulberg
fe1676bc3a
Review comments
2019-03-11 16:58:43 -06:00
Tyera Eulberg
1a9ef37251
Update programs using simple error mapping to use CustomError
2019-03-11 16:58:43 -06:00
Rob Walker
195a880576
pass Pubkeys as refs, copy only where values needed ( #3213 )
...
* pass Pubkeys as refs, copy only where values needed
* Pubkey is pervasive
* fixup
2019-03-09 19:28:43 -08:00
Rob Walker
0acdbc0d03
plumb staking_account and voting_keypair from multinode-demo to Vote ( #3199 )
...
* plumb staking_account and voting_keypair from bash to Vote
2019-03-08 19:29:08 -07:00
Greg Fitzgerald
7a4ccc8719
Fix Budget's payment_with_fee test
...
Fee is now independent of the contract.
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
3dc22e7323
Simulate auto-creation of system accounts
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
17dcd1f62a
Resurrect the tests
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
a277f3e816
Migrate to TransactionBuilder
...
This code wasn't updated after we started batching instructions.
The current code does allocations instead of using CreateAccount.
The runtime shouldn't allow that, so getting this code out of the
way before we lock down the runtime.
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
10b16753af
Remove 'new' constructor
2019-03-07 19:18:53 -07:00
Greg Fitzgerald
4d58bf4b28
Don't use solana_entrypoint in static libraries
2019-03-07 12:42:13 -07:00
Greg Fitzgerald
505f77b108
Move a more generic process_transaction to runtime.rs
2019-03-07 12:42:13 -07:00
Greg Fitzgerald
5b672f8921
Generalize Budget tests to work on multi-ix txs
2019-03-07 12:42:13 -07:00
Greg Fitzgerald
97f2c96a7e
Add a transaction and instruction
2019-03-06 15:04:15 -07:00
Greg Fitzgerald
5979627258
Add authorized voter
2019-03-06 15:04:15 -07:00
Michael Vines
9491999a95
Remove remaining erc20 references
2019-03-05 17:56:44 -08:00
Michael Vines
e2d30db7e1
Rename tokens to lamports
2019-03-05 17:56:44 -08:00
Michael Vines
3129e299e4
Rename tokens to lamports in programs/
2019-03-05 17:56:44 -08:00
Michael Vines
53f09c44f3
Rename tokens to lamports in sdk/
2019-03-05 17:28:06 -08:00
Greg Fitzgerald
ca99ebaaf4
Add way to create account with delegate in 1 tx
2019-03-05 16:14:57 -07:00
Rob Walker
b9e878ee80
slot_height considered harmful ( #3135 )
...
* slot_height considered harmful
* fix test_tick_slot_epoch_indexes
2019-03-05 14:18:29 -08:00
Tyera Eulberg
33c4c7e511
Split up long test
2019-03-05 15:16:51 -07:00
Tyera Eulberg
b67ac22336
Replace superfluous integration tests with needed one
2019-03-05 15:16:51 -07:00
Tyera Eulberg
6ff2572ebe
Refactor system entrypoint to use helper fns; add unit tests
2019-03-05 15:16:51 -07:00
Greg Fitzgerald
52fc974cdf
The funder is not a staker
2019-03-05 12:46:18 -07:00
Tyera Eulberg
f506b0a224
Fix test: Prevent SystemInstruction CreateAccount from overwriting accounts in use
2019-03-05 09:33:27 -07:00
Tyera Eulberg
202adb1bf1
Create failing test
2019-03-05 09:33:27 -07:00
Greg Fitzgerald
885eeec3ed
Boot storage program from the SDK
2019-03-05 07:16:33 -07:00
Greg Fitzgerald
5e9f802d7d
Boot token_program from the SDK
2019-03-05 07:16:33 -07:00
dependabot[bot]
e4be57c3b6
Bump libc from 0.2.49 to 0.2.50
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.49 to 0.2.50.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.49...0.2.50 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-05 07:14:51 -07:00
Sagar Dhawan
dc42c12f2b
Revert to more consistent naming ( #3114 )
2019-03-04 17:50:19 -08:00
Michael Vines
03d6c9a552
Defeature bpf_loader; bpf_{c,rust} features now confined to programs/bpf
2019-03-04 11:02:37 -08:00
Michael Vines
d0be16b49a
Remove duplicated code
2019-03-04 11:02:37 -08:00
Greg Fitzgerald
2ec9bc9f05
Revive payments via Budget
2019-03-03 17:29:13 -07:00
Greg Fitzgerald
e8ae603a01
Add failing test for a Budget payment
2019-03-03 17:29:13 -07:00
Greg Fitzgerald
8ec10d4de9
Simplify Budget's serialize
2019-03-03 14:24:53 -08:00
Greg Fitzgerald
baca3e6b6b
Cleanup Budget
...
* BudgetProgram -> BudgetState
* Instruction -> BudgetInstruction
* Move BudgetState into its own module
* BudgetInstruction::NewBudget -> BudgetInstruction::InitializeAccount
* BudgetInstruction::new_budget -> BudgetInstruction::new_initialize_account
2019-03-03 14:49:35 -07:00
Greg Fitzgerald
fc5fcd6cd4
Move native_loader into solana_runtime
2019-03-03 10:59:08 -07:00
Michael Vines
33496ffea2
Adjust paths
2019-03-02 22:11:48 -08:00
Michael Vines
b8b7de5522
Script can now be run from any directory
2019-03-02 22:11:48 -08:00
Michael Vines
109101c2dc
Cleanup features and fix build errors
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
44322124c8
Update paths
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
41b5899856
Move programs/Cargo.toml into bpf/
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
b830449f23
Move top-level native program tests to their respective crates
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
037fcf6b3d
Bump all native programs up a level
...
Don't categorize programs by a single backend.
2019-03-02 22:11:48 -08:00
Greg Fitzgerald
3f4ff3f7b5
Delete duplicate file
2019-03-02 18:57:11 -07:00
Greg Fitzgerald
9c3e7e40cf
Less pub
2019-03-02 17:36:51 -08:00
Greg Fitzgerald
1edf6c361e
Move Vote program out of the SDK
2019-03-02 16:44:36 -08:00
Greg Fitzgerald
e6486b2824
Move Budget out of the SDK
2019-03-02 16:44:36 -08:00
Michael Vines
a94880574b
block_hash => blockhash
2019-03-02 12:13:30 -07:00
Michael Vines
0f1582c196
cargo fmt
2019-03-02 12:13:30 -07:00
Michael Vines
258cf21416
Purge remaining last_id (now called block_hash)
2019-03-02 12:13:30 -07:00
Michael Vines
2bfad87a5f
Rename Bank.last_id() to Bank.last_block_hash()
2019-03-02 12:13:30 -07:00
Michael Vines
81cd461591
Rename storage_last_id to storage_block_hash
2019-03-02 12:13:30 -07:00
Michael Vines
ea110efabd
Rename AdvertiseStorageLastId to AdvertiseStorageRecentBlockHash
2019-03-02 12:13:30 -07:00
Michael Vines
176d5e0d37
Rename Transaction last_id field to recent_block_hash
2019-03-02 12:13:30 -07:00
Michael Vines
5f5d779ee1
Move src/ into core/src. Top-level crate is now called solana-workspace
2019-03-02 09:52:18 -08:00
Greg Fitzgerald
7b849b042c
Split rewards_program.rs
2019-03-02 10:11:37 -07:00
Michael Vines
fcbcf000c4
Use a valid last_id
2019-03-02 08:47:31 -08:00
Greg Fitzgerald
986c54de58
Comment out test that's not actually testing anything
...
@sakridge, fyi
2019-03-02 07:50:32 -07:00
Greg Fitzgerald
49b7e67585
Return program error from process_transaction()
...
Our unit-test helper `process_transaction()` wasn't returning
program errors, which made testing programs tedious and
counter-intuitive.
2019-03-02 07:50:32 -07:00
Greg Fitzgerald
db825b6e26
Fix vote program bugs
...
Also:
* Add an assertion to the transaction builder if not enough
keypairs were provided for all keys that require signatures.
* Expose bugs in the runtime.
2019-03-02 07:50:32 -07:00
dependabot[bot]
269a82f796
Bump serde_derive from 1.0.88 to 1.0.89
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.88 to 1.0.89.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.88...v1.0.89 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-01 20:15:49 -07:00
dependabot[bot]
771a88665c
Bump serde from 1.0.88 to 1.0.89
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.88 to 1.0.89.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.88...v1.0.89 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-03-01 15:51:11 -07:00
Greg Fitzgerald
c53c351759
Rename erc20 to token-program
...
Everything it uses already had that name, just the crate was never
renamed.
2019-03-01 10:47:38 -07:00
Jack May
b9524217fe
Update rust example to use BPF enabled infrastructure ( #2974 )
2019-02-28 22:05:11 -08:00
Sagar Dhawan
20e4edec61
Refactor Vote Program Account setup ( #2992 )
2019-02-28 17:08:45 -08:00
Greg Fitzgerald
485ccd20e4
Use TransactionBuilder in the Rewards transaction
2019-02-28 10:53:26 -08:00
Michael Vines
0dc5af62ff
Standardize on 'use log::*' for easy access to all log level macros
2019-02-27 21:16:23 -08:00
carllin
033a04129a
Add lockouts to vote program ( #2944 )
...
* Add lockouts to vote program
* Rename MAX_VOTE_HISTORY TO MAX_LOCKOUT_HISTORY, change process_vote() to only pop votes after MAX_LOCKOUT_HISTORY + 1 votes have arrived
* Correctly calculate serialized size of an Option, rename root_block to root_slot
2019-02-26 22:19:31 -07:00
Jack May
0174945853
Program tests now check signature status ( #2965 )
2019-02-26 17:09:57 -08:00
Jack May
78841532f7
Add Rust helpers ( #2959 )
2019-02-26 15:17:38 -08:00
Jack May
ba5077701d
Avoid possible simplified lowering of passed struct ( #2938 )
2019-02-25 17:05:59 -08:00
Jack May
2be7896157
Pull in latest rBPF that includes Rust dependent changes ( #2929 )
2019-02-25 12:42:48 -08:00
Jack May
35aefdf1db
Reduce test noise ( #2907 )
2019-02-22 16:27:19 -08:00
Stephen Akridge
66891d9d4e
Don't use global storage account
...
Other accounts would not be able to modify the system accounts userdata.
2019-02-22 15:59:55 -08:00
dependabot[bot]
6bca577d6d
Bump libc from 0.2.48 to 0.2.49
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.48 to 0.2.49.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/commits )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-22 16:45:14 -07:00
Greg Fitzgerald
f5400ccefc
Ignore storage test
...
@sakridge is working on a fix.
2019-02-22 16:18:10 -07:00
Greg Fitzgerald
a56d717ea8
Add a check that shows why the storage program is failing
2019-02-22 16:18:10 -07:00
Jack May
b69475937f
Program tests depend on native/noop ( #2873 )
2019-02-21 12:22:55 -08:00
Greg Fitzgerald
dda0a1f39b
Move storage tests out of Bank
2019-02-19 17:26:33 -07:00
Greg Fitzgerald
b9bb92099e
Go object-oriented
...
Easy to imagine a trait here that's implemented using a Bank or
a testnet.
2019-02-19 10:59:06 -07:00
Greg Fitzgerald
64dcc31ac7
Migrate Rewards test from runtime to Bank
2019-02-19 10:59:06 -07:00
Greg Fitzgerald
dde886f058
Move Bank to its own crate
...
Also:
* counters.rs to solana_metrics
* genesis_block.rs to solana_sdk
2019-02-19 07:17:04 -07:00
dependabot[bot]
e42c95a327
Bump bincode from 1.1.1 to 1.1.2
...
Bumps [bincode](https://github.com/TyOverby/bincode ) from 1.1.1 to 1.1.2.
- [Release notes](https://github.com/TyOverby/bincode/releases )
- [Commits](https://github.com/TyOverby/bincode/compare/v1.1.1...v1.1.2 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 13:58:37 -07:00
dependabot[bot]
38aed0c886
Bump serde_derive from 1.0.87 to 1.0.88
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.87...v1.0.88 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 04:57:32 -08:00
dependabot[bot]
02801b3e75
Bump serde from 1.0.87 to 1.0.88
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.87 to 1.0.88.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.87...v1.0.88 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-16 05:02:10 -07:00
Greg Fitzgerald
132c664e18
No longer modify external userdata
2019-02-15 18:36:55 -07:00