Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion core/quorum_validation.go
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ func (c *Core) syncParentToken(p *ipfsport.Peer, parentTokenID string) (int, err
c.log.Error("failed to get parent token details from ipfs", "err", err, "token", parentTokenID)
return -1, err
}

iswholeToken := token.CheckWholeToken(string(b))

var tt int
Expand Down Expand Up @@ -288,6 +288,8 @@ func (c *Core) validateSingleToken(cr *ConensusRequest, sc *contract.Contract, q
c.log.Error("Failed to sync parent token for token", "token", ti.Token, "err", err)
return err, false
}
// The parent token passed in the pin function is the ipfs Hash itself.
// We are adding the parent token details to ipfs in the syncParentToken function above.
_, err = c.w.Pin(parentToken, wallet.ParentTokenPinByQuorumRole, quorumDID, cr.TransactionID, address, receiverAddress, ti.TokenValue)
if err != nil {
c.log.Error("Failed to pin parent token for token", "token", ti.Token, "err", err)
Expand Down
17 changes: 12 additions & 5 deletions core/smart_contract_token_operations.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package core

import (
"bytes"
"fmt"
"strconv"
"strings"
Expand Down Expand Up @@ -55,10 +56,10 @@ func (c *Core) deploySmartContractToken(reqID string, deployReq *model.DeploySma
}
//Get the RBT details from DB for the associated amount/ if token amount is of PArts create
rbtTokensToCommitDetails, err := parts.CollectRBTTokens(
didCryptoLib,
c.w,
didCryptoLib,
c.w,
deployReq.RBTAmount,
c.testNet,
c.testNet,
c.log,
c.publishTxn,
)
Expand All @@ -72,7 +73,14 @@ func (c *Core) deploySmartContractToken(reqID string, deployReq *model.DeploySma
defer c.w.ReleaseTokens(rbtTokensToCommitDetails)

for i := range rbtTokensToCommitDetails {
c.w.Pin(rbtTokensToCommitDetails[i].TokenID, wallet.OwnerRole, did, "NA", "NA", "NA", float64(0)) //TODO: Ensure whether trnxId should be added ?
commitedTokenIdBuffer := bytes.NewBufferString(rbtTokensToCommitDetails[i].TokenID)
commitedTokenHash, err := c.w.Add(commitedTokenIdBuffer, did, wallet.OwnerRole)
if err != nil {
c.log.Error("Failed to add commited tokens to ipfs", "err", err)
resp.Message = "Failed to add commited tokens to ipfs , err : " + err.Error()
return resp
}
c.w.Pin(commitedTokenHash, wallet.OwnerRole, did, "NA", "NA", "NA", float64(0)) //TODO: Ensure whether trnxId should be added ?
rbtTokensToCommit = append(rbtTokensToCommit, rbtTokensToCommitDetails[i].TokenID)
}

Expand Down Expand Up @@ -196,7 +204,6 @@ func (c *Core) deploySmartContractToken(reqID string, deployReq *model.DeploySma
}
c.ec.ExplorerSCDeploy(eTrans)


c.log.Info("Smart Contract Token Deployed successfully", "duration", dif)
resp.Status = true
msg := fmt.Sprintf("Smart Contract Token Deployed successfully in %v", dif)
Expand Down
2 changes: 2 additions & 0 deletions core/token.go
Original file line number Diff line number Diff line change
Expand Up @@ -2079,6 +2079,8 @@ func (c *Core) FaucetTokenCheck(tokenID string, did string) model.BasicResponse

return br
}

// This function might not be needed since we are going from the tokenHash structure.
func (c *Core) ValidateToken(token string) (*model.BasicResponse, error) {

response := &model.BasicResponse{
Expand Down
28 changes: 21 additions & 7 deletions core/transfer.go
Original file line number Diff line number Diff line change
Expand Up @@ -148,9 +148,16 @@ func (c *Core) initiateRBTTransfer(reqID string, req *model.RBTTransferRequest)
// release the locked tokens before exit
defer c.w.ReleaseTokens(tokensForTxn)

for i := range tokensForTxn {
c.w.Pin(tokensForTxn[i].TokenID, wallet.OwnerRole, senderDID, "TID-Not Generated", req.Sender, req.Receiver, tokensForTxn[i].TokenValue)
}
// for i := range tokensForTxn {
// tokenIdBuffer := bytes.NewBufferString(tokensForTxn[i].TokenID)
// tokenIdHash, err := c.w.Add(tokenIdBuffer, senderDID, wallet.OwnerRole)
// if err != nil {
// c.log.Error("Failed to add commited tokens to ipfs", "err", err)
// resp.Message = "Failed to add commited tokens to ipfs , err : " + err.Error()
// return resp
// }
// c.w.Pin(tokensForTxn[i].TokenID, wallet.OwnerRole, senderDID, "TID-Not Generated", req.Sender, req.Receiver, tokensForTxn[i].TokenValue)
// }

// Get the receiver & do sanity check
var rpeerid string = ""
Expand Down Expand Up @@ -225,7 +232,7 @@ func (c *Core) initiateRBTTransfer(reqID string, req *model.RBTTransferRequest)
resp.Message = "failed to get genesis block, invalid token chain"
return resp
}

if err := c.ValidateTokenNetworkID(genesisBlock, tokensForTxn[i].TokenID); err != nil {
c.log.Error("failed to validate token network ID", "err", err)
resp.Message = "failed to validate token network ID, " + err.Error()
Expand Down Expand Up @@ -566,9 +573,16 @@ func (c *Core) completePinning(st time.Time, reqID string, req *model.RBTPinRequ
// release the locked tokens before exit
defer c.w.ReleaseTokens(tokensForTxn)

for i := range tokensForTxn {
c.w.Pin(tokensForTxn[i].TokenID, wallet.PinningRole, did, "TID-Not Generated", req.Sender, req.PinningNode, tokensForTxn[i].TokenValue)
}
// for i := range tokensForTxn {
// tokenIdBuffer := bytes.NewBufferString(tokensForTxn[i].TokenID)
// tokenIdHash, err := c.w.Add(tokenIdBuffer, did, wallet.OwnerRole)
// if err != nil {
// c.log.Error("Failed to add commited tokens to ipfs", "err", err)
// resp.Message = "Failed to add commited tokens to ipfs , err : " + err.Error()
// return resp
// }
// c.w.Pin(tokensForTxn[i].TokenID, wallet.PinningRole, did, "TID-Not Generated", req.Sender, req.PinningNode, tokensForTxn[i].TokenValue)
// }
p, err := c.getPeer(req.PinningNode)
if err != nil {
resp.Message = "Failed to get pinning peer, " + err.Error()
Expand Down
Loading
Loading