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
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,5 @@ backend
.idea
.vscode
mem.log

__debug_*
2 changes: 1 addition & 1 deletion routes/base.go
Original file line number Diff line number Diff line change
Expand Up @@ -389,7 +389,7 @@ func (fes *APIServer) GetAppState(ww http.ResponseWriter, req *http.Request) {
}

// Compute a default fee rate.
globalParams := utxoView.GlobalParamsEntry
globalParams := utxoView.GetCurrentGlobalParamsEntry()
defaultFeeRateNanosPerKB := fes.MinFeeRateNanosPerKB
if globalParams != nil && globalParams.MinimumNetworkFeeNanosPerKB > 0 {
defaultFeeRateNanosPerKB = globalParams.MinimumNetworkFeeNanosPerKB
Expand Down
32 changes: 16 additions & 16 deletions routes/nft.go
Original file line number Diff line number Diff line change
Expand Up @@ -124,15 +124,15 @@ func (fes *APIServer) CreateNFT(ww http.ResponseWriter, req *http.Request) {
} else if requestData.UpdaterPublicKeyBase58Check == "" {
_AddBadRequestError(ww, fmt.Sprintf("CreateNFT: Must include UpdaterPublicKeyBase58Check"))
return
} else if utxoView.GlobalParamsEntry.MaxCopiesPerNFT == 0 {
} else if utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT == 0 {
_AddBadRequestError(ww,
"NFT minting has not been enabled yet. Check back soon :)")
return

} else if requestData.NumCopies <= 0 || requestData.NumCopies > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.NumCopies <= 0 || requestData.NumCopies > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"CreateNFT: NumCopies must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.NumCopies))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.NumCopies))
return

} else if requestData.NFTRoyaltyToCreatorBasisPoints < 0 || requestData.NFTRoyaltyToCreatorBasisPoints > int(fes.Params.MaxNFTRoyaltyBasisPoints) {
Expand Down Expand Up @@ -238,7 +238,7 @@ func (fes *APIServer) CreateNFT(ww http.ResponseWriter, req *http.Request) {
return
}

nftFee := utxoView.GlobalParamsEntry.CreateNFTFeeNanos * uint64(requestData.NumCopies)
nftFee := utxoView.GetCurrentGlobalParamsEntry().CreateNFTFeeNanos * uint64(requestData.NumCopies)

extraData, err := EncodeExtraDataMap(requestData.ExtraData)
if err != nil {
Expand Down Expand Up @@ -342,10 +342,10 @@ func (fes *APIServer) UpdateNFT(ww http.ResponseWriter, req *http.Request) {
_AddBadRequestError(ww, fmt.Sprintf("UpdateNFT: Must include UpdaterPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"UpdateNFT: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

} else if requestData.MinBidAmountNanos < 0 {
Expand Down Expand Up @@ -492,10 +492,10 @@ func (fes *APIServer) CreateNFTBid(ww http.ResponseWriter, req *http.Request) {
_AddBadRequestError(ww, fmt.Sprintf("CreateNFTBid: Must include UpdaterPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"CreateNFTBid: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

} else if requestData.BidAmountNanos < 0 {
Expand Down Expand Up @@ -654,10 +654,10 @@ func (fes *APIServer) AcceptNFTBid(ww http.ResponseWriter, req *http.Request) {
"AcceptNFTBid: Must include UpdaterPublicKeyBase58Check and BidderPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"AcceptNFTBid: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

} else if requestData.BidAmountNanos < 0 {
Expand Down Expand Up @@ -1573,10 +1573,10 @@ func (fes *APIServer) TransferNFT(ww http.ResponseWriter, req *http.Request) {
_AddBadRequestError(ww, fmt.Sprintf("TransferNFT: Must include UpdaterPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"TransferNFT: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

}
Expand Down Expand Up @@ -1730,10 +1730,10 @@ func (fes *APIServer) AcceptNFTTransfer(ww http.ResponseWriter, req *http.Reques
_AddBadRequestError(ww, fmt.Sprintf("AcceptNFTTransfer: Must include UpdaterPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"AcceptNFTTransfer: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

}
Expand Down Expand Up @@ -1869,10 +1869,10 @@ func (fes *APIServer) BurnNFT(ww http.ResponseWriter, req *http.Request) {
_AddBadRequestError(ww, fmt.Sprintf("BurnNFT: Must include UpdaterPublicKeyBase58Check"))
return

} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GlobalParamsEntry.MaxCopiesPerNFT) {
} else if requestData.SerialNumber <= 0 || requestData.SerialNumber > int(utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT) {
_AddBadRequestError(ww, fmt.Sprintf(
"BurnNFT: SerialNumbers must be between %d and %d, received: %d",
1, utxoView.GlobalParamsEntry.MaxCopiesPerNFT, requestData.SerialNumber))
1, utxoView.GetCurrentGlobalParamsEntry().MaxCopiesPerNFT, requestData.SerialNumber))
return

}
Expand Down
5 changes: 3 additions & 2 deletions routes/shared.go
Original file line number Diff line number Diff line change
Expand Up @@ -394,8 +394,9 @@ func (fes *APIServer) SendSeedDeSo(recipientPkBytes []byte, amountNanos uint64,
}

minFee := fes.MinFeeRateNanosPerKB
if utxoView.GlobalParamsEntry != nil && utxoView.GlobalParamsEntry.MinimumNetworkFeeNanosPerKB > 0 {
minFee = utxoView.GlobalParamsEntry.MinimumNetworkFeeNanosPerKB
if utxoView.GetCurrentGlobalParamsEntry() != nil &&
utxoView.GetCurrentGlobalParamsEntry().MinimumNetworkFeeNanosPerKB > 0 {
minFee = utxoView.GetCurrentGlobalParamsEntry().MinimumNetworkFeeNanosPerKB
}
_, _, _, _, err = fes.blockchain.AddInputsAndChangeToTransaction(txn, minFee, fes.backendServer.GetMempool())
if err != nil {
Expand Down
4 changes: 2 additions & 2 deletions routes/transaction.go
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ func (fes *APIServer) CompProfileCreation(profilePublicKey []byte, userMetadata
return 0, nil, nil
}
// Additional fee is set to the create profile fee when we are creating a profile
additionalFees := utxoView.GlobalParamsEntry.CreateProfileFeeNanos
additionalFees := utxoView.GetCurrentGlobalParamsEntry().CreateProfileFeeNanos
if additionalFees == 0 {
return 0, nil, nil
}
Expand All @@ -496,7 +496,7 @@ func (fes *APIServer) CompProfileCreation(profilePublicKey []byte, userMetadata
if err != nil {
return 0, nil, errors.Wrap(fmt.Errorf("UpdateProfile: error getting current balance: %v", err), "")
}
createProfileFeeNanos := utxoView.GlobalParamsEntry.CreateProfileFeeNanos
createProfileFeeNanos := utxoView.GetCurrentGlobalParamsEntry().CreateProfileFeeNanos

// If a user is jumio verified, we just comp the profile even if their balance is greater than the create profile fee.
// If a user has a phone number verified but is not jumio verified, we need to check that they haven't spent all their
Expand Down
2 changes: 1 addition & 1 deletion routes/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ func (fes *APIServer) updateUsersStateless(userList []*User, skipForLeaderboard
if err != nil {
return nil, fmt.Errorf("updateUserFields: Error calling GetAugmentedUtxoViewForPublicKey: %v", err)
}
globalParams := utxoView.GlobalParamsEntry
globalParams := utxoView.GetCurrentGlobalParamsEntry()
for _, user := range userList {
// If we get an error updating the user, log it but don't stop the show.
if err = fes.updateUserFieldsStateless(
Expand Down
4 changes: 3 additions & 1 deletion routes/verify.go
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@ func (fes *APIServer) canUserCreateProfile(userMetadata *UserMetadata, utxoView
// User can create a profile if they have a phone number or if they have enough DeSo to cover the create profile fee.
// User can also create a profile if they've successfully filled out a captcha.
// The PhoneNumber is only set if the user has passed phone number verification.
if userMetadata.PhoneNumber != "" || totalBalanceNanos >= utxoView.GlobalParamsEntry.CreateProfileFeeNanos || userMetadata.LastHcaptchaBlockHeight > 0 {
if userMetadata.PhoneNumber != "" ||
totalBalanceNanos >= utxoView.GetCurrentGlobalParamsEntry().CreateProfileFeeNanos ||
userMetadata.LastHcaptchaBlockHeight > 0 {
return true, nil
}

Expand Down