50 Commits

Author SHA1 Message Date
Jürgen Eckel
43d152fcf6
Donate tokens to attested machines so that these are able to run after their attestation (#375)
* added donation of tokens/denom to the just attestet machine
* extended the machine module to have two additional parameters: amount of tokens to be distributed and their denominator

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-04-23 12:00:31 +02:00
Jürgen Eckel
ec697840de
Eckelj/machine update params (#322)
* added signing authority (dao) to the keeper to enable dao signing checks
* added UpdateParam message for the machine module

---------

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-02-26 12:00:37 +01:00
Jürgen Eckel
04e45a7fb2
275 refactor feedenom on e2e test suite (#312)
* extended AttestMachine FundAccount to support a given fee denominator
* renamed testutil/network/network.go to testutil/network/loader.go
* renamed new to Load
* integrated cosmos/testutil/network to planetmint-go/testutil/network
* changed to plmnt token tests only!
* removed obsolete variables
* fixed newest linter issues

---------

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-02-14 12:15:40 +01:00
Jürgen Eckel
373614e1b2
269 set a chain wide upper gas limit for transactions (#309)
* set global tx gas limit
* extend lib/tx to process multiple messages
* extend lib/tx to configure tx gas limit
* added global gas limit tests
* increased account funding to support needs of testcases

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-02-01 10:23:38 +01:00
Lorenz Herzberger
a38fe781ba
187 implement rddl claim (#298)
* ignite scaffold map redeem-claim amount issued:bool --module dao --index beneficiary,liquid-tx-hash

* revert: remove autogenerated delete redeem claim logic

* fix: replace deprecated autogenerated sdkerrors with errorsmod

* refactor: rename issued to confirmed on redeem claim

* feat: add claim address param

* test: add test for restricted msg UpdateRedeemClaim

* refactor: update redeem claim key creation and messages

* feat: add SendUpdateRedeemCLaim to util

* feat: add RedeemClaimDecorator for ante package

* ignite scaffold message confirm-redeem-claim id:uint beneficiary:string --module dao

* feat: add handleConfirmRedeemClaim to ante handler

* feat: add handleUpdateRedeemClaim to ante handler

* feat: implement ConfirmRedeemClaim msg handler

* test: add redeem claim test and adjust e2e test suite

* fix: make use of uint to rddl string util in CreateRedeemClaim

* fix: linter and staticcheck errors

* ignite scaffold query redeem-claim-by-liquid-tx-hash liquid-tx-hash --response redeem-claim:RedeemClaim --module dao

* feat: add RedeemClaimByLiquidTXHash store capabilities

* test: add QueryRedeemClaimByLiquidTxHash to e2e test suite

* feat: add RedeemClaimDecorator to ante handler chain

* fix: remove redundant planetmint-go from service path

* fix: linter and staticcheck errors

* fix: go vet errors

* fix: remove unused autogenerated simulation

* fix: broken simulation

* fix: openapi.yml

* revert: remove autogenerated redundant test file that causes data race on pipeline

* feat: burn claim on CreateRedeemClaim

* fix: linter error

* test: fix mock bankkeeper for msg server test

* fix: reissuance test if statement

* chore: removed TODO comment

* fix: typo in redeem claim error msg

* revert: remove autogenerated genesis state

* fix: dao module simulation

* revert: remove unused function

* fix: linter errors

* fix: linter error

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2024-02-01 09:57:58 +01:00
Jürgen Eckel
a29f394bc4
192 migrate config params to on chain module params (#307)
* initial refactoring commit
* added config passing to network creation for some test suits
* fixed refactoring issues
* adjusted params

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-01-30 16:12:04 +01:00
Jürgen Eckel
bfbe9584a1
296 change distribution (#306)
* updated planetmint-go dependency in lib/tx
* added two additional distribution addresses. splitted up the previous investor pool of 31% into three pools:
* early investors 19%
* investors 10%
* strategic 2%

* adjusted distribution request message
* adjusted distribution result
* adjusted distribution order
* refactored reissuance and distribution msg methods to be more readable

* fixed token distribution test case

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2024-01-29 14:33:40 +01:00
Julian Strobl
0e0637a04b
fix: refactor forgotten asset endpoints (#290)
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-01-18 14:36:21 +01:00
Julian Strobl
cb230f1615
refactor: cli queries (#288)
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-01-18 12:06:21 +01:00
Julian Strobl
ee4089f847
Remove planetmint-go from API endpoints (#287)
* feat: let the ci check if there are malformed api endpoints

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-01-16 10:39:32 +01:00
Julian Strobl
525d6a8da6
Improve get-distribution CLI output and error handling (#279)
* refactor: rename variable

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-01-16 09:11:44 +01:00
Julian Strobl
2cf9bd4c43
refactor: replace raw tx by command in reissuance (#266)
In the beginning we wanted to send the raw transaction to elements, but
what we ended up doing is to send the command like:
```
"reissueasset assetID amount"
```
to elements-cli/elements-rpc.

Closes #226

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2024-01-10 10:30:58 +01:00
Lorenz Herzberger
bb8e055e44
add challenges query (#231)
* add challenges query

* implement query reissuances paginated

* fix linter errors

---------

Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-12-13 11:47:32 +01:00
Jürgen Eckel
73b0d1b4c8
Add GetDistribution query (#227)
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-12-12 10:13:27 +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
Jürgen Eckel
6a60b78b62
Added PoP Initialization and a Challenge Query (#207)
* added InitPoP message
* added getChallenge query to inspect challenges
* adjusted towards a unique block height identification unit: int64, not uint64
* added challenge param finished to identify challenges that weren't completed but will be part of re-issuance.

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-11-29 13:33:25 +01:00
Julian Strobl
f18d4542e2
Merge release_0_5 branch (#202)
* Fix liuqid notarization (#191)

* Fix liuqid notarization - 2nd part (#193)

* fixed missing unmarshaling
* fixed message formatting issue

* fixed config parsing issue (#194)

* [util] Supply fees

But only where we want to see the transaction succeed. The other ones we
let in a broken state.

* Added logger a logger struct to log with a TAG (#198)

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
Co-authored-by: Jürgen Eckel <eckelj@users.noreply.github.com>
2023-11-28 10:22:39 +01:00
Lorenz Herzberger
a5cea30e26
92 implement pop result handler (#101)
* ignite scaffold message report-pop-result challenge:Challenge --module dao

* add issuePoPRewards and fix typo

* add util validate struct and report pop test cases

* add TODOs

* replace depricated error

* fix broken import

* add error handler for failed pop issuance

* add placeholder for validator is issuer check

* added changed go.mod and go.sum

* generate docs

* reduce cognitive complexity

---------

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-11-16 12:44:56 +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
7d65bff35f
Switch BlockHeight to int64 (#158)
To align with cosmos-sdk and make interoperability easier.

* Fix typo: blockheight -> blockHeight

* Generate protobuf and openapi

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-10-20 13:43:44 +02: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
Jürgen Eckel
44a851f5ef
ignite scaffold query get_reissuances --paginated -r reissuance:Reissuance --module dao
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-10-06 11:50:31 +02:00
Jürgen Eckel
4dc1485cd7
added get_reissuance query
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-10-06 11:49:51 +02:00
Jürgen Eckel
128a406158
ignite scaffold message --module dao reissueRDDLResult proposer:string tx-id:string block-height:uint
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-10-05 17:13:45 +02:00
Jürgen Eckel
b81cdb6dc9
Merge branch 'main' into 124-propose-a-liquid-issuance-to-the-network-unsigned-transaction
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-10-05 16:09:10 +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
Jürgen Eckel
4ad86048a5
initial reissue rddl proposal message
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-10-05 15:02:36 +02:00
Julian Strobl
579cb9c0cf
Update openapi.yml
Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-09-29 09:08:32 +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
Jürgen Eckel
6718f289a9
Eckelj/cid queries (#90)
* get_assets_by_pubkey
* having the APIs up and running and with tests
* renamed Transactions object to CIDs
* renamed files
* fixed formatting issue
---------

Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-09-26 22:55:24 +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
b215f7a5db
Trust Anchor state query (#85)
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-09-21 14:02:32 +02:00
Jürgen Eckel
120d3fdd9d
fixed signing (tests) and signing verification of the machine ID Signature
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-09-06 15:41:39 +02:00
Lorenz Herzberger
8b072d3186
Merge pull request #71 from planetmint/70-add-ta-registry
70 add ta registry
2023-09-06 11:02:46 +02:00
Lorenz Herzberger
d5a75f128e
Merge pull request #69 from planetmint/3-gas-meter-definition-fee-handling
3 gas meter definition fee handling
2023-09-06 10:18:19 +02:00
Lorenz Herzberger
9f1ef39fec
ignite scaffold message register-trust-anchor trust-anchor:TrustAnchor --module machine
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-09-05 15:36:26 +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
Jürgen Eckel
5763bd6a7c
Eckelj/adding machine types (#67)
* added machine-type definition and checks
* fixed staticcheck issues

---------
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-08-31 10:04:07 +02:00
Julian Strobl
e8986a136e
[openapi] Add missing variables
```
$ ignite chain build
```

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-08-02 09:16:13 +02:00
Jürgen Eckel
1b1bd2f790
pinned the chain id for the unit tests
Signed-off-by: Jürgen Eckel <juergen@riddleandcode.com>
2023-07-28 13:47:25 +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
Lorenz Herzberger
8ba1306f2e
ignite scaffold message notarize-asset hash signature pub_key --module asset
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-03 21:22:44 +02:00
Lorenz Herzberger
490f35ee5d
ignite scaffold type asset hash signature pubkey --module asset
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-03 15:16:49 +02:00
Lorenz Herzberger
a61e40d489
ignite scaffold query get-machine-by-public-key publicKey --module machine --response machine:Machine
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-03 14:57:05 +02:00
Lorenz Herzberger
181907eeb4
ignite scaffold message attest-machine machine:Machine --module machine
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-03 14:40:45 +02:00
Lorenz Herzberger
8261397ec1
ignite scaffold module machine
Signed-off-by: Lorenz Herzberger <lorenzherzberger@gmail.com>
2023-07-03 11:52:22 +02:00
Julian Strobl
7810d08780
Add initial generated code
```
$ ignite version
Ignite CLI version:             v0.27.1
Cosmos SDK version:             v0.47.3

$ ignite scaffold chain planetmint-go --address-prefix plmt --no-module
```

Signed-off-by: Julian Strobl <jmastr@mailbox.org>
2023-06-27 13:15:02 +02:00