Commit Graph

705 Commits

Author SHA1 Message Date
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
rhuairahrighairigh
f2e4956d88 hook into app to get integration tests running 2020-03-10 22:29:16 +00:00
rhuairahrighairigh
cae6cb196c make builds pass 2020-03-10 21:41:10 +00:00
rhuairahrighairigh
54c2e44a2d add antehandler to app 2020-03-04 19:50:30 +00:00
rhuairahrighairigh
2ab6c4669f rename modules and tidy 2020-03-04 19:16:27 +00:00
rhuairahrighairigh
3e1b1b1b72 tidy up groupgov 2020-03-04 16:55:12 +00:00
rhuairahrighairigh
8a36e926e8 tidy up circuit-breaker 2020-03-04 16:41:13 +00:00
rhuairahrighairigh
4989c0938a rough draft 2020-03-04 14:35:16 +00:00
Ruaridh
7eede47769
Add min bid increments (#380)
* refactor bidding test

* add some more bid test cases

* add balance checks to bid tests

* add more checks to bid tests

* add min bid increments

* protect against negative lot amounts

* fix params tests

* change endblocker to beginblocker

* update spec

* fix params tests

* fix: update alias

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-02-28 17:16:22 -05:00
Kevin Davis
e72b20eb7d
benchmark account and cdp iteration (#371)
* feat: benchmark test for account iteration

* feat: add cdp creation and iteration benchmarks

* address review comments
2020-02-28 17:00:03 -05:00
Kevin Davis
0c6459346d fix: use standard abci query convention 2020-02-27 12:59:11 -05:00
Kevin Davis
fb7dcd7d36 feat: calculate circulating supply with respect to vesting 2020-02-25 18:05:05 -05:00
Kevin Davis
ac8787b6ed Merge branch 'master' into develop 2020-02-25 10:32:20 -05:00
John Maheswaran
51fc70b5ac
[R4R] This is the implementation of the total circulating supply (#376)
* adding empty query files where we will implement the cli and rest interfaces

* adding querier file

* adding aliases, querier, expected keepers, types, module updates

* starting to work on query

* adding alias for QueryCirculatingSupply

* adding TotalCirculatingSupply type

* adding alias for TotalCirculatingSupply type

* adding QueryCirculatingSupplyCmd to clieng query file

* adding register routes function

* adding rest query handling function, register endpoint

* fix types include statement

* remove unused mux include

* another import fix

* remove unused variable

* adding rest to module

* fix missing variable names

* another missing variable fix

* remove dead code comment

* fix typo in circulating-supply

* fix import

* fix querierroute return to return the module name instead of empty string

* rename function, fix build issue

* return error instead of nil if there is an error

* import types from cosmos sdk, fix return type

* set querier route to module name in key.go

* adding query and rest updates

* aliasing new querying circulating supply function

* directly write output

* fix routes

* adding total supply functionality

* converting from microkava to kava

* Update x/validator-vesting/client/cli/query.go

typo fix

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

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-02-25 10:29:54 -05:00
Ruaridh
c7b1331f4d
Fix simulations (#377)
* stub out simulation integration for cdp, pricefeed

* stub out simulation integration for auction

* fix cdp export

* update pricefeed to match

* update validator-vesting to match
2020-02-25 10:11:09 -05:00
Kevin Davis
8547707bd9
fix: parse query height (#362) 2020-02-04 12:56:21 -05:00
Ruaridh
ed57dd6ff1
Auction rest endpoints bugfix (#363)
* remove parameter brackets

* remove more param brackets
2020-02-04 12:56:10 -05:00
Ruaridh
bbc5d3b7a0
Auction rest fixes (#361)
* auction query fixes

* minor formating tweaks

* add phase info to debt & surplus auctions

* add base auction struct tags

* use module name in querier paths

* update rest tx endoint to use http body

* improve invalid coins error messages

* add rest examples

* align starting auction ID with gov and cdp

* fix cdp test broken by auction ID change

* fix all tests broken by ID change
2020-02-03 10:54:00 -05:00
Kevin Davis
31e185c632
[R4R] cdp rest fixes (#360)
* fix: use correct path for cdp queries

* fix: avoid params being confused for cdp denom

* fix: use consistent terminology

* fix: struct tag mismatch for repayment

* fix: use plural when querying multiple cdps

* fix: use correct type for query by ratio

* wip: refactor cdp query paths

* wip: routing queries

* fix: route prefixes

* wip: address review comments

* Update x/cdp/client/rest/query.go

Co-Authored-By: Ruaridh <rhuairahrighairidh@users.noreply.github.com>

* use post instead of put

Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
2020-02-03 10:41:28 -05:00
Denali Marsh
4599caca07
R4R: update pricefeed module rest endpoints (#359)
* query get price implemented - /pricefeed/price/xrp:usd

* query rawprices implemented - /pricefeed/rawprices/xrp:usd

* refactored to QueryWithMarketIDParams, added rest logic for QueryOracles

* new query get oracles implemented for cli and rest - /pricefeed/oracles/xrp:usd

* tx postprice implemented - /pricefeed/postprice/{MsgPostPrice}

* updated contrib with post-price examples and added to README

* added cliCtx.WithHeight(height) and removed import comment
2020-02-02 11:06:33 -05:00
Ruaridh
183acfef62
auction query fixes (#354) 2020-02-01 10:49:36 -05:00
Kevin Davis
cd754a25d9
[R4R] Minor rest fixes (#355)
* feat: add swagger

* add version info for mainnet

* feat: update swagger

* fix: type in get params path

* feat: example for creating cdp

* feat: example broadcast signed tx

* feat: examples for depositing to cdp

* added README with example cdp create rest-server request (#358)

* fix: make link-check happy

Co-authored-by: Denali Marsh <denalimarsh@gmail.com>
2020-01-31 17:31:22 -05:00
Kevin Davis
bdff81b2a2
fix: avoid panic when closing cdp via repayment (#353) 2020-01-30 18:50:42 -05:00
Denali Marsh
3c8209cbcc
fix panic(err) if posted_prices=[] in genesis file (#352) 2020-01-29 16:12:47 -08:00
Kevin Davis
55f0f8d980
Display auction type and phase when querying auctions (#345)
* feat: differentiate auction types when queried

* feat: display auction type

* feat: add phase of collateral auctions

* fix: set reverse phase directly

* feat: revert base auction, use querying specifc structs

* fix: pass auction as interface to handlers

* set reverse phase on max bid (#348)

* Revert "set reverse phase on max bid (#348)" (#351)

This reverts commit 4b855250d529a4cbecb16d9d32b25ffeaffa3a68.

* fix: missing return

* fix: include collateral auction type

* fix: always include phase field for queries

Co-authored-by: Denali Marsh <denalimarsh@gmail.com>
2020-01-29 08:42:03 -06:00
Kevin Davis
84fa0ef51d
fix: apply penalty to partial deposits (#350) 2020-01-28 14:38:38 -06:00
Kevin Davis
024001888c
Add query for cdp deposits (#346)
* feat: query cdp deposits

* feat: test querying deposits

* fix: update comment

* fix: use single word command
2020-01-28 14:08:17 -06:00
Denali Marsh
bf64a5c02c
R4R: add collateral value, collateralization ratio to CDP querier (#347)
* AugmentedCDP type, codec registration, querier update

* added unique error for augmented cdp loading

* added AugmentedCDPs type for cdps query res

* query results for cdps (by denom) & cdps-by-ratio (by denom & ratio)

* status: converting collateral value into debt coin denom

* collateral value denominated in debt coin

* query cdps-by-ratio now searches by collateralization ratio instead of absolute ratio

* updated alias, code comments

* updated querier tests

* support multiple principal coins and their associated fees

* collateralization ratio calculations on updated fees

* include calculated fees in total debt calculation
2020-01-28 09:47:08 -08:00
Denali Marsh
075a3089ce
R4R: add events to pricefeed module (#343)
* added events, attributes to pricefeed msgs and core functionality

* removed added space

* conditionally emit market_price_updated if price has changed

* updated expiry to Unix format
2020-01-27 10:07:42 -08:00
Ruaridh
07c1a8c126 fix typo (#332) 2020-01-24 13:31:33 -05:00
Ruaridh
d24f364ed3
add weighted address tags (#336) 2020-01-24 11:39:52 +00:00
Ruaridh
33ad221e5f
Fix gov denom typo (#333) 2020-01-24 11:39:09 +00:00
Ruaridh
d018aaebcf fix typo (#330) 2020-01-23 17:41:59 -05:00
Kevin Davis
535094df96
Fix: Avoid panics when adding cdp collaterals via governance (#329)
* fix: remove unnecessary accumulator key

* fix: correct test comment

* fix: avoid panic when cdp collateral type added
2020-01-23 15:41:45 -05:00
Ruaridh
e11b298c28 Add CDP Spec (#328)
* add overview and basic structure

* add state and params

* add basic messages

* add state transitions

* add begin block state transitions

* add missing titles

* add concepts

* add events

* update state and concepts

* update for liquidator changes

* update events

* mention module accounts

* update begin block

* update params

* update page numbering

* add fee descriptions

* add broken link linter

* add broken link linter to CI

* move link check to end of CI

* update typo

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

* address review comments

* Update x/cdp/spec/06_params.md

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

* Update x/cdp/spec/README.md

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

* Update x/cdp/spec/README.md

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

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-23 14:09:36 -05:00
Kevin Davis
58deb49e55
Fix withdraw panic (#315)
* fix: remove redundant debt limit param

* wip: test pricefeed genesis

* fix: pricefeed querier

* fix: comments, naming

* fix: query path

* fix: store methods

* fix: query methods

* feat: Liquidation Penalty

* feat: enforce debt floor on repayment

* fix: don't panic if withdrawing full amount

* fix: remove debt from liquidation penalty
2020-01-22 16:56:30 +00:00
Kevin Davis
22dc15f757
Apply debt floor to repayments (#314)
* fix: remove redundant debt limit param

* wip: test pricefeed genesis

* fix: pricefeed querier

* fix: comments, naming

* fix: query path

* fix: store methods

* fix: query methods

* feat: Liquidation Penalty

* feat: enforce debt floor on repayment

* address review comments

* fix: remove debt from liquidation penalty

* test: remove payment > balance check

* feat: handle overpayment

* fix: avoid negative coins error for overpayments
2020-01-22 16:50:27 +00:00
Denali Marsh
ab72433db0
add json/yaml to msgs (#323)
* added json/yaml to MsgPostPrice, MsgPlaceBid

* Added sdk.Msg to ensure Msg interface compliance at compile time
2020-01-21 13:40:04 -08:00
Ruaridh
bab798f50d
fix: avoid panic if cdp debt > debt held by cdp account (#326)
Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-21 20:28:25 +00:00
Denali Marsh
f6a3567a66 removed unimplemented MsgTransferCDP (#325) 2020-01-21 18:24:33 +00:00
Kevin Davis
a74f63a8f2 Apply Liquidation Penalty (#313)
* fix: remove redundant debt limit param

* wip: test pricefeed genesis

* fix: pricefeed querier

* fix: comments, naming

* fix: query path

* fix: store methods

* fix: query methods

* feat: Liquidation Penalty

* fix: remove debt from liquidation penalty
2020-01-21 17:52:07 +00:00
Ruaridh
f01a3f46ee
Auction cli/rest fixes (#319)
* cleanup auction tx cli

* add querier for getting one auction

* missed querier fixes

* update querier tests

* add msg struct tags

* add auction rest endpoint and tidy

* add struct tags to auctions

* minor UX tweaks
2020-01-21 17:41:37 +00:00
Ruaridh
2be1a3196e
make bidding tests independent (#322) 2020-01-21 10:06:07 +00:00
Ruaridh
d887266c24
Run begin blocker (#321)
* add cdp begin blocker

* fix: use reasonable defaults for surplus/debt auctions

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-20 19:28:30 +00:00
rhuairahrighairigh
b879689052 add missing return 2020-01-17 16:17:48 +01:00
Denali Marsh
710a29980f R4R: add params query to pricefeed module (#311)
* fix: remove redundant debt limit param

* wip: test pricefeed genesis

* fix: pricefeed querier

* fix: comments, naming

* fix: query path

* fix: store methods

* fix: query methods

* add params query to pricefeed module

* minor formatting updates, removed commented out legacy code, etc.

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-17 13:55:17 +01:00
Kevin Davis
d04aad5cc9
Pricefeed fixes (#308)
* fix: remove redundant debt limit param

* wip: test pricefeed genesis

* fix: pricefeed querier

* fix: comments, naming

* fix: query path

* fix: store methods

* fix: query methods

* fix: standardize genesis validation
2020-01-17 13:29:19 +01:00
Kevin Davis
dca59447aa
fix: remove redundant debt limit param (#312) 2020-01-17 13:24:43 +01:00
Denali Marsh
d286f53053
R4R: cli auction clean up (#310)
* kvcli q auction params

* reset go.sum

* Updated QueryGetAuctionsCmd naming to match conventions

* clean up: tx auctions placebid

* requested changes
2020-01-16 18:52:29 +01:00
Ruaridh
c5043ffabe add stability fee validation (#307) 2020-01-16 16:21:38 +01:00
Ruaridh
2d9820b3d1 cdp cli clean up (#305)
* clean up querier cmds #304 #298 #296

* #299 address cli ux issues

* fix typo

* edit help message
2020-01-16 16:20:12 +01:00
Kevin Davis
2193b19c1d fix: genesis auctions tag 2020-01-16 16:17:16 +01:00
Kevin Davis
69436f447f fix: missing tags in collateral 2020-01-16 14:30:59 +01:00
Kevin Davis
407361313e chore: linting 2020-01-16 12:15:27 +01:00
Kevin Davis
6bf1a4ce5b fix: genesis param json tags 2020-01-16 12:15:18 +01:00
Kevin Davis
9b1bf55be7
R4R: Move liquidator functions to cdp module (#280)
* wip: tpyes and keeper methods

* wip: iterators

* wip: types and keeper methods

* wip: add msgs

* wip: client methods

* wip: rebase develop

* wip: types tests

* wip: keeper tests, small fixes

* wip: add cdp tests

* wip: deposit tests

* wip: keeper tests

* wip: tests and module methods

* feat: error when fetching expired price

* feat: conversion factor for external assets

* feat: debt floor for new cdps

* feat: save deposits on export genesis

* feat: ensure messages implement msg

* feat: index deposits by status

* fix: stray comment

* wip: address review comments

* address review comments

* wip: move liquidation to cdp module

* wip: handle liquidations directly

* wip: use new auction interface

* feat: auction collateral in cdp begin block

* feat: update param validation

* feat: surplus and debt auctions

* address review comments

* address review comments

* fix: auction multiple deposits

* clean up netting function
2020-01-15 15:19:33 +01:00
Denali Marsh
ba80b508ab [R4R] Custom sdk.Error types for the auction module (#285)
* Custom sdk.Error types for the auction module

* Requested changes: naming conventions, error message text
2020-01-15 11:39:55 +01:00
Kevin Davis
8128a680cc
Ro address auction todos (#284)
* make auctions not expire without bids

* add events

* improve genesis state validation

* add genesis tests

* Keeper auctions test, types auctions test, keeper bidding test

* Resolved TODOs, added querier test

* Removed 'import x/liquidator' from keeper_test package for circleci

* Fixes for lack of liquidator module account in tests

* update comment

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

* add more events attributes

* feat: add back bidding on closed auction test

* feat: test failed debt/collateral auctions

Co-authored-by: Ruaridh <rhuairahrighairidh@users.noreply.github.com>
Co-authored-by: Denali Marsh <denalimarsh@gmail.com>
2020-01-14 16:04:47 +01:00
Ruaridh
22e168d06a Various Auction TODOs (#281)
* make auctions not expire without bids

* add events

* improve genesis state validation

* add genesis tests

* update comment

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

* add more events attributes

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-14 15:00:37 +01:00
rhuairahrighairigh
aa6dfab6fd Merge branch 'ro-add-debt-tracking-to-auctions' 2020-01-14 12:10:39 +01:00
Kevin Davis
d849d690e5
R4R: CDP types and methods (#275)
* wip: tpyes and keeper methods

* wip: iterators

* wip: types and keeper methods

* wip: add msgs

* wip: client methods

* wip: rebase develop

* wip: types tests

* wip: keeper tests, small fixes

* wip: add cdp tests

* wip: deposit tests

* wip: keeper tests

* wip: tests and module methods

* feat: error when fetching expired price

* feat: conversion factor for external assets

* feat: debt floor for new cdps

* feat: save deposits on export genesis

* feat: ensure messages implement msg

* feat: index deposits by status

* fix: stray comment

* wip: address review comments

* address review comments
2020-01-12 16:35:34 +01:00
Ruaridh
e1c11d411a Update Auction Module (#276)
* rough auction type refactor

* replace endTime type

* split keeper file up

* update store methods

* move store methods to keeper.go

* move nextAuctionID from params to genState

* simplify auction type to not use pointers

* add basic auction tests

* update endblocker test

* add payout to depositors feature

* add more tests

* move index updates to Get/Set for more safety

* remove slightly unecessary ID type

* remove unused message types

* feat: add spec, update redundant type names

* stop sending zero coins

* use only one coins field in MsgPlaceBid

* remove uncessary Auction interface methods

* give auction types more accurate names

* remove vuepress comments from spec

* minor spec updates

* update doc comments

* add params validation

* code cleanup, address review comments

* resolve minor TODOs

* sync spec with code

Co-authored-by: Kevin Davis <karzak@users.noreply.github.com>
2020-01-12 16:12:22 +01:00
rhuairahrighairigh
61e5de556c add debt tracking to auctions 2020-01-12 15:17:47 +01:00
rhuairahrighairigh
27f3e76da3 sync spec with code 2020-01-10 18:57:38 +01:00
rhuairahrighairigh
65ef8a9ba3 resolve minor TODOs 2020-01-10 18:55:48 +01:00
rhuairahrighairigh
d03509a17a code cleanup, address review comments 2020-01-10 14:08:47 +00:00
rhuairahrighairigh
00c1a371d2 add params validation 2020-01-10 13:13:04 +00:00
rhuairahrighairigh
2537928ee7 update doc comments 2020-01-09 17:25:16 +00:00
rhuairahrighairigh
fecfee5077 minor spec updates 2020-01-09 16:21:42 +00:00
rhuairahrighairigh
08d6bc2284 remove vuepress comments from spec 2020-01-09 16:14:55 +00:00
rhuairahrighairigh
c239932297 give auction types more accurate names 2020-01-09 16:09:19 +00:00
rhuairahrighairigh
08689305cc remove uncessary Auction interface methods 2020-01-09 15:43:42 +00:00
rhuairahrighairigh
48a2d5b6dc use only one coins field in MsgPlaceBid 2020-01-09 14:58:47 +00:00
rhuairahrighairigh
3a7cb7e4f6 stop sending zero coins 2020-01-09 13:55:45 +00:00
Kevin Davis
de4f55ea20 feat: add spec, update redundant type names 2020-01-07 12:17:27 -05:00
rhuairahrighairigh
b2fa8d81ee remove unused message types 2020-01-06 16:35:50 +00:00
rhuairahrighairigh
983de010df remove slightly unecessary ID type 2020-01-01 14:11:19 +00:00
rhuairahrighairigh
db3c39aaa5 move index updates to Get/Set for more safety 2019-12-31 11:56:39 +00:00
rhuairahrighairigh
4e7f18313a add more tests 2019-12-31 11:10:58 +00:00
rhuairahrighairigh
77bfe11f89 add payout to depositors feature 2019-12-31 11:10:15 +00:00
rhuairahrighairigh
8a4109ff26 update endblocker test 2019-12-28 22:00:04 +00:00
rhuairahrighairigh
0d72f47bc2 add basic auction tests 2019-12-28 18:46:53 +00:00
rhuairahrighairigh
ac27571d15 simplify auction type to not use pointers 2019-12-28 17:17:46 +00:00
rhuairahrighairigh
c867e8ba9e move nextAuctionID from params to genState 2019-12-28 17:16:08 +00:00
rhuairahrighairigh
c786850b1c move store methods to keeper.go 2019-12-28 17:08:51 +00:00
rhuairahrighairigh
5363541de3 update store methods 2019-12-21 01:04:04 +00:00
rhuairahrighairigh
5618e11990 split keeper file up 2019-12-12 00:16:10 +00:00
rhuairahrighairigh
231aa75774 replace endTime type 2019-12-12 00:02:06 +00:00
rhuairahrighairigh
d8a428e1d8 rough auction type refactor 2019-12-11 22:59:06 +00:00
rhuairahrighairigh
f794ba1bf9 use time consistently in tests 2019-12-07 15:08:07 +00:00
rhuairahrighairigh
d8347fd49c tidy test genesis states 2019-12-07 14:56:40 +00:00
rhuairahrighairigh
11fd42685b minor tidying 2019-12-07 01:25:45 +00:00
rhuairahrighairigh
81302ce29f tidy up cdp tests 2019-12-07 01:25:25 +00:00
rhuairahrighairigh
2152bb4ed2 rename test helper func 2019-12-07 00:12:07 +00:00
rhuairahrighairigh
83969f3702 update pricefeed tests 2019-12-06 23:53:20 +00:00
rhuairahrighairigh
1295dfbffc update liquidator tests 2019-12-06 23:49:47 +00:00
rhuairahrighairigh
688b7830c0 Merge branch 'kd-propose-params' into ro-remove-mock-from-tests 2019-12-05 15:56:24 +00:00
rhuairahrighairigh
e3aca06236 update cdp tests to use CheckBalance method 2019-12-05 13:59:20 +00:00
rhuairahrighairigh
215241edd9 update auction module tests 2019-12-05 13:53:28 +00:00
rhuairahrighairigh
ab8331f90a update auction keeper tests 2019-12-05 13:53:10 +00:00
Kevin Davis
05a99be97b apply pricefeed changes to other modules 2019-12-04 11:54:53 -05:00
Kevin Davis
bf83a9bf8f address review comments for pricefeed 2019-12-04 11:32:08 -05:00
rhuairahrighairigh
2d73e62773 update cdp tests 2019-12-03 14:35:40 +00:00
rhuairahrighairigh
ce2b2e2213 update cdp keeper tests 2019-12-03 14:35:27 +00:00
rhuairahrighairigh
e83127a15e standardise pricefeed NewKeeper 2019-12-03 14:32:01 +00:00
rhuairahrighairigh
fc2b7f9652 add new modules to app 2019-12-02 10:51:13 +00:00
Kevin Davis
1a9b8514c9 fix keys, return validation errors 2019-11-28 11:00:08 -06:00
Kevin Davis
e85d2f880b wip: cdp params and types 2019-11-28 10:53:59 -06:00
Kevin Davis
d5da161dd8 feat: draft params for pricefeed 2019-11-27 09:45:59 -05:00
Kevin Davis
83d523a856 feat: migrate modules from kava-devnet 2019-11-25 14:46:02 -05:00
Kevin Davis
a5c642a644 fix: json formatting of genesis state 2019-10-14 17:04:21 -04:00
Kevin Davis
37bd179c8e fix: get vesting status return values 2019-10-10 10:59:05 -04:00
Kevin Davis
3908870761 rebase, handle first block 2019-10-09 18:42:23 -04:00
Kevin Davis
49279a3ce5 follow getter setter pattern on keeper 2019-10-07 16:21:24 -04:00
Kevin Davis
8058f4b13a fix simulation initialization 2019-10-04 15:46:41 -04:00
Kevin Davis
ad82e971ae address review comments 2019-10-04 13:55:49 -04:00
Kevin Davis
54b9cf167f rebase, add account command 2019-10-03 15:13:38 -04:00
Kevin Davis
cadb7baf2b fix genesis state and sims 2019-10-02 09:10:28 -04:00
Kevin Davis
f6aec46343 add simulation to validator vesting 2019-09-30 22:53:14 -04:00
Kevin Davis
b57b362062 rebase vesting 2019-09-30 12:01:33 -04:00
Kevin Davis
3b35ecfea5 feat: update spec 2019-09-27 15:00:24 -04:00
Kevin Davis
a6285e84fd feat: add tests 2019-09-27 14:48:57 -04:00
Kevin Davis
f7cb937d81 fix: update exported aliases 2019-09-23 15:17:40 -04:00
Kevin Davis
8359a819ad feat: add validator vesting spec 2019-09-23 15:12:18 -04:00
Kevin Davis
918a43e7ab feat: validator vesting accounts 2019-09-23 14:23:00 -04:00