From 54fff748958611302c4a63d30a61f2a10077931e Mon Sep 17 00:00:00 2001 From: Alexader Date: Wed, 26 May 2021 16:39:34 +0800 Subject: [PATCH] fix(validator): fabric rules validation with new events --- validator/testdata/proof_1.0.0_rc | 31 ++++++++++----------- validator/validation_engine_test.go | 4 +-- validator/validatorlib/fabric_validation.go | 24 ++++++++-------- 3 files changed, 28 insertions(+), 31 deletions(-) diff --git a/validator/testdata/proof_1.0.0_rc b/validator/testdata/proof_1.0.0_rc index 61c7ee1..9fb8da2 100644 --- a/validator/testdata/proof_1.0.0_rc +++ b/validator/testdata/proof_1.0.0_rc @@ -1,23 +1,20 @@ -C -A -?broker1 - pollingEvent -!{"did:bitxhub:etherappchain:.":3} +P +N +Lbroker> + getOutMessage +*0x857b3305Fcf2BD0b6BFFFEf824C11eCf32BFeFd2 +1 - - s@Ve{'(kIS=`܇8 -jP -brokerF -. -%out-msg-did:bitxhub:etherappchain:.-4 - - - outter-meta - + + PYtD⟫AUly_pe⁔ +bH +broker> +< +4out-msg-0x857b3305Fcf2BD0b6BFFFEf824C11eCf32BFeFd2-1 lscc -broker[{"index":4,"dst_contract_did":"did:bitxhub:etherappchain:0x30c5D3aeb4681af4D13384DBc2a717C51cb1cc11","src_contract_id":"mychannel\u0026transfer","func":"interchainCharge","args":"Alice,Alice,1","callback":"","argscb":"","rollback":"interchainRollback","argsrb":"Alice,1"}]" brokerv0 +broker{"index":1,"dst_chain_id":"0x857b3305Fcf2BD0b6BFFFEf824C11eCf32BFeFd2","src_contract_id":"mychannel\u0026transfer","dst_contract_id":"0x82185AC84abE50D0F21E4476a443367ebcD46732","func":"interchainCharge","args":"Alice,Alice,1","callback":"","argscb":"","rollback":"interchainRollback","argsrb":"Alice,1"}" brokerv0  Org2MSP-----BEGIN CERTIFICATE----- MIICJzCCAc6gAwIBAgIQSw2UHr+381efIxVRo7pGgjAKBggqhkjOPQQDAjBzMQsw @@ -33,4 +30,4 @@ BCQwIoAgJya0T5F25gNpz4OlRX0jrig7SIE397/Z/pVQvtP1iHowCgYIKoZIzj0E AwIDRwAwRAIgErFLpmI0Xie3moBv/5oLUGy7HQXh+LZOzHlicRP9c/4CIFsY8QPv IU2q/pIC7yVO7hKikZyn6DTaRIMdyXxSeotw -----END CERTIFICATE----- -F0D [F1%jͅc՞o:ʜӡU4 8+ z6ϜJkKF'Q{~ \ No newline at end of file +F0D SJ4iBEDp_uY UiJ: V~`/g~BE 0> \ No newline at end of file diff --git a/validator/validation_engine_test.go b/validator/validation_engine_test.go index 793fea7..5d9487b 100644 --- a/validator/validation_engine_test.go +++ b/validator/validation_engine_test.go @@ -87,7 +87,7 @@ func TestFabSimValidator_Verify(t *testing.T) { content := &pb.Content{ SrcContractId: "mychannel&transfer", - DstContractId: "0x30c5D3aeb4681af4D13384DBc2a717C51cb1cc11", + DstContractId: "0x82185AC84abE50D0F21E4476a443367ebcD46732", Func: "interchainCharge", Args: [][]byte{[]byte("Alice"), []byte("Alice"), []byte("1")}, Callback: "", @@ -161,7 +161,7 @@ func BenchmarkFabSimValidator_Verify(b *testing.B) { content := &pb.Content{ SrcContractId: "mychannel&transfer", - DstContractId: "0x30c5D3aeb4681af4D13384DBc2a717C51cb1cc11", + DstContractId: "0x82185AC84abE50D0F21E4476a443367ebcD46732", Func: "interchainCharge", Args: [][]byte{[]byte("Alice"), []byte("Alice"), []byte("1")}, Callback: "", diff --git a/validator/validatorlib/fabric_validation.go b/validator/validatorlib/fabric_validation.go index c8b6c78..f4a1ba6 100644 --- a/validator/validatorlib/fabric_validation.go +++ b/validator/validatorlib/fabric_validation.go @@ -13,7 +13,6 @@ import ( "github.com/hyperledger/fabric/msp" "github.com/hyperledger/fabric/protoutil" "github.com/meshplus/bitxhub-model/pb" - "github.com/meshplus/bitxid" ) const ( @@ -40,15 +39,16 @@ type ValidatorInfo struct { } type payloadInfo struct { - Index uint64 `json:"index"` - DstContractDID string `json:"dst_contract_did"` - SrcContractID string `json:"src_contract_id"` - Func string `json:"func"` - Args string `json:"args"` - Callback string `json:"callback"` - Argscb string `json:"argscb"` - Rollback string `json:"rollback"` - Argsrb string `json:"argsrb"` + Index uint64 `json:"index"` + DstChainID string `json:"dst_chain_id"` + SrcContractID string `json:"src_contract_id"` + DstContractID string `json:"dst_contract_id"` + Func string `json:"func"` + Args string `json:"args"` + Callback string `json:"callback"` + Argscb string `json:"argscb"` + Rollback string `json:"rollback"` + Argsrb string `json:"argsrb"` } func GetPolicyEnvelope(policy string) ([]byte, error) { @@ -199,8 +199,8 @@ func ValidatePayload(info payloadInfo, payloadByte []byte) error { return fmt.Errorf("unmarshal ibtp payload content: %w", err) } - if bitxid.DID(info.DstContractDID).GetAddress() != content.DstContractId { - return fmt.Errorf("dst contrct id not correct") + if info.DstContractID != content.DstContractId { + return fmt.Errorf("dst contract id not correct") } if info.SrcContractID != content.SrcContractId { return fmt.Errorf("src contrct id not correct")