diff --git a/pkg/innerring/innerring.go b/pkg/innerring/innerring.go
index a81b1143c..cb5c16c2c 100644
--- a/pkg/innerring/innerring.go
+++ b/pkg/innerring/innerring.go
@@ -29,7 +29,7 @@ import (
 	timerEvent "github.com/nspcc-dev/neofs-node/pkg/innerring/timers"
 	"github.com/nspcc-dev/neofs-node/pkg/metrics"
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
-	auditWrapper "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit/wrapper"
+	auditClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
 	balanceClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
 	cntWrapper "github.com/nspcc-dev/neofs-node/pkg/morph/client/container/wrapper"
 	neofsClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/neofs"
@@ -74,7 +74,7 @@ type (
 		epochDuration atomic.Uint64
 		statusIndex   *innerRingIndexer
 		precision     precision.Fixed8Converter
-		auditClient   *auditWrapper.ClientWrapper
+		auditClient   *auditClient.Client
 		healthStatus  atomic.Value
 		balanceClient *balanceClient.Client
 		netmapClient  *nmClient.Client
@@ -463,7 +463,7 @@ func New(ctx context.Context, log *zap.Logger, cfg *viper.Viper) (*Server, error
 
 	// do not use TryNotary() in audit wrapper
 	// audit operations do not require multisignatures
-	server.auditClient, err = auditWrapper.NewFromMorph(server.morphClient, server.contracts.audit, fee)
+	server.auditClient, err = auditClient.NewFromMorph(server.morphClient, server.contracts.audit, fee)
 	if err != nil {
 		return nil, err
 	}
diff --git a/pkg/innerring/settlement.go b/pkg/innerring/settlement.go
index e63cae93b..57465aad6 100644
--- a/pkg/innerring/settlement.go
+++ b/pkg/innerring/settlement.go
@@ -14,7 +14,7 @@ import (
 	"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/settlement/audit"
 	"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/settlement/basic"
 	"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/settlement/common"
-	auditClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit/wrapper"
+	auditClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
 	balanceClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/balance"
 	containerClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/container/wrapper"
 	"github.com/nspcc-dev/neofs-node/pkg/util/logger"
@@ -40,7 +40,7 @@ type settlementDeps struct {
 
 	cnrSrc container.Source
 
-	auditClient *auditClient.ClientWrapper
+	auditClient *auditClient.Client
 
 	nmSrc netmap.Source
 
diff --git a/pkg/innerring/state.go b/pkg/innerring/state.go
index 0d225f103..1808cee64 100644
--- a/pkg/innerring/state.go
+++ b/pkg/innerring/state.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/nspcc-dev/neo-go/pkg/util"
 	"github.com/nspcc-dev/neofs-node/pkg/innerring/processors/governance"
-	auditwrp "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit/wrapper"
+	auditClient "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
 	"github.com/nspcc-dev/neofs-node/pkg/services/audit"
 	control "github.com/nspcc-dev/neofs-node/pkg/services/control/ir"
 	"github.com/nspcc-dev/neofs-node/pkg/util/state"
@@ -151,7 +151,7 @@ func (s *Server) WriteReport(r *audit.Report) error {
 	res := r.Result()
 	res.SetPublicKey(s.pubKey)
 
-	prm := auditwrp.PutPrm{}
+	prm := auditClient.PutPrm{}
 	prm.SetResult(res)
 
 	return s.auditClient.PutAuditResult(prm)
diff --git a/pkg/morph/client/audit/client.go b/pkg/morph/client/audit/client.go
index 6ca8d6a7e..da7485a94 100644
--- a/pkg/morph/client/audit/client.go
+++ b/pkg/morph/client/audit/client.go
@@ -1,6 +1,10 @@
 package audit
 
 import (
+	"fmt"
+
+	"github.com/nspcc-dev/neo-go/pkg/encoding/fixedn"
+	"github.com/nspcc-dev/neo-go/pkg/util"
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
 )
 
@@ -25,7 +29,12 @@ const (
 	listByNodeResultsMethod  = "listByNode"
 )
 
-// New creates, initializes and returns the Client instance.
-func New(c *client.StaticClient) *Client {
-	return &Client{client: c}
+// NewFromMorph returns the wrapper instance from the raw morph client.
+func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...client.StaticClientOption) (*Client, error) {
+	sc, err := client.NewStatic(cli, contract, fee, opts...)
+	if err != nil {
+		return nil, fmt.Errorf("could not create static client of audit contract: %w", err)
+	}
+
+	return &Client{client: sc}, nil
 }
diff --git a/pkg/morph/client/audit/get_result.go b/pkg/morph/client/audit/get_result.go
index eb0f61697..07ed581f2 100644
--- a/pkg/morph/client/audit/get_result.go
+++ b/pkg/morph/client/audit/get_result.go
@@ -4,51 +4,31 @@ import (
 	"fmt"
 
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
+	auditAPI "github.com/nspcc-dev/neofs-sdk-go/audit"
 )
 
-// GetAuditResultArgs groups the arguments
-// of "get audit result" invocation call.
-type GetAuditResultArgs struct {
-	id []byte
-}
+// GetAuditResult returns audit result structure stored in audit contract.
+func (c *Client) GetAuditResult(id ResultID) (*auditAPI.Result, error) {
+	prm := client.TestInvokePrm{}
+	prm.SetMethod(getResultMethod)
+	prm.SetArgs([]byte(id))
 
-// GetAuditResultValue groups the stack parameters
-// returned by "get audit result" test invoke.
-type GetAuditResultValue struct {
-	rawResult []byte
-}
-
-// SetID sets audit result ID generated by audit contract.
-func (g *GetAuditResultArgs) SetID(id []byte) {
-	g.id = id
-}
-
-// Result returns audit result structure in binary format.
-func (v *GetAuditResultValue) Result() []byte {
-	return v.rawResult
-}
-
-// GetAuditResult invokes the call of "get audit result" method
-// of NeoFS Audit contract.
-func (c *Client) GetAuditResult(args GetAuditResultArgs) (*GetAuditResultValue, error) {
-	invokePrm := client.TestInvokePrm{}
-
-	invokePrm.SetMethod(getResultMethod)
-	invokePrm.SetArgs(args.id)
-
-	prms, err := c.client.TestInvoke(invokePrm)
+	prms, err := c.client.TestInvoke(prm)
 	if err != nil {
 		return nil, fmt.Errorf("could not perform test invocation (%s): %w", getResultMethod, err)
 	} else if ln := len(prms); ln != 1 {
 		return nil, fmt.Errorf("unexpected stack item count (%s): %d", getResultMethod, ln)
 	}
 
-	resultBytes, err := client.BytesFromStackItem(prms[0])
+	value, err := client.BytesFromStackItem(prms[0])
 	if err != nil {
 		return nil, fmt.Errorf("could not get byte array from stack item (%s): %w", getResultMethod, err)
 	}
 
-	return &GetAuditResultValue{
-		rawResult: resultBytes,
-	}, nil
+	auditRes := auditAPI.NewResult()
+	if err := auditRes.Unmarshal(value); err != nil {
+		return nil, fmt.Errorf("could not unmarshal audit result structure: %w", err)
+	}
+
+	return auditRes, nil
 }
diff --git a/pkg/morph/client/audit/list_results.go b/pkg/morph/client/audit/list_results.go
index 3e2bfa289..30b187553 100644
--- a/pkg/morph/client/audit/list_results.go
+++ b/pkg/morph/client/audit/list_results.go
@@ -5,125 +5,74 @@ import (
 
 	"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
+	cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
 )
 
-// ListResultsArgs groups the arguments
-// of "list all audit result IDs" test invoke call.
-type ListResultsArgs struct{}
-
-// ListResultsByEpochArgs groups the arguments
-// of "list audit result IDs by epoch" test invoke call.
-type ListResultsByEpochArgs struct {
-	epoch int64
-}
-
-// ListResultsByCIDArgs groups the arguments
-// of "list audit result IDs by epoch and CID" test invoke call.
-type ListResultsByCIDArgs struct {
-	ListResultsByEpochArgs
-
-	cid []byte
-}
-
-// ListResultsByNodeArgs groups the arguments
-// of "list audit result IDs by epoch, CID, and node key" test invoke call.
-type ListResultsByNodeArgs struct {
-	ListResultsByCIDArgs
-
-	nodeKey []byte
-}
-
-// ListResultsValues groups the stack parameters
-// returned by "list audit results" test invoke.
-type ListResultsValues struct {
-	rawResults [][]byte // audit results in a binary format
-}
-
-// RawResults returns list of audit result IDs
-// in a binary format.
-func (v *ListResultsValues) RawResults() [][]byte {
-	return v.rawResults
-}
-
-// SetEpoch sets epoch of listing audit results.
-func (v *ListResultsByEpochArgs) SetEpoch(epoch int64) {
-	v.epoch = epoch
-}
-
-// SetCID sets container ID of listing audit results.
-func (v *ListResultsByCIDArgs) SetCID(cid []byte) {
-	v.cid = cid
-}
-
-// SetNodeKey sets public key of node that produced listing audit results.
-func (v *ListResultsByNodeArgs) SetNodeKey(key []byte) {
-	v.nodeKey = key
-}
-
-// ListAuditResults performs the test invoke of "list all audit result IDs"
-// method of NeoFS Audit contract.
-func (c *Client) ListAuditResults(args ListResultsArgs) (*ListResultsValues, error) {
+// ListAllAuditResultID returns a list of all audit result IDs inside audit contract.
+func (c *Client) ListAllAuditResultID() ([]ResultID, error) {
 	invokePrm := client.TestInvokePrm{}
-
 	invokePrm.SetMethod(listResultsMethod)
 
 	items, err := c.client.TestInvoke(invokePrm)
 	if err != nil {
 		return nil, fmt.Errorf("could not perform test invocation (%s): %w", listResultsMethod, err)
 	}
-
 	return parseAuditResults(items, listResultsMethod)
 }
 
-// ListAuditResultsByEpoch performs the test invoke of "list audit result IDs
-// by epoch" method of NeoFS Audit contract.
-func (c *Client) ListAuditResultsByEpoch(args ListResultsByEpochArgs) (*ListResultsValues, error) {
-	invokePrm := client.TestInvokePrm{}
+// ListAuditResultIDByEpoch returns a list of audit result IDs inside audit
+// contract for specific epoch number.
+func (c *Client) ListAuditResultIDByEpoch(epoch uint64) ([]ResultID, error) {
+	prm := client.TestInvokePrm{}
+	prm.SetMethod(listByEpochResultsMethod)
+	prm.SetArgs(int64(epoch))
 
-	invokePrm.SetMethod(listByEpochResultsMethod)
-	invokePrm.SetArgs(args.epoch)
-
-	items, err := c.client.TestInvoke(invokePrm)
+	items, err := c.client.TestInvoke(prm)
 	if err != nil {
 		return nil, fmt.Errorf("could not perform test invocation (%s): %w", listByEpochResultsMethod, err)
 	}
-
 	return parseAuditResults(items, listByEpochResultsMethod)
 }
 
-// ListAuditResultsByCID performs the test invoke of "list audit result IDs
-// by epoch and CID" method of NeoFS Audit contract.
-func (c *Client) ListAuditResultsByCID(args ListResultsByCIDArgs) (*ListResultsValues, error) {
-	invokePrm := client.TestInvokePrm{}
+// ListAuditResultIDByCID returns a list of audit result IDs inside audit
+// contract for specific epoch number and container ID.
+func (c *Client) ListAuditResultIDByCID(epoch uint64, cid *cid.ID) ([]ResultID, error) {
+	v2 := cid.ToV2()
+	if v2 == nil {
+		return nil, errUnsupported // use other major version if there any
+	}
 
-	invokePrm.SetMethod(listByCIDResultsMethod)
-	invokePrm.SetArgs(args.epoch, args.cid)
+	prm := client.TestInvokePrm{}
+	prm.SetMethod(listByCIDResultsMethod)
+	prm.SetArgs(int64(epoch), v2.GetValue())
 
-	items, err := c.client.TestInvoke(invokePrm)
+	items, err := c.client.TestInvoke(prm)
 	if err != nil {
 		return nil, fmt.Errorf("could not perform test invocation (%s): %w", listByCIDResultsMethod, err)
 	}
-
 	return parseAuditResults(items, listByCIDResultsMethod)
 }
 
-// ListAuditResultsByNode performs the test invoke of "list audit result IDs
-// by epoch, CID, and node key" method of NeoFS Audit contract.
-func (c *Client) ListAuditResultsByNode(args ListResultsByNodeArgs) (*ListResultsValues, error) {
-	invokePrm := client.TestInvokePrm{}
+// ListAuditResultIDByNode returns a list of audit result IDs inside audit
+// contract for specific epoch number, container ID and inner ring public key.
+func (c *Client) ListAuditResultIDByNode(epoch uint64, cid *cid.ID, nodeKey []byte) ([]ResultID, error) {
+	v2 := cid.ToV2()
+	if v2 == nil {
+		return nil, errUnsupported // use other major version if there any
+	}
 
-	invokePrm.SetMethod(listByNodeResultsMethod)
-	invokePrm.SetArgs(args.epoch, args.cid, args.nodeKey)
+	prm := client.TestInvokePrm{}
+	prm.SetMethod(listByNodeResultsMethod)
+	prm.SetArgs(int64(epoch), v2.GetValue(), nodeKey)
 
-	items, err := c.client.TestInvoke(invokePrm)
+	items, err := c.client.TestInvoke(prm)
 	if err != nil {
 		return nil, fmt.Errorf("could not perform test invocation (%s): %w", listByNodeResultsMethod, err)
 	}
-
 	return parseAuditResults(items, listByNodeResultsMethod)
 }
 
-func parseAuditResults(items []stackitem.Item, method string) (*ListResultsValues, error) {
+func parseAuditResults(items []stackitem.Item, method string) ([]ResultID, error) {
 	if ln := len(items); ln != 1 {
 		return nil, fmt.Errorf("unexpected stack item count (%s): %d", method, ln)
 	}
@@ -133,17 +82,14 @@ func parseAuditResults(items []stackitem.Item, method string) (*ListResultsValue
 		return nil, fmt.Errorf("could not get stack item array from stack item (%s): %w", method, err)
 	}
 
-	res := &ListResultsValues{
-		rawResults: make([][]byte, 0, len(items)),
-	}
-
+	res := make([]ResultID, 0, len(items))
 	for i := range items {
 		rawRes, err := client.BytesFromStackItem(items[i])
 		if err != nil {
 			return nil, fmt.Errorf("could not get byte array from stack item (%s): %w", method, err)
 		}
 
-		res.rawResults = append(res.rawResults, rawRes)
+		res = append(res, rawRes)
 	}
 
 	return res, nil
diff --git a/pkg/morph/client/audit/put_result.go b/pkg/morph/client/audit/put_result.go
index 5a67a4e8e..df716eb2c 100644
--- a/pkg/morph/client/audit/put_result.go
+++ b/pkg/morph/client/audit/put_result.go
@@ -1,36 +1,46 @@
 package audit
 
 import (
+	"errors"
 	"fmt"
 
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
+	auditAPI "github.com/nspcc-dev/neofs-sdk-go/audit"
 )
 
-// PutAuditResultArgs groups the arguments
-// of "put audit result" invocation call.
-type PutAuditResultArgs struct {
-	rawResult []byte // audit result in NeoFS API-compatible binary representation
+// ResultID is an identity of audit result inside audit contract.
+type ResultID []byte
+
+var errUnsupported = errors.New("unsupported structure version")
+
+// PutPrm groups parameters of PutAuditResult operation.
+type PutPrm struct {
+	result *auditAPI.Result
 
 	client.InvokePrmOptional
 }
 
-// SetRawResult sets audit result structure
-// in NeoFS API-compatible binary representation.
-func (g *PutAuditResultArgs) SetRawResult(v []byte) {
-	g.rawResult = v
+// SetResult sets audit result.
+func (p *PutPrm) SetResult(result *auditAPI.Result) {
+	p.result = result
 }
 
-// PutAuditResult invokes the call of "put audit result" method
-// of NeoFS Audit contract.
-func (c *Client) PutAuditResult(args PutAuditResultArgs) error {
+// PutAuditResult saves passed audit result structure in NeoFS system
+// through Audit contract call.
+//
+// Returns encountered error that caused the saving to interrupt.
+func (c *Client) PutAuditResult(p PutPrm) error {
+	rawResult, err := p.result.Marshal()
+	if err != nil {
+		return fmt.Errorf("could not marshal audit result: %w", err)
+	}
+
 	prm := client.InvokePrm{}
-
 	prm.SetMethod(putResultMethod)
-	prm.SetArgs(args.rawResult)
-	prm.InvokePrmOptional = args.InvokePrmOptional
-
-	err := c.client.Invoke(prm)
+	prm.SetArgs(rawResult)
+	prm.InvokePrmOptional = p.InvokePrmOptional
 
+	err = c.client.Invoke(prm)
 	if err != nil {
 		return fmt.Errorf("could not invoke method (%s): %w", putResultMethod, err)
 	}
diff --git a/pkg/morph/client/audit/wrapper/result_test.go b/pkg/morph/client/audit/result_test.go
similarity index 86%
rename from pkg/morph/client/audit/wrapper/result_test.go
rename to pkg/morph/client/audit/result_test.go
index 6f749c395..d048a65bc 100644
--- a/pkg/morph/client/audit/wrapper/result_test.go
+++ b/pkg/morph/client/audit/result_test.go
@@ -1,4 +1,4 @@
-package audit_test
+package audit
 
 import (
 	"testing"
@@ -7,7 +7,6 @@ import (
 	"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
 	"github.com/nspcc-dev/neo-go/pkg/util"
 	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
-	auditWrapper "github.com/nspcc-dev/neofs-node/pkg/morph/client/audit/wrapper"
 	auditAPI "github.com/nspcc-dev/neofs-sdk-go/audit"
 	cidtest "github.com/nspcc-dev/neofs-sdk-go/container/id/test"
 	"github.com/stretchr/testify/require"
@@ -30,7 +29,7 @@ func TestAuditResults(t *testing.T) {
 	morphClient, err := client.New(key, endpoint)
 	require.NoError(t, err)
 
-	auditClientWrapper, err := auditWrapper.NewFromMorph(morphClient, auditHash, 0)
+	auditClientWrapper, err := NewFromMorph(morphClient, auditHash, 0)
 	require.NoError(t, err)
 
 	id := cidtest.ID()
@@ -40,7 +39,7 @@ func TestAuditResults(t *testing.T) {
 	auditRes.SetPublicKey(key.PublicKey().Bytes())
 	auditRes.SetContainerID(id)
 
-	prm := auditWrapper.PutPrm{}
+	prm := PutPrm{}
 	prm.SetResult(auditRes)
 
 	require.NoError(t, auditClientWrapper.PutAuditResult(prm))
diff --git a/pkg/morph/client/audit/wrapper/result.go b/pkg/morph/client/audit/wrapper/result.go
deleted file mode 100644
index c09e6263f..000000000
--- a/pkg/morph/client/audit/wrapper/result.go
+++ /dev/null
@@ -1,144 +0,0 @@
-package audit
-
-import (
-	"errors"
-	"fmt"
-
-	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
-	"github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
-	auditAPI "github.com/nspcc-dev/neofs-sdk-go/audit"
-	cid "github.com/nspcc-dev/neofs-sdk-go/container/id"
-)
-
-// ResultID is an identity of audit result inside audit contract.
-type ResultID []byte
-
-var errUnsupported = errors.New("unsupported structure version")
-
-// PutPrm groups parameters of PutAuditResult operation.
-type PutPrm struct {
-	result *auditAPI.Result
-
-	client.InvokePrmOptional
-}
-
-// SetResult sets audit result.
-func (p *PutPrm) SetResult(result *auditAPI.Result) {
-	p.result = result
-}
-
-// PutAuditResult saves passed audit result structure in NeoFS system
-// through Audit contract call.
-//
-// Returns encountered error that caused the saving to interrupt.
-func (w *ClientWrapper) PutAuditResult(prm PutPrm) error {
-	rawResult, err := prm.result.Marshal()
-	if err != nil {
-		return fmt.Errorf("could not marshal audit result: %w", err)
-	}
-
-	args := audit.PutAuditResultArgs{}
-	args.SetRawResult(rawResult)
-	args.InvokePrmOptional = prm.InvokePrmOptional
-
-	return w.client.
-		PutAuditResult(args)
-}
-
-// ListAllAuditResultID returns a list of all audit result IDs inside audit contract.
-func (w *ClientWrapper) ListAllAuditResultID() ([]ResultID, error) {
-	args := audit.ListResultsArgs{}
-
-	values, err := w.client.ListAuditResults(args)
-	if err != nil {
-		return nil, err
-	}
-
-	return parseRawResult(values), nil
-}
-
-// ListAuditResultIDByEpoch returns a list of audit result IDs inside audit
-// contract for specific epoch number.
-func (w *ClientWrapper) ListAuditResultIDByEpoch(epoch uint64) ([]ResultID, error) {
-	args := audit.ListResultsByEpochArgs{}
-	args.SetEpoch(int64(epoch))
-
-	values, err := w.client.ListAuditResultsByEpoch(args)
-	if err != nil {
-		return nil, err
-	}
-
-	return parseRawResult(values), nil
-}
-
-// ListAuditResultIDByCID returns a list of audit result IDs inside audit
-// contract for specific epoch number and container ID.
-func (w *ClientWrapper) ListAuditResultIDByCID(epoch uint64, cid *cid.ID) ([]ResultID, error) {
-	args := audit.ListResultsByCIDArgs{}
-	args.SetEpoch(int64(epoch))
-
-	v2 := cid.ToV2()
-	if v2 == nil {
-		return nil, errUnsupported // use other major version if there any
-	}
-
-	args.SetCID(v2.GetValue())
-
-	values, err := w.client.ListAuditResultsByCID(args)
-	if err != nil {
-		return nil, err
-	}
-
-	return parseRawResult(values), nil
-}
-
-// ListAuditResultIDByNode returns a list of audit result IDs inside audit
-// contract for specific epoch number, container ID and inner ring public key.
-func (w *ClientWrapper) ListAuditResultIDByNode(epoch uint64, cid *cid.ID, key []byte) ([]ResultID, error) {
-	args := audit.ListResultsByNodeArgs{}
-	args.SetEpoch(int64(epoch))
-	args.SetNodeKey(key)
-
-	v2 := cid.ToV2()
-	if v2 == nil {
-		return nil, errUnsupported // use other major version if there any
-	}
-
-	args.SetCID(v2.GetValue())
-
-	values, err := w.client.ListAuditResultsByNode(args)
-	if err != nil {
-		return nil, err
-	}
-
-	return parseRawResult(values), nil
-}
-
-func parseRawResult(values *audit.ListResultsValues) []ResultID {
-	rawResults := values.RawResults()
-	result := make([]ResultID, 0, len(rawResults))
-
-	for i := range rawResults {
-		result = append(result, rawResults[i])
-	}
-
-	return result
-}
-
-// GetAuditResult returns audit result structure stored in audit contract.
-func (w *ClientWrapper) GetAuditResult(id ResultID) (*auditAPI.Result, error) {
-	args := audit.GetAuditResultArgs{}
-	args.SetID(id)
-
-	value, err := w.client.GetAuditResult(args)
-	if err != nil {
-		return nil, err
-	}
-
-	auditRes := auditAPI.NewResult()
-	if err := auditRes.Unmarshal(value.Result()); err != nil {
-		return nil, fmt.Errorf("could not unmarshal audit result structure: %w", err)
-	}
-
-	return auditRes, nil
-}
diff --git a/pkg/morph/client/audit/wrapper/wrapper.go b/pkg/morph/client/audit/wrapper/wrapper.go
deleted file mode 100644
index 2ef66491c..000000000
--- a/pkg/morph/client/audit/wrapper/wrapper.go
+++ /dev/null
@@ -1,30 +0,0 @@
-package audit
-
-import (
-	"github.com/nspcc-dev/neo-go/pkg/encoding/fixedn"
-	"github.com/nspcc-dev/neo-go/pkg/util"
-	"github.com/nspcc-dev/neofs-node/pkg/morph/client"
-	"github.com/nspcc-dev/neofs-node/pkg/morph/client/audit"
-	"github.com/nspcc-dev/neofs-node/pkg/morph/client/internal"
-)
-
-// ClientWrapper is a wrapper over Audit contract
-// client which implements storage of audit results.
-type ClientWrapper struct {
-	internal.StaticClient
-
-	client *audit.Client
-}
-
-// NewFromMorph returns the wrapper instance from the raw morph client.
-func NewFromMorph(cli *client.Client, contract util.Uint160, fee fixedn.Fixed8, opts ...client.StaticClientOption) (*ClientWrapper, error) {
-	staticClient, err := client.NewStatic(cli, contract, fee, opts...)
-	if err != nil {
-		return nil, err
-	}
-
-	return &ClientWrapper{
-		StaticClient: staticClient,
-		client:       audit.New(staticClient),
-	}, nil
-}