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