113 Commits

Author SHA1 Message Date
Julian Strobl
df8ece2a30
Fix TestReissuance() E2E test (#214)
* [lib] Add fee denominator parameter

* [lib] Add client context parameter

e.g. the test cases create their own client context.

* [lib] Reset client context's output

Otherwise if the client context does not change, output gets appended
and gets un-parsable.

* [test] Set missing validator client context values

Necessary for sending transactions.

* [test] Configure RPC library

* [test] Fix `TestReissuance()`

// Closes #195

* Partially revert "[lib] Provide default encoding config (#209)"

This reverts commit 8a8a3aaaf2648f87c4052575bc1a60b23056463b.

Fix README example.

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-12-07 09:57:33 +01:00
Lorenz Herzberger
94830df5fc
184 implement staged claim (#190)
* 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>
2023-12-05 10:51:06 +01:00
Julian Strobl
5b25d4cefc
Improve linter setup (#186)
* [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>
2023-11-17 10:56:25 +01:00
Julian Strobl
db5f4fb3fe
[lib] Switch from RPC (REST) to gRPC (#183)
* [lib] Add `SimulateTx()`

* [lib] Set `plmnt` as default bech32 account prefix

* [linter] Function should pass the context parameter (contextcheck)

// Closes #175

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-11-16 14:47:16 +01:00
Jürgen Eckel
a982abecf5
Distribute assets (#162)
* 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>
2023-11-15 13:31:20 +01:00
Lorenz Herzberger
83d493dd94
139 implement mint address param (#174)
* 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>
2023-11-15 10:46:01 +01:00
Julian Strobl
1e1138d026
Switch to revive and fix findings (#171)
* [ci] Switch from `nosnakecase` to `revive`

* [revive] Fix findings

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-11-13 12:42:52 +01:00
Lorenz Herzberger
c8bfb861f1
add machine allowance e2e test (#166)
* add machine allowance e2e test

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

* fix linter errors

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-11-09 15:47:41 +01:00
Julian Strobl
6aaa5399ef
Remove /planetmint-go from API paths (#157)
* Remove `/planetmint-go` from API paths

* Generate protobuf and openapi

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-10-19 10:39:23 +02:00
Julian Strobl
283eeb7c9a
Fix broken API paths (#154)
* Fix broken API paths

Partially revert d4eed021c8b16210e82dbaa7687fc671b6ea5a90

* Generate protobuf and openapi

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-10-18 08:48:33 +02:00
Lorenz Herzberger
7a3ccccc7a
119 create dao msg to mint plmnt on demand (#122)
* 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>
2023-10-05 15:38:53 +02:00
Lorenz Herzberger
7c31fb1d68
fix fee deduction, distribution test case (#117)
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-10-03 13:27:11 +02:00
Lorenz Herzberger
94022e1102
100 set fees to be 1 plmnt for a tx (#114)
* replace DeductFeeDecorator and adjust e2e tests
* reorganize decorators and add comments

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-10-03 09:01:39 +02:00
Lorenz Herzberger
e80ce7e894
remove duplicate validation (#102)
* remove duplicate validation
* add e2e test for antehandler checks on invalid machine attestation requests
* added comment
* adjusted openapi docs

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>
2023-09-29 09:09:27 +02:00
Jürgen Eckel
8fd9f213f3
77 rename asset hash to asset cid (#97)
* initial asset notarization restructuring
* adjusted test cases, two are still failing
* removed obsolete data structures

---------

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-09-27 16:35:31 +02:00
Lorenz Herzberger
86a85913cf
add GetMachineByAddress capabilities
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-25 16:42:26 +02:00
Julian Strobl
d4eed021c8
[go.mod] Switch module to github.com (#86)
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>
2023-09-21 17:37:57 +02:00
Jürgen Eckel
c05797333d
fixed test issues after merge (#84)
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-09-21 11:43:20 +02:00
Lorenz Herzberger
56ad4822d8
Add custom ante handler (#76)
* add initial custom ante handler
* implement CheckMachineDecorator.AnteHandle
* add machine error code
* add TA check to antehandler
* change machine error codes

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-20 16:27:16 +02:00
Jürgen Eckel
cb9f762675
Eckelj/fix store resolve issues (#79)
* 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>
2023-09-15 10:10:04 +02:00
Lorenz Herzberger
f7253024d2
fix asset e2e test suite for extended keypair
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-12 17:00:20 +02:00
Lorenz Herzberger
3e18324004
remove unused function
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 23:09:57 +02:00
Lorenz Herzberger
6c7ccd47ee
remove comment
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 16:16:40 +02:00
Lorenz Herzberger
45a6913eb7
fix asset e2e tests
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 16:15:47 +02:00
Lorenz Herzberger
f74aae8e6e
fix machine test
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 16:05:46 +02:00
Lorenz Herzberger
e33452476f
adjust test suite for ta validation
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 15:13:06 +02:00
Lorenz Herzberger
b1f572ddee
update machine message
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-06 11:41:54 +02:00
Lorenz Herzberger
58c7947045
fix lint errors
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-05 12:34:35 +02:00
Lorenz Herzberger
6283299d94
sanitize test case
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-05 12:12:10 +02:00
Lorenz Herzberger
c58dda2034
add denoms to config
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-05 11:03:42 +02:00
Lorenz Herzberger
05a484c8b9
implement e2e test scenario for fee distribution
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-08-31 16:33:22 +02:00
Lorenz Herzberger
f9de021deb
added EndBlocker and started implementing e2e test suite
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-08-28 17:24:00 +02:00
Jürgen Eckel
1a5d673a86
adjusted the default derivation path for the test cases to planetmint… (#59)
* adjusted the default derivation path for the test cases to planetmint cointype

* [test] Update sample.PubKey

Changed due to updated derivation path.

* [test] Set comment for DefaultDerivationPath

---------

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
Co-authored-by: Julian Strobl <jmastr@mailbox.org>
2023-08-03 09:48:03 +02:00
Julian Strobl
9fe804ee2f
[test] Add more asserts to test cases
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-21 08:04:51 +02:00
Julian Strobl
e97a7f714a
[test] Refactor code into own functions
- Parse `TxResponse` from output of `ExecTestCLICmd`
- Get RawLog from `TxResponse`

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-21 08:01:40 +02:00
Julian Strobl
3778f52b24
[test] DRY
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-20 10:45:05 +02:00
Julian Strobl
fd136b6219
[test] Switch const PubKey to hex version
This aligns with the return values of `sample.KeyPair()`.

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-20 10:43:42 +02:00
Julian Strobl
359cbbc5d9
[lint] Switch to golangci-lint and fix errors
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-19 16:34:42 +02:00
Julian Strobl
a97d1126f9
[tests] DRY
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-19 16:34:42 +02:00
Julian Strobl
18ce58f139
[tests] Use sample.Machine()
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-19 16:34:42 +02:00
Julian Strobl
5a435575b5
[lint] Fix some errors
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-07-19 15:53:42 +02:00
Lorenz Herzberger
d43b61b9aa
fix linter errors
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 14:13:08 +02:00
Lorenz Herzberger
02f2140df4
removed unused constant
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 13:19:05 +02:00
Lorenz Herzberger
9210301c88
refactor machine rest test
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 13:16:02 +02:00
Lorenz Herzberger
2874e577b0
refactor asset rest test
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 13:06:50 +02:00
Lorenz Herzberger
5fb957b02f
move tx prep and broadcast to testutils
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 11:15:22 +02:00
Lorenz Herzberger
9e42d74bc3
add basic notarize asset rest test
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-19 09:58:19 +02:00
Lorenz Herzberger
cb96fe9679
asset e2e tests for raw log
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-18 16:15:59 +02:00
Lorenz Herzberger
b7c177aa46
add to asset e2e test suite
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-13 14:33:25 +02:00
Lorenz Herzberger
8d0b0e6b8b
start implement TestNotarizeAsset
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-12 17:03:03 +02:00