Michael Vines
60f3aeb4ef
clippy fix
2018-12-13 23:40:26 -08:00
Michael Vines
092edabd2d
Add homepage field to all crates
2018-12-13 22:25:27 -08:00
Stephen Akridge
7cdbbfa88e
Storage stage updates
...
* Remove logging init from storage program: saw a crash in a test
indicating the logger being init'ed twice.
* Add entry_height mining proof to indicate which segment the result is
for
* Add an interface to get storage miner pubkeys for a given entry_height
* Add an interface to get the current storage mining entry_height
* Set the tvu socket to 0.0.0.0:0 in replicator to stop getting entries
after the desired ledger segment is downloaded.
* Use signature of PoH height to determine which block to download for
replicator.
2018-12-13 11:30:12 -08:00
Michael Vines
59a094cb77
Ensure bpf_c files exist to avoid accidental rebuilds as the tree changes
2018-12-12 17:30:41 -08:00
jackcmay
cefbb7c27d
Fix shared object relcations with multiple static arrays ( #2121 )
2018-12-12 08:41:45 -08:00
Pankaj Garg
9243bc58db
Metrics for window repair ( #2106 )
...
* Metrics for window repair
- Also increase max repair length
* fix vote counters, and add repair window graph
* update per node graphs
* revert max repair length change
2018-12-11 15:43:41 -08:00
jackcmay
935524f20c
Fix eh frame relocation ( #2109 )
...
* Exclude .eh_frame
2018-12-11 12:14:41 -08:00
jackcmay
5847961fec
Fix BPF loader messages ( #2098 )
2018-12-11 11:20:26 -08:00
dependabot[bot]
40d7f5eff8
Bump libc from 0.2.44 to 0.2.45
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.44 to 0.2.45.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.44...0.2.45 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-11 11:52:27 -07:00
jackcmay
e3dfd7b1ab
Allow BPF structure passing and returning ( #2100 )
...
* Add BPF struct passing and returning tests
2018-12-11 09:03:37 -08:00
dependabot[bot]
166945a461
Bump serde from 1.0.81 to 1.0.82
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.81 to 1.0.82.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.81...v1.0.82 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-11 08:53:20 -08:00
dependabot[bot]
46866be21d
Bump serde_derive from 1.0.81 to 1.0.82
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.81 to 1.0.82.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.81...v1.0.82 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-11 09:21:11 -07:00
Michael Vines
d7032aeb43
Add vote instruction debug log
2018-12-10 13:24:14 -08:00
Jack May
337c2bfd29
Fix spelling
2018-12-10 09:31:17 -08:00
dependabot[bot]
67f8916aa8
Bump serde from 1.0.80 to 1.0.81
...
Bumps [serde](https://github.com/serde-rs/serde ) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.80...v1.0.81 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-10 08:38:52 -08:00
dependabot[bot]
1e755f261f
Bump serde_derive from 1.0.80 to 1.0.81
...
Bumps [serde_derive](https://github.com/serde-rs/serde ) from 1.0.80 to 1.0.81.
- [Release notes](https://github.com/serde-rs/serde/releases )
- [Commits](https://github.com/serde-rs/serde/compare/v1.0.80...v1.0.81 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-12-10 08:56:45 -07:00
Michael Vines
f5569e76db
Relocate native programs to deps/ subdirectory of the current executable
...
This layout is `cargo build` compatible, no post-build file moves
required.
2018-12-08 16:31:01 -08:00
Michael Vines
73b9ee9e84
Add solana_ prefix to native_loader program
...
This allows its logging to show up in the default RUST_LOG=solana=info
log setting
2018-12-08 11:04:45 -08:00
Greg Fitzgerald
0a83b17cdd
Upgrade to Rust 1.31.0 ( #2052 )
...
* Upgrade to Rust 1.31.0
* Upgrade nightly
* Fix all clippy warnings
* Revert relaxed version check and update
2018-12-07 20:01:28 -07:00
Michael Vines
632425c7d7
Move native_loader under programs/native/
2018-12-05 14:32:42 -08:00
Michael Vines
59e6bd115e
system_program must be a static lib as it allocates Account memory
2018-12-05 10:49:06 -08:00
Michael Vines
6e9b8e21ae
Drop new-style Result return to avoid error-type wrangling
...
Plus a backtrace at the point of failure is always nice
2018-12-05 10:49:06 -08:00
Michael Vines
affa76f81d
Initialize logger
2018-12-05 10:49:06 -08:00
Michael Vines
9ee858a00c
Move budget_program out of src/
2018-12-05 10:49:06 -08:00
Michael Vines
27d456bf93
Move storage_program out of src/
2018-12-05 10:49:06 -08:00
Michael Vines
ea6e042a6f
Move vote_program out of src/
2018-12-05 10:49:06 -08:00
Michael Vines
9a4f8199d6
Move system_program out of src/
2018-12-05 10:49:06 -08:00
Michael Vines
ae0be1e857
Remove bpf_loader.rs
2018-12-05 10:49:06 -08:00
Michael Vines
d010cac8a5
Remove token_program.rs
2018-12-05 10:49:06 -08:00
jackcmay
0cb5ae41c6
Enable BPF shared objects ( #2012 )
...
* Switch to BPF ELF shared objects (.so)
2018-12-04 22:03:32 -08:00
Michael Vines
e52f3f34a4
Autoinstall dependencies in the SDK itself
2018-12-01 10:47:59 -08:00
Michael Vines
7c3e6e8e86
Move bpf-sdk to sdk/bpf
2018-12-01 10:47:59 -08:00
jackcmay
b00011a3f1
Use custom LLVM ( #1971 )
...
BPF SDK uses custom LLVM
2018-11-30 14:33:29 -08:00
Michael Vines
bad0b55ab6
Expose which keys signed the Transaction in the SDK
2018-11-30 08:16:23 -08:00
jackcmay
0c091c1b24
Dockerized LLVM ( #1914 )
...
Optionally build with dockererized custom llvm
2018-11-28 14:41:53 -08:00
Michael Vines
83c0711760
Rename SolKeyedAccounts to SolKeyedAccount
2018-11-27 15:36:04 -08:00
Michael Vines
ec0a56cb9c
Tokens are unsigned
2018-11-27 10:14:37 -08:00
Michael Vines
f0d24a68ee
Configure -rpath to locate libcriterion
2018-11-26 21:16:42 -08:00
Michael Vines
c7f678688d
Stub out log functions when building tests
2018-11-26 15:41:49 -08:00
Michael Vines
7bf4c08f70
Add BPF C unittest framework
2018-11-26 12:25:29 -08:00
Michael Vines
826ac80e62
Avoid subverting bool return value
2018-11-26 09:11:40 -08:00
Michael Vines
4506584c48
Employ stdbool.h, add stub wchar.h
2018-11-26 09:11:40 -08:00
dependabot[bot]
ca39486d06
Bump libc from 0.2.43 to 0.2.44
...
Bumps [libc](https://github.com/rust-lang/libc ) from 0.2.43 to 0.2.44.
- [Release notes](https://github.com/rust-lang/libc/releases )
- [Commits](https://github.com/rust-lang/libc/compare/0.2.43...0.2.44 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-22 12:32:38 -07:00
jackcmay
59163e2dd9
Optimize some CI stuff ( #1880 )
...
* CI Optimizations
2018-11-21 12:16:16 -08:00
Michael Vines
c1af48bd85
Rename program_id => owner
2018-11-18 16:24:13 -08:00
Michael Vines
3822c29415
Route program_id to program entrypoint
2018-11-17 19:42:03 -08:00
dependabot[bot]
c6c8351fca
Update env_logger requirement from 0.5.12 to 0.6.0
...
Updates the requirements on [env_logger](https://github.com/sebasmagri/env_logger ) to permit the latest version.
- [Release notes](https://github.com/sebasmagri/env_logger/releases )
- [Commits](https://github.com/sebasmagri/env_logger/commits/v0.6.0 )
Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-17 16:30:44 -08:00
Michael Vines
201a4b7b2a
Advance input pointer correctly
2018-11-17 10:30:21 -08:00
Jack May
96e03eca14
Remove unused dependency
2018-11-15 15:13:50 -08:00
Jack May
659dfbf51f
cargo:rerun always triggers if file does not exist
2018-11-15 14:59:54 -08:00
jackcmay
39c87fd103
Add BPF benchmarks
2018-11-14 12:06:06 -08:00
Michael Vines
2ad2fdd235
Remove inline simple program to avoid maintenance burden
2018-11-14 10:39:22 -08:00
Michael Vines
1fda4b77ef
Expose tick_height to bpf programs
2018-11-14 10:33:27 -08:00
Michael Vines
5a8938209b
Expose tick_height to native programs
2018-11-14 10:33:27 -08:00
Michael Vines
0bf2ff6138
Add convenience macro for native program entrypoint
2018-11-14 10:33:27 -08:00
Jack May
f99fae3c61
Use exact solana-rbpf version, not maintaining backward compatibility
2018-11-13 17:45:46 -08:00
Michael Vines
860dcdb449
Stubs for some libc headers
2018-11-13 17:44:46 -08:00
Michael Vines
70cebaf74a
Add size_t/ssize_t/sol_memset/sol_strlen
2018-11-13 17:44:46 -08:00
Michael Vines
317fe19da7
Fix INC_DIRS usage
2018-11-13 17:44:46 -08:00
Michael Vines
522876c808
Rename Account.program_id to Account.owner
2018-11-12 10:59:01 -08:00
Michael Vines
49f4be6a2b
codemod --extensions rs loader_program_id loader
2018-11-12 10:59:01 -08:00
Michael Vines
e702515312
Add basic C++ support
2018-11-12 09:08:40 -08:00
Michael Vines
def7d156f6
codemod --extensions sh '#!/usr/bin/env bash -e' '#!/usr/bin/env bash\nset -e'
2018-11-11 16:24:36 -08:00
Michael Vines
33aab094ef
codemod --extensions sh '#!/bin/bash' '#!/usr/bin/env bash'
2018-11-11 16:24:36 -08:00
Rob Walker
3ccbf81646
Update README.md
2018-11-07 13:04:14 -08:00
Rob Walker
2e38cd98c0
Update README.md
2018-11-07 12:58:24 -08:00
jackcmay
1075a73902
Elf relocations ( #1724 )
...
Use relocatable BPF ELFs
2018-11-07 09:40:23 -08:00
Greg Fitzgerald
c9138f964b
Change token type from i64 to u64
...
Fixes #1526
2018-11-05 15:25:26 -07:00
Michael Vines
ed09b2bdb8
Document BPF C program limitations
2018-11-04 12:31:38 -08:00
Michael Vines
40e945b0c8
Move token_program from src/ to programs/native/
2018-11-02 18:13:02 -07:00
carllin
298bd6479a
Add first leader to genesis ( #1681 )
...
* Add first leader to genesis entries, consume in genesis.sh
* Set bootstrap leader in the bank on startup, remove instantiation of bootstrap leader from bin/fullnode
* Remove need to initialize bootstrap leader in leader_scheduler, now can be read from genesis entries
* Add separate interface new_with_leader() in mint for creating genesis leader entries
2018-11-02 14:32:05 -07:00
Michael Vines
b8534a402d
shell
2018-11-01 15:25:27 -07:00
Michael Vines
45b9a7f8e9
shell
2018-11-01 14:40:21 -07:00
Michael Vines
6b777b066a
Find clang 7 better
...
If LLVM_DIR is defined, use it to locate clang. Otherwise use brew on
macOS, and assume clang-7 otherwise
2018-11-01 09:48:38 -07:00
Michael Vines
1e01088698
Improve clang install info for Linux
2018-11-01 09:48:38 -07:00
Michael Vines
3ea0651078
Rename sol_bpf.h to solana_sdk.h
2018-10-31 23:46:34 -07:00
Michael Vines
776b1c2294
sol_bpf.h improvements
...
- Define NULL
- Add sol_memcmp()
- Use sizeof() more
- Add SOL_ARRAY_SIZE
- Make sol_deserialize() more flexible
2018-10-31 23:46:34 -07:00
Michael Vines
5ecb9da801
Fix up bpf numeric types
2018-10-31 20:53:44 -07:00
jackcmay
38ee5c4dfb
Program may not exit ( #1669 )
...
Cap max executed instructions, report number of executed instructions
2018-10-31 10:59:56 -07:00
jackcmay
aca2f9666d
Fix deps ( #1672 )
2018-10-31 10:12:17 -07:00
Michael Vines
b74e085538
SYSTEM_INC_DIRS needs immediate expansion
2018-10-31 07:20:09 -07:00
Jack May
899de2ff56
Revert inclusion change, fix doc
2018-10-31 07:03:38 -07:00
Jack May
cf521a5bd2
Fix const
2018-10-31 07:03:38 -07:00
Jack May
bc13248e1c
Fix C programs
2018-10-31 07:03:38 -07:00
jackcmay
333f658eb6
Fix lua_loader tests ( #1665 )
2018-10-30 18:36:18 -07:00
Michael Vines
073d39df44
Add solana_ prefix to loaders so their logs appear in the default RUST_LOG config
2018-10-30 12:03:35 -07:00
Michael Vines
4d6c54272a
Tweak logging
2018-10-30 12:03:35 -07:00
Michael Vines
45bb97cad6
Permit {INC,LLVM,OUT,SRC,SYSTEM_INC}_DIRs to be overridden
2018-10-30 07:59:07 -07:00
Michael Vines
546e4c5696
Remove bpf tictactoe
2018-10-29 21:43:37 -07:00
Michael Vines
30b22c8b78
Use NUM_KA
2018-10-29 20:52:38 -07:00
Michael Vines
6f5e92e5b3
README updates
2018-10-29 20:52:38 -07:00
Michael Vines
cce5c70f29
LD -> LLC
2018-10-29 20:52:38 -07:00
Michael Vines
4af7c82ef0
Add extern "C" block
2018-10-29 20:52:38 -07:00
Michael Vines
52e5fb7e0c
Use #pragma once, it's widely supported
...
Fix up some spelling too
2018-10-29 20:52:38 -07:00
Michael Vines
a013e8ceb1
Rename sol_bpf_c.h to sol_bpf.h
2018-10-29 20:52:38 -07:00
Michael Vines
864632b582
slight reformatting
2018-10-29 20:52:38 -07:00
Michael Vines
71d6eaacef
Apply some const
2018-10-29 20:52:38 -07:00
Michael Vines
4aba05d749
Include system includes in .d, remove unneeded tabs
2018-10-29 20:52:38 -07:00
Michael Vines
7d335165ec
Tune make output
2018-10-29 19:32:47 -07:00
Michael Vines
37213209c5
Create programs/bpf/c/sdk/
2018-10-29 19:10:29 -07:00
Michael Vines
ebcb9a2103
Add llvm install info
2018-10-29 10:00:45 -07:00
Michael Vines
6fb2e080bc
Ignore out/
2018-10-29 10:00:45 -07:00
Michael Vines
3ac5ffc188
Use V=1 for verbosity, easier to type
2018-10-29 10:00:45 -07:00
Michael Vines
88187ef282
Find llvm using brew on macOS
2018-10-29 10:00:45 -07:00
jackcmay
3488ea7d1c
Cleanup c programs ( #1620 )
...
Cleanup C programs
2018-10-26 19:38:07 -07:00
Michael Vines
9e5ac76855
0.11.0
2018-10-25 17:19:07 -07:00
Michael Vines
48685cf766
0.10.0-pre2
2018-10-25 16:19:31 -07:00
Michael Vines
1733beabf7
mv common/ sdk/
2018-10-25 13:26:10 -07:00
Michael Vines
471d8f6ff9
Fix up the version references to all other internal crates
2018-10-25 12:54:32 -07:00
Michael Vines
e47fcb196b
s/solana_program_interface/solana[_-]sdk/g
2018-10-25 12:31:45 -07:00
Michael Vines
113b002095
Delete programs/native/move_funds
2018-10-25 11:37:38 -07:00
Michael Vines
9447537d8c
Increment internal Cargo references to solana_program_interface
2018-10-25 11:03:03 -07:00
jackcmay
24b513c3c7
Migrate to latest rbpf ( #1605 )
...
Migrate to updated rbpf
2018-10-25 02:58:04 -07:00
Jack May
0aebbae909
Fix message
2018-10-23 15:45:58 -07:00
Jack May
a3a2215bda
Fix warning
2018-10-23 15:45:58 -07:00
jackcmay
eb377993b3
Debug scripts point to debug flavor ( #1585 )
2018-10-23 14:48:50 -07:00
jackcmay
f8516b677a
Load program data in chunks ( #1556 )
...
Load program data in chunks
2018-10-19 18:28:38 -07:00
jackcmay
0339642e77
Added TicTacToe Dashboard and tests ( #1547 )
...
* Add tictactoe dashboard and tests
2018-10-18 14:19:25 -07:00
jackcmay
0a819ec4e2
Programs were not spawned by SystemProgram ( #1533 )
...
* SystemProgram spawns programs
2018-10-18 10:33:30 -07:00
Jack May
64efa62a74
enable logging in loaders
2018-10-16 16:55:11 -07:00
Jack May
bb628e8495
Rename loaders
2018-10-16 14:27:08 -07:00
jackcmay
c886625c83
Move from solana/rbpf fork to qmonnet/rbpf ( #1511 )
2018-10-16 13:13:54 -07:00
jackcmay
d09889b1dd
Program bank integration ( #1462 )
...
Native, BPF and Lua loaders integrated into the bank
2018-10-16 09:43:49 -07:00
Michael Vines
d3b4dfe104
Add bool return to entrypoint signature to permit programs to fail transactions
2018-10-13 20:01:43 -07:00
Michael Vines
5f8cbf359e
Use cdylib to avoid runtime libstd dependencies
2018-10-10 16:49:48 -07:00
Greg Fitzgerald
2ba2bc72ca
Cleanup multisig lua
2018-10-10 17:17:17 -06:00
Greg Fitzgerald
45b8ba9ede
Demo M-N multisig library in Lua
2018-10-10 17:17:17 -06:00
Michael Vines
40968e09b7
Do a *little* more than noop
2018-10-10 15:57:30 -07:00
Greg Fitzgerald
9716c3de71
Add an abort test to justify a key field
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
34fa3208e0
Demo self-modifying Lua program
...
Also, drop dependency on bincode.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
9c4e19958b
Use accounts[1] for Lua code and tx userdata as arg data
...
This makes the Lua version nearly identical to the C one.
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
0403299728
Add context-free Lua smart contracts
...
lua_State is not preserved across runs and account userdata is not converted into
Lua values. All this allows us to do is manipulate the number of tokens
in each account and DoS the Fullnode with those three little words,
"repeat until false".
Why bother? Research. rlua's project goals are well-aligned with the LAMPORT runtime.
What's next:
* rlua to add security limits, such as number of instructions executed
* Add a way to deserialize Account::userdata OR use Account::program_id
to look up a metatable for lua_newuserdata().
2018-10-09 11:06:48 -06:00
Greg Fitzgerald
da0404ad03
Reduce maintenance of maintainers list
2018-10-04 23:05:08 -07:00
Jack May
d901767b54
Makefile is not relevant
2018-10-04 10:35:48 -07:00
jackcmay
13d4443d4d
Add BPF support & C-based BPF tic-tac-toe ( #1422 )
...
Add initial support for BPF and a C port of tictactoe
2018-10-04 09:44:44 -07:00
jackcmay
9c47e022dc
break dependency of programs on solana core ( #1371 )
...
* break dependency of programs on Solana core
2018-09-27 07:49:26 -07:00
Greg Fitzgerald
874addc51a
Move KeyedAccount into Account
...
Now programs don't need to depend on dynamic_program and its
dependencies.
2018-09-26 20:40:40 -06:00
Greg Fitzgerald
b7ae5b712a
Move Pubkey into its own module
2018-09-26 20:40:40 -06:00
Greg Fitzgerald
c6d7cd2d33
Move Account into its own module
...
Also use default Default generator, since system program ID is
[0; 32]. Bank should probably be the one to set this anyway.
2018-09-26 20:40:40 -06:00
jackcmay
26b1466ef6
Initial integration of dynamic contracts and native module loading ( #1256 )
...
* Integration of native dynamic programs
2018-09-23 22:13:44 -07:00