Skip to content

Conversation

@GuidoDipietro
Copy link
Member

@GuidoDipietro GuidoDipietro commented Dec 17, 2025

Adds instructions that validate Ed25519 signatures on-chain.
Used to add Validator signatures on Intents, and Axia signature on Proposals.

Rust program modified, as well as Typescript SDK and Typescript tests.


Instructions

Mainly two instructions were added that work in a very similar fashion.
We use instruction introspection to verify that a proof was submitted with the signature verification.
This uses the Solana Ed25519Program to validate a signature.
Both add_axia_sig and add_validator_sig require an Ed25519Program preinstruction to be present, and to contain the valid data (i.e., a message related to the element being validated, and signed by an authorized pubkey).

More info on this implementation can be found in this repo which was what I based myself off for this PR.

add_axia_sig

Validates a Proposal. Only whitelisted Axia, only if final and not expired (among other checks).

add_validator_sig

Validates an Intent. Only whitelisted Validators, only if final and not expired (among other checks).

change_whitelist_program

Unimplemented, a TODO from the PR split (#41).
Will allow to change the Whitelist program that this Settler uses.


NOTE: Some files might have content from future PRs given this series of PRs come from a larger PR that was split (#41). I have tried to keep this to a minimum but bear this in mind.

@GuidoDipietro GuidoDipietro self-assigned this Dec 18, 2025
@GuidoDipietro GuidoDipietro marked this pull request as ready for review December 18, 2025 18:44
@GuidoDipietro GuidoDipietro changed the title Settler: Signatures (4) Settler: Signatures Dec 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants