Verified Commit 7b4371b9 authored by Ruslan Kryukov's avatar Ruslan Kryukov
Browse files

fix

Signed-off-by: Ruslan Kryukov's avatarthomashype <thomashype@protonmail.com>
parent 352b6ce1
Showing with 108 additions and 15 deletions
+108 -15
package function
import (
"gitlab.smartblocklab.com/smartcontracts/sc-security/tools"
"gitlab.smartblocklab.com/smartcontracts/sc-security/actions"
"github.com/hyperledger/fabric/core/chaincode/shim"
"fmt"
"gitlab.smartblocklab.com/smartcontracts/common/model"
"errors"
"gitlab.smartblocklab.com/smartcontracts/common/invoke"
"gitlab.smartblocklab.com/smartcontracts/common/chaincode"
)
// checkAccountStatus call account chaincode to verify account status
func CheckAccountStatus(info model.UserAccountInfo, adapter chaincode.StubInterfaceAdapter) error {
// Check out account status
resp := tools.SignedInvokeChaincode(adapter, invoke.VerifyAccountChannelName, actions.Actions().AccountCC().VerifyUserAccount, info)
if resp.Status != int32(shim.OK) {
errMsg := fmt.Sprintf("verification of user id %s, failed due to %s", info.UserID, resp.Message)
logger.Error(errMsg)
return errors.New(errMsg)
}
return nil
}
\ No newline at end of file
package function
import (
"gitlab.smartblocklab.com/smartcontracts/sc-security/tools"
"gitlab.smartblocklab.com/smartcontracts/sc-security/actions"
"github.com/hyperledger/fabric/core/chaincode/shim"
"fmt"
"encoding/json"
"gitlab.smartblocklab.com/smartcontracts/common/chaincode"
"errors"
"gitlab.smartblocklab.com/smartcontracts/common/model"
"gitlab.smartblocklab.com/smartcontracts/common/invoke"
)
// получение заблокированных средств по operationID
func FindLockAmountByOperationIDAndUserId(operationID string, userID string, adapter chaincode.StubInterfaceAdapter) (*model.FindLockAmountResult, error) {
resp := tools.SignedInvokeChaincode(adapter, invoke.FindLockAmountByOperationIDAndUserIdChannelName,
actions.Actions().TransactionCC().FindLockAmountByOperationIDAndUserId, model.FindLockAmountByOperationIDAndUserIdArg{
OperationID: operationID,
UserID: userID,
})
if resp.Status != int32(shim.OK) {
errMsg := fmt.Sprintf("Problem to find lock transaction by operationID %s and userID %s. Message: %s", operationID, userID, resp.Message)
logger.Error(errMsg)
return nil, errors.New(errMsg)
}
var findLockAmountResult model.FindLockAmountResult
err := json.Unmarshal(resp.Payload, &findLockAmountResult)
if err != nil {
errMsg := fmt.Sprintf("Failed to deserialize response from 'findLockAmountByOperationIDAndUserId' function, due to %s", err)
logger.Error(errMsg)
return nil, errors.New(errMsg)
}
return &findLockAmountResult, nil
}
package invoke
const (
VerifyAccountFunctionName = "verifyUserAccount"
VerifyAccountChaincodeName = "accountCC"
VerifyAccountChannelName = "accountchannel"
)
package invoke
const (
FindLockAmountByOperationIDAndUserIdFunctionName = "findLockAmountByOperationIDAndUserId" // Получение заблокированных средств по operationID и Пользователю
FindLockAmountByOperationIDAndUserIdChaincodeName = "transactionCC"
FindLockAmountByOperationIDAndUserIdChannelName = "transactionchannel"
)
package model
// nothing
\ No newline at end of file
package model
import "gitlab.smartblocklab.com/smartcontracts/nums"
type FindLockAmountByOperationIDAndUserIdArg struct {
OperationID string `json:"operation_id,omitempty"`
UserID string `json:"user_id,omitempty"`
}
type FindLockAmountResult struct {
Amount nums.PlainCurrencyNumber `json:"amount,omitempty"`
}
\ No newline at end of file
......@@ -17,38 +17,38 @@
{
"checksumSHA1": "LgpM5r7ya0cNuxzix4qL1h00GPw=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/chaincode",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "wYGk3GepODOSxCUo2IeWsc76mIw=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/chaincodetest",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "EUC+mWSymz6dkmGcamg9XynCoKs=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/couchdb",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "9ip3MZkGNt9RlO1L426LSvErb6k=",
"checksumSHA1": "gRmIKKI44affwxK96IgEoiJznqg=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/function",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "KHosMeiYfa/3ebirP2EAfJECHpY=",
"checksumSHA1": "lF/RMVWKbhh5KDtKEZmB2bM718Q=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/invoke",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "JxtgD66dlxRy3xECCtYLj1Fz5hg=",
"checksumSHA1": "M4tKHfYKlkStlTTmc/A2zr0s0Lo=",
"path": "gitlab.smartblocklab.com/smartcontracts/common/model",
"revision": "a6bf6783f4342466a65b598e0cdab6596bdb9f58",
"revisionTime": "2018-03-27T15:25:01Z"
"revision": "e09f09422e528e625743a71786e4cb47045444f0",
"revisionTime": "2018-03-28T15:27:17Z"
},
{
"checksumSHA1": "L4qluizUP2hk9C+Nv8Er+UidDlg=",
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment