Commit Graph

374 Commits

Author SHA1 Message Date
Ruaridh
c28bc03248
Committtee audit revisions (#510)
* comments from review

Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>
Co-authored-by: jmahess <maheswaran@google.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>

* add vote methods

* add draft new param change permission

* add and update tests

* rename ParamChangePermission

* account for perms becoming invalid at a later time

* add debtParam to permission

* add bep3 AssetParam to permissions

* add pricefeed Markets to permission

* add upgrade permission

* move proposal passing to the begin blocker

* fix iteration bug

Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>

* address todos and audit comments

* add proposal examples

* refactor handler to be easier to read

* address review comments

* update comments

Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
Co-authored-by: Sunny Aggarwal <sunnya97@protonmail.ch>
Co-authored-by: jmahess <maheswaran@google.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-15 15:25:49 -04:00
Federico Kunze
5069aebda7
minor fix 2020-05-15 12:49:54 -04:00
Federico Kunze
6a07def455
remove test case 2020-05-15 12:43:52 -04:00
Denali Marsh
dd1d248be2
[R4R] Add BnbDeputyFixedFee param to BEP3 module (#511)
* generate length 32 random bytes

* fix test

* implement BnbDeputyFixedFee param

* clean up for PR

* update deputy address

* remove impossible check

* move comment
2020-05-13 16:39:29 -07:00
Denali Marsh
fa8ae9647a
[R4R] Update secure RNG to generate bytes directly (#509)
* generate length 32 random bytes

* fix test
2020-05-13 16:38:34 -07:00
Federico Kunze
9932169a67
sim fixes 2020-05-13 12:05:55 -04:00
Kevin Davis
1099dfbd7d
CDP revisions (#508)
* address review comments

* add kavadist to modaccount check

* cdp and deposit validation in genesis

* cleanup genesis validation

* add validation test for types

* don't error on augmented cdp loading

* simplify collateral auction logic
2020-05-13 10:19:19 -04:00
Federico Kunze
907e93b7a8
fix conflicts 2020-05-13 09:38:38 -04:00
Federico Kunze
6dedc1520a
x/auction: audit revisions (#497)
Auction audit revisions
2020-05-13 09:31:36 -04:00
Federico Kunze
1a46b3fa2b
fix tests 2020-05-13 09:24:17 -04:00
Federico Kunze
3ee16963aa
Merge branch 'master' of github.com:Kava-Labs/kava into fedekunze/auction-validation 2020-05-13 09:14:47 -04:00
Federico Kunze
12fe0c60a3
x/bep3: fix swap validation (#507) 2020-05-13 08:41:54 -04:00
Kevin Davis
7f236d322d
[R4R] Update Swagger for testnet-6000 (#496)
* wip: update swagger for testnet-6000

* add remaining modules to swagger

* add committee api
2020-05-13 08:41:31 -04:00
Federico Kunze
2327b01ed4
message test 2020-05-12 16:37:08 -04:00
Federico Kunze
71742d2eef
auction tests 2020-05-12 16:32:18 -04:00
Denali Marsh
6c68e41758
[R4R] bep3 module audit revisions (#505)
* most audit revisions

* remove expected income

* update begin block spec

* filter queryAtomicSwaps, add queryAssetSupplies

* update old address

* update test

* Remove legacy method

* remove legacy comment

* address PR comments

* IsValid for SwapDirection, SwapStatus

* fix rng logging

* query asset supplies

* return [64]byte from rng

* remove cross chain field from MsgCreateAtomicSwap

* move swap filtering to querier

* rename Limit field to SupplyLimit
2020-05-12 13:15:38 -07:00
rhuairahrighairigh
f0c750cb4a remove cdp review comment 2020-05-12 01:10:57 +01:00
rhuairahrighairigh
a5d70d1424 Merge branch 'master' into ro-auction-audit-revisions 2020-05-12 01:09:32 +01:00
rhuairahrighairigh
bc1a6a68e0 bugfix 2020-05-12 01:06:32 +01:00
rhuairahrighairigh
6b478a0f95 minor refactor 2020-05-12 00:57:48 +01:00
Federico Kunze
e3aad2306b
other validations 2020-05-11 19:10:14 -04:00
Federico Kunze
32213ed56c
x/auction: types validation 2020-05-11 18:56:28 -04:00
Kevin Davis
89b63a3cba fix: simplify collateral auction logic 2020-05-11 18:35:16 -04:00
Ruaridh
d489bacfac
tidy payout function
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
2020-05-11 21:07:39 +01:00
rhuairahrighairigh
7c477eb75d add cdp math fix and debugging 2020-05-11 20:48:42 +01:00
rhuairahrighairigh
5987d966ef increase auction maths safety 2020-05-11 20:45:00 +01:00
Federico Kunze
04cb414593
x/bep3: genesis validation (#488)
* validate asset supply

* validate swap

* genesis tests

* swap and supply unit tests

* use Require() for suite

* fix tests

* Apply suggestions from code review


Co-authored-by: Denali Marsh <denali@kava.io>
2020-05-11 12:55:09 -04:00
rhuairahrighairigh
8899a7ff04 replace some errors with panics 2020-05-11 14:55:32 +01:00
rhuairahrighairigh
976f8f632d remove todo - leave to caller to deal with panic 2020-05-08 16:10:59 +01:00
rhuairahrighairigh
4039086e8d tidy up events 2020-05-08 16:07:11 +01:00
Kevin Davis
7129e7c95b use correct terminolgy in incentive spec 2020-05-07 19:41:14 -04:00
Kevin Davis
18b6a8ce25 remove extra newline 2020-05-07 17:52:21 -04:00
Kevin Davis
e60bf54b32 clean up validator vesting spec 2020-05-07 17:52:07 -04:00
Kevin Davis
db7aaef98d cleanup cdp events 2020-05-07 17:35:42 -04:00
Kevin Davis
fd8d48e208 add committee spec 2020-05-07 16:58:46 -04:00
Kevin Davis
deef10a872 add voter address to vote event 2020-05-07 16:58:39 -04:00
Kevin Davis
c1e9a87fb3 add incentive spec 2020-05-07 13:46:48 -04:00
Kevin Davis
a295b793a9 fix: emit relevent events for incentive 2020-05-07 13:46:40 -04:00
Kevin Davis
0c49f1b089 add kavadist spec 2020-05-07 13:45:32 -04:00
Kevin Davis
dc5614b241 fix: emit inflation as coin 2020-05-07 13:45:16 -04:00
Kevin Davis
70b0f02e6d fix: use correct abci method in pricefeed spec 2020-05-07 13:44:43 -04:00
Kevin Davis
178f74c1d8 fix: delete claim after user claims it 2020-05-07 13:43:36 -04:00
Kevin Davis
c6d287a5b3 feat: add pricefeed spec 2020-05-07 11:11:10 -04:00
Denali Marsh
8ef03e4181
[HOTFIX] Fix outgoing swaps in BEP3 sims (#490)
* check available asset supply on outgoing swaps

* switch maximum, current
2020-05-06 17:29:59 -07:00
Denali Marsh
611eff93cf
[R4R] Update bep3 module account permissions (#483)
* incoming swaps trigger acc registration

* move supply increment after recipient acc validation

* use expected keepers pattern

* remove expected keepers from alias

* update bep3 macc permissions

* clean supply keeper interface

* add module account check to genesis

* remove duplicated accountkeeper
2020-05-06 13:23:13 -07:00
Denali Marsh
7a904ddd6c
[R4R] Add outgoing swaps to bep3 sims (#484)
* incoming swaps trigger acc registration

* move supply increment after recipient acc validation

* use expected keepers pattern

* remove expected keepers from alias

* add outgoing swaps to sims
2020-05-06 12:30:27 -07:00
Denali Marsh
d56ad961c0
[R4R] Enable bep3 claim txs from new addresses (#482)
* incoming swaps trigger acc registration

* move supply increment after recipient acc validation

* use expected keepers pattern

* remove expected keepers from alias

* update comment
2020-05-06 10:56:43 -07:00
Ruaridh
23a5c7b969
Add committee simulations (#431)
* first pass at genesis and msgs

* add proposal generation

* add permission generation

* add decoder

* add invariants

* add committee change proposal generator

* improve committee change proposal generation

* fix error formatting

* update sims to v0.38

* Update x/committee/keeper/invariants.go

Co-Authored-By: Denali Marsh <denali@kava.io>

* Update x/committee/keeper/invariants.go

Co-Authored-By: Denali Marsh <denali@kava.io>

* tidy up comments

* tidy up random helpers

* add committee to ImportExport test

* add member check to vote invariant

* fix comment wording

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>

Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-05-04 17:17:20 -04:00
Jack Zampolin
f86d0f3c3b Add changes from code review 2020-05-04 10:52:36 -07:00
Kevin Davis
471565e360
fix: add new event manager to ctx in handlers (#485) 2020-05-02 18:52:49 -04:00
Kevin Davis
8f3858509a
fix: various errors from linter (#481) 2020-05-01 14:13:29 -04:00
Federico Kunze
511e1e07ac
fix conflicts from development 2020-04-30 17:12:22 -04:00
Kevin Davis
22bba81944
Check spendable balance in cdp sims (#480)
* fix: check spendable balance

* don't log noisy result.Log

* remove dead comment
2020-04-30 17:02:42 -04:00
Federico Kunze
d8bbde78cc
build 2020-04-30 12:15:40 -04:00
Federico Kunze
1a04ffe396
fix some lint bugs 2020-04-30 11:33:10 -04:00
Federico Kunze
9743f356be
Merge branch 'master' of github.com:Kava-Labs/kava into linters 2020-04-30 10:31:20 -04:00
Kevin Davis
22315cc3ca
add committee to sims (#479)
* fix: update test for cdp breaking changes

* fix: add committee to sims
2020-04-30 10:27:37 -04:00
Federico Kunze
fe72a24aa0
update format 2020-04-30 10:23:41 -04:00
Federico Kunze
8853e8d3d1
linters and format 2020-04-30 10:13:31 -04:00
Federico Kunze
e9c16fa752
x/committee: committee gov module
Committee Gov Module
2020-04-30 09:16:33 -04:00
Kevin Davis
3cc2cc99b8
fix: enforce sorting of cdp ids when storing (#475) 2020-04-29 18:02:31 -04:00
Kevin Davis
c175e9e856
Add kava modules to TestAppImportExport (#472)
* add kava modules to TestAppImportExport
2020-04-29 10:10:41 -04:00
rhuairahrighairigh
e1cb079589 remove alias comment from godoc 2020-04-28 16:36:06 +01:00
rhuairahrighairigh
ffbeced199 apply various pr suggestions 2020-04-28 01:51:53 +01:00
rhuairahrighairigh
d1c0dd18b1 only import types pkgs within types 2020-04-28 01:28:00 +01:00
rhuairahrighairigh
307ecd54e2 remove unecessary codec tests 2020-04-28 01:26:48 +01:00
rhuairahrighairigh
447e7579a8 tidy up codec type registrations 2020-04-28 01:26:00 +01:00
rhuairahrighairigh
073cd7ebda update module to v0.38 2020-04-27 19:19:05 +01:00
rhuairahrighairigh
6c3d525f0f Merge branch 'master' into ro-emergency-gov-module 2020-04-27 15:55:20 +01:00
Kevin Davis
ae4aee46ff
Use sdk.Coin in cdp module (#466)
* Use sdk.Coin in cdp module
Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: John Maheswaran <john@noreply>
2020-04-27 10:40:34 -04:00
rhuairahrighairigh
631b87eaf0 apply various PR comments 2020-04-27 15:37:25 +01:00
rhuairahrighairigh
c17de631d2 add nicer keeper get methods 2020-04-27 15:04:47 +01:00
rhuairahrighairigh
20c02a6a54 add permissions tests 2020-04-27 13:57:47 +01:00
rhuairahrighairigh
576dcc7dfd rename files 2020-04-27 13:56:59 +01:00
rhuairahrighairigh
c231912642 add handler tests 2020-04-26 15:28:57 +01:00
rhuairahrighairigh
196ecf7f30 improve proposal tests 2020-04-25 17:39:59 +01:00
rhuairahrighairigh
ebb6366837 address various pr comments 2020-04-25 00:22:56 +01:00
rhuairahrighairigh
ccad1f82e2 switch to non length prefixed marshalling 2020-04-25 00:05:54 +01:00
rhuairahrighairigh
114097edb3 add cli help text test 2020-04-24 23:36:08 +01:00
rhuairahrighairigh
733711c88c add query committee cmd 2020-04-24 23:16:04 +01:00
rhuairahrighairigh
5c280696fb refactor begin blocker 2020-04-24 23:15:51 +01:00
Denali Marsh
b969a0ea33
Incentive module simulations (#439)
* Incentive module simulations (#439)
Co-authored-by: John Maheswaran <jmaheswaran@users.noreply.github.com>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
Co-authored-by: John Maheswaran <john@kava.io>
2020-04-24 17:55:18 -04:00
Ruaridh
73dc488239
Apply suggestions from code review
Co-Authored-By: Denali Marsh <denali@kava.io>
Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>
2020-04-24 19:15:57 +01:00
Kevin Davis
e9a73b80ce
Incentives tests (#429)
* USDX Incentives tests (#429)

Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: John Maheswaran <jmaheswaran@users.noreply.github.com>
Co-authored-by: John Maheswaran <john@kava.io>
2020-04-24 11:44:44 -04:00
Kevin Davis
1ef9bd331b
USDX incentives implementation (#399)
* USDX incentives implementation (#399)
* feat: upgrade to cosmos-sdk v0.38

Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: John Maheswaran <jmaheswaran@users.noreply.github.com>
Co-authored-by: John Maheswaran <john@kava.io>
2020-04-24 11:20:34 -04:00
jmahess
5737f4fa19
[R4R] Update fees for all cdps (#449)
* update cdp fees in begin block

Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: John Maheswaran <john@noreply>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
2020-04-23 19:25:44 -04:00
Kevin Davis
23e23fdaaa
fix: restore auction sims operations (#465) 2020-04-23 14:51:37 -07:00
Denali Marsh
a4c5a13822
[R4R] BEP3 module spec and clean up (#450)
* bump SDK version to v0.38.2

* fix module.go and remove codespaces

* fix coins Add()

* fixes to handlers

* migrate errors

* more fixes

* fixes fixes fixes

* build

* check for paramstore keytable

* empty param validation function (TODO)

* param validations

* fix some tests

* fix all tests

* simulation fixes (WIP)

* auction and bep3 sim refactor

* fixes

* bep3 sims fixes

* auction and pricefeed fix

* cdp sims fixes

* fix tests

* Update x/auction/keeper/auctions.go

Co-Authored-By: Denali Marsh <denali@kava.io>

* Update x/bep3/types/params.go

Co-Authored-By: Denali Marsh <denali@kava.io>

* Apply suggestions from code review

Co-Authored-By: Denali Marsh <denali@kava.io>

* Update x/bep3/keeper/swap.go

Co-Authored-By: Denali Marsh <denali@kava.io>

* address comments from review

* address comments from review

* fix: run sims

* fix: implement marshal/unmarshal JSON for validator vesting account

* fix: don't call set on sealed config

* remove swap interface

* add concepts spec

* add state spec

* add messages spec

* update event names

* implement swap expired event

* add events spec

* add params spec

* add begin block spec

* add module readme

* update alias

* revisions

* aggregate expired swap ids for event emisison

* markdown-link-check-disable for circleci

* exclude api-endpoint links in Makefile

Co-authored-by: Federico Kunze <federico.kunze94@gmail.com>
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
2020-04-23 13:57:25 -07:00
Federico Kunze
a573625df8
[R4R] bump SDK version to v0.38.3 (#421)
* bump SDK version to v0.38.3

Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
Co-authored-by: denalimarsh <denalimarsh@gmail.com>
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
2020-04-23 12:35:58 -04:00
Kevin Davis
0949a912cf
Choose simulation seed that runs without unbonding (#447)
* fix: ci failing due to memory consumption

* feat: choose seed that doesn't immediately exit

* fix: don't attempt to draw too much debt

* fix: remove comment
2020-04-18 11:34:25 -04:00
Federico Kunze
a0c2e4773b
pricefeed cleanup #428
[R4R] Pricefeed cleanup
2020-04-17 23:31:55 -04:00
jmahess
55747ed0b8
[R4R] Fix pricefeed sims so does not always go to zero (#434)
* Generate pricefeed prices using a random walk at the beginning of sims

Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
Co-authored-by: John Maheswaran <john@kava.io>
Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
Co-authored-by: John Maheswaran <john@noreply>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
Co-authored-by: Denali Marsh <denali@kava.io>
2020-04-17 18:29:54 -04:00
Kevin Davis
5ae0b76e0c
[R4R] Bep3 sim changes (#442)
* fix: choose claim amount as percentage

* fix: lower asset supply to avoid overwhelming auctions
2020-04-17 14:05:36 -04:00
Kevin Davis
783247851d
[R4R]: Avoid divide by zero when price is very small (#441)
* fix: avoid divide by zero when price is very small

* fix: typo
2020-04-16 07:43:44 -04:00
Kevin Davis
4cde3ba577
fix: prevent cdp sim from attempting to draw too much debt (#438)
* fix: account for all fees when drawing more debt
2020-04-15 14:54:38 -04:00
Kevin Davis
55b73e36ee
Fix: Check debt limit when adding cdp (#433)
* fix: check debt limit when opening cdp

* fix: increase debt limit for querier tests
2020-04-15 13:50:14 -04:00
Denali Marsh
45e40fe357
[WIP] Kavadist Simulations (#435)
* feat: kavadist sims

* refactor genesis, add validation

* implement params

* rename simulation to genesis

Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
2020-04-14 14:42:08 -07:00
Kevin Davis
acc96952a7
fix: non-determinism in auction sims (#432) 2020-04-14 13:49:31 -04:00
Kevin Davis
28a2ec6996 Merge branch 'master' into kd-pricefeed-cleanup 2020-04-13 21:30:33 -04:00
Kevin Davis
1fab788fd5
[R4R] Add cdp simulations (#422)
feat: cdp sims
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
Co-authored-by: John Maheswaran <john@kava.io>
2020-04-13 21:29:46 -04:00
Kevin Davis
8f9aece875 address review comments 2020-04-13 14:08:14 -04:00
Kevin Davis
f425efc56c Merge branch 'master' into kd-pricefeed-cleanup 2020-04-13 14:07:51 -04:00
Kevin Davis
004837d7fc
Remove non-determinism from bep3 sims (#427)
* feat: remove non-determism from bep3 sims
2020-04-13 13:06:59 -04:00
Ruaridh
5bdffd5c1c
Add Auction Simulations (#419)
* first pass

* fix bid amount calculation

* untested refactor of sim ops and genesis

* refactor operations and fix auction bug

* add param changes and genesis

* address minor TODO

* add first draft of invariants

* improve param generation

* complete invariants

* fix genesis tests

* log no-op better

* small fixes

* add missed comma

Co-authored-by: John Maheswaran <john@kava.io>
2020-04-13 17:01:54 +01:00
Kevin Davis
09597cce27 Merge branch 'master' into kd-pricefeed-cleanup 2020-04-12 13:05:53 -04:00
jmahess
8d199746cd
[R4R] Pricefeed simulations (#420)
Co-authored-by: rhuairahrighairigh <ruaridh.odonnell@gmail.com>
Co-authored-by: John Maheswaran <john@kava.io>
Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
2020-04-12 12:34:01 -04:00
Denali Marsh
3da4657102
[R4R] BEP3 simulations (#423)
* implement randomized genesis, params

* implement operations: MsgCreateAtomicSwap

* implement claim, refund future ops

* remove dynamic block locks

* refactor BondedAddresses

* add consistent supported assets
2020-04-11 20:54:45 -07:00
Federico Kunze
71d862300d
remove pointer from AtomicSwap 2020-04-06 18:45:46 -04:00
Federico Kunze
66c73362c8
address comments from review 2020-04-06 18:43:43 -04:00
Federico Kunze
f827d896ba
Merge branch 'master' of github.com:Kava-Labs/kava into sim-store-decoder 2020-04-06 18:35:41 -04:00
Kevin Davis
174af29582 Merge remote-tracking branch 'origin/sim-store-decoder' into kd-pricefeed-cleanup 2020-04-06 10:00:00 -04:00
Kevin Davis
a6031172a1 feat: clean up pricefeed code 2020-04-06 09:56:59 -04:00
Federico Kunze
4e3dfdf707
x/validator-vesting: remove internal pkg 2020-04-04 20:26:15 -03:00
Federico Kunze
3f4aba1c7f
decoder tests 2020-04-04 19:42:35 -03:00
Federico Kunze
9817a10ca6
validator-vesting: decoder_test 2020-04-01 15:36:46 -03:00
Federico Kunze
e02766bff3
x/auction: simulation decoder 2020-04-01 13:33:18 -03:00
Federico Kunze
11ed343dea
simulation decoders for kava modules 2020-04-01 12:27:38 -03:00
Kevin Davis
e58d2dc320
fix: remove old index when updating fees (#409) 2020-03-31 08:54:31 -04:00
Ruaridh
f3e2e7e585
add simulation stubs to make tests pass (#408) 2020-03-30 11:02:43 -04:00
rhuairahrighairigh
5dcbe73c62 remove missed shutdown module references 2020-03-30 14:49:41 +01:00
rhuairahrighairigh
7407a38adb update spec overview 2020-03-30 14:39:13 +01:00
rhuairahrighairigh
699ee59bd1 move shutdown permission to own branch 2020-03-30 14:38:57 +01:00
rhuairahrighairigh
98a044d7af remove shutdown module 2020-03-30 14:18:02 +01:00
rhuairahrighairigh
4298564096 address minor TODOs 2020-03-30 14:06:31 +01:00
rhuairahrighairigh
ace9a2363e address TODOs 2020-03-29 21:05:08 +01:00
rhuairahrighairigh
058e3981c5 add simulation stubs to make tests pass 2020-03-29 20:50:32 +01:00
rhuairahrighairigh
074bb246a8 add custom errors 2020-03-29 20:43:25 +01:00
Denali Marsh
2721ba3889
R4R: bep3 msgs [HOTFIX] (#406)
* implement hotfix

* add interface compliance check
2020-03-29 14:37:28 -04:00
Kevin Davis
82f637649c
[R4R] Testnet-5k proposal (#404)
* R4R: BEP3 module (#370)

* bep3 module scaffold from cosmos/scaffold

* Populated types, keeper with HTLT msgs, module params, and scaffolding for keys, and genesis

* added KavaHTLT struct, UpdateHTLT struct, resolved compilation errors

* refactored kavaHTLT struct <-> msgs

* Implemented params, refactored UpdateKavaHTLT to UpdateKHTLT interface

* Updated keeper with byTimeIndex methods

* HTLT creation flow

* adjustments in prep for repo config updates

* App moudle updated for bep3, MsgCreateHTLT tested, HTLT keeper methods tested

* Updated bep3 params to match spec

* tests for MsgRefundHTLT, MsgDepositHTLT, MsgClaimHTLT

* AddHtlt cli cmd, queryHtlts cmd, added conversion funcs for binance -> cosmos types, refactored MsgCreateHTLT from binance.AccAddress to sdk.AccAddress

* working edits related to bep3-deputy compatibility

* removed binance-chain go sdk dependency

* updated msg ValidateBasic() return to sdk.Error type

* implement MsgCalculateSwapID

* added MsgCalculateSwapID test, updated randomNumberHash type to []byte

* removed binance type conversions

* msg codec registration

* clean /types directory

* CLI cmds:create htlt, query htlt

* update keeper logic

* handle MsgCreateHTLT

* implement htlt type, msg types

* implement global chain types

* update querier

* added go-ethereum to go mod

* refactor QuerySwap to QueryHTLT

* update HTLTMsg to MsgCreateHTLT

* implemented htlt deposit

* add token transfer to MsgCreateHTLT

* implement refund, claim client txs

* add refund/claim cmds to tx cmd

* commiting go.sum for build

* implemented keeper claim logic

* add RandomNumberHash to create-htlt event

* implement refund keeper logic

* AddHTLT updated to CreateHTLT

* added params keeper

* updated params to single chain, added sample genesis file

* implemented htlt keeper param checks

* removed go-ethereum dependency

* updated go.sum

* housekeeping on keeper tests

* updated cli tx cmds

* ran go.tidy

* remove links from module readme

* updated coin construction in tests

* added expectedIncome checks in ValidateBasic()

* made ValidateAsset() more robust

* update param format for tests

* added basic HTLTByTime index

* implement abci, fix expectedIncome validation

* byTime index updated to blocks, added swap ID & expiration block to htlt

* added not-expired check to HTLT claims

* cross-chain mint/burn logic, htlt string type refactored to []byte

* fix bnb_deputy_address param

* remove abci panic

* cmn.HexBytes, byTime index iteration update, claim-mint logic update

* update genesis example

* general codebase cleaning

* renamed HTLT to AtomicSwap

* staging for PR

* updated naming conventions

* refactor + revisions

* removed code related to deposits & swap block index

* added timestamp validation comment

* post-refactor housekeeping

* post refactor housekeeping (keeper)

* remove GenesisAtomicSwap type

* refactor asset supply logic

* BeginBlocker expires swaps automatically

* param asset.limit type updated to sdk.Int

* remove claimed swaps from block index

* fix DefaultDeputyAddress

* removed BaseSwap

* revisions

* total genesis coins

* updated tx examples

* Automatically update fees for risky cdps (#381)

* wip: sketch implementation

* adding initial function to calcuate risky fees for cdps

* adding todo comment to fix the function arguments

* changing the function arguments

* adding multiplication, print error, change types

* get the number of periods, add comments and questios for code review

* adding specification notes

* removing old comment

* replace collateral with collateral denom

* remove todo and clarify comment

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update go.sum

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/abci.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* updating fees

* error handling and propogation

* fix collat denom variable

* fix build issues, error, variable names, parameter type

* Update x/cdp/abci.go

Use `err` as name instead of `e`

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/keeper/fees.go

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* fixing error variable name

* changing call to method to compute risky cdps fees

* changing the calcualation to select risky cdps to be based on normalized ratio

* adding skeleton for test methods, adding skeleton helper function for creating cdps for use in tests

* fixing function call to helper method

* fix assignment, calling function that returns two variables instead of one

* adding comment and fixing call to create cdps

* adding create cdps function and updating / fixing the test. one of the expected tests is failing, need to figure out why that is. added a todo question to note it

* logging the cdp object before and after updating. it seems that the fees are not set / written before or after

* adding interim changed

* updated

* fixing normalized ratio

* code cleanup

* changing print of accumulated fees

* removing debug code

* remove completed todo

* remove old variable

* remove spewing print statement

* remove dead todo

* adding note about prices for future

* remove dead code

* try to fix test

* fix types

* fix types

* fix context in call

* changing back as new version breaks a test

* fix

* cleanup, removing logging and old code

* remove dead code

* removing changes to cdp test

* Update x/cdp/keeper/fees.go

Remove old comment as suggested

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update x/cdp/spec/04_begin_block.md

Fix typo as suggested

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>

* Add Savings Rate (#365)

* fix: ensure cdp module accounts created at gensis

* feat: add savings rate

* chore: update alias

* fix: update default test param values

* chore: update spec for savings rate

* fix: add distribution time to genesis state

* fix: iterate over accounts using callback function

* feat: use seprate mod account for savings rate

* fix: remove mod account coins from total supply

* address review comments

* fix: genesis function initialization

* fix: update alias

* add comment about maintaining module account list

* feat: add genesis example

* R4R: bep3 module upgrades (#388)

* bep3 module scaffold from cosmos/scaffold

* Populated types, keeper with HTLT msgs, module params, and scaffolding for keys, and genesis

* added KavaHTLT struct, UpdateHTLT struct, resolved compilation errors

* refactored kavaHTLT struct <-> msgs

* Implemented params, refactored UpdateKavaHTLT to UpdateKHTLT interface

* Updated keeper with byTimeIndex methods

* HTLT creation flow

* adjustments in prep for repo config updates

* App moudle updated for bep3, MsgCreateHTLT tested, HTLT keeper methods tested

* Updated bep3 params to match spec

* tests for MsgRefundHTLT, MsgDepositHTLT, MsgClaimHTLT

* AddHtlt cli cmd, queryHtlts cmd, added conversion funcs for binance -> cosmos types, refactored MsgCreateHTLT from binance.AccAddress to sdk.AccAddress

* working edits related to bep3-deputy compatibility

* removed binance-chain go sdk dependency

* updated msg ValidateBasic() return to sdk.Error type

* implement MsgCalculateSwapID

* added MsgCalculateSwapID test, updated randomNumberHash type to []byte

* removed binance type conversions

* msg codec registration

* clean /types directory

* CLI cmds:create htlt, query htlt

* update keeper logic

* handle MsgCreateHTLT

* implement htlt type, msg types

* implement global chain types

* update querier

* added go-ethereum to go mod

* refactor QuerySwap to QueryHTLT

* update HTLTMsg to MsgCreateHTLT

* implemented htlt deposit

* add token transfer to MsgCreateHTLT

* implement refund, claim client txs

* add refund/claim cmds to tx cmd

* commiting go.sum for build

* implemented keeper claim logic

* add RandomNumberHash to create-htlt event

* implement refund keeper logic

* AddHTLT updated to CreateHTLT

* added params keeper

* updated params to single chain, added sample genesis file

* implemented htlt keeper param checks

* removed go-ethereum dependency

* updated go.sum

* housekeeping on keeper tests

* updated cli tx cmds

* ran go.tidy

* remove links from module readme

* updated coin construction in tests

* added expectedIncome checks in ValidateBasic()

* made ValidateAsset() more robust

* update param format for tests

* added basic HTLTByTime index

* implement abci, fix expectedIncome validation

* byTime index updated to blocks, added swap ID & expiration block to htlt

* added not-expired check to HTLT claims

* cross-chain mint/burn logic, htlt string type refactored to []byte

* fix bnb_deputy_address param

* remove abci panic

* cmn.HexBytes, byTime index iteration update, claim-mint logic update

* update genesis example

* general codebase cleaning

* renamed HTLT to AtomicSwap

* staging for PR

* updated naming conventions

* refactor + revisions

* removed code related to deposits & swap block index

* added timestamp validation comment

* post-refactor housekeeping

* post refactor housekeeping (keeper)

* remove GenesisAtomicSwap type

* refactor asset supply logic

* BeginBlocker expires swaps automatically

* param asset.limit type updated to sdk.Int

* remove claimed swaps from block index

* fix DefaultDeputyAddress

* removed BaseSwap

* revisions

* total genesis coins

* updated tx examples

* timestamp to unix

* add past timestamp limit

* update random number byte encoding

* add recipient_other_chain to AtomicSwap

* add TODO for timestamp arg parsing

* generate secure random numbers

* update tx cli

* keeper tests

* add bnb token

* bep3 params test set up, test CreateAtomicSwap

* swap table tests

* Revert "bep3 params test set up, test CreateAtomicSwap"

This reverts commits containing tests.

* use tmtime.Now()

* Kava distribution module (#387)

* wip: kavadist module structure

* feat: implement minting logic

* wip: sketch module

* wip: module level code

* wip: bug fixes

* wip: add tests

* wip: resolve todos and tidy

* fix: remove unused file

* address review comments

* fix: update genesis for guide (#394)

* add kava_dist to sample genesis file (#396)

* R4R: BEP3 module test suite (#395)

* refactor secure rng

* refactor common tests, implement keeper tests

* implement asset tests

* implement params, querier tests

* implement keeper swap tests

* refactor import naming conventions

* implement core types tests

* improve keeper swap tests

* implement genesis types test

* implement params test + revisions

* implement duplicate swap test

* implement duplicate swap ID test

* R4R: BEP3 additional features + module test suite (#397)

* update and reorder errors

* implement swap deletion block delay

* add swap deletion block delay, set up tests

* add secure random number gen

* implement AtomicSwapLongtermStorage index

* fix syntax error

* abci test updates

* implement handler test

* implement core genesis tests

* update asset supply logic

* implement functional asset supply

* pretty print atomic swaps

* requested revisions

* fix test suite post merge

* implement and integrate asset supply tests

* update import genesis, add storage duration param

* implement swap deletion ABCI test

* go mod tidy

* remove duplicated interface assertion

* add new bep3 param to contrib genesis file

* remove btc from supported assets

* revisions: LongtermStorageDuration param

* revisions: suite ctx, fix genesis, update contrib

* implement AssetSupply type, store key, keeper

* integrate supply and swaps; genesis, tests

* remove legacy comments

* requested revisions

* update alias

* Swagger Rest Automating Testing With Dredd  (#390)

* swagger testing and mods

* fixed a test

* fixed withdraw address

* adding script to start the chain

* fixed val rewards test

* fix outstanding rewards test

* fixed rewards

* hooks skeleton

* adding test file and hooks

* updates on the hooks working

* now creates a transaction and sends to the chain via rest api successfully

* small fix - now works

* 34 tests now passing successfully

* fix print statement error

* instructions on how to run the tests

* changing function names when to run the hooks

* adding instructions on how to setup and run the dredd tests

* removing large error output file

* removing binary file

* removing more output logging files

* creating a vote on a proposal to send to the blockchain

* adding instructions on how to setup chain

* adding function to get account number and sequence number

* adding send msg to blockchain method

* posting vote tx to blockchain - successfully prepares and sends vote to endpoint but endpoint returns 'inactive proposal with id'

* successfully depositing 600 stake to a proposal

* successfully depositing onto a proposal and then voting on it

* got another governance test working now after submitting a vote to the blockchain

* updating instructions on how to run

* fixed another voting test

* fixed deposits test

* fixed another gov test

* fix print line

* fix circle ci build issue with println

* improving instructions on how to build and run the hooks and dredd tests

* improving instructions on how to build and run the hooks and dredd tests

* finally fixed param change governance proposal test

* trying to unskip tests wip

* fixed gov/proposals test

* fixed another test

* fixed a slashing test

* fixed another redelegation test

* fixed another unbonding delegation test

* fixed more staking tests

* fixed another staking test

* fixed another test

* fixed more tests. 50 now passing, 15 failing

* fixed mislabeled variable

* managed to fix unjail test

* fixed bank acct transfers test

* change certain types from number to string to match the output, typo fix

* another typo fix

* fixed delegation test

* finally figured out and fixed the latest blocks types mismatch - fixed the test

* fixed staking delegators validators test

* removed and noted unimplemented tests from yaml file. fixed blocks height test

* fixed transcations test

* adding functionality to send transfer of coins to blockchain, and to send delegations

* updating the yaml to line up with a valid message format

* added delegation method

* adding test results showing 57 are now passing and only 5 failing

* remove test yaml file from pull req

* testing file updates

* adding test memo

* added undelegation hook method - fixed unbonding delegation test

* fixed the get tx from hash test

* adding not if you encounter validator set is different errors how to fix. 59 tests now passsing, 3 failing

* adding test results showing 59 passing, 3 failing

* finally fixed encode test - 60 tests now passing only 2 failing

* adding test results 60 passing 1 failing

* more test updates

* finally fixed decode test - 61 tests now passing only 1 failing

* test results 61 tests passing 1 failing

* remove dead code

* all 62 tests are now passingga swagger.yaml  0 failing

* used for testing and generating transactions and testing hooks

* updating run instructions

* more instructions updates

* updating the test file

* adding note on reading from a file

* refactoring code and cleanup

* refactoring getting the keybase

* code cleanup for address, keyname methods, remove unused code

* more code cleanup around addresses

* updating the instructions on how to run the dredd tests

* adding comment

* adding additional requirements to the go.mod dependency file

* remove hardcoded home directory, read using os golang library

* increase timeout in example run script

* remove hardcoded home directory

* reordering commands to get rid of errors if key directory is deleted

* changing to use temporary directory

* updating dredd timeout time

* finally managed to get the script wroking using a temporary directory instead of the default

* adding notes and comments

* changing to use a temp directory instead of default directory

* remove un-needed file

* rename debugging tools folder

* adding instructions to install dredd and npm

* Update swagger-ui/startchain.sh

Send output to dev null not to console

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* Update swagger-ui/startchain.sh

Send output to dev null not to console

Co-Authored-By: Kevin Davis <karzak@users.noreply.github.com>

* adding new version of test.go to setup the chain

* adding todo to update instructions for new workflow

* updating script to start and setup the chain

* updating the transaction hash test

* update the start chain script to setup the chain correctly

* add the script to stop the chain and the rest server

* updated the instructions for the new workflow so that all the tests pass the first time

* updated the instructions on how to run the tests

* update instructions for printing logs or not

* updating the startchain script to add messages when starting the rest server and preparing transactions

* adding print messages when stop chain is completed

* updating test results to just include test output and not the debug log statements

* cleaning up the messages that are printed to the user

* moving files to their own directory

* build go test file and remove previous binary

* move instructions

* updating instructions now that test file is auto built

* building, running dredd tests, propagating error code, shut down blockchain all in one script

* fix object type to array type for block latests

* cleaning up the script

* rename script as it now does all the setup, test running, shutdown, and cleanup

* update instructions for new workflow

* adding a shell script to call from the makefile

* adding a make command to build and run all the dredd tests

* update instructions to run using make

* updated code review comment

* minor update to instructions

* update remove file command so doesn't print an error if the file has already been deleted

* renaming folder and test

* adjust code comment

* removing example test results

* updating instructions to remove reference to the test results

* remove old hooks file

* remove obsolete code comment

* remove swagger file, will change references to the other one

* remove shell script, will now use the one called from make instead

* renaming as underscore messes up go build

* clean up script, fix return code issues

* cleanup output file

* fix object to array issue

* add comments to explain functionality

* use variables for kvd home and kvcli home, check for errors

* change the kvcli home directory. need to take this from command line

* take kvcli from command line parameter to golang file

* take kvcli directory from command line parameter

Co-authored-by: John Maheswaran <john@kava.io>
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>

* R4R: Update BEP3 rest endpoints + format example requests (#402)

* update and reorder errors

* implement swap deletion block delay

* add swap deletion block delay, set up tests

* add secure random number gen

* implement AtomicSwapLongtermStorage index

* fix syntax error

* abci test updates

* implement handler test

* implement core genesis tests

* update asset supply logic

* implement functional asset supply

* pretty print atomic swaps

* requested revisions

* fix test suite post merge

* implement and integrate asset supply tests

* update import genesis, add storage duration param

* implement swap deletion ABCI test

* go mod tidy

* remove duplicated interface assertion

* add new bep3 param to contrib genesis file

* remove btc from supported assets

* revisions: LongtermStorageDuration param

* revisions: suite ctx, fix genesis, update contrib

* implement AssetSupply type, store key, keeper

* integrate supply and swaps; genesis, tests

* remove legacy comments

* requested revisions

* update alias

* rest queries

* implement BEP3 REST txs

* draft rest server readme + example json files

* tested all swap rest examples

* implement query swaps rest endpoint

* feat: update genesis examples

* fix: use post instead of put (#405)

Co-authored-by: Denali Marsh <denali@kava.io>
Co-authored-by: John Maheswaran <jmaheswaran@users.noreply.github.com>
Co-authored-by: John Maheswaran <john@kava.io>
2020-03-27 22:54:00 -04:00
rhuairahrighairigh
e228aa6659 add events 2020-03-27 20:28:51 +00:00
rhuairahrighairigh
57f4ca7c9a add mre fields to committee type 2020-03-27 18:34:03 +00:00
rhuairahrighairigh
77553ed299 improve permission types 2020-03-27 15:27:45 +00:00
rhuairahrighairigh
c50f6bc9fa refactor out vote tallying 2020-03-26 20:17:49 +00:00
rhuairahrighairigh
eefda597f0 tidy up and test client 2020-03-23 20:57:15 +00:00
rhuairahrighairigh
b31cfbe39b add gov client handlers 2020-03-23 14:32:50 +00:00
rhuairahrighairigh
0275b21173 add struct tags everywhere 2020-03-21 20:21:43 +00:00
rhuairahrighairigh
66d368c722 add genesis tests 2020-03-21 19:48:01 +00:00
rhuairahrighairigh
fbf67b4527 add committee change gov proposals 2020-03-21 18:06:58 +00:00
rhuairahrighairigh
18dfcd2a3d add genesis init/export/validation 2020-03-15 00:00:05 +00:00
rhuairahrighairigh
62da823314 add untested rest 2020-03-14 01:16:45 +00:00
rhuairahrighairigh
4ef5b7d56f add untested cli methods 2020-03-13 23:13:42 +00:00
rhuairahrighairigh
a0e4ee7736 add querier 2020-03-13 15:11:31 +00:00
rhuairahrighairigh
f773f7f278 add proposal voting deadlines 2020-03-12 17:05:40 +00:00
rhuairahrighairigh
20bcfec407 add msgs 2020-03-12 00:47:25 +00:00
rhuairahrighairigh
029842168a address some TODOs 2020-03-11 23:52:54 +00:00
rhuairahrighairigh
5911e648b7 improve code organisation 2020-03-11 19:52:25 +00:00
rhuairahrighairigh
e473d972ec add vote tallying and tests 2020-03-11 19:27:36 +00:00
rhuairahrighairigh
f9dab88c16 add main keeper methods 2020-03-11 00:58:42 +00:00
rhuairahrighairigh
8c64fd3750 add keeper delete methods 2020-03-10 23:28:25 +00:00
rhuairahrighairigh
a145846ed2 add get set methods 2020-03-10 23:16:22 +00:00