Commit Graph

121 Commits

Author SHA1 Message Date
f15dd1b4ef Add C Serialization Tests for #17217 (#17294) 2021-05-17 16:33:58 -07:00
8eb05d6ed4 Add Keccak256 syscall and sdk support (#16498) 2021-05-10 16:16:58 -07:00
74f58376f8 Expand and update instruction count tests (#16522) 2021-04-13 16:23:42 -07:00
cc38ae72e7 Skip deserialization of readonly accounts (#15813) 2021-03-11 19:28:21 -08:00
efcb58092e Add more duplicate account tests (#15746) 2021-03-05 20:36:27 -08:00
6acb06f8d8 refactor: Use UINT64_MAX to replace hardcoded number (#15676) 2021-03-03 17:16:18 +00:00
77572a7c53 Track account writable deescalation (#14626) 2021-01-22 15:28:01 -08:00
aa96ad042b Add signer/writable de/escalation tests (#14726) 2021-01-21 09:19:46 +00:00
6e8a1ba7de Load executable accounts from invoke context (#14574) 2021-01-14 00:19:22 -08:00
ec48631fc5 Bail on all CPI errors (#14500)
* Bail on all CPI errors

* whitespace
2021-01-09 02:27:39 +00:00
5524938a50 Limit CPI instruction size (#14317) 2020-12-29 01:14:17 +00:00
b1d702a618 Don't use caller passed executable account (#14276) 2020-12-23 14:34:14 -08:00
025f886e10 check for resize access violations (#14142) 2020-12-15 23:21:08 -08:00
ab98c1f2d4 Add try_find_program_address syscall (#14118) 2020-12-15 08:15:01 -08:00
5ea80e673f Fix priv escalation test (#14046) 2020-12-10 22:36:33 +00:00
e1a4251b07 Cap CPI signers (#14021) 2020-12-09 02:14:53 -08:00
661ca52135 Cap seeds not signers (#13941) 2020-12-03 09:58:25 -08:00
1c51711c75 Invoke with empty account slice (#13931) 2020-12-03 07:06:26 -08:00
66e51a7363 Add sol_log_compute_units syscall 2020-10-29 21:45:24 -07:00
3f9e6a600b program log pubkey as base58 (#12901) 2020-10-15 09:11:54 -07:00
e4f45bfd3b Bpf speed debug and tuner program (#12845) 2020-10-13 12:16:27 -07:00
56211378d3 terminology update, nonce to bump seed (#12840) 2020-10-13 10:11:08 -07:00
2cd7cd3149 Bump max invoke depth to 4 (#12742) 2020-10-09 10:33:12 -07:00
d0aa8a6446 Fix zero-len slice translations (#12642) 2020-10-02 17:45:39 -07:00
adeb06e550 Check CPI program is executable (#12644) 2020-10-02 13:55:22 -07:00
058bca6632 add sha256 syscall (#12569) 2020-09-29 23:29:20 -07:00
d326512121 Add ComputeBudget tuner (#12476) 2020-09-25 09:01:22 -07:00
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
5ab4109b7e Add memory allocation support for C programs (#12254) 2020-09-15 16:42:20 -07:00
555252f435 Make noop a real noop (#12196)
* Make noop a real noop

* nudge
2020-09-12 01:49:00 +00:00
ae0fd3043a Add support for deprecated loader (#11946) 2020-08-31 14:06:58 -07:00
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
e9b610b8df Add SystemInstruction::CreateAccount support to CPI (#11649) 2020-08-17 13:38:42 -07:00
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
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
03263c850a Force program address off the curve (#11323) 2020-08-05 16:35:54 -07:00
db4a18ada4 Add PubkeyError for ProgramError (#10748) 2020-06-23 11:19:27 -07:00
73586c1aad Use &[u8] for program address seeds rather then &str (#10744) 2020-06-22 16:51:43 -07:00
03abd3ddd7 Prevent privilege escalation (#10232)
automerge
2020-05-26 01:02:31 -07:00
4a72c2b054 Support cross-program invocation to native programs (#10136) 2020-05-20 09:24:57 -07:00
af84dff9ef nudge 2020-05-11 09:06:05 -07:00
97e17f9b32 Programs can only sign their accounts 2020-05-11 09:06:05 -07:00
068f12fd6f Add Cross-program invocations (#9582) 2020-04-28 14:33:56 -07:00
f192e4f08f Nit: Align Rust and C names (#8918) 2020-03-17 19:37:16 -07:00
d087ed5bf6 Remove copypasta (#8912) 2020-03-17 15:59:09 -07:00
668dfc40c7 Align C and Rust handling of AccountInfos (#8906) 2020-03-17 12:34:14 -07:00
fc409d9262 Consistency nits and spelling (#8642)
automerge
2020-03-04 16:26:32 -08:00
059764586a Rename from account userdata to data (#8224) 2020-02-11 16:30:22 -08:00
0fd795a676 Remove program error footgun and cleaner developer experience (#8042) 2020-01-31 10:58:07 -08:00
dd276138c2 Add support for idiomatic error handling to BPF instruction processors (#7968) 2020-01-30 09:47:22 -08:00