* fix: challangee rewards stay in dao module if challenge is not sucessful
* refactor: split up coin conversion functions
* fix: add dao module coin conversion
* test: adjust test case for updated behavior
* chore: fix typo
* fix: do not mint claims for dao
* refactor: remove redundant statement
* fix: error handling on claim converstion fail
* fix: linter error
* chore: add comment to test case
---------
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* ensure PoP is always initialized even without a defined challenger and challengee
* send the MQTT PoPInit if challenger and challengee are defined
* store the challenge in any case without regarding the minting of the rewards
* structured the added test and their staging
* fixed SelectPopParticipants bug
* restore the previous pop epoch after running dao/suite.go
* avoid popInit during machine attestations (within test cases)
---------
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
* test: fix crddl assertion on pop result e2e test
* test: replace contains with equal assertion
---------
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* feat: verify the availability of PoP participants
* simplified and improved logging
* added MQTT-based availability check for PoP participants
* extended MQTT mocking
* Only the block proposer will send out the MQTT messages to the pop participants
* Added a configuration value for the MQTT response timeout
* removed parallel execution of one test case
* added r/w locking to the MQTT response processing
* set MQTT timeout unit to ms
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* feature: add ante handler to block non validators from sending restricted txs
* fix: add missing msg types and linter errors
* fix: staticcheck error
* refactor: use fallthrough on ante handle switch
* fix: set val address on machine attest test
---------
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* refactor: switch log level for PoP messages
Needs to be the other way around, otherwise we receive up to 720
messages on info level.
* refactor: align spelling in comments and log messages
* fix: config key
Commit fc9e795bd0678746993806ac21c92a675ed7006f changed the reissuance
variable. The config key was forgotten to change.
* refactor: return early to reduce indentation
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
Reissue and reissuance are standalone words and should not contain an
uppercase `I` in the variable name. This should only happen to connect
different word like: file name gets `fileName` resp. `FileName`.
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* refactor: Split up machine e2e test suites
* refactor: move CreateAccount and FundAccount to testutil/e2e
* refactor: add AttestMachine to testutil/e2e
* refactor: split up asset e2e test suites
* refactor: make use of testutil in e2e dao suite
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* refactor: remove unwanted function in `lib`
The `lib` shall always be used with file lock.
* refactor: log `txResponse` in `buildSignBroadcastTx`
- Move `GetTxResponseFromOut` from `testutil` to `lib`
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* implemented SelectPopParticipants
* added check if enough participants to initiate PoP
* make use of lib for broadcasting tx
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
Just a small improvement to not forget to check the error code of the
transaction and not only from the command itself.
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* adjust issuePoPRewards to mint stagedCRDDL
* add GetChallengeRange
* add resolveStagedClaims on ReissueRDDLResult msg
* move claim resolve to distribution result
* add StagedDenom and ClaimDenom to config
* added the prepare4linting.sh script
* renamed PoPEpochs to PopEpochs
* renamed DistributionAddressPoP to DistributionAddressPop
* added config value ReIssuanceEpochs
* detached the re-issuance from the distribution process and schedule them independently
* changed logging messages
* added an explicit util/kv_serialize.go file to have all KV serialization done
* switched to Bigendian serialization of int64 to have the ordered list on the kvstore
* added ComputeReIssuanceValue to enable re-issuances once a day or defined by ReIssuanceEpoch
* integrated a ReIssuanceValue computation test case
* adjusted the challenges test cases to be epoch-dependent
* added ReIssuances per ReIssuanceEpoch
* extended the Reissue message
* checking ReIssuanceProposal in the ante handler
* added precision setter for the UINT to RDDL token converter (and test cases)
* add e2e test case for pop rewards
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Co-authored-by: Jürgen Eckel <juergen@riddleandcode.com>
* [linter] Add `musttag`
Enforce field tags in (un)marshaled structs.
* [linter] Add `nestif`
Reports deeply nested if statements.
* [linter] Add `noctx`
Finds sending http request without context.Context.
* [linter] Add `paralleltest`
Paralleltest detects missing usage of t.Parallel() method in your Go
test.
* [linter] Add `tagalign`
Check that struct tags are well aligned.
* [linter] Add `tagliatelle`
Checks the struct tags.
* [linter] Add `whitespace`
Tool for detection of leading and trailing whitespace.
* [paralleltest] Exclude files bc of data race in tests
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* distributed & result msgs
* added DistributionResult
* added RDDL token conversion methods
* set proper validatoraddress within the testcases for e2e/dao
* set proper root dir for test cases
* fixed some wordings
---------
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
* add MintAddress to params.proto
* ignite scaffold message update-params params:Params --module dao
* add dao get and set params
* make dao.MsgUpdateParams.Params non-nullable
* use GetMintAddress in ante handler
* adjust dao e2e test suit for mint address param
* change msg creator to authority and set gov module as default in gov proposal
* fix staticcheck error
* remove depricated config param
* fix linter errors
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* add mint address to config file
* ignite scaffold type mint-request beneficiary amount liquid-tx-hash --module dao
* add mintrequest stores
* rename mint_request.go
* add unit tests for mint request store
* ignite scaffold message mint-token mint-request:MintRequest --module dao
* add ante handler for mint address
* add msg validation for mint request
* fix staticcheck error
* ignite scaffold query get-mint-requests-by-hash hash --response mint-request:MintRequest --module dao
* add a query for mint request and additional validation for msg server
* add mock for mint unit testing
* add unit test for mint token msg server
* add unit tests for query mint requests by hash
* ignite scaffold query mint-requests-by-address address --response mint-requests:MintRequests --module dao
* implement query mint requests by address and unit tests
* add e2e test for token mint
---------
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
* initial asset notarization restructuring
* adjusted test cases, two are still failing
* removed obsolete data structures
---------
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
This is the quasi-standard and fixes the error below:
```
$ go get -u github.com/planetmint/planetmint-go@v0.1.0
go: github.com/planetmint/planetmint-go@v0.1.0: parsing go.mod:
module declares its path as: planetmint-go
but was required as: github.com/planetmint/planetmint-go
```
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
* added upper and lower case TA resolution testing
* added more detailed error reporting to the ValidateSignature method.
* extended test cases to test and verify these errs and their differences
* fixed CID attestation issue. CIDs are send in web compatible encoding that is not hex encoded and can be utilized without any further decoding on the server side.
* added checks and error handling for the Ta store object storage/loading
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>