Skip to content

Commit 03ce7c5

Browse files
Use Serialise and Deserialise options to types and makes its Globally accessible (#75)
* add global serde option * rename function * remove debug statement * use defer Co-authored-by: Miguel Hervas <miguel.hervas.lazaro@gmail.com>
1 parent 81b79f8 commit 03ce7c5

42 files changed

Lines changed: 164 additions & 215 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

client/client.go

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ import (
2222

2323
"github.com/centrifuge/go-substrate-rpc-client/config"
2424
gethrpc "github.com/centrifuge/go-substrate-rpc-client/gethrpc"
25-
"github.com/centrifuge/go-substrate-rpc-client/scale"
2625
"github.com/centrifuge/go-substrate-rpc-client/types"
2726
)
2827

@@ -34,11 +33,6 @@ type Client interface {
3433
*gethrpc.ClientSubscription, error)
3534

3635
URL() string
37-
38-
//MetaData(cache bool) (*MetadataVersioned, error)
39-
Opts() scale.EncoderOptions
40-
41-
SetOpts(options scale.EncoderOptions)
4236
}
4337

4438
type client struct {
@@ -50,17 +44,6 @@ type client struct {
5044
//metadataVersioned *MetadataVersioned
5145

5246
//metadataLock sync.RWMutex
53-
opts scale.EncoderOptions
54-
}
55-
56-
// Opts returns the Encoding Options required for this client
57-
func (c client) Opts() scale.EncoderOptions {
58-
return c.opts
59-
}
60-
61-
// SetOpts sets Encoder Options on client struct
62-
func (c *client) SetOpts(options scale.EncoderOptions) {
63-
c.opts = options
6447
}
6548

6649
// URL returns the URL the client connects to
@@ -99,7 +82,7 @@ func Connect(url string) (Client, error) {
9982
if err != nil {
10083
return nil, err
10184
}
102-
cc := client{*c, url, scale.EncoderOptions{}}
85+
cc := client{*c, url}
10386
return &cc, nil
10487
}
10588

main_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ func Example_listenToBalanceChange() {
134134
// inner loop for the changes within one of those notifications
135135
for _, chng := range (<-sub.Chan()).Changes {
136136
var current types.U128
137-
if err = types.DecodeFromBytes(chng.StorageData, &current, api.Client.Opts()); err != nil {
137+
if err = types.DecodeFromBytes(chng.StorageData, &current); err != nil {
138138
panic(err)
139139
}
140140

rpc/author/pending_extrinsics.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (a *Author) PendingExtrinsics() ([]types.Extrinsic, error) {
3333
xts := make([]types.Extrinsic, len(res))
3434

3535
for i, re := range res {
36-
err = types.DecodeFromHexString(re, &xts[i], a.client.Opts())
36+
err = types.DecodeFromHexString(re, &xts[i])
3737
if err != nil {
3838
return nil, err
3939
}

rpc/author/submit_and_watch_extrinsic.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ func (a *Author) SubmitAndWatchExtrinsic(xt types.Extrinsic) (*ExtrinsicStatusSu
6868

6969
c := make(chan types.ExtrinsicStatus)
7070

71-
enc, err := types.EncodeToHexString(xt, xt.Opts)
71+
enc, err := types.EncodeToHexString(xt)
7272
if err != nil {
7373
return nil, err
7474
}

rpc/author/submit_extrinsic.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import "github.com/centrifuge/go-substrate-rpc-client/types"
2020

2121
// SubmitExtrinsic will submit a fully formatted extrinsic for block inclusion
2222
func (a *Author) SubmitExtrinsic(xt types.Extrinsic) (types.Hash, error) {
23-
enc, err := types.EncodeToHexString(xt, xt.Opts)
23+
enc, err := types.EncodeToHexString(xt)
2424
if err != nil {
2525
return types.Hash{}, err
2626
}

rpc/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ func NewRPC(cl client.Client) (*RPC, error) {
4040
return nil, err
4141
}
4242

43-
opts := types.BuildOptsFromMetadata(meta)
44-
cl.SetOpts(opts)
43+
opts := types.SerDeOptionsFromMetadata(meta)
44+
types.SetSerDeOptions(opts)
4545

4646
return &RPC{
4747
Author: author.NewAuthor(cl),

rpc/state/get_child_keys.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ func (s *State) getChildKeys(childStorageKey, prefix types.StorageKey, blockHash
4242

4343
keys := make([]types.StorageKey, len(res))
4444
for i, r := range res {
45-
err = types.DecodeFromHexString(r, &keys[i], s.client.Opts())
45+
err = types.DecodeFromHexString(r, &keys[i])
4646
if err != nil {
4747
return nil, err
4848
}

rpc/state/get_child_storage.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (s *State) GetChildStorage(childStorageKey, key types.StorageKey, target in
3232
if len(*raw) == 0 {
3333
return false, nil
3434
}
35-
return true, types.DecodeFromBytes(*raw, target, s.client.Opts())
35+
return true, types.DecodeFromBytes(*raw, target)
3636
}
3737

3838
// GetChildStorageLatest retreives the child storage for a key for the latest block height and decodes them into the
@@ -45,7 +45,7 @@ func (s *State) GetChildStorageLatest(childStorageKey, key types.StorageKey, tar
4545
if len(*raw) == 0 {
4646
return false, nil
4747
}
48-
return true, types.DecodeFromBytes(*raw, target, s.client.Opts())
48+
return true, types.DecodeFromBytes(*raw, target)
4949
}
5050

5151
// GetChildStorageRaw retreives the child storage for a key as raw bytes, without decoding them

rpc/state/get_keys.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ func (s *State) getKeys(prefix types.StorageKey, blockHash *types.Hash) ([]types
4040

4141
keys := make([]types.StorageKey, len(res))
4242
for i, r := range res {
43-
err = types.DecodeFromHexString(r, &keys[i], s.client.Opts())
43+
err = types.DecodeFromHexString(r, &keys[i])
4444
if err != nil {
4545
return nil, err
4646
}

rpc/state/get_metadata.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,6 @@ func (s *State) getMetadata(blockHash *types.Hash) (*types.Metadata, error) {
3939
}
4040

4141
var metadata types.Metadata
42-
err = types.DecodeFromHexString(res, &metadata, s.client.Opts())
42+
err = types.DecodeFromHexString(res, &metadata)
4343
return &metadata, err
4444
}

0 commit comments

Comments
 (0)