Skip to content

Commit

Permalink
feat(weaver-go): upgraded Weaver Fabric Go SDK with membership functions
Browse files Browse the repository at this point in the history
Added membership management functions for recording and lookup to Weaver Fabric Go SDK.
Fixed issues with the membership management functions in the Weaver Fabric Node SDK.
Updated the Weaver TS protobuf builder to generate output with proper imports.
(The above was required as the "grpc" dependency had been removed from the "package.json.")
Updated instructions in readme and docs.

Signed-off-by: VRamakrishna <vramakr2@in.ibm.com>
Signed-off-by: Sandeep Nishad <sandeep.nishad1@ibm.com>
  • Loading branch information
VRamakrishna authored and sandeepnRES committed Dec 7, 2023
1 parent eee25d3 commit 43cce8e
Show file tree
Hide file tree
Showing 12 changed files with 778 additions and 46 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -308,13 +308,12 @@ A Fabric network channel must share its security domain (or membership) configur
const response = await MembershipManager.createLocalMembership(
gateway,
members, // list of all organization MSPIDs that are part of the channel
securityDomain, // name of the local network's security domain
channelName, // Channel Name
contractName // Fabric Interoperation Chaincode installation ID on the channel
)
} catch (e) {
// On error try updating local membership
const response = await MembershipManager.updateLocalMembership(gateway, members, securityDomain, channelName, contractName)
const response = await MembershipManager.updateLocalMembership(gateway, members, channelName, contractName)
}
```

Expand Down
8 changes: 4 additions & 4 deletions weaver/common/protos-js/build-protos.sh
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,9 @@ grpc_tools_node_protoc --proto_path=$PROTOSDIR --proto_path=$FABRIC_PROTOSDIR -
# Typescript Build
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/common/interop_payload.proto $PROTOSDIR/common/asset_locks.proto $PROTOSDIR/common/asset_transfer.proto $PROTOSDIR/common/ack.proto $PROTOSDIR/common/query.proto $PROTOSDIR/common/state.proto $PROTOSDIR/common/proofs.proto $PROTOSDIR/common/verification_policy.proto $PROTOSDIR/common/membership.proto $PROTOSDIR/common/access_control.proto $PROTOSDIR/common/events.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/corda/view_data.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/driver/driver.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/driver/driver.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/fabric/view_data.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/identity/agent.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/networks/networks.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/relay/datatransfer.proto $PROTOSDIR/relay/events.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/identity/agent.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/networks/networks.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=grpc_js:$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $PROTOSDIR/relay/datatransfer.proto $PROTOSDIR/relay/events.proto
protoc --plugin=protoc-gen-ts=./node_modules/.bin/protoc-gen-ts --ts_out=$BUILDDIR -I $PROTOSDIR -I $FABRIC_PROTOSDIR $FABRIC_PROTOSDIR/msp/identities.proto $FABRIC_PROTOSDIR/peer/proposal_response.proto $FABRIC_PROTOSDIR/peer/proposal.proto $FABRIC_PROTOSDIR/peer/chaincode.proto $FABRIC_PROTOSDIR/common/policies.proto $FABRIC_PROTOSDIR/msp/msp_principal.proto
Original file line number Diff line number Diff line change
Expand Up @@ -183,6 +183,7 @@ func (s *SmartContract) CreateLocalMembership(ctx contractapi.TransactionContext
if err != nil {
return fmt.Errorf("Unmarshal error: %s", err)
}
membership.SecurityDomain = membershipLocalSecurityDomain

membershipLocalKey, err := ctx.GetStub().CreateCompositeKey(membershipObjectType, []string{membershipLocalSecurityDomain})
acp, getErr := ctx.GetStub().GetState(membershipLocalKey)
Expand Down Expand Up @@ -220,6 +221,7 @@ func (s *SmartContract) UpdateLocalMembership(ctx contractapi.TransactionContext
if err != nil {
return fmt.Errorf("Unmarshal error: %s", err)
}
membership.SecurityDomain = membershipLocalSecurityDomain

membershipLocalKey, err := ctx.GetStub().CreateCompositeKey(membershipObjectType, []string{membershipLocalSecurityDomain})
_, getErr := s.GetMembershipBySecurityDomain(ctx, membershipLocalSecurityDomain)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -304,13 +304,12 @@ A Fabric network channel must share its security domain (or membership) configur
const response = await MembershipManager.createLocalMembership(
gateway,
members, // list of all organization MSPIDs that are part of the channel
securityDomain, // name of the local network's security domain
channelName, // Channel Name
contractName // Fabric Interoperation Chaincode installation ID on the channel
)
} catch (e) {
// On error try updating local membership
const response = await MembershipManager.updateLocalMembership(gateway, members, securityDomain, channelName, contractName)
const response = await MembershipManager.updateLocalMembership(gateway, members, channelName, contractName)
}
```
- `<get-fabric-network-gateway-instance>` should be replaced with standard (boilerplate) code to get a handle to your network's gateway. This requires a special wallet identity, namely one with a `network-admin` attribute indicating that the caller is a trusted network administrator who is authorized to record local memberships on the `channelName` channel.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,13 +142,13 @@ const loadLocalHelper = async (
registerUser: false
})
try {
const response = await MembershipManager.createLocalMembership(gateway, members, networkName, channelName, contractName)
const response = await MembershipManager.createLocalMembership(gateway, members, channelName, contractName)
logger.info('CreateLocalMembership Successful.')
} catch (e) {
logger.error(e)
logger.info('CreateLocalMembership attempting Update')
const response = await MembershipManager.updateLocalMembership(gateway, members, networkName, channelName, contractName)
logger.info('Update Local Memebrship response: success: ', response)
const response = await MembershipManager.updateLocalMembership(gateway, members, channelName, contractName)
logger.info('UpdateLocalMembership response: success: ', response)
}
}

Expand Down
19 changes: 9 additions & 10 deletions weaver/sdks/fabric/go-sdk/decoders/decoders.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ import (
"fmt"

"github.com/golang/protobuf/proto"
"github.com/hyperledger/fabric-protos-go/peer"
pb "github.com/hyperledger/fabric-protos-go/peer"
"github.com/hyperledger/fabric-protos-go-apiv2/peer"
log "github.com/sirupsen/logrus"
)

Expand All @@ -25,8 +24,8 @@ func logThenErrorf(format string, args ...interface{}) error {
return errors.New(errorMsg)
}

func DeserializeRemoteProposal(proposalBytes []byte) (*pb.Proposal, error) {
proposal := &pb.Proposal{}
func DeserializeRemoteProposal(proposalBytes []byte) (*peer.Proposal, error) {
proposal := &peer.Proposal{}
err := proto.Unmarshal(proposalBytes, proposal)
if err != nil {
return proposal, logThenErrorf(err.Error())
Expand All @@ -35,8 +34,8 @@ func DeserializeRemoteProposal(proposalBytes []byte) (*pb.Proposal, error) {
return proposal, nil
}

func DeserializeRemoteProposalResponse(proposalResponseBytes []byte) (*pb.ProposalResponse, error) {
proposalResponse := &pb.ProposalResponse{}
func DeserializeRemoteProposalResponse(proposalResponseBytes []byte) (*peer.ProposalResponse, error) {
proposalResponse := &peer.ProposalResponse{}
err := proto.Unmarshal(proposalResponseBytes, proposalResponse)
if err != nil {
return proposalResponse, logThenErrorf(err.Error())
Expand All @@ -45,7 +44,7 @@ func DeserializeRemoteProposalResponse(proposalResponseBytes []byte) (*pb.Propos
return proposalResponse, nil
}

func DeserializeRemoteProposalHex(proposalBytesHex []byte) (*pb.Proposal, error) {
func DeserializeRemoteProposalHex(proposalBytesHex []byte) (*peer.Proposal, error) {
proposalBytes, err := hex.DecodeString(string(proposalBytesHex))
if err != nil {
return nil, logThenErrorf("cannot decode 'hex' string (%s) to bytes error: %s", proposalBytesHex, err.Error())
Expand All @@ -54,7 +53,7 @@ func DeserializeRemoteProposalHex(proposalBytesHex []byte) (*pb.Proposal, error)
return DeserializeRemoteProposal(proposalBytes)
}

func DeserializeRemoteProposalResponseHex(proposalResponseBytesHex []byte) (*pb.ProposalResponse, error) {
func DeserializeRemoteProposalResponseHex(proposalResponseBytesHex []byte) (*peer.ProposalResponse, error) {
proposalResponseBytes, err := hex.DecodeString(string(proposalResponseBytesHex))
if err != nil {
return nil, logThenErrorf("cannot decode 'hex' string (%s) to bytes error: %s", proposalResponseBytesHex, err.Error())
Expand All @@ -63,13 +62,13 @@ func DeserializeRemoteProposalResponseHex(proposalResponseBytesHex []byte) (*pb.
return DeserializeRemoteProposalResponse(proposalResponseBytes)
}

func DeserializeRemoteProposalBase64(proposalBytesBase64 []byte) (*pb.Proposal, error) {
func DeserializeRemoteProposalBase64(proposalBytesBase64 []byte) (*peer.Proposal, error) {
proposalBytes := base64.StdEncoding.EncodeToString(proposalBytesBase64)

return DeserializeRemoteProposal([]byte(proposalBytes))
}

func DeserializeRemoteProposalResponseBase64(proposalResponseBytesBase64 []byte) (*pb.ProposalResponse, error) {
func DeserializeRemoteProposalResponseBase64(proposalResponseBytesBase64 []byte) (*peer.ProposalResponse, error) {
proposalResponseBytes := base64.StdEncoding.EncodeToString(proposalResponseBytesBase64)

return DeserializeRemoteProposalResponse([]byte(proposalResponseBytes))
Expand Down
16 changes: 10 additions & 6 deletions weaver/sdks/fabric/go-sdk/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,23 @@ require (
github.com/golang/protobuf v1.5.3
github.com/google/uuid v1.3.0
github.com/hyperledger/cacti/weaver/common/protos-go/v2 v2.0.0-alpha.2
github.com/hyperledger/fabric-protos-go v0.3.0
github.com/hyperledger/fabric-admin-sdk v0.0.0
github.com/hyperledger/fabric-gateway v1.2.1
github.com/hyperledger/fabric-protos-go-apiv2 v0.3.1
github.com/sirupsen/logrus v1.8.1
github.com/stretchr/testify v1.7.0
google.golang.org/grpc v1.56.3
google.golang.org/protobuf v1.30.0
github.com/stretchr/testify v1.8.1
google.golang.org/grpc v1.57.0
google.golang.org/protobuf v1.31.0
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/hyperledger/fabric-protos-go v0.3.0 // indirect
github.com/miekg/pkcs11 v1.1.1 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.13.0 // indirect
golang.org/x/text v0.13.0 // indirect
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
gopkg.in/yaml.v3 v3.0.0 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
39 changes: 29 additions & 10 deletions weaver/sdks/fabric/go-sdk/go.sum
Original file line number Diff line number Diff line change
@@ -1,43 +1,62 @@
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0=
github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0 h1:p104kn46Q8WdvHunIJ9dAyjPVtrBPhSr3KT2yUst43I=
github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
github.com/google/pprof v0.0.0-20230207041349-798e818bf904 h1:4/hN5RUoecvl+RmJRE2YxKWtnnQls6rQjjW5oV7qg2U=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hyperledger/cacti/weaver/common/protos-go/v2 v2.0.0-alpha.2 h1:RCScZbqnxdX1RDrp4HATGXs8Pbh2yLI6F6ULjAjTUso=
github.com/hyperledger/cacti/weaver/common/protos-go/v2 v2.0.0-alpha.2/go.mod h1:3DmkYfZoc+TtcAgF3kX6CmQDNKKKCHgbaoQuYu/3ayc=
github.com/hyperledger/fabric-admin-sdk v0.0.0 h1:SS/qekuUUOzvx1+1UzJCEcHD/UcCDpTxqrCjOVoy1Rg=
github.com/hyperledger/fabric-admin-sdk v0.0.0/go.mod h1:AGAr/kVPWagaEh+bJeieTiajC4pbfcYXVySENqwk2Sc=
github.com/hyperledger/fabric-gateway v1.2.1 h1:K6b7Q+y0x47SQ2TVnLih2mFNQ7/izmdAhnFgiylfSVQ=
github.com/hyperledger/fabric-gateway v1.2.1/go.mod h1:SCuB+RNueO6nOiW7QAyfeh4PaB1d1U4R6WKuq0IG66I=
github.com/hyperledger/fabric-protos-go v0.3.0 h1:MXxy44WTMENOh5TI8+PCK2x6pMj47Go2vFRKDHB2PZs=
github.com/hyperledger/fabric-protos-go v0.3.0/go.mod h1:WWnyWP40P2roPmmvxsUXSvVI/CF6vwY1K1UFidnKBys=
github.com/hyperledger/fabric-protos-go-apiv2 v0.3.1 h1:zAxLu6XxaiOkNFl7iTO54RCc3fGO+5hjJKTqRfvxT1A=
github.com/hyperledger/fabric-protos-go-apiv2 v0.3.1/go.mod h1:2pq0ui6ZWA0cC8J+eCErgnMDCS1kPOEYVY+06ZAK0qE=
github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU=
github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
github.com/onsi/ginkgo/v2 v2.8.2 h1:rWe/YULhcr//R7U3kN11ISrlT7aVPW9K/AbXbGakXqY=
github.com/onsi/gomega v1.27.0 h1:QLidEla4bXUuZVFa4KX6JHCsuGgbi85LC/pCHrt/O08=
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/sirupsen/logrus v1.8.1 h1:dJKuHgqk1NNQlqoA6BTlM1Wf9DOH3NBjQyu0h9+AZZE=
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk=
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A=
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU=
google.golang.org/grpc v1.56.3 h1:8I4C0Yq1EjstUzUJzpcRVbuYA2mODtEmpWiQoN/b2nc=
google.golang.org/grpc v1.56.3/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5 h1:eSaPbMR4T7WfH9FvABk36NBMacoTUKdWCvV0dx+KfOg=
google.golang.org/genproto/googleapis/rpc v0.0.0-20230803162519-f966b187b2e5/go.mod h1:zBEcrKX2ZOcEkHWxBPAIvYUWOKKMIhYcmNiUIu2ji3I=
google.golang.org/grpc v1.57.0 h1:kfzNeI/klCGD2YPMUlaGNT3pxvYfga7smW3Vth8Zsiw=
google.golang.org/grpc v1.57.0/go.mod h1:Sd+9RMTACXwmub0zcNY2c4arhtrbBYD1AUHI/dt16Mo=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0 h1:hjy8E9ON/egN1tAYqKb61G10WtihqetD4sz2H+8nIeA=
gopkg.in/yaml.v3 v3.0.0/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import (

"github.com/google/uuid"
"github.com/golang/protobuf/proto"
"github.com/hyperledger/fabric-protos-go/peer"
"github.com/hyperledger/fabric-protos-go-apiv2/peer"
"github.com/hyperledger/cacti/weaver/common/protos-go/v2/common"
"github.com/hyperledger/cacti/weaver/common/protos-go/v2/corda"
"github.com/hyperledger/cacti/weaver/common/protos-go/v2/fabric"
Expand Down
Loading

0 comments on commit 43cce8e

Please sign in to comment.