Commit Graph

146 Commits

Author SHA1 Message Date
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
Michael Vines 6899bd7099
0.13.0 2019-03-11 16:21:19 -07: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
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 03d6c9a552 Defeature bpf_loader; bpf_{c,rust} features now confined to programs/bpf 2019-03-04 11:02:37 -08:00
Greg Fitzgerald fc5fcd6cd4 Move native_loader into solana_runtime 2019-03-03 10:59:08 -07: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 41b5899856 Move programs/Cargo.toml into bpf/ 2019-03-02 22:11:48 -08:00
Jack May b9524217fe
Update rust example to use BPF enabled infrastructure (#2974) 2019-02-28 22:05:11 -08:00
Jack May ba5077701d
Avoid possible simplified lowering of passed struct (#2938) 2019-02-25 17:05:59 -08:00
Jack May 5f565c92c9
cargo incremental builds breaks Rust BPF, locally disable it (#2674) 2019-02-06 13:59:10 -08:00
Jack May a0bc8b8af3
BPF programs can support up to 5 arguments (#2528) 2019-01-23 09:55:08 -08:00
Jack May a6773ad442 Specify entrypoint when building rust programs 2019-01-14 20:13:01 -08:00
Jak May e9a0b3a8f3
Add BPF-to-BPF and PC relative call tests (#2395) 2019-01-11 19:33:08 -08:00
Jak May 23c43ed21b
Multi-file BPF C builds (#2393) 2019-01-11 15:33:21 -08:00
jackcmay a461c5682d
First stab at Rust BPF (#2269)
First stab at Rust BPF
2019-01-02 15:12:42 -08:00
Michael Vines 0e567381fb
v0.12.0 2018-12-19 17:03:28 -08:00
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
jackcmay cefbb7c27d
Fix shared object relcations with multiple static arrays (#2121) 2018-12-12 08:41:45 -08:00
jackcmay 935524f20c
Fix eh frame relocation (#2109)
* Exclude .eh_frame
2018-12-11 12:14:41 -08: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
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
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
Michael Vines 201a4b7b2a
Advance input pointer correctly 2018-11-17 10:30:21 -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 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 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 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 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
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 9447537d8c Increment internal Cargo references to solana_program_interface 2018-10-25 11:03:03 -07:00
jackcmay eb377993b3
Debug scripts point to debug flavor (#1585) 2018-10-23 14:48:50 -07:00
jackcmay 0339642e77
Added TicTacToe Dashboard and tests (#1547)
* Add tictactoe dashboard and tests
2018-10-18 14:19:25 -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
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