Skip to content

Commit

Permalink
chore: In gnoclient, refactor signAndBroadcastTxCommit into SignTx an…
Browse files Browse the repository at this point in the history
…d BroadcastTxCommit

Also add MakeCallTx, MakeRunTx, MakeSendTx and MakeAddPackageTx to support signing separately.

Signed-off-by: Jeff Thompson <[email protected]>
  • Loading branch information
jefft0 committed Jul 31, 2024
1 parent 5f28803 commit 10550df
Show file tree
Hide file tree
Showing 3 changed files with 267 additions and 45 deletions.
47 changes: 47 additions & 0 deletions gno.land/pkg/gnoclient/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,18 @@ func TestCallSingle(t *testing.T) {
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, string(res.DeliverTx.Data), "it works!")

// Test signing separately
tx, err := client.MakeCallTx(cfg, msg...)
assert.NoError(t, err)
require.NotNil(t, tx)
signedTx, err := client.SignTx(*tx, cfg.AccountNumber, cfg.SequenceNumber)
assert.NoError(t, err)
require.NotNil(t, signedTx)
res, err = client.BroadcastTxCommit(signedTx)
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, string(res.DeliverTx.Data), "it works!")
}

func TestCallMultiple(t *testing.T) {
Expand Down Expand Up @@ -177,6 +189,17 @@ func TestCallMultiple(t *testing.T) {
res, err := client.Call(cfg, msg...)
assert.NoError(t, err)
assert.NotNil(t, res)

// Test signing separately
tx, err := client.MakeCallTx(cfg, msg...)
assert.NoError(t, err)
require.NotNil(t, tx)
signedTx, err := client.SignTx(*tx, cfg.AccountNumber, cfg.SequenceNumber)
assert.NoError(t, err)
require.NotNil(t, signedTx)
res, err = client.BroadcastTxCommit(signedTx)
assert.NoError(t, err)
require.NotNil(t, res)
}

func TestCallErrors(t *testing.T) {
Expand Down Expand Up @@ -618,6 +641,18 @@ func main() {
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, "hi gnoclient!\n", string(res.DeliverTx.Data))

// Test signing separately
tx, err := client.MakeRunTx(cfg, msg)
assert.NoError(t, err)
require.NotNil(t, tx)
signedTx, err := client.SignTx(*tx, cfg.AccountNumber, cfg.SequenceNumber)
assert.NoError(t, err)
require.NotNil(t, signedTx)
res, err = client.BroadcastTxCommit(signedTx)
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, "hi gnoclient!\n", string(res.DeliverTx.Data))
}

func TestRunMultiple(t *testing.T) {
Expand Down Expand Up @@ -697,6 +732,18 @@ func main() {
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, "hi gnoclient!\nhi gnoclient!\n", string(res.DeliverTx.Data))

// Test signing separately
tx, err := client.MakeRunTx(cfg, msg1, msg2)
assert.NoError(t, err)
require.NotNil(t, tx)
signedTx, err := client.SignTx(*tx, cfg.AccountNumber, cfg.SequenceNumber)
assert.NoError(t, err)
require.NotNil(t, signedTx)
res, err = client.BroadcastTxCommit(signedTx)
assert.NoError(t, err)
require.NotNil(t, res)
assert.Equal(t, "hi gnoclient!\nhi gnoclient!\n", string(res.DeliverTx.Data))
}

func TestRunErrors(t *testing.T) {
Expand Down
Loading

0 comments on commit 10550df

Please sign in to comment.