mirror of
				https://github.com/0glabs/0g-chain.git
				synced 2025-11-04 05:17:27 +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,12 +400,8 @@
 | 
				
			|||||||
                owner:
 | 
					                owner:
 | 
				
			||||||
                  $ref: '#/definitions/Address'
 | 
					                  $ref: '#/definitions/Address'
 | 
				
			||||||
                collateral:
 | 
					                collateral:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinCollateral'
 | 
					                  $ref: '#/definitions/CoinCollateral'
 | 
				
			||||||
                principal:
 | 
					                principal:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinPrincipal'
 | 
					                  $ref: '#/definitions/CoinPrincipal'
 | 
				
			||||||
        responses:
 | 
					        responses:
 | 
				
			||||||
          200:
 | 
					          200:
 | 
				
			||||||
@ -450,8 +446,6 @@
 | 
				
			|||||||
                depositor:
 | 
					                depositor:
 | 
				
			||||||
                  $ref: '#/definitions/Address'
 | 
					                  $ref: '#/definitions/Address'
 | 
				
			||||||
                collateral:
 | 
					                collateral:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinCollateral'
 | 
					                  $ref: '#/definitions/CoinCollateral'
 | 
				
			||||||
        responses:
 | 
					        responses:
 | 
				
			||||||
          200:
 | 
					          200:
 | 
				
			||||||
@ -496,8 +490,6 @@
 | 
				
			|||||||
                depositor:
 | 
					                depositor:
 | 
				
			||||||
                  $ref: '#/definitions/Address'
 | 
					                  $ref: '#/definitions/Address'
 | 
				
			||||||
                collateral:
 | 
					                collateral:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinCollateral'
 | 
					                  $ref: '#/definitions/CoinCollateral'
 | 
				
			||||||
        responses:
 | 
					        responses:
 | 
				
			||||||
          200:
 | 
					          200:
 | 
				
			||||||
@ -540,8 +532,6 @@
 | 
				
			|||||||
                owner:
 | 
					                owner:
 | 
				
			||||||
                  $ref: '#/definitions/Address'
 | 
					                  $ref: '#/definitions/Address'
 | 
				
			||||||
                principal:
 | 
					                principal:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinPrincipal'
 | 
					                  $ref: '#/definitions/CoinPrincipal'
 | 
				
			||||||
        responses:
 | 
					        responses:
 | 
				
			||||||
          200:
 | 
					          200:
 | 
				
			||||||
@ -584,8 +574,6 @@
 | 
				
			|||||||
                owner:
 | 
					                owner:
 | 
				
			||||||
                  $ref: '#/definitions/Address'
 | 
					                  $ref: '#/definitions/Address'
 | 
				
			||||||
                payment:
 | 
					                payment:
 | 
				
			||||||
                  type: array
 | 
					 | 
				
			||||||
                  items:
 | 
					 | 
				
			||||||
                  $ref: '#/definitions/CoinPrincipal'
 | 
					                  $ref: '#/definitions/CoinPrincipal'
 | 
				
			||||||
        responses:
 | 
					        responses:
 | 
				
			||||||
          200:
 | 
					          200:
 | 
				
			||||||
@ -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,8 +3086,6 @@
 | 
				
			|||||||
          type: string
 | 
					          type: string
 | 
				
			||||||
          example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
 | 
					          example: kava1q53rwutgpzx7szcrgzqguxyccjpzt9j4cyctn9
 | 
				
			||||||
        amount:
 | 
					        amount:
 | 
				
			||||||
          type: array
 | 
					 | 
				
			||||||
          items:
 | 
					 | 
				
			||||||
          $ref: '#/definitions/CoinCollateral'
 | 
					          $ref: '#/definitions/CoinCollateral'
 | 
				
			||||||
    PricefeedParameters:
 | 
					    PricefeedParameters:
 | 
				
			||||||
      type: object
 | 
					      type: object
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user