2023-04-27 14:57:27 +00:00
|
|
|
package netmap
|
|
|
|
|
|
|
|
import (
|
2024-10-21 13:27:28 +00:00
|
|
|
"context"
|
|
|
|
|
2023-04-27 14:57:27 +00:00
|
|
|
netmapclient "git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/client/netmap"
|
|
|
|
"git.frostfs.info/TrueCloudLab/frostfs-sdk-go/netmap"
|
|
|
|
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
|
|
|
|
"github.com/nspcc-dev/neo-go/pkg/encoding/fixedn"
|
|
|
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
|
|
|
)
|
|
|
|
|
|
|
|
func NewNetmapClient(netmapClient *netmapclient.Client) Client {
|
|
|
|
return &netmapClientWrapper{
|
|
|
|
netmapClient: netmapClient,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
type netmapClientWrapper struct {
|
|
|
|
netmapClient *netmapclient.Client
|
|
|
|
}
|
|
|
|
|
2024-10-21 13:27:28 +00:00
|
|
|
func (w *netmapClientWrapper) UpdatePeerState(ctx context.Context, p netmapclient.UpdatePeerPrm) error {
|
|
|
|
_, err := w.netmapClient.UpdatePeerState(ctx, p)
|
2023-11-08 09:05:03 +00:00
|
|
|
return err
|
2023-04-27 14:57:27 +00:00
|
|
|
}
|
|
|
|
|
2024-10-21 13:27:28 +00:00
|
|
|
func (w *netmapClientWrapper) MorphNotaryInvoke(ctx context.Context, contract util.Uint160, fee fixedn.Fixed8, nonce uint32, vub *uint32, method string, args ...any) error {
|
|
|
|
_, err := w.netmapClient.Morph().NotaryInvoke(ctx, contract, fee, nonce, vub, method, args...)
|
2023-11-07 15:13:26 +00:00
|
|
|
return err
|
2023-04-27 14:57:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) ContractAddress() util.Uint160 {
|
|
|
|
return w.netmapClient.ContractAddress()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) EpochDuration() (uint64, error) {
|
|
|
|
return w.netmapClient.EpochDuration()
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) MorphTxHeight(h util.Uint256) (res uint32, err error) {
|
|
|
|
return w.netmapClient.Morph().TxHeight(h)
|
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) NetMap() (*netmap.NetMap, error) {
|
|
|
|
return w.netmapClient.NetMap()
|
|
|
|
}
|
|
|
|
|
2024-10-21 13:27:28 +00:00
|
|
|
func (w *netmapClientWrapper) NewEpoch(ctx context.Context, epoch uint64) error {
|
|
|
|
return w.netmapClient.NewEpoch(ctx, epoch)
|
2023-04-27 14:57:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) MorphIsValidScript(script []byte, signers []transaction.Signer) (valid bool, err error) {
|
|
|
|
return w.netmapClient.Morph().IsValidScript(script, signers)
|
|
|
|
}
|
|
|
|
|
2024-10-21 13:27:28 +00:00
|
|
|
func (w *netmapClientWrapper) AddPeer(ctx context.Context, p netmapclient.AddPeerPrm) error {
|
|
|
|
return w.netmapClient.AddPeer(ctx, p)
|
2023-04-27 14:57:27 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
func (w *netmapClientWrapper) MorphNotarySignAndInvokeTX(mainTx *transaction.Transaction) error {
|
|
|
|
return w.netmapClient.Morph().NotarySignAndInvokeTX(mainTx)
|
|
|
|
}
|