Skip to content

Commit

Permalink
removed troubleshooting prints, limited seq error retry broadcast to …
Browse files Browse the repository at this point in the history
…one time
  • Loading branch information
Aven Dauz authored and Aven Dauz committed Aug 7, 2021
1 parent 3f383b6 commit 1d73dc1
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 27 deletions.
24 changes: 10 additions & 14 deletions x/curium/keeper/keeper.go
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ type AccountState struct {
seqNum uint64
accntNum uint64
requested bool
reset bool
}

func updateAccountState(accnt exported.Account, state AccountState) (AccountState, error) {
Expand All @@ -96,6 +97,7 @@ func resetAccountState(accnt exported.Account, state AccountState) (AccountState
state.accntNum = accnt.GetAccountNumber()
state.seqNum = accnt.GetSequence()
state.requested = true
state.reset = true
return state, nil
}

Expand Down Expand Up @@ -148,6 +150,7 @@ func (k Keeper) NewMsgBroadcaster(keyringDir string, cdc *codec.Codec) MsgBroadc

accntState := AccountState{
requested: false,
reset: false,
}

return func(ctx sdk.Context, msgs []sdk.Msg, from string) chan *MsgBroadcasterResponse {
Expand All @@ -169,7 +172,6 @@ func (k Keeper) NewMsgBroadcaster(keyringDir string, cdc *codec.Codec) MsgBroadc
func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *codec.Codec, curiumKeeper Keeper, accKeeper *keeper.AccountKeeper, ctx sdk.Context, msgs []sdk.Msg, from string, state AccountState) {

returnError := func(err error) {
curiumKeeper.Logger(ctx).Error("DoBroadcast, returnError(), ~~~", "error", err)
resp <- &MsgBroadcasterResponse{
Error: err,
}
Expand Down Expand Up @@ -218,7 +220,7 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code
return
}

fmt.Println("***** Seq num before update", state.seqNum)


state, err = updateAccountState(accnt, state)

Expand All @@ -227,7 +229,7 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code
return
}

fmt.Println("***** Seq num after update", state.seqNum)

// Create a new TxBuilder.
txBuilder := auth.NewTxBuilder(
utils.GetTxEncoder(cdc),
Expand All @@ -241,14 +243,11 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code
gasPrice,
).WithKeybase(kr)

fmt.Println("Before building and signing")

signedMsgs, err := txBuilder.BuildAndSign(from, clientkeys.DefaultKeyPass, msgs)

fmt.Println("After building and signing")

if err != nil {
fmt.Println("******** ERROR FROM BUILDING AND SIGNING", err)
returnError(err)
return
}
Expand All @@ -260,12 +259,8 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code

rpcCtx := rpctypes.Context{}

fmt.Println("Before broadcasting")

broadcastResult, err := core.BroadcastTxSync(&rpcCtx, signedMsgs)

fmt.Println("After broadcasting", broadcastResult, msgs)

if err != nil {
returnError(err)
return
Expand All @@ -278,7 +273,11 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code
return
}

fmt.Println(accntSeqString.MatchString(broadcastResult.Log))

if state.reset {
returnError(errors.New(broadcastResult.Log))
return
}

if accntSeqString.MatchString(broadcastResult.Log) {
returnError(errors.New("Sequencing error, retrying broadcast"))
Expand All @@ -294,9 +293,6 @@ func DoBroadcast(resp chan *MsgBroadcasterResponse, keyringDir string, cdc *code

result, err := pollForTransaction(rpcCtx, broadcastResult.Hash)

fmt.Println("Response after polling for transaction", result)
fmt.Println("Error from polling for transaction", err)

if err != nil {
returnError(err)
return
Expand Down
12 changes: 0 additions & 12 deletions x/nft/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ func NewHandler(keeper keeper.Keeper) sdk.Handler {
}

func handleMsgCreateNft(goCtx sdk.Context, k keeper.Keeper, msg *types.MsgCreateNft) (*sdk.Result, error) {
fmt.Println("Recieved Msg Create")
k.AppendNft(
goCtx,
msg.Creator,
Expand Down Expand Up @@ -58,9 +57,7 @@ func handleMsgCreateNft(goCtx sdk.Context, k keeper.Keeper, msg *types.MsgCreate
}

go func() {
fmt.Println("Calling broadcaster to publish file")
err = k.BroadcastPublishFile(goCtx, msg.Id, msg.Vendor, msg.UserId, msg.Hash, msg.Mime, metainfo)
fmt.Println("Broadcaster completed Msg Publish", err)
if err != nil {
k.Logger(goCtx).Error("error broadcasting publish nft file", "err", err.Error())
}
Expand All @@ -86,13 +83,9 @@ func handleMsgPublishFile(ctx sdk.Context, k Keeper, msg *types.MsgPublishFile)
k.Logger(ctx).Debug("Publish file message received", "id", msg.Id)
var metainfo metainfo.MetaInfo
bencode.DecodeBytes(msg.Metainfo, &metainfo)
fmt.Println("Publish message recieved, retrieving file")
k.BtClient.RetrieveFile(&metainfo)
fmt.Println("Retrieved file")
k.EnsureNftDirExists()
fmt.Println("Nft directory now exists")
err := os.Symlink(k.HomeDir+"/nft/"+msg.Hash, k.HomeDir+"/nft/"+msg.Vendor + "-" + msg.Id)
fmt.Println("Symlink has been created")

if err != nil {
return nil, err
Expand All @@ -103,23 +96,18 @@ func handleMsgPublishFile(ctx sdk.Context, k Keeper, msg *types.MsgPublishFile)
UserId: msg.UserId,
Mime: msg.Mime,
}
fmt.Println("Writing hash .info file")
err = ioutil.WriteFile(k.HomeDir+"/nft/"+msg.Hash+".info", k.Cdc.MustMarshalJSON(&info), 0666)
fmt.Println("Finished writing hash .info file")
if err != nil {
return nil, err
}
fmt.Println("Symlinking vendor .info file")
err = os.Symlink(k.HomeDir+"/nft/"+msg.Hash+".info", k.HomeDir+"/nft/"+msg.Vendor + "-" + msg.Id+".info")
fmt.Println("Finished symlinking vendor .info file")
if err != nil {
return nil, err
}
return &sdk.Result{}, nil
}

func handleMsgRegisterPeer(ctx sdk.Context, k Keeper, msg *types.MsgRegisterPeer) (*sdk.Result, error) {
fmt.Println("Recieved Msg Register Peer")
store := k.GetPeerStore(ctx)
var peer types.Peer
peer.Id = msg.Id
Expand Down
1 change: 0 additions & 1 deletion x/nft/keeper/createNft.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@ func (k Keeper) BroadcastPublishFile(ctx sdk.Context, id string, vendor string,
}

result := <- k.MsgBroadcaster(ctx, []sdk.Msg{&publishMsg}, "nft")
fmt.Println("Response from broadcastMsgPublish", result)
if result.Error != nil {
return result.Error
}
Expand Down

0 comments on commit 1d73dc1

Please sign in to comment.