anza-xyz / anza-xyz/solana-sdk
[solana-bn254] Refactor out `solana-bn254` into `solana-bn254` and `solana-bn254-syscall`
- Linguagem predominante
- Rust
- Estrelas
- 256
- Forks
- 250
- Merge médio
- 2d 3h
- PRs com merge (30d)
- 39
Descrição
#### 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
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Avaliação
Esta issue ainda não foi avaliada.