Skip to content

Commit a6eb7d7

Browse files
committed
Golang support for custom u128 types
1 parent ebfdaab commit a6eb7d7

File tree

6 files changed

+34
-14
lines changed

6 files changed

+34
-14
lines changed

crates/breez-sdk/common/uniffi.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,12 @@ from_custom = "str({})"
3434
typeName = "bigint"
3535
intoCustom = "BigInt({})"
3636
fromCustom = "{}.toString()"
37+
38+
[bindings.go.custom_types.common_u128]
39+
type_name = "*big.Int"
40+
imports = [ "math/big" ]
41+
into_custom = """
42+
result, _ := new(big.Int).SetString({}, 10)
43+
return result
44+
"""
45+
from_custom = "{}.String()"

crates/breez-sdk/core/uniffi.toml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,12 @@ from_custom = "str({})"
3434
typeName = "bigint"
3535
intoCustom = "BigInt({})"
3636
fromCustom = "{}.toString()"
37+
38+
[bindings.go.custom_types.u128]
39+
type_name = "*big.Int"
40+
imports = [ "math/big" ]
41+
into_custom = """
42+
result, _ := new(big.Int).SetString({}, 10)
43+
return result
44+
"""
45+
from_custom = "{}.String()"

docs/breez-sdk/snippets/go/getting_started.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,10 +65,11 @@ func InitSdkAdvanced() (*breez_sdk_spark.BreezSdk, error) {
6565

6666
func FetchBalance(sdk *breez_sdk_spark.BreezSdk) error {
6767
// ANCHOR: fetch-balance
68+
ensureSynced := false
6869
info, err := sdk.GetInfo(breez_sdk_spark.GetInfoRequest{
6970
// EnsureSynced: true will ensure the SDK is synced with the Spark network
7071
// before returning the balance
71-
EnsureSynced: false,
72+
EnsureSynced: &ensureSynced,
7273
})
7374

7475
if sdkErr := err.(*breez_sdk_spark.SdkError); sdkErr != nil {

docs/breez-sdk/snippets/go/lightning_address.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ func ConfigLightningAddress() *breez_sdk_spark.Config {
1212
config.ApiKey = &apiKey
1313
config.LnurlDomain = &lnurlDomain
1414
// ANCHOR_END: config-lightning-address
15-
return config
15+
return &config
1616
}
1717

1818
func CheckLightningAddressAvailability(sdk *breez_sdk_spark.BreezSdk) (bool, error) {
@@ -39,7 +39,7 @@ func RegisterLightningAddress(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.L
3939
// ANCHOR: register-lightning-address
4040
request := breez_sdk_spark.RegisterLightningAddressRequest{
4141
Username: username,
42-
Description: description,
42+
Description: &description,
4343
}
4444

4545
addressInfo, err := sdk.RegisterLightningAddress(request)
@@ -51,7 +51,7 @@ func RegisterLightningAddress(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.L
5151
_ = addressInfo.Lnurl
5252
// ANCHOR_END: register-lightning-address
5353

54-
return addressInfo, nil
54+
return &addressInfo, nil
5555
}
5656

5757
func GetLightningAddress(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.LightningAddressInfo, error) {

docs/breez-sdk/snippets/go/receive_payment.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ func WaitForPayment(sdk *breez_sdk_spark.BreezSdk, paymentRequest string) (*bree
7878
// Wait for a payment to be completed using a payment request
7979
request := breez_sdk_spark.WaitForPaymentRequest{
8080
Identifier: breez_sdk_spark.WaitForPaymentIdentifierPaymentRequest{
81-
PaymentRequest: paymentRequest,
81+
Field0: paymentRequest,
8282
},
8383
}
8484

@@ -88,7 +88,7 @@ func WaitForPayment(sdk *breez_sdk_spark.BreezSdk, paymentRequest string) (*bree
8888
return nil, err
8989
}
9090

91-
log.Printf("Payment received with ID: %v", response.payment.Id)
91+
log.Printf("Payment received with ID: %v", response.Payment.Id)
9292
// ANCHOR_END: wait-for-payment
93-
return &response.payment, nil
93+
return &response.Payment, nil
9494
}

docs/breez-sdk/snippets/go/send_payment.go

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package example
22

33
import (
44
"log"
5+
"math/big"
56

67
"github.com/breez/breez-sdk-spark-go/breez_sdk_spark"
78
)
@@ -10,11 +11,11 @@ func PrepareSendPaymentLightningBolt11(sdk *breez_sdk_spark.BreezSdk) (*breez_sd
1011
// ANCHOR: prepare-send-payment-lightning-bolt11
1112
paymentRequest := "<bolt11 invoice>"
1213
// Optionally set the amount you wish the pay the receiver
13-
optionalAmountSats := uint64(5_000)
14+
optionalAmountSats := new(big.Int).SetInt64(5_000)
1415

1516
request := breez_sdk_spark.PrepareSendPaymentRequest{
1617
PaymentRequest: paymentRequest,
17-
AmountSats: &optionalAmountSats,
18+
Amount: &optionalAmountSats,
1819
}
1920
response, err := sdk.PrepareSendPayment(request)
2021

@@ -40,11 +41,11 @@ func PrepareSendPaymentOnchain(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.
4041
// ANCHOR: prepare-send-payment-onchain
4142
paymentRequest := "<bitcoin address>"
4243
// Set the amount you wish the pay the receiver
43-
amountSats := uint64(50_000)
44+
amountSats := new(big.Int).SetInt64(50_000)
4445

4546
request := breez_sdk_spark.PrepareSendPaymentRequest{
4647
PaymentRequest: paymentRequest,
47-
AmountSats: &amountSats,
48+
Amount: &amountSats,
4849
}
4950
response, err := sdk.PrepareSendPayment(request)
5051

@@ -71,11 +72,11 @@ func PrepareSendPaymentSpark(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.Pr
7172
// ANCHOR: prepare-send-payment-spark
7273
paymentRequest := "<spark address>"
7374
// Set the amount you wish the pay the receiver
74-
amountSats := uint64(50_000)
75+
amountSats := new(big.Int).SetInt64(50_000)
7576

7677
request := breez_sdk_spark.PrepareSendPaymentRequest{
7778
PaymentRequest: paymentRequest,
78-
AmountSats: &amountSats,
79+
Amount: &amountSats,
7980
}
8081
response, err := sdk.PrepareSendPayment(request)
8182

@@ -86,7 +87,7 @@ func PrepareSendPaymentSpark(sdk *breez_sdk_spark.BreezSdk) (*breez_sdk_spark.Pr
8687
// If the fees are acceptable, continue to create the Send Payment
8788
switch paymentMethod := response.PaymentMethod.(type) {
8889
case breez_sdk_spark.SendPaymentMethodSparkAddress:
89-
feeSats := paymentMethod.FeeSats
90+
feeSats := paymentMethod.Fee
9091
log.Printf("Fees: %v sats", feeSats)
9192
}
9293
// ANCHOR_END: prepare-send-payment-spark

0 commit comments

Comments
 (0)