[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-28 02:54:00 +00:00
|
|
|
package keeper
|
|
|
|
|
|
|
|
import (
|
|
|
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
2020-04-23 16:35:58 +00:00
|
|
|
sdkerrors "github.com/cosmos/cosmos-sdk/types/errors"
|
|
|
|
|
[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-28 02:54:00 +00:00
|
|
|
"github.com/kava-labs/kava/x/bep3/types"
|
|
|
|
)
|
|
|
|
|
|
|
|
// GetParams returns the total set of bep3 parameters.
|
|
|
|
func (k Keeper) GetParams(ctx sdk.Context) (params types.Params) {
|
|
|
|
k.paramSubspace.GetParamSet(ctx, ¶ms)
|
|
|
|
return params
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetParams sets the bep3 parameters to the param space.
|
|
|
|
func (k Keeper) SetParams(ctx sdk.Context, params types.Params) {
|
|
|
|
k.paramSubspace.SetParamSet(ctx, ¶ms)
|
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// ------------------------------------------
|
|
|
|
// Asset
|
|
|
|
// ------------------------------------------
|
|
|
|
|
|
|
|
// GetAsset returns the asset param associated with the input denom
|
|
|
|
func (k Keeper) GetAsset(ctx sdk.Context, denom string) (types.AssetParam, error) {
|
[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-28 02:54:00 +00:00
|
|
|
params := k.GetParams(ctx)
|
2020-08-17 15:06:59 +00:00
|
|
|
for _, asset := range params.AssetParams {
|
|
|
|
if denom == asset.Denom {
|
|
|
|
return asset, nil
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return types.AssetParam{}, sdkerrors.Wrap(types.ErrAssetNotSupported, denom)
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// SetAsset sets an asset in the params
|
|
|
|
func (k Keeper) SetAsset(ctx sdk.Context, asset types.AssetParam) {
|
2020-05-13 23:39:29 +00:00
|
|
|
params := k.GetParams(ctx)
|
2020-08-17 15:06:59 +00:00
|
|
|
for i := range params.AssetParams {
|
|
|
|
if params.AssetParams[i].Denom == asset.Denom {
|
|
|
|
params.AssetParams[i] = asset
|
|
|
|
}
|
|
|
|
}
|
|
|
|
k.SetParams(ctx, params)
|
2020-05-13 23:39:29 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// GetAssets returns a list containing all supported assets
|
|
|
|
func (k Keeper) GetAssets(ctx sdk.Context) (types.AssetParams, bool) {
|
[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-28 02:54:00 +00:00
|
|
|
params := k.GetParams(ctx)
|
2020-08-17 15:06:59 +00:00
|
|
|
return params.AssetParams, len(params.AssetParams) > 0
|
2020-06-04 23:03:14 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// ------------------------------------------
|
|
|
|
// Asset-specific getters
|
|
|
|
// ------------------------------------------
|
|
|
|
|
|
|
|
// GetDeputyAddress returns the deputy address for the input denom
|
|
|
|
func (k Keeper) GetDeputyAddress(ctx sdk.Context, denom string) (sdk.AccAddress, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return sdk.AccAddress{}, err
|
|
|
|
}
|
|
|
|
return asset.DeputyAddress, nil
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// GetFixedFee returns the fixed fee for incoming swaps
|
|
|
|
func (k Keeper) GetFixedFee(ctx sdk.Context, denom string) (sdk.Int, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return sdk.Int{}, err
|
|
|
|
}
|
|
|
|
return asset.FixedFee, nil
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// GetMinSwapAmount returns the minimum swap amount
|
|
|
|
func (k Keeper) GetMinSwapAmount(ctx sdk.Context, denom string) (sdk.Int, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return sdk.Int{}, err
|
|
|
|
}
|
|
|
|
return asset.MinSwapAmount, nil
|
2020-06-04 23:03:14 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// GetMaxSwapAmount returns the maximum swap amount
|
|
|
|
func (k Keeper) GetMaxSwapAmount(ctx sdk.Context, denom string) (sdk.Int, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return sdk.Int{}, err
|
|
|
|
}
|
|
|
|
return asset.MaxSwapAmount, nil
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
|
2020-08-17 15:06:59 +00:00
|
|
|
// GetMinBlockLock returns the minimum block lock
|
|
|
|
func (k Keeper) GetMinBlockLock(ctx sdk.Context, denom string) (uint64, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return uint64(0), err
|
[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-28 02:54:00 +00:00
|
|
|
}
|
2020-08-17 15:06:59 +00:00
|
|
|
return asset.MinBlockLock, nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// GetMaxBlockLock returns the maximum block lock
|
|
|
|
func (k Keeper) GetMaxBlockLock(ctx sdk.Context, denom string) (uint64, error) {
|
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
|
|
|
return uint64(0), err
|
|
|
|
}
|
|
|
|
return asset.MaxBlockLock, nil
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// GetAssetByCoinID returns an asset by its denom
|
|
|
|
func (k Keeper) GetAssetByCoinID(ctx sdk.Context, coinID int) (types.AssetParam, bool) {
|
|
|
|
params := k.GetParams(ctx)
|
2020-08-17 15:06:59 +00:00
|
|
|
for _, asset := range params.AssetParams {
|
[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-28 02:54:00 +00:00
|
|
|
if asset.CoinID == coinID {
|
|
|
|
return asset, true
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return types.AssetParam{}, false
|
|
|
|
}
|
|
|
|
|
|
|
|
// ValidateLiveAsset checks if an asset is both supported and active
|
2020-04-23 16:35:58 +00:00
|
|
|
func (k Keeper) ValidateLiveAsset(ctx sdk.Context, coin sdk.Coin) error {
|
2020-08-17 15:06:59 +00:00
|
|
|
asset, err := k.GetAsset(ctx, coin.Denom)
|
|
|
|
if err != nil {
|
|
|
|
return err
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
if !asset.Active {
|
2020-04-23 16:35:58 +00:00
|
|
|
return sdkerrors.Wrap(types.ErrAssetNotActive, asset.Denom)
|
[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-28 02:54:00 +00:00
|
|
|
}
|
|
|
|
return nil
|
|
|
|
}
|
2020-08-17 15:06:59 +00:00
|
|
|
|
|
|
|
// GetSupplyLimit returns the supply limit for the input denom
|
2020-08-27 02:05:27 +00:00
|
|
|
func (k Keeper) GetSupplyLimit(ctx sdk.Context, denom string) (types.SupplyLimit, error) {
|
2020-08-17 15:06:59 +00:00
|
|
|
asset, err := k.GetAsset(ctx, denom)
|
|
|
|
if err != nil {
|
2020-08-27 02:05:27 +00:00
|
|
|
return types.SupplyLimit{}, err
|
2020-08-17 15:06:59 +00:00
|
|
|
}
|
|
|
|
return asset.SupplyLimit, nil
|
|
|
|
}
|
2020-12-02 17:37:11 +00:00
|
|
|
|
|
|
|
// ------------------------------------------
|
|
|
|
// Cross Asset Getters
|
|
|
|
// ------------------------------------------
|
|
|
|
|
|
|
|
// GetAuthorizedAddresses returns a list of addresses that have special authorization within this module, eg all the deputies.
|
|
|
|
func (k Keeper) GetAuthorizedAddresses(ctx sdk.Context) []sdk.AccAddress {
|
|
|
|
assetParams, found := k.GetAssets(ctx)
|
|
|
|
if !found {
|
|
|
|
// no assets params is a valid genesis state
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
addresses := []sdk.AccAddress{}
|
|
|
|
uniqueAddresses := map[string]bool{}
|
|
|
|
|
|
|
|
for _, ap := range assetParams {
|
|
|
|
a := ap.DeputyAddress
|
|
|
|
// de-dup addresses
|
|
|
|
if _, found := uniqueAddresses[a.String()]; !found {
|
|
|
|
addresses = append(addresses, a)
|
|
|
|
}
|
|
|
|
uniqueAddresses[a.String()] = true
|
|
|
|
}
|
|
|
|
return addresses
|
|
|
|
}
|