-
Notifications
You must be signed in to change notification settings - Fork 57
Split request_signature
into separate paths that return JSON
#350
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
107 commits
Select commit
Hold shift + click to select a range
c68125d
bump version
ltitanb d9979a2
Successful cross-compilation, but runtime has memory allocation issues
jclapis 97ef653
Working with OpenSSL static-linked
jclapis 91eefe2
Got dynamic linking working, added a feature flag to toggle dynamic v…
jclapis de09415
Fixed the vendored build arg
jclapis 3aee63d
Reintroduced the cargo chef setup
jclapis c07c717
Ported the cross-compilation stuff into PBS
jclapis 699b7ec
Split the dockerfiles into separate builder / image definitions
jclapis 7165f12
Added a build guide
jclapis 9438dae
Refactored the Github release action to use the Docker builder
jclapis 12c020a
Fixed the Docker image binary filenames
jclapis 53cafc0
Cleaned up the Darwin artifact step
jclapis 58c6117
Made the CI workflow and justfile use the same toolchain as the source
jclapis 45e581b
Revert "Made the CI workflow and justfile use the same toolchain as t…
jclapis 24a10c5
Testing removal of OpenSSL vendored option
jclapis e36da54
Updating just in the CI workflow
jclapis 843b110
Merge branch 'main' into cross-compile
jclapis e7c6d19
Refactored the signer to support host and port config settings
jclapis 6117219
Updated docs
jclapis c0f591d
Fixing Clippy in CI workflow
jclapis adbd34a
Removed obviated CI setup
jclapis e3488b3
Minor dedup of RwLock guard acquisition
jclapis c3d7ec4
Added rate limiting for signer clients with repeated JWT auth failures
jclapis 9ddad64
Added Signer config validation
jclapis c62185e
Started unit test setup for the Signer
jclapis dc73c62
Finished a basic signer module unit test
jclapis 6c3d967
Added a JWT failure unit test
jclapis 6464638
Added a rate limit test and cleaned up a bit
jclapis 0313f18
Added unique ports to unit tests for parallel execution
jclapis 346eea4
Cleaned up the build Dockerfile and removed an extra dependency layer
jclapis 7b20d2f
Ported the build script over to the justfile
jclapis cf3f0b1
Merge branch 'main' into cross-compile
jclapis ca9f4a1
Added a justfile recipe for installing protoc
jclapis 3eed526
Merge branch 'cross-compile' into add-ip-bind-to-signer
jclapis aa6ad96
Merge branch 'add-ip-bind-to-signer' into rate-limit-jwt
jclapis fc872ac
Merge branch 'main' into add-ip-bind-to-signer
jclapis ca0c6e8
Merge branch 'add-ip-bind-to-signer' into rate-limit-jwt
jclapis 40d34aa
Merge branch 'main' into add-ip-bind-to-signer
jclapis d537288
Update crates/cli/src/docker_init.rs
jclapis 7afb763
Added example signer config params
jclapis 09ac821
Cleaned up signer config loading from feedback
jclapis cf39d86
Merge remote-tracking branch 'origin/add-ip-bind-to-signer' into add-…
jclapis 2431937
Merge branch 'add-ip-bind-to-signer' into rate-limit-jwt
jclapis 2e1198b
Merge branch 'main' into rate-limit-jwt
jclapis ccaf97d
Added JWT auth fields to the example config
jclapis 145ebe8
Started building the JWT config file
jclapis bb0e023
Added tests
jclapis 71a7605
Started migration from JWTS_ENV to the config file
jclapis 615774e
Signing requests now uses the module's signing ID
jclapis af6076d
Finished added signing ID support and a quick test
jclapis cc13a6f
Fixed some example config parameters
jclapis 488547a
Added a test to ensure modules can't create the same sigs
jclapis ef3d8f2
Merge branch 'rate-limit-jwt' into prevent-cross-module-sigs
jclapis 6fd4327
Made the jwt_config_file optional
jclapis d9ef82f
Started working on docs
jclapis 83db727
Redid implementation with the original JWTS env var
jclapis 8d08c11
Started the signer doc
jclapis 64b49f2
Overhauled the signing_id setup to be directly in the signed struct
jclapis 8b65b1e
Made proposer commitments nested Merkle trees to allow Dirk support
jclapis 9967033
Added the signer request guide
jclapis adb1cb8
Added quotes to some HTML
jclapis 1c3a07d
Added some simple JWT secret info
jclapis daf3147
Adding a closing tag
jclapis fa36a34
Merge branch 'main' into prevent-cross-module-sigs
jclapis 0fd8480
Started refactoring the signer API
jclapis d5641df
Added prop commit signature verification helpers for modules to use
jclapis 5da31bf
Fixed some params in da_commit
jclapis bfd72c5
Merge branch 'main' into prevent-cross-module-sigs
jclapis 1a0efec
Cleaned load_module_signing_configs a bit
jclapis ee282da
Fixed some docs language
jclapis 133447d
Refactored into compute_prop_commit_signing_root
jclapis 9f72aff
Merge branch 'main' into prevent-cross-module-sigs
jclapis 509dba8
Signing IDs are no longer optional in the config
jclapis 2c507d7
Refactored some of the signer consts for consistency
jclapis d1ad9c9
Merge branch 'refactor-signer-consts' into prevent-cross-module-sigs
jclapis 58f2ad7
Merge branch 'prevent-cross-module-sigs' into signer-json-api
jclapis ff716a0
Updated the Signer API docs
jclapis c6565ed
Merged sigp-audit-fixes
jclapis 472fcf7
sync rwlock fix (#349)
ltitanb 50b7ce8
Minor fixes
jclapis 281b03c
Merge branch 'update-cbst2-02' into signer-json-api
jclapis ec300dc
Signing requests return JSON now
jclapis 7939b24
Updated the signer OpenAPI spec
jclapis d993a8a
Updated da_commit
jclapis bd91972
Merge branch 'sigp-audit-fixes' into update-cbst2-02
jclapis 688d82d
Cleaned up an unwrap()
jclapis d4a7eb2
Merge branch 'update-cbst2-02' into signer-json-api
jclapis de61066
Merge sigp-audit-fixes (#348)
jclapis db08d77
Merge branch 'sigp-audit-fixes' into prevent-cross-module-sigs
jclapis ce29c3a
Move from [u8; 32] to B256 everywhere (#347)
jclapis b837e44
Merge branch 'sigp-audit-fixes' into prevent-cross-module-sigs
jclapis e0fa6cb
Merge branch 'prevent-cross-module-sigs' into signer-json-api
jclapis 874e07d
Cleaned up some hashmap usage
jclapis 3ad11a8
Removed compute_tree_hash_root()
jclapis a75605e
Some minor cleanup
jclapis d091a90
Fixed some docs
jclapis 7649971
Merge branch 'prevent-cross-module-sigs' into signer-json-api
jclapis 0313cc2
Merge branch 'sigp-audit-fixes' into prevent-cross-module-sigs
jclapis 2e746ce
Merge branch 'prevent-cross-module-sigs' into signer-json-api
jclapis 358b3cb
Merge branch 'sigp-audit-fixes' into prevent-cross-module-sigs
jclapis bee0de5
Merge branch 'prevent-cross-module-sigs' into signer-json-api
jclapis 53888a1
Removed extraneous Display() impls
jclapis 228cbec
Cleaned up the signature request handlers
jclapis a306f23
Consolidated similar bodies for signing handlers
jclapis dc90028
Merge branch 'sigp-audit-fixes' into signer-json-api
jclapis dfbdcc4
Fixed a proxy signing bug
jclapis c36466b
Updated Grafana with the new Signer routes
jclapis File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,3 +2,4 @@ pub mod client; | |
pub mod constants; | ||
pub mod error; | ||
pub mod request; | ||
pub mod response; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
use alloy::{ | ||
primitives::{Address, B256}, | ||
rpc::types::beacon::BlsSignature, | ||
}; | ||
use serde::{Deserialize, Serialize}; | ||
|
||
use crate::signer::{BlsPublicKey, EcdsaSignature}; | ||
|
||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] | ||
pub struct BlsSignResponse { | ||
pub pubkey: BlsPublicKey, | ||
pub object_root: B256, | ||
pub module_signing_id: B256, | ||
pub signature: BlsSignature, | ||
} | ||
|
||
impl BlsSignResponse { | ||
pub fn new( | ||
pubkey: BlsPublicKey, | ||
object_root: B256, | ||
module_signing_id: B256, | ||
signature: BlsSignature, | ||
) -> Self { | ||
Self { pubkey, object_root, module_signing_id, signature } | ||
} | ||
} | ||
|
||
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] | ||
pub struct EcdsaSignResponse { | ||
pub address: Address, | ||
pub object_root: B256, | ||
pub module_signing_id: B256, | ||
pub signature: EcdsaSignature, | ||
} | ||
|
||
impl EcdsaSignResponse { | ||
pub fn new( | ||
address: Address, | ||
object_root: B256, | ||
module_signing_id: B256, | ||
signature: EcdsaSignature, | ||
) -> Self { | ||
Self { address, object_root, module_signing_id, signature } | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
pub const GET_PUBKEYS_ENDPOINT_TAG: &str = "get_pubkeys"; | ||
pub const GENERATE_PROXY_KEY_ENDPOINT_TAG: &str = "generate_proxy_key"; | ||
pub const REQUEST_SIGNATURE_ENDPOINT_TAG: &str = "request_signature"; | ||
pub const REQUEST_SIGNATURE_BLS_ENDPOINT_TAG: &str = "request_signature_bls"; | ||
pub const REQUEST_SIGNATURE_PROXY_BLS_ENDPOINT_TAG: &str = "request_signature_proxy_bls"; | ||
pub const REQUEST_SIGNATURE_PROXY_ECDSA_ENDPOINT_TAG: &str = "request_signature_proxy_ecdsa"; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.