diff --git a/bindings/go/examples/transactions_with_function/main.go b/bindings/go/examples/transactions_with_function/main.go new file mode 100644 index 000000000..7dc09f17d --- /dev/null +++ b/bindings/go/examples/transactions_with_function/main.go @@ -0,0 +1,27 @@ +// Copyright (c) 2025 IOTA Stiftung +// SPDX-License-Identifier: Apache-2.0 + +package main + +import ( + "fmt" + "log" + + sdk "bindings/iota_sdk_ffi" +) + +func main() { + client := sdk.GraphQlClientNewDevnet() + + function := "0x3::iota_system::request_add_stake" + transactions, err := client.Transactions(&sdk.TransactionsFilter{ + Function: &function, + }, nil) + if err.(*sdk.SdkFfiError) != nil { + log.Fatalf("Failed to get transactions: %v", err) + } + + for _, transaction := range transactions.Data { + fmt.Println("Digest:", transaction.Transaction.Digest().ToBase58()) + } +} diff --git a/bindings/kotlin/examples/TransactionsWithFunction.kt b/bindings/kotlin/examples/TransactionsWithFunction.kt new file mode 100644 index 000000000..d44f1ac1b --- /dev/null +++ b/bindings/kotlin/examples/TransactionsWithFunction.kt @@ -0,0 +1,21 @@ +// Copyright (c) 2025 IOTA Stiftung +// SPDX-License-Identifier: Apache-2.0 + +import iota_sdk.GraphQlClient +import iota_sdk.TransactionsFilter +import kotlinx.coroutines.runBlocking + +fun main() = runBlocking { + try { + val client = GraphQlClient.newDevnet() + val transactions = + client.transactions( + TransactionsFilter(function = "0x3::iota_system::request_add_stake"), + ) + for (transaction in transactions.data) { + println("Digest: ${transaction.transaction.digest().toBase58()}") + } + } catch (e: Exception) { + e.printStackTrace() + } +} diff --git a/bindings/python/examples/transactions_with_function.py b/bindings/python/examples/transactions_with_function.py new file mode 100644 index 000000000..4c3f7542e --- /dev/null +++ b/bindings/python/examples/transactions_with_function.py @@ -0,0 +1,21 @@ +# Copyright (c) 2025 IOTA Stiftung +# SPDX-License-Identifier: Apache-2.0 + +import asyncio +from lib.iota_sdk_ffi import * + + +async def main(): + try: + client = GraphQlClient.new_devnet() + transactions = await client.transactions( + TransactionsFilter(function="0x3::iota_system::request_add_stake"), + ) + for transaction in transactions.data: + print("Digest:", transaction.transaction.digest().to_base58()) + except Exception as e: + print(f"Error: {e}") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/crates/iota-graphql-client/examples/chain_id.rs b/crates/iota-graphql-client/examples/chain_id.rs index f5ed2a827..4bc51bad9 100644 --- a/crates/iota-graphql-client/examples/chain_id.rs +++ b/crates/iota-graphql-client/examples/chain_id.rs @@ -1,8 +1,7 @@ // Copyright (c) 2025 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 -use anyhow::Result; -use iota_graphql_client::Client; +use iota_graphql_client::{Client, error::Result}; #[tokio::main] async fn main() -> Result<()> { diff --git a/crates/iota-graphql-client/examples/epoch.rs b/crates/iota-graphql-client/examples/epoch.rs index 7bc61754f..121047ce1 100644 --- a/crates/iota-graphql-client/examples/epoch.rs +++ b/crates/iota-graphql-client/examples/epoch.rs @@ -1,8 +1,7 @@ // Copyright (c) 2025 IOTA Stiftung // SPDX-License-Identifier: Apache-2.0 -use anyhow::Result; -use iota_graphql_client::Client; +use iota_graphql_client::{Client, error::Result}; #[tokio::main] async fn main() -> Result<()> { diff --git a/crates/iota-graphql-client/examples/transactions_with_function.rs b/crates/iota-graphql-client/examples/transactions_with_function.rs new file mode 100644 index 000000000..11b074402 --- /dev/null +++ b/crates/iota-graphql-client/examples/transactions_with_function.rs @@ -0,0 +1,27 @@ +// Copyright (c) 2025 IOTA Stiftung +// SPDX-License-Identifier: Apache-2.0 + +use iota_graphql_client::{ + Client, error::Result, pagination::PaginationFilter, query_types::TransactionsFilter, +}; + +#[tokio::main] +async fn main() -> Result<()> { + let client = Client::new_devnet(); + + let transactions = client + .transactions( + TransactionsFilter { + function: Some("0x3::iota_system::request_add_stake".to_string()), + ..Default::default() + }, + PaginationFilter::default(), + ) + .await?; + + for transaction in transactions.data() { + println!("Digest: {}", transaction.transaction.digest()); + } + + Ok(()) +} diff --git a/crates/iota-graphql-client/examples/transactions_with_shared.rs b/crates/iota-graphql-client/examples/transactions_with_shared.rs index 447cbd2d5..d17d823a1 100644 --- a/crates/iota-graphql-client/examples/transactions_with_shared.rs +++ b/crates/iota-graphql-client/examples/transactions_with_shared.rs @@ -3,8 +3,7 @@ use std::str::FromStr; -use anyhow::Result; -use iota_graphql_client::{Client, query_types::TransactionsFilter}; +use iota_graphql_client::{Client, error::Result, query_types::TransactionsFilter}; use iota_types::ObjectId; #[tokio::main]