Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions decoders/meteora-dlmm-decoder/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,5 @@ serde-big-array = { workspace = true }
solana-account = { workspace = true }
solana-instruction = { workspace = true, default-features = false }
solana-pubkey = { workspace = true }
solana-sdk = { workspace = true }
carbon-test-utils = { workspace = true }
675 changes: 675 additions & 0 deletions decoders/meteora-dlmm-decoder/src/accounts/mod.rs

Large diffs are not rendered by default.

3,066 changes: 3,066 additions & 0 deletions decoders/meteora-dlmm-decoder/src/instructions/mod.rs

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ pub struct UpdateFeeParameters {
pub fee_parameter: FeeParameter,
}

#[derive(Debug, PartialEq)]
pub struct UpdateFeeParametersInstructionAccounts {
pub lb_pair: solana_pubkey::Pubkey,
pub admin: solana_pubkey::Pubkey,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ pub struct InitPermissionPairIx {
pub bin_step: u16,
pub base_factor: u16,
pub base_fee_power_factor: u8,
pub lock_duration: u64,
pub activation_type: u8,
pub protocol_share: u16,
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
use carbon_core::{borsh, CarbonDeserialize};

#[derive(
CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash,
CarbonDeserialize, Debug, serde::Serialize, serde::Deserialize, PartialEq, Eq, Clone, Hash, Copy,
)]
pub struct UserRewardInfo {
pub reward_per_token_completes: [u128; 2],
Expand Down
56 changes: 56 additions & 0 deletions decoders/meteora-dlmm-decoder/tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Meteora DLMM Decoder Tests

## Instructions
- [InitializeLbPair](https://solscan.io/tx/56zeqRP2pjAHPbub9ayteMy3PWunbaQCWbHrYULiQnhq1GvPe6njTyYyaqQupgNA9NYWBtDYFwos6hxJLVmLXw3U)
- [InitializePermissionLbPair](https://solscan.io/tx/2xvpA7ugRVTsgQrPEw1RVHWY4r25QdwqdCS1QhJayQe2bx6gNM2mH4W7TRKM5s3sj1HwpDh2F462LXC8G2nzBasE)
- [InitializeCustomizablePermissionlessLbPair](https://solscan.io/tx/4JrJ42JvBJ25HbfvcV5mmcs3yssw1yan5uVsnm3fXkQPBcmmCyHehgHxFtk997pqBLVJk7DPD7nqUnYaJ8oD7Zbc)
- [InitializeBinArrayBitmapExtension](https://solscan.io/tx/2b4xwjdYGZ51rKJEyNwKuExXVvHYQgsdfuT1BfHicN3dUfnCJsmAqMQk35Y4UqdvVsDCeiHaiMUzdcU4xSWwwboV)
- [InitializeBinArray](https://solscan.io/tx/2n5bjg2rMaTMJroCaYuKYLRoKMd2nbrhAhSRcVKWZ5ST21SjGXRbgMN8FGQnu43n9eKnRsvrCfhTBdmHioUYQRYx)
- [AddLiquidity](https://solscan.io/tx/3AGve6b9pcS7kccSDqXA1FJEhPSoLuSo7r5aW446JmMFArZyEZNxFgtyWTvhBwt1vyGQdtNgHxPZ9rgx2pAPTowB)
- [AddLiquidityByWeight](https://solscan.io/tx/51U5NMj4gQgtp6AEiEQTfGi37EJob7uYDP6rLN6W1eY4traNA5dXnQy59rBZEN1b2uCgA2wpKZwK9wXaA6AZ44fb)
- [AddLiquidityByStrategy](https://solscan.io/tx/DFHN5c4XkxPKmuu3MaBdwhqavQp2qW4yUVp8LkWVYp2ATGHiSqPAiZPahYndjyEac36Q22VrK95DqSFKNTM9zJd)
- [AddLiquidityByStrategyOneSide](https://solscan.io/tx/3FWcxKDr9PwzJaCHBKHeRqocTcpzVtrPnCZvaXZseS55KLDHr1tfnb9PCSFDCjXcsDnSACgsLhPKgrA5sELuKh6W)
- [AddLiquidityOneSide](https://solscan.io/tx/2nsGZ7eTP1kPWhgX8sb6Pk6sUagN8QiPt2aWTFJmzFriuWKKDSF6QZGHZ5kgByzeeoC1HrmZUVD9s62HuyLBvgpP)
- [RemoveLiquidity](https://solscan.io/tx/3GaCC8hX8yaQsMsj3q4X4ZVjjpGZdgBSg154ZaCxWKcwKxzeW3LA7naat4qjXVgiethiL5ahXY55jDSgsqwGbEmu)
- [InitializePosition](https://solscan.io/tx/zrqVY1PNvqnPDfAnVAtKM7iiHs6sn6RogmhUzR6tH2bCZojsR4mRKMM76Azy7rkcEEMHfzdznoLhybkDkbnSPn3)
- [InitializePositionPda](https://solscan.io/tx/3TQrSnFEAXcYPW7eeM1S6h5jKSHrfZkVSN7rBJENRzUxfhRamdhjbWpLoTRFkaA2FzaTLBUGcz2Hq2tWtSbZ1z5T)
- [InitializePositionByOperator](https://solscan.io/tx/3AGve6b9pcS7kccSDqXA1FJEhPSoLuSo7r5aW446JmMFArZyEZNxFgtyWTvhBwt1vyGQdtNgHxPZ9rgx2pAPTowB)
- [UpdatePositionOperator](https://solscan.io/tx/3AGve6b9pcS7kccSDqXA1FJEhPSoLuSo7r5aW446JmMFArZyEZNxFgtyWTvhBwt1vyGQdtNgHxPZ9rgx2pAPTowB)
- [Swap](https://solscan.io/tx/2E2EFSrAoFY31Edy4N3Mh7o17BWorp4kfQb7qWwVoy4BYm3j8HX2r1b4MY8XePuWUyAFnHtkQz7Kpmsj7jusikeE)
- [SwapExactOut](https://solscan.io/tx/29eNrCgFWvZ8TUwxD4ybRtWmE9QDnafz8w7G27gLECgFpo2wQ8sM6TyDNhHnsTz8umJaJqh2hJVQA4im5Lk54eLh)
- [SwapWithPriceImpact](https://solscan.io/tx/29FKUpybWHn3JUUC2soPqN8SNDKT4VeJZ7HLmpMwWkFavUkkEoVBNVqJUXvXPs1HcJza63P1aDECKJ5WZWwz23cS)
- [InitializeReward](https://solscan.io/tx/4PPQZ3WGygM2rSzNppn8UaGASoQJrpmtcoB6Aqa77X8EcvXMVYi6VwQ7HKvN7yqqaMTYbkAbnfZ4fa5xaTzSvs7f)
- [FundReward](https://solscan.io/tx/5yeyRkoLnshKGqPDoAmV71tEPwLThtfUSwYc5vFMaRMdjWo3upv3ErDtdYShQb9AbAWWKBxsh6qcF3KWtPBDqDyf)
- [ClaimReward](https://solscan.io/tx/47De6LKmvLXnyF1LsbFenYGbbRPzsyXhrdiaMHyQUE6r8o1jJt9YGXJF9S11FWmSRHr5Tz1YVLwhxxiUNAG6RMTa)
- [ClaimFee](https://solscan.io/tx/3oYQxHQFimNBmXoFe2kqoKLvEPWJhNbmSGMuyXJPZ6XviB2jeTfhtNUd16u7CCikNL5v1jfwkdh5GtA969tNQKrY)
- [ClosePosition](https://solscan.io/tx/2yGLHktGYho1rQ4eiVvtAEfmfXJdMjPoLdaixjg4RvHp2LB9bFn1ZN2A16bibUQkSNgwyQGucRSZxTtGWDNEb2KD)
- [UpdateFeeParameters](https://solscan.io/tx/2rmygSGvJeQwnmHGpsdKgyP53u7VV22d8evSiUTnhWB7rT4CdPkWgopCd2YY9T9w5SZMuwJGvyDdPor4gKGwBMXa)
- [InitializePresetParameter](https://solscan.io/tx/LjA5JwULSyvzxYa1Z4qAXQFCRQXMrafB64RTQ5NEKxu1a2CaVPBwWhtkGoydGuRXBYzGURbHVTgXnt15ewoEVvq)
- [ClosePresetParameter](https://solscan.io/tx/LjA5JwULSyvzxYa1Z4qAXQFCRQXMrafB64RTQ5NEKxu1a2CaVPBwWhtkGoydGuRXBYzGURbHVTgXnt15ewoEVvq)
- [RemoveAllLiquidity](https://solscan.io/tx/45DLXSXVcogvrURaYa3rM5htZTh3VUGeHNsJ1AsmZH7NXtDBkbrNy58AyibkzLxLLoAeKY78xeyPUshjYPW3QEV6)
- [MigratePosition](https://solscan.io/tx/3B61kxDTC2a5rwW6CCVu83tQb8G6MLRBumeLEUFLCW264NgCEUefSpG5dEbWptC8W7BqM3HCsNbmLFHjoTVFMz11)
- [UpdateFeesAndRewards](https://solscan.io/tx/3hkBmxRpiomnQDu34YRBd5AYTQCrzjaB6aeVDLkSoNQLFUtAANGZvckFG1vyCD7GN7mcWe6NonEXtD9M6YUJCjnE)
- [RemoveLiquidityByRange](https://solscan.io/tx/hmd7WZ2wnDYA4yWJLYD1URk3UQu5q18Ln7nR3QcXN7zSXuZPrv5QFgE5Jz9rsxgsi2dTu4yAPtdUKQGYLLvyqAB)
- [AddLiquidityOneSidePrecise](https://solscan.io/tx/39URMKxPHuZyNQdDxTtxE2A5SHmEmcMDGM8Ee2dXtaR7btLqUMsXhJWRuLopN5rC9x1gd5VbcfeGUY11H1M9a3oe)
- [GoToABin](https://solscan.io/tx/31VhsCV7ki9K97BWupQC4YkLsBgbuEvXvKMgL3fQY5aCTjXGTxktGJZtoC37zSLc4Lt3tHKsbdpAGr7BVXr6mJrz)
- [UpdateRewardFunderEvent]()
- [PositionCloseEvent]()
- [ClaimFeeEvent]()
- [LbPairCreateEvent]()
- [PositionCreateEvent]()
- [FeeParameterUpdateEvent]()
- [IncreaseObservationEvent]()
- [WithdrawIneligibleRewardEvent]()
- [UpdatePositionOperatorEvent]()
- [UpdatePositionLockReleasePointEvent]()
- [GoToABinEvent]()

## Accounts

- [LbPair](https://solscan.io/account/7wR3Zy7ywZiPu9DiP7hqbGi3gPQUdGs8Yy5LK5pkFmCh)
- [Position](https://solscan.io/account/12589PP9fRE5Ve7CPE1ABfFHJPFa6BtTQ85yvN7Xxega)
- [PresetParameter](https://solscan.io/account/F37fb46nFwBTK5Q5upDWjfkZetRyV7dqeUP9LfSvhi6c)
- [BinArrayBitmapExtension]()
- [BinArray]()
- [Oracle]()
- [PositionV2]()
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"accounts": [
{
"pubkey": "41FpGiwCcRr3qczHts3zqYuZERjddZ2dZDoLvhKzhaKJ",
"is_signer": true,
"is_writable": true,
"label": "position"
},
{
"pubkey": "2bYjEuupzFtBwgQuzSDkpnCFX9A2iBK6oL9JA3wXwbsa",
"is_signer": false,
"is_writable": true,
"label": "lbPair"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "binArrayBitmapExtension"
},
{
"pubkey": "8d13MHH2DWZfkburgMQ5v9FGgifmK6ejgZM1jJzEVT7n",
"is_signer": false,
"is_writable": true,
"label": "userTokenX"
},
{
"pubkey": "3nVErWE28y5mU6WFPpbhUm7jqmDTrAiA4hN6vuXGUMuP",
"is_signer": false,
"is_writable": true,
"label": "userTokenY"
},
{
"pubkey": "G7AsqVKQ7yW7z2VZmk3FCMCyAqdgRq28aPnAWicGuc2b",
"is_signer": false,
"is_writable": true,
"label": "reserveX"
},
{
"pubkey": "9hPJ6E7hXEQ5UTPC7SKK6D5mDQKTdZ87uQtG5DDaYrLB",
"is_signer": false,
"is_writable": true,
"label": "reserveY"
},
{
"pubkey": "7XAyfFUXfCWbA1x6jCHVzeFtoKN3x836Pp5zQyhqpump",
"is_signer": false,
"is_writable": false,
"label": "tokenXMint"
},
{
"pubkey": "So11111111111111111111111111111111111111112",
"is_signer": false,
"is_writable": false,
"label": "tokenYMint"
},
{
"pubkey": "F5GxuK8c9Z7JnwBhKbjFbbLgTB9N2RvMXpZbGUVxU74c",
"is_signer": false,
"is_writable": true,
"label": "binArrayLower"
},
{
"pubkey": "AambQn5DuPVWquMrQdhhYeAdM7X6eG2GDc35ek7HwZzB",
"is_signer": false,
"is_writable": true,
"label": "binArrayUpper"
},
{
"pubkey": "5h5fDq1A17dKpFQEjkNfYYaJd7CAzymUchjfPZ4Dh8pa",
"is_signer": true,
"is_writable": true,
"label": "sender"
},
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"is_signer": false,
"is_writable": false,
"label": "tokenXProgram"
},
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"is_signer": false,
"is_writable": false,
"label": "tokenYProgram"
},
{
"pubkey": "D1ZN9Wj1fRSUQfCjhvnu1hqDMT7hzjzBBpi12nVniYD6",
"is_signer": false,
"is_writable": false,
"label": "eventAuthority"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "program"
}
],
"data": "0703967f94283dc800000000000000004005e5020500000027fdffff1027000026fdffff26fdffff0300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"program_id": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
{
"accounts": [
{
"pubkey": "AFJHGqyNai5kYaenM8FnR4bxdacScQHAyeu3NMeMjvuC",
"is_signer": true,
"is_writable": true,
"label": "position"
},
{
"pubkey": "BGm1tav58oGcsQJehL9WXBFXF7D27vZsKefj4xJKD5Y",
"is_signer": false,
"is_writable": true,
"label": "lbPair"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "binArrayBitmapExtension"
},
{
"pubkey": "HVS8WdPqAia9cEbxqGpXDbgJCgFa57Ufhcfnz4UKwUc",
"is_signer": false,
"is_writable": true,
"label": "userToken"
},
{
"pubkey": "4N22J4vW2juHocTntJNmXywSonYjkndCwahjZ2cYLDgb",
"is_signer": false,
"is_writable": true,
"label": "reserve"
},
{
"pubkey": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"is_signer": false,
"is_writable": false,
"label": "tokenMint"
},
{
"pubkey": "FE6nEninSdoZqVKXDUEa6NtsYfkL13uPB846FpRCF1WZ",
"is_signer": false,
"is_writable": true,
"label": "binArrayLower"
},
{
"pubkey": "9o3pWJhKowpQukQTP5d3xwrGdUZtR5wmKGJwBiMbqGoM",
"is_signer": false,
"is_writable": true,
"label": "binArrayUpper"
},
{
"pubkey": "FSM4tqYAWuv5Tvw2wF75AwkmijTjMCD6njYkPzq7m6Cz",
"is_signer": true,
"is_writable": true,
"label": "sender"
},
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"is_signer": false,
"is_writable": false,
"label": "tokenProgram"
},
{
"pubkey": "D1ZN9Wj1fRSUQfCjhvnu1hqDMT7hzjzBBpi12nVniYD6",
"is_signer": false,
"is_writable": false,
"label": "eventAuthority"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "program"
}
],
"data": "2905eeaf64e106cd00412a4202000000f5f7ffff03000000ccf7fffff4f7ffff0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"program_id": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
{
"accounts": [
{
"pubkey": "GTg4upAYuAqXnSAdSGBbcgR7mbxcLwp8pxZp5iQe1tLJ",
"is_signer": false,
"is_writable": true,
"label": "position"
},
{
"pubkey": "BoeMUkCLHchTD31HdXsbDExuZZfcUppSLpYtV3LZTH6U",
"is_signer": false,
"is_writable": true,
"label": "lbPair"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "binArrayBitmapExtension"
},
{
"pubkey": "6MZw9Y8FiGGjnL4DVXS812w9t9p5B9tK5xcrCWu6p2Ev",
"is_signer": false,
"is_writable": true,
"label": "userTokenX"
},
{
"pubkey": "H1HwdDkL5qHM8AZR9tBWYZQDTt9wwigKqCdF4KWuX7zP",
"is_signer": false,
"is_writable": true,
"label": "userTokenY"
},
{
"pubkey": "93d6ukn24o1xMcMDip2SACKG8GbvhGUZim1e3ZEcQVm2",
"is_signer": false,
"is_writable": true,
"label": "reserveX"
},
{
"pubkey": "CodroyzrRNvc5kHRoAQYjpVSr1jA9fLcUWVFouiuWGsD",
"is_signer": false,
"is_writable": true,
"label": "reserveY"
},
{
"pubkey": "J1toso1uCk3RLmjorhTtrVwY9HJ7X8V9yYac6Y7kGCPn",
"is_signer": false,
"is_writable": false,
"label": "tokenXMint"
},
{
"pubkey": "So11111111111111111111111111111111111111112",
"is_signer": false,
"is_writable": false,
"label": "tokenYMint"
},
{
"pubkey": "CzeWb8k7wDfubQz6McUcYkZuM6UQ7y2XJ6hfYBRCqBea",
"is_signer": false,
"is_writable": true,
"label": "binArrayLower"
},
{
"pubkey": "5Kp3m4p7QxN629DA8wcHuLrHkecxEmdGFLRcB9PD4HAa",
"is_signer": false,
"is_writable": true,
"label": "binArrayUpper"
},
{
"pubkey": "HdZCvCH4qwUqfy5YukMyyy5gYDhtmMWK7GvqEbLVsSWj",
"is_signer": false,
"is_writable": true,
"label": "sender"
},
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"is_signer": false,
"is_writable": false,
"label": "tokenXProgram"
},
{
"pubkey": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA",
"is_signer": false,
"is_writable": false,
"label": "tokenYProgram"
},
{
"pubkey": "D1ZN9Wj1fRSUQfCjhvnu1hqDMT7hzjzBBpi12nVniYD6",
"is_signer": false,
"is_writable": false,
"label": "eventAuthority"
},
{
"pubkey": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo",
"is_signer": false,
"is_writable": false,
"label": "program"
}
],
"data": "1c8cee63e7a2159532dd630b00000000383a8a0d00000000a2060000ffffff7f170000009706000001009806000001009906000001009a06000001009b06000001009c06000001009d06000001009e06000001009f0600000100a00600000100a10600000100a20600000100a30600000100a40600000100a50600000100a60600000100a70600000100a80600000100a90600000100aa0600000100ab0600000100ac0600000100ad0600000100",
"program_id": "LBUZKhRxPF3XUpBCjp4YzTKgLccjZhTSDM9YuVaPwxo"
}
Loading
Loading