0g-chain/swagger-ui/swagger.yaml

6051 lines
157 KiB
YAML
Raw Normal View History

2019-12-05 21:12:32 +00:00
---
swagger: "2.0"
info:
version: "3.0"
title: Kava Light Client RPC
description: A REST interface for state queries, transaction generation and broadcasting.
tags:
- name: Transactions
description: Search, encode, or broadcast transactions.
- name: Tendermint RPC
description: Tendermint APIs, such as query blocks, transactions and validatorset
- name: CDP
description: CDP module APIs
- name: Auction
description: Auction module APIs
- name: BEP3
description: BEP3 module APIs
- name: Incentive
description: Incentive module APIs
- name: Pricefeed
description: Auction module APIs
- name: Hard
description: Hard module APIs
- name: Swap
description: Swap module APIs
- name: Committee
description: Committee module APIs
- name: Auth
description: Authenticate accounts
- name: Bank
description: Create and broadcast transactions
- name: Staking
description: Stake module APIs
- name: Governance
description: Governance module APIs
- name: Slashing
description: Slashing module APIs
- name: Distribution
description: Fee distribution module APIs
- name: Supply
description: Supply module APIs
- name: Mint
description: Minting module APIs
- name: Kavadist
description: Kavadist module APIs
- name: Issuance
description: Issuance module APIs
- name: Vesting
description: Validator vesting module APIs
- name: Misc
description: Query app version
schemes:
- https
host: api.data.kava.io
securityDefinitions:
kms:
type: basic
paths:
/node_info:
get:
description: Information about the connected node
summary: The properties of the connected node
tags:
- Tendermint RPC
produces:
- application/json
responses:
200:
description: Node status
schema:
type: object
properties:
application_version:
properties:
build_tags:
type: string
client_name:
type: string
commit:
type: string
go:
type: string
name:
type: string
server_name:
type: string
version:
type: string
node_info:
properties:
id:
type: string
moniker:
type: string
example: validator-name
protocol_version:
properties:
p2p:
type: string
example: 7
block:
type: string
example: 10
app:
type: string
example: 0
network:
type: string
example: kava-2
channels:
type: string
listen_addr:
type: string
example: 192.168.56.1:26656
version:
description: Tendermint version
type: string
example: 0.15.0
other:
description: more information on versions
type: object
properties:
tx_index:
type: string
example: on
rpc_address:
type: string
example: tcp://0.0.0.0:26657
500:
description: Failed to query node status
/syncing:
get:
summary: Syncing state of node
tags:
- Tendermint RPC
description: Get the syncing status of the node
produces:
- application/json
responses:
200:
description: Node syncing status
schema:
type: object
properties:
syncing:
type: boolean
500:
description: Server internal error
/blocks/latest:
get:
summary: Get the latest block
tags:
- Tendermint RPC
produces:
- application/json
responses:
200:
description: The latest block
schema:
$ref: "#/definitions/BlockQuery"
500:
description: Server internal error
/blocks/{height}:
get:
summary: Get a block at a certain height
tags:
- Tendermint RPC
produces:
- application/json
parameters:
- in: path
name: height
description: Block height
required: true
type: number
x-example: 1
responses:
200:
description: The block at a specific height
schema:
$ref: "#/definitions/BlockQuery"
404:
description: Request block height doesn't
400:
description: Invalid height
500:
description: Server internal error
/validatorsets/latest:
get:
summary: Get the latest validator set
tags:
- Tendermint RPC
produces:
- application/json
responses:
200:
description: The validator set at the latest block height
schema:
type: object
properties:
block_height:
type: string
validators:
type: array
items:
$ref: "#/definitions/TendermintValidator"
500:
description: Server internal error
/validatorsets/{height}:
get:
summary: Get a validator set a certain height
tags:
- Tendermint RPC
produces:
- application/json
parameters:
- in: path
name: height
description: Block height
required: true
type: number
x-example: 1
responses:
200:
description: The validator set at a specific block height
schema:
type: object
2020-10-16 14:10:58 +00:00
properties:
block_height:
2020-10-16 14:10:58 +00:00
type: string
validators:
type: array
items:
$ref: "#/definitions/TendermintValidator"
404:
description: Block at height not available
400:
description: Invalid height
500:
description: Server internal error
/txs/{hash}:
get:
summary: Get a Tx by hash
tags:
- Transactions
description: Retrieve a transaction using its hash.
produces:
- application/json
parameters:
- in: path
name: hash
description: Tx hash
required: true
type: string
x-example: FFC8D0E5D52D330AD315E950E5C18A9D65FC640156B9A95B5AEF07DDAE32E61D
responses:
200:
description: Tx with the provided hash
schema:
$ref: "#/definitions/TxQuery"
500:
description: Internal Server Error
/txs:
get:
tags:
- Transactions
summary: Search transactions
description: Search transactions by events.
produces:
- application/json
parameters:
- in: query
name: message.action
type: string
description: "transaction events such as 'message.action=send' which results in the following endpoint: 'GET /txs?message.action=send'. note that each module documents its own events. look for xx_events.md in the corresponding cosmos-sdk/docs/spec directory"
x-example: "send"
- in: query
name: message.sender
type: string
description: "transaction tags with sender: 'GET /txs?message.action=send&message.sender=kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9'"
x-example: "kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9"
- in: query
name: page
description: Page number
type: integer
x-example: 1
- in: query
name: limit
description: Maximum number of items per page
type: integer
x-example: 1
- in: query
name: txheight # this should actually be tx.height but dredd doesn't handle periods in get parameter names so no period allows the test to pass
description: Transaction height
type: integer
x-example: 1
responses:
200:
description: All txs matching the provided events
schema:
$ref: "#/definitions/PaginatedQueryTxs"
400:
description: Invalid search events
500:
description: Internal Server Error
post:
tags:
- Transactions
summary: Broadcast a signed tx
description: Broadcast a signed tx to a full node
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: txBroadcast
description: The tx must be a signed StdTx. The supported broadcast modes include `"block"`(return after tx commit), `"sync"`(return afer CheckTx) and `"async"`(return right away).
required: true
schema:
type: object
properties:
tx:
$ref: "#/definitions/PostStdTx"
mode:
type: string
example: block
responses:
200:
description: Tx broadcasting result
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
500:
description: Internal Server Error
/txs/encode:
post:
tags:
- Transactions
summary: Encode a transaction to the Amino wire format
description: Encode a transaction (signed or not) from JSON to base64-encoded Amino serialized bytes
consumes:
- application/json
produces:
- application/json
2020-06-10 15:02:00 +00:00
parameters:
- description: ""
name: EncodeBody
in: body
2020-06-10 15:02:00 +00:00
required: true
schema:
type: object
$ref: "#/definitions/EncodeTx"
responses:
200:
description: The tx was successfully decoded and re-encoded
schema:
type: object
properties:
tx:
type: string
example: The base64-encoded Amino-serialized bytes for the tx
400:
description: The tx was malformatted
500:
description: Server internal error
/txs/decode:
post:
tags:
- Transactions
summary: Decode a transaction from the Amino wire format
description: Decode a transaction (signed or not) from base64-encoded Amino serialized bytes to JSON
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: tx
description: The tx to decode
required: true
schema:
type: object
properties:
tx:
type: string
example: ogEoKBapCjyoo2GaChRKWendsRagTF1ACC1nxzjVxW3xJBIU/A6hCReBn5NYI6K2dl10kCEeTfgaCgoFc3Rha2USATESEAoKCgVzdGFrZRIBMRDAmgwaQhJAdlC1HbNw+ux6lRrK3mNdmaH62NE3ThD8SswlDcnhFex7pKSNhaxE4m6TgDhosoK6EyU0LnOZKutXKECNSvO+WCIIdGVzdG1lbW8=
responses:
200:
description: The tx was successfully decoded
schema:
$ref: "#/definitions/StdTx"
400:
description: The tx was malformated
500:
description: Server internal error
/cdp:
post:
summary: Create a cdp transaction
tags:
- CDP
consumes:
- application/json
produces:
- application/json
parameters:
- description: create cdp post parameters
name: post_cdp_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
collateral:
$ref: "#/definitions/CoinCollateral"
principal:
$ref: "#/definitions/CoinPrincipal"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/{owner}/{collateral-type}/deposits:
post:
summary: Create a deposit to cdp transaction
tags:
- CDP
consumes:
- application/json
produces:
- application/json
2020-06-10 15:02:00 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2020-06-10 15:02:00 +00:00
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: collateral_type
description: Collateral type
2020-06-10 15:02:00 +00:00
required: true
type: string
x-example: xrpb-a
- description: deposit cdp post parameters
name: post_deposit_req
in: body
2020-06-10 15:02:00 +00:00
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
depositor:
$ref: "#/definitions/Address"
collateral:
$ref: "#/definitions/CoinCollateral"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/{owner}/{collateral-type}/withdraw:
post:
summary: create a withdraw collateral transaction
tags:
- CDP
consumes:
- application/json
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
[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
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: collateral_type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
- description: withdraw cdp post parameters
name: post_withdraw_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
depositor:
$ref: "#/definitions/Address"
collateral:
$ref: "#/definitions/CoinCollateral"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/{owner}/{collateral-type}/draw:
post:
summary: Create a draw debt transaction
tags:
- CDP
consumes:
- application/json
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
[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
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: collateral_type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
- description: draw cdp post parameters
name: post_draw_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
principal:
$ref: "#/definitions/CoinPrincipal"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/{owner}/{collateral-type}/repay:
post:
summary: Repay debt from a CDP
tags:
- CDP
consumes:
- application/json
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: collateral_type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
- description: repay cdp post parameters
name: post_repay_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
payment:
$ref: "#/definitions/CoinPrincipal"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/{owner}/{collateral-type}/liquidate:
post:
summary: Attempt to liquidate a CDP whose collateralization ratio is under its liquidaiton ratio
tags:
- CDP
consumes:
- application/json
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: collateral_type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
- description: liquidate cdp post parameters
name: post_liquidate_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
collateral_type:
$ref: "#/definitions/CollateralType"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/cdp/accounts:
get:
summary: Get the cdp module accounts
tags:
- CDP
produces:
- application/json
responses:
200:
description: The cdp module accounts
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
type: object
properties:
account_number:
type: number
address:
$ref: "#/definitions/Address"
coins:
type: array
items:
$ref: "#/definitions/Coin"
name:
type: string
permissions:
type: array
items:
type: string
public_key:
$ref: "#/definitions/PublicKey"
sequence:
type: number
500:
description: Server internal error
/cdp/parameters:
get:
summary: Get the parameters of the cdp module
tags:
- CDP
produces:
- application/json
responses:
200:
description: The parameters of the cdp module
schema:
type: object
properties:
collateral_params:
type: array
items:
$ref: "#/definitions/CollateralParam"
debt_params:
type: array
items:
$ref: "#/definitions/DebtParam"
global_debt_limit:
type: array
items:
$ref: "#/definitions/CoinCollateral"
surplus_auction_threshold:
type: string
example: "1000000000"
surplus_auction_lot:
type: string
example: "10000000"
debt_auction_threshold:
type: string
example: "1000000000"
savings_distribution_frequency:
type: string
example: "60000000"
circuit_breaker:
type: boolean
example: false
500:
description: Server internal error
/cdp/cdps/cdp/{owner}/{collateral-type}:
get:
summary: Get the cdp associated with the input owner address and collateral type
tags:
- CDP
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
[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
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
responses:
200:
description: CDP associated with owner
schema:
$ref: "#/definitions/CdpResponse"
500:
description: Server internal error
/cdp/cdps/collateralType/{collateral-type}:
get:
summary: Get all cdps with collateral type equal to the input collateral type
tags:
- CDP
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: type
description: Collateral Type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
responses:
200:
description: All CDPs with the input collateral type
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/CdpResponse"
500:
description: Server internal error
/cdp/cdps/ratio/{collateral-type}/{ratio}:
get:
summary: Get all cdps with collateral type equal to the input collateral type and collateralization ratio strictly less than the input ratio
tags:
- CDP
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
2019-12-05 21:12:32 +00:00
- in: path
name: ratio
description: Collateralization ratio
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: "2.0"
responses:
200:
description: All CDPs with the input collateral type and collateralization ratio less than the input ratio
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/CdpResponse"
500:
description: Server internal error
/cdp/cdps/cdp/deposits/{owner}/{collateral-type}:
get:
summary: Get the deposits associated with the cdp owned by an address for a collateral type
tags:
- CDP
produces:
- application/json
2019-12-05 21:12:32 +00:00
parameters:
- in: path
name: owner
description: Owner address in bech32 format
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
2019-12-05 21:12:32 +00:00
- in: path
name: type
description: Collateral type
2019-12-05 21:12:32 +00:00
required: true
type: string
x-example: xrpb-a
responses:
200:
description: Deposits associated with the cdp
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/CdpDepositResponse"
500:
description: Server internal error
/cdp/savingsRateDist:
get:
summary: Get the total savings rate distributed by the cdp module
tags:
- CDP
produces:
- application/json
responses:
200:
description: The distributed savings rate
properties:
height:
type: string
example: "100"
result:
savings_rate_distributed:
type: string
example: "5000000000000"
500:
description: Server internal error
/cdp/savingsRateDistTime:
get:
summary: Get the most recent savings rate distribution time
tags:
- CDP
produces:
- application/json
responses:
200:
description: The most recent savings rate distribution time
2019-12-05 21:12:32 +00:00
properties:
height:
2019-12-05 21:12:32 +00:00
type: string
example: "100"
result:
savings_rate_distributed:
type: string
example: "2020-10-14T14:00:06.955036063Z"
500:
description: Server internal error
/cdp/cdps:
get:
summary: Query all active cdps
tags:
- CDP
produces:
- application/json
parameters:
- in: query
name: owner
description: Owner address in bech32 format
required: false
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: query
name: collateral-type
description: Collateral type
required: false
type: string
x-example: xrpb-a
- in: query
name: id
description: CDP ID
required: false
type: string
x-example: "4"
- in: query
name: ratio
description: Collateralization ratio
required: false
type: string
x-example: "2.75"
responses:
200:
description: Query cdps
schema:
2019-12-05 21:12:32 +00:00
type: object
properties:
height:
2019-12-05 21:12:32 +00:00
type: string
example: "100"
result:
2019-12-05 21:12:32 +00:00
type: array
items:
$ref: "#/definitions/CdpResponse"
500:
description: Internal Server Error
/bep3/swap/create:
post:
summary: Generate a create atomic swap transaction
consumes:
- application/json
produces:
- application/json
tags:
- BEP3
parameters:
- in: body
name: Create atomic swap request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
from:
$ref: "#/definitions/Address"
to:
$ref: "#/definitions/Address"
recipient_other_chain:
$ref: "#/definitions/BinanceChainAddress"
sender_other_chain:
$ref: "#/definitions/BinanceChainAddress2"
random_number_hash:
$ref: "#/definitions/RandomNumberHash"
timestamp:
$ref: "#/definitions/Timestamp"
height_span:
$ref: "#/definitions/HeightSpan"
cross_chain:
$ref: "#/definitions/CrossChain"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/bep3/swap/claim:
post:
summary: Generate a claim atomic swap transaction
consumes:
- application/json
produces:
- application/json
tags:
- BEP3
parameters:
- in: body
name: Create atomic swap request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
from:
$ref: "#/definitions/Address"
swap_id:
type: string
example: "3ca20f0152f03b0aabe73e7aa1ddf78b9048ede5a9a73846e1ef53bebbfa4185"
random_number:
type: string
example: "e3d0a98b459f72231da69c3bd771c1e721fef4be83c14b80dc805ba71019eebe"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/bep3/swap/refund:
post:
summary: Generate a refund atomic swap transaction
consumes:
- application/json
produces:
- application/json
tags:
- BEP3
parameters:
- in: body
name: Create atomic swap request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
from:
$ref: "#/definitions/Address"
swap_id:
type: string
example: "1b00244021ec239867e5b8c44bcd98e40f3148806a8c0a8fd3418872986becba"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/bep3/swap/{swap-id}:
get:
summary: Get the atomic swap object associated with the input swap ID
tags:
- BEP3
produces:
- application/json
parameters:
- in: path
required: true
name: swap-id
description: the swap ID
[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
type: string
x-example: 1b00244021ec239867e5b8c44bcd98e40f3148806a8c0a8fd3418872986becba
responses:
200:
description: Atomic swap
schema:
type: object
properties:
height:
type: string
example: 548883
result:
$ref: "#/definitions/AtomicSwapResponse"
500:
description: Server internal error
/bep3/swaps:
get:
summary: Get all atomic swaps
tags:
- BEP3
produces:
- application/json
responses:
200:
description: All atomic swaps
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/AtomicSwapResponse"
500:
description: Server internal error
/bep3/supply/{denom}:
get:
summary: Get the asset supply for the input denom
tags:
- BEP3
produces:
- application/json
parameters:
- in: path
[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
type: string
required: true
name: denom
x-example: bnb
responses:
200:
description: Asset supply
schema:
type: object
properties:
height:
type: string
example: "100"
result:
2020-06-10 15:02:00 +00:00
type: object
$ref: "#/definitions/AssetSupplyResponse"
500:
description: Server internal error
/bep3/parameters:
get:
summary: Get the current parameters of the BEP3 module
tags:
- BEP3
produces:
- application/json
responses:
200:
description: BEP3 module parameters
schema:
type: object
properties:
height:
type: string
example: 548883
result:
type: object
$ref: "#/definitions/Bep3ParamsResponse"
500:
description: Server internal error
/auction/auctions/{id}/bids:
post:
summary: Generate a place bid transaction
consumes:
- application/json
produces:
- application/json
tags:
- Auction
parameters:
- in: path
name: id
description: Auction id
required: true
2019-12-05 21:12:32 +00:00
type: string
x-example: "1"
- in: body
name: Auction bid request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
amount:
$ref: "#/definitions/CoinBid"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/auction/parameters:
get:
summary: Query auction parameters
produces:
- application/json
tags:
- Auction
responses:
200:
description: OK
schema:
$ref: "#/definitions/AuctionParameters"
500:
description: Internal Server Error
/auction/auctions:
get:
summary: Query auctions
description: Query all ongoing auctions
produces:
- application/json
tags:
- Auction
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/AuctionResponse"
500:
description: Internal Server Error
/auction/auctions/{id}:
get:
summary: Query auction
description: Query auction by id
produces:
- application/json
tags:
- Auction
parameters:
- in: path
name: id
description: Auction id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: "1"
responses:
200:
description: OK
schema:
$ref: "#/definitions/AuctionResponse"
400:
description: invalid auction id
500:
description: Internal Server Error
/pricefeed/postprice:
post:
summary: Generate post price transaction
consumes:
- application/json
produces:
- application/json
tags:
- Pricefeed
parameters:
- description: post price request
name: post_price_req
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
market_id:
type: string
example: "xrp:usd"
price:
type: string
example: "0.298464000000000007"
expiry:
type: string
example: "158551630291"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/pricefeed/parameters:
get:
summary: Query pricefeed parameters
produces:
- application/json
tags:
- Pricefeed
responses:
200:
description: OK
schema:
$ref: "#/definitions/PricefeedParameters"
500:
description: Internal Server Error
/pricefeed/markets:
get:
summary: Query markets in the pricefeed
produces:
- application/json
tags:
- Pricefeed
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Market"
500:
description: Internal Server Error
/pricefeed/oracles/{market_id}:
get:
summary: Query markets in the pricefeed
produces:
- application/json
tags:
- Pricefeed
parameters:
- in: path
name: market_id
description: the market id of the market
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: "xrp:usd"
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Address"
500:
description: Internal Server Error
/pricefeed/rawprices/{market_id}:
get:
summary: Query markets in the pricefeed
produces:
- application/json
tags:
- Pricefeed
parameters:
- in: path
name: market_id
description: the market id of the market
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: "xrp:usd"
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/PostedPrice"
500:
description: Internal Server Error
/pricefeed/price/{market_id}:
get:
summary: Query markets in the pricefeed
produces:
- application/json
tags:
- Pricefeed
parameters:
- in: path
name: market_id
description: the market id of the market
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: "xrp:usd"
responses:
200:
description: OK
schema:
$ref: "#/definitions/Price"
500:
description: Internal Server Error
/incentive/claim-cdp:
post:
summary: Claim USDX incentive rewards from earned from CDPs
tags:
- Incentive
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Incentive claim CDP body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
multiplier_name:
type: string
example: "small"
denoms_to_claim:
type: array
items:
type: string
example: "ukava"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/incentive/claim-hard:
post:
summary: Claim Hard supply/borrow rewards
tags:
- Incentive
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Incentive claim Hard body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
multiplier_name:
type: string
example: "small"
denoms_to_claim:
type: array
items:
type: string
example: "ukava"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/incentive/claim-delegator:
post:
summary: Claim Kava delegation rewards
tags:
- Incentive
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Incentive claim delegator body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
multiplier_name:
type: string
example: "small"
denoms_to_claim:
type: array
items:
type: string
example: "ukava"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/incentive/claim-swap:
post:
summary: Claim Swap liquidity provider rewards
tags:
- Incentive
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Incentive claim swap body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
multiplier_name:
type: string
example: "small"
denoms_to_claim:
type: array
items:
type: string
example: "ukava"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/incentive/rewards:
get:
summary: Get earned Incentive rewards
tags:
- Incentive
produces:
- application/json
responses:
200:
description: Incentive rewards
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/RewardResult"
500:
description: Server internal error
/incentive/parameters:
get:
summary: Get the current parameters of the incentive module
tags:
- Incentive
produces:
- application/json
responses:
200:
description: USDX Incentive Claims
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/IncentiveParams"
500:
description: Server internal error
/vesting/circulatingsupply:
get:
summary: Get the current circulating supply of KAVA
tags:
- Vesting
produces:
- application/json
responses:
200:
description: KAVA circulating supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "81443180"
500:
description: Server internal error
/vesting/totalsupply:
get:
summary: Get the total supply of KAVA
tags:
- Vesting
produces:
- application/json
responses:
200:
description: KAVA total supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "120000000"
500:
description: Server internal error
/vesting/circulatingsupplyhard:
get:
summary: Get the current circulating supply of HARD
tags:
- Vesting
produces:
- application/json
responses:
200:
description: HARD circulating supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "63750000"
500:
description: Server internal error
/vesting/totalsupplyhard:
get:
summary: Get the total supply of HARD
tags:
- Vesting
produces:
- application/json
responses:
200:
description: HARD total supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "200000000"
500:
description: Server internal error
/vesting/circulatingsupplyswp:
get:
summary: Get the current circulating supply of SWP
tags:
- Vesting
produces:
- application/json
responses:
200:
description: SWP circulating supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "63750000"
500:
description: Server internal error
/vesting/circulatingsupplyusdx:
get:
summary: Get the current circulating supply of USDX
tags:
- Vesting
produces:
- application/json
responses:
200:
description: USDX circulating supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "63750000"
500:
description: Server internal error
/vesting/totalsupplyusdx:
get:
summary: Get the total supply of USDX
tags:
- Vesting
produces:
- application/json
responses:
200:
description: USDX total supply
properties:
height:
type: string
example: "100"
result:
type: string
example: "200000000"
500:
description: Server internal error
/committee/committees/{committee-id}/proposals:
post:
summary: Create a new proposal for a committee
tags:
- Committee
consumes:
- application/json
produces:
- application/json
parameters:
- in: path
name: committee-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
- in: body
name: proposal request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
pub_proposal:
$ref: "#/definitions/PubProposal"
proposer:
$ref: "#/definitions/Address"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
get:
summary: Query proposals
description: Query all proposals for a committee
produces:
- application/json
tags:
- Committee
parameters:
- in: path
name: committee-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Committee governance proposals
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/CommitteeProposal"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/proposals/{proposal-id}/votes:
post:
summary: Create a new vote for a proposal
tags:
- Committee
consumes:
- application/json
produces:
- application/json
parameters:
- in: path
name: proposal-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
- in: body
name: proposal request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
voter:
$ref: "#/definitions/Address"
vote_type:
type: string
example: "yes"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
get:
summary: Query proposal votes
description: Query proposal votes by proposal ID
tags:
- Committee
produces:
- application/json
parameters:
- in: path
name: proposal-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Votes
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/CommitteeVote"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/committees:
get:
summary: Query committees
description: Query all committees
tags:
- Committee
produces:
- application/json
responses:
200:
description: Committees
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Committee"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/committees/{committee-id}:
get:
summary: Query committee
description: Query committee by ID
tags:
- Committee
produces:
- application/json
parameters:
- in: path
name: committee-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Committee
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: object
$ref: "#/definitions/Committee"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/proposals/{proposal-id}:
get:
summary: Query proposal
description: Query proposal by ID
tags:
- Committee
produces:
- application/json
parameters:
- in: path
name: proposal-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Proposal
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: object
$ref: "#/definitions/CommitteeProposal"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/proposals/{proposal-id}/propser:
get:
summary: Query proposer
description: Query proposer by proposal ID
tags:
- Committee
produces:
- application/json
parameters:
- in: path
name: proposal-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Proposer
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: object
$ref: "#/definitions/Proposer"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/committee/proposals/{proposal-id}/tally:
get:
summary: Query proposal tally
description: Query proposal tally by proposal ID
tags:
- Committee
produces:
- application/json
parameters:
- in: path
name: proposal-id
required: true
2020-06-10 15:02:00 +00:00
type: string
x-example: 1
responses:
200:
description: Vote tally
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: string
example: "3"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/hard/deposit:
post:
summary: Deposit funds to hard liquidity pool
tags:
- Hard
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: hard deposit body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
depositor:
$ref: "#/definitions/Address"
amount:
$ref: "#/definitions/Coins"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/hard/withdraw:
post:
summary: Withdraw funds from hard liquidity pool
tags:
- Hard
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: hard withdraw body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
depositor:
$ref: "#/definitions/Address"
amount:
$ref: "#/definitions/Coins"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/hard/borrow:
post:
summary: Borrow funds from hard liquidity pool
tags:
- Hard
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: hard borrow body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
depositor:
$ref: "#/definitions/Address"
amount:
$ref: "#/definitions/Coins"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/hard/repay:
post:
summary: Repay funds borrowed from hard liquidity pool
tags:
- Hard
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: hard repay body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
owner:
$ref: "#/definitions/Address"
amount:
$ref: "#/definitions/Coins"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/hard/liquidate:
post:
summary: Attempt to liquidate a borrower that is over their loan-to-value
tags:
- Hard
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: hard liquidate body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
borrower:
$ref: "#/definitions/Address"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/hard/parameters:
get:
summary: Get the current parameters of the hard module
tags:
- Hard
produces:
- application/json
responses:
200:
description: Hard module parameters
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/HardParams"
500:
description: Server internal error
/hard/total-deposited:
get:
summary: Get total coins deposited to hard liquidity pools
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Coin denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: btc
responses:
200:
description: total coins deposited
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/Coin"
500:
description: Server internal error
/hard/total-borrowed:
get:
summary: Get total coins borrowed from hard liquidity pools
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Coin denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: btc
responses:
200:
description: total coins borrowed
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/Coin"
500:
description: Server internal error
/hard/reserves:
get:
summary: Get total hard reserve coins
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Coin denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: btc
responses:
200:
description: reserve coins
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/Coin"
500:
description: Server internal error
/hard/interest-rate:
get:
summary: Get the hard module interest rates
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Money market denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: bnb
responses:
200:
description: money market interest rates
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/MoneyMarketInterestRate"
500:
description: Server internal error
/hard/accounts:
get:
summary: Get the hard module accounts
tags:
- Hard
produces:
- application/json
responses:
200:
description: The hard module accounts
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
type: object
properties:
account_number:
type: number
address:
$ref: "#/definitions/Address"
coins:
type: array
items:
$ref: "#/definitions/Coin"
name:
type: string
permissions:
type: array
items:
type: string
public_key:
$ref: "#/definitions/PublicKey"
sequence:
type: number
500:
description: Server internal error
/hard/deposits:
get:
summary: Get hard deposits
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Deposit coin denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: btc
- in: query
name: owner
description: Owner address in bech32 format
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: query
name: page
description: The page number.
2020-06-10 15:02:00 +00:00
type: integer
x-example: 1
- in: query
name: limit
description: The maximum number of items per page.
2019-12-05 21:12:32 +00:00
type: integer
x-example: 100
responses:
200:
description: hard deposits
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/HardDepositResponse"
500:
description: Server internal error
/hard/borrows:
get:
summary: Get hard borrows
tags:
- Hard
produces:
- application/json
parameters:
- in: query
name: denom
description: Borrow coin denom
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: btc
- in: query
name: owner
description: Owner address in bech32 format
required: false
2020-06-10 15:02:00 +00:00
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: query
name: page
description: The page number.
2019-12-05 21:12:32 +00:00
type: integer
x-example: 1
- in: query
name: limit
description: The maximum number of items per page.
2019-12-05 21:12:32 +00:00
type: integer
x-example: 100
responses:
200:
description: hard borrows
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/HardBorrowResponse"
500:
description: Server internal error
/issuance/issue:
post:
summary: Issue tokens
tags:
- Issuance
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Issue tokens body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
tokens:
$ref: "#/definitions/Coin"
receiver:
$ref: "#/definitions/Address"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/issuance/redeem:
post:
summary: Redeem tokens
tags:
- Issuance
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Redeem tokens body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
tokens:
$ref: "#/definitions/Coin"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/issuance/block:
post:
summary: Block an address from using an issued token
tags:
- Issuance
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Block address body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
denom:
type: string
example: "usdt"
blocked_address:
$ref: "#/definitions/Address"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/issuance/unblock:
post:
summary: Unblock an address from using an issued token
tags:
- Issuance
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Unblock address body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
denom:
type: string
example: "usdt"
address:
$ref: "#/definitions/Address"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/issuance/pause:
post:
summary: Set an issued token's pause status
tags:
- Issuance
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Set pause status body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
sender:
$ref: "#/definitions/Address"
denom:
type: string
example: "usdt"
status:
type: boolean
example: true
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/issuance/parameters:
get:
summary: Get the current parameters of the Issuance module
tags:
- Issuance
produces:
- application/json
responses:
200:
description: Issuance parameters
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/IssuanceParams"
500:
description: Server internal error
/bank/balances/{address}:
get:
summary: Get the account balances
tags:
- Bank
produces:
- application/json
parameters:
- in: path
name: address
description: Account address in bech32 format
required: true
2019-12-05 21:12:32 +00:00
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
responses:
200:
description: Account balances
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Coin"
500:
description: Server internal error
/swap/deposit:
post:
summary: Deposit funds to swap liquidity pool
tags:
- Swap
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: swap deposit body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
depositor:
$ref: "#/definitions/Address"
token_a:
$ref: "#/definitions/Coin"
token_b:
$ref: "#/definitions/Coin"
slippage:
type: string
example: "0.05"
deadline:
type: string
example: "1628073801"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/swap/withdraw:
post:
summary: Withdraw funds from a swap liquidity pool
tags:
- Swap
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: swap withdraw body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
from:
$ref: "#/definitions/Address"
shares:
type: string
example: "5000"
min_token_a:
$ref: "#/definitions/Coin"
min_token_b:
$ref: "#/definitions/Coin"
deadline:
type: string
example: "1628073801"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/swap/swapExactForTokens:
post:
summary: Swap exact amount of input tokens for approximate amount of output tokens
tags:
- Swap
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: swap exact for tokens body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
requester:
$ref: "#/definitions/Address"
exact_token_a:
$ref: "#/definitions/Coin"
token_b:
$ref: "#/definitions/Coin"
slippage:
type: string
example: "0.05"
deadline:
type: string
example: "1628073801"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/swap/swapForExactTokens:
post:
summary: Swap approximate amount of input tokens for exact amount of output tokens
tags:
- Swap
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: swap for exact tokens body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
requester:
$ref: "#/definitions/Address"
token_a:
$ref: "#/definitions/Coin"
exact_token_b:
$ref: "#/definitions/Coin"
slippage:
type: string
example: "0.05"
deadline:
type: string
example: "1628073801"
responses:
200:
description: OK
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Internal server error
/swap/parameters:
get:
summary: Get the current parameters of the swap module
tags:
- Swap
produces:
- application/json
responses:
200:
description: Swap module parameters
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/SwapParams"
500:
description: Server internal error
/swap/deposits:
get:
summary: Get the current deposits of a liquidity pool
tags:
- Swap
produces:
- application/json
parameters:
- in: path
name: owner
description: Owner address in bech32 format
required: false
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: pool
description: Pool ID
required: false
type: string
x-example: "abc:xyz"
responses:
200:
description: Liquidity pool deposits
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/SwapDepositsQueryResult"
500:
description: Server internal error
/swap/pool:
get:
summary: Get information about a liquidity pool by ID
tags:
- Swap
produces:
- application/json
parameters:
2021-12-01 23:45:36 +00:00
- in: query
name: pool
description: Pool ID
required: true
type: string
x-example: "abc:xyz"
responses:
200:
description: Liquidity pool statistics
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/SwapPoolStatsQueryResult"
500:
description: Server internal error
/swap/pools:
get:
summary: Get information about all liquidity pools
tags:
- Swap
produces:
- application/json
responses:
200:
description: Statistics for all liquidity pools
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
x-nullable: true
items:
$ref: "#/definitions/SwapPoolStatsQueryResult"
500:
description: Server internal error
/bank/accounts/{address}/transfers:
post:
summary: Send coins from one account to another
tags:
- Bank
consumes:
- application/json
produces:
- application/json
parameters:
- in: path
name: address
description: Account address in bech32 format
required: true
2019-12-05 21:12:32 +00:00
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
- in: body
name: account
description: The sender and tx information
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
amount:
type: array
items:
$ref: "#/definitions/Coin"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid request
500:
description: Server internal error
/auth/accounts/{address}:
get:
summary: Get the account information on blockchain
tags:
- Auth
produces:
- application/json
parameters:
- in: path
name: address
description: Account address
required: true
2019-12-05 21:12:32 +00:00
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
responses:
200:
description: Account information on the blockchain
schema:
type: object
properties:
type:
type: string
value:
type: object
properties:
account_number:
type: string
address:
type: string
coins:
type: array
items:
$ref: "#/definitions/Coin"
public_key:
$ref: "#/definitions/PublicKey"
sequence:
type: string
500:
description: Server internal error
/staking/delegators/{delegatorAddr}/delegations:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
get:
summary: Get all delegations from a delegator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Delegation"
400:
description: Invalid delegator address
500:
description: Internal Server Error
# THE BELOW ENDPOINT IS NOT IMPLEMENTED IN COSMOS, SEE:
# https://github.com/cosmos/cosmos-sdk/blob/18de630d0ae1887113e266982b51c2bf1f662edb/x/staking/client/rest/query.go
# post:
# summary: Submit delegation
# parameters:
# - in: body
# name: delegation
# description: The password of the account to remove from the KMS
# schema:
# type: object
# properties:
# base_req:
# $ref: "#/definitions/BaseReq"
# delegator_address:
# $ref: "#/definitions/Address"
# validator_address:
# $ref: "#/definitions/ValidatorAddress"
# delegation:
# $ref: "#/definitions/Coin"
# tags:
# - Staking
# consumes:
# - application/json
# produces:
# - application/json
# responses:
# 200:
# description: OK
# schema:
# $ref: "#/definitions/BroadcastTxCommitResult"
# 400:
# description: Invalid delegator address or delegation request body
# 401:
# description: Key password is wrong
# 500:
# description: Internal Server Error
/staking/delegators/{delegatorAddr}/delegations/{validatorAddr}:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Query the current delegation between a delegator and a validator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Delegation"
400:
description: Invalid delegator address or validator address
500:
description: Internal Server Error
/staking/delegators/{delegatorAddr}/unbonding_delegations:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
get:
summary: Get all unbonding delegations from a delegator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/UnbondingDelegation"
400:
description: Invalid delegator address
500:
description: Internal Server Error
# THE BELOW ENDPOINT IS NOT IMPLEMENTED IN COSMOS, SEE:
# https://github.com/cosmos/cosmos-sdk/blob/18de630d0ae1887113e266982b51c2bf1f662edb/x/staking/client/rest/query.go
# post:
# summary: Submit an unbonding delegation
# parameters:
# - in: body
# name: delegation
# description: The password of the account to remove from the KMS
# schema:
# type: object
# properties:
# base_req:
# $ref: "#/definitions/BaseReq"
# delegator_address:
# $ref: "#/definitions/Address"
# validator_address:
# $ref: "#/definitions/ValidatorAddress"
# shares:
# type: string
# example: "100"
# tags:
# - Staking
# consumes:
# - application/json
# produces:
# - application/json
# responses:
# 200:
# description: OK
# schema:
# $ref: "#/definitions/BroadcastTxCommitResult"
# 400:
# description: Invalid delegator address or unbonding delegation request body
# 401:
# description: Key password is wrong
# 500:
# description: Internal Server Error
/staking/delegators/{delegatorAddr}/unbonding_delegations/{validatorAddr}:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Query all unbonding delegations between a delegator and a validator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/UnbondingDelegationPair"
400:
description: Invalid delegator address or validator address
500:
description: Internal Server Error
/staking/redelegations:
parameters:
- in: query
name: delegator
description: Bech32 AccAddress of Delegator
required: false
type: string
- in: query
name: validator_from
description: Bech32 ValAddress of SrcValidator
required: false
type: string
- in: query
name: validator_to
description: Bech32 ValAddress of DstValidator
required: false
type: string
get:
summary: Get all redelegations (filter by query params)
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Redelegation"
500:
description: Internal Server Error
# THE BELOW ENDPOINT IS NOT IMPLEMENTED IN COSMOS, SEE:
# https://github.com/cosmos/cosmos-sdk/blob/18de630d0ae1887113e266982b51c2bf1f662edb/x/staking/client/rest/query.go
# /staking/delegators/{delegatorAddr}/redelegations:
# parameters:
# - in: path
# name: delegatorAddr
# description: Bech32 AccAddress of Delegator
# required: true
# type: string
# x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
# post:
# summary: Submit a redelegation
# parameters:
# - in: body
# name: delegation
# description: The sender and tx information
# schema:
# type: object
# properties:
# base_req:
# $ref: "#/definitions/BaseReq"
# delegator_address:
# $ref: "#/definitions/Address"
# validator_src_addresses:
# $ref: "#/definitions/ValidatorAddress"
# validator_dst_address:
# $ref: "#/definitions/ValidatorAddress"
# shares:
# type: string
# example: "100"
# tags:
# - Staking
# consumes:
# - application/json
# produces:
# - application/json
# responses:
# 200:
# description: Tx was successfully generated
# schema:
# $ref: "#/definitions/StdTx"
# 400:
# description: Invalid delegator address or redelegation request body
# 500:
# description: Internal Server Error
/staking/delegators/{delegatorAddr}/validators:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
get:
summary: Query all validators that a delegator is bonded to
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Validator"
400:
description: Invalid delegator address
500:
description: Internal Server Error
/staking/delegators/{delegatorAddr}/validators/{validatorAddr}:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: validatorAddr
description: Bech32 ValAddress of Delegator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Query a validator that a delegator is bonded to
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Validator"
400:
description: Invalid delegator address or validator address
500:
description: Internal Server Error
/staking/validators:
get:
summary: Get all validator candidates. By default it returns only the bonded validators.
parameters:
- in: query
name: status
2019-12-05 21:12:32 +00:00
type: string
description: The validator bond status. Must be either 'bonded', 'unbonded', or 'unbonding'.
x-example: bonded
- in: query
name: page
description: The page number.
2019-12-05 21:12:32 +00:00
type: integer
x-example: 1
- in: query
name: limit
description: The maximum number of items per page.
2019-12-05 21:12:32 +00:00
type: integer
x-example: 1
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Validator"
500:
description: Internal Server Error
/staking/validators/{validatorAddr}:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Query the information from a single validator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Validator"
400:
description: Invalid validator address
500:
description: Internal Server Error
/staking/validators/{validatorAddr}/delegations:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1q53rwutgpzx7szcrgzqguxyccjpzt9j44jzrtj
get:
summary: Get all delegations from a validator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/Delegation"
400:
description: Invalid validator address
500:
description: Internal Server Error
/staking/validators/{validatorAddr}/unbonding_delegations:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1q53rwutgpzx7szcrgzqguxyccjpzt9j44jzrtj
get:
summary: Get all unbonding delegations from a validator
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
items:
$ref: "#/definitions/UnbondingDelegation"
400:
description: Invalid validator address
500:
description: Internal Server Error
/staking/pool:
get:
summary: Get the current state of the staking pool
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
loose_tokens:
type: string
bonded_tokens:
type: string
inflation_last_time:
type: string
inflation:
type: string
date_last_commission_reset:
type: string
prev_bonded_shares:
type: string
500:
description: Internal Server Error
/staking/parameters:
get:
summary: Get the current staking parameter values
tags:
- Staking
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
inflation_rate_change:
type: string
inflation_max:
type: string
inflation_min:
type: string
goal_bonded:
type: string
unbonding_time:
type: string
max_validators:
type: integer
bond_denom:
type: string
500:
description: Internal Server Error
# TODO: We need to either fix this route when the validator is not found or add a slashed validator in the contract tests
# /slashing/validators/{validatorPubKey}/signing_info:
# get:
# summary: Get sign info of given validator
# description: Get sign info of given validator
# produces:
# - application/json
# tags:
# - Slashing
# parameters:
# - type: string
# description: Bech32 validator public key
# name: validatorPubKey
# required: true
# in: path
# x-example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
# responses:
# 200:
# description: OK
# schema:
# $ref: "#/definitions/SigningInfo"
# 400:
# description: Invalid validator public key
# 500:
# description: Internal Server Error
/slashing/signing_infos:
get:
summary: Get sign info of given all validators
description: Get sign info of all validators
produces:
- application/json
tags:
- Slashing
parameters:
- in: query
name: page
description: Page number
type: integer
required: true
x-example: 1
- in: query
name: limit
description: Maximum number of items per page
type: integer
required: true
x-example: 5
responses:
200:
description: OK
schema:
items:
type: object
properties:
height:
type: string
result:
items:
$ref: "#/definitions/SigningInfo"
400:
description: Invalid validator public key for one of the validators
500:
description: Internal Server Error
/slashing/validators/{validatorAddr}/unjail:
post:
summary: Unjail a jailed validator
description: Send transaction to unjail a jailed validator
consumes:
- application/json
produces:
- application/json
tags:
- Slashing
parameters:
- type: string
description: Bech32 validator address
name: validatorAddr
required: true
in: path
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
- description: ""
name: UnjailBody
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
responses:
200:
description: Tx was successfully generated
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid validator address or base_req
500:
description: Internal Server Error
/slashing/parameters:
get:
summary: Get the current slashing parameters
tags:
- Slashing
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
max_evidence_age:
type: string
signed_blocks_window:
type: string
min_signed_per_window:
type: string
double_sign_unbond_duration:
type: string
downtime_unbond_duration:
type: string
slash_fraction_double_sign:
type: string
slash_fraction_downtime:
type: string
500:
description: Internal Server Error
/gov/proposals:
post:
summary: Submit a proposal
description: Send transaction to submit a proposal
consumes:
- application/json
produces:
- application/json
tags:
- Governance
parameters:
- description: valid value of `"proposal_type"` can be `"text"`, `"parameter_change"`, `"software_upgrade"`
name: post_proposal_body
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
title:
type: string
example: Test_title
description:
type: string
example: my_test_description
proposal_type:
type: string
example: "text"
proposer:
$ref: "#/definitions/Address"
initial_deposit:
type: array
items:
$ref: "#/definitions/Coin"
responses:
200:
description: Tx was successfully generated
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/TextProposal"
400:
description: Invalid proposal body
500:
description: Internal Server Error
get:
summary: Query proposals
description: Query proposals information with parameters
produces:
- application/json
tags:
- Governance
parameters:
- in: query
name: voter
description: voter address
required: false
2020-06-10 15:02:00 +00:00
type: string
- in: query
name: depositor
description: depositor address
required: false
2020-06-10 15:02:00 +00:00
type: string
- in: query
name: status
description: proposal status, valid values can be `"deposit_period"`, `"voting_period"`, `"passed"`, `"rejected"`
required: false
2020-06-10 15:02:00 +00:00
type: string
responses:
200:
description: Tx was successfully generated
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/TextProposal"
400:
description: Invalid query parameters
500:
description: Internal Server Error
/gov/proposals/param_change:
post:
summary: Generate a parameter change proposal transaction
description: Generate a parameter change proposal transaction
consumes:
- application/json
produces:
- application/json
tags:
- Governance
parameters:
- description: The parameter change proposal body that contains all parameter changes
name: post_proposal_body
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
title:
type: string
example: Param_Change
description:
type: string
example: Update_max_validators
proposer:
$ref: "#/definitions/Address"
deposit:
type: array
items:
$ref: "#/definitions/Coin"
changes:
type: array
items:
$ref: "#/definitions/ParamChange"
responses:
200:
description: The transaction was successfully generated
schema:
$ref: "#/definitions/StdTx"
400:
description: Invalid proposal body
500:
description: Internal Server Error
/gov/proposals/{proposalId}:
get:
summary: Query a proposal
description: Query a proposal by id
produces:
- application/json
tags:
- Governance
parameters:
- type: string
name: proposalId
required: true
in: path
x-example: "1"
responses:
200:
description: OK
schema:
$ref: "#/definitions/TextProposal"
400:
description: Invalid proposal id
500:
description: Internal Server Error
/gov/proposals/{proposalId}/proposer:
get:
summary: Query proposer
description: Query for the proposer for a proposal
produces:
- application/json
tags:
- Governance
parameters:
- type: string
name: proposalId
required: true
in: path
x-example: "1"
responses:
200:
description: OK
schema:
$ref: "#/definitions/Proposer"
400:
description: Invalid proposal ID
500:
description: Internal Server Error
/gov/proposals/{proposalId}/deposits:
get:
summary: Query deposits
description: Query deposits by proposalId
produces:
- application/json
tags:
- Governance
parameters:
- type: string
name: proposalId
required: true
in: path
x-example: "1"
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Deposit"
400:
description: Invalid proposal id
500:
description: Internal Server Error
post:
summary: Deposit tokens to a proposal
description: Send transaction to deposit tokens to a proposal
consumes:
- application/json
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
- description: ""
name: post_deposit_body
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
depositor:
$ref: "#/definitions/Address"
amount:
type: array
items:
$ref: "#/definitions/Coin"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid proposal id or deposit body
401:
description: Key password is wrong
500:
description: Internal Server Error
/gov/proposals/{proposalId}/deposits/{depositor}:
get:
summary: Query deposit
description: Query deposit by proposalId and depositor address
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
- type: string
description: Bech32 depositor address
name: depositor
required: true
in: path
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
responses:
200:
description: OK
schema:
$ref: "#/definitions/Deposit"
400:
description: Invalid proposal id or depositor address
404:
description: Found no deposit
500:
description: Internal Server Error
/gov/proposals/{proposalId}/votes:
get:
summary: Query voters
description: Query voters information by proposalId
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Vote"
400:
description: Invalid proposal id
500:
description: Internal Server Error
post:
summary: Vote a proposal
description: Send transaction to vote a proposal
consumes:
- application/json
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
- description: valid value of `"option"` field can be `"yes"`, `"no"`, `"no_with_veto"` and `"abstain"`
name: post_vote_body
in: body
required: true
schema:
type: object
properties:
base_req:
$ref: "#/definitions/BaseReq"
voter:
$ref: "#/definitions/Address"
option:
type: string
example: "yes"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid proposal id or vote body
401:
description: Key password is wrong
500:
description: Internal Server Error
/gov/proposals/{proposalId}/votes/{voter}:
get:
summary: Query vote
description: Query vote information by proposal Id and voter address
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
- type: string
description: Bech32 voter address
name: voter
required: true
in: path
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
responses:
200:
description: OK
schema:
$ref: "#/definitions/Vote"
400:
description: Invalid proposal id or voter address
404:
description: Found no vote
500:
description: Internal Server Error
/gov/proposals/{proposalId}/tally:
get:
summary: Get a proposal's tally result at the current time
description: Gets a proposal's tally result at the current time. If the proposal is pending deposits (i.e status 'DepositPeriod') it returns an empty tally result.
produces:
- application/json
tags:
- Governance
parameters:
- type: string
description: proposal id
name: proposalId
required: true
in: path
x-example: "1"
responses:
200:
description: OK
schema:
$ref: "#/definitions/TallyResult"
400:
description: Invalid proposal id
500:
description: Internal Server Error
/gov/parameters/deposit:
get:
summary: Query governance deposit parameters
description: Query governance deposit parameters. The max_deposit_period units are in nanoseconds.
produces:
- application/json
tags:
- Governance
responses:
200:
description: OK
schema:
type: object
properties:
min_deposit:
type: array
items:
$ref: "#/definitions/Coin"
max_deposit_period:
type: string
example: "86400000000000"
400:
description: <other_path> is not a valid query request path
404:
description: Found no deposit parameters
500:
description: Internal Server Error
/gov/parameters/tallying:
get:
summary: Query governance tally parameters
description: Query governance tally parameters
produces:
- application/json
tags:
- Governance
responses:
200:
description: OK
schema:
properties:
threshold:
type: string
example: "0.5000000000"
veto:
type: string
example: "0.3340000000"
governance_penalty:
type: string
example: "0.0100000000"
400:
description: <other_path> is not a valid query request path
404:
description: Found no tally parameters
500:
description: Internal Server Error
/gov/parameters/voting:
get:
summary: Query governance voting parameters
description: Query governance voting parameters. The voting_period units are in nanoseconds.
produces:
- application/json
tags:
- Governance
responses:
200:
description: OK
schema:
properties:
voting_period:
type: string
example: "86400000000000"
400:
description: <other_path> is not a valid query request path
404:
description: Found no voting parameters
500:
description: Internal Server Error
/distribution/delegators/{delegatorAddr}/rewards:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
get:
summary: Get the total rewards balance from all delegations
description: Get the sum of all the rewards earned by delegations by a single delegator
produces:
- application/json
tags:
- Distribution
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
$ref: "#/definitions/DelegatorTotalRewards"
400:
description: Invalid delegator address
500:
description: Internal Server Error
post:
summary: Withdraw all the delegator's delegation rewards
description: Withdraw all the delegator's delegation rewards
tags:
- Distribution
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Withdraw request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid delegator address
401:
description: Key password is wrong
500:
description: Internal Server Error
/distribution/delegators/{delegatorAddr}/rewards/{validatorAddr}:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Query a delegation reward
description: Query a single delegation reward by a delegator
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Coin"
400:
description: Invalid delegator address
500:
description: Internal Server Error
post:
summary: Withdraw a delegation reward
description: Withdraw a delegator's delegation reward from a single validator
tags:
- Distribution
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Withdraw request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid delegator address or delegation body
401:
description: Key password is wrong
500:
description: Internal Server Error
/distribution/delegators/{delegatorAddr}/withdraw_address:
parameters:
- in: path
name: delegatorAddr
description: Bech32 AccAddress of Delegator
required: true
type: string
x-example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
get:
summary: Get the rewards withdrawal address
description: Get the delegations' rewards withdrawal address. This is the address in which the user will receive the reward funds
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
$ref: "#/definitions/Address"
400:
description: Invalid delegator address
500:
description: Internal Server Error
post:
summary: Replace the rewards withdrawal address
description: Replace the delegations' rewards withdrawal address for a new one.
tags:
- Distribution
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Withdraw request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
withdraw_address:
$ref: "#/definitions/Address"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid delegator or withdraw address
401:
description: Key password is wrong
500:
description: Internal Server Error
/distribution/validators/{validatorAddr}:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Validator distribution information
description: Query the distribution information of a single validator
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/ValidatorDistInfo"
400:
description: Invalid validator address
500:
description: Internal Server Error
/distribution/validators/{validatorAddr}/outstanding_rewards:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Fee distribution outstanding rewards of a single validator
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Coin"
500:
description: Internal Server Error
/distribution/validators/{validatorAddr}/rewards:
parameters:
- in: path
name: validatorAddr
description: Bech32 OperatorAddress of validator
required: true
type: string
x-example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
get:
summary: Commission and self-delegation rewards of a single validator
description: Query the commission and self-delegation rewards of validator.
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Coin"
400:
description: Invalid validator address
500:
description: Internal Server Error
post:
summary: Withdraw the validator's rewards
description: Withdraw the validator's self-delegation and commissions rewards
tags:
- Distribution
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: Withdraw request body
schema:
properties:
base_req:
$ref: "#/definitions/BaseReq"
responses:
200:
description: OK
schema:
$ref: "#/definitions/BroadcastTxCommitResult"
400:
description: Invalid validator address
401:
description: Key password is wrong
500:
description: Internal Server Error
/distribution/community_pool:
get:
summary: Community pool parameters
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
height:
type: string
example: "100"
result:
type: array
items:
$ref: "#/definitions/Coin"
500:
description: Internal Server Error
/distribution/parameters:
get:
summary: Fee distribution parameters
tags:
- Distribution
produces:
- application/json
responses:
200:
description: OK
schema:
properties:
base_proposer_reward:
type: string
bonus_proposer_reward:
type: string
community_tax:
type: string
500:
description: Internal Server Error
/minting/parameters:
get:
summary: Minting module parameters
tags:
- Mint
produces:
- application/json
responses:
200:
description: OK
schema:
properties:
mint_denom:
type: string
inflation_rate_change:
type: string
inflation_max:
type: string
inflation_min:
type: string
goal_bonded:
type: string
blocks_per_year:
type: string
500:
description: Internal Server Error
/minting/inflation:
get:
summary: Current minting inflation value
tags:
- Mint
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/StandardResponse"
500:
description: Internal Server Error
/minting/annual-provisions:
get:
summary: Current minting annual provisions value
tags:
- Mint
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/StandardResponse"
500:
description: Internal Server Error
/supply/total:
get:
summary: Total supply of coins in the chain
tags:
- Supply
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/Supply"
500:
description: Internal Server Error
/supply/total/{denomination}:
parameters:
- in: path
name: denomination
description: Coin denomination
required: true
type: string
x-example: uatom
get:
summary: Total supply of a single coin denomination
tags:
- Supply
produces:
- application/json
responses:
200:
description: OK
schema:
$ref: "#/definitions/StandardResponse"
400:
description: Invalid coin denomination
500:
description: Internal Server Error
/kavadist/parameters:
get:
summary: Get the current kavadist parameter values
tags:
- Kavadist
produces:
- application/json
responses:
200:
description: OK
schema:
type: object
properties:
active:
type: string
periods:
type: array
items:
$ref: "#/definitions/KavadistPeriod"
500:
description: Internal Server Error
definitions:
CheckTxResult:
type: object
properties:
code:
type: integer
data:
type: string
gas_used:
type: integer
gas_wanted:
type: integer
info:
type: string
log:
type: string
tags:
type: array
items:
$ref: "#/definitions/KVPair"
example:
code: 0
data: data
log: log
gas_used: 5000
gas_wanted: 10000
info: info
tags:
- ""
- ""
DeliverTxResult:
type: object
properties:
code:
type: integer
data:
type: string
gas_used:
type: integer
gas_wanted:
type: integer
info:
type: string
log:
type: string
tags:
type: array
items:
$ref: "#/definitions/KVPair"
example:
code: 5
data: data
log: log
gas_used: 5000
gas_wanted: 10000
info: info
tags:
- ""
- ""
BroadcastTxCommitResult:
type: object
properties:
check_tx:
$ref: "#/definitions/CheckTxResult"
deliver_tx:
$ref: "#/definitions/DeliverTxResult"
hash:
$ref: "#/definitions/Hash"
height:
type: string
KVPair:
type: object
properties:
key:
type: string
value:
type: string
Msg:
type: object
properties:
type:
type: string
example: "cosmos-sdk/MsgSend"
value:
type: object
properties:
from_address:
type: string
example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
to_address:
type: string
example: kava1ls82zzghsx0exkpr52m8vht5jqs3un0ceysshz
amount:
type: array
items:
$ref: "#/definitions/Coin"
Address:
type: string
description: bech32 encoded address
example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
Address2:
type: string
description: bech32 encoded address
example: kava1atsrkjac6ulgmwhudfc36lnjfgv340vlvm757z
BinanceChainAddress:
type: string
description: address on another chain (binance)
example: bnb1uky3me9ggqypmrsvxk7ur6hqkzq7zmv4ed4ng7
BinanceChainAddress2:
type: string
description: address on another chain (binance)
example: bnb10uypsspvl6jlxcx5xse02pag39l8xpe7a3468h
RandomNumberHash:
type: string
description: hex-encoded sha256 hash of a 64bit random number
example: c0544b7f4b890a673ea3f61bdb4650fbfe2f3e56bda1b397d6d592fca7163c8c
Timestamp:
type: string
description: unix timestamp
example: "1585252531"
HeightSpan:
type: string
description: span of blocks for which an atomic swap is valid
example: "3600"
DeputyAddress:
type: string
description: bep3 deputy
example: kava1xy7hrjy9r0algz9w3gzm8u6mrpq97kwta747gj
ValidatorAddress:
type: string
description: bech32 encoded address
example: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
Coin:
type: object
properties:
denom:
type: string
example: ukava
amount:
type: string
example: "50000"
CoinBNB:
type: object
properties:
denom:
type: string
example: bnb
amount:
type: string
example: "555555"
CollateralType:
type: string
example: xrpb-a
CoinCollateral:
type: object
properties:
denom:
type: string
example: "xrp"
amount:
type: string
example: "10000000000"
CoinPrincipal:
type: object
properties:
denom:
type: string
example: "usdx"
amount:
type: string
example: "10000000"
CoinBid:
type: object
properties:
denom:
type: string
example: "usdx"
amount:
type: string
example: "100000000"
Hash:
type: string
example: EE5F3404034C524501629B56E0DDC38FAD651F04
Signature:
type: object
properties:
signature:
type: string
example: "W1HfKcc4F0rCSoxheZ7fsrB5nGK58U4gKysuzsmUwhloVnCxmbCx289uVMMvQN6tOcQsz7hMVTJrXSA1xzevvw=="
pubkey:
type: object
properties:
type:
type: string
example: "tendermint/PubKeySecp256k1"
value:
type: string
example: "Agey31h/NYpcy0sYm4liHMrXJMzbQUrgV4uHd/w09CXN"
TxQuery:
type: object
properties:
hash:
type: string
example: "D085138D913993919295FF4B0A9107F1F2CDE0D37A87CE0644E217CBF3B49656"
height:
type: string
example: "368"
tx:
$ref: "#/definitions/StdTx"
result:
type: object
properties:
log:
type: string
gas_wanted:
type: string
example: "200000"
gas_used:
type: string
example: "26354"
tags:
type: array
items:
$ref: "#/definitions/KVPair"
PaginatedQueryTxs:
type: object
properties:
total_count:
type: string
example: "1"
count:
type: string
example: "1"
page_number:
type: string
example: "1"
page_total:
type: string
example: "1"
limit:
type: string
example: "30"
txs:
type: array
items:
$ref: "#/definitions/TxQuery"
StdTx:
type: object
properties:
msg:
type: array
items:
$ref: "#/definitions/Msg"
fee:
type: object
properties:
gas:
type: string
example: "200000"
amount:
type: array
items:
$ref: "#/definitions/Coin"
memo:
type: string
signatures:
type: array
items:
$ref: "#/definitions/Signature"
BlockID:
type: object
properties:
hash:
$ref: "#/definitions/Hash"
parts:
type: object
properties:
total:
type: string
example: "0"
hash:
$ref: "#/definitions/Hash"
BlockHeader:
type: object
properties:
chain_id:
type: string
example: testing
height:
type: string
example: "1"
time:
type: string
example: "2017-12-30T05:53:09.287+01:00"
num_txs:
type: string
example: "0"
last_block_id:
$ref: "#/definitions/BlockID"
total_txs:
type: string
example: "35"
last_commit_hash:
$ref: "#/definitions/Hash"
data_hash:
$ref: "#/definitions/Hash"
validators_hash:
$ref: "#/definitions/Hash"
next_validators_hash:
$ref: "#/definitions/Hash"
consensus_hash:
$ref: "#/definitions/Hash"
app_hash:
$ref: "#/definitions/Hash"
last_results_hash:
$ref: "#/definitions/Hash"
evidence_hash:
$ref: "#/definitions/Hash"
proposer_address:
$ref: "#/definitions/Address"
version:
type: object
properties:
block:
type: string
example: 10
app:
type: string
example: 0
Block:
type: object
properties:
header:
$ref: "#/definitions/BlockHeader"
txs:
type: array
items:
type: string
evidence:
type: object
# type: array
# items:
# type: string
last_commit:
type: object
properties:
block_id:
$ref: "#/definitions/BlockID"
precommits:
type: array
x-nullable: true
items:
type: object
properties:
validator_address:
type: string
validator_index:
type: string
example: "0"
height:
type: string
example: "0"
round:
type: string
example: "0"
timestamp:
type: string
example: "2017-12-30T05:53:09.287+01:00"
type:
type: number
example: 2
block_id:
$ref: "#/definitions/BlockID"
signature:
type: string
example: "7uTC74QlknqYWEwg7Vn6M8Om7FuZ0EO4bjvuj6rwH1mTUJrRuMMZvAAqT9VjNgP0RA/TDp6u/92AqrZfXJSpBQ=="
BlockQuery:
type: object
properties:
block_meta:
type: object
properties:
header:
$ref: "#/definitions/BlockHeader"
block_id:
$ref: "#/definitions/BlockID"
block:
$ref: "#/definitions/Block"
DelegationDelegatorReward:
type: object
properties:
validator_address:
$ref: "#/definitions/ValidatorAddress"
reward:
type: array
items:
$ref: "#/definitions/Coin"
DelegatorTotalRewards:
type: object
properties:
rewards:
type: array
items:
$ref: "#/definitions/DelegationDelegatorReward"
total:
type: array
items:
$ref: "#/definitions/Coin"
BaseReq:
type: object
properties:
from:
type: string
example: "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"
description: Sender address or Keybase name to generate a transaction
memo:
type: string
example: "a memo"
chain_id:
type: string
example: "testing"
account_number:
type: string
example: "1"
sequence:
type: string
example: "0"
gas:
type: string
example: "200000"
gas_adjustment:
type: string
example: "1.0"
fees:
type: array
items:
$ref: "#/definitions/Coin"
simulate:
type: boolean
example: false
description: Estimate gas for a transaction (cannot be used in conjunction with generate_only)
TendermintValidator:
type: object
properties:
address:
$ref: "#/definitions/ValidatorAddress"
pub_key:
type: string
example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
voting_power:
type: string
example: "1000"
proposer_priority:
type: string
example: "1000"
AtomicSwapResponse:
type: object
properties:
id:
type: string
example: FFEA80A3D9A42427CC12DB957866C6D428C16AA5EA6D9A4A756EF04BF9F2FF06
status:
type: string
example: Completed
amount:
$ref: "#/definitions/CoinBNB"
random_number_hash:
type: string
example: 0b1e35e991bf052be230ae8dd3ff90b69a610160d28a9eb3c0701395f9d2b291
expire_hieght:
type: string
example: 532463
timestamp:
type: string
example: 1589020884
sender:
$ref: "#/definitions/Address"
recipient:
$ref: "#/definitions/Address2"
sender_other_chain:
$ref: "#/definitions/BinanceChainAddress"
recipient_other_chain:
$ref: "#/definitions/BinanceChainAddress2"
closed_block:
type: string
example: 532105
cross_chain:
$ref: "#/definitions/CrossChain"
direction:
type: string
example: Incoming
AssetSupplyResponse:
type: object
properties:
denom:
type: string
example: bnb
incoming_supply:
$ref: "#/definitions/CoinBNB"
outgoing_supply:
$ref: "#/definitions/CoinBNB"
current_supply:
$ref: "#/definitions/CoinBNB"
limit:
$ref: "#/definitions/CoinBNB"
Bep3ParamsResponse:
type: object
properties:
bnb_deputy_address:
type: string
example: kava1aphsdnz5hu2t5ty2au6znprug5kx3zpy6zwq29
min_block_lock:
type: string
example: 80
max_block_lock:
type: string
example: 3600
supported_assets:
type: array
items:
$ref: "#/definitions/Bep3Asset"
Bep3Asset:
type: object
properties:
denom:
type: string
example: bnb
coin_id:
type: string
example: 714
limit:
type: string
example: "100"
active:
type: boolean
example: true
RewardResult:
type: object
properties:
hard_claims:
type: array
items:
$ref: "#/definitions/HardLiquidityProviderClaim"
usdx_minting_claims:
type: array
items:
$ref: "#/definitions/USDXMintingClaims"
HardLiquidityProviderClaim:
type: object
properties:
base_claim:
$ref: "#/definitions/BaseMultiClaim"
supply_reward_indexes:
type: array
items:
$ref: "#/definitions/MultiRewardIndex"
borrow_reward_indexes:
type: array
items:
$ref: "#/definitions/MultiRewardIndex"
delegator_reward_indexes:
type: array
items:
$ref: "#/definitions/RewardIndex"
USDXMintingClaims:
type: object
properties:
base_claim:
$ref: "#/definitions/BaseClaim"
reward_indexes:
type: array
items:
$ref: "#/definitions/RewardIndex"
BaseClaim:
type: object
properties:
owner:
$ref: "#/definitions/AccAddress"
reward:
$ref: "#/definitions/Coin"
BaseMultiClaim:
type: object
properties:
owner:
$ref: "#/definitions/AccAddress"
reward:
type: array
items:
$ref: "#/definitions/Coin"
MultiRewardIndex:
type: object
properties:
collateral_type:
type: string
example: "bnb"
reward_indexes:
type: array
items:
$ref: "#/definitions/RewardIndex"
RewardIndex:
type: object
properties:
collateral_type:
type: string
example: "bnb"
reward_factor:
type: string
example: "1.2581"
IncentiveParams:
type: object
properties:
usdx_minting_reward_periods:
type: array
items:
$ref: "#/definitions/RewardPeriod"
hard_supply_reward_periods:
type: array
items:
$ref: "#/definitions/MultiRewardPeriod"
hard_borrow_reward_periods:
type: array
items:
$ref: "#/definitions/MultiRewardPeriod"
hard_delegator_reward_periods:
type: array
items:
$ref: "#/definitions/RewardPeriod"
claim_multipliers:
type: array
items:
$ref: "#/definitions/Multiplier"
claim_end:
type: string
example: "2022-02-05T23:45:55.761435272Z"
RewardPeriod:
type: object
properties:
active:
type: boolean
example: true
collateral_type:
type: string
example: bnb
start:
type: string
example: "2020-02-05T23:45:55.761435272Z"
end:
type: string
example: "2024-02-05T23:45:55.761435272Z"
rewards_per_second:
$ref: "#/definitions/Coin"
MultiRewardPeriod:
type: object
properties:
active:
type: boolean
example: true
collateral_type:
type: string
example: bnb
start:
type: string
example: "2020-02-05T23:45:55.761435272Z"
end:
type: string
example: "2024-02-05T23:45:55.761435272Z"
rewards_per_second:
type: array
items:
$ref: "#/definitions/Coin"
PubProposal:
type: object
properties:
title:
type: string
example: "the title of the proposal"
description:
type: string
example: "the description of the proposal"
CdpResponse:
type: object
properties:
id:
type: string
example: 1
owner:
type: string
example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
collateral:
$ref: "#/definitions/CoinCollateral"
type:
type: string
example: "xrpb-a"
principal:
$ref: "#/definitions/CoinPrincipal"
accumulated_fees:
$ref: "#/definitions/CoinPrincipal"
fees_updated:
type: string
example: "2020-02-05T23:45:55.761435272Z"
collateral_value:
$ref: "#/definitions/CoinPrincipal"
collateralization_ratio:
type: string
example: "2.721734157907653857"
CdpDepositResponse:
type: object
properties:
cdp_id:
type: string
example: 1
depositor:
type: string
example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
amount:
$ref: "#/definitions/CoinCollateral"
PricefeedParameters:
type: object
properties:
markets:
type: array
items:
$ref: "#/definitions/Market"
Price:
type: object
properties:
market_id:
type: string
example: "xrp:usd"
price:
type: string
example: "0.298758999999999997"
PostedPrice:
type: object
properties:
market_id:
type: string
example: "xrp:usd"
oracle_address:
type: string
example: kava10cw2m04528dwlc44k0myd7strj3eq5jr6s8pxs
price:
type: string
example: "0.298758999999999997"
expiry:
type: string
example: "2021-02-12T23:10:00Z"
Market:
type: object
properties:
market_id:
type: string
example: "xrp:usd"
base_asset:
type: string
example: "xrp"
quote_asset:
type: string
example: "usd"
oracles:
type: array
x-nullable: true
items:
$ref: "#/definitions/Address"
active:
type: boolean
example: true
SwapParams:
type: object
properties:
allowed_pools:
type: array
items:
$ref: "#/definitions/AllowedPool"
swap_fee:
type: string
example: "0.03"
AllowedPool:
type: object
properties:
token_a:
type: string
example: "ukava"
token_b:
type: string
example: "usdx"
SwapDepositsQueryResult:
type: object
properties:
depositor:
$ref: "#/definitions/Address"
pool_id:
type: string
example: "abc:xyz"
shares_owned:
type: string
example: "500"
shares_value:
$ref: "#/definitions/Coins"
SwapPoolStatsQueryResult:
type: object
properties:
name:
type: string
example: "abc:xyz"
coins:
$ref: "#/definitions/Coins"
total_shares:
type: string
example: "500"
HardParams:
type: object
properties:
money_markets:
type: array
items:
$ref: "#/definitions/MoneyMarket"
minimum_borrow_usd_value:
type: string
example: "10"
MoneyMarket:
type: object
properties:
denom:
type: string
example: "bnb"
borrow_limit:
$ref: "#/definitions/BorrowLimit"
spot_market_id:
type: string
example: "bnb:usd"
conversion_factor:
type: string
example: "100000000"
interest_rate_model:
$ref: "#/definitions/InterestRateModel"
reserve_factor:
type: string
example: "0.05"
keeper_reward_percentage:
type: string
example: "0.05"
BorrowLimit:
type: object
properties:
has_max_limit:
type: boolean
example: true
maximum_limit:
type: string
example: "100000000000000"
loan_to_value:
type: string
example: "0.8"
InterestRateModel:
type: object
properties:
base_rate_apy:
type: string
example: "0"
base_multiplier:
type: string
example: "0.1"
kink:
type: string
example: "0.8"
jump_multiplier:
type: string
example: "0.5"
HardDepositResponse:
type: object
properties:
depositor:
$ref: "#/definitions/Address"
amount:
type: array
items:
$ref: "#/definitions/Coin"
index:
type: array
items:
$ref: "#/definitions/SupplyInterestFactor"
HardBorrowResponse:
type: object
properties:
borrower:
$ref: "#/definitions/Address"
amount:
type: array
items:
$ref: "#/definitions/Coin"
index:
type: array
items:
$ref: "#/definitions/BorrowInterestFactor"
SupplyInterestFactor:
type: object
properties:
denom:
type: string
example: "bnb"
value:
type: string
example: "0.1258"
BorrowInterestFactor:
type: object
properties:
denom:
type: string
example: "bnb"
value:
type: string
example: "0.1258"
MoneyMarketInterestRate:
type: object
properties:
denom:
type: string
example: "bnb"
supply_interest_rate:
type: string
example: "5.25"
borrow_interest_rate:
type: string
example: "5.25"
MultiplierName:
type: string
example: "small"
Multiplier:
type: object
properties:
name:
$ref: "#/definitions/MultiplierName"
months_lockup:
type: string
example: "12"
factor:
type: string
example: "0.33"
IssuanceParams:
type: object
properties:
assets:
type: array
items:
$ref: "#/definitions/IssuanceAsset"
IssuanceAsset:
type: object
properties:
owner:
$ref: "#/definitions/Address"
denom:
type: string
example: "btc"
blocked_addresses:
type: array
items:
$ref: "#/definitions/Address"
paused:
type: boolean
example: false
blockable:
type: boolean
example: true
rate_limit:
$ref: "#/definitions/RateLimit"
RateLimit:
type: object
properties:
active:
type: boolean
example: true
limit:
type: string
example: 500000000
time_period:
type: string
example: 518400000000000
AuctionParameters:
type: object
properties:
max_auction_duration:
type: string
example: 172800000000000
bid_duration:
type: string
example: 600000000000
increment_surplus:
type: string
example: "0.05"
increment_debt:
type: string
example: "0.05"
increment_collateral:
type: string
example: "0.05"
AuctionResponse:
type: object
properties:
id:
type: string
example: 1
initiator:
type: string
example: liquidator
lot:
$ref: "#/definitions/CoinCollateral"
bidder:
$ref: "#/definitions/Address"
bid:
$ref: "#/definitions/Coin"
has_received_bids:
type: boolean
example: false
end_time:
type: string
example: "2020-02-05T23:45:55.761435272Z"
max_end_time:
type: string
example: "2020-02-05T23:45:55.761435272Z"
type:
type: string
example: collateral
phase:
type: string
example: forward
CollateralParam:
type: object
properties:
denom:
type: string
example: xrp
type:
type: string
example: xrp-a
liquidation_ratio:
type: string
example: "2.000000000000000000"
debt_limit:
$ref: "#/definitions/CoinPrincipal"
stability_fee:
type: string
example: "1.000000001547126000"
auction_size:
type: string
example: "5000000000"
liquidation_penalty:
type: string
example: "0.050000000000000000"
prefix:
type: integer
example: 0
spot_market_id:
type: string
example: "xrp:usd"
liquidation_market_id:
type: string
example: "xrp:usd:30"
keeper_reward_percentage:
type: string
example: "0.05"
check_collateralization_index_count:
type: string
example: "10"
conversion_factor:
type: string
example: "6"
DebtParam:
type: object
properties:
denom:
type: string
example: usdx
reference_asset:
type: string
example: "usd"
conversion_factor:
type: string
example: "6"
debt_floor:
type: string
example: "10000000"
TextProposal:
type: object
properties:
proposal_id:
type: integer
title:
type: string
description:
type: string
proposal_type:
type: string
proposal_status:
type: string
final_tally_result:
$ref: "#/definitions/TallyResult"
submit_time:
type: string
total_deposit:
type: array
items:
$ref: "#/definitions/Coin"
voting_start_time:
type: string
Proposer:
type: object
properties:
proposal_id:
type: string
example: 1
proposer:
type: string
example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
Deposit:
type: object
properties:
amount:
type: array
items:
$ref: "#/definitions/Coin"
proposal_id:
type: string
depositor:
$ref: "#/definitions/Address"
TallyResult:
type: object
properties:
yes:
type: string
example: "0.0000000000"
abstain:
type: string
example: "0.0000000000"
no:
type: string
example: "0.0000000000"
no_with_veto:
type: string
example: "0.0000000000"
Vote:
type: object
properties:
voter:
type: string
proposal_id:
type: string
option:
type: string
CommitteeVote:
type: object
properties:
voter:
type: string
proposal_id:
type: string
vote_type:
type: string
CommitteeProposal:
type: object
properties:
pub_proposal:
$ref: "#/definitions/PubProposal"
id:
type: string
example: 1
committee_id:
type: string
example: 1
deadline:
type: string
example: "2020-05-10T16:18:43.752522893Z"
Committee:
type: object
properties:
id:
type: string
example: 1
description:
type: string
example: description of committee
members:
type: array
items:
$ref: "#/definitions/Address"
permissions:
type: array
items:
$ref: "#/definitions/Permission"
vote_threshold:
type: string
example: "0.5"
proposal_duration:
type: string
example: "3600000000000"
Permission:
type: object
properties:
type:
type: string
example: "param_change_permission"
allowed_params:
type: array
items:
$ref: "#/definitions/AllowedParam"
AllowedParam:
type: object
properties:
subspace:
type: string
example: cdp
key:
type: string
example: collateral_params
Validator:
type: object
properties:
operator_address:
$ref: "#/definitions/ValidatorAddress"
consensus_pubkey:
type: string
example: kavavalconspub1zcjduepq0vu2zgkgk49efa0nqwzndanq5m4c7pa3u4apz4g2r9gspqg6g9cs3k9cuf
jailed:
type: boolean
status:
type: integer
tokens:
type: string
delegator_shares:
type: string
description:
type: object
properties:
moniker:
type: string
identity:
type: string
website:
type: string
security_contact:
type: string
details:
type: string
bond_height:
type: string
example: "0"
bond_intra_tx_counter:
type: integer
example: 0
unbonding_height:
type: string
example: "0"
unbonding_time:
type: string
example: "1970-01-01T00:00:00Z"
commission:
type: object
properties:
rate:
type: string
example: "0"
max_rate:
type: string
example: "0"
max_change_rate:
type: string
example: "0"
update_time:
type: string
example: "1970-01-01T00:00:00Z"
Delegation:
type: object
properties:
delegator_address:
type: string
validator_address:
type: string
shares:
type: string
balance:
$ref: "#/definitions/Coin"
UnbondingDelegationPair:
type: object
properties:
delegator_address:
type: string
validator_address:
type: string
entries:
type: array
items:
$ref: "#/definitions/UnbondingEntries"
UnbondingEntries:
type: object
properties:
initial_balance:
type: string
balance:
type: string
creation_height:
type: string
min_time:
type: string
UnbondingDelegation:
type: object
properties:
delegator_address:
type: string
validator_address:
type: string
initial_balance:
type: string
balance:
type: string
creation_height:
type: integer
min_time:
type: integer
Redelegation:
type: object
properties:
delegator_address:
type: string
validator_src_address:
type: string
validator_dst_address:
type: string
entries:
type: array
items:
$ref: "#/definitions/Redelegation"
RedelegationEntry:
type: object
properties:
creation_height:
type: integer
completion_time:
type: integer
initial_balance:
type: string
balance:
type: string
shares_dst:
type: string
ValidatorDistInfo:
type: object
properties:
operator_address:
$ref: "#/definitions/ValidatorAddress"
self_bond_rewards:
type: array
items:
$ref: "#/definitions/Coin"
val_commission:
type: array
items:
$ref: "#/definitions/Coin"
PublicKey:
type: object
properties:
type:
type: string
value:
type: string
SigningInfo:
type: object
properties:
start_height:
type: string
index_offset:
type: string
jailed_until:
type: string
missed_blocks_counter:
type: string
ParamChange:
type: object
properties:
subspace:
type: string
example: "staking"
key:
type: string
example: "MaxValidators"
subkey:
type: string
example: ""
value:
type: object
Supply:
type: object
properties:
total:
type: array
items:
$ref: "#/definitions/Coin"
StandardResponse:
type: object
properties:
height:
type: string
result:
type: string
KavadistPeriod:
type: object
properties:
start:
type: string
example: "2020-06-01:14:00:00Z"
end:
type: string
example: "2020-06-01:14:00:00Z"
inflation:
type: string
example: "1.000000001167363430"
PostStdTx:
type: object
properties:
msg:
type: array
items:
$ref: "#/definitions/PostMsg"
fee:
type: object
properties:
gas:
type: string
example: "200000"
amount:
type: array
items:
$ref: "#/definitions/PostCoin2"
memo:
type: string
example: ""
signatures:
type: array
items:
$ref: "#/definitions/PostSignature"
PostMsg:
type: object
properties:
type:
type: string
example: "cosmos-sdk/MsgSend"
value:
type: object
properties:
from_address:
type: string
example: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
to_address:
type: string
example: kava1ls82zzghsx0exkpr52m8vht5jqs3un0ceysshz
amount:
type: array
items:
$ref: "#/definitions/PostCoin1"
PostCoin1:
type: object
properties:
denom:
type: string
example: stake
amount:
type: string
example: "2000000"
PostCoin2:
type: object
properties:
denom:
type: string
example: stake
amount:
type: string
example: "2000"
PostSignature:
type: object
properties:
signature:
type: string
example: "KzBeQp/2+47oiqc16BImnOYidSAesZ3kgR3S8Fy+baFlvDlDv7goU/+rm4c7+woudNte3uZAG0CuUeHsF+Ld8Q=="
pubkey:
type: object
properties:
type:
type: string
example: "tendermint/PubKeySecp256k1"
value:
type: string
example: "AmWAim83Qp+kIcj3RT7i327b3l0EHwzCrGVGXusb70B7"
EncodeTx:
type: object
properties:
type:
type: string
example: "cosmos-sdk/StdTx"
value:
type: object
$ref: "#/definitions/StdTx"