* Record invoked instructions and store in transaction meta
* Enable cpi recording if transaction sender is some
* Rename invoked to innerInstructions
(cherry picked from commit 6601ec8f26)
Co-authored-by: Justin Starry <justin@solana.com>
* Implement keccak-secp256k1 instruction
Verifies eth addreses with ecrecover function
* Move secp256k1 test
Co-authored-by: sakridge <sakridge@gmail.com>
* Make noop a real noop (#12196)
* Make noop a real noop
* nudge
(cherry picked from commit 555252f435)
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com>
* Add BPF test program instruction monitoring (#11984)
(cherry picked from commit fab2d44abd)
* fix conflicts
Co-authored-by: Jack May <jack@solana.com>
* Cache re-usable work performed by the loader (#12135)
(cherry picked from commit 3278d78f08)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf/tests/programs.rs
# programs/bpf_loader/Cargo.toml
* resolve conflicts
Co-authored-by: Jack May <jack@solana.com>
* sdk: Make PubKey::create_program_address available in program unit tests (#11745)
* sdk: Make PubKey::create_program_address available in program unit tests
This finishes the work started in #11604 to have
`create_program_address` available when `target_arch` is not `bpf` and
`program` is enabled. Otherwise, there is an undefined reference error
to `sol_create_program_address`, which is only defined in `bpf`.
A small test to simply call the function has been added in order to catch
the problem in the future.
The default dependency to `solana-sdk/default` doesn't cause a problem with
existing programs since `build.sh` always specifies
`--no-default-features`, and programs in `solana-program-library` all
use it too.
* Add `default-features = false` for inter-program dependencies
Fix the build error found during CI. The `--no-default-features` flag
only applies to the top-level package, and not to dependencies. A program that
depends on another program, i.e. `128bit` which depends on `128bit_dep`,
must specify `default-features = false` when including that package,
otherwise the `bpf` build will try to pull in default packages, which
includes `std`.
(cherry picked from commit 9a366281d3)
# Conflicts:
# programs/bpf/rust/128bit/Cargo.toml
# programs/bpf/rust/invoke/Cargo.toml
# programs/bpf/rust/many_args/Cargo.toml
# programs/bpf/rust/param_passing/Cargo.toml
* resolve conflicts
Co-authored-by: Jon Cinque <jon.cinque@gmail.com>
Co-authored-by: Jack May <jack@solana.com>
* The constraints on compute power a program can consume is limited only to its instruction count (#11717)
(cherry picked from commit 8d362f682b)
# Conflicts:
# programs/bpf/Cargo.toml
# programs/bpf_loader/Cargo.toml
# programs/bpf_loader/src/lib.rs
# programs/bpf_loader/src/syscalls.rs
# runtime/src/bank.rs
# sdk/src/instruction.rs
* Resolve conflicts
* nudge
Co-authored-by: Jack May <jack@solana.com>
* 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
(cherry picked from commit 23fa84b322)
# Conflicts:
# core/src/rpc_subscriptions.rs
* Fix conflicts
Co-authored-by: Ryo Onodera <ryoqun@gmail.com>
* Send votes from banking stage to vote listener
Co-authored-by: Carl <carl@solana.com>
(cherry picked from commit 7e25130529)
Co-authored-by: carllin <wumu727@gmail.com>
Previously, `proc_macro2::Span::resolved_at` was gated behind
cfg(procmacro2_semver_exempt). This gate has been removed in the latest
version of proc-macro2, allowing us to avoid using `unwrap()` to use the
underling method on `proc_macro::Span`