[#455] Use contract to get containers

Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
This commit is contained in:
Marina Biryukova 2025-03-26 18:33:08 +03:00
parent 949fc0b484
commit 2ad2531d3a
16 changed files with 193 additions and 47 deletions

View file

@ -15,6 +15,7 @@ import (
"git.frostfs.info/TrueCloudLab/frostfs-s3-gw/internal/wallet"
"git.frostfs.info/TrueCloudLab/policy-engine/pkg/chain"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neo-go/pkg/rpcclient"
"github.com/spf13/cobra"
"github.com/spf13/viper"
"go.uber.org/zap"
@ -112,6 +113,11 @@ func parseKeys() (userKey *keys.PrivateKey, contractKey *keys.PrivateKey, err er
func initFrostFSIDContract(ctx context.Context, log *zap.Logger, key *keys.PrivateKey) (*ffsidContract.FrostFSID, error) {
log.Debug(logs.PrepareFrostfsIDClient)
rpcCli, err := rpcclient.New(ctx, viper.GetString(rpcEndpointFlag), rpcclient.Options{})
if err != nil {
return nil, fmt.Errorf("create rpc client: %w", err)
}
cfg := ffsidContract.Config{
RPCAddress: viper.GetString(rpcEndpointFlag),
Contract: viper.GetString(frostfsIDContractFlag),
@ -121,9 +127,10 @@ func initFrostFSIDContract(ctx context.Context, log *zap.Logger, key *keys.Priva
IgnoreAlreadyExistsError: false,
VerifyExecResults: true,
},
RPCClient: rpcCli,
}
cli, err := ffsidContract.New(ctx, cfg)
cli, err := ffsidContract.New(cfg)
if err != nil {
return nil, fmt.Errorf("create frostfsid client: %w", err)
}
@ -160,14 +167,20 @@ func registerPublicKey(log *zap.Logger, cli *ffsidContract.FrostFSID, key *keys.
func initPolicyContract(ctx context.Context, log *zap.Logger, key *keys.PrivateKey) (*policyContact.Client, error) {
log.Debug(logs.PreparePolicyClient)
rpcCli, err := rpcclient.New(ctx, viper.GetString(rpcEndpointFlag), rpcclient.Options{})
if err != nil {
return nil, fmt.Errorf("create rpc client: %w", err)
}
cfg := policyContact.Config{
RPCAddress: viper.GetString(rpcEndpointFlag),
Contract: viper.GetString(policyContractFlag),
ProxyContract: viper.GetString(proxyContractFlag),
Key: key,
RPCClient: rpcCli,
}
cli, err := policyContact.New(ctx, cfg)
cli, err := policyContact.New(cfg)
if err != nil {
return nil, fmt.Errorf("create policy client: %w", err)
}