v0.1.0-pre.012

This commit is contained in:
2026-07-24 15:59:00 +02:00
parent 60660ca555
commit e753a80c3a
179 changed files with 5653 additions and 10813 deletions

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/aldrin_v1.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v1`.
//! Reserved protocol decoder for `amm_aldrin_v1`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ALDRIN_V1_LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v1";
/// Reserved decoder for the `amm_aldrin_v1` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmAldrinV1Decoder;
/// Current porting status.
pub(crate) const DC_AMM_ALDRIN_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmAldrinV1Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_aldrin_v1";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALDRIN_V1_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/aldrin_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_aldrin_v2`.
//! Reserved protocol decoder for `amm_aldrin_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ALDRIN_V2_LEGACY_CRATE: &str = "kb_decoder_amm_aldrin_v2";
/// Reserved decoder for the `amm_aldrin_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmAldrinV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_ALDRIN_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmAldrinV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_aldrin_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALDRIN_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/alphaq.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_alphaq`.
//! Reserved protocol decoder for `amm_alphaq`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ALPHAQ_LEGACY_CRATE: &str = "kb_decoder_amm_alphaq";
/// Reserved decoder for the `amm_alphaq` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmAlphaqDecoder;
/// Current porting status.
pub(crate) const DC_AMM_ALPHAQ_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmAlphaqDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_alphaq";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ALPHAQ_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/believe.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_believe`.
//! Reserved protocol decoder for `amm_believe`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_BELIEVE_LEGACY_CRATE: &str = "kb_decoder_amm_believe";
/// Reserved decoder for the `amm_believe` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmBelieveDecoder;
/// Current porting status.
pub(crate) const DC_AMM_BELIEVE_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmBelieveDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_believe";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_BELIEVE_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/bonk_swap.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_bonk_swap`.
//! Reserved protocol decoder for `amm_bonk_swap`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_BONK_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_bonk_swap";
/// Reserved decoder for the `amm_bonk_swap` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmBonkSwapDecoder;
/// Current porting status.
pub(crate) const DC_AMM_BONK_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmBonkSwapDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_bonk_swap";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_BONK_SWAP_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/fluxbeam.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_fluxbeam`.
//! Reserved protocol decoder for `amm_fluxbeam`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_FLUXBEAM_LEGACY_CRATE: &str = "kb_decoder_amm_fluxbeam";
/// Reserved decoder for the `amm_fluxbeam` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmFluxbeamDecoder;
/// Current porting status.
pub(crate) const DC_AMM_FLUXBEAM_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmFluxbeamDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_fluxbeam";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_FLUXBEAM_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/goon_fi.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_goon_fi`.
//! Reserved protocol decoder for `amm_goon_fi`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_GOON_FI_LEGACY_CRATE: &str = "kb_decoder_amm_goon_fi";
/// Reserved decoder for the `amm_goon_fi` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmGoonFiDecoder;
/// Current porting status.
pub(crate) const DC_AMM_GOON_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmGoonFiDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_goon_fi";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOON_FI_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/goosefx_gamma.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_goosefx_gamma`.
//! Reserved protocol decoder for `amm_goosefx_gamma`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_GOOSEFX_GAMMA_LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_gamma";
/// Reserved decoder for the `amm_goosefx_gamma` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmGoosefxGammaDecoder;
/// Current porting status.
pub(crate) const DC_AMM_GOOSEFX_GAMMA_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmGoosefxGammaDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_goosefx_gamma";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOOSEFX_GAMMA_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/goosefx_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_goosefx_v2`.
//! Reserved protocol decoder for `amm_goosefx_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_GOOSEFX_V2_LEGACY_CRATE: &str = "kb_decoder_amm_goosefx_v2";
/// Reserved decoder for the `amm_goosefx_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmGoosefxV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_GOOSEFX_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmGoosefxV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_goosefx_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GOOSEFX_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/guac_swap.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_guac_swap`.
//! Reserved protocol decoder for `amm_guac_swap`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_GUAC_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_guac_swap";
/// Reserved decoder for the `amm_guac_swap` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmGuacSwapDecoder;
/// Current porting status.
pub(crate) const DC_AMM_GUAC_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmGuacSwapDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_guac_swap";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_GUAC_SWAP_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/lifinity_swap_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_lifinity_swap_v2`.
//! Reserved protocol decoder for `amm_lifinity_swap_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_LIFINITY_SWAP_V2_LEGACY_CRATE: &str = "kb_decoder_amm_lifinity_swap_v2";
/// Reserved decoder for the `amm_lifinity_swap_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmLifinitySwapV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_LIFINITY_SWAP_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmLifinitySwapV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_lifinity_swap_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_LIFINITY_SWAP_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,12 +1,39 @@
// file: kb-lib/src/decoder/amm/metadao_futarchy_amm.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_metadao_futarchy_amm`.
//! Reserved protocol decoder for `amm_metadao_futarchy_amm`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_METADAO_FUTARCHY_AMM_LEGACY_CRATE: &str =
"kb_decoder_amm_metadao_futarchy_amm";
/// Reserved decoder for the `amm_metadao_futarchy_amm` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmMetadaoFutarchyAmmDecoder;
/// Current porting status.
pub(crate) const DC_AMM_METADAO_FUTARCHY_AMM_MIGRATION_STATUS: &str =
"source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmMetadaoFutarchyAmmDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_metadao_futarchy_amm";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METADAO_FUTARCHY_AMM_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/metadao_v0_5.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_metadao_v0_5`.
//! Reserved protocol decoder for `amm_metadao_v0_5`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_METADAO_V0_5_LEGACY_CRATE: &str = "kb_decoder_amm_metadao_v0_5";
/// Reserved decoder for the `amm_metadao_v0_5` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmMetadaoV05Decoder;
/// Current porting status.
pub(crate) const DC_AMM_METADAO_V0_5_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmMetadaoV05Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_metadao_v0_5";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METADAO_V0_5_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/meteora_damm_v1.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v1`.
//! Reserved protocol decoder for `amm_meteora_damm_v1`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_METEORA_DAMM_V1_LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v1";
/// Reserved decoder for the `amm_meteora_damm_v1` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmMeteoraDammV1Decoder;
/// Current porting status.
pub(crate) const DC_AMM_METEORA_DAMM_V1_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmMeteoraDammV1Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_meteora_damm_v1";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METEORA_DAMM_V1_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/meteora_damm_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_meteora_damm_v2`.
//! Reserved protocol decoder for `amm_meteora_damm_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_METEORA_DAMM_V2_LEGACY_CRATE: &str = "kb_decoder_amm_meteora_damm_v2";
/// Reserved decoder for the `amm_meteora_damm_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmMeteoraDammV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_METEORA_DAMM_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmMeteoraDammV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_meteora_damm_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_METEORA_DAMM_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/obric_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_obric_v2`.
//! Reserved protocol decoder for `amm_obric_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_OBRIC_V2_LEGACY_CRATE: &str = "kb_decoder_amm_obric_v2";
/// Reserved decoder for the `amm_obric_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmObricV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_OBRIC_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmObricV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_obric_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_OBRIC_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/one_dex.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_one_dex`.
//! Reserved protocol decoder for `amm_one_dex`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ONE_DEX_LEGACY_CRATE: &str = "kb_decoder_amm_one_dex";
/// Reserved decoder for the `amm_one_dex` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmOneDexDecoder;
/// Current porting status.
pub(crate) const DC_AMM_ONE_DEX_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmOneDexDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_one_dex";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ONE_DEX_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/pump_swap.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_pump_swap`.
//! Reserved protocol decoder for `amm_pump_swap`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_PUMP_SWAP_LEGACY_CRATE: &str = "kb_decoder_amm_pump_swap";
/// Reserved decoder for the `amm_pump_swap` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmPumpSwapDecoder;
/// Current porting status.
pub(crate) const DC_AMM_PUMP_SWAP_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmPumpSwapDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_pump_swap";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_PUMP_SWAP_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/raydium_lp_v4.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_raydium_lp_v4`.
//! Reserved protocol decoder for `amm_raydium_lp_v4`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_RAYDIUM_LP_V4_LEGACY_CRATE: &str = "kb_decoder_amm_raydium_lp_v4";
/// Reserved decoder for the `amm_raydium_lp_v4` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmRaydiumLpV4Decoder;
/// Current porting status.
pub(crate) const DC_AMM_RAYDIUM_LP_V4_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmRaydiumLpV4Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_raydium_lp_v4";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_RAYDIUM_LP_V4_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/solfi.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_solfi`.
//! Reserved protocol decoder for `amm_solfi`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_SOLFI_LEGACY_CRATE: &str = "kb_decoder_amm_solfi";
/// Reserved decoder for the `amm_solfi` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmSolfiDecoder;
/// Current porting status.
pub(crate) const DC_AMM_SOLFI_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmSolfiDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_solfi";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_SOLFI_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/solfi_v2.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_solfi_v2`.
//! Reserved protocol decoder for `amm_solfi_v2`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_SOLFI_V2_LEGACY_CRATE: &str = "kb_decoder_amm_solfi_v2";
/// Reserved decoder for the `amm_solfi_v2` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmSolfiV2Decoder;
/// Current porting status.
pub(crate) const DC_AMM_SOLFI_V2_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmSolfiV2Decoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_solfi_v2";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_SOLFI_V2_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/vertigo.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_vertigo`.
//! Reserved protocol decoder for `amm_vertigo`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_VERTIGO_LEGACY_CRATE: &str = "kb_decoder_amm_vertigo";
/// Reserved decoder for the `amm_vertigo` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmVertigoDecoder;
/// Current porting status.
pub(crate) const DC_AMM_VERTIGO_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmVertigoDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_vertigo";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_VERTIGO_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/virtuals.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_virtuals`.
//! Reserved protocol decoder for `amm_virtuals`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_VIRTUALS_LEGACY_CRATE: &str = "kb_decoder_amm_virtuals";
/// Reserved decoder for the `amm_virtuals` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmVirtualsDecoder;
/// Current porting status.
pub(crate) const DC_AMM_VIRTUALS_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmVirtualsDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_virtuals";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_VIRTUALS_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/woofi.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_woofi`.
//! Reserved protocol decoder for `amm_woofi`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_WOOFI_LEGACY_CRATE: &str = "kb_decoder_amm_woofi";
/// Reserved decoder for the `amm_woofi` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmWoofiDecoder;
/// Current porting status.
pub(crate) const DC_AMM_WOOFI_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmWoofiDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_woofi";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_WOOFI_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/zero_fi.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_zero_fi`.
//! Reserved protocol decoder for `amm_zero_fi`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ZERO_FI_LEGACY_CRATE: &str = "kb_decoder_amm_zero_fi";
/// Reserved decoder for the `amm_zero_fi` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmZeroFiDecoder;
/// Current porting status.
pub(crate) const DC_AMM_ZERO_FI_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmZeroFiDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_zero_fi";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ZERO_FI_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}

View File

@@ -1,10 +1,39 @@
// file: kb-lib/src/decoder/amm/zora.rs
// version: 2
// version: 3
//! Migration boundary for legacy crate `kb_decoder_amm_zora`.
//! Reserved protocol decoder for `amm_zora`.
/// Legacy crate name retained for migration and compatibility tracking.
pub(crate) const DC_AMM_ZORA_LEGACY_CRATE: &str = "kb_decoder_amm_zora";
/// Reserved decoder for the `amm_zora` program surface.
#[derive(Clone, Debug, Default)]
pub struct DcAmmZoraDecoder;
/// Current porting status.
pub(crate) const DC_AMM_ZORA_MIGRATION_STATUS: &str = "source-preserved-pending-port";
impl crate::DcApiProtocolDecoder for crate::DcAmmZoraDecoder {
fn decoder_name(&self) -> &'static str {
return "kb_decoder_amm_zora";
}
fn decoder_version(&self) -> &'static str {
return env!("CARGO_PKG_VERSION");
}
fn program_ids(&self) -> &'static [&'static str] {
return &[kb_program_ids::AMM_ZORA_PROGRAM_ID];
}
fn supports_observation(
&self,
observation: &crate::MdProgramObservation,
) -> crate::DcApiDecoderSupport {
if crate::DcApiProtocolDecoder::handles_program_id(self, &observation.program_id) {
return crate::DcApiDecoderSupport::Maybe;
}
return crate::DcApiDecoderSupport::No;
}
fn decode_observation(
&self,
_observation: &crate::MdProgramObservation,
) -> kb_core::Result<std::vec::Vec<crate::MdDecodedProtocolEvent>> {
return std::result::Result::Ok(std::vec::Vec::new());
}
}