95 Commits

Author SHA1 Message Date
Jack May
d326512121
Add ComputeBudget tuner (#12476) 2020-09-25 09:01:22 -07:00
Justin Starry
6601ec8f26
Record and store invoked instructions in transaction meta (#12311)
* Record invoked instructions and store in transaction meta

* Enable cpi recording if transaction sender is some

* Rename invoked to innerInstructions
2020-09-24 22:36:22 +08:00
Jack May
5ab4109b7e
Add memory allocation support for C programs (#12254) 2020-09-15 16:42:20 -07:00
Jack May
555252f435
Make noop a real noop (#12196)
* Make noop a real noop

* nudge
2020-09-12 01:49:00 +00:00
Jack May
ae0fd3043a
Add support for deprecated loader (#11946) 2020-08-31 14:06:58 -07:00
Jack May
8d362f682b
The constraints on compute power a program can consume is limited only to its instruction count (#11717) 2020-08-21 15:31:19 -07:00
Jack May
e9b610b8df
Add SystemInstruction::CreateAccount support to CPI (#11649) 2020-08-17 13:38:42 -07:00
Ryo Onodera
23fa84b322
Re-do rent collection check on rent-exempt account (#11349)
* wip: re-do rent collection check on rent-exempt account

* Let's see how the ci goes

* Restore previous code

* Well, almost all new changes are revertable

* Update doc

* Add test and gating

* Fix tests

* Fix tests, especially avoid to change abi...

* Fix more tests...

* Fix snapshot restore

* Align to _new_ with better uninitialized detection
2020-08-17 14:22:16 +09:00
Jack May
9290e561e1
Align host addresses (#11384)
* Align host addresses

* support new program abi

* update epoch rollout

* Enforce aligned pointers in cross-program invocations
2020-08-11 16:11:52 -07:00
Jack May
03263c850a
Force program address off the curve (#11323) 2020-08-05 16:35:54 -07:00
Jack May
db4a18ada4
Add PubkeyError for ProgramError (#10748) 2020-06-23 11:19:27 -07:00
Jack May
73586c1aad
Use &[u8] for program address seeds rather then &str (#10744) 2020-06-22 16:51:43 -07:00
Jack May
03abd3ddd7
Prevent privilege escalation (#10232)
automerge
2020-05-26 01:02:31 -07:00
Jack May
4a72c2b054
Support cross-program invocation to native programs (#10136) 2020-05-20 09:24:57 -07:00
Jack May
af84dff9ef nudge 2020-05-11 09:06:05 -07:00
Jack May
97e17f9b32 Programs can only sign their accounts 2020-05-11 09:06:05 -07:00
Jack May
068f12fd6f
Add Cross-program invocations (#9582) 2020-04-28 14:33:56 -07:00
Jack May
f192e4f08f
Nit: Align Rust and C names (#8918) 2020-03-17 19:37:16 -07:00
Jack May
d087ed5bf6
Remove copypasta (#8912) 2020-03-17 15:59:09 -07:00
Jack May
668dfc40c7
Align C and Rust handling of AccountInfos (#8906) 2020-03-17 12:34:14 -07:00
Grimes
fc409d9262
Consistency nits and spelling (#8642)
automerge
2020-03-04 16:26:32 -08:00
Jack May
059764586a
Rename from account userdata to data (#8224) 2020-02-11 16:30:22 -08:00
Jack May
0fd795a676
Remove program error footgun and cleaner developer experience (#8042) 2020-01-31 10:58:07 -08:00
Jack May
dd276138c2
Add support for idiomatic error handling to BPF instruction processors (#7968) 2020-01-30 09:47:22 -08:00
Jack May
34ed93d57c
Optimize account copies and use RefCell to handle duplicate accounts in BPF programs (#7958) 2020-01-24 10:54:26 -08:00
Justin Starry
81c36699c4
Add support for BPF program custom errors (#5743)
* Add support for BPF program custom errors

* Rename SOL_SUCCESS -> SUCCESS
2019-09-06 16:05:01 -07:00
Jack May
97ea75a890
Pull in solana_rbpf v0.1.14 (#5609) 2019-08-23 11:03:53 -07:00
Jack May
4177c56c51
Use real panic that reports file/line (#4758) 2019-06-20 19:10:03 -07:00
Jack May
2a7a9fdf03
Re-org SDK dir (#4690) 2019-06-17 11:04:38 -07:00
Greg Fitzgerald
51a2988bb2
Revert "Rename programs to instruction_processors (#3789)" (#3824)
This reverts commit 34344982a985046eb337100afa101cb28709b004.
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
Michael Vines
3129e299e4 Rename tokens to lamports in programs/ 2019-03-05 17:56:44 -08:00
Jack May
ba5077701d
Avoid possible simplified lowering of passed struct (#2938) 2019-02-25 17:05:59 -08:00
Jack May
a0bc8b8af3
BPF programs can support up to 5 arguments (#2528) 2019-01-23 09:55:08 -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
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