mirror of
https://github.com/0glabs/0g-chain.git
synced 2024-12-26 00:05:18 +00:00
[R4R] fixing dredd tests for bump to v38 of sdk (#464)
* updates, logging, fix key generation using mnemonic etc, still a wip * updates * fix: use test backend for keybase * fix: add keyring flags for all commands * fix: update cdp params to account for breaking changes * fixed issues, all tests now passing * clean up comments Co-authored-by: John Maheswaran <john@noreply> Co-authored-by: Kevin Davis <kjydavis3@gmail.com>
This commit is contained in:
parent
9d98514aaf
commit
56a311dc04
@ -1,11 +1,10 @@
|
|||||||
#! /bin/bash
|
#! /bin/bash
|
||||||
|
|
||||||
# kill kava if it is already running
|
# kill kava if it is already running
|
||||||
pgrep kvd | xargs kill
|
pkill kvd && pkill kvcli
|
||||||
pgrep kvcli | xargs kill
|
|
||||||
|
|
||||||
# TODO import from development environment in envkey
|
# TODO import from development environment in envkey
|
||||||
password="password"
|
password=""
|
||||||
validatorMnemonic="equip town gesture square tomorrow volume nephew minute witness beef rich gadget actress egg sing secret pole winter alarm law today check violin uncover"
|
validatorMnemonic="equip town gesture square tomorrow volume nephew minute witness beef rich gadget actress egg sing secret pole winter alarm law today check violin uncover"
|
||||||
# address: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
|
# address: kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c
|
||||||
# address: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
|
# address: kavavaloper1ffv7nhd3z6sych2qpqkk03ec6hzkmufyz4scd0
|
||||||
@ -24,9 +23,10 @@ rm -rf $kvcliHome
|
|||||||
mkdir /tmp/kvdHome
|
mkdir /tmp/kvdHome
|
||||||
mkdir /tmp/kvcliHome
|
mkdir /tmp/kvcliHome
|
||||||
# create validator key
|
# create validator key
|
||||||
printf "$password\n$validatorMnemonic\n" | kvcli keys add vlad --recover --home $kvcliHome
|
printf "$validatorMnemonic\n" | kvcli keys add vlad --recover --home $kvcliHome --keyring-backend test
|
||||||
# create faucet key
|
# create faucet key
|
||||||
printf "$password\n$faucet\n" | kvcli --home $kvcliHome keys add faucet --recover --home $kvcliHome
|
printf "$faucet\n" | kvcli --home $kvcliHome keys add faucet --recover --home $kvcliHome --keyring-backend test
|
||||||
|
|
||||||
# function used to show that it is still loading
|
# function used to show that it is still loading
|
||||||
showLoading() {
|
showLoading() {
|
||||||
mypid=$!
|
mypid=$!
|
||||||
@ -51,11 +51,11 @@ kvd --home $kvdHome init --chain-id=testing vlad # doesn't need to be the same a
|
|||||||
} > /dev/null 2>&1
|
} > /dev/null 2>&1
|
||||||
kvcli --home $kvcliHome config chain-id testing # or set trust-node true
|
kvcli --home $kvcliHome config chain-id testing # or set trust-node true
|
||||||
# add validator account to genesis
|
# add validator account to genesis
|
||||||
kvd --home $kvdHome add-genesis-account $(kvcli --home $kvcliHome keys show vlad -a) 10000000000000stake,1000000000000xrp,100000000000btc
|
kvd --home $kvdHome add-genesis-account $(kvcli keys show vlad -a --keyring-backend test --home $kvcliHome) 10000000000000stake,1000000000000xrp,100000000000btc
|
||||||
# add faucet account to genesis
|
# add faucet account to genesis
|
||||||
kvd --home $kvdHome add-genesis-account $(kvcli --home $kvcliHome keys show faucet -a) 10000000000000stake,1000000000000xrp,100000000000btc
|
kvd --home $kvdHome add-genesis-account $(kvcli keys show faucet -a --keyring-backend test --home $kvcliHome) 10000000000000stake,1000000000000xrp,100000000000btc
|
||||||
# Create a delegation tx for the validator and add to genesis
|
# Create a delegation tx for the validator and add to genesis
|
||||||
printf "$password\n" | kvd --home $kvdHome gentx --name vlad --home-client $kvcliHome
|
kvd --home $kvdHome gentx --name vlad --home-client $kvcliHome --keyring-backend test
|
||||||
{
|
{
|
||||||
kvd --home $kvdHome collect-gentxs
|
kvd --home $kvdHome collect-gentxs
|
||||||
} > /dev/null 2>&1
|
} > /dev/null 2>&1
|
||||||
@ -65,7 +65,7 @@ jq '.app_state.mint.params.blocks_per_year = "31540000"' $genesis > $genesis.tmp
|
|||||||
jq '.app_state.pricefeed.params.markets += [{"active": true, "base_asset": "xrp", "market_id": "xrp:usd", "oracles": ["kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"], "quote_asset": "usd"}, {"active": true, "base_asset": "btc", "market_id": "btc:usd", "oracles": ["kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"], "quote_asset": "usd"}]' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
jq '.app_state.pricefeed.params.markets += [{"active": true, "base_asset": "xrp", "market_id": "xrp:usd", "oracles": ["kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"], "quote_asset": "usd"}, {"active": true, "base_asset": "btc", "market_id": "btc:usd", "oracles": ["kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"], "quote_asset": "usd"}]' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
||||||
jq '.app_state.pricefeed.posted_prices += [{"expiry": "2050-01-01T00:00:00Z", "market_id": "btc:usd", "oracle_address": "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c", "price": "8700.0"}, {"expiry": "2050-01-01T00:00:00Z", "market_id": "xrp:usd", "oracle_address": "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c", "price": "0.25"}]' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
jq '.app_state.pricefeed.posted_prices += [{"expiry": "2050-01-01T00:00:00Z", "market_id": "btc:usd", "oracle_address": "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c", "price": "8700.0"}, {"expiry": "2050-01-01T00:00:00Z", "market_id": "xrp:usd", "oracle_address": "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c", "price": "0.25"}]' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
||||||
# now update cdp params
|
# now update cdp params
|
||||||
jq '.app_state.cdp.params = { "circuit_breaker": false, "collateral_params": [ { "auction_size": "10000000000", "conversion_factor": "8", "debt_limit": [ { "amount": "1000000000", "denom": "usdx" } ], "denom": "btc", "liquidation_penalty": "0.05", "liquidation_ratio": "1.5", "market_id": "btc:usd", "prefix": 0, "stability_fee": "1.0000000007829977" }, { "auction_size": "100000000", "conversion_factor": "6", "debt_limit": [ { "amount": "10000000", "denom": "usdx" } ], "denom": "xrp", "liquidation_penalty": "0.1", "liquidation_ratio": "2.0", "market_id": "xrp:usd", "prefix": 1, "stability_fee": "1.0000000007829977"} ], "debt_auction_threshold": "9000000", "debt_params": [ { "conversion_factor": "6", "debt_floor": "10000000", "debt_limit": [ { "amount": "2000000000000", "denom": "usdx" } ], "denom": "usdx", "reference_asset": "usd", "savings_rate": "0.95" } ], "global_debt_limit": [ { "amount": "2000000000000", "denom": "usdx" } ], "surplus_auction_threshold": "9000000", "savings_distribution_frequency": "120000000000" }' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
jq '.app_state.cdp.params = { "circuit_breaker": false, "collateral_params": [ { "auction_size": "10000000000", "conversion_factor": "8", "debt_limit": { "amount": "1000000000000", "denom": "usdx" }, "denom": "btc", "liquidation_penalty": "0.05", "liquidation_ratio": "1.5", "market_id": "btc:usd", "prefix": 0, "stability_fee": "1.0000000007829977" }, { "auction_size": "100000000", "conversion_factor": "6", "debt_limit": { "amount": "1000000000000", "denom": "usdx" }, "denom": "xrp", "liquidation_penalty": "0.1", "liquidation_ratio": "2.0", "market_id": "xrp:usd", "prefix": 1, "stability_fee": "1.0000000007829977"} ], "debt_auction_threshold": "10000000000", "debt_param": { "conversion_factor": "6", "debt_floor": "10000000", "denom": "usdx", "reference_asset": "usd", "savings_rate": "0.95" }, "global_debt_limit": { "amount": "2000000000000", "denom": "usdx" }, "surplus_auction_threshold": "10000000000", "savings_distribution_frequency": "43200000000000" }' $genesis > $genesis.tmp && mv $genesis.tmp $genesis
|
||||||
# start the blockchain in the background, wait until it starts making blocks
|
# start the blockchain in the background, wait until it starts making blocks
|
||||||
{
|
{
|
||||||
kvd start --home $kvdHome & kvdPid="$!"
|
kvd start --home $kvdHome & kvdPid="$!"
|
||||||
@ -83,7 +83,7 @@ printf "\n"
|
|||||||
rm -f rest_test/setuptest
|
rm -f rest_test/setuptest
|
||||||
go build rest_test/setup/setuptest.go & showLoading "Building go test file, please wait"
|
go build rest_test/setup/setuptest.go & showLoading "Building go test file, please wait"
|
||||||
# run the go code to send transactions to the chain and set it up correctly
|
# run the go code to send transactions to the chain and set it up correctly
|
||||||
./setuptest $kvcliHome & showLoading "Sending messages to blockchain"
|
./setuptest
|
||||||
printf "\n"
|
printf "\n"
|
||||||
printf "Blockchain setup completed"
|
printf "Blockchain setup completed"
|
||||||
printf "\n\n"
|
printf "\n\n"
|
||||||
|
@ -1,19 +1,18 @@
|
|||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bufio"
|
|
||||||
"bytes"
|
"bytes"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/client/keys"
|
|
||||||
"github.com/cosmos/cosmos-sdk/codec"
|
"github.com/cosmos/cosmos-sdk/codec"
|
||||||
crkeys "github.com/cosmos/cosmos-sdk/crypto/keys"
|
crkeys "github.com/cosmos/cosmos-sdk/crypto/keys"
|
||||||
sdk "github.com/cosmos/cosmos-sdk/types"
|
sdk "github.com/cosmos/cosmos-sdk/types"
|
||||||
sdkrest "github.com/cosmos/cosmos-sdk/types/rest"
|
sdkrest "github.com/cosmos/cosmos-sdk/types/rest"
|
||||||
|
"github.com/cosmos/cosmos-sdk/version"
|
||||||
"github.com/cosmos/cosmos-sdk/x/auth"
|
"github.com/cosmos/cosmos-sdk/x/auth"
|
||||||
authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest"
|
authrest "github.com/cosmos/cosmos-sdk/x/auth/client/rest"
|
||||||
authclient "github.com/cosmos/cosmos-sdk/x/auth/client/utils"
|
authclient "github.com/cosmos/cosmos-sdk/x/auth/client/utils"
|
||||||
@ -31,19 +30,19 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
|
version.Name = "kava"
|
||||||
config := sdk.GetConfig()
|
config := sdk.GetConfig()
|
||||||
app.SetBech32AddressPrefixes(config)
|
app.SetBech32AddressPrefixes(config)
|
||||||
app.SetBip44CoinType(config)
|
app.SetBip44CoinType(config)
|
||||||
config.Seal()
|
config.Seal()
|
||||||
|
keybase = getKeybase()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var (
|
||||||
|
keybase crkeys.Keybase
|
||||||
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
if len(os.Args) < 2 {
|
|
||||||
fmt.Printf("Please include the kvcli home directory as a command line argument\n")
|
|
||||||
fmt.Printf("For example: ./setuptest /tmp/kvcliHome\n")
|
|
||||||
fmt.Printf("Exiting...goodbye!\n")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// setup messages send to blockchain so it is in the correct state for testing
|
// setup messages send to blockchain so it is in the correct state for testing
|
||||||
sendProposal()
|
sendProposal()
|
||||||
@ -53,14 +52,6 @@ func main() {
|
|||||||
sendUndelegation()
|
sendUndelegation()
|
||||||
sendCoins()
|
sendCoins()
|
||||||
|
|
||||||
sendProposal()
|
|
||||||
sendDeposit()
|
|
||||||
sendVote()
|
|
||||||
sendDelegation()
|
|
||||||
sendUndelegation()
|
|
||||||
|
|
||||||
sendCoins()
|
|
||||||
|
|
||||||
// create an XRP cdp and send to blockchain
|
// create an XRP cdp and send to blockchain
|
||||||
sendXrpCdp()
|
sendXrpCdp()
|
||||||
|
|
||||||
@ -234,7 +225,7 @@ func sendDeposit() {
|
|||||||
|
|
||||||
// create a deposit transaction to send to the proposal
|
// create a deposit transaction to send to the proposal
|
||||||
amount := sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 10000000))
|
amount := sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 10000000))
|
||||||
deposit := gov.NewMsgDeposit(addr, 2, amount) // TODO IMPORTANT '2' must match 'x-example' in swagger.yaml
|
deposit := gov.NewMsgDeposit(addr, 1, amount) // Note: '1' must match 'x-example' in swagger.yaml
|
||||||
depositToSend := []sdk.Msg{deposit}
|
depositToSend := []sdk.Msg{deposit}
|
||||||
|
|
||||||
sendMsgToBlockchain(cdc, address, keyname, password, depositToSend, keybase)
|
sendMsgToBlockchain(cdc, address, keyname, password, depositToSend, keybase)
|
||||||
@ -261,7 +252,7 @@ func sendVote() {
|
|||||||
// NOW SEND THE VOTE
|
// NOW SEND THE VOTE
|
||||||
|
|
||||||
// create a vote on a proposal to send to the blockchain
|
// create a vote on a proposal to send to the blockchain
|
||||||
vote := gov.NewMsgVote(addr, uint64(2), types.OptionYes) // TODO IMPORTANT '2' must match 'x-example' in swagger.yaml
|
vote := gov.NewMsgVote(addr, uint64(1), types.OptionYes) // Note: '1' must match 'x-example' in swagger.yaml
|
||||||
|
|
||||||
// send a vote to the blockchain
|
// send a vote to the blockchain
|
||||||
voteToSend := []sdk.Msg{vote}
|
voteToSend := []sdk.Msg{vote}
|
||||||
@ -281,7 +272,7 @@ func sendCoins() {
|
|||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
addrTo, err := sdk.AccAddressFromBech32("kava1ls82zzghsx0exkpr52m8vht5jqs3un0ceysshz") // TODO IMPORTANT this is the faucet address
|
addrTo, err := sdk.AccAddressFromBech32("kava1ls82zzghsx0exkpr52m8vht5jqs3un0ceysshz") // Note: must match the faucet address
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@ -295,7 +286,7 @@ func sendCoins() {
|
|||||||
// create coins
|
// create coins
|
||||||
amount := sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 2000000))
|
amount := sdk.NewCoins(sdk.NewInt64Coin(sdk.DefaultBondDenom, 2000000))
|
||||||
|
|
||||||
coins := bank.NewMsgSend(addrFrom, addrTo, amount) // TODO IMPORTANT '2' must match 'x-example' in swagger.yaml
|
coins := bank.NewMsgSend(addrFrom, addrTo, amount) // Note: '1' must match 'x-example' in swagger.yaml
|
||||||
coinsToSend := []sdk.Msg{coins}
|
coinsToSend := []sdk.Msg{coins}
|
||||||
|
|
||||||
// NOW SEND THE COINS
|
// NOW SEND THE COINS
|
||||||
@ -306,14 +297,14 @@ func sendCoins() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getTestAddress() (address string) {
|
func getTestAddress() (address string) {
|
||||||
// the test address - TODO IMPORTANT make sure this lines up with startchain.sh
|
// the test address - Note: this must match with startchain.sh
|
||||||
address = "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"
|
address = "kava1ffv7nhd3z6sych2qpqkk03ec6hzkmufy0r2s4c"
|
||||||
return address
|
return address
|
||||||
}
|
}
|
||||||
|
|
||||||
func getKeynameAndPassword() (keyname string, password string) {
|
func getKeynameAndPassword() (keyname string, password string) {
|
||||||
keyname = "vlad" // TODO - IMPORTANT this must match the keys in the startchain.sh script
|
keyname = "vlad" // Note: this must match the keys in the startchain.sh script
|
||||||
password = "password" // TODO - IMPORTANT this must match the keys in the startchain.sh script
|
password = "" // Note: this must match the keys in the startchain.sh script
|
||||||
return keyname, password
|
return keyname, password
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -385,13 +376,22 @@ func sendUndelegation() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func getKeybase() crkeys.Keybase {
|
func getKeybase() crkeys.Keybase {
|
||||||
|
|
||||||
|
if keybase != nil {
|
||||||
|
return keybase
|
||||||
|
}
|
||||||
|
|
||||||
// create a keybase
|
// create a keybase
|
||||||
// IMPORTANT - TAKE THIS FROM COMMAND LINE PARAMETER and does NOT work with tilde i.e. ~/ does NOT work
|
// IMPORTANT - TAKE THIS FROM COMMAND LINE PARAMETER and does NOT work with tilde i.e. ~/ does NOT work
|
||||||
keybase, err := keys.NewKeyBaseFromDir(os.Args[1])
|
// myKeybase, err := keys.NewKeyBaseFromDir("/tmp/kvcliHome")
|
||||||
|
|
||||||
|
inBuf := strings.NewReader("")
|
||||||
|
keybase, err := crkeys.NewKeyring(sdk.KeyringServiceName(),
|
||||||
|
"test", "/tmp/kvcliHome", inBuf)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return keybase
|
return keybase
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -401,16 +401,17 @@ func sendMsgToBlockchain(cdc *codec.Codec, address string, keyname string,
|
|||||||
|
|
||||||
// get the account number and sequence number
|
// get the account number and sequence number
|
||||||
accountNumber, sequenceNumber := getAccountNumberAndSequenceNumber(cdc, address)
|
accountNumber, sequenceNumber := getAccountNumberAndSequenceNumber(cdc, address)
|
||||||
inBuf := bufio.NewReader(os.Stdin)
|
|
||||||
txBldr := auth.NewTxBuilderFromCLI(inBuf).
|
txBldr := auth.NewTxBuilder(
|
||||||
WithTxEncoder(authclient.GetTxEncoder(cdc)).WithChainID("testing").
|
authclient.GetTxEncoder(cdc), accountNumber, sequenceNumber, 500000, 0,
|
||||||
|
true, "testing", "memo", sdk.NewCoins(), sdk.NewDecCoins(),
|
||||||
|
).WithTxEncoder(authclient.GetTxEncoder(cdc)).WithChainID("testing").
|
||||||
WithKeybase(keybase).WithAccountNumber(accountNumber).
|
WithKeybase(keybase).WithAccountNumber(accountNumber).
|
||||||
WithSequence(sequenceNumber).WithGas(500000)
|
WithSequence(sequenceNumber).WithGas(500000)
|
||||||
|
|
||||||
// build and sign the transaction
|
// build and sign the transaction
|
||||||
// this is the *Amino* encoded version of the transaction
|
// this is the *Amino* encoded version of the transaction
|
||||||
// fmt.Printf("%+v", txBldr.Keybase())
|
txBytes, err := txBldr.BuildAndSign("vlad", "", msg)
|
||||||
txBytes, err := txBldr.BuildAndSign("vlad", "password", msg)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
@ -433,7 +434,9 @@ func sendMsgToBlockchain(cdc *codec.Codec, address string, keyname string,
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
// fmt.Println("post body: ", string(jsonBytes))
|
fmt.Println()
|
||||||
|
fmt.Println("post body: ", string(jsonBytes))
|
||||||
|
fmt.Println()
|
||||||
|
|
||||||
resp, err := http.Post("http://localhost:1317/txs", "application/json", bytes.NewBuffer(jsonBytes))
|
resp, err := http.Post("http://localhost:1317/txs", "application/json", bytes.NewBuffer(jsonBytes))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -237,7 +237,7 @@
|
|||||||
description: Tx hash
|
description: Tx hash
|
||||||
required: true
|
required: true
|
||||||
type: string
|
type: string
|
||||||
x-example: 4B2C3449FF2647BD51B54C32761FE4EBE7AE024BBE2A9898972A69BEB82D97C2
|
x-example: FFC8D0E5D52D330AD315E950E5C18A9D65FC640156B9A95B5AEF07DDAE32E61D
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx with the provided hash
|
description: Tx with the provided hash
|
||||||
@ -400,13 +400,9 @@
|
|||||||
owner:
|
owner:
|
||||||
$ref: '#/definitions/Address'
|
$ref: '#/definitions/Address'
|
||||||
collateral:
|
collateral:
|
||||||
type: array
|
$ref: '#/definitions/CoinCollateral'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinCollateral'
|
|
||||||
principal:
|
principal:
|
||||||
type: array
|
$ref: '#/definitions/CoinPrincipal'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinPrincipal'
|
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx was successfully generated
|
description: Tx was successfully generated
|
||||||
@ -450,9 +446,7 @@
|
|||||||
depositor:
|
depositor:
|
||||||
$ref: '#/definitions/Address'
|
$ref: '#/definitions/Address'
|
||||||
collateral:
|
collateral:
|
||||||
type: array
|
$ref: '#/definitions/CoinCollateral'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinCollateral'
|
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx was successfully generated
|
description: Tx was successfully generated
|
||||||
@ -496,9 +490,7 @@
|
|||||||
depositor:
|
depositor:
|
||||||
$ref: '#/definitions/Address'
|
$ref: '#/definitions/Address'
|
||||||
collateral:
|
collateral:
|
||||||
type: array
|
$ref: '#/definitions/CoinCollateral'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinCollateral'
|
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx was successfully generated
|
description: Tx was successfully generated
|
||||||
@ -540,9 +532,7 @@
|
|||||||
owner:
|
owner:
|
||||||
$ref: '#/definitions/Address'
|
$ref: '#/definitions/Address'
|
||||||
principal:
|
principal:
|
||||||
type: array
|
$ref: '#/definitions/CoinPrincipal'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinPrincipal'
|
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx was successfully generated
|
description: Tx was successfully generated
|
||||||
@ -584,9 +574,7 @@
|
|||||||
owner:
|
owner:
|
||||||
$ref: '#/definitions/Address'
|
$ref: '#/definitions/Address'
|
||||||
payment:
|
payment:
|
||||||
type: array
|
$ref: '#/definitions/CoinPrincipal'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinPrincipal'
|
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Tx was successfully generated
|
description: Tx was successfully generated
|
||||||
@ -725,7 +713,7 @@
|
|||||||
description: Server internal error
|
description: Server internal error
|
||||||
/cdp/cdps/cdp/deposits/{owner}/{denom}:
|
/cdp/cdps/cdp/deposits/{owner}/{denom}:
|
||||||
get:
|
get:
|
||||||
summary: Get the deposits associated with the cdp owned by the input owner address and with colalteral type equal to the input collateral denom
|
summary: Get the deposits associated with the cdp owned by the input owner address and with collateral type equal to the input collateral denom
|
||||||
tags:
|
tags:
|
||||||
- CDP
|
- CDP
|
||||||
produces:
|
produces:
|
||||||
@ -1888,7 +1876,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: OK
|
description: OK
|
||||||
@ -1911,7 +1899,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: OK
|
description: OK
|
||||||
@ -1934,7 +1922,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: OK
|
description: OK
|
||||||
@ -1966,7 +1954,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
- description: ''
|
- description: ''
|
||||||
name: post_deposit_body
|
name: post_deposit_body
|
||||||
in: body
|
in: body
|
||||||
@ -2007,7 +1995,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: "2"
|
x-example: "1"
|
||||||
- type: string
|
- type: string
|
||||||
description: Bech32 depositor address
|
description: Bech32 depositor address
|
||||||
name: depositor
|
name: depositor
|
||||||
@ -2039,7 +2027,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: OK
|
description: OK
|
||||||
@ -2071,7 +2059,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
- description: valid value of `"option"` field can be `"yes"`, `"no"`, `"no_with_veto"` and `"abstain"`
|
- description: valid value of `"option"` field can be `"yes"`, `"no"`, `"no_with_veto"` and `"abstain"`
|
||||||
name: post_vote_body
|
name: post_vote_body
|
||||||
in: body
|
in: body
|
||||||
@ -2111,7 +2099,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
- type: string
|
- type: string
|
||||||
description: Bech32 voter address
|
description: Bech32 voter address
|
||||||
name: voter
|
name: voter
|
||||||
@ -2143,7 +2131,7 @@
|
|||||||
name: proposalId
|
name: proposalId
|
||||||
required: true
|
required: true
|
||||||
in: path
|
in: path
|
||||||
x-example: '2'
|
x-example: '1'
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: OK
|
description: OK
|
||||||
@ -3098,9 +3086,7 @@
|
|||||||
type: string
|
type: string
|
||||||
example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
|
example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
|
||||||
amount:
|
amount:
|
||||||
type: array
|
$ref: '#/definitions/CoinCollateral'
|
||||||
items:
|
|
||||||
$ref: '#/definitions/CoinCollateral'
|
|
||||||
PricefeedParameters:
|
PricefeedParameters:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
Loading…
Reference in New Issue
Block a user