diff --git a/Makefile b/Makefile index 32db1d044..32a07ef45 100644 --- a/Makefile +++ b/Makefile @@ -53,7 +53,7 @@ docker-images: fabric-docker-images orion-server-images monitoring-docker-images .PHONY: testing-docker-images testing-docker-images: docker pull postgres:16.2-alpine - docker tag postgres:16.2-alpine postgres:latest + docker tag postgres:16.2-alpine fsc.itests/postgres:latest docker pull hashicorp/vault .PHONY: fabric-docker-images diff --git a/go.mod b/go.mod index 568f91ae6..c95ea36f6 100644 --- a/go.mod +++ b/go.mod @@ -12,7 +12,7 @@ require ( github.com/gobuffalo/packr/v2 v2.7.1 github.com/hashicorp/go-uuid v1.0.3 github.com/hashicorp/vault/api v1.16.0 - github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250319152028-b53f202e2b62 + github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250325161854-c14bfbb172cb github.com/hyperledger-labs/orion-sdk-go v0.2.10 github.com/hyperledger-labs/orion-server v0.2.10 github.com/hyperledger/fabric v1.4.0-rc1.0.20230405174026-695dd57e01c2 diff --git a/go.sum b/go.sum index be67217d4..5e5c53aa2 100644 --- a/go.sum +++ b/go.sum @@ -1084,8 +1084,8 @@ github.com/hidal-go/hidalgo v0.0.0-20201109092204-05749a6d73df/go.mod h1:bPkrxDl github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc= github.com/huin/goupnp v1.3.0/go.mod h1:gnGPsThkYa7bFi/KWmEysQRf48l2dvR5bxr2OFckNX8= -github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250319152028-b53f202e2b62 h1:fUK1AxK//9bF8si5AYE6kptAErzn+oWbINndOTfTQTM= -github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250319152028-b53f202e2b62/go.mod h1:EdiA1cY2eOOZjqPlutIlFPkueUMMJOxLoiRH5KwOW1c= +github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250325161854-c14bfbb172cb h1:vB9h3jS1KFi0RLiQ3OPdKaKjWTA1hZWKOUR+qT205Ko= +github.com/hyperledger-labs/fabric-smart-client v0.4.1-0.20250325161854-c14bfbb172cb/go.mod h1:EdiA1cY2eOOZjqPlutIlFPkueUMMJOxLoiRH5KwOW1c= github.com/hyperledger-labs/orion-sdk-go v0.2.10 h1:lFgWgxyvngIhWnIqymYGBmtmq9D6uC5d0uLG9cbyh5s= github.com/hyperledger-labs/orion-sdk-go v0.2.10/go.mod h1:iN2xZB964AqwVJwL+EnwPOs8z1EkMEbbIg/qYeC7gDY= github.com/hyperledger-labs/orion-server v0.2.10 h1:G4zbQEL5Egk0Oj+TwHCZWdTOLDBHOjaAEvYOT4G7ozw= diff --git a/integration/token/common/sdk/fall/sdk.go b/integration/token/common/sdk/fall/sdk.go index 849636e69..112a3e6bc 100644 --- a/integration/token/common/sdk/fall/sdk.go +++ b/integration/token/common/sdk/fall/sdk.go @@ -11,10 +11,16 @@ import ( "github.com/hyperledger-labs/fabric-smart-client/pkg/node" dig2 "github.com/hyperledger-labs/fabric-smart-client/platform/common/sdk/dig" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" fabtoken "github.com/hyperledger-labs/fabric-token-sdk/token/core/fabtoken/v1/driver" dlog "github.com/hyperledger-labs/fabric-token-sdk/token/core/zkatdlog/nogh/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/fabric" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) @@ -40,5 +46,16 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + digutils.RegisterOptional[*fabric2.NetworkServiceProvider](p.Container()), // GetFabricNetworkService is used by many components + ) } diff --git a/integration/token/common/sdk/fdlog/sdk.go b/integration/token/common/sdk/fdlog/sdk.go index 1bf4a104b..1179a629c 100644 --- a/integration/token/common/sdk/fdlog/sdk.go +++ b/integration/token/common/sdk/fdlog/sdk.go @@ -10,18 +10,29 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + dig2 "github.com/hyperledger-labs/fabric-smart-client/platform/common/sdk/dig" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" dlog "github.com/hyperledger-labs/fabric-token-sdk/token/core/zkatdlog/nogh/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/fabric" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) type SDK struct { - *tokensdk.SDK + dig2.SDK } func NewSDK(registry node.Registry) *SDK { - return &SDK{SDK: tokensdk.NewSDK(registry)} + return NewFrom(tokensdk.NewSDK(registry)) +} + +func NewFrom(sdk dig2.SDK) *SDK { + return &SDK{SDK: sdk} } func (p *SDK) Install() error { @@ -33,5 +44,16 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + digutils.RegisterOptional[*fabric2.NetworkServiceProvider](p.Container()), // GetFabricNetworkService is used by many components + ) } diff --git a/integration/token/common/sdk/ffabtoken/sdk.go b/integration/token/common/sdk/ffabtoken/sdk.go index b00ffc5a5..794333de7 100644 --- a/integration/token/common/sdk/ffabtoken/sdk.go +++ b/integration/token/common/sdk/ffabtoken/sdk.go @@ -10,9 +10,15 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" fabtoken "github.com/hyperledger-labs/fabric-token-sdk/token/core/fabtoken/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/fabric" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) @@ -33,5 +39,16 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + digutils.RegisterOptional[*fabric2.NetworkServiceProvider](p.Container()), // GetFabricNetworkService is used by many components + ) } diff --git a/integration/token/common/sdk/fodlog/sdk.go b/integration/token/common/sdk/fodlog/sdk.go index ff020fb31..ba65dde83 100644 --- a/integration/token/common/sdk/fodlog/sdk.go +++ b/integration/token/common/sdk/fodlog/sdk.go @@ -10,13 +10,21 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" fabricsdk "github.com/hyperledger-labs/fabric-smart-client/platform/fabric/sdk/dig" + orion2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion" + core2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion/core" orionsdk "github.com/hyperledger-labs/fabric-smart-client/platform/orion/sdk/dig" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" viewsdk "github.com/hyperledger-labs/fabric-smart-client/platform/view/sdk/dig" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" dlog "github.com/hyperledger-labs/fabric-token-sdk/token/core/zkatdlog/nogh/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/fabric" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/orion" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) @@ -51,5 +59,18 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + digutils.RegisterOptional[*fabric2.NetworkServiceProvider](p.Container()), // GetFabricNetworkService is used by many components + digutils.RegisterOptional[*orion2.NetworkServiceProvider](p.Container()), + digutils.RegisterOptional[*core2.ONSProvider](p.Container()), + ) } diff --git a/integration/token/common/sdk/fofabtoken/sdk.go b/integration/token/common/sdk/fofabtoken/sdk.go index e8e38ef15..496d61223 100644 --- a/integration/token/common/sdk/fofabtoken/sdk.go +++ b/integration/token/common/sdk/fofabtoken/sdk.go @@ -10,13 +10,21 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" fabricsdk "github.com/hyperledger-labs/fabric-smart-client/platform/fabric/sdk/dig" + orion2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion" + core2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion/core" orionsdk "github.com/hyperledger-labs/fabric-smart-client/platform/orion/sdk/dig" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" viewsdk "github.com/hyperledger-labs/fabric-smart-client/platform/view/sdk/dig" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" fabtoken "github.com/hyperledger-labs/fabric-token-sdk/token/core/fabtoken/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/fabric" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/orion" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) @@ -51,5 +59,18 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + digutils.RegisterOptional[*fabric2.NetworkServiceProvider](p.Container()), // GetFabricNetworkService is used by many components + digutils.RegisterOptional[*orion2.NetworkServiceProvider](p.Container()), + digutils.RegisterOptional[*core2.ONSProvider](p.Container()), + ) } diff --git a/integration/token/common/sdk/odlog/sdk.go b/integration/token/common/sdk/odlog/sdk.go index 588fb8397..1bd2602f8 100644 --- a/integration/token/common/sdk/odlog/sdk.go +++ b/integration/token/common/sdk/odlog/sdk.go @@ -10,21 +10,33 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + dig2 "github.com/hyperledger-labs/fabric-smart-client/platform/common/sdk/dig" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + orion2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion" + core2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion/core" "github.com/hyperledger-labs/fabric-smart-client/platform/orion/driver" orionsdk "github.com/hyperledger-labs/fabric-smart-client/platform/orion/sdk/dig" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + driver2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" dlog "github.com/hyperledger-labs/fabric-token-sdk/token/core/zkatdlog/nogh/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/common" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/orion" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) type SDK struct { - *tokensdk.SDK + dig2.SDK } func NewSDK(registry node.Registry) *SDK { - return &SDK{SDK: tokensdk.NewFrom(orionsdk.NewSDK(registry))} + return NewFrom(tokensdk.NewFrom(orionsdk.NewSDK(registry))) +} + +func NewFrom(sdk dig2.SDK) *SDK { + return &SDK{SDK: sdk} } func (p *SDK) Install() error { @@ -45,5 +57,18 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver2.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + + digutils.RegisterOptional[*orion2.NetworkServiceProvider](p.Container()), + digutils.RegisterOptional[*core2.ONSProvider](p.Container()), + ) } diff --git a/integration/token/common/sdk/ofabtoken/sdk.go b/integration/token/common/sdk/ofabtoken/sdk.go index e6dc0e004..c5cf672ee 100644 --- a/integration/token/common/sdk/ofabtoken/sdk.go +++ b/integration/token/common/sdk/ofabtoken/sdk.go @@ -10,10 +10,17 @@ import ( "errors" "github.com/hyperledger-labs/fabric-smart-client/pkg/node" + digutils "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils/dig" + orion2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion" + core2 "github.com/hyperledger-labs/fabric-smart-client/platform/orion/core" orionsdk "github.com/hyperledger-labs/fabric-smart-client/platform/orion/sdk/dig" + "github.com/hyperledger-labs/fabric-smart-client/platform/view/core/id" + driver2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/driver" + view3 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/server/view" fabtoken "github.com/hyperledger-labs/fabric-token-sdk/token/core/fabtoken/v1/driver" tokensdk "github.com/hyperledger-labs/fabric-token-sdk/token/sdk/dig" "github.com/hyperledger-labs/fabric-token-sdk/token/services/network/orion" + "go.opentelemetry.io/otel/trace" "go.uber.org/dig" ) @@ -34,5 +41,18 @@ func (p *SDK) Install() error { return err } - return p.SDK.Install() + if err := p.SDK.Install(); err != nil { + return err + } + + return errors.Join( + digutils.Register[trace.TracerProvider](p.Container()), + digutils.Register[driver2.EndpointService](p.Container()), + digutils.Register[view3.IdentityProvider](p.Container()), + digutils.Register[node.ViewManager](p.Container()), // Need to add it as a field in the node + digutils.Register[id.SigService](p.Container()), + + digutils.RegisterOptional[*orion2.NetworkServiceProvider](p.Container()), + digutils.RegisterOptional[*core2.ONSProvider](p.Container()), + ) } diff --git a/integration/token/fungible/topology/topology.go b/integration/token/fungible/topology/topology.go index 555bcab65..43c1cf0d0 100644 --- a/integration/token/fungible/topology/topology.go +++ b/integration/token/fungible/topology/topology.go @@ -185,7 +185,9 @@ func Topology(opts common.Opts) []api.Topology { nodeList = fscTopology.ListNodes() } else { nodeList = fscTopology.ListNodes() - fscTopology.SetBootstrapNode(fscTopology.AddNodeByName("lib-p2p-bootstrap-node")) + if opts.CommType == fsc.LibP2P { + fscTopology.SetBootstrapNode(fscTopology.AddNodeByName("lib-p2p-bootstrap-node")) + } } if !opts.NoAuditor { tms.AddAuditor(auditor) @@ -225,7 +227,7 @@ func Topology(opts common.Opts) []api.Topology { // additional nodes that are backend specific if opts.Backend == "orion" { fscTopology.ListNodes("custodian")[0].AddSDK(opts.SDKs[0]) - } else { + } else if opts.CommType == fsc.LibP2P { fscTopology.ListNodes("lib-p2p-bootstrap-node")[0].AddSDK(opts.SDKs[0]) } diff --git a/token/services/network/fabric/endorsement/approval.go b/token/services/network/fabric/endorsement/approval.go index 5813bcf30..5ca74f6c4 100644 --- a/token/services/network/fabric/endorsement/approval.go +++ b/token/services/network/fabric/endorsement/approval.go @@ -9,6 +9,7 @@ package endorsement import ( "time" + "github.com/hyperledger-labs/fabric-smart-client/platform/common/utils" fabric2 "github.com/hyperledger-labs/fabric-smart-client/platform/fabric" "github.com/hyperledger-labs/fabric-smart-client/platform/fabric/services/endorser" "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash" @@ -39,6 +40,7 @@ type RequestApprovalView struct { func (r *RequestApprovalView) Call(context view.Context) (interface{}, error) { _, tx, err := endorser.NewTransaction( + utils.MustGet(fabric2.GetNetworkServiceProvider(context)), context, fabric2.WithCreator(r.TxID.Creator), fabric2.WithNonce(r.TxID.Nonce), @@ -114,7 +116,7 @@ func (r *RequestApprovalResponderView) Call(context view.Context) (interface{}, // When the borrower runs the CollectEndorsementsView, at some point, the borrower sends the assembled transaction // to the approver. Therefore, the approver waits to receive the transaction. logger.Debugf("Waiting for transaction on context [%s]", context.ID()) - tx, err := endorser.ReceiveTransaction(context) + tx, err := endorser.ReceiveTransaction(utils.MustGet(fabric2.GetNetworkServiceProvider(context)), context) if err != nil { return nil, errors.WithMessagef(err, "failed to received transaction for approval") } diff --git a/tools/go.mod b/tools/go.mod index 9623d39d2..37598e2fa 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -8,9 +8,9 @@ require ( github.com/google/addlicense v1.1.1 github.com/gordonklaus/ineffassign v0.1.0 github.com/maxbrunsfeld/counterfeiter/v6 v6.8.1 - github.com/onsi/ginkgo/v2 v2.20.2 - golang.org/x/tools v0.24.0 - google.golang.org/protobuf v1.34.2 + github.com/onsi/ginkgo/v2 v2.22.1 + golang.org/x/tools v0.28.0 + google.golang.org/protobuf v1.35.1 honnef.co/go/tools v0.5.1 ) @@ -18,10 +18,10 @@ require ( github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c // indirect github.com/bmatcuk/doublestar/v4 v4.6.1 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect - github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 // indirect + github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad // indirect github.com/stretchr/testify v1.9.0 // indirect golang.org/x/exp/typeparams v0.0.0-20240823005443-9b4947da3948 // indirect - golang.org/x/mod v0.20.0 // indirect - golang.org/x/sync v0.8.0 // indirect - golang.org/x/text v0.17.0 // indirect + golang.org/x/mod v0.22.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/text v0.21.0 // indirect ) diff --git a/tools/go.sum b/tools/go.sum index 3d75776a9..5917f02f9 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -17,19 +17,16 @@ github.com/google/addlicense v1.1.1 h1:jpVf9qPbU8rz5MxKo7d+RMcNHkqxi4YJi/laauX4a github.com/google/addlicense v1.1.1/go.mod h1:Sm/DHu7Jk+T5miFHHehdIjbi4M5+dJDRS3Cq0rncIxA= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5 h1:5iH8iuqE5apketRbSFBy+X1V0o+l+8NF1avt4HWl7cA= -github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad h1:a6HEuzUHeKH6hwfN/ZoQgRgVIWFJljSWa/zetS2WTvg= +github.com/google/pprof v0.0.0-20241210010833-40e02aabc2ad/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= github.com/gordonklaus/ineffassign v0.1.0 h1:y2Gd/9I7MdY1oEIt+n+rowjBNDcLQq3RsH5hwJd0f9s= github.com/gordonklaus/ineffassign v0.1.0/go.mod h1:Qcp2HIAYhR7mNUVSIxZww3Guk4it82ghYcEXIAk+QT0= github.com/maxbrunsfeld/counterfeiter/v6 v6.8.1 h1:NicmruxkeqHjDv03SfSxqmaLuisddudfP3h5wdXFbhM= github.com/maxbrunsfeld/counterfeiter/v6 v6.8.1/go.mod h1:eyp4DdUJAKkr9tvxR3jWhw2mDK7CWABMG5r9uyaKC7I= -github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2 h1:yVCLo4+ACVroOEr4iFU1iH46Ldlzz2rTuu18Ra7M8sU= -github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2/go.mod h1:VzB2VoMh1Y32/QqDfg9ZJYHj99oM4LiGtqPZydTiQSQ= -github.com/onsi/ginkgo/v2 v2.20.2 h1:7NVCeyIWROIAheY21RLS+3j2bb52W0W82tkberYytp4= -github.com/onsi/ginkgo/v2 v2.20.2/go.mod h1:K9gyxPIlb+aIvnZ8bd9Ak+YP18w3APlR+5coaZoE2ag= -github.com/onsi/gomega v1.34.1 h1:EUMJIKUjM8sKjYbtxQI9A4z2o+rruxnzNvpknOXie6k= -github.com/onsi/gomega v1.34.1/go.mod h1:kU1QgUvBDLXBJq618Xvm2LUX6rSAfRaFRTcdOeDLwwY= +github.com/onsi/ginkgo/v2 v2.22.1 h1:QW7tbJAUDyVDVOM5dFa7qaybo+CRfR7bemlQUN6Z8aM= +github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/gomega v1.36.1 h1:bJDPBO7ibjxcbHMgSCoo4Yj18UWbKDlLwX1x9sybDcw= +github.com/onsi/gomega v1.36.1/go.mod h1:PvZbdDc8J6XJEpDK4HCuRBm8a6Fzp9/DmhC9C7yFlog= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/sclevine/spec v1.4.0 h1:z/Q9idDcay5m5irkZ28M7PtQM4aOISzOpj4bUPkDee8= @@ -39,25 +36,19 @@ github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8 github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56 h1:2dVuKD2vS7b0QIHQbpyTISPd0LeHDbnYEryqj5Q1ug8= -golang.org/x/exp v0.0.0-20240719175910-8a7402abbf56/go.mod h1:M4RDyNAINzryxdtnbRXRL/OHtkFuWGRjvuhBJpk2IlY= golang.org/x/exp/typeparams v0.0.0-20240823005443-9b4947da3948 h1:mwwJFsdsQzu/zhRdxEXmpMvRMnAR6QpbAXx3cNooEf0= golang.org/x/exp/typeparams v0.0.0-20240823005443-9b4947da3948/go.mod h1:AbB0pIl9nAr9wVwH+Z2ZpaocVmF5I4GyWCDIsVjR0bk= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.20.0 h1:utOm6MM3R3dnawAiJgn0y+xvuYRsm1RKM/4giyfDgV0= -golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.22.0 h1:D4nJWe9zXqHOmWqj4VMOJhvzj7bEZg4wEYa759z1pH4= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.28.0 h1:a9JDOJc5GMUJ0+UDqmLT86WiEy7iWyIhz8gz8E4e5hE= -golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.32.0 h1:ZqPmj8Kzc+Y6e0+skZsuACbx+wzMgo5MQsJh9Qd6aYI= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.8.0 h1:3NFvSEYkUoMifnESzZl15y791HH1qU2xm6eCJU5ZPXQ= -golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -65,27 +56,23 @@ golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.24.0 h1:Twjiwq9dn6R1fQcyiK+wQyHWfaz/BJB+YIpzU/Cv3Xg= -golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.17.0 h1:XtiM5bkSOt+ewxlOE/aE/AKEHibwj/6gvWMl9Rsh0Qc= -golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.24.0 h1:J1shsA93PJUEVaUSaay7UXAyE8aimq3GW0pjlolpa24= -golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.28.0 h1:WuB6qZ4RPCQo5aP3WdKZS7i595EdWqWR8vqJTlwTVK8= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= -google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.5.1 h1:4bH5o3b5ZULQ4UrBmP+63W9r7qIkqJClEA9ko5YKx+I=