Skip to content
Merged
Show file tree
Hide file tree
Changes from 13 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: 1 addition & 1 deletion bindings/go/examples/dev_inspect/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func main() {
name := "name.iota"
fmt.Printf("Looking up name: %s\n", name)

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

// Create identifiers
iotaNamesModule := identifier("iota_names")
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/gas_sponsor/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func main() {
sender := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
sponsor := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

packageAddr := sdk.AddressStdLib()
moduleName := identifier("u8")
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/gas_station/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ func main() {
sender := keypair.PublicKey().DeriveAddress()
simpleKey := sdk.SimpleKeypairFromEd25519(keypair)

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

package_id := sdk.AddressStdLib()
module_name := identifier("u64")
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/generic_move_function/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func main() {

sender := addrFromHex("0x71b4b4f171b4355ff691b7c470579cf1a926f96f724e5f9a30efc4b5f75d085e")

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

addr1 := addrFromHex("0xde49ea53fbadee67d3e35a097cdbea210b659676fc680a0b0c5f11d0763d375e")
addr2 := addrFromHex("0xe512234aa4ef6184c52663f09612b68f040dd0c45de037d96190a071ca5525b3")
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_merge_coins/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ func main() {
coin0 := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
coin1 := objIdFromHex("0xd04077fe3b6fad13b3d4ed0d535b7ca92afcac8f0f2a0e0925fb9f4f0b30c699")

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)
builder.MergeCoins(coin0, []*sdk.PtbArgument{coin1})

txn, err := builder.Finish()
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_send_coins/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func main() {
coinObjId := objIdFromHex("0x8ef4259fa2a3499826fa4b8aebeb1d8e478cf5397d05361c96438940b43d28c9")
amount := sdk.PtbArgumentU64(50000000000)

builder := sdk.TransactionBuilderInit(fromAddress, client)
builder := sdk.NewTransactionBuilder(fromAddress).WithClient(client)
builder.SendCoins([]*sdk.PtbArgument{coinObjId}, toAddress, &amount)

txn, err := builder.Finish()
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_send_iota/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ func main() {

toAddress := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")

builder := sdk.TransactionBuilderInit(fromAddress, client)
builder := sdk.NewTransactionBuilder(fromAddress).WithClient(client)
builder.SendIota(toAddress, sdk.PtbArgumentU64(5000000000))

txn, err := builder.Finish()
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_send_iota_multi/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func main() {
{"0x2222b466a24399ebcf5ec0f04820812ae20fea1037c736cfec608753aa38b522", 2_000_000_000},
}

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

// Prepare amounts and labels
var amounts []*sdk.PtbArgument
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_split_coins/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func main() {

coinObjId := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)
builder.SplitCoins(
sdk.PtbArgumentObjectId(coinObjId),
[]*sdk.PtbArgument{
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/prepare_transfer_objects/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ func main() {
objIdFromHex("0x8ef4259fa2a3499826fa4b8aebeb1d8e478cf5397d05361c96438940b43d28c9"),
}

builder := sdk.TransactionBuilderInit(fromAddress, client)
builder := sdk.NewTransactionBuilder(fromAddress).WithClient(client)
builder.TransferObjects(toAddress, objsToTransfer)

txn, err := builder.Finish()
Expand Down
90 changes: 90 additions & 0 deletions bindings/go/examples/prepare_transfer_objects_offline/main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
// Copyright (c) 2025 IOTA Stiftung
// SPDX-License-Identifier: Apache-2.0

package main

import (
"log"

sdk "bindings/iota_sdk_ffi"
)

func objIdFromHex(hex string) *sdk.ObjectId {
id, err := sdk.ObjectIdFromHex(hex)
if err != nil {
log.Fatalf("Failed to parse object ID: %v", err)
}
return id
}

func addrFromHex(hex string) *sdk.Address {
address, err := sdk.AddressFromHex(hex)
if err != nil {
log.Fatalf("Failed to parse address: %v", err)
}
return address
}

func getObject(client *sdk.GraphQlClient, objId *sdk.ObjectId) *sdk.Object {
obj, err := client.Object(objId, nil)
if err.(*sdk.SdkFfiError) != nil {
log.Fatalf("Failed to get object: %v", err)
}
if obj == nil {
log.Fatalf("Missing object: %v", objId)
}
return *obj
}

func main() {
client := sdk.GraphQlClientNewDevnet()

fromAddress := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")

toAddress := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")

objIds := []*sdk.ObjectId{
objIdFromHex("0xd04077fe3b6fad13b3d4ed0d535b7ca92afcac8f0f2a0e0925fb9f4f0b30c699"),
objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab"),
objIdFromHex("0x8ef4259fa2a3499826fa4b8aebeb1d8e478cf5397d05361c96438940b43d28c9"),
}
objsToTransfer := []*sdk.PtbArgument{}
for _, objId := range objIds {
obj := getObject(client, objId)
objsToTransfer = append(objsToTransfer, sdk.PtbArgumentObjectRef(obj.ObjectRef()))
}

gasCoinId := objIdFromHex("0xd04077fe3b6fad13b3d4ed0d535b7ca92afcac8f0f2a0e0925fb9f4f0b30c699")
gasCoin := getObject(client, gasCoinId).ObjectRef()

gasPrice, err := client.ReferenceGasPrice(nil)
if err.(*sdk.SdkFfiError) != nil {
log.Fatalf("Failed to get gas price: %v", err)
}
if gasPrice == nil {
*gasPrice = uint64(100)
}

builder := sdk.NewTransactionBuilder(fromAddress)
builder.TransferObjects(toAddress, objsToTransfer)
builder.Gas([]sdk.ObjectReference{gasCoin}).GasPrice(*gasPrice).GasBudget(500000000)

txn, err := builder.Finish()
if err != nil {
log.Fatalf("Failed to create transaction: %v", err)
}

log.Printf("Signing Digest: %v", txn.SigningDigestHex())
log.Printf("Txn Bytes: %v", txn.ToBase64())

res, err := client.DryRunTx(txn, false)
if err.(*sdk.SdkFfiError) != nil {
log.Fatalf("Failed to transfer objects: %v", err)
}

if res.Error != nil {
log.Fatalf("Failed to transfer objects: %v", *res.Error)
}

log.Print("Transfer objects dry run was successful!")
}
4 changes: 2 additions & 2 deletions bindings/go/examples/publish_upgrade/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func main() {
client := sdk.GraphQlClientNewLocalnet()

// Build the `publish` PTB
builderPublish := sdk.TransactionBuilderInit(sender, client)
builderPublish := sdk.NewTransactionBuilder(sender).WithClient(client)
// Publish the package and receive the upgrade cap in return
builderPublish.Publish(packageData, "upgrade_cap")
// Transfer the upgrade cap to the sender address
Expand Down Expand Up @@ -145,7 +145,7 @@ func main() {
}

// Build the `upgrade` PTB
builderUpgrade := sdk.TransactionBuilderInit(sender, client)
builderUpgrade := sdk.NewTransactionBuilder(sender).WithClient(client)

// Authorize the upgrade by providing the upgrade cap object id to receive an upgrade
// ticket
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/sign_send_iota/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ func main() {

client := sdk.GraphQlClientNewLocalnet()

builder := sdk.TransactionBuilderInit(senderAddress, client)
builder := sdk.NewTransactionBuilder(senderAddress).WithClient(client)
builder.SendIota(recipientAddress, sdk.PtbArgumentU64(1000))
txn, err := builder.Finish()
if err.(*sdk.SdkFfiError) != nil {
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/stake/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func main() {
}
log.Printf("Staking to validator %v", validatorName)

builder := sdk.TransactionBuilderInit(myAddress, client)
builder := sdk.NewTransactionBuilder(myAddress).WithClient(client)

builder.Stake(sdk.PtbArgumentU64(1000000000), validator.Address)

Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/tx_command_results/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func main() {

sender := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")

builder := sdk.TransactionBuilderInit(sender, client)
builder := sdk.NewTransactionBuilder(sender).WithClient(client)

packageAddr := sdk.AddressStdLib()
moduleName := identifier("u64")
Expand Down
2 changes: 1 addition & 1 deletion bindings/go/examples/unstake/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ func main() {
}
stakedIota := stakedIotas.Data[0]

builder := sdk.TransactionBuilderInit(stakedIota.Owner().AsAddress(), client)
builder := sdk.NewTransactionBuilder(stakedIota.Owner().AsAddress()).WithClient(client)
builder.Unstake(sdk.PtbArgumentObjectId(stakedIota.ObjectId()))

res, err := builder.DryRun(false)
Expand Down
Loading