forked from TrueCloudLab/frostfs-node
[#496] morph/client: fallback to simple invoke in NotaryInvoke
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
This commit is contained in:
parent
2e31cd34e6
commit
b5cda8cd41
7 changed files with 23 additions and 104 deletions
|
@ -27,9 +27,5 @@ func AlphabetVote(cli *client.Client, con util.Uint160, fee SideFeeProvider, epo
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), voteMethod, int64(epoch), keys)
|
||||||
return cli.Invoke(con, fee.SideChainFee(), voteMethod, int64(epoch), keys)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, voteMethod, int64(epoch), keys)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,15 +37,7 @@ func Mint(cli *client.Client, con util.Uint160, fee SideFeeProvider, p *MintBurn
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), mintMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), mintMethod,
|
|
||||||
p.ScriptHash,
|
|
||||||
p.Amount,
|
|
||||||
p.Comment,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, mintMethod,
|
|
||||||
p.ScriptHash,
|
p.ScriptHash,
|
||||||
p.Amount,
|
p.Amount,
|
||||||
p.Comment,
|
p.Comment,
|
||||||
|
@ -58,15 +50,7 @@ func Burn(cli *client.Client, con util.Uint160, fee SideFeeProvider, p *MintBurn
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), burnMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), burnMethod,
|
|
||||||
p.ScriptHash,
|
|
||||||
p.Amount,
|
|
||||||
p.Comment,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, burnMethod,
|
|
||||||
p.ScriptHash,
|
p.ScriptHash,
|
||||||
p.Amount,
|
p.Amount,
|
||||||
p.Comment,
|
p.Comment,
|
||||||
|
@ -79,17 +63,7 @@ func LockAsset(cli *client.Client, con util.Uint160, fee SideFeeProvider, p *Loc
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), lockMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), lockMethod,
|
|
||||||
p.ID,
|
|
||||||
p.User.BytesBE(),
|
|
||||||
p.LockAccount.BytesBE(),
|
|
||||||
p.Amount,
|
|
||||||
int64(p.Until),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, lockMethod,
|
|
||||||
p.ID,
|
p.ID,
|
||||||
p.User.BytesBE(),
|
p.User.BytesBE(),
|
||||||
p.LockAccount.BytesBE(),
|
p.LockAccount.BytesBE(),
|
||||||
|
|
|
@ -32,15 +32,7 @@ func RegisterContainer(cli *client.Client, con util.Uint160, fee SideFeeProvider
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), putContainerMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), putContainerMethod,
|
|
||||||
p.Container,
|
|
||||||
p.Signature,
|
|
||||||
p.Key.Bytes(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, putContainerMethod,
|
|
||||||
p.Container,
|
p.Container,
|
||||||
p.Signature,
|
p.Signature,
|
||||||
p.Key.Bytes(),
|
p.Key.Bytes(),
|
||||||
|
@ -53,14 +45,7 @@ func RemoveContainer(cli *client.Client, con util.Uint160, fee SideFeeProvider,
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), deleteContainerMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), deleteContainerMethod,
|
|
||||||
p.ContainerID,
|
|
||||||
p.Signature,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, deleteContainerMethod,
|
|
||||||
p.ContainerID,
|
p.ContainerID,
|
||||||
p.Signature,
|
p.Signature,
|
||||||
)
|
)
|
||||||
|
|
|
@ -36,16 +36,7 @@ func CashOutCheque(cli *client.Client, con util.Uint160, fee MainFeeProvider, p
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.MainChainFee(), chequeMethod,
|
||||||
return cli.Invoke(con, fee.MainChainFee(), chequeMethod,
|
|
||||||
p.ID,
|
|
||||||
p.User.BytesBE(),
|
|
||||||
p.Amount,
|
|
||||||
p.LockAccount.BytesBE(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, chequeMethod,
|
|
||||||
p.ID,
|
p.ID,
|
||||||
p.User.BytesBE(),
|
p.User.BytesBE(),
|
||||||
p.Amount,
|
p.Amount,
|
||||||
|
@ -59,9 +50,5 @@ func AlphabetUpdate(cli *client.Client, con util.Uint160, fee MainFeeProvider, i
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.MainChainFee(), alphabetUpdateMethod, id, list)
|
||||||
return cli.Invoke(con, fee.MainChainFee(), alphabetUpdateMethod, id, list)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, alphabetUpdateMethod, id, list)
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,11 +59,7 @@ func SetNewEpoch(cli *client.Client, con util.Uint160, fee SideFeeProvider, epoc
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), setNewEpochMethod, int64(epoch))
|
||||||
return cli.Invoke(con, fee.SideChainFee(), setNewEpochMethod, int64(epoch))
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, setNewEpochMethod, int64(epoch))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ApprovePeer invokes addPeer method.
|
// ApprovePeer invokes addPeer method.
|
||||||
|
@ -72,11 +68,7 @@ func ApprovePeer(cli *client.Client, con util.Uint160, fee SideFeeProvider, peer
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), approvePeerMethod, peer)
|
||||||
return cli.Invoke(con, fee.SideChainFee(), approvePeerMethod, peer)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, approvePeerMethod, peer)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdatePeerState invokes addPeer method.
|
// UpdatePeerState invokes addPeer method.
|
||||||
|
@ -85,14 +77,7 @@ func UpdatePeerState(cli *client.Client, con util.Uint160, fee SideFeeProvider,
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), updatePeerStateMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), updatePeerStateMethod,
|
|
||||||
int64(args.Status.ToV2()),
|
|
||||||
args.Key.Bytes(),
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, updatePeerStateMethod,
|
|
||||||
int64(args.Status.ToV2()),
|
int64(args.Status.ToV2()),
|
||||||
args.Key.Bytes(),
|
args.Key.Bytes(),
|
||||||
)
|
)
|
||||||
|
@ -104,15 +89,7 @@ func SetConfig(cli *client.Client, con util.Uint160, fee SideFeeProvider, args *
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), setConfigMethod,
|
||||||
return cli.Invoke(con, fee.SideChainFee(), setConfigMethod,
|
|
||||||
args.ID,
|
|
||||||
args.Key,
|
|
||||||
args.Value,
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, setConfigMethod,
|
|
||||||
args.ID,
|
args.ID,
|
||||||
args.Key,
|
args.Key,
|
||||||
args.Value,
|
args.Value,
|
||||||
|
@ -126,11 +103,7 @@ func SetInnerRing(cli *client.Client, con util.Uint160, fee SideFeeProvider, lis
|
||||||
return client.ErrNilClient
|
return client.ErrNilClient
|
||||||
}
|
}
|
||||||
|
|
||||||
if !cli.NotaryEnabled() {
|
return cli.NotaryInvoke(con, fee.SideChainFee(), setInnerRingMethod, list)
|
||||||
return cli.Invoke(con, fee.SideChainFee(), setInnerRingMethod, list)
|
|
||||||
}
|
|
||||||
|
|
||||||
return cli.NotaryInvoke(con, setInnerRingMethod, list)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// NetmapSnapshot returns current netmap node infos.
|
// NetmapSnapshot returns current netmap node infos.
|
||||||
|
|
|
@ -200,14 +200,14 @@ func (c *Client) UpdateNeoFSAlphabetList(list keys.PublicKeys) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotaryInvoke invokes contract method by sending tx to notary contract in
|
// NotaryInvoke invokes contract method by sending tx to notary contract in
|
||||||
// blockchain. Fallback tx is a `RET`. Notary support should be enabled
|
// blockchain. Fallback tx is a `RET`. If Notary support is not enabled
|
||||||
// in client to use this function.
|
// it fallbacks to a simple `Invoke()`.
|
||||||
//
|
//
|
||||||
// This function must be invoked after `EnableNotarySupport()` otherwise it
|
// This function must be invoked after `EnableNotarySupport()` otherwise it
|
||||||
// throws panic.
|
// throws panic.
|
||||||
func (c *Client) NotaryInvoke(contract util.Uint160, method string, args ...interface{}) error {
|
func (c *Client) NotaryInvoke(contract util.Uint160, fee fixedn.Fixed8, method string, args ...interface{}) error {
|
||||||
if c.notary == nil {
|
if c.notary == nil {
|
||||||
panic(notaryNotEnabledPanicMsg)
|
return c.Invoke(contract, fee, method, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
return c.notaryInvoke(false, contract, method, args...)
|
return c.notaryInvoke(false, contract, method, args...)
|
||||||
|
|
|
@ -63,10 +63,14 @@ func (s StaticClient) TestInvoke(method string, args ...interface{}) ([]stackite
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotaryInvoke calls NotaryInvoke method of Client with static internal
|
// NotaryInvoke calls NotaryInvoke method of Client with static internal
|
||||||
// script hash. Returns error if notary support was not enabled in underlying
|
// script hash. Panics if notary support was not enabled in underlying
|
||||||
// moprh client.
|
// moprh client.
|
||||||
func (s StaticClient) NotaryInvoke(method string, args ...interface{}) error {
|
func (s StaticClient) NotaryInvoke(method string, args ...interface{}) error {
|
||||||
return s.client.NotaryInvoke(
|
if s.client.notary == nil {
|
||||||
|
panic(notaryNotEnabledPanicMsg)
|
||||||
|
}
|
||||||
|
return s.client.notaryInvoke(
|
||||||
|
false,
|
||||||
s.scScriptHash,
|
s.scScriptHash,
|
||||||
method,
|
method,
|
||||||
args...,
|
args...,
|
||||||
|
|
Loading…
Reference in a new issue