anza-xyz / anza-xyz/solana-sdk

[solana-bn254] Refactor out `solana-bn254` into `solana-bn254` and `solana-bn254-syscall`

Aperta
#714 0 commenti 0 reazioni 1 assegnatario Rivendicata da @samkim-crypto Vedi su GitHub
Lingua principale
Rust
Stelle
257
Fork
250
Merge medio
2g 3h
PR unite (30g)
39

Descrizione

#### Problem

Currently, the `solana-bn254` crate contains both:
- agave runtime functions: invoked by the agave client for the bn254 curve syscalls.
- on-chain program functions: invoked by on-chain Solana programs.

This makes the crate cluttered and harder to update. The on-chain program functions need frequent updates, while the agave runtime functions need infrequent updates. Every time we update the on-chain program functions, we must cut a new version of the `solana-bn254` crate. This then requires a version bump in the agave repo, which adds the overhead of double-checking for breaking changes.

#### Proposed Solution

Refactor out the agave runtime functions into a separate crate called `solana-bn254-syscall`, which can live in the `agave/cryptography` repo. The `solana-bn254` crate in the SDK should then only contain the on-chain program functions.

cc @LStan

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.