Skip to content

Commit 3baad47

Browse files
chore(examples): Add go helper methods to avoid ignoring errors (#344)
1 parent b7fe7ba commit 3baad47

File tree

14 files changed

+238
-52
lines changed

14 files changed

+238
-52
lines changed

bindings/go/examples/dev_inspect/main.go

Lines changed: 37 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,38 @@ import (
1010
sdk "bindings/iota_sdk_ffi"
1111
)
1212

13+
func objIdFromHex(hex string) *sdk.ObjectId {
14+
id, err := sdk.ObjectIdFromHex(hex)
15+
if err != nil {
16+
log.Fatalf("Failed to parse object ID: %v", err)
17+
}
18+
return id
19+
}
20+
21+
func addrFromHex(hex string) *sdk.Address {
22+
address, err := sdk.AddressFromHex(hex)
23+
if err != nil {
24+
log.Fatalf("Failed to parse address: %v", err)
25+
}
26+
return address
27+
}
28+
29+
func identifier(ident string) *sdk.Identifier {
30+
identifier, err := sdk.NewIdentifier(ident)
31+
if err != nil {
32+
log.Fatalf("Failed to parse identifier: %v", err)
33+
}
34+
return identifier
35+
}
36+
1337
func main() {
1438
client := sdk.GraphQlClientNewDevnet()
1539

1640
sender := sdk.AddressZero()
1741

18-
iotaNamesPackageAddress, _ := sdk.AddressFromHex("0xb9d617f24c84826bf660a2f4031951678cc80c264aebc4413459fb2a95ada9ba")
42+
iotaNamesPackageAddress := addrFromHex("0xb9d617f24c84826bf660a2f4031951678cc80c264aebc4413459fb2a95ada9ba")
1943

20-
iotaNamesObjectId, _ := sdk.ObjectIdFromHex("0x07c59b37bd7d036bf78fa30561a2ab9f7a970837487656ec29466e817f879342")
44+
iotaNamesObjectId := objIdFromHex("0x07c59b37bd7d036bf78fa30561a2ab9f7a970837487656ec29466e817f879342")
2145

2246
stdlibAddress := sdk.AddressStdLib()
2347

@@ -27,20 +51,20 @@ func main() {
2751
builder := sdk.TransactionBuilderInit(sender, client)
2852

2953
// Create identifiers
30-
iotaNamesModule, _ := sdk.NewIdentifier("iota_names")
31-
nameModule, _ := sdk.NewIdentifier("name")
32-
nameNewFn, _ := sdk.NewIdentifier("new")
33-
lookupFn, _ := sdk.NewIdentifier("lookup")
34-
optionModule, _ := sdk.NewIdentifier("option")
35-
borrowFn, _ := sdk.NewIdentifier("borrow")
36-
targetAddressFn, _ := sdk.NewIdentifier("target_address")
37-
registryModule, _ := sdk.NewIdentifier("registry")
38-
registryName, _ := sdk.NewIdentifier("Registry")
54+
iotaNamesModule := identifier("iota_names")
55+
nameModule := identifier("name")
56+
nameNewFn := identifier("new")
57+
lookupFn := identifier("lookup")
58+
optionModule := identifier("option")
59+
borrowFn := identifier("borrow")
60+
targetAddressFn := identifier("target_address")
61+
registryModule := identifier("registry")
62+
registryName := identifier("Registry")
3963

4064
registryType := sdk.NewStructTag(iotaNamesPackageAddress, registryModule, registryName, []*sdk.TypeTag{})
4165

42-
nameRecordModule, _ := sdk.NewIdentifier("name_record")
43-
nameRecordName, _ := sdk.NewIdentifier("NameRecord")
66+
nameRecordModule := identifier("name_record")
67+
nameRecordName := identifier("NameRecord")
4468
nameRecordType := sdk.NewStructTag(iotaNamesPackageAddress, nameRecordModule, nameRecordName, []*sdk.TypeTag{})
4569

4670
// 1. Get the registry

bindings/go/examples/gas_sponsor/main.go

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,41 @@ import (
99
sdk "bindings/iota_sdk_ffi"
1010
)
1111

12+
func objIdFromHex(hex string) *sdk.ObjectId {
13+
id, err := sdk.ObjectIdFromHex(hex)
14+
if err != nil {
15+
log.Fatalf("Failed to parse object ID: %v", err)
16+
}
17+
return id
18+
}
19+
20+
func addrFromHex(hex string) *sdk.Address {
21+
address, err := sdk.AddressFromHex(hex)
22+
if err != nil {
23+
log.Fatalf("Failed to parse address: %v", err)
24+
}
25+
return address
26+
}
27+
28+
func identifier(ident string) *sdk.Identifier {
29+
identifier, err := sdk.NewIdentifier(ident)
30+
if err != nil {
31+
log.Fatalf("Failed to parse identifier: %v", err)
32+
}
33+
return identifier
34+
}
35+
1236
func main() {
1337
client := sdk.GraphQlClientNewDevnet()
1438

15-
sender, _ := sdk.AddressFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
16-
sponsor, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
39+
sender := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
40+
sponsor := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
1741

1842
builder := sdk.TransactionBuilderInit(sender, client)
1943

2044
packageAddr := sdk.AddressStdLib()
21-
moduleName, _ := sdk.NewIdentifier("u8")
22-
functionName, _ := sdk.NewIdentifier("max")
45+
moduleName := identifier("u8")
46+
functionName := identifier("max")
2347

2448
builder.MoveCall(
2549
packageAddr,
@@ -30,7 +54,7 @@ func main() {
3054
nil,
3155
)
3256

33-
gasObjId, _ := sdk.ObjectIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
57+
gasObjId := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
3458
builder.Gas(gasObjId).Sponsor(sponsor)
3559

3660
txn, err := builder.Finish()

bindings/go/examples/gas_station/main.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,14 @@ import (
99
"log"
1010
)
1111

12+
func identifier(ident string) *sdk.Identifier {
13+
identifier, err := sdk.NewIdentifier(ident)
14+
if err != nil {
15+
log.Fatalf("Failed to parse identifier: %v", err)
16+
}
17+
return identifier
18+
}
19+
1220
func main() {
1321
client := sdk.GraphQlClientNewLocalnet()
1422
gasStationUrl := "http://0.0.0.0:9527"
@@ -20,8 +28,8 @@ func main() {
2028
builder := sdk.TransactionBuilderInit(sender, client)
2129

2230
package_id := sdk.AddressStdLib()
23-
module_name, _ := sdk.NewIdentifier("u64")
24-
function_name, _ := sdk.NewIdentifier("sqrt")
31+
module_name := identifier("u64")
32+
function_name := identifier("sqrt")
2533

2634
builder.MoveCall(
2735
package_id,

bindings/go/examples/generic_move_function/main.go

Lines changed: 21 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,19 +10,35 @@ import (
1010
sdk "bindings/iota_sdk_ffi"
1111
)
1212

13+
func addrFromHex(hex string) *sdk.Address {
14+
address, err := sdk.AddressFromHex(hex)
15+
if err != nil {
16+
log.Fatalf("Failed to parse address: %v", err)
17+
}
18+
return address
19+
}
20+
21+
func identifier(ident string) *sdk.Identifier {
22+
identifier, err := sdk.NewIdentifier(ident)
23+
if err != nil {
24+
log.Fatalf("Failed to parse identifier: %v", err)
25+
}
26+
return identifier
27+
}
28+
1329
func main() {
1430
client := sdk.GraphQlClientNewDevnet()
1531

16-
sender, _ := sdk.AddressFromHex("0x71b4b4f171b4355ff691b7c470579cf1a926f96f724e5f9a30efc4b5f75d085e")
32+
sender := addrFromHex("0x71b4b4f171b4355ff691b7c470579cf1a926f96f724e5f9a30efc4b5f75d085e")
1733

1834
builder := sdk.TransactionBuilderInit(sender, client)
1935

20-
addr1, _ := sdk.AddressFromHex("0xde49ea53fbadee67d3e35a097cdbea210b659676fc680a0b0c5f11d0763d375e")
21-
addr2, _ := sdk.AddressFromHex("0xe512234aa4ef6184c52663f09612b68f040dd0c45de037d96190a071ca5525b3")
36+
addr1 := addrFromHex("0xde49ea53fbadee67d3e35a097cdbea210b659676fc680a0b0c5f11d0763d375e")
37+
addr2 := addrFromHex("0xe512234aa4ef6184c52663f09612b68f040dd0c45de037d96190a071ca5525b3")
2238

2339
package_id := sdk.AddressFramework()
24-
module_name, _ := sdk.NewIdentifier("vec_map")
25-
function_name, _ := sdk.NewIdentifier("from_keys_values")
40+
module_name := identifier("vec_map")
41+
function_name := identifier("from_keys_values")
2642

2743
builder.MoveCall(
2844
package_id,

bindings/go/examples/get_object/main.go

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,18 @@ import (
1010
sdk "bindings/iota_sdk_ffi"
1111
)
1212

13-
func main() {
14-
client := sdk.GraphQlClientNewDevnet()
15-
16-
objectID, err := sdk.ObjectIdFromHex("0x20c056090c3dd1604fcfd7ea759781de650aa45323738e799365d0c28bebeb1e")
13+
func objIdFromHex(hex string) *sdk.ObjectId {
14+
id, err := sdk.ObjectIdFromHex(hex)
1715
if err != nil {
1816
log.Fatalf("Failed to parse object ID: %v", err)
1917
}
18+
return id
19+
}
20+
21+
func main() {
22+
client := sdk.GraphQlClientNewDevnet()
23+
24+
objectID := objIdFromHex("0x20c056090c3dd1604fcfd7ea759781de650aa45323738e799365d0c28bebeb1e")
2025

2126
objOpt, err := client.Object(objectID, nil)
2227
if err.(*sdk.SdkFfiError) != nil {

bindings/go/examples/prepare_merge_coins/main.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,13 +9,29 @@ import (
99
sdk "bindings/iota_sdk_ffi"
1010
)
1111

12+
func objIdFromHex(hex string) *sdk.PtbArgument {
13+
id, err := sdk.PtbArgumentObjectIdFromHex(hex)
14+
if err != nil {
15+
log.Fatalf("Failed to parse object ID: %v", err)
16+
}
17+
return id
18+
}
19+
20+
func addrFromHex(hex string) *sdk.Address {
21+
address, err := sdk.AddressFromHex(hex)
22+
if err != nil {
23+
log.Fatalf("Failed to parse address: %v", err)
24+
}
25+
return address
26+
}
27+
1228
func main() {
1329
client := sdk.GraphQlClientNewDevnet()
1430

15-
sender, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
31+
sender := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
1632

17-
coin0, _ := sdk.PtbArgumentObjectIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
18-
coin1, _ := sdk.PtbArgumentObjectIdFromHex("0xd04077fe3b6fad13b3d4ed0d535b7ca92afcac8f0f2a0e0925fb9f4f0b30c699")
33+
coin0 := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
34+
coin1 := objIdFromHex("0xd04077fe3b6fad13b3d4ed0d535b7ca92afcac8f0f2a0e0925fb9f4f0b30c699")
1935

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

bindings/go/examples/prepare_send_coins/main.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,31 @@ import (
99
sdk "bindings/iota_sdk_ffi"
1010
)
1111

12+
func objIdFromHex(hex string) *sdk.PtbArgument {
13+
id, err := sdk.PtbArgumentObjectIdFromHex(hex)
14+
if err != nil {
15+
log.Fatalf("Failed to parse object ID: %v", err)
16+
}
17+
return id
18+
}
19+
20+
func addrFromHex(hex string) *sdk.Address {
21+
address, err := sdk.AddressFromHex(hex)
22+
if err != nil {
23+
log.Fatalf("Failed to parse address: %v", err)
24+
}
25+
return address
26+
}
27+
1228
func main() {
1329
client := sdk.GraphQlClientNewDevnet()
1430

15-
fromAddress, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
16-
toAddress, _ := sdk.AddressFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
31+
fromAddress := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
32+
toAddress := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
1733

1834
// This is a coin of type
1935
// 0x3358bea865960fea2a1c6844b6fc365f662463dd1821f619838eb2e606a53b6a::cert::CERT
20-
coinObjId, _ := sdk.PtbArgumentObjectIdFromHex("0x8ef4259fa2a3499826fa4b8aebeb1d8e478cf5397d05361c96438940b43d28c9")
36+
coinObjId := objIdFromHex("0x8ef4259fa2a3499826fa4b8aebeb1d8e478cf5397d05361c96438940b43d28c9")
2137
amount := sdk.PtbArgumentU64(50000000000)
2238

2339
builder := sdk.TransactionBuilderInit(fromAddress, client)

bindings/go/examples/prepare_send_iota/main.go

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,20 @@ import (
99
sdk "bindings/iota_sdk_ffi"
1010
)
1111

12+
func addrFromHex(hex string) *sdk.Address {
13+
address, err := sdk.AddressFromHex(hex)
14+
if err != nil {
15+
log.Fatalf("Failed to parse address: %v", err)
16+
}
17+
return address
18+
}
19+
1220
func main() {
1321
client := sdk.GraphQlClientNewDevnet()
1422

15-
fromAddress, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
23+
fromAddress := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
1624

17-
toAddress, _ := sdk.AddressFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
25+
toAddress := addrFromHex("0x0000a4984bd495d4346fa208ddff4f5d5e5ad48c21dec631ddebc99809f16900")
1826

1927
builder := sdk.TransactionBuilderInit(fromAddress, client)
2028
builder.SendIota(toAddress, sdk.PtbArgumentU64(5000000000))

bindings/go/examples/prepare_send_iota_multi/main.go

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,28 @@ import (
1010
sdk "bindings/iota_sdk_ffi"
1111
)
1212

13+
func objIdFromHex(hex string) *sdk.ObjectId {
14+
id, err := sdk.ObjectIdFromHex(hex)
15+
if err != nil {
16+
log.Fatalf("Failed to parse object ID: %v", err)
17+
}
18+
return id
19+
}
20+
21+
func addrFromHex(hex string) *sdk.Address {
22+
address, err := sdk.AddressFromHex(hex)
23+
if err != nil {
24+
log.Fatalf("Failed to parse address: %v", err)
25+
}
26+
return address
27+
}
28+
1329
func main() {
1430
client := sdk.GraphQlClientNewDevnet()
1531

16-
sender, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
32+
sender := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
1733

18-
coinId, _ := sdk.ObjectIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
34+
coinId := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
1935

2036
recipients := []struct {
2137
address string
@@ -39,7 +55,7 @@ func main() {
3955
builder.SplitCoins(sdk.PtbArgumentObjectId(coinId), amounts, labels)
4056

4157
for idx, r := range recipients {
42-
recipient, _ := sdk.AddressFromHex(r.address)
58+
recipient := addrFromHex(r.address)
4359
builder.TransferObjects(recipient, []*sdk.PtbArgument{sdk.PtbArgumentRes(labels[idx])})
4460
}
4561

bindings/go/examples/prepare_split_coins/main.go

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,28 @@ import (
99
sdk "bindings/iota_sdk_ffi"
1010
)
1111

12+
func objIdFromHex(hex string) *sdk.ObjectId {
13+
id, err := sdk.ObjectIdFromHex(hex)
14+
if err != nil {
15+
log.Fatalf("Failed to parse object ID: %v", err)
16+
}
17+
return id
18+
}
19+
20+
func addrFromHex(hex string) *sdk.Address {
21+
address, err := sdk.AddressFromHex(hex)
22+
if err != nil {
23+
log.Fatalf("Failed to parse address: %v", err)
24+
}
25+
return address
26+
}
27+
1228
func main() {
1329
client := sdk.GraphQlClientNewDevnet()
1430

15-
sender, _ := sdk.AddressFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
31+
sender := addrFromHex("0x611830d3641a68f94a690dcc25d1f4b0dac948325ac18f6dd32564371735f32c")
1632

17-
coinObjId, _ := sdk.ObjectIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
33+
coinObjId := objIdFromHex("0x0b0270ee9d27da0db09651e5f7338dfa32c7ee6441ccefa1f6e305735bcfc7ab")
1834

1935
builder := sdk.TransactionBuilderInit(sender, client)
2036
builder.SplitCoins(

0 commit comments

Comments
 (0)