Commit Graph

80 Commits

Author SHA1 Message Date
Dmitri Makarov f4dd24491f Migrate SDK from BPF to SBF 2022-10-07 08:57:06 -04:00
apfitzge d4a442cf5f
Error on missing greadlink (#25817) 2022-06-08 08:34:53 -05:00
Dmitri Makarov c8e8e81c23 Add cargo sbf tools to install all script 2022-06-06 19:49:54 -07:00
Dmitri Makarov 66366615bb Generate syscall headers 2022-05-05 19:50:54 -07:00
Will Hickey c696944d36
Add --locked to spl-token-cli install (#23223) 2022-02-17 22:09:29 -06:00
Michael Vines 8d22ca5076 Add helper crate to generate syscalls.txt 2021-12-14 21:20:13 -08:00
joeaba 396262866f
updating with OS_TYPE 2021-10-22 17:46:06 +05:30
Jon Cinque 567f30aa1a
windows: Make solana-test-validator work (#20099)
* windows: Make solana-test-validator work

The important changes to get this going on Windows:

* ledger lock needs to be done on a file instead of the directory
* IPC service needs to use the Windows pipe naming scheme
* always disable the JIT
* file logging not possible yet because we can't redirect stderr,
but this will change once env_logger fixes the pipe output target!

* Integrate review feedback
2021-09-22 23:10:35 +02:00
Justin Starry cfece66403
Remove unused exchange program and bench client (#18463) 2021-07-12 21:59:11 -05:00
Michael Vines f859a39b86 Remove obsolete stake-monitor command 2021-06-16 16:10:36 -07:00
Dmitri Makarov b8897df515
Add rbpf-cli tool (#17378)
* Add rbpf-cli tool

* Replace explicit file type specification by required positional arg

- the type of file is determined automatically.  If ELF magic found,
  the program file is considered to be an executable ELF file, and
  an assembly input file otherwise.

* Add a note about tool's limitations and input format description
2021-05-28 11:28:30 +00:00
Christian Drappi 0b84440e0f
cargo-install-all.sh: on Mac OS X, use greadlink instead of readlink (#16642)
* on Mac OS X, use greadlink when building from source

* this is a cleaner way to do it

* we want to keep the cargo install comment at the top of the script
2021-04-19 19:05:46 +00:00
Justin Starry 6cd4bc5e60
Speed up net.sh builds (#16360)
* Speed up net.sh builds

* feedback

* Update net/net.sh

Co-authored-by: Tyera Eulberg <teulberg@gmail.com>

* feedback

* fix

Co-authored-by: Trent Nelson <trent.a.b.nelson@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-04-07 14:45:03 +08:00
Michael Vines b7aa366758 Remove stake-o-matic 2021-03-24 20:09:04 -07:00
Michael Vines 524da78e43 Ship cargo-build-bpf/cargo-test-bpf for windows 2021-02-19 09:11:41 -08:00
Michael Vines 0a9ff1dc9d Initial solana-test-validator command-line program 2020-12-11 04:17:38 +00:00
Michael Vines 6c36a2085f Add cargo-test-bpf 2020-11-05 14:29:17 -08:00
behzad nouri 44b12a1594
adds the missing slash in cargo path (#13424) 2020-11-05 20:25:42 +00:00
Trent Nelson 66c3c6c2b3 CI: Use branch-versioned cargo throughout 2020-11-05 05:05:57 +00:00
Michael Vines 965ea97b56 Move bpf sdk packaging from publish-tarball to cargo-install-all 2020-10-23 20:41:34 +00:00
Michael Vines 07a853d6cc Add cargo-build-bpf 2020-10-21 18:56:40 -07:00
Trent Nelson bb2f0df9e1 Release: Use pinned cargo version to install spl-token-cli 2020-10-15 16:59:59 +00:00
Trent Nelson f70762913c Release: Include SPL Token in release tarballs 2020-10-15 00:35:45 +00:00
Ryo Onodera bb9c04895b
Fix failing window build on master on travis (#12271)
* Fix failing window build on master on travis

* Fix shellcheck
2020-09-16 17:46:33 +09:00
Greg Fitzgerald 8b1b392be9
Remove move_loader and librapay (#11184)
* Remove move_loader and librapay

* Remove Embedding Move from implemented proposals

* Remove Move variant from CI

* Remove move_loader ID
2020-07-23 15:08:59 -06:00
Michael Vines 3a7b036eac Add helpful PATH command to copy from 2020-06-01 14:02:50 -07:00
Michael Vines 417f0e41fa
Add stake-o-matic (#10044)
automerge
2020-05-20 16:15:03 -07:00
Greg Fitzgerald e09f517094
Add solana-tokens (#10011)
* Initial commit

* Execute transfers

* Refactor for testing

* Cleanup readme

* Rewrite

* Cleanup

* Cleanup

* Cleanup client

* Use a Null Client to move prints closer to where messages are sent

* Upgrade Solana

* Move core functionality into its own module

* Handle transaction errors

* Merge allocations

* Fixes

* Cleanup readme

* Fix markdown

* Add example input

* Add integration test - currently fails

* Add integration test

* Add metrics

* Use RpcClient in dry-run, just don't send messages

* More metrics

* Fix dry run with no keys

* Only require one approval if fee-payer is the sender keypair

* Fix bugs

* Don't create the transaction log if nothing to put into it;
  otherwise the next innvocation won't add the header

* Apply previous transactions to allocations with matching recipients

* Bail out of any account already has a balance

* Polish

* Add new 'balances' command

* 9 decimal places

* Add missing file

* Better dry-run; keypair options now optional

* Change field name from 'bid' to 'accepted'

Also, tolerate precision change from 2 decimal places to 4

* Write to transaction log immediately

* Rename allocations_csv to bids_csv

So that we can bypass bids_csv with an allocations CSV file

* Upgrade Solana

* Remove faucet from integration test

* Cleaner integration test

Won't work until this lands and is released:

https://github.com/solana-labs/solana/pull/9717

* Update README

* Add TravicCI script to build and test (#1)

* Add distribute-stake command (#2)

* Distribute -> DistributeTokens (#3)

* Cache cargo deps (#4)

* Add docs (#5)

* Switch to latest Solana 1.1 release (#7)

* distribute -> distribute-tokens (#9)

* Switch from CSV to a pickledb database (#8)

* Switch from CSV to a pickledb database

* Allow PickleDb errors to bubble up

* Dedup

* Hoist db

* Add finalized field to TransactionInfo

* Don't allow RPC client to resign transactions

* Remove dead code

* Use transport::Result

* Record unconfirmed transaction

* Fix: separate stake account per allocation

* Catch transport errors

* Panic if we attempt to replay a transaction that hasn't been finalized

* Attempt to fix CI

PickleDb isn't calling flush() or close() after writing to files.
No issue on MacOS, but looks racy in CI.

* Revert "Attempt to fix CI"

This reverts commit 1632394f636c54402b3578120e8817dd1660e19b.

* Poll for signature before returning

* Add --sol-for-fees option for stake distributions

* Add --allocations-csv option (#14)

* Add allocations-csv option

* Add tests or GTFO

* Apply review feedback

* apply feedback

* Add read_allocations function

* Update arg_parser.rs

* Fix balances command (#17)

* Fix balances command

* Fix readme

* Add --force to transfer to non-empty accounts (#18)

* Add --no-wait (#16)

* Add ThinClient methods to implement --no-wait

* Plumb --no-wait through

No tests yet

* Check transaction status on startup

* Easier to test

* Wait until transaction is finalized before checking if it failed with an error

It's possible that a minority fork thinks it failed.

* Add unit tests

* Remove dead code and rustfmt

* Don't flush database to file if doing a dry-run

* Continue when transactions not yet finalized (#20)

If those transactions are dropped, the next run will execute them.

* Return the number of confirmations (#21)

* Add read_allocations() unit-test (#22)

Delete the copy-pasted top-level test.

Fixes #19

* Add a CSV printer (#23)

* Remove all the copypasta (#24)

* Move resolve_distribute_stake_args into its own function

* Add stake args to token args

* Unify option names

* Move Command::DistributeStake into DistributeTokens

* Remove process_distribute_stake

* Only unique signers

* Use sender keypair to fund new fee-payer accounts

* Unify distribute_tokens and distribute_stake

* Rename print-database command to transaction-log (#25)

* Send all transactions as quickly as possible, then wait (#26)

* Send all transactions as quickly as possible, then wait

* Exit when finalized or blockhashes have expired

* Don't need blockhash in the CSV output

* Better types

CSV library was choking on Pubkey as a type. PickleDb doesn't have that problem.

* Resend if blockhash has not expired

* Attempt to fix CI

* Move log to stderr

* Add constructor, tuck away client (#30)

* Add constructor, tuck away client

* Fix unwrap() caught by CI

* Fix optional option flagged as required

* Bunch of cleanup (#31)

* Remove untested --no-wait feature

* Make --transactions-db an option, not an arg

So that in the future, we can make it optional

* Remove more untested features

Too many false positives in that santity check.  Use --dry-run
instead.

* Add dry-run mode to ThinClient

* Cleaner dry-run

* Make key parameters required

Just don't use them in --dry-run

* Add option to write the transaction log

--dry-run doesn't write to the database. Use this option if you
want a copy of the transaction log before the final run.

* Revert --transaction-log addition

Implement #27 first

* Fix CI

* Update readme

* Fix CI in copypasta

* Sort transaction log by finalized date (#33)

* Make --transaction-db option implicit (#34)

* Move db functionality into its own module (#35)

* Move db functionality into its own module

* Rename tokens module to commands

* Version bump

* Upgrade Solana

* Add solana-tokens to build

* Remove Cargo.lock

* Remove vscode file

* Remove TravisCI build script

* Install solana-tokens

Co-authored-by: Dan Albert <dan@solana.com>
2020-05-13 08:36:30 -06:00
Greg Fitzgerald e6db701c17
Install solana-stake-accounts (#9169)
automerge
2020-03-30 17:45:10 -07:00
Michael Vines 3ae6e0b8ab
Add solana-stake-monitor program (#9081) 2020-03-27 22:55:55 -07:00
sakridge bca769111f
Dos all the things (#8914)
* Dos all the things

* Use solana-dos for gossip dos test
2020-03-20 12:55:38 -07:00
Michael Vines 6a213bc8f5
Build less for windows 2020-03-17 17:03:56 -07:00
Michael Vines d14dea4660
Restore solana-install for non-windows 2020-03-17 13:47:53 -07:00
Michael Vines 29abfebb68 Limit windows to end-user command-line tools 2020-03-17 13:11:00 -07:00
Michael Vines 5eae76c66e
Remove solana-archiver from release artifacts 2020-03-05 11:01:53 -07:00
Jack May 5cb23c814d
Install move-loader binaries (#7768) 2020-01-13 12:53:53 -08:00
Tyera Eulberg 3513f4ee84
Rename drone to faucet (#7508) 2019-12-16 14:05:17 -07:00
Michael Vines 2b5e919a47
Ship solana-watchtower program 2019-12-13 23:04:03 -07:00
Pankaj Garg 076e384bb5
Tool to tune system parameters like PoH service priority (#7155)
* New daemon to tune system parameters like PoH service priority

* fixes for Linux

* integrate with poh_service

* fixes

* address review comments

* remove `dead_code` directive
2019-12-02 16:46:46 -08:00
Jack May d9024db68d
Fix publish of move program (#7072) 2019-11-20 20:33:49 -08:00
Michael Vines f58fef60fb
Fix program copy 2019-11-20 15:56:00 -07:00
Jack May a76eb64bbb
Copy all programs when starting a network (#7069) 2019-11-20 14:37:15 -08:00
Pankaj Garg c96b8c8d68
Script to run net-shaper on remote nodes (#6938)
* Script to run net-shaper on remote nodes

* fixes
2019-11-13 20:31:44 -08:00
TristanDebrunner e6c8bfd008
Add --use-move flag to cargo-install-all.sh and net/net.sh (#6670) 2019-11-01 07:53:30 -07:00
Pankaj Garg 2e30926ac3
New program to process `iftop` log output (#6668)
* New program to process iftop log output

* fixes

* fix shellcheck

* address review comments

* more review comments
2019-10-31 18:22:57 -07:00
TristanDebrunner d2c66c40c6
Have cargo-install-all.sh also look in program target dirs for so's (#6631) 2019-10-31 14:40:54 -07:00
TristanDebrunner b4dc1a7263 Remove move feature (#6605)
automerge
2019-10-29 17:14:07 -07:00
Greg Fitzgerald 9232057e95
Rename replicator to archiver (#6464)
* Rename replicator to archiver

* cargo fmt

* Fix grammar
2019-10-21 11:29:37 -06:00
Michael Vines b4da83a3ab
Remove CUDA feature (#6094) 2019-09-26 13:36:51 -07:00
Michael Vines 078a3aeccd
Properly build solana-validator-cuda (#5999) 2019-09-20 11:36:57 -07:00