Skip to content

Commit

Permalink
Update to the latest version of the Light contracts (helius-labs#103)
Browse files Browse the repository at this point in the history
* Fix warnings

* Intermediate commit

* Fix

* Add missing data

* Fix warnings

* Fix

* Remove unrelated file
  • Loading branch information
pmantica11 authored Jun 5, 2024
1 parent 9897362 commit acd3329
Show file tree
Hide file tree
Showing 36 changed files with 383 additions and 274 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

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

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ name = "photon-indexer"
publish = true
readme = "README.md"
repository = "https://github.com/helius-labs/photon"
version = "0.20.0"
version = "0.21.0"

[[bin]]
name = "photon"
Expand Down
5 changes: 2 additions & 3 deletions src/ingester/parser/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use borsh::BorshDeserialize;
use byteorder::{ByteOrder, LittleEndian};
use log::debug;
use log::{debug};
use solana_sdk::{pubkey::Pubkey, signature::Signature};

use crate::common::typedefs::{
Expand All @@ -24,7 +24,7 @@ pub mod state_update;
use solana_program::pubkey;

const ACCOUNT_COMPRESSION_PROGRAM_ID: Pubkey =
pubkey!("5QPEJ5zDsVou9FQS3KCauKswM3VwBEBu4dpL9xTqkWwN");
pubkey!("CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK");
const SYSTEM_PROGRAM: Pubkey = pubkey!("11111111111111111111111111111111");
const NOOP_PROGRAM_ID: Pubkey = pubkey!("noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV");
const VOTE_PROGRAM_ID: Pubkey = pubkey!("Vote111111111111111111111111111111111111111");
Expand All @@ -48,7 +48,6 @@ pub fn parse_transaction(tx: &TransactionInfo, slot: u64) -> Result<StateUpdate,
// if the instruction emits a noop event. If it doesn't then we want avoid indexing
// the following noop instruction because it'll contain either irrelevant or malicious data.
if ACCOUNT_COMPRESSION_PROGRAM_ID == instruction.program_id
&& instruction.accounts.contains(&NOOP_PROGRAM_ID)
&& next_instruction.program_id == SYSTEM_PROGRAM
&& next_next_instruction.program_id == NOOP_PROGRAM_ID
{
Expand Down
4 changes: 2 additions & 2 deletions src/ingester/persist/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ use light_poseidon::{Poseidon, PoseidonBytesHasher};

use ark_bn254::Fr;
use borsh::BorshDeserialize;
use log::debug;
use log::{debug};
use persisted_state_tree::{persist_leaf_nodes, LeafNode};
use sea_orm::{
sea_query::{Expr, OnConflict},
Expand All @@ -29,7 +29,7 @@ use sqlx::types::Decimal;
pub mod persisted_indexed_merkle_tree;
pub mod persisted_state_tree;

const COMPRESSED_TOKEN_PROGRAM: Pubkey = pubkey!("9sixVEthz2kMSKfeApZXHwuboT6DZuT6crAYJTciUCqE");
const COMPRESSED_TOKEN_PROGRAM: Pubkey = pubkey!("HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN");
const TREE_HEIGHT: u32 = 27;
// To avoid exceeding the 25k total parameter limit, we set the insert limit to 1k (as we have fewer
// than 10 columns per table).
Expand Down
23 changes: 9 additions & 14 deletions src/ingester/persist/persisted_indexed_merkle_tree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ use std::collections::{BTreeMap, HashMap};
use ark_bn254::Fr;
use light_poseidon::Poseidon;
use sea_orm::{
sea_query::OnConflict, ColumnTrait, ConnectionTrait, DatabaseBackend, DatabaseConnection,
DatabaseTransaction, EntityTrait, QueryFilter, Set, Statement, TransactionTrait,
sea_query::OnConflict, ConnectionTrait, DatabaseBackend, DatabaseConnection,
DatabaseTransaction, EntityTrait, Set, Statement, TransactionTrait,
};

use crate::{
Expand All @@ -15,12 +15,9 @@ use crate::{
};
use light_poseidon::PoseidonBytesHasher;

use super::{
compute_parent_hash,
persisted_state_tree::{
get_multiple_compressed_leaf_proofs_from_full_leaf_info, persist_leaf_nodes, LeafNode,
MerkleProofWithContext,
},
use super::persisted_state_tree::{
get_multiple_compressed_leaf_proofs_from_full_leaf_info, persist_leaf_nodes, LeafNode,
MerkleProofWithContext,
};

fn compute_range_node_hash(node: &indexed_trees::Model) -> Result<Hash, IngesterError> {
Expand Down Expand Up @@ -106,11 +103,10 @@ pub async fn multi_append(
txn.get_database_backend(),
// TODO: Use parametrized queries instead
format!(
"SELECT leaf_index FROM indexed_trees WHERE tree = {} ORDER BY leaf_index LIMIT 1",
"SELECT leaf_index FROM indexed_trees WHERE tree = {} ORDER BY leaf_index DESC LIMIT 1",
format_bytes(tree.clone(), txn.get_database_backend())
),
);
// Get the max index from the database
let max_index = txn.query_one(index_stmt).await.map_err(|e| {
IngesterError::DatabaseError(format!("Failed to execute max index query: {}", e))
})?;
Expand Down Expand Up @@ -192,22 +188,21 @@ pub async fn multi_append(
IngesterError::DatabaseError(format!("Failed to insert indexed tree elements: {}", e))
})?;

let leaf_nodes: Result<Vec<LeafNode>, IngesterError> = elements_to_update
let leaf_nodes = elements_to_update
.values()
.map(|x| {
Ok(LeafNode {
tree: SerializablePubkey::try_from(x.tree.clone()).map_err(|e| {
IngesterError::DatabaseError(format!("Failed to serialize pubkey: {}", e))
})?,
leaf_index: x.leaf_index as u32,
// TODO: Fix proof
hash: compute_range_node_hash(x)?,
seq: 0,
})
})
.collect();
.collect::<Result<Vec<LeafNode>, IngesterError>>()?;

persist_leaf_nodes(txn, leaf_nodes?, tree_height).await?;
persist_leaf_nodes(txn, leaf_nodes, tree_height).await?;

Ok(())
}
Expand Down
4 changes: 2 additions & 2 deletions src/ingester/persist/persisted_state_tree.rs
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ use crate::{

use super::{compute_parent_hash, get_node_direct_ancestors};

#[derive(Clone)]
#[derive(Clone, Debug)]
pub struct LeafNode {
pub tree: SerializablePubkey,
pub leaf_index: u32,
Expand Down Expand Up @@ -140,7 +140,7 @@ pub async fn persist_leaf_nodes(
.to_owned(),
)
.build(txn.get_database_backend());
query.sql = format!("{} WHERE excluded.seq > state_trees.seq", query.sql);
query.sql = format!("{} WHERE excluded.seq >= state_trees.seq", query.sql);
txn.execute(query).await.map_err(|e| {
IngesterError::DatabaseError(format!("Failed to persist path nodes: {}", e))
})?;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"slot":53,"transaction":["AjfneV2HbG23LQexYuLHAoF9wMZsj0IOpeXvDxNGbqdFXUFjTJk/kSNb1bGUTR68GLddy/GdsASqEcWcYBSiqQ27gMDUdcZjuKumQ60bMqQsJaWyihPVqHeZKaCFzXeiLUlIyILzjknpoQjvI5yuVLJ9X55lJIU4BsX9HVJl1FoEgAIBCQ129wO8WIKG6eY3uWLE8oiLV+uv4g4bZ8FJk67jITSz9GFZsjIhiI/k4Jf83FMyo4EszCS+vrMsRiha6mJgMIKeRE19IEyAPbQBz0UseXaZEbO3cyKjf2bWAVevsV8xQUUtaxlkRkeJL9L43N8LzM1Z+DDTqAsZ255jL3/4jmvEbgMGRm/lIRcy/+ytunLDm+e8jOW7xfcSayxDmzpAAAAA9YrSxwEeKNSgRrWi/d8zJ5QeTRw+kg0Uqpn2e2KyQR+0pUDsg7fVlu64SNoTe62H9ztjOse7tyCQDbQ9bkxgnO76I9ijWlJIp9HE49KtWf+OFMeWkNc9pCIvteTimdARkc7UXi57fp4+O8qFD/X5tZdG4r6MA+E6LKGyLVgSOLkLvA/Au0fKL3TEES6UqxPPo8Y05dwX6ssDzRojzX54fJQlr738AEklZ5z/PVi137S1ja67KHPEXpbltmRVKWz4rFbVF+VphmG2mUNlOfY6oA8e5Sx7wpJM4c+seQXacoYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALruaUcu7+H8CMsmyTtJGWXL9h4FbXnCPweCUcdCDZBMAgQABQJAQg8ABQ8AAQYHCAkKCwUFBQUMAgOgAqM0yOeMA0W6FAEAAAGLZI542l/AiGL98WqbD7cn8gKT/fTrAAaqr+iWPzYnxCORzyU0mBJGa//k3L+m8rNQcs8+gRPW9NG1vvUFmcFNDCeNlVXlK0n/c3Z7OEpg7GWTdn2aS8DxxnqWzCeVmz8P8yU9A/2KsEvBmfHFDBul/YMCb8k4rqiyBDllDYuxrtzpL6rbPGdKqE1hHsDJDmlITXcq5npf614uZg2kjr4/AAEAAADoAwAAAAAAAAAAAAABAAAAAAEAAgAAAGFZsjIhiI/k4Jf83FMyo4EszCS+vrMsRiha6mJgMIKeLAEAAAAAAAAAAIiI6cSyl5N451k0XO5yRDnU7dhk5Bt4Zgn4ddmv4+AIvAIAAAAAAAAAAAAAAAA=","base64"],"meta":{"err":null,"status":{"Ok":null},"fee":10000,"preBalances":[996478932,1000000000,9496836668,2293180800,1,1141440,0,1141440,1392000,1141440,0,1141440,1],"postBalances":[996463556,1000000000,9496837044,2293185800,1,1141440,0,1141440,1392000,1141440,0,1141440,1],"innerInstructions":[{"index":1,"instructions":[{"programIdIndex":7,"accounts":[0,6,8,9,10,11,5,7,7,12,7,2,3],"data":"AdP3Yq8kJWgSqv2pJsUz3UKGRejVMHRMBy5wAxV1gWKVRCGLw36zd5MGXGLt9HF9TXy3J6wcYq8x2x3CbF3C3kfvmzVeeA4ZK2mJufjHeFUwo6G7Sexhxm18FXAC5ZnuxPNHaFWfdL4ustZADebC1ECWJCjndiZdcZTLzeSkcyv4xApWiEYxqaRXPBBgawgzAft8WAVZjR7cSHioebmxx3MMn6YdAdfXHqDCRr8jKLnJQ5dKNFbMoGsMRneq6tPGykjtcK1ZBcB5d29sbgFNdFvxzK95Rh2brQcTcPXtwA389bgHRL5MAtRvuoNsqyVWwVzDjF14tu8PRPrt99pW33SaCAGBjHTtnJ1qheX3NP3w3gs4gBtdVxbSsQs5X6tcdV8T3UZiqtvrELixFwYj8Zo4oUHXrn63ovsftFfdmpfSzSebANLw34Jb7tdCD2nFnT5PVrPw9d8dBduutho6mJAeyJbL2bjHU1xj2LThpMDKC2PEK8XSCVqrhYpouMe2EFkuF3w6KxcKw1kJ1ZZdoQdqaknN6EsmwFqHgDgggLRePwPFh3jNYkfyw7xwQEccPsHRmfk5w8qY2DbAgksUhLzmG8L6kiN1d3zSGvogvRf6BpeiayvPRKvDApREosAgqAXhg8nfPhgNifwc7p3oLZwtwLTACcZk1TVYXCv8KfTnMBT1Sa9V1NGBZoxYsQzhFg86XWcPjjk6hxd5zU8D4p5koMdgDgC2ChMntqSxYyt6NyeueTyub7dtHWLESXZopQsXfD1ALcgfsfqFYQcnnTVnnxWv8QN7xDzkRGRkeJo2GT2p2kAMqkVtcFBRjT796ePdHseA4rwhkpb7fjFmGfUM7YG7UsP41uh949366nbukz79QefSdceEhE93xnxi62yv7xYbAYEF3n5fqAJXyB4HPXVjQz1UKUFYAoKtbgVFFX3W43MUijcAPZaf","stackHeight":2},{"programIdIndex":11,"accounts":[0,10,8,12,3,2],"data":"WiZw2hSp2LSxinAV4MZFrZhyqHeSCxYy6pTQBzotg13s2HgckUNVRmGvRp89","stackHeight":3},{"programIdIndex":12,"accounts":[0,3],"data":"3Bxs4PckVVt51W8w","stackHeight":3},{"programIdIndex":11,"accounts":[0,10,8,12,2],"data":"7UWNMdwFJEWBQPSoUMKtr3bukccHKfYDfeQQkEJTkRR52MqsyybbmeLhdW4rUSQzfgw6LDbMb3emjEZMC6T8y8yf2kPoXgNW4jarNgTDhrZ","stackHeight":3},{"programIdIndex":12,"accounts":[0,2],"data":"3Bxs4LvrAdJLFH6X","stackHeight":4},{"programIdIndex":9,"accounts":[],"data":"3oLtGWPG6EsRhRwBpFEBZbQCbrDkBnwUPsiSYzoBL5hCPaTBxFQKqexZftuBgWrEtmTPnxZcv3dB5FcuDcv2rNEWXeBwXAx6QDV2Zbo7DPk2XVmQ3ZsbAoPsk9pxZSHhNK14phsibkkT1Vr9XU1U7pLr86wTDSMpRXscMnWqmb5YpaG9XF1VMHrWW8QJdd5BTyc9FQCYFYQC8ctqhcfkWWn6iFh6bQsYScz7cARKVqRD6PstzkbVWiuq9zm4V3Bht6hsC4aBWfXGGjwCvvs4bN41fAbCQaoZtGGpRnU7dNRnSh3vayYyZBnwPyzpuL6QYn1bjHDb2rDqToVbog9Jsq3MV5D7Xod9AB4ua4Wke7mBZKy2nEwwEKgm36ffxbx4XLUZuQ4MTSQHiSPyy2JC3RsSHqR1yCUneDBWzmHdUCx66KNgQGcBpnc7qoPqhcfRGSCgPkcoLsx6AzovJduWg85r4ijbWmrscvNdqj1W2SbyBRPWsiB7jPaGogV1xdHBGoU4bj8Tkd1mtsLDX7oa7uz1KSXABgRrdtyZaRsL66cCiv8L4bd2hjo6St1e86SPGsdADi4SFHUmfRTqVZHXcPWPDC7QTUuNsTHSTjKKGuG4VUz4sanxm8Woq8wa2EaUtoDckp6ERaNznMKTxTh9LZ4ga4Qji67BvXQsbe62Z6bF1CkkbSCiEHT7AibYnGnzuiyiyiQ3LsLYQ3QKKouhioayWNEtwFZaX1BykDjGR3uytiWWBYUzhyXqqJhpdPH3B84PFfHPUQgiWgyNm5","stackHeight":3}]}],"logMessages":["Program ComputeBudget111111111111111111111111111111 invoke [1]","Program ComputeBudget111111111111111111111111111111 success","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN invoke [1]","Program log: Instruction: Transfer","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN invoke [2]","Program log: Instruction: InvokeCpi","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK invoke [3]","Program log: Instruction: InsertIntoNullifierQueues","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK consumed 9341 of 816825 compute units","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK success","Program 11111111111111111111111111111111 invoke [3]","Program 11111111111111111111111111111111 success","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK invoke [3]","Program log: Instruction: AppendLeavesToMerkleTrees","Program 11111111111111111111111111111111 invoke [4]","Program 11111111111111111111111111111111 success","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK consumed 51939 of 790356 compute units","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK success","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV invoke [3]","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV consumed 38 of 734927 compute units","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV success","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN consumed 226867 of 961128 compute units","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN success","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN consumed 266570 of 999850 compute units","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN success"],"preTokenBalances":[],"postTokenBalances":[],"rewards":[],"loadedAddresses":{"writable":[],"readonly":[]},"computeUnitsConsumed":266720},"version":0,"blockTime":1717594775}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"slot":52,"transaction":["AuyEa9pfgd8PIBCwOp/aeaFovMyOPwLOiSzuLMW2mLB3UtKEsJifJ1g4xsQ5O7J5ZymK+Wh8Hqzps7ETdO3AwgeDsy06YjwDnmZV7rRE7DKOkUYqquAsH6ctfqjr6S5re9pY23kK9WJj9xpKJPQiwj9oh5X3XBx36uEqHy+LztcBgAIBCg929wO8WIKG6eY3uWLE8oiLV+uv4g4bZ8FJk67jITSz9C65sXVWZydDKXuRt3BQeU1xshoCIVHrBFXBBN9FsFrv3Okvqts8Z0qoTWEewMkOaUhNdyrmel/rXi5mDaSOvj9yxuiFW5NaMQbkpr1lCJaYDyzxhfgbp+ZPMWi/qK11GERNfSBMgD20Ac9FLHl2mRGzt3Mio39m1gFXr7FfMUFFAwZGb+UhFzL/7K26csOb57yM5bvF9xJrLEObOkAAAAD1itLHAR4o1KBGtaL93zMnlB5NHD6SDRSqmfZ7YrJBH7SlQOyDt9WW7rhI2hN7rYf3O2M6x7u3IJANtD1uTGCcBt324ddloZPZy+FGzut5rBy0he1fWzeROoz1hX7/AKnu+iPYo1pSSKfRxOPSrVn/jhTHlpDXPaQiL7Xk4pnQEZHO1F4ue36ePjvKhQ/1+bWXRuK+jAPhOiyhsi1YEji5C7wPwLtHyi90xBEulKsTz6PGNOXcF+rLA80aI81+eHyUJa+9/ABJJWec/z1Ytd+0tY2uuyhzxF6W5bZkVSls+KxW1RflaYZhtplDZTn2OqAPHuUse8KSTOHPrHkF2nKGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACYzGyuMEKsUA4m+CcYBTKGtwZyqNchjKBC4T9ZYQpvgAIFAAUCQEIPAAYOAAEHAgMICQoLDA0EBg448SIwuiWze8ABAAAAYVmyMiGIj+Tgl/zcUzKjgSzMJL6+syxGKFrqYmAwgp4BAAAA6AMAAAAAAAAA","base64"],"meta":{"err":null,"status":{"Ok":null},"fee":10000,"preBalances":[996489120,0,1461600,2039280,9496836480,1,1141440,0,929020800,1141440,1392000,1141440,0,1141440,1],"postBalances":[996478932,0,1461600,2039280,9496836668,1,1141440,0,929020800,1141440,1392000,1141440,0,1141440,1],"innerInstructions":[{"index":1,"instructions":[{"programIdIndex":8,"accounts":[2,3,1],"data":"6qYT3cRnoTxb","stackHeight":2},{"programIdIndex":9,"accounts":[0,7,10,11,12,13,6,9,9,14,9,4],"data":"bDnj5SrNsb7atr9XPjJDZcibdPZdgyWxs8TTVb6XbUHPSjj84KdvMwUy5wQt2T4THgXcFBEFxmG9sGwo9zptXBQo9LwXSjrrYqHLJt7A5qG9GHhp1qDnGLZ3zn81nWEc4yoEsZvmUywUqTLpg5bQHTYoXUHFK6FQpqVrGPGCZqa7ZN3CMp5p88Xrh4krv6NqgDPuGTbg1eK1CXcsoHPGhmoor51VvgRWQgQZLHsQehrE9jCBnvFSbKBSAXmvub7iBDpbBdaNNGHbueqvLsqyhrfn2akhrxMsMhtvuRkL8yEMdLPMU95","stackHeight":2},{"programIdIndex":13,"accounts":[0,12,10,14,4],"data":"5wPdbtbk7M4b3JSHrvyYjDuxK7vAXRBm55enM4HAUSV2sQCaUhdQVjAnjYFEfT","stackHeight":3},{"programIdIndex":14,"accounts":[0,4],"data":"3Bxs4YJVi6KXxi8o","stackHeight":4},{"programIdIndex":11,"accounts":[],"data":"11112HwuWuFMMaNJn71TmYWRZcauNW86vQRVPUtqVt7EH7Byo9TKV3V8iwJXWR4ZQYuPE9gFArk8QpqVEpqji6vfNWHM5NFLUgCbm8tRieMWpdBv8S4Um5E3EUxVudLwJinmNyfyJZG7Hf1CpsKETCnHS5yBLRngGkiUH7PUffc8N2MryG7Bg8BRm2GpiVXx5PDkiNBj3uZwCWm8YZg7CJXBK1ykFdxw1wNpqSk34YFht6DMTF6oSru9tm4EhRn58eRue2c8d7bwYkVtbnAgek5sEJvCaQ78ZejXegniAiU2AAAqnm3qEgcxYLvpKrBZXWLm9GCbeUubFDvHHubUHCA6ffhhpLGHJYoX4mKqCPGVUoucRfnE1Tog2SgoonsWijugt4qZNFeWcGn756WwGDvEgZ8Tgioy","stackHeight":3}]}],"logMessages":["Program ComputeBudget111111111111111111111111111111 invoke [1]","Program ComputeBudget111111111111111111111111111111 success","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN invoke [1]","Program log: Instruction: MintTo","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA invoke [2]","Program log: Instruction: MintTo","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA consumed 4492 of 985597 compute units","Program TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA success","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN invoke [2]","Program log: Instruction: InvokeCpi","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK invoke [3]","Program log: Instruction: AppendLeavesToMerkleTrees","Program 11111111111111111111111111111111 invoke [4]","Program 11111111111111111111111111111111 success","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK consumed 46215 of 930587 compute units","Program CbjvJc1SNx1aav8tU49dJGHu8EUdzQJSMtkjDmV8miqK success","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV invoke [3]","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV consumed 38 of 881772 compute units","Program noopb9bkMVfRPU8AsbpTUg8AQkHtKwMYZiFUjNRtMmV success","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN consumed 84520 of 965699 compute units","Program H5sFv8VwWmjxHYS2GB4fTDsK7uTtnRT4WiixtHrET3bN success","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN consumed 119508 of 999850 compute units","Program HXVfQ44ATEi9WBKLSCCwM54KokdkzqXci9xCQ7ST9SYN success"],"preTokenBalances":[{"accountIndex":3,"mint":"FsLvdEqi6xTaxSDZ6mzCRhWGRN6W7c7n8E4SmPix6YM4","uiTokenAmount":{"uiAmount":null,"decimals":2,"amount":"0","uiAmountString":"0"},"owner":"DAAY8YnCFASfeLyXFXff8bTitePXdGcXYr6DkkYJ3aJX","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}],"postTokenBalances":[{"accountIndex":3,"mint":"FsLvdEqi6xTaxSDZ6mzCRhWGRN6W7c7n8E4SmPix6YM4","uiTokenAmount":{"uiAmount":10.0,"decimals":2,"amount":"1000","uiAmountString":"10"},"owner":"DAAY8YnCFASfeLyXFXff8bTitePXdGcXYr6DkkYJ3aJX","programId":"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"}],"rewards":[],"loadedAddresses":{"writable":[],"readonly":[]},"computeUnitsConsumed":119658},"version":0,"blockTime":1717594775}
Loading

0 comments on commit acd3329

Please sign in to comment.