Skip to content

Commit 67d173b

Browse files
authored
feat(examples): add transactions_with_function example (#195)
* feat(examples): add transactions_with_function example * Use Result from error mod * update examples to latest changes
1 parent edba79d commit 67d173b

File tree

7 files changed

+99
-6
lines changed

7 files changed

+99
-6
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright (c) 2025 IOTA Stiftung
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
package main
5+
6+
import (
7+
"fmt"
8+
"log"
9+
10+
sdk "bindings/iota_sdk_ffi"
11+
)
12+
13+
func main() {
14+
client := sdk.GraphQlClientNewDevnet()
15+
16+
function := "0x3::iota_system::request_add_stake"
17+
transactions, err := client.Transactions(&sdk.TransactionsFilter{
18+
Function: &function,
19+
}, nil)
20+
if err.(*sdk.SdkFfiError) != nil {
21+
log.Fatalf("Failed to get transactions: %v", err)
22+
}
23+
24+
for _, transaction := range transactions.Data {
25+
fmt.Println("Digest:", transaction.Transaction.Digest().ToBase58())
26+
}
27+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
// Copyright (c) 2025 IOTA Stiftung
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
import iota_sdk.GraphQlClient
5+
import iota_sdk.TransactionsFilter
6+
import kotlinx.coroutines.runBlocking
7+
8+
fun main() = runBlocking {
9+
try {
10+
val client = GraphQlClient.newDevnet()
11+
val transactions =
12+
client.transactions(
13+
TransactionsFilter(function = "0x3::iota_system::request_add_stake"),
14+
)
15+
for (transaction in transactions.data) {
16+
println("Digest: ${transaction.transaction.digest().toBase58()}")
17+
}
18+
} catch (e: Exception) {
19+
e.printStackTrace()
20+
}
21+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Copyright (c) 2025 IOTA Stiftung
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
import asyncio
5+
from lib.iota_sdk_ffi import *
6+
7+
8+
async def main():
9+
try:
10+
client = GraphQlClient.new_devnet()
11+
transactions = await client.transactions(
12+
TransactionsFilter(function="0x3::iota_system::request_add_stake"),
13+
)
14+
for transaction in transactions.data:
15+
print("Digest:", transaction.transaction.digest().to_base58())
16+
except Exception as e:
17+
print(f"Error: {e}")
18+
19+
20+
if __name__ == "__main__":
21+
asyncio.run(main())

crates/iota-graphql-client/examples/chain_id.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// Copyright (c) 2025 IOTA Stiftung
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use anyhow::Result;
5-
use iota_graphql_client::Client;
4+
use iota_graphql_client::{Client, error::Result};
65

76
#[tokio::main]
87
async fn main() -> Result<()> {

crates/iota-graphql-client/examples/epoch.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
// Copyright (c) 2025 IOTA Stiftung
22
// SPDX-License-Identifier: Apache-2.0
33

4-
use anyhow::Result;
5-
use iota_graphql_client::Client;
4+
use iota_graphql_client::{Client, error::Result};
65

76
#[tokio::main]
87
async fn main() -> Result<()> {
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright (c) 2025 IOTA Stiftung
2+
// SPDX-License-Identifier: Apache-2.0
3+
4+
use iota_graphql_client::{
5+
Client, error::Result, pagination::PaginationFilter, query_types::TransactionsFilter,
6+
};
7+
8+
#[tokio::main]
9+
async fn main() -> Result<()> {
10+
let client = Client::new_devnet();
11+
12+
let transactions = client
13+
.transactions(
14+
TransactionsFilter {
15+
function: Some("0x3::iota_system::request_add_stake".to_string()),
16+
..Default::default()
17+
},
18+
PaginationFilter::default(),
19+
)
20+
.await?;
21+
22+
for transaction in transactions.data() {
23+
println!("Digest: {}", transaction.transaction.digest());
24+
}
25+
26+
Ok(())
27+
}

crates/iota-graphql-client/examples/transactions_with_shared.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33

44
use std::str::FromStr;
55

6-
use anyhow::Result;
7-
use iota_graphql_client::{Client, query_types::TransactionsFilter};
6+
use iota_graphql_client::{Client, error::Result, query_types::TransactionsFilter};
87
use iota_types::ObjectId;
98

109
#[tokio::main]

0 commit comments

Comments
 (0)