Justin Starry
f804ccdece
Store address table lookups in blockstore and bigtable ( #22402 )
2022-01-14 15:24:41 +08:00
Michael Vines
4c577d7f8c
Bank::get_fee_for_message
is now nonce aware
2022-01-13 17:27:38 -08:00
Ashwin Sekar
eeec1ce2ad
Add local cluster test to repro slot hash expiry bug ( #21873 )
2022-01-10 00:58:21 -05:00
Evan Conrad
0f94e1d3a2
Clarify docs of minimum_balance
( #22385 )
2022-01-08 11:27:32 -07:00
Brooks Prumo
d90d5ee9b6
Refactor Rent::due() with RentDue enum ( #22346 )
2022-01-08 09:03:46 -06:00
Justin Starry
52d12cc802
Add runtime support for address table lookups ( #22223 )
...
* Add support for address table lookups in runtime
* feedback
* feedback
2022-01-07 11:59:09 +08:00
Michael Vines
bb3a1b6b31
Add zk_token_sdk_enabled feature to gate Zk Token proof program and sol_zk_token_elgamal_op
syscalls
2022-01-05 11:57:37 -08:00
Justin Starry
2b5e00d36d
Limit number of accounts that a transaction can lock ( #22201 )
2022-01-04 14:25:23 +08:00
Justin Starry
2a00382d71
Refactor: cleanup solana_transaction_status crate ( #22230 )
2022-01-03 15:45:18 +00:00
Brooks Prumo
800472ddf5
Add AccountsDataMeter to InvokeContext ( #21813 )
2021-12-28 05:14:48 -06:00
Alexander Meißner
2ab4f34c02
Refactor: Remove Message
and CompiledInstruction
from InvokeContext
interfaces ( #22102 )
...
* Introduces InstructionAccount which is like AccountMeta but uses an index instead of a Pubkey
* Renames InvokeContext::create_message() to InvokeContext::prepare_instruction()
* Removes Message and CompiledInstruction from InvokeContext interfaces.
* Resolves TODOs of sol_invoke_signed() in program-test.
* Moves CompiledInstruction::visit_each_account() into invoke_context.rs
2021-12-24 16:17:55 +01:00
Justin Starry
ec7536faf6
Add test to enforce that program id account info for CPI is optional ( #22069 )
...
* Update tests to demonstrate that program id account info for CPI is optional
* Clean up comments that say that program id account info is required
2021-12-24 00:43:15 +01:00
Alexander Meißner
ba8e15848e
Fix #21986 ( #22035 )
...
* Partial revert "Updates documentation around what needs to be passed in CPI. (#21633 )"
* Enforces the program_id being passed explicitly by removing it from get_instruction_keyed_accounts().
* instruction_accounts => instructions_account
2021-12-21 12:53:22 +01:00
Justin Starry
6ff0be6a82
Clean up demote program write lock feature ( #21949 )
...
* Clean up demote program write lock feature
* fix test
2021-12-16 17:27:22 -05:00
Brian Anderson
dcb5849484
Document solana_program::instruction ( #21817 )
...
* Document solana_program::instruction
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-14 21:35:22 +00:00
Michael Vines
c5c699a918
Remove the 5 integer msg! form
2021-12-11 09:37:11 -08:00
Justin Starry
9b41ddd9ba
Add address lookup table program ( #21616 )
...
* Add address lookup table program
* feedback
2021-12-10 16:02:16 -05:00
Justin Starry
6c108c8fc3
Migrate from address maps to address lookup tables ( #21634 )
...
* Migrate from address maps to address lookup tables
* update sanitize error
* cargo fmt
* update abi
2021-12-10 11:04:04 -05:00
Michael Vines
a35df1cb02
Add initial wasm bindings for Instruction
, SystemProgram
and Transaction
2021-12-09 15:53:58 -08:00
Michael Vines
03a956e8d9
Add wasm bindings for Hash
2021-12-09 15:53:58 -08:00
Michael Vines
488dc37fec
Add wasm bindings for Pubkey
and Keypair
2021-12-09 15:53:58 -08:00
Brian Anderson
6919c4863b
Expand docs for Pubkey::create_program_address ( #21750 )
...
* Expand docs for Pubkey::create_program_address
* Update sdk/program/src/pubkey.rs
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-09 23:45:23 +00:00
Jarred Nicholls
4da435f2a0
Avoid entropy sources when constructing a solana_program::message::Message.
...
The solana-program crate can be used in certain embedded environments (HSMs) where
the source of entropy, whether used for cryptographic purposes or not, is tightly
controlled. In these cases, using the default OS source of entrophy is not always
acceptable. Thus, using the default Rust stdlib entropy source for seeding its
default hasher, is prohibited. This means any use of HashMap/HashSet must be able
to be constructed and used with a custom hasher implementation.
This commit removes the use of Itertools::unique() to dedupe Instructions that are
being compiled into a new Message, which uses a default-configured HashMap
under-the-hood. Instead, we use a BTreeSet which does not invoke any entropy
source in order to seed a hash implementation.
2021-12-07 19:19:01 -08:00
Alexander Meißner
6f3f6eddb2
Updates documentation around what needs to be passed in CPI. ( #21633 )
2021-12-06 21:20:16 +01:00
Brian Anderson
df2b448993
Fix incorrect nonoverlapping test in sol_memcpy ( #21007 )
...
Thanks!
2021-12-06 09:26:46 -08:00
Brian Anderson
d1c101cde2
Rework docs for Pubkey::find_program_address and friends ( #21528 )
...
* Rework docs for Pubkey::find_program_address and friends
* Remove circular dependency
* Minor tweaks
* Apply suggestions from code review
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
* Sort solana-program dev-dependencies
Co-authored-by: Tyera Eulberg <teulberg@gmail.com>
2021-12-06 17:00:50 +00:00
fee1-dead
c4a9c8b5e9
Remove dependency on hex
( #21567 )
...
* Remove dependency on `hex`
* Update lock file
* Use `debug_struct` instead of own format
* Share code, add test, and fix rent_epoch spelling
Co-authored-by: Tyera Eulberg <tyera@solana.com>
2021-12-03 20:53:35 -07:00
Michael Vines
b8837c04ec
Reformat imports to a consistent style for imports
...
rustfmt.toml configuration:
imports_granularity = "One"
group_imports = "One"
2021-12-03 09:19:13 -08:00
Jarred Nicholls
18a16ad956
Support building solana-program on 32-bit architectures that do not ( #21577 )
...
have 64-bit atomics by using a Mutex<u64> on 32-bit architectures.
Currently the usage of atomics are only in functions that support
tests and benchmarks.
2021-12-03 01:18:21 +00:00
Brooks Prumo
cb368e6554
Pass Epoch by value in StakeHistory::get() ( #21523 )
2021-12-01 08:57:29 -06:00
Ikko Ashimine
1f13fd64bd
Fix typo in system_instruction.rs ( #21539 )
...
Uninitalized -> Uninitialized
2021-12-01 06:31:12 -05:00
Michael Vines
e922c2da9d
Update to Rust 1.56.1
2021-11-30 23:28:07 -08:00
Michael Vines
dd12d90eac
Upgrade to Rust 2021
2021-11-30 20:43:46 -08:00
Michael Vines
098dba607a
Fix more BPF alignment issues on arm64
2021-11-30 18:17:44 -08:00
Ikko Ashimine
4b67a6900d
Fix typo in program_option.rs ( #21444 )
...
accross -> across
2021-11-26 05:52:21 -06:00
Jack May
03c36d240a
Nonce naming cleanup ( #21336 )
2021-11-18 16:07:17 -08:00
Kirill Fomichev
1a7cefded7
Fix authority in bpf_loader_upgradeable::close_any ( #21344 )
2021-11-18 15:53:14 -08:00
carllin
b30c94ce55
ClusterInfoVoteListener send only missing votes to BankingStage ( #20873 )
2021-11-18 15:20:41 -08:00
Ben Newhouse
7e600bd451
Fix BPF parameter alignment to work regardless of target ABI ( #21271 )
2021-11-16 16:02:22 +01:00
Kirill Fomichev
d8a392c20b
add new macro: pubkey!
( #21245 )
...
* add new macro: `pubkey!`
* fmt
2021-11-15 11:22:51 -08:00
Alexander Meißner
29ad081555
Stop caching sysvars, instead load them ahead of time. ( #21108 )
2021-11-04 09:48:34 +01:00
Jack May
bced07a099
Update fee api to use blockhash ( #21054 )
2021-10-29 13:52:59 -07:00
Brian Anderson
62c8fb4792
Document next_account_info(s) ( #21076 )
2021-10-29 14:17:21 -06:00
Brian Anderson
ced1505b75
Document entrypoint!
, custom_heap_default!
, and custom_panic_default!
( #21003 )
2021-10-26 22:48:10 -07:00
Jack May
4fe3354c8f
Instruction sysvar fixes, additions ( #20958 )
2021-10-26 13:07:40 -07:00
Jack May
2515f6a04f
Update deprecation versions ( #20959 )
2021-10-26 09:06:41 -07:00
Eugene Lomov
edf5bc242c
Fixed bug in AccountInfo::serialize()
...
Closes #20917
2021-10-23 17:25:04 -07:00
Jack May
bfbbc53dac
Divorce the runtime from FeeCalculator ( #20737 )
2021-10-22 14:32:40 -07:00
Brian Anderson
64e4bbf829
Fix weird attribute order
2021-10-21 18:40:44 -07:00
Jack May
a8098f37d0
add checked instructions sysvar api ( #20790 )
2021-10-19 21:01:58 -07:00