[#1538] morph/container: Make opts struct similar to that of other contracts

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
Evgenii Stratonikov 2024-12-04 15:28:33 +03:00
parent 6a51086030
commit 84b4051b4d
Signed by: fyrchik
SSH key fingerprint: SHA256:m/TTwCzjnRkXgnzEx9X92ccxy1CcVeinOgDb3NPWWmg

View file

@ -46,7 +46,7 @@ func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8,
opts[i](o)
}
sc, err := client.NewStatic(cli, contract, fee, o.staticOpts...)
sc, err := client.NewStatic(cli, contract, fee, *o...)
if err != nil {
return nil, fmt.Errorf("create 'container' contract client: %w", err)
}
@ -68,12 +68,10 @@ func (c Client) ContractAddress() util.Uint160 {
// parameter of Wrapper.
type Option func(*opts)
type opts struct {
staticOpts []client.StaticClientOption
}
type opts []client.StaticClientOption
func defaultOpts() *opts {
return &opts{staticOpts: []client.StaticClientOption{client.TryNotary()}}
return &opts{client.TryNotary()}
}
// AsAlphabet returns option to sign main TX
@ -83,6 +81,6 @@ func defaultOpts() *opts {
// Considered to be used by IR nodes only.
func AsAlphabet() Option {
return func(o *opts) {
o.staticOpts = append(o.staticOpts, client.AsAlphabet())
*o = append(*o, client.AsAlphabet())
}
}