Skip to content

[Feat] Add xrpl chain#14

Closed
tanut32039 wants to merge 9 commits intomainfrom
add-xrpl-chain
Closed

[Feat] Add xrpl chain#14
tanut32039 wants to merge 9 commits intomainfrom
add-xrpl-chain

Conversation

@tanut32039
Copy link
Copy Markdown
Contributor

No description provided.

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds XRPL (secp256k1) support alongside existing EVM signing by introducing XRPL codecs, address derivation, and a unified server gRPC service flow with TSS message + signature verification.

Changes:

  • Add XRPL transaction decoding/encoding, XRPL address derivation, and XRPL signing endpoint (SignXrpl) with DER ECDSA signatures.
  • Introduce TSS message decoding and secp256k1 TSS signature verification used by both EVM and XRPL flows.
  • Refactor signer/public-key APIs to support compressed vs uncompressed keys and update server hooks + request schema to carry tx_message + Tss.

Reviewed changes

Copilot reviewed 28 out of 29 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
src/verifier/tss/signature.rs Adds secp256k1 TSS signature verification logic + tests.
src/verifier/tss/message/xrpl.rs Verifies XRPL tx prices match decoded TSS message prices + integration test.
src/verifier/tss/message/evm.rs Verifies EVM tx contains the expected TSS message (byte compare).
src/verifier/tss/message.rs Exposes EVM/XRPL TSS message verification modules.
src/verifier/tss.rs Exposes TSS verifier submodules.
src/verifier.rs Adds top-level verifier module export.
src/signer/signature/ecdsa.rs Adds DER signature type support implementing Signature.
src/signer/local.rs Extends local signer with DER signing + compressed/uncompressed pubkeys; updates tests.
src/signer/aws.rs Updates Signer trait implementation for new public_key(is_compressed) signature.
src/signer.rs Adds XRPL address derivation + changes signer traits to return Result and accept compression flag.
src/server/service.rs Consolidates gRPC service impl; adds SignXrpl flow and TSS verification calls.
src/server/pre_sign.rs Updates hook API to receive both tx_message and tss_message.
src/server/evm.rs Removes older EVM-only gRPC implementation (replaced by service.rs).
src/server/builder.rs Adds XRPL signer/hook wiring and TSS signature verifier injection into Server.
src/server.rs Updates Server struct fields and module layout for new service + XRPL support.
src/lib.rs Exposes new codec and verifier modules publicly.
src/commands/utils.rs Splits local signer derivation into EVM vs XRPL derivation paths (coin types 60/144).
src/commands/start.rs Initializes EVM + XRPL local signers and loads TSS public key from env.
src/commands/key.rs Updates key listing to show EVM + XRPL keys/addresses with compression control.
src/commands.rs Re-exports updated signer-loading helpers.
src/codec/xrpl.rs Adds XRPL tx deserialization + price extraction + tx re-encoding with injected fields.
src/codec/tss.rs Adds TSS message decoding (ABI) and tick-to-price conversion with tests.
src/codec/evm.rs Adds EVM tx decoding to extract embedded TSS struct from calldata with tests.
src/codec.rs Exposes codec submodules (evm/tss/xrpl).
proto/fkms/v1/signer.proto Adds SignXrpl RPC and refactors requests to carry tx_message + Tss.
README.md Updates overview/API documentation for XRPL and new RPCs/examples.
Cargo.toml Adds XRPL/TSS-related dependencies and enables k256 arithmetic features.
Cargo.lock Updates dependency graph for newly added crates and upgraded alloy versions.
.github/workflows/ci.yml Updates CI toolchain pins (stable clippy/test).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/verifier/tss/message/evm.rs Outdated
Comment thread src/verifier/tss/message/evm.rs Outdated
Comment thread src/server/builder.rs Outdated
Comment thread src/server/builder.rs Outdated
Comment thread README.md
Comment thread README.md Outdated
Comment thread src/server/builder.rs
Comment thread src/commands/start.rs Outdated
Comment thread src/signer.rs Outdated
Comment thread README.md Outdated
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 28 out of 29 changed files in this pull request and generated 13 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread proto/fkms/v1/signer.proto
Comment thread src/signer/aws.rs
Comment thread src/signer.rs
Comment thread src/codec/tss.rs
Comment thread Cargo.toml Outdated
Comment thread src/commands/utils.rs
Comment thread src/codec/xrpl.rs
Comment thread src/verifier/tss/signature.rs Outdated
Comment thread .github/workflows/ci.yml
Comment thread src/server/service.rs
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 29 out of 30 changed files in this pull request and generated 6 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/commands/utils.rs
Comment thread src/commands/start.rs
Comment thread src/server/service.rs
Comment thread src/signer.rs
Comment thread src/signer/local.rs
Comment thread src/commands/utils.rs
@RogerKSI RogerKSI requested a review from Kissadada February 23, 2026 15:18
@tanut32039 tanut32039 marked this pull request as draft February 27, 2026 10:45
@tanut32039 tanut32039 marked this pull request as ready for review March 2, 2026 03:57
@tanut32039 tanut32039 closed this Mar 2, 2026
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.

3 participants