Alexander Meißner
0cd57addcf
Cleanup - mock_process_instruction() ( #31088 )
...
* Uses declare_process_instruction!() in all tests.
* Adds post_adjustments to mock_process_instruction().
Removes "solana_sbf_rust_external_spend" from assert_instruction_count() as it panics.
2023-04-07 12:53:19 +02:00
Alexander Meißner
24a87f33a8
Refactor - Cleanup error handling in program runtime ( #30693 )
...
* Moves stable_log::program_invoke(), stable_log::program_success() and stable_log::program_failure() calls from bpf_loader into InvokeContext::process_executable_chain().
* Turns result of ProcessInstructionWithContext from InstructionError into Box<dyn std::error::Error>.
* Bump to solana_rbpf v0.3.0
* Removes Result from return type of EbpfVm::new().
* Turns EbpfError into Box<dyn std::error::Error>.
* Removes BpfError.
* Removes SyscallError::InstructionError.
* Adds a type alias for Box<dyn std::error::Error> in syscalls.
2023-04-05 15:50:34 +02:00
Tao Zhu
3e500d9e92
Feature gate builtin consumes static units during processing instruction ( #30702 )
...
* add feature gate
* builtins consume statically defined units at beginning of process_instruction()
* Add new instructionError; return error if builtin did not consume units to enforce builtin to consume units;
* updated related tests
* updated ProgramTest with deactivated native_programs_consume_cu feature to continue support existing mock/test programs that do not consume units
2023-03-24 11:31:01 -05:00
samkim-crypto
2d58bb287d
[zk-token-sdk] Add option to create proof context state in the proof verification program ( #29996 )
...
* extend verifiable trait
* add PodBool
* implement ZkProofData trait
* add proof context program to zk-token-proof program
* update tests for close account
* add close account instruction
* reorganize tests
* complete tests
* clean up and add docs
* clean up pod
* add proof program state
* update tests
* move proof program tests as separate module
* clippy
* cargo sort
* cargo fmt
* re-organize visibility
* add context state description
* update maintainer reference
* change `VerifyProofData` and `ProofContextState` to pod
* add tests for mixing proof types
* add tests for self owned context state accounts
* cargo fmt
* remove unnecessary scoping and add comments on scopes
* re-organize proof instructions
* clippy
* update zk-token-proof-test to 1.16.0
* upgrade spl-token-2022 to 0.6.1
* reoganize proof type
* cargo lock
* remove ZkProofContext trait
2023-03-16 07:35:20 +09:00
Alexander Meißner
38e74325e3
Refactor - Remove `process_instruction` parameter `first_instruction_account` ( #30579 )
...
* Stops using first_instruction_account parameter in bpf_loader.
* Removes first_instruction_account parameter from process_instruction().
2023-03-06 17:37:37 +01:00
Yihau Chen
df3ef111f7
chore: workspace inheritance ( #29893 )
...
* introduce workspace.package
* introduce workspace.dependencies
* read version from root cargo.toml
* pass check when version = { workspace = true }
* don't bump version when version = { workspace = true }
* including workspace Cargo.toml when bump version
* programs/sbf use workspace inheritance
* fix increasing cargo version ignore program/sbf/Cargo.toml
2023-02-23 22:01:54 +08:00
Will Hickey
04a6a631bc
Bump version to v1.16 ( #30028 )
2023-01-31 17:48:33 -06:00
joeaba
a12bf8c003
Update maintainers references ( #29997 )
...
* update maintainers references
* chore: update maintainers reference
2023-01-31 08:07:13 -05:00
Yihau Chen
9193b4221d
Revert "chore: workspace inheritance ( #29509 )" ( #29892 )
...
This reverts commit a67d239dde
.
2023-01-25 15:50:41 +08:00
Yihau Chen
a67d239dde
chore: workspace inheritance ( #29509 )
...
* introduce workspace.package
* introduce workspace.dependencies
* read version from root cargo.toml
* pass check when version = { workspace = true }
* don't bump version when version = { workspace = true }
* including workspace Cargo.toml when bump version
* programs/sbf use workspace inheritance
* fix increasing cargo version ignore program/sbf/Cargo.toml
2023-01-25 13:59:59 +08:00
Alexander Meißner
ff1ff587d1
Bump solana_rbpf to 0.2.36 ( #28794 )
...
* Bumps solana_rbpf to v0.2.36
* Removes ThisInstructionMeter.
* Removes one "unsafe" expression.
* Removes redundant call to solana_rbpf:🧝 :register_bpf_function().
* Adjusts SyscallFunction and SyscallRegistry.
* Inlines ProgramEnvironment into EbpfVm.
* Refactors trait SyscallConsume into fn consume_compute_meter().
* Inlines ComputeMeter into InvokeContext.
* Removes solana-metrics dependency from bpf_loader.
* Replaces RBPF tracer functionality by the debugger.
* Take compute_units_consumed from execute_program().
* Merges execute_program_interpreted() and execute_program_jit().
2022-11-15 15:21:11 +01:00
samkim-crypto
bc927097ce
[zk-token-sdk] add pubkey proof ( #28392 )
...
* add pubkey proof
* add pubkey sigma proof
* add docs for the sigma proof functions
* add pod public key sigma proof
* add public-key validity proof instruction
* add public-key validity proof instruction
* add VerifyPubkeyValidity instruction
* cargo fmt
2022-10-14 20:15:20 +09:00
Will Hickey
c0e4379f43
Whickey/version v1.15 ( #27739 )
...
* Bump version to v1.13.0
* Bump version to v1.14.0
* Bump version to v1.15.0
2022-09-13 09:06:15 -05:00
Alexander Meißner
12d2147efa
Adds `IndexOfAccount` type ( #27599 )
...
Adds the type `IndexOfAccount`.
2022-09-06 11:31:40 +02:00
Will Hickey
ed8c224374
Bump version to v1.12 ( #26967 )
2022-08-06 13:20:30 -05:00
github-actions[bot]
fbf1bf6d86
Bump Version to 1.11.6 ( #26906 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-08-03 12:48:43 -05:00
dependabot[bot]
cd4340ed06
chore: bump bytemuck from 1.10.0 to 1.11.0 ( #26792 )
...
* chore: bump bytemuck from 1.10.0 to 1.11.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.10.0...v1.11.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-07-26 20:50:30 -06:00
github-actions[bot]
5d038b9d2a
Bump Version to 1.11.5 ( #26758 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-25 13:05:14 -06:00
github-actions[bot]
fd5df1cf25
Bump Version to 1.11.4 ( #26578 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-11 23:30:38 -05:00
dependabot[bot]
d1370f2c7d
chore: bump bytemuck from 1.9.1 to 1.10.0 ( #26495 )
...
* chore: bump bytemuck from 1.9.1 to 1.10.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.9.1...v1.10.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-07-08 10:04:43 -06:00
github-actions[bot]
9d937fb8a0
Bump Version to 1.11.3 ( #26481 )
...
Co-authored-by: willhickey <willhickey@users.noreply.github.com>
2022-07-07 14:39:46 -05:00
github-actions[bot]
5c2f819f99
Bump Version to 1.11.2 ( #26159 )
2022-06-22 21:16:18 -05:00
Will Hickey
51f26dc96e
Bump version to 1.11.1 ( #26104 )
2022-06-21 12:07:46 -05:00
samkim-crypto
342a946204
zk-token-sdk: verify WithdrawWithheldTokens proof under the correct context ( #24923 )
2022-05-03 13:44:47 +09:00
dependabot[bot]
b101e00ffa
chore: bump bytemuck from 1.8.0 to 1.9.1 ( #24604 )
...
* chore: bump bytemuck from 1.8.0 to 1.9.1
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.8.0 to 1.9.1.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.8.0...v1.9.1 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-04-22 20:50:47 -06:00
samkim-crypto
ba92ba0e06
Zk instructions check length ( #24103 )
...
* zk-token-sdk: add a length check before decoding proof instruction
* zk-token-sdk: fix minor spelling
* zk-token-sdk: one-liner for length check
* zk-token-sdk: one-liner fix
2022-04-05 08:40:45 -04:00
Alexander Meißner
1b45c509c3
Refactor: Use `InstructionContext::get_instruction_data()` ( #24014 )
...
* Adds transaction_context and instruction_context where invoke_context.get_keyed_accounts() is used.
* Use instruction_context.get_instruction_data() instead of an explicit parameter.
* Removes instruction_data parameter from Executor::execute().
* Removes instruction_data parameter from ProcessInstructionWithContext.
2022-04-01 15:48:05 +02:00
Will Hickey
c4ecfa5716
Bump version to v1.11 ( #23807 )
...
* Revert crossbeam_epoch to stable. 0.9.8 only works with nightly
* Remove unneeded unit expression
2022-03-21 17:40:50 -05:00
Will Hickey
2f58c9e501
Bump version to 1.10.4 ( #23743 )
2022-03-17 14:02:13 -05:00
Will Hickey
63bf0f66af
Bump version to 1.10.3 ( #23648 )
2022-03-14 11:18:45 -05:00
Will Hickey
b444836a97
Bump version to 1.10.2 ( #23597 )
2022-03-10 16:41:06 -06:00
Will Hickey
1a99251498
Bump version to 1.10.1 ( #23453 )
2022-03-02 13:47:01 -06:00
dependabot[bot]
da00d29de0
chore: bump bytemuck from 1.7.3 to 1.8.0 ( #23437 )
...
* chore: bump bytemuck from 1.7.3 to 1.8.0
Bumps [bytemuck](https://github.com/Lokathor/bytemuck ) from 1.7.3 to 1.8.0.
- [Release notes](https://github.com/Lokathor/bytemuck/releases )
- [Changelog](https://github.com/Lokathor/bytemuck/blob/main/changelog.md )
- [Commits](https://github.com/Lokathor/bytemuck/compare/v1.7.3...v1.8.0 )
---
updated-dependencies:
- dependency-name: bytemuck
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
* [auto-commit] Update all Cargo lock files
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: dependabot-buildkite <dependabot-buildkite@noreply.solana.com>
2022-03-02 19:04:54 +00:00
samkim-crypto
b4100a9b5d
Add additional zkp for fee ( #23112 )
...
* zk-token-sdk: add equality proof for fee
* zk-token-sdk: tweak some naming conventions for readability
* zk-token-sdk: add verify withdraw withheld instruction
* zk-token-sdk: add test for withdraw withheld verification
* zk-token-sdk: more renaming of variables for readability
* zk-token-sdk: cargo fmt
* zk-token-sdk: minor
* zk-token-sdk: resolve bpf compilation warnings
* zk-token-sdk: minor update to doc
2022-02-17 12:45:07 -05:00
samkim-crypto
a47b76afcc
zk-token-sdk: add verify transfer with fee instruction ( #22924 )
2022-02-04 08:52:49 -05:00
Jack May
ab02dba96f
Add get_processed_sibling_instruction syscall ( #22859 )
2022-02-02 16:45:57 -08:00
Jack May
551c24da57
nit: consistent name ( #22857 )
2022-02-01 07:46:04 +00:00
Michael Vines
69e632a337
Adapt zk-token-{sdk,proof-program} for use in the monorepo
2022-01-05 08:51:18 -08:00
Michael Vines
a9b0309c1f
Update to Rust 2021 edition
2022-01-05 08:51:18 -08:00
Michael Vines
a08e3760d8
Update to Solana 1.9.1
2022-01-05 08:51:18 -08:00
Michael Vines
f2e7f0c32b
Adapt to changes to native program entrypoint
2022-01-05 08:51:18 -08:00
Michael Vines
9c88f8205b
Update to Solana 1.9.0
2022-01-05 08:51:18 -08:00
Sam Kim
d5196046dd
remove `UpdateAccountPk` instruction
2022-01-05 08:51:18 -08:00
Michael Vines
39e0c19b4b
Update to Solana 1.7.15
2022-01-05 08:51:18 -08:00
Michael Vines
11cac460aa
Consume compute units since proof verification is an expensive operation
2022-01-05 08:51:18 -08:00
Michael Vines
62b6eafd7c
Prevent proof program from being invoked as an inner instruction
2022-01-05 08:51:18 -08:00
Michael Vines
af80203522
Merge transfer instructions
2022-01-05 08:51:18 -08:00
Michael Vines
6cdb94ccc5
Rename crypto crate to sdk
2022-01-05 08:51:18 -08:00
Michael Vines
c38309791b
Update to Solana 1.7.13
2022-01-05 08:51:18 -08:00
Michael Vines
f1345c7bb3
Merge sdk/ back into crypto/
2022-01-05 08:51:18 -08:00