From c42a335415937f0737498716211893ec2f1fe91b Mon Sep 17 00:00:00 2001 From: Jedi2002 <72057696+Jedi2002@users.noreply.github.com> Date: Tue, 8 Dec 2020 23:42:23 -0500 Subject: [PATCH] Clp/remove sourcechain (#344) * upgrade mod * wip * Working local version of simapp * One working test. * more refactoring * wip * wip * some cleanup * Keep cdc private * moved bank handler to keeper.go * merged develop * fixed tests * added unit test for bank funtionality * constan for max Wbasis * refactored handlers * refactored handlers * refactored handlers * Script to duplicate bug 267 * Script to duplicate bug 267 * added supplykeeper * added supplykeeper * added supplykeeper * Added tests for clp supplykeeper * added test for module account * removed excessive comments * added api to query assets for lp * changed to types address * Feature/clp state export (#306) * State Export and Tests for CLP Co-authored-by: Jedi2002 * New Valdiations * New Validations * fixed minor problems * configured gov module * comment-clp * Added upgrade and governance modules * removed sourcechain and ticker * removed sourcechain and ticker * refactored tests * gosum * Generate genesis with the Gov module. * added new go sum * removed gov and upgrade modules * removed gov and upgrade modules * updated swagger docs * updated genesis Co-authored-by: utx0_ Co-authored-by: Kevin DeGraaf Co-authored-by: Jedi2002 Co-authored-by: intl-man Co-authored-by: utx0_ <90531+utx0@users.noreply.github.com> --- api/openapi/sifchain-openapi.yml | 235 +-------------------------- app/app.go | 23 ++- cmd/sifgen/main.go | 2 +- config.yml | 4 +- go.mod | 11 +- go.sum | 103 ++---------- scripts/bug267.sh | 11 +- scripts/clp-asset-List.sh | 4 +- scripts/clp.sh | 44 +++++ scripts/init.sh | 11 +- test/integration/peggy-clp-demo.sh | 16 +- tools/sifgen/common/common.go | 2 +- tools/sifgen/common/types/genesis.go | 5 +- x/clp/alias.go | 17 +- x/clp/client/cli/flags.go | 50 ++---- x/clp/client/cli/tx.go | 49 ++---- x/clp/client/cli/tx_test.go | 60 ++----- x/clp/client/rest/query.go | 4 +- x/clp/handler.go | 35 ++-- x/clp/handler_test.go | 86 +++++----- x/clp/keeper/executors.go | 18 +- x/clp/keeper/keeper_test.go | 34 ++-- x/clp/keeper/liquidityprovider.go | 12 +- x/clp/keeper/pool.go | 14 +- x/clp/keeper/querier.go | 4 +- x/clp/keeper/querier_test.go | 10 +- x/clp/test/test_common.go | 6 +- x/clp/types/asset.go | 31 +--- x/clp/types/events.go | 2 +- x/clp/types/keys.go | 12 +- x/clp/types/msgs.go | 10 +- x/clp/types/msgs_test.go | 32 ++-- x/clp/types/querier.go | 12 +- 33 files changed, 322 insertions(+), 647 deletions(-) create mode 100755 scripts/clp.sh diff --git a/api/openapi/sifchain-openapi.yml b/api/openapi/sifchain-openapi.yml index 0fa0c1d8fa..dc2e945748 100644 --- a/api/openapi/sifchain-openapi.yml +++ b/api/openapi/sifchain-openapi.yml @@ -36,11 +36,7 @@ paths: type: object properties: symbol: - type: string - ticker: - type: string - source_chain: - type: string + type: stringg external_asset_balance: type: string native_asset_balance: @@ -51,41 +47,11 @@ paths: type: string height: type: string -# examples: -# '0': -# value: |- -# { -# "height": "415", -# "result": [ -# { -# "external_asset": { -# "source_chain": "ROWAN", -# "symbol": "EOSROWAN", -# "ticker": "EOS" -# }, -# "native_asset_balance": "1", -# "external_asset_balance": "1000", -# "pool_units": "500", -# "pool_address": "EOS_ROWAN" -# }, -# { -# "external_asset": { -# "source_chain": "ROWAN", -# "symbol": "BTCROWAN", -# "ticker": "ETH" -# }, -# "native_asset_balance": "1", -# "external_asset_balance": "1000", -# "pool_units": "500", -# "pool_address": "ETH_ROWAN" -# } -# ] -# } /clp/getLiquidityProvider: get: description: Get Liqudity provider details parameters: - - name: ticker + - name: symbol in: query schema: type: string @@ -115,34 +81,13 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string height: type: string -# examples: -# '0': -# value: |- -# { -# "height": "451", -# "result": { -# "asset": { -# "source_chain": "Ethereum", -# "symbol": "ETH", -# "ticker": "ceth" -# }, -# "liquidity_provider_units": "500", -# "liquidity_provider_address": "sif18agvfsynv8phnxxvs75t2te0286eu8t6msgc0r" -# } -# } - - /clp/getPool: get: description: Get Pool details parameters: - - name: ticker + - name: symbol in: query schema: type: string @@ -163,10 +108,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string external_asset_balance: type: string native_asset_balance: @@ -177,24 +118,6 @@ paths: type: string height: type: string -# examples: -# '0': -# value: |- -# { -# "height": "422", -# "result": { -# "external_asset": { -# "source_chain": "Ethereum", -# "symbol": "ETH", -# "ticker": "ceth" -# }, -# "native_asset_balance": "1000", -# "external_asset_balance": "1000", -# "pool_units": "500", -# "pool_address": "sif1vdjxzumgtae8wmstpv9skzctpv9skzct72zwra" -# } -# } - /clp/decommissionPool: post: description: Decommision Pool @@ -204,7 +127,7 @@ paths: schema: type: object properties: - ticker: + symbol: type: string base_req: type: object @@ -215,18 +138,6 @@ paths: type: string signer: type: string -# examples: -# '0': -# value: |+ -# { -# "base_req": { -# "from": "sif1a2nxtdc4tx292y0kqu94a7gqqnusy43j2t80l5", -# "chain_id": "sifnode" -# }, -# "signer": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "ticker" :"ceth" -# } - responses: '200': description: Decommision Response @@ -250,7 +161,7 @@ paths: value: type: object properties: - ticker: + symbol: type: string signer: type: string @@ -266,11 +177,6 @@ paths: memo: type: string signatures: {} -# examples: -# '0': -# value: >- -# {"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"clp/DecommissionPool","value":{"signer":"sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss","ticker":"cdash"}}],"fee":{"amount":[],"gas":"200000"},"signatures":null,"memo":""}} - /clp/removeLiquidity: post: description: Remove Liquidity from pool @@ -285,10 +191,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string w_basis_points: type: string base_req: @@ -302,23 +204,6 @@ paths: type: string signer: type: string -# examples: -# '0': -# value: |- -# { -# "base_req": { -# "from": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "chain_id": "sifnode" -# }, -# "signer": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "external_asset": { -# "source_chain" : "Ethereum", -# "symbol" : "ETH", -# "ticker" :"ceth" -# }, -# "w_basis_points": "1000", -# "asymmetry": "10" - } responses: '200': description: Remove Liquidity Response @@ -351,10 +236,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string WBasisPoints: type: string fee: @@ -369,10 +250,6 @@ paths: memo: type: string signatures: {} -# examples: -# '0': -# value: >- -# {"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"clp/RemoveLiquidity","value":{"Signer":"sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss","ExternalAsset":{"source_chain":"Ethereum","symbol":"ETH","ticker":"ceth"},"WBasisPoints":"1000","Asymmetry":"10"}}],"fee":{"amount":[],"gas":"200000"},"signatures":null,"memo":""}} /clp/addLiquidity: post: description: Add Liquidity to Pool @@ -387,11 +264,7 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string - external_asset_amount: + external_asset_amount: type: string native_asset_amount: type: string @@ -404,23 +277,6 @@ paths: type: string signer: type: string -# examples: -# '0': -# value: |- -# { -# "base_req": { -# "from": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "chain_id": "sifnode" -# }, -# "signer": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "external_asset": { -# "source_chain" : "Ethereum", -# "symbol" : "ETH", -# "ticker" :"ceth" -# }, -# "native_asset_amount": "1000", -# "external_asset_amount": "10" -# } responses: '200': description: Add Liquidity Response @@ -451,10 +307,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string NativeAssetAmount: type: string ExternalAssetAmount: @@ -471,10 +323,6 @@ paths: memo: type: string signatures: {} -# examples: -# '0': -# value: >- -# {"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"clp/AddLiquidity","value":{"Signer":"sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss","ExternalAsset":{"source_chain":"Ethereum","symbol":"ETH","ticker":"ceth"},"NativeAssetAmount":"1000","ExternalAssetAmount":"10"}}],"fee":{"amount":[],"gas":"200000"},"signatures":null,"memo":""}} /clp/swap: post: description: Swap tokens @@ -489,10 +337,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string base_req: type: object properties: @@ -505,35 +349,10 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string signer: type: string sent_amount: type: string -# examples: -# '0': -# value: |- -# { -# "base_req": { -# "from": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "chain_id": "sifnode" -# }, -# "signer": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "sent_asset": { -# "source_chain" : "Ethereum", -# "symbol" : "ETH", -# "ticker" :"ceth" -# }, -# "received_asset": { -# "source_chain" : "Dash", -# "symbol" : "DASH", -# "ticker" :"cdash" -# }, -# "sent_amount": "10" -# } responses: '200': description: Swap Tokens response @@ -566,19 +385,11 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string SentAsset: type: object properties: symbol: type: string - ticker: - type: string - source_chain: - type: string fee: type: object properties: @@ -591,11 +402,6 @@ paths: memo: type: string signatures: {} -# examples: -# '0': -# value: >- -# {"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"clp/Swap","value":{"Signer":"sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss","SentAsset":{"source_chain":"Ethereum","symbol":"ETH","ticker":"eth"},"ReceivedAsset":{"source_chain":"Dash","symbol":"Dash","ticker":"cdash"},"SentAmount":"10"}}],"fee":{"amount":[],"gas":"200000"},"signatures":null,"memo":""}} - /clp/createPool: post: description: Create new pool @@ -610,10 +416,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string external_asset_amount: type: string native_asset_amount: @@ -627,23 +429,6 @@ paths: type: string signer: type: string -# examples: -# '0': -# value: |- -# { -# "base_req": { -# "from": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "chain_id": "sifnode" -# }, -# "signer": "sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss", -# "external_asset": { -# "source_chain" : "Ethereum", -# "symbol" : "ETH", -# "ticker" :"ceth" -# }, -# "native_asset_amount": "1000", -# "external_asset_amount": "10" -# } responses: '200': description: Create Pool Response @@ -674,10 +459,6 @@ paths: properties: symbol: type: string - ticker: - type: string - source_chain: - type: string NativeAssetAmount: type: string ExternalAssetAmount: @@ -694,7 +475,3 @@ paths: memo: type: string signatures: {} -# examples: -# '0': -# value: >- -# {"type":"cosmos-sdk/StdTx","value":{"msg":[{"type":"clp/CreatePool","value":{"Signer":"sif1rd4mfxn48xlks7p7kjgftwtt6hdwj30pedz8ss","ExternalAsset":{"source_chain":"Ethereum","symbol":"ETH","ticker":"ceth"},"NativeAssetAmount":"1000","ExternalAssetAmount":"10"}}],"fee":{"amount":[],"gas":"200000"},"signatures":null,"memo":""}} diff --git a/app/app.go b/app/app.go index d7d154ffab..50a144dc3f 100644 --- a/app/app.go +++ b/app/app.go @@ -4,12 +4,12 @@ import ( "encoding/json" "github.com/Sifchain/sifnode/x/clp" "github.com/cosmos/cosmos-sdk/x/auth/vesting" + tmos "github.com/tendermint/tendermint/libs/os" "io" "os" abci "github.com/tendermint/tendermint/abci/types" "github.com/tendermint/tendermint/libs/log" - tmos "github.com/tendermint/tendermint/libs/os" dbm "github.com/tendermint/tm-db" bam "github.com/cosmos/cosmos-sdk/baseapp" @@ -46,7 +46,6 @@ var ( ethbridge.AppModuleBasic{}, ) - // Module accounts which will be passed to the supply keeper when it is initialized maccPerms = map[string][]string{ auth.FeeCollectorName: nil, staking.BondedPoolName: {supply.Burner, supply.Staking}, @@ -87,9 +86,8 @@ type NewApp struct { // Peggy keepers EthBridgeKeeper ethbridge.Keeper OracleKeeper oracle.Keeper - - clpKeeper clp.Keeper - mm *module.Manager + clpKeeper clp.Keeper + mm *module.Manager sm *module.SimulationManager } @@ -100,6 +98,7 @@ func NewInitApp( logger log.Logger, db dbm.DB, traceStore io.Writer, loadLatest bool, invCheckPeriod uint, baseAppOptions ...func(*bam.BaseApp), ) *NewApp { + cdc := MakeCodec() bApp := bam.NewBaseApp(appName, logger, db, auth.DefaultTxDecoder(cdc), baseAppOptions...) @@ -155,14 +154,14 @@ func NewInitApp( maccPerms, ) - stakingKeeper := staking.NewKeeper( + app.StakingKeeper = staking.NewKeeper( app.cdc, keys[staking.StoreKey], app.SupplyKeeper, app.subspaces[staking.ModuleName], ) - app.StakingKeeper = *stakingKeeper.SetHooks( + app.StakingKeeper = *app.StakingKeeper.SetHooks( staking.NewMultiStakingHooks(), ) @@ -197,7 +196,15 @@ func NewInitApp( clp.NewAppModule(app.clpKeeper, app.bankKeeper, app.SupplyKeeper), ) - app.mm.SetOrderEndBlockers(staking.ModuleName) + // there is nothing left over in the validator fee pool, so as to keep the + // CanWithdrawInvariant invariant. + app.mm.SetOrderBeginBlockers( + staking.ModuleName, + ) + + app.mm.SetOrderEndBlockers( + staking.ModuleName, + ) app.mm.SetOrderInitGenesis( staking.ModuleName, diff --git a/cmd/sifgen/main.go b/cmd/sifgen/main.go index 1f563c526b..da3dae1201 100644 --- a/cmd/sifgen/main.go +++ b/cmd/sifgen/main.go @@ -69,7 +69,7 @@ func nodeCreateCmd() *cobra.Command { Args: cobra.MinimumNArgs(4), Run: func(cmd *cobra.Command, args []string) { if len(args) == 4 { - sifgen.NewSifgen(&args[0]).NodeCreate(args[1], args[2], args[3],nil, nil) + sifgen.NewSifgen(&args[0]).NodeCreate(args[1], args[2], args[3], nil, nil) } else { sifgen.NewSifgen(&args[0]).NodeCreate(args[1], args[2], args[3], &args[4], &args[5]) } diff --git a/config.yml b/config.yml index 15d1236093..2d8139321e 100644 --- a/config.yml +++ b/config.yml @@ -1,9 +1,9 @@ version: 1 accounts: - name: user1 - coins: ["1000token", "100000000stake" ,"1000000000rwn" ,"1000000000cdash" ,"1000000000ceth"] + coins: ["1000token", "10000000000stake" ,"1000000000rowan" ,"1000000000cdash" ,"1000000000ceth" ] - name: user2 - coins: ["1000token", "100000000stake" ,"1000000000rwn" ,"1000000000cdash","1000000000ceth"] + coins: ["1000token", "100000000stake" ,"1000000000rowan" ,"1000000000cdash","1000000000ceth"] validator: name: user1 staked: "100000000stake" diff --git a/go.mod b/go.mod index eef28e9ead..c5ce9f16e7 100644 --- a/go.mod +++ b/go.mod @@ -7,7 +7,6 @@ require ( github.com/MakeNowJust/heredoc v1.0.0 github.com/allegro/bigcache v1.2.1 // indirect github.com/aristanetworks/goarista v0.0.0-20201012165903-2cb20defcd66 // indirect - github.com/belitre/gotpl v0.0.0-20200305160433-cfded0e75742 // indirect github.com/btcsuite/btcd v0.21.0-beta // indirect github.com/cespare/cp v1.1.1 // indirect github.com/cosmos/cosmos-sdk v0.39.1 @@ -20,7 +19,7 @@ require ( github.com/golang/protobuf v1.4.3 // indirect github.com/google/go-cmp v0.5.2 // indirect github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa // indirect - github.com/google/uuid v1.1.2 // indirect + github.com/google/uuid v1.1.1 // indirect github.com/gorilla/mux v1.8.0 github.com/huin/goupnp v1.0.0 // indirect github.com/jackpal/go-nat-pmp v1.0.2 // indirect @@ -29,6 +28,7 @@ require ( github.com/kr/text v0.2.0 // indirect github.com/magiconair/properties v1.8.3 // indirect github.com/mattn/go-colorable v0.1.7 // indirect + github.com/mattn/go-runewidth v0.0.4 // indirect github.com/miguelmota/go-solidity-sha3 v0.1.0 github.com/mitchellh/mapstructure v1.3.3 // indirect github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e // indirect @@ -50,13 +50,16 @@ require ( github.com/stretchr/testify v1.6.1 github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca // indirect github.com/tendermint/go-amino v0.16.0 - github.com/tendermint/tendermint v0.33.8 + github.com/tendermint/tendermint v0.33.9 github.com/tendermint/tm-db v0.5.1 github.com/tyler-smith/go-bip39 v1.0.2 github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208 // indirect github.com/yelinaung/go-haikunator v0.0.0-20150320004105-1249cae259af golang.org/x/crypto v0.0.0-20201016220609-9e8e0b390897 // indirect - google.golang.org/protobuf v1.25.0 // indirect + golang.org/x/net v0.0.0-20201110031124-69a78807bb2b // indirect + golang.org/x/sys v0.0.0-20201126233918-771906719818 // indirect + golang.org/x/text v0.3.4 // indirect + google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 // indirect gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f gopkg.in/ini.v1 v1.61.0 // indirect gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce // indirect diff --git a/go.sum b/go.sum index 4d6feb3667..5d62a637b8 100644 --- a/go.sum +++ b/go.sum @@ -22,18 +22,7 @@ github.com/ChainSafe/go-schnorrkel v0.0.0-20200405005733-88cbf1b4c40d/go.mod h1: github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= -github.com/Masterminds/goutils v1.1.0 h1:zukEsf/1JZwCMgHiK3GZftabmxiCw4apj3a28RPBiVg= -github.com/Masterminds/goutils v1.1.0/go.mod h1:8cTjp+g8YejhMuvIA5y2vz3BpJxksy863GQaJW2MFNU= -github.com/Masterminds/semver v1.5.0 h1:H65muMkzWKEuNDnfl9d70GUjFniHKHRbFPGBuZ3QEww= -github.com/Masterminds/semver v1.5.0/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/semver/v3 v3.0.3 h1:znjIyLfpXEDQjOIEWh+ehwpTU14UzUPub3c3sm36u14= -github.com/Masterminds/semver/v3 v3.0.3/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/Masterminds/sprig/v3 v3.0.2 h1:wz22D0CiSctrliXiI9ZO3HoNApweeRGftyDN+BQa3B8= -github.com/Masterminds/sprig/v3 v3.0.2/go.mod h1:oesJ8kPONMONaZgtiHNzUShJbksypC5kWczhZAf6+aU= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/sarama v1.26.1/go.mod h1:NbSGBSSndYaIhRcBtY9V0U7AyH+x71bG668AuWys/yU= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= @@ -66,8 +55,6 @@ github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= github.com/bartekn/go-bip39 v0.0.0-20171116152956-a05967ea095d h1:1aAija9gr0Hyv4KfQcRcwlmFIrhkDmIj2dz5bkg/s/8= github.com/bartekn/go-bip39 v0.0.0-20171116152956-a05967ea095d/go.mod h1:icNx/6QdFblhsEjZehARqbNumymUT/ydwlLojFdv7Sk= -github.com/belitre/gotpl v0.0.0-20200305160433-cfded0e75742 h1:bb7bkrZrsH/K1bk3z2ME2M2uw2+752C85sdeu3h5lC8= -github.com/belitre/gotpl v0.0.0-20200305160433-cfded0e75742/go.mod h1:JIXdVOgWvF0GCAFvqKrt3Z/CuRaygQa6tIxPJuS/J/U= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -109,7 +96,6 @@ github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= @@ -124,16 +110,12 @@ github.com/cosmos/ledger-cosmos-go v0.11.1 h1:9JIYsGnXP613pb2vPjFeMMjBI5lEDsEaF6 github.com/cosmos/ledger-cosmos-go v0.11.1/go.mod h1:J8//BsAGTo3OC/vDLjMRFLW6q0WAaXvHnVc7ZmE8iUY= github.com/cosmos/ledger-go v0.9.2 h1:Nnao/dLwaVTk1Q5U9THldpUMMXU94BOTWPddSmVB6pI= github.com/cosmos/ledger-go v0.9.2/go.mod h1:oZJ2hHAZROdlHiwTg4t7kP+GKIIkBT+o6c9QWFanOyI= -github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyphar/filepath-securejoin v0.2.2 h1:jCwT2GTP+PY5nBz3c/YL5PAIbusElVrPujOBSCj8xRg= -github.com/cyphar/filepath-securejoin v0.2.2/go.mod h1:FpkQEhXnPnOthhzymB7CGsFk2G9VLXONKD9G7QGMM+4= github.com/danieljoos/wincred v1.0.2 h1:zf4bhty2iLuwgjgpraD2E9UbvO+fe54XXGJbOwe23fU= github.com/danieljoos/wincred v1.0.2/go.mod h1:SnuYRW9lp1oJrZX/dXJqr0cPK5gYXqx3EJbmjhLdK9U= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= @@ -143,7 +125,6 @@ github.com/deckarep/golang-set v1.7.1/go.mod h1:93vsz/8Wt4joVM7c2AVqh+YRMiUSc14y github.com/decred/dcrd/lru v1.0.0/go.mod h1:mxKOwFd7lFjN2GZYsiz/ecgqR6kkYAl+0pz0tEMk218= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dvsekhvalnov/jose2go v0.0.0-20180829124132-7f401d37b68a h1:mq+R6XEM6lJX5VlLyZIrUSP8tSuJp82xTK89hvBwJbU= github.com/dvsekhvalnov/jose2go v0.0.0-20180829124132-7f401d37b68a/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= @@ -155,8 +136,6 @@ github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= github.com/elastic/gosigar v0.11.0 h1:L8Stala75cAVQo+HLJebmtaOr1032y357R0CjbKSrZc= github.com/elastic/gosigar v0.11.0/go.mod h1:cdorVVzy1fhmEqmtgqkoE3bYtCfSCkVyjTyCIo22xvs= -github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -165,7 +144,6 @@ github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7 github.com/ethereum/go-ethereum v1.8.20/go.mod h1:PwpWDrCLZrV+tfrhqqF6kPknbISMHaJv9Ln3kPCZLwY= github.com/ethereum/go-ethereum v1.9.6 h1:EacwxMGKZezZi+m3in0Tlyk0veDQgnfZ9BjQqHAaQLM= github.com/ethereum/go-ethereum v1.9.6/go.mod h1:PwpWDrCLZrV+tfrhqqF6kPknbISMHaJv9Ln3kPCZLwY= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51 h1:0JZ+dUmQeA8IIVUMzysrX4/AKuQwWhV2dYQuPZdvdSQ= github.com/facebookgo/ensure v0.0.0-20160127193407-b4ab57deab51/go.mod h1:Yg+htXGokKKdzcwhuNDwVvN+uBxDGXJ7G/VN1d8fa64= github.com/facebookgo/stack v0.0.0-20160209184415-751773369052 h1:JWuenKqqX8nojtoVVWjGfOF9635RETekkoH6Cc9SX0A= @@ -186,7 +164,6 @@ github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4 github.com/garyburd/redigo v1.6.0/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY= github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08 h1:f6D9Hr8xV8uYKlyuj8XIruxlh9WjVjdh1gIicAS7ays= github.com/gballet/go-libpcsclite v0.0.0-20191108122812-4678299bea08/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= @@ -198,23 +175,15 @@ github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9 github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0 h1:TrB8swr/68K7m9CcGut2g3UOihhbcbiMAYiuTXdEih4= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gobwas/glob v0.2.3 h1:A4xDbljILXROh+kObIiy5kIaPYD8e96x1tgBhUI5J+Y= -github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 h1:ZpnhV/YsD2/4cESfV5+Hoeu/iUR3ruzNvZ+yQfO03a0= github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2/go.mod h1:bBOAhwG1umN6/6ZUMtDFBMQR8jRg9O75tm9K00oMsK4= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= @@ -227,7 +196,6 @@ github.com/golang/mock v1.3.1-0.20190508161146-9fa652df1129/go.mod h1:sBzyDLLjw3 github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= github.com/golang/mock v1.4.3 h1:GV+pQPG/EUUbkh47niozDcADz6go/dUwhVzdUQHIVRw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -252,10 +220,8 @@ github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5a github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa h1:Q75Upo5UN4JbPFURXZ8nLKYUvF85dyFRop/vQ0Rv+64= @@ -265,12 +231,10 @@ github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OI github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -325,16 +289,10 @@ github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0m github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.2.0/go.mod h1:DvyZB1rfVYsBIigL8HwpZgxHwXozlTgGqn63UyNX5k4= -github.com/huandu/xstrings v1.3.0 h1:gvV6jG9dTgFEncxo+AF7PH6MZXi/vZl25owA/8Dg8Wo= -github.com/huandu/xstrings v1.3.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= github.com/huin/goupnp v1.0.0 h1:wg75sLpL6DZqwHQN6E1Cfk6mtfzS45z8OV+ic+DtHRo= github.com/huin/goupnp v1.0.0/go.mod h1:n9v9KO1tAxYH82qOn+UTIFQDmx5n1Zxd/ClZDMX7Bnc= github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= -github.com/imdario/mergo v0.3.7/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.8 h1:CGgOkSJeqMRmt0D9XLWExdT4m4F1vd3FV3VPt+0VxkQ= -github.com/imdario/mergo v0.3.8/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0 h1:Z8tu5sraLXCXIcARxBp/8cbvlwVa7Z1NHg9XEKhtSvM= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= @@ -350,7 +308,6 @@ github.com/joho/godotenv v1.3.0 h1:Zjp+RcGpHhGlrMbJzXTrZZPrWj+1vfm90La1wgB6Bhc= github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= @@ -390,7 +347,6 @@ github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czP github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.3 h1:kJSsc6EXkBLgr3SphHk9w5mtjn0bjlR4JYEXKrJ45rQ= github.com/magiconair/properties v1.8.3/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -400,6 +356,8 @@ github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHX github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-runewidth v0.0.2 h1:UnlwIPBGaTZfPQ6T1IGzPI0EkYAQmT9fAEJ/poFC63o= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.4 h1:2BvfKmzob6Bmd4YsL0zygOqfdFnK7GR4QL06Do4/p7Y= +github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= @@ -410,8 +368,6 @@ github.com/mimoo/StrobeGo v0.0.0-20181016162300-f8f6d4d2b643/go.mod h1:43+3pMjjK github.com/minio/highwayhash v1.0.0 h1:iMSDhgUILCr0TNm8LWlSjF8N0ZIj2qbO8WHp6Q/J2BA= github.com/minio/highwayhash v1.0.0/go.mod h1:xQboMTeM9nY9v/LlAOxFctujiv5+Aq2hR5dxBpaMbdc= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/copystructure v1.0.0 h1:Laisrj+bAB6b/yJwB5Bt3ITZhGJdqmxquMKeZ+mmkFQ= -github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -422,17 +378,11 @@ github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:F github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= -github.com/mitchellh/reflectwalk v1.0.1 h1:FVzMWA5RllMAKIdUSC8mdWo3XtwoecrH79BY70sEEpE= -github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= @@ -449,7 +399,6 @@ github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQ github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5 h1:58+kh9C6jJVXYjt8IE48G2eWl6BjwU5Gj0gqY84fy78= github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= @@ -457,7 +406,6 @@ github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108 github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo v1.14.2 h1:8mVmC9kjFFmA8H4pKMUhcblgifdkOIXPvbhN1T36q1M= github.com/onsi/ginkgo v1.14.2/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= @@ -476,10 +424,6 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/otiai10/copy v1.0.2 h1:DDNipYy6RkIkjMwy+AWzgKiNTyj2RUI9yEMeETEpVyc= -github.com/otiai10/copy v1.0.2/go.mod h1:c7RpqBkwMom4bYTSkLSym4VSJz/XtncWRAj/J4PEIMY= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0 h1:J7Q5mO4ysT1dv8hyrUGHb9+ooztCXu1D8MY8DZYsu3g= @@ -498,7 +442,6 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/profile v1.2.1/go.mod h1:hJw3o1OdXxsrSjjVksARp5W95eeEaEfptyVZyv6JUPA= github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= @@ -545,7 +488,6 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= @@ -572,19 +514,16 @@ github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkU github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.1 h1:KfztREH0tPxJJ+geloSLaAkaPkr4ki2Er5quFV1TDo4= github.com/spf13/cobra v1.1.1/go.mod h1:WnodtKOvamDL/PwE2M4iKs8aMDBZ5Q5klgD3qfVJQMI= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.6.3/go.mod h1:jUMtyi0/lB5yZH/FjyGAoH7IMNrIhlBf6pXZmbMDvzw= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= @@ -604,7 +543,6 @@ github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+ github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.3.0 h1:NGXK3lHquSN08v5vWalVI/L8XU9hdzE/G6xsrze47As= github.com/stretchr/objx v0.3.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -632,8 +570,8 @@ github.com/tendermint/iavl v0.14.0 h1:Jkff+IFrXxRWtH9Jn/ga/2cxNnzMTv58xEKgCJsKUB github.com/tendermint/iavl v0.14.0/go.mod h1:QmfViflFiXzxKLQE4tAUuWQHq+RSuQFxablW5oJZ6sE= github.com/tendermint/tendermint v0.33.5/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM= github.com/tendermint/tendermint v0.33.7/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM= -github.com/tendermint/tendermint v0.33.8 h1:Xxu4QhpqcomSE0iQDw1MqLgfsa8fqtPtWFJK6zZOVso= -github.com/tendermint/tendermint v0.33.8/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM= +github.com/tendermint/tendermint v0.33.9 h1:rRKIfu5qAXX5f9bwX1oUXSZz/ALFJjDuivhkbGUQxiU= +github.com/tendermint/tendermint v0.33.9/go.mod h1:0yUs9eIuuDq07nQql9BmI30FtYGcEC60Tu5JzB5IezM= github.com/tendermint/tm-db v0.5.1 h1:H9HDq8UEA7Eeg13kdYckkgwwkQLBnJGgX4PgLJRhieY= github.com/tendermint/tm-db v0.5.1/go.mod h1:g92zWjHpCYlEvQXvy9M168Su8V1IBEeawpXVVBaK4f4= github.com/tjfoc/gmsm v1.3.0/go.mod h1:HaUcFuY0auTiaHB9MHFGCPx5IaLhTUd2atbCFBQXn9w= @@ -642,7 +580,6 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1 github.com/tyler-smith/go-bip39 v1.0.2 h1:+t3w+KwLXO6154GNJY+qUtIxLTmFjfUmpguQT1OlOT8= github.com/tyler-smith/go-bip39 v1.0.2/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= -github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= github.com/wsddn/go-ecdh v0.0.0-20161211032359-48726bab9208 h1:1cngl9mPEoITZG8s8cVcUy5CeIBYhEESkOB7m6Gmkrk= @@ -677,14 +614,12 @@ go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190103213133-ff983b9c42bc/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20191219195013-becbf705a915/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -716,7 +651,6 @@ golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCc golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180719180050-a680a1efc54d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -739,7 +673,6 @@ golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= @@ -747,6 +680,8 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0 h1:wBouT66WTYFXdxfVdz9sVWARVd/2vfGcmI45D2gj45M= golang.org/x/net v0.0.0-20201006153459-a7d1128ccaa0/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -756,7 +691,6 @@ golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -766,7 +700,6 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -792,13 +725,16 @@ golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/sys v0.0.0-20201126233918-771906719818 h1:f1CIuDlJhwANEC2MM87MBEVMr3jl5bifgsfj90XAF9c= +golang.org/x/sys v0.0.0-20201126233918-771906719818/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -806,7 +742,6 @@ golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= @@ -858,6 +793,8 @@ google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvx google.golang.org/genproto v0.0.0-20200218151345-dad8c97a84f5/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY= google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4 h1:Rt0FRalMgdSlXAVJvX4pr65KfqaxHXSLkSJRD9pw6g0= +google.golang.org/genproto v0.0.0-20201119123407-9b1e624d6bc4/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -883,8 +820,8 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.24.0 h1:UhZDfRO8JRQru4/+LlLE0BRKGF8L+PICnvYZmx/fEGA= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/bsm/ratelimit.v1 v1.0.0-20160220154919-db14e161995a/go.mod h1:KF9sEfUPAXdG8Oev9e99iLGnl2uJMjc5B+4y3O7x610= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -896,7 +833,6 @@ gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qS gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.61.0 h1:LBCdW4FmFYL4s/vDZD1RQYX7oAR6IjujCYgMdbHBR10= gopkg.in/ini.v1 v1.61.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= @@ -933,17 +869,8 @@ honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -k8s.io/apimachinery v0.17.1 h1:zUjS3szTxoUjTDYNvdFkYt2uMEXLcthcbp+7uZvWhYM= -k8s.io/apimachinery v0.17.1/go.mod h1:b9qmWdKlLuU9EBh+06BtLcSf/Mu89rWL33naRxs1uZg= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/helm v2.16.1+incompatible h1:L+k810plJlaGWEw1EszeT4deK8XVaKxac1oGcuB+WDc= -k8s.io/helm v2.16.1+incompatible/go.mod h1:LZzlS4LQBHfciFOurYBFkCMTaZ0D1l+p0teMg7TSULI= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sourcegraph.com/sourcegraph/appdash v0.0.0-20190731080439-ebfcffb1b5c0/go.mod h1:hI742Nqp5OhwiqlzhgfbWU4mW4yO10fP+LoT9WOswdU= diff --git a/scripts/bug267.sh b/scripts/bug267.sh index bfb9808fe8..5135c08993 100755 --- a/scripts/bug267.sh +++ b/scripts/bug267.sh @@ -1,6 +1,11 @@ #!/usr/bin/env bash +rm -rf ~/.sifnoded +rm -rf ~/.sifnodecli +rm -rf sifnode.log +rm -rf testlog.log + cd "$(dirname "$0")" ./init.sh @@ -8,9 +13,9 @@ sleep 8 sifnoded start >> sifnode.log 2>&1 & sleep 8 -yes Y | sifnodecli tx clp create-pool --from akasha --sourceChain ETH --symbol ETH --ticker catk --nativeAmount 1000000 --externalAmount 1000000 +yes Y | sifnodecli tx clp create-pool --from akasha --symbol catk --nativeAmount 1000 --externalAmount 1000 sleep 8 -yes Y | sifnodecli tx clp create-pool --from akasha --sourceChain ETH --symbol ETH --ticker cbtk --nativeAmount 1000000 --externalAmount 1000000 +yes Y | sifnodecli tx clp create-pool --from akasha --symbol cbtk --nativeAmount 1000 --externalAmount 1000 echo "Query specific pool" @@ -19,7 +24,7 @@ sifnodecli query clp pool catk echo "adding new liquidity provider" sleep 8 -yes Y | sifnodecli tx clp add-liquidity --from shadowfiend --sourceChain ETH --symbol ETH --ticker catk --nativeAmount 10000 --externalAmount 10000 +yes Y | sifnodecli tx clp add-liquidity --from shadowfiend --symbol catk --nativeAmount 10000 --externalAmount 10000 echo "Query 1st Liquidity Provider / Pool creator is the first lp for the pool" sleep 8 diff --git a/scripts/clp-asset-List.sh b/scripts/clp-asset-List.sh index baceeaf30b..666bcc8b5c 100755 --- a/scripts/clp-asset-List.sh +++ b/scripts/clp-asset-List.sh @@ -1,8 +1,8 @@ #!/usr/bin/env bash -yes Y | sifnodecli tx clp create-pool --from user1 --sourceChain ETHEREUM --symbol ETH --ticker ceth --nativeAmount 200 --externalAmount 200 +yes Y | sifnodecli tx clp create-pool --from user1 --symbol ceth --nativeAmount 200 --externalAmount 200 sleep 8 -yes Y | sifnodecli tx clp create-pool --from user1 --sourceChain DASH --symbol DASH --ticker cdash --nativeAmount 100 --externalAmount 100 +yes Y | sifnodecli tx clp create-pool --from user1 --symbol cdash --nativeAmount 100 --externalAmount 100 echo "Query all pools" sleep 8 diff --git a/scripts/clp.sh b/scripts/clp.sh new file mode 100755 index 0000000000..3c796d01af --- /dev/null +++ b/scripts/clp.sh @@ -0,0 +1,44 @@ +#!/usr/bin/env bash + +echo "Creating pools ceth and cdash" +sleep 8 +yes Y | sifnodecli tx clp create-pool --from user2 --symbol ceth --nativeAmount 200 --externalAmount 200 +sleep 8 +yes Y | sifnodecli tx clp create-pool --from user2 --symbol cdash --nativeAmount 100 --externalAmount 100 + +echo "Query all pools" +sleep 8 +sifnodecli query clp pools + +echo "Query specific pool" +sleep 8 +sifnodecli query clp pool ceth + +echo "Query Liquidity Provider / Pool creator is the first lp for the pool" +sleep 8 +sifnodecli query clp lp ceth $(sifnodecli keys show user2 -a) + +echo "adding more liquidity" +sleep 8 +yes Y | sifnodecli tx clp add-liquidity --from user2 --symbol ceth --nativeAmount 1 --externalAmount 1 + +echo "swap" +sleep 8 +yes Y | sifnodecli tx clp swap --from user2 --sentSymbol ceth --receivedSymbol cdash --sentAmount 20 + + +echo "removing Liquidity" +sleep 8 +yes Y | sifnodecli tx clp remove-liquidity --from user2 --symbol ceth --wBasis 5001 --asymmetry -1 + +echo "removing more Liquidity" +sleep 8 +yes Y | sifnodecli tx clp remove-liquidity --from user2 --symbol ceth --wBasis 5001 --asymmetry -1 + + + +echo "decommission pool" +sleep 8 +yes Y | sifnodecli tx clp decommission-pool --from user2 --symbol ceth + +echo "sifnodecli query clp pools -> should list both pools / Decommission can only be done by admin users" \ No newline at end of file diff --git a/scripts/init.sh b/scripts/init.sh index b476d2109c..16d77a66a4 100755 --- a/scripts/init.sh +++ b/scripts/init.sh @@ -1,6 +1,10 @@ #!/usr/bin/env bash rm -rf ~/.sifnoded rm -rf ~/.sifnodecli +rm -rf sifnode.log +rm -rf testlog.log + + sifnoded init test --chain-id=sifchain @@ -16,8 +20,9 @@ echo "race draft rival universe maid cheese steel logic crowd fork comic easy tr echo "Generating deterministic account - akasha" echo "hand inmate canvas head lunar naive increase recycle dog ecology inhale december wide bubble hockey dice worth gravity ketchup feed balance parent secret orchard" | sifnodecli keys add akasha --recover -sifnoded add-genesis-account $(sifnodecli keys show shadowfiend -a) 1000000000rwn,1000000000catk,1000000000cbtk,1000000000ceth,100000000stake -sifnoded add-genesis-account $(sifnodecli keys show akasha -a) 1000000000rwn,1000000000catk,1000000000cbtk,1000000000ceth,100000000stake + +sifnoded add-genesis-account $(sifnodecli keys show shadowfiend -a) 1000000000rowan,1000000000catk,1000000000cbtk,1000000000ceth,10000000000stake,1000000000cdash +sifnoded add-genesis-account $(sifnodecli keys show akasha -a) 1000000000rowan,1000000000catk,1000000000cbtk,1000000000ceth,100000000000stake,1000000000cdash sifnoded gentx --name shadowfiend --keyring-backend test @@ -25,4 +30,4 @@ echo "Collecting genesis txs..." sifnoded collect-gentxs echo "Validating genesis file..." -sifnoded validate-genesis \ No newline at end of file +sifnoded validate-genesis diff --git a/test/integration/peggy-clp-demo.sh b/test/integration/peggy-clp-demo.sh index 7a8e4e02dd..48295f00b5 100755 --- a/test/integration/peggy-clp-demo.sh +++ b/test/integration/peggy-clp-demo.sh @@ -54,9 +54,9 @@ sifnodecli q auth account $(sifnodecli keys show user2 -a) echo "Creating pools for peggyeth ( minted from Peggy) and cdash" sleep 8 -yes Y | sifnodecli tx clp create-pool --from user2 --sourceChain ETHEREUM --symbol ETH --ticker ceth --nativeAmount 200 --externalAmount 200 +yes Y | sifnodecli tx clp create-pool --from user2 --symbol ceth --nativeAmount 200 --externalAmount 200 sleep 8 -yes Y | sifnodecli tx clp create-pool --from user2 --sourceChain DASH --symbol DASH --ticker cdash --nativeAmount 100 --externalAmount 100 +yes Y | sifnodecli tx clp create-pool --from user2 --symbol cdash --nativeAmount 100 --externalAmount 100 echo "Query all pools" sleep 8 @@ -72,25 +72,25 @@ sifnodecli query clp lp ceth $(sifnodecli keys show user2 -a) echo "adding more liquidity" sleep 8 -yes Y | sifnodecli tx clp add-liquidity --from user2 --sourceChain ETHEREUM --symbol ETH --ticker ceth --nativeAmount 1 --externalAmount 1 +yes Y | sifnodecli tx clp add-liquidity --from user2 --symbol ceth --nativeAmount 1 --externalAmount 1 echo "swap" sleep 8 -yes Y | sifnodecli tx clp swap --from user2 --sentSourceChain ETHEREUM --sentSymbol ETH --sentTicker ceth --receivedSourceChain DASH --receivedSymbol DASH --receivedTicker cdash --sentAmount 20 +yes Y | sifnodecli tx clp swap --from user2 --sentSymbol ceth --receivedSymbol cdash --sentAmount 20 echo "removing Liquidity" sleep 8 -yes Y | sifnodecli tx clp remove-liquidity --from user2 --sourceChain ETHEREUM --symbol ETH --ticker ceth --wBasis 5001 --asymmetry -1 +yes Y | sifnodecli tx clp remove-liquidity --from user2 --symbol ceth --wBasis 5001 --asymmetry -1 echo "removing more Liquidity" sleep 8 -yes Y | sifnodecli tx clp remove-liquidity --from user2 --sourceChain ETHEREUM --symbol ETH --ticker ceth --wBasis 5001 --asymmetry -1 +yes Y | sifnodecli tx clp remove-liquidity --from user2 --symbol ceth --wBasis 5001 --asymmetry -1 echo "decommission pool" sleep 8 -yes Y | sifnodecli tx clp decommission-pool --from user2 --ticker ceth +yes Y | sifnodecli tx clp decommission-pool --from user2 --symbol ceth -echo "sifnodecli query clp pools -> should list only 1 pool cdash" \ No newline at end of file +echo "sifnodecli query clp pools -> should list both pools / Decommission can only be done by admin users" \ No newline at end of file diff --git a/tools/sifgen/common/common.go b/tools/sifgen/common/common.go index af35099f50..b2324d8040 100644 --- a/tools/sifgen/common/common.go +++ b/tools/sifgen/common/common.go @@ -18,7 +18,7 @@ var ( DefaultCLIHome = app.DefaultCLIHome StakeTokenDenom = types.StakeTokenDenom - P2PPort = 26656 + P2PPort = 26656 MaxNumInboundPeers = 1000 MaxNumOutboundPeers = 1000 AllowDuplicateIP = true diff --git a/tools/sifgen/common/types/genesis.go b/tools/sifgen/common/types/genesis.go index cee1d9d979..0beda72379 100644 --- a/tools/sifgen/common/types/genesis.go +++ b/tools/sifgen/common/types/genesis.go @@ -124,7 +124,10 @@ type CLPParams struct { } type CLP struct { - Params CLPParams `json:"params"` + Params CLPParams `json:"params"` + WhiteListValidatorAddress interface{} `json:"white_list_validator_address"` + PoolList interface{} `json:"pool_list"` + LiquidityProviderList interface{} `json:"liquidity_provider_list"` } type Supply struct { diff --git a/x/clp/alias.go b/x/clp/alias.go index 21517c3cb0..5dd851724f 100644 --- a/x/clp/alias.go +++ b/x/clp/alias.go @@ -12,36 +12,23 @@ const ( QuerierRoute = types.QuerierRoute DefaultParamspace = types.DefaultParamspace NativeSymbol = types.NativeSymbol - NativeChain = types.NativeChain - NativeTicker = types.NativeTicker MaxWbasis = types.MaxWbasis ) var ( - NewKeeper = keeper.NewKeeper - NewQuerier = keeper.NewQuerier - //CreatePool = keeper.CreatePool - //AddLiquidity = keeper.AddLiquidity - //RemoveLiquidityProvider = keeper.RemoveLiquidityProvider - //DestroyPool = keeper.DestroyPool - //CreateLiquidityProvider = keeper.CreateLiquidityProvider - //RemoveLiquidity = keeper.RemoveLiquidity - //FinalizeSwap = keeper.FinalizeSwap + NewKeeper = keeper.NewKeeper + NewQuerier = keeper.NewQuerier NewMsgSwap = types.NewMsgSwap NewMsgAddLiquidity = types.NewMsgAddLiquidity NewMsgRemoveLiquidity = types.NewMsgRemoveLiquidity NewMsgCreatePool = types.NewMsgCreatePool NewMsgDecommissionPool = types.NewMsgDecommissionPool - NewLiquidityProvider = types.NewLiquidityProvider NewAsset = types.NewAsset NewPool = types.NewPool RegisterCodec = types.RegisterCodec - NewGenesisState = types.NewGenesisState DefaultGenesisState = types.DefaultGenesisState - NewParams = types.NewParams ModuleCdc = types.ModuleCdc GetSettlementAsset = types.GetSettlementAsset - GetCLPModuleAddress = types.GetCLPModuleAddress ) type ( diff --git a/x/clp/client/cli/flags.go b/x/clp/client/cli/flags.go index b03b2e12db..c842c26a24 100644 --- a/x/clp/client/cli/flags.go +++ b/x/clp/client/cli/flags.go @@ -5,55 +5,37 @@ import ( ) const ( - FlagAssetSourceChain = "sourceChain" - FlagAssetSymbol = "symbol" - FlagAssetTicker = "ticker" - FlagSentAssetSourceChain = "sentSourceChain" - FlagSentAssetSymbol = "sentSymbol" - FlagSentAssetTicker = "sentTicker" - FlagReceivedAssetSourceChain = "receivedSourceChain" - FlagReceivedAssetSymbol = "receivedSymbol" - FlagReceivedAssetTicker = "receivedTicker" - FlagNativeAssetAmount = "nativeAmount" - FlagExternalAssetAmount = "externalAmount" - FlagWBasisPoints = "wBasis" - FlagAsymmetry = "asymmetry" - FlagAmount = "sentAmount" + FlagAssetSymbol = "symbol" + FlagSentAssetSymbol = "sentSymbol" + FlagReceivedAssetSymbol = "receivedSymbol" + FlagNativeAssetAmount = "nativeAmount" + FlagExternalAssetAmount = "externalAmount" + FlagWBasisPoints = "wBasis" + FlagAsymmetry = "asymmetry" + FlagAmount = "sentAmount" ) // common flagsets to add to various functions var ( - FsAssetSourceChain = flag.NewFlagSet("", flag.ContinueOnError) - FsAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) - FsAssetTicker = flag.NewFlagSet("", flag.ContinueOnError) - FsNativeAssetAmount = flag.NewFlagSet("", flag.ContinueOnError) - FsExternalAssetAmount = flag.NewFlagSet("", flag.ContinueOnError) - FsWBasisPoints = flag.NewFlagSet("", flag.ContinueOnError) - FsAsymmetry = flag.NewFlagSet("", flag.ContinueOnError) - FsSentAssetSourceChain = flag.NewFlagSet("", flag.ContinueOnError) - FsSentAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) - FsSentAssetTicker = flag.NewFlagSet("", flag.ContinueOnError) - FsReceivedAssetSourceChain = flag.NewFlagSet("", flag.ContinueOnError) - FsReceivedAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) - FsReceivedAssetTicker = flag.NewFlagSet("", flag.ContinueOnError) - FsAmount = flag.NewFlagSet("", flag.ContinueOnError) + FsAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) + FsNativeAssetAmount = flag.NewFlagSet("", flag.ContinueOnError) + FsExternalAssetAmount = flag.NewFlagSet("", flag.ContinueOnError) + FsWBasisPoints = flag.NewFlagSet("", flag.ContinueOnError) + FsAsymmetry = flag.NewFlagSet("", flag.ContinueOnError) + FsSentAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) + FsReceivedAssetSymbol = flag.NewFlagSet("", flag.ContinueOnError) + FsAmount = flag.NewFlagSet("", flag.ContinueOnError) ) func init() { - FsAssetSourceChain.String(FlagAssetSourceChain, "", "SoureChain for Asset") FsAssetSymbol.String(FlagAssetSymbol, "", "Symbol for Asset") - FsAssetTicker.String(FlagAssetTicker, "", "Ticker for Asset") FsNativeAssetAmount.String(FlagNativeAssetAmount, "", "Native Asset Amount") FsExternalAssetAmount.String(FlagExternalAssetAmount, "", "External Asset Amount") FsWBasisPoints.String(FlagWBasisPoints, "", "WBasis Points ") FsAsymmetry.String(FlagAsymmetry, "", "Asymmetry") - FsSentAssetSourceChain.String(FlagSentAssetSourceChain, "", "SoureChain for Sent Asset") FsSentAssetSymbol.String(FlagSentAssetSymbol, "", "Symbol for Sent Asset") - FsSentAssetTicker.String(FlagSentAssetTicker, "", "Ticker for Sent Asset") - FsReceivedAssetSourceChain.String(FlagReceivedAssetSourceChain, "", "SoureChain for Received Asset") FsReceivedAssetSymbol.String(FlagReceivedAssetSymbol, "", "Symbol for Received Asset") - FsReceivedAssetTicker.String(FlagReceivedAssetTicker, "", "Ticker for Received Asset") FsAmount.String(FlagAmount, "", "Sent amount") } diff --git a/x/clp/client/cli/tx.go b/x/clp/client/cli/tx.go index 5ccf7a5ccc..0f02cdacce 100644 --- a/x/clp/client/cli/tx.go +++ b/x/clp/client/cli/tx.go @@ -44,9 +44,7 @@ func GetCmdCreatePool(cdc *codec.Codec) *cobra.Command { inBuf := bufio.NewReader(cmd.InOrStdin()) txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(utils.GetTxEncoder(cdc)) cliCtx := context.NewCLIContextWithInput(inBuf).WithCodec(cdc) - asset := types.NewAsset(viper.GetString(FlagAssetSourceChain), - viper.GetString(FlagAssetSymbol), - viper.GetString(FlagAssetTicker)) + asset := types.NewAsset(viper.GetString(FlagAssetSymbol)) externalAmount := viper.GetString(FlagExternalAssetAmount) nativeAmount := viper.GetString(FlagNativeAssetAmount) signer := cliCtx.GetFromAddress() @@ -54,14 +52,10 @@ func GetCmdCreatePool(cdc *codec.Codec) *cobra.Command { return utils.GenerateOrBroadcastMsgs(cliCtx, txBldr, []sdk.Msg{msg}) }, } - cmd.Flags().AddFlagSet(FsAssetSourceChain) cmd.Flags().AddFlagSet(FsAssetSymbol) - cmd.Flags().AddFlagSet(FsAssetTicker) cmd.Flags().AddFlagSet(FsExternalAssetAmount) cmd.Flags().AddFlagSet(FsNativeAssetAmount) - cmd.MarkFlagRequired(FlagAssetSourceChain) cmd.MarkFlagRequired(FlagAssetSymbol) - cmd.MarkFlagRequired(FlagAssetTicker) cmd.MarkFlagRequired(FlagExternalAssetAmount) cmd.MarkFlagRequired(FlagNativeAssetAmount) @@ -76,14 +70,14 @@ func GetCmdDecommissionPool(cdc *codec.Codec) *cobra.Command { inBuf := bufio.NewReader(cmd.InOrStdin()) txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(utils.GetTxEncoder(cdc)) cliCtx := context.NewCLIContextWithInput(inBuf).WithCodec(cdc) - ticker := viper.GetString(FlagAssetTicker) + symbol := viper.GetString(FlagAssetSymbol) signer := cliCtx.GetFromAddress() - msg := types.NewMsgDecommissionPool(signer, ticker) + msg := types.NewMsgDecommissionPool(signer, symbol) return utils.GenerateOrBroadcastMsgs(cliCtx, txBldr, []sdk.Msg{msg}) }, } - cmd.Flags().AddFlagSet(FsAssetTicker) - cmd.MarkFlagRequired(FlagAssetTicker) + cmd.Flags().AddFlagSet(FsAssetSymbol) + cmd.MarkFlagRequired(FlagAssetSymbol) return cmd } @@ -96,9 +90,7 @@ func GetCmdAddLiquidity(cdc *codec.Codec) *cobra.Command { inBuf := bufio.NewReader(cmd.InOrStdin()) txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(utils.GetTxEncoder(cdc)) cliCtx := context.NewCLIContextWithInput(inBuf).WithCodec(cdc) - externalAsset := types.NewAsset(viper.GetString(FlagAssetSourceChain), - viper.GetString(FlagAssetSymbol), - viper.GetString(FlagAssetTicker)) + externalAsset := types.NewAsset(viper.GetString(FlagAssetSymbol)) externalAmount := viper.GetString(FlagExternalAssetAmount) nativeAmount := viper.GetString(FlagNativeAssetAmount) signer := cliCtx.GetFromAddress() @@ -107,14 +99,10 @@ func GetCmdAddLiquidity(cdc *codec.Codec) *cobra.Command { return utils.GenerateOrBroadcastMsgs(cliCtx, txBldr, []sdk.Msg{msg}) }, } - cmd.Flags().AddFlagSet(FsAssetSourceChain) cmd.Flags().AddFlagSet(FsAssetSymbol) - cmd.Flags().AddFlagSet(FsAssetTicker) cmd.Flags().AddFlagSet(FsExternalAssetAmount) cmd.Flags().AddFlagSet(FsNativeAssetAmount) - cmd.MarkFlagRequired(FlagAssetSourceChain) cmd.MarkFlagRequired(FlagAssetSymbol) - cmd.MarkFlagRequired(FlagAssetTicker) cmd.MarkFlagRequired(FlagExternalAssetAmount) cmd.MarkFlagRequired(FlagNativeAssetAmount) @@ -129,9 +117,7 @@ func GetCmdRemoveLiquidity(cdc *codec.Codec) *cobra.Command { inBuf := bufio.NewReader(cmd.InOrStdin()) txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(utils.GetTxEncoder(cdc)) cliCtx := context.NewCLIContextWithInput(inBuf).WithCodec(cdc) - externalAsset := types.NewAsset(viper.GetString(FlagAssetSourceChain), - viper.GetString(FlagAssetSymbol), - viper.GetString(FlagAssetTicker)) + externalAsset := types.NewAsset(viper.GetString(FlagAssetSymbol)) wb := viper.GetString(FlagWBasisPoints) as := viper.GetString(FlagAsymmetry) signer := cliCtx.GetFromAddress() @@ -148,14 +134,10 @@ func GetCmdRemoveLiquidity(cdc *codec.Codec) *cobra.Command { return utils.GenerateOrBroadcastMsgs(cliCtx, txBldr, []sdk.Msg{msg}) }, } - cmd.Flags().AddFlagSet(FsAssetSourceChain) cmd.Flags().AddFlagSet(FsAssetSymbol) - cmd.Flags().AddFlagSet(FsAssetTicker) cmd.Flags().AddFlagSet(FsWBasisPoints) cmd.Flags().AddFlagSet(FsAsymmetry) - cmd.MarkFlagRequired(FlagAssetSourceChain) cmd.MarkFlagRequired(FlagAssetSymbol) - cmd.MarkFlagRequired(FlagAssetTicker) cmd.MarkFlagRequired(FlagWBasisPoints) cmd.MarkFlagRequired(FlagAsymmetry) @@ -170,12 +152,8 @@ func GetCmdSwap(cdc *codec.Codec) *cobra.Command { inBuf := bufio.NewReader(cmd.InOrStdin()) txBldr := auth.NewTxBuilderFromCLI(inBuf).WithTxEncoder(utils.GetTxEncoder(cdc)) cliCtx := context.NewCLIContextWithInput(inBuf).WithCodec(cdc) - sentAsset := types.NewAsset(viper.GetString(FlagSentAssetSourceChain), - viper.GetString(FlagSentAssetSymbol), - viper.GetString(FlagSentAssetTicker)) - receivedAsset := types.NewAsset(viper.GetString(FlagReceivedAssetSourceChain), - viper.GetString(FlagReceivedAssetSymbol), - viper.GetString(FlagReceivedAssetTicker)) + sentAsset := types.NewAsset(viper.GetString(FlagSentAssetSymbol)) + receivedAsset := types.NewAsset(viper.GetString(FlagReceivedAssetSymbol)) sentAmount := viper.GetString(FlagAmount) signer := cliCtx.GetFromAddress() msg := types.NewMsgSwap(signer, sentAsset, receivedAsset, sdk.NewUintFromString(sentAmount)) @@ -183,20 +161,13 @@ func GetCmdSwap(cdc *codec.Codec) *cobra.Command { return utils.GenerateOrBroadcastMsgs(cliCtx, txBldr, []sdk.Msg{msg}) }, } - cmd.Flags().AddFlagSet(FsSentAssetSourceChain) + cmd.Flags().AddFlagSet(FsSentAssetSymbol) - cmd.Flags().AddFlagSet(FsSentAssetTicker) - cmd.Flags().AddFlagSet(FsReceivedAssetSourceChain) cmd.Flags().AddFlagSet(FsReceivedAssetSymbol) - cmd.Flags().AddFlagSet(FsReceivedAssetTicker) cmd.Flags().AddFlagSet(FsAmount) - cmd.MarkFlagRequired(FlagSentAssetSourceChain) cmd.MarkFlagRequired(FlagSentAssetSymbol) - cmd.MarkFlagRequired(FlagSentAssetTicker) - cmd.MarkFlagRequired(FlagReceivedAssetSourceChain) cmd.MarkFlagRequired(FlagReceivedAssetSymbol) - cmd.MarkFlagRequired(FlagReceivedAssetTicker) cmd.MarkFlagRequired(FlagAmount) return cmd diff --git a/x/clp/client/cli/tx_test.go b/x/clp/client/cli/tx_test.go index 3cd89dd56b..ef2fa7473b 100644 --- a/x/clp/client/cli/tx_test.go +++ b/x/clp/client/cli/tx_test.go @@ -23,15 +23,11 @@ func TestGetCmdCreatePool(t *testing.T) { SetupViper() viper.Set(cli.FlagExternalAssetAmount, "100") viper.Set(cli.FlagNativeAssetAmount, "100") - viper.Set(cli.FlagAssetSourceChain, "ethereum") - viper.Set(cli.FlagAssetSymbol, "ETH") - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ "--externalAmount", "100", "--nativeAmount", "100", - "--sourceChain", "ethereum", - "--symbol", "ETH", - "--ticker", "eth"}) + "--symbol", "eth"}) err := clpcmd.Execute() assert.NoError(t, err) } @@ -42,15 +38,11 @@ func TestGetCmdAddLiquidity(t *testing.T) { SetupViper() viper.Set(cli.FlagExternalAssetAmount, "100") viper.Set(cli.FlagNativeAssetAmount, "100") - viper.Set(cli.FlagAssetSourceChain, "ethereum") - viper.Set(cli.FlagAssetSymbol, "ETH") - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ "--externalAmount", "100", "--nativeAmount", "100", - "--sourceChain", "ethereum", - "--symbol", "ETH", - "--ticker", "eth"}) + "--symbol", "eth"}) err := clpcmd.Execute() assert.NoError(t, err) } @@ -61,45 +53,33 @@ func TestGetCmdRemoveLiquidity(t *testing.T) { SetupViper() viper.Set(cli.FlagWBasisPoints, "100") viper.Set(cli.FlagAsymmetry, "1000") - viper.Set(cli.FlagAssetSourceChain, "ethereum") - viper.Set(cli.FlagAssetSymbol, "ETH") - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ "--wBasis", "100", "--asymmetry", "1000", - "--sourceChain", "ethereum", - "--symbol", "ETH", - "--ticker", "eth"}) + "--symbol", "eth"}) clpcmd.SetOut(ioutil.Discard) err := clpcmd.Execute() assert.NoError(t, err) viper.Set(cli.FlagWBasisPoints, "%%") viper.Set(cli.FlagAsymmetry, "1000") - viper.Set(cli.FlagAssetSourceChain, "ethereum") - viper.Set(cli.FlagAssetSymbol, "ETH") - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ "--wBasis", "100", "--asymmetry", "1000", - "--sourceChain", "ethereum", - "--symbol", "ETH", - "--ticker", "eth"}) + "--symbol", "eth"}) clpcmd.SetOut(ioutil.Discard) err = clpcmd.Execute() assert.Error(t, err) viper.Set(cli.FlagWBasisPoints, "100") viper.Set(cli.FlagAsymmetry, "asdef") - viper.Set(cli.FlagAssetSourceChain, "ethereum") - viper.Set(cli.FlagAssetSymbol, "ETH") - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ "--wBasis", "100", "--asymmetry", "1000", - "--sourceChain", "ethereum", - "--symbol", "ETH", - "--ticker", "eth"}) + "--symbol", "eth"}) clpcmd.SetOut(ioutil.Discard) err = clpcmd.Execute() assert.Error(t, err) @@ -110,21 +90,13 @@ func TestGetCmdSwap(t *testing.T) { clpcmd := cli.GetCmdSwap(cdc) SetupViper() - viper.Set(cli.FlagSentAssetSourceChain, "ethereum") - viper.Set(cli.FlagSentAssetSymbol, "ETH") - viper.Set(cli.FlagSentAssetTicker, "ceth") - viper.Set(cli.FlagReceivedAssetSourceChain, "dash") - viper.Set(cli.FlagReceivedAssetSymbol, "DASH") - viper.Set(cli.FlagReceivedAssetTicker, "cdash") + viper.Set(cli.FlagSentAssetSymbol, "eth") + viper.Set(cli.FlagReceivedAssetSymbol, "dash") viper.Set(cli.FlagAmount, "100") clpcmd.SetArgs([]string{ "--sentAmount", "100", - "--receivedSourceChain", "dash", - "--receivedSymbol", "DASH", - "--receivedTicker", "cdash", - "--sentSourceChain", "ethereum", - "--sentSymbol", "ETH", - "--sentTicker", "eth"}) + "--receivedSymbol", "dash", + "--sentSymbol", "eth"}) err := clpcmd.Execute() assert.NoError(t, err) } @@ -133,9 +105,9 @@ func TestGetCmdDecommissionPool(t *testing.T) { cdc := test.MakeTestCodec() clpcmd := cli.GetCmdDecommissionPool(cdc) SetupViper() - viper.Set(cli.FlagAssetTicker, "ceth") + viper.Set(cli.FlagAssetSymbol, "eth") clpcmd.SetArgs([]string{ - "--ticker", "ceth"}) + "--symbol", "eth"}) err := clpcmd.Execute() assert.NoError(t, err) } diff --git a/x/clp/client/rest/query.go b/x/clp/client/rest/query.go index cd72a8b567..0df978c443 100644 --- a/x/clp/client/rest/query.go +++ b/x/clp/client/rest/query.go @@ -41,7 +41,7 @@ func getPoolHandler(cliCtx context.CLIContext) http.HandlerFunc { route := fmt.Sprintf("custom/%s/%s", types.QuerierRoute, types.QueryPool) //Generate Params var params types.QueryReqGetPool - params.Ticker = r.URL.Query().Get("ticker") + params.Symbol = r.URL.Query().Get("symbol") bz, err := cliCtx.Codec.MarshalJSON(params) if err != nil { @@ -68,7 +68,7 @@ func getLiquidityProviderHandler(cliCtx context.CLIContext) http.HandlerFunc { route := fmt.Sprintf("custom/%s/%s", types.QuerierRoute, types.QueryLiquidityProvider) var params types.QueryReqLiquidityProvider - params.Ticker = r.URL.Query().Get("ticker") + params.Symbol = r.URL.Query().Get("symbol") addressString := r.URL.Query().Get("lpAddress") lpAddess, err := sdk.AccAddressFromBech32(addressString) if err != nil { diff --git a/x/clp/handler.go b/x/clp/handler.go index 4d6b40563c..00dc63ad23 100644 --- a/x/clp/handler.go +++ b/x/clp/handler.go @@ -33,7 +33,7 @@ func NewHandler(k Keeper) sdk.Handler { func handleMsgDecommissionPool(ctx sdk.Context, keeper Keeper, msg MsgDecommissionPool) (*sdk.Result, error) { // Verify pool - pool, err := keeper.GetPool(ctx, msg.Ticker) + pool, err := keeper.GetPool(ctx, msg.Symbol) if err != nil { return nil, types.ErrPoolDoesNotExist } @@ -44,7 +44,7 @@ func handleMsgDecommissionPool(ctx sdk.Context, keeper Keeper, msg MsgDecommissi return nil, types.ErrBalanceTooHigh } // Get all LP's for the pool - lpList := keeper.GetLiqudityProvidersForAsset(ctx, pool.ExternalAsset) + lpList := keeper.GetLiquidityProvidersForAsset(ctx, pool.ExternalAsset) poolUnits := pool.PoolUnits nativeAssetBalance := pool.NativeAssetBalance externalAssetBalance := pool.ExternalAssetBalance @@ -56,8 +56,8 @@ func handleMsgDecommissionPool(ctx sdk.Context, keeper Keeper, msg MsgDecommissi poolUnits = poolUnits.Sub(lp.LiquidityProviderUnits) nativeAssetBalance = nativeAssetBalance.Sub(withdrawNativeAsset) externalAssetBalance = externalAssetBalance.Sub(withdrawExternalAsset) - withdrawNativeCoins := sdk.NewCoin(GetSettlementAsset().Ticker, sdk.NewIntFromUint64(withdrawNativeAsset.Uint64())) - withdrawExternalCoins := sdk.NewCoin(msg.Ticker, sdk.NewIntFromUint64(withdrawExternalAsset.Uint64())) + withdrawNativeCoins := sdk.NewCoin(GetSettlementAsset().Symbol, sdk.NewIntFromUint64(withdrawNativeAsset.Uint64())) + withdrawExternalCoins := sdk.NewCoin(msg.Symbol, sdk.NewIntFromUint64(withdrawExternalAsset.Uint64())) refundingCoins := sdk.Coins{withdrawExternalCoins, withdrawNativeCoins} err := keeper.RemoveLiquidityProvider(ctx, refundingCoins, lp) if err != nil { @@ -88,11 +88,12 @@ func handleMsgDecommissionPool(ctx sdk.Context, keeper Keeper, msg MsgDecommissi func handleMsgCreatePool(ctx sdk.Context, keeper Keeper, msg MsgCreatePool) (*sdk.Result, error) { // Verify min threshold MinThreshold := sdk.NewUint(uint64(keeper.GetParams(ctx).MinCreatePoolThreshold)) + if msg.NativeAssetAmount.LT(MinThreshold) { // Need to verify return nil, types.ErrTotalAmountTooLow } // Check if pool already exists - if keeper.ExistsPool(ctx, msg.ExternalAsset.Ticker) { + if keeper.ExistsPool(ctx, msg.ExternalAsset.Symbol) { return nil, types.ErrUnableToCreatePool } @@ -132,7 +133,7 @@ func handleMsgCreatePool(ctx sdk.Context, keeper Keeper, msg MsgCreatePool) (*sd func handleMsgAddLiquidity(ctx sdk.Context, keeper Keeper, msg MsgAddLiquidity) (*sdk.Result, error) { // Get pool - pool, err := keeper.GetPool(ctx, msg.ExternalAsset.Ticker) + pool, err := keeper.GetPool(ctx, msg.ExternalAsset.Symbol) if err != nil { return nil, types.ErrPoolDoesNotExist } @@ -163,12 +164,12 @@ func handleMsgAddLiquidity(ctx sdk.Context, keeper Keeper, msg MsgAddLiquidity) func handleMsgRemoveLiquidity(ctx sdk.Context, keeper Keeper, msg MsgRemoveLiquidity) (*sdk.Result, error) { // Get pool - pool, err := keeper.GetPool(ctx, msg.ExternalAsset.Ticker) + pool, err := keeper.GetPool(ctx, msg.ExternalAsset.Symbol) if err != nil { return nil, types.ErrPoolDoesNotExist } //Get LP - lp, err := keeper.GetLiquidityProvider(ctx, msg.ExternalAsset.Ticker, msg.Signer.String()) + lp, err := keeper.GetLiquidityProvider(ctx, msg.ExternalAsset.Symbol, msg.Signer.String()) if err != nil { return nil, types.ErrLiquidityProviderDoesNotExist } @@ -180,8 +181,8 @@ func handleMsgRemoveLiquidity(ctx sdk.Context, keeper Keeper, msg MsgRemoveLiqui pool.NativeAssetBalance.String(), pool.ExternalAssetBalance.String(), lp.LiquidityProviderUnits.String(), msg.WBasisPoints.String(), msg.Asymmetry) - externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Ticker, sdk.NewIntFromUint64(withdrawExternalAssetAmount.Uint64())) - nativeAssetCoin := sdk.NewCoin(GetSettlementAsset().Ticker, sdk.NewIntFromUint64(withdrawNativeAssetAmount.Uint64())) + externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Symbol, sdk.NewIntFromUint64(withdrawExternalAssetAmount.Uint64())) + nativeAssetCoin := sdk.NewCoin(GetSettlementAsset().Symbol, sdk.NewIntFromUint64(withdrawNativeAssetAmount.Uint64())) // Subtract Value from pool pool.PoolUnits = pool.PoolUnits.Sub(lp.LiquidityProviderUnits).Add(lpUnitsLeft) @@ -199,8 +200,8 @@ func handleMsgRemoveLiquidity(ctx sdk.Context, keeper Keeper, msg MsgRemoveLiqui return nil, errors.Wrap(types.ErrUnableToSwap, err.Error()) } if !swapResult.IsZero() { - swapCoin := sdk.NewCoin(msg.ExternalAsset.Ticker, sdk.NewIntFromUint64(swapResult.Uint64())) - swapAmountInCoin := sdk.NewCoin(GetSettlementAsset().Ticker, sdk.NewIntFromUint64(swapAmount.Uint64())) + swapCoin := sdk.NewCoin(msg.ExternalAsset.Symbol, sdk.NewIntFromUint64(swapResult.Uint64())) + swapAmountInCoin := sdk.NewCoin(GetSettlementAsset().Symbol, sdk.NewIntFromUint64(swapAmount.Uint64())) externalAssetCoin = externalAssetCoin.Add(swapCoin) nativeAssetCoin = nativeAssetCoin.Sub(swapAmountInCoin) } @@ -212,8 +213,8 @@ func handleMsgRemoveLiquidity(ctx sdk.Context, keeper Keeper, msg MsgRemoveLiqui return nil, errors.Wrap(types.ErrUnableToSwap, err.Error()) } if !swapResult.IsZero() { - swapCoin := sdk.NewCoin(GetSettlementAsset().Ticker, sdk.NewIntFromUint64(swapResult.Uint64())) - swapAmountInCoin := sdk.NewCoin(msg.ExternalAsset.Ticker, sdk.NewIntFromUint64(swapAmount.Uint64())) + swapCoin := sdk.NewCoin(GetSettlementAsset().Symbol, sdk.NewIntFromUint64(swapResult.Uint64())) + swapAmountInCoin := sdk.NewCoin(msg.ExternalAsset.Symbol, sdk.NewIntFromUint64(swapAmount.Uint64())) nativeAssetCoin = nativeAssetCoin.Add(swapCoin) externalAssetCoin = externalAssetCoin.Sub(swapAmountInCoin) @@ -257,7 +258,7 @@ func handleMsgSwap(ctx sdk.Context, keeper Keeper, msg MsgSwap) (*sdk.Result, er // If its two swap . this pool would be RWN:EXTERNAL1 ( Ex User sends ETH wants XCT , ETH is EXTERNAL1) //CASE 1 : RWN:ETH //CASE 2 : RWN:ETH - inPool, err := keeper.GetPool(ctx, msg.SentAsset.Ticker) + inPool, err := keeper.GetPool(ctx, msg.SentAsset.Symbol) if err != nil { return nil, errors.Wrap(types.ErrPoolDoesNotExist, msg.SentAsset.String()) } @@ -265,7 +266,7 @@ func handleMsgSwap(ctx sdk.Context, keeper Keeper, msg MsgSwap) (*sdk.Result, er // If its two swap . this pool would be RWN:EXTERNAL2 ( Ex User sends ETH wants XCT , XCT is EXTERNAL2) //CASE 1 : RWN:ETH //CASE 2 : RWN:XCT - outPool, err := keeper.GetPool(ctx, msg.ReceivedAsset.Ticker) + outPool, err := keeper.GetPool(ctx, msg.ReceivedAsset.Symbol) if err != nil { return nil, errors.Wrap(types.ErrPoolDoesNotExist, msg.ReceivedAsset.String()) } @@ -273,7 +274,7 @@ func handleMsgSwap(ctx sdk.Context, keeper Keeper, msg MsgSwap) (*sdk.Result, er // Deducting Balance from the user , Sent Asset is the asset the user is sending to the Pool // Case 1 . Deducting his RWN and adding to RWN:ETH pool // Case 2 , Deduction his ETH and adding to RWN:ETH pool - sentCoin := sdk.NewCoin(msg.SentAsset.Ticker, sdk.NewIntFromUint64(sentAmount.Uint64())) + sentCoin := sdk.NewCoin(msg.SentAsset.Symbol, sdk.NewIntFromUint64(sentAmount.Uint64())) err = keeper.InitiateSwap(ctx, sentCoin, msg.Signer) if err != nil { return nil, errors.Wrap(types.ErrUnableToSwap, err.Error()) diff --git a/x/clp/handler_test.go b/x/clp/handler_test.go index 1660548ef0..0740b79b99 100644 --- a/x/clp/handler_test.go +++ b/x/clp/handler_test.go @@ -26,9 +26,9 @@ func TestCreatePool(t *testing.T) { initialBalance := sdk.NewUint(10000) // Initial account balance for all assets created poolBalance := sdk.NewUint(1000) // Amount funded to pool , This same amount is used both for native and external asset - asset := clp.NewAsset("ETHEREUM", "ETH", "ceth") - externalCoin := sdk.NewCoin(asset.Ticker, sdk.Int(initialBalance)) - nativeCoin := sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance)) + asset := clp.NewAsset("eth") + externalCoin := sdk.NewCoin(asset.Symbol, sdk.Int(initialBalance)) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance)) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) ok := keeper.HasCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) @@ -58,8 +58,8 @@ func TestCreatePool(t *testing.T) { require.Error(t, err) require.Nil(t, res) - externalCoin = sdk.NewCoin(asset.Ticker, sdk.Int(initialBalance.Sub(poolBalance))) - nativeCoin = sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance.Sub(poolBalance))) + externalCoin = sdk.NewCoin(asset.Symbol, sdk.Int(initialBalance.Sub(poolBalance))) + nativeCoin = sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance.Sub(poolBalance))) ok = keeper.HasCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) assert.True(t, ok, "") } @@ -73,9 +73,9 @@ func TestAddLiquidity(t *testing.T) { poolBalance := sdk.NewUint(1000) // Amount funded to pool , This same amount is used both for native and external asset addLiquidityAmount := sdk.NewUint(1000) - asset := clp.NewAsset("ETHEREUM", "ETH", "ceth") - externalCoin := sdk.NewCoin(asset.Ticker, sdk.Int(initialBalance)) - nativeCoin := sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance)) + asset := clp.NewAsset("eth") + externalCoin := sdk.NewCoin(asset.Symbol, sdk.Int(initialBalance)) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance)) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) msg := clp.NewMsgAddLiquidity(signer, asset, addLiquidityAmount, addLiquidityAmount) @@ -91,8 +91,8 @@ func TestAddLiquidity(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) // Subtracted twice , during create and add - externalCoin = sdk.NewCoin(asset.Ticker, sdk.Int(initialBalance.Sub(addLiquidityAmount).Sub(addLiquidityAmount))) - nativeCoin = sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance.Sub(addLiquidityAmount).Sub(addLiquidityAmount))) + externalCoin = sdk.NewCoin(asset.Symbol, sdk.Int(initialBalance.Sub(addLiquidityAmount).Sub(addLiquidityAmount))) + nativeCoin = sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance.Sub(addLiquidityAmount).Sub(addLiquidityAmount))) ok := keeper.HasCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) assert.True(t, ok, "") @@ -103,7 +103,7 @@ func TestAddLiquidity(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - lpList := keeper.GetLiqudityProvidersForAsset(ctx, asset) + lpList := keeper.GetLiquidityProvidersForAsset(ctx, asset) assert.Equal(t, 2, len(lpList)) } @@ -112,17 +112,17 @@ func TestRemoveLiquidity(t *testing.T) { ctx, keeper := test.CreateTestAppClp(false) signer := test.GenerateAddress("") handler := clp.NewHandler(keeper) - externalDenom := "ceth" - nativeDenom := clp.GetSettlementAsset().Ticker + externalDenom := "eth" + nativeDenom := clp.GetSettlementAsset().Symbol //Parameters for Remove Liquidity initialBalance := sdk.NewUint(10000) // Initial account balance for all assets created poolBalance := sdk.NewUint(1000) // Amount funded to pool , This same amount is used both for native and external asset wBasis := sdk.NewInt(1000) asymmetry := sdk.NewInt(10000) - asset := clp.NewAsset("ETHEREUM", "ETH", externalDenom) - externalCoin := sdk.NewCoin(asset.Ticker, sdk.Int(initialBalance)) - nativeCoin := sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance)) + asset := clp.NewAsset(externalDenom) + externalCoin := sdk.NewCoin(asset.Symbol, sdk.Int(initialBalance)) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance)) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) msg := clp.NewMsgRemoveLiquidity(signer, asset, wBasis, asymmetry) @@ -223,17 +223,17 @@ func TestSwap(t *testing.T) { ctx, keeper := test.CreateTestAppClp(false) signer := test.GenerateAddress("") handler := clp.NewHandler(keeper) - assetEth := clp.NewAsset("ETHEREUM", "ETH", "ceth") - assetDash := clp.NewAsset("DASH", "DASH", "cdash") + assetEth := clp.NewAsset("eth") + assetDash := clp.NewAsset("dash") // Test Parameters for swap initialBalance := sdk.NewInt(10000) // Initial account balance for all assets created poolBalance := sdk.NewUint(1000) // Amount funded to pool , This same amount is used both for native and external asset swapSentAssetETH := sdk.NewUint(100) // Amount Swapped - externalCoin1 := sdk.NewCoin(assetEth.Ticker, initialBalance) - externalCoin2 := sdk.NewCoin(assetDash.Ticker, initialBalance) - nativeCoin := sdk.NewCoin(clp.NativeTicker, initialBalance) + externalCoin1 := sdk.NewCoin(assetEth.Symbol, initialBalance) + externalCoin2 := sdk.NewCoin(assetDash.Symbol, initialBalance) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, initialBalance) // Signer is given ETH and RWN ( Signer will creat pool and become LP) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin1, nativeCoin}) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin2}) @@ -258,9 +258,9 @@ func TestSwap(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - CoinsExt1 := sdk.NewCoin(assetEth.Ticker, initialBalance.Sub(sdk.Int(poolBalance)).Sub(sdk.Int(swapSentAssetETH))) // Created ETH pool and Send amount for swap - CoinsNative := sdk.NewCoin(clp.NativeTicker, initialBalance.Sub(sdk.Int(poolBalance)).Sub(sdk.Int(poolBalance))) // Creating two pools - CoinsExt2 := sdk.NewCoin(assetDash.Ticker, initialBalance.Sub(sdk.Int(poolBalance)).Add(sdk.Int(receivedAmount))) // Created one pool and Received swap amount + CoinsExt1 := sdk.NewCoin(assetEth.Symbol, initialBalance.Sub(sdk.Int(poolBalance)).Sub(sdk.Int(swapSentAssetETH))) // Created ETH pool and Send amount for swap + CoinsNative := sdk.NewCoin(clp.NativeSymbol, initialBalance.Sub(sdk.Int(poolBalance)).Sub(sdk.Int(poolBalance))) // Creating two pools + CoinsExt2 := sdk.NewCoin(assetDash.Symbol, initialBalance.Sub(sdk.Int(poolBalance)).Add(sdk.Int(receivedAmount))) // Created one pool and Received swap amount ok := keeper.HasCoins(ctx, signer, sdk.Coins{CoinsExt1, CoinsNative, CoinsExt2}) assert.True(t, ok, "") @@ -276,9 +276,9 @@ func TestDecommisionPool(t *testing.T) { initialBalance := sdk.NewInt(10000) // Initial account balance for all assets created poolBalance := sdk.NewUint(100) // Amount funded to pool , This same amount is used both for native and external asset - asset := clp.NewAsset("ETHEREUM", "ETH", "ceth") - externalCoin := sdk.NewCoin(asset.Ticker, initialBalance) - nativeCoin := sdk.NewCoin(clp.NativeTicker, initialBalance) + asset := clp.NewAsset("eth") + externalCoin := sdk.NewCoin(asset.Symbol, initialBalance) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, initialBalance) // Signer is given ETH and RWN ( Signer will creat pool and become LP) _, _ = keeper.GetBankKeeper().AddCoins(ctx, signer, sdk.Coins{externalCoin, nativeCoin}) @@ -289,8 +289,8 @@ func TestDecommisionPool(t *testing.T) { // SIGNER became new LP lpNewBalance := initialBalance.Sub(sdk.Int(poolBalance)) - lpCoinsExt := sdk.NewCoin(asset.Ticker, lpNewBalance) - lpCoinsNative := sdk.NewCoin(clp.NativeTicker, lpNewBalance) + lpCoinsExt := sdk.NewCoin(asset.Symbol, lpNewBalance) + lpCoinsNative := sdk.NewCoin(clp.NativeSymbol, lpNewBalance) ok := keeper.HasCoins(ctx, signer, sdk.Coins{lpCoinsExt, lpCoinsNative}) assert.True(t, ok, "") @@ -300,14 +300,14 @@ func TestDecommisionPool(t *testing.T) { require.NoError(t, err) require.NotNil(t, res) - msg := clp.NewMsgDecommissionPool(signer, asset.Ticker) + msg := clp.NewMsgDecommissionPool(signer, asset.Symbol) _, err = handler(ctx, msg) require.Error(t, err) v := test.GenerateValidatorAddress("") keeper.SetValidatorWhiteList(ctx, []sdk.ValAddress{v}) - msg = clp.NewMsgDecommissionPool(signer, asset.Ticker) + msg = clp.NewMsgDecommissionPool(signer, asset.Symbol) res, err = handler(ctx, msg) require.NoError(t, err) require.NotNil(t, res) @@ -320,17 +320,17 @@ func TestDecommisionPool(t *testing.T) { // LP refunded coins when decommison lpNewBalance = initialBalance - lpCoinsExt = sdk.NewCoin(asset.Ticker, lpNewBalance) - lpCoinsNative = sdk.NewCoin(clp.NativeTicker, lpNewBalance) + lpCoinsExt = sdk.NewCoin(asset.Symbol, lpNewBalance) + lpCoinsNative = sdk.NewCoin(clp.NativeSymbol, lpNewBalance) ok = keeper.HasCoins(ctx, signer, sdk.Coins{lpCoinsExt, lpCoinsNative}) assert.True(t, ok, "") } func CalculateWithdraw(t *testing.T, keeper clp.Keeper, ctx sdk.Context, asset clp.Asset, signer string, wBasisPoints string, asymmetry sdk.Int) sdk.Coins { - pool, err := keeper.GetPool(ctx, asset.Ticker) + pool, err := keeper.GetPool(ctx, asset.Symbol) assert.NoError(t, err) - lp, err := keeper.GetLiquidityProvider(ctx, asset.Ticker, signer) + lp, err := keeper.GetLiquidityProvider(ctx, asset.Symbol, signer) assert.NoError(t, err) withdrawNativeAssetAmount, withdrawExternalAssetAmount, _, swapAmount := clp.CalculateWithdrawal(pool.PoolUnits, pool.NativeAssetBalance.String(), pool.ExternalAssetBalance.String(), lp.LiquidityProviderUnits.String(), @@ -340,18 +340,18 @@ func CalculateWithdraw(t *testing.T, keeper clp.Keeper, ctx sdk.Context, asset c if asymmetry.IsPositive() { swapResult, _, _, _, err := clp.SwapOne(clp.GetSettlementAsset(), swapAmount, asset, pool) assert.NoError(t, err) - externalAssetCoin = sdk.NewCoin(asset.Ticker, sdk.Int(withdrawExternalAssetAmount.Add(swapResult))) - nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Ticker, sdk.Int(withdrawNativeAssetAmount)) + externalAssetCoin = sdk.NewCoin(asset.Symbol, sdk.Int(withdrawExternalAssetAmount.Add(swapResult))) + nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Symbol, sdk.Int(withdrawNativeAssetAmount)) } if asymmetry.IsNegative() { swapResult, _, _, _, err := clp.SwapOne(asset, swapAmount, clp.GetSettlementAsset(), pool) assert.NoError(t, err) - externalAssetCoin = sdk.NewCoin(asset.Ticker, sdk.Int(withdrawExternalAssetAmount)) - nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Ticker, sdk.Int(withdrawNativeAssetAmount.Add(swapResult))) + externalAssetCoin = sdk.NewCoin(asset.Symbol, sdk.Int(withdrawExternalAssetAmount)) + nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Symbol, sdk.Int(withdrawNativeAssetAmount.Add(swapResult))) } if asymmetry.IsZero() { - externalAssetCoin = sdk.NewCoin(asset.Ticker, sdk.Int(withdrawExternalAssetAmount)) - nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Ticker, sdk.Int(withdrawNativeAssetAmount)) + externalAssetCoin = sdk.NewCoin(asset.Symbol, sdk.Int(withdrawExternalAssetAmount)) + nativeAssetCoin = sdk.NewCoin(clp.GetSettlementAsset().Symbol, sdk.Int(withdrawNativeAssetAmount)) } return sdk.Coins{externalAssetCoin, nativeAssetCoin} @@ -359,9 +359,9 @@ func CalculateWithdraw(t *testing.T, keeper clp.Keeper, ctx sdk.Context, asset c } func CalculateSwapReceived(t *testing.T, keeper clp.Keeper, ctx sdk.Context, assetSent clp.Asset, assetReceived clp.Asset, swapAmount sdk.Uint) sdk.Uint { - inPool, err := keeper.GetPool(ctx, assetSent.Ticker) + inPool, err := keeper.GetPool(ctx, assetSent.Symbol) assert.NoError(t, err) - outPool, err := keeper.GetPool(ctx, assetReceived.Ticker) + outPool, err := keeper.GetPool(ctx, assetReceived.Symbol) assert.NoError(t, err) emitAmount, _, _, _, err := clp.SwapOne(assetSent, swapAmount, clp.GetSettlementAsset(), inPool) assert.NoError(t, err) diff --git a/x/clp/keeper/executors.go b/x/clp/keeper/executors.go index 796c7d3cbd..a14ccac115 100644 --- a/x/clp/keeper/executors.go +++ b/x/clp/keeper/executors.go @@ -8,8 +8,8 @@ import ( ) func (k Keeper) CreatePool(ctx sdk.Context, poolUints sdk.Uint, msg types.MsgCreatePool) (*types.Pool, error) { - externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Ticker, sdk.NewIntFromUint64(msg.ExternalAssetAmount.Uint64())) - nativeAssetCoin := sdk.NewCoin(types.GetSettlementAsset().Ticker, sdk.NewIntFromUint64(msg.NativeAssetAmount.Uint64())) + externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Symbol, sdk.NewIntFromUint64(msg.ExternalAssetAmount.Uint64())) + nativeAssetCoin := sdk.NewCoin(types.GetSettlementAsset().Symbol, sdk.NewIntFromUint64(msg.NativeAssetAmount.Uint64())) if !k.HasCoins(ctx, msg.Signer, sdk.Coins{externalAssetCoin, nativeAssetCoin}) { return nil, types.ErrBalanceNotAvailable } @@ -40,8 +40,8 @@ func (k Keeper) CreateLiquidityProvider(ctx sdk.Context, asset types.Asset, lpun func (k Keeper) AddLiquidity(ctx sdk.Context, msg types.MsgAddLiquidity, pool types.Pool, newPoolUnits sdk.Uint, lpUnits sdk.Uint) (*types.LiquidityProvider, error) { // Verify user has coins to add liquidity - externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Ticker, sdk.NewIntFromUint64(msg.ExternalAssetAmount.Uint64())) - nativeAssetCoin := sdk.NewCoin(types.GetSettlementAsset().Ticker, sdk.NewIntFromUint64(msg.NativeAssetAmount.Uint64())) + externalAssetCoin := sdk.NewCoin(msg.ExternalAsset.Symbol, sdk.NewIntFromUint64(msg.ExternalAssetAmount.Uint64())) + nativeAssetCoin := sdk.NewCoin(types.GetSettlementAsset().Symbol, sdk.NewIntFromUint64(msg.NativeAssetAmount.Uint64())) if !k.HasCoins(ctx, msg.Signer, sdk.Coins{externalAssetCoin, nativeAssetCoin}) { return nil, types.ErrBalanceNotAvailable } @@ -56,7 +56,7 @@ func (k Keeper) AddLiquidity(ctx sdk.Context, msg types.MsgAddLiquidity, pool ty pool.ExternalAssetBalance = pool.ExternalAssetBalance.Add(msg.ExternalAssetAmount) // Create new Liquidity provider or add liquidity units - lp, err := k.GetLiquidityProvider(ctx, msg.ExternalAsset.Ticker, msg.Signer.String()) + lp, err := k.GetLiquidityProvider(ctx, msg.ExternalAsset.Symbol, msg.Signer.String()) if err != nil { lp = k.CreateLiquidityProvider(ctx, msg.ExternalAsset, lpUnits, msg.Signer) ctx.EventManager().EmitEvents(sdk.Events{ @@ -84,12 +84,12 @@ func (k Keeper) RemoveLiquidityProvider(ctx sdk.Context, coins sdk.Coins, lp typ if err != nil { return errors.Wrap(types.ErrUnableToAddBalance, err.Error()) } - k.DestroyLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + k.DestroyLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) return nil } func (k Keeper) DecommissionPool(ctx sdk.Context, pool types.Pool) error { - err := k.DestroyPool(ctx, pool.ExternalAsset.Ticker) + err := k.DestroyPool(ctx, pool.ExternalAsset.Symbol) if err != nil { return errors.Wrap(types.ErrUnableToDestroyPool, err.Error()) } @@ -127,7 +127,7 @@ func (k Keeper) RemoveLiquidity(ctx sdk.Context, pool types.Pool, externalAssetC } if lpUnitsLeft.IsZero() { - k.DestroyLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + k.DestroyLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) } else { lp.LiquidityProviderUnits = lpUnitsLeft k.SetLiquidityProvider(ctx, lp) @@ -154,7 +154,7 @@ func (k Keeper) FinalizeSwap(ctx sdk.Context, sentAmount sdk.Uint, finalPool typ // Adding balance to users account ,Received Asset is the asset the user wants to receive // Case 1 . Adding his ETH and deducting from RWN:ETH pool // Case 2 , Adding his XCT and deducting from RWN:XCT pool - sentCoin := sdk.NewCoin(msg.ReceivedAsset.Ticker, sdk.NewIntFromUint64(sentAmount.Uint64())) + sentCoin := sdk.NewCoin(msg.ReceivedAsset.Symbol, sdk.NewIntFromUint64(sentAmount.Uint64())) err = k.supplyKeeper.SendCoinsFromModuleToAccount(ctx, types.ModuleName, msg.Signer, sdk.Coins{sentCoin}) if err != nil { return err diff --git a/x/clp/keeper/keeper_test.go b/x/clp/keeper/keeper_test.go index 2e9e664dde..c51d276e9a 100644 --- a/x/clp/keeper/keeper_test.go +++ b/x/clp/keeper/keeper_test.go @@ -13,16 +13,16 @@ func TestKeeper_Errors(t *testing.T) { pool := test.GenerateRandomPool(1)[0] ctx, keeper := test.CreateTestAppClp(false) _ = keeper.Logger(ctx) - pool.ExternalAsset.Ticker = "" + pool.ExternalAsset.Symbol = "" err := keeper.SetPool(ctx, pool) assert.Error(t, err) getpools := keeper.GetPools(ctx) assert.Equal(t, len(getpools), 0, "No pool added") lp := test.GenerateRandomLP(1)[0] - lp.Asset.SourceChain = "" + lp.Asset.Symbol = "" keeper.SetLiquidityProvider(ctx, lp) - getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) assert.Error(t, err) assert.NotEqual(t, getlp, lp) assert.NotNil(t, test.GenerateAddress("A58856F0FD53BF058B4909A21AEC019107BA7")) @@ -34,10 +34,10 @@ func TestKeeper_SetPool(t *testing.T) { ctx, keeper := test.CreateTestAppClp(false) err := keeper.SetPool(ctx, pool) assert.NoError(t, err) - getpool, err := keeper.GetPool(ctx, pool.ExternalAsset.Ticker) + getpool, err := keeper.GetPool(ctx, pool.ExternalAsset.Symbol) assert.NoError(t, err, "Error in get pool") assert.Equal(t, getpool, pool) - assert.Equal(t, keeper.ExistsPool(ctx, pool.ExternalAsset.Ticker), true) + assert.Equal(t, keeper.ExistsPool(ctx, pool.ExternalAsset.Symbol), true) } func TestKeeper_GetPools(t *testing.T) { @@ -57,15 +57,15 @@ func TestKeeper_DestroyPool(t *testing.T) { ctx, keeper := test.CreateTestAppClp(false) err := keeper.SetPool(ctx, pool) assert.NoError(t, err) - getpool, err := keeper.GetPool(ctx, pool.ExternalAsset.Ticker) + getpool, err := keeper.GetPool(ctx, pool.ExternalAsset.Symbol) assert.NoError(t, err, "Error in get pool") assert.Equal(t, getpool, pool) - err = keeper.DestroyPool(ctx, pool.ExternalAsset.Ticker) + err = keeper.DestroyPool(ctx, pool.ExternalAsset.Symbol) assert.NoError(t, err) - _, err = keeper.GetPool(ctx, pool.ExternalAsset.Ticker) + _, err = keeper.GetPool(ctx, pool.ExternalAsset.Symbol) assert.Error(t, err, "Pool should be deleted") // This should do nothing. - err = keeper.DestroyPool(ctx, pool.ExternalAsset.Ticker) + err = keeper.DestroyPool(ctx, pool.ExternalAsset.Symbol) assert.Error(t, err) } @@ -73,10 +73,10 @@ func TestKeeper_SetLiquidityProvider(t *testing.T) { lp := test.GenerateRandomLP(1)[0] ctx, keeper := test.CreateTestAppClp(false) keeper.SetLiquidityProvider(ctx, lp) - getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) assert.NoError(t, err, "Error in get liquidityProvider") assert.Equal(t, getlp, lp) - lpList := keeper.GetLiqudityProvidersForAsset(ctx, lp.Asset) + lpList := keeper.GetLiquidityProvidersForAsset(ctx, lp.Asset) assert.Equal(t, lp, lpList[0]) } @@ -84,15 +84,15 @@ func TestKeeper_DestroyLiquidityProvider(t *testing.T) { lp := test.GenerateRandomLP(1)[0] ctx, keeper := test.CreateTestAppClp(false) keeper.SetLiquidityProvider(ctx, lp) - getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + getlp, err := keeper.GetLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) assert.NoError(t, err, "Error in get liquidityProvider") assert.Equal(t, getlp, lp) assert.True(t, keeper.GetLiquidityProviderIterator(ctx).Valid()) - keeper.DestroyLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) - _, err = keeper.GetLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + keeper.DestroyLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) + _, err = keeper.GetLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) assert.Error(t, err, "LiquidityProvider has been deleted") // This should do nothing - keeper.DestroyLiquidityProvider(ctx, lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + keeper.DestroyLiquidityProvider(ctx, lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) assert.False(t, keeper.GetLiquidityProviderIterator(ctx).Valid()) } @@ -102,8 +102,8 @@ func TestKeeper_BankKeeper(t *testing.T) { ctx, keeper := test.CreateTestAppClp(false) initialBalance := sdk.NewUint(10000) sendingBalance := sdk.NewUint(1000) - nativeCoin := sdk.NewCoin(clp.NativeTicker, sdk.Int(initialBalance)) - sendingCoin := sdk.NewCoin(clp.NativeTicker, sdk.Int(sendingBalance)) + nativeCoin := sdk.NewCoin(clp.NativeSymbol, sdk.Int(initialBalance)) + sendingCoin := sdk.NewCoin(clp.NativeSymbol, sdk.Int(sendingBalance)) _, err := keeper.GetBankKeeper().AddCoins(ctx, user1, sdk.Coins{nativeCoin}) assert.NoError(t, err) assert.True(t, keeper.HasCoins(ctx, user1, sdk.Coins{nativeCoin})) diff --git a/x/clp/keeper/liquidityprovider.go b/x/clp/keeper/liquidityprovider.go index 94838a59a6..12e1b71eda 100644 --- a/x/clp/keeper/liquidityprovider.go +++ b/x/clp/keeper/liquidityprovider.go @@ -10,13 +10,13 @@ func (k Keeper) SetLiquidityProvider(ctx sdk.Context, lp types.LiquidityProvider return } store := ctx.KVStore(k.storeKey) - key := types.GetLiquidityProviderKey(lp.Asset.Ticker, lp.LiquidityProviderAddress.String()) + key := types.GetLiquidityProviderKey(lp.Asset.Symbol, lp.LiquidityProviderAddress.String()) store.Set(key, k.cdc.MustMarshalBinaryBare(lp)) } -func (k Keeper) GetLiquidityProvider(ctx sdk.Context, ticker string, lpAddress string) (types.LiquidityProvider, error) { +func (k Keeper) GetLiquidityProvider(ctx sdk.Context, symbol string, lpAddress string) (types.LiquidityProvider, error) { var lp types.LiquidityProvider - key := types.GetLiquidityProviderKey(ticker, lpAddress) + key := types.GetLiquidityProviderKey(symbol, lpAddress) store := ctx.KVStore(k.storeKey) if !k.Exists(ctx, key) { return lp, types.ErrLiquidityProviderDoesNotExist @@ -59,8 +59,8 @@ func (k Keeper) GetAssetsForLiquidityProvider(ctx sdk.Context, lpAddress sdk.Add return assetList } -func (k Keeper) DestroyLiquidityProvider(ctx sdk.Context, ticker string, lpAddress string) { - key := types.GetLiquidityProviderKey(ticker, lpAddress) +func (k Keeper) DestroyLiquidityProvider(ctx sdk.Context, symbol string, lpAddress string) { + key := types.GetLiquidityProviderKey(symbol, lpAddress) if !k.Exists(ctx, key) { return } @@ -68,7 +68,7 @@ func (k Keeper) DestroyLiquidityProvider(ctx sdk.Context, ticker string, lpAddre store.Delete(key) } -func (k Keeper) GetLiqudityProvidersForAsset(ctx sdk.Context, asset types.Asset) []types.LiquidityProvider { +func (k Keeper) GetLiquidityProvidersForAsset(ctx sdk.Context, asset types.Asset) []types.LiquidityProvider { var lpList []types.LiquidityProvider iterator := k.GetLiquidityProviderIterator(ctx) defer iterator.Close() diff --git a/x/clp/keeper/pool.go b/x/clp/keeper/pool.go index 2a238d0d8e..1e7061ba9c 100644 --- a/x/clp/keeper/pool.go +++ b/x/clp/keeper/pool.go @@ -10,17 +10,17 @@ func (k Keeper) SetPool(ctx sdk.Context, pool types.Pool) error { return types.ErrUnableToSetPool } store := ctx.KVStore(k.storeKey) - key, err := types.GetPoolKey(pool.ExternalAsset.Ticker, types.GetSettlementAsset().Ticker) + key, err := types.GetPoolKey(pool.ExternalAsset.Symbol, types.GetSettlementAsset().Symbol) if err != nil { return err } store.Set(key, k.cdc.MustMarshalBinaryBare(pool)) return nil } -func (k Keeper) GetPool(ctx sdk.Context, ticker string) (types.Pool, error) { +func (k Keeper) GetPool(ctx sdk.Context, symbol string) (types.Pool, error) { var pool types.Pool store := ctx.KVStore(k.storeKey) - key, err := types.GetPoolKey(ticker, types.GetSettlementAsset().Ticker) + key, err := types.GetPoolKey(symbol, types.GetSettlementAsset().Symbol) if err != nil { return pool, err } @@ -32,8 +32,8 @@ func (k Keeper) GetPool(ctx sdk.Context, ticker string) (types.Pool, error) { return pool, nil } -func (k Keeper) ExistsPool(ctx sdk.Context, ticker string) bool { - key, err := types.GetPoolKey(ticker, types.GetSettlementAsset().Ticker) +func (k Keeper) ExistsPool(ctx sdk.Context, symbol string) bool { + key, err := types.GetPoolKey(symbol, types.GetSettlementAsset().Symbol) if err != nil { return false } @@ -53,9 +53,9 @@ func (k Keeper) GetPools(ctx sdk.Context) types.Pools { return poolList } -func (k Keeper) DestroyPool(ctx sdk.Context, ticker string) error { +func (k Keeper) DestroyPool(ctx sdk.Context, symbol string) error { store := ctx.KVStore(k.storeKey) - key, err := types.GetPoolKey(ticker, types.GetSettlementAsset().Ticker) + key, err := types.GetPoolKey(symbol, types.GetSettlementAsset().Symbol) if err != nil { return err } diff --git a/x/clp/keeper/querier.go b/x/clp/keeper/querier.go index 0c4a1a90b7..66d24aa07d 100644 --- a/x/clp/keeper/querier.go +++ b/x/clp/keeper/querier.go @@ -33,7 +33,7 @@ func queryPool(ctx sdk.Context, req abci.RequestQuery, keeper Keeper) ([]byte, e if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) } - pool, err := keeper.GetPool(ctx, params.Ticker) + pool, err := keeper.GetPool(ctx, params.Symbol) if err != nil { return nil, err } @@ -61,7 +61,7 @@ func queryLiquidityProvider(ctx sdk.Context, req abci.RequestQuery, keeper Keepe if err != nil { return nil, sdkerrors.Wrap(sdkerrors.ErrJSONUnmarshal, err.Error()) } - lp, err := keeper.GetLiquidityProvider(ctx, params.Ticker, params.LpAddress.String()) + lp, err := keeper.GetLiquidityProvider(ctx, params.Symbol, params.LpAddress.String()) if err != nil { return nil, err } diff --git a/x/clp/keeper/querier_test.go b/x/clp/keeper/querier_test.go index 08be485de5..7bb0d0c8ec 100644 --- a/x/clp/keeper/querier_test.go +++ b/x/clp/keeper/querier_test.go @@ -20,7 +20,7 @@ func TestQueryErrorPool(t *testing.T) { querier := clp.NewQuerier(keeper) //Test Pool queryPool := types.QueryReqGetPool{ - Ticker: pool.ExternalAsset.Ticker, + Symbol: pool.ExternalAsset.Symbol, } qp, errRes := cdc.MarshalJSON(queryPool) require.NoError(t, errRes) @@ -32,7 +32,7 @@ func TestQueryErrorPool(t *testing.T) { assert.Error(t, err) _, err = querier(ctx, []string{types.QueryPool}, query) assert.Error(t, err) - keeper.DestroyPool(ctx, pool.ExternalAsset.Ticker) + keeper.DestroyPool(ctx, pool.ExternalAsset.Symbol) query.Path = "" query.Data = qp _, err = querier(ctx, []string{types.QueryPool}, query) @@ -54,7 +54,7 @@ func TestQueryGetPool(t *testing.T) { querier := clp.NewQuerier(keeper) //Test Pool queryPool := types.QueryReqGetPool{ - Ticker: pool.ExternalAsset.Ticker, + Symbol: pool.ExternalAsset.Symbol, } qp, errRes := cdc.MarshalJSON(queryPool) require.NoError(t, errRes) @@ -119,7 +119,7 @@ func TestQueryErrorLiquidityProvider(t *testing.T) { //Test Get Liquidity Provider queryLp := types.QueryReqLiquidityProvider{ - Ticker: "", //lp.Asset.Ticker, + Symbol: "", //lp.Asset.Ticker, LpAddress: lp.LiquidityProviderAddress, } qlp, errRes := cdc.MarshalJSON(queryLp) @@ -143,7 +143,7 @@ func TestQueryGetLiquidityProvider(t *testing.T) { querier := clp.NewQuerier(keeper) //Test Get Liquidity Provider queryLp := types.QueryReqLiquidityProvider{ - Ticker: lp.Asset.Ticker, + Symbol: lp.Asset.Symbol, LpAddress: lp.LiquidityProviderAddress, } qlp, errRes := cdc.MarshalJSON(queryLp) diff --git a/x/clp/test/test_common.go b/x/clp/test/test_common.go index 124395aa9d..2ae9468c7f 100644 --- a/x/clp/test/test_common.go +++ b/x/clp/test/test_common.go @@ -75,7 +75,7 @@ func GenerateRandomPool(numberOfPools int) []types.Pool { for i := 0; i < numberOfPools; i++ { // initialize global pseudo random generator externalToken := tokens[rand.Intn(len(tokens))] - externalAsset := types.NewAsset(trimFirstRune(externalToken), trimFirstRune(externalToken), externalToken) + externalAsset := types.NewAsset(trimFirstRune(externalToken)) pool, err := types.NewPool(externalAsset, sdk.NewUint(1000), sdk.NewUint(100), sdk.NewUint(1)) if err != nil { fmt.Println("Error Generating new pool :", err) @@ -91,7 +91,7 @@ func GenerateRandomLP(numberOfLp int) []types.LiquidityProvider { rand.Seed(time.Now().Unix()) for i := 0; i < numberOfLp; i++ { externalToken := tokens[rand.Intn(len(tokens))] - asset := types.NewAsset(trimFirstRune(externalToken), trimFirstRune(externalToken), externalToken) + asset := types.NewAsset(trimFirstRune(externalToken)) lpAddess, _ := sdk.AccAddressFromBech32("sif1azpar20ck9lpys89r8x7zc8yu0qzgvtp48ng5v") lp := types.NewLiquidityProvider(asset, sdk.NewUint(1), lpAddess) lpList = append(lpList, lp) @@ -101,7 +101,7 @@ func GenerateRandomLP(numberOfLp int) []types.LiquidityProvider { func trimFirstRune(s string) string { _, i := utf8.DecodeRuneInString(s) - return strings.ToUpper(s[i:]) + return strings.ToLower(s[i:]) } func GenerateAddress(key string) sdk.AccAddress { diff --git a/x/clp/types/asset.go b/x/clp/types/asset.go index b8a9ef3541..00eeab35f9 100644 --- a/x/clp/types/asset.go +++ b/x/clp/types/asset.go @@ -8,40 +8,29 @@ import ( ) type Asset struct { - SourceChain string `json:"source_chain"` - Symbol string `json:"symbol"` - Ticker string `json:"ticker"` + Symbol string `json:"symbol"` } type Assets []Asset // NewAsset returns a new Asset -func NewAsset(sourceChain string, symbol string, ticker string) Asset { +func NewAsset(symbol string) Asset { return Asset{ - SourceChain: sourceChain, - Symbol: symbol, - Ticker: ticker, + Symbol: symbol, } } // implement fmt.Stringer func (a Asset) String() string { - return strings.TrimSpace(fmt.Sprintf(`SourceChain: %s -Symbol: %s -Ticker: %s`, a.SourceChain, a.Symbol, a.Ticker)) + return strings.TrimSpace(fmt.Sprintf(` +Symbol: %s`, a.Symbol)) } func (a Asset) Validate() bool { - if !VerifyRange(len(strings.TrimSpace(a.SourceChain)), 0, MaxSourceChainLength) { - return false - } if !VerifyRange(len(strings.TrimSpace(a.Symbol)), 0, MaxSymbolLength) { return false } - if !VerifyRange(len(strings.TrimSpace(a.Ticker)), 0, MaxTickerLength) { - return false - } - coin := sdk.NewCoin(a.Ticker, sdk.OneInt()) + coin := sdk.NewCoin(a.Symbol, sdk.OneInt()) return coin.IsValid() } @@ -56,18 +45,16 @@ func VerifyRange(num, low, high int) bool { } func (a Asset) Equals(a2 Asset) bool { - return a.SourceChain == (a2.SourceChain) && a.Symbol == (a2.Symbol) && a.Ticker == (a2.Ticker) + return a.Symbol == (a2.Symbol) } func (a Asset) IsEmpty() bool { - return a.SourceChain == "" || a.Symbol == "" || a.Ticker == "" + return a.Symbol == "" } func GetSettlementAsset() Asset { return Asset{ - SourceChain: NativeChain, - Symbol: NativeSymbol, - Ticker: NativeTicker, + Symbol: NativeSymbol, } } diff --git a/x/clp/types/events.go b/x/clp/types/events.go index 625f281fa0..9caf89fdad 100644 --- a/x/clp/types/events.go +++ b/x/clp/types/events.go @@ -6,7 +6,7 @@ const ( EventTypeCreatePool = "created_new_pool" EventTypeDecommissionPool = "decommission_pool" EventTypeCreateLiquidityProvider = "created_new_liquidity_provider" - EventTypeAddLiquidity = "added_liqudity" + EventTypeAddLiquidity = "added_liquidity" EventTypeRemoveLiquidity = "removed_liquidity" EventTypeSwap = "swap" AttributeKeySwapAmount = "swap_amount" diff --git a/x/clp/types/keys.go b/x/clp/types/keys.go index 2185bbdda8..50ae51a879 100644 --- a/x/clp/types/keys.go +++ b/x/clp/types/keys.go @@ -17,14 +17,10 @@ const ( // QuerierRoute to be used for querier msgs QuerierRoute = ModuleName - NativeTicker = "rwn" - NativeChain = "SIFCHAIN" - NativeSymbol = "RWN" - - MaxTickerLength = 6 - MaxSymbolLength = 6 - MaxSourceChainLength = 20 - MaxWbasis = 10000 + NativeSymbol = "rowan" + + MaxSymbolLength = 10 + MaxWbasis = 10000 ) var ( diff --git a/x/clp/types/msgs.go b/x/clp/types/msgs.go index 85736a92ca..1d42c68fbf 100644 --- a/x/clp/types/msgs.go +++ b/x/clp/types/msgs.go @@ -17,11 +17,11 @@ var ( type MsgDecommissionPool struct { Signer sdk.AccAddress `json:"signer"` - Ticker string `json:"ticker"` + Symbol string `json:"symbol"` } -func NewMsgDecommissionPool(signer sdk.AccAddress, ticker string) MsgDecommissionPool { - return MsgDecommissionPool{Signer: signer, Ticker: ticker} +func NewMsgDecommissionPool(signer sdk.AccAddress, symbol string) MsgDecommissionPool { + return MsgDecommissionPool{Signer: signer, Symbol: symbol} } func (m MsgDecommissionPool) Route() string { @@ -36,8 +36,8 @@ func (m MsgDecommissionPool) ValidateBasic() error { if m.Signer.Empty() { return sdkerrors.Wrap(sdkerrors.ErrInvalidAddress, m.Signer.String()) } - if !VerifyRange(len(strings.TrimSpace(m.Ticker)), 0, MaxTickerLength) { - return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, m.Ticker) + if !VerifyRange(len(strings.TrimSpace(m.Symbol)), 0, MaxSymbolLength) { + return sdkerrors.Wrap(sdkerrors.ErrInvalidRequest, m.Symbol) } return nil } diff --git a/x/clp/types/msgs_test.go b/x/clp/types/msgs_test.go index 6f371c875b..566a796227 100644 --- a/x/clp/types/msgs_test.go +++ b/x/clp/types/msgs_test.go @@ -33,14 +33,22 @@ func NewSigner(signer string) sdk.AccAddress { return res } +func GetETHAsset() Asset { + return NewAsset("eth") +} + +func GetWrongAsset() Asset { + return NewAsset("deadbeeefdeadbeeef") +} + func TestNewMsgCreatePool(t *testing.T) { signer := NewSigner("A58856F0FD53BF058B4909A21AEC019107BA6") - asset := NewAsset("Ethereum", "ETH", "ceth") + asset := GetETHAsset() newpool := NewMsgCreatePool(signer, asset, sdk.NewUint(1000), sdk.NewUint(100)) err := newpool.ValidateBasic() assert.NoError(t, err) assert.Equal(t, newpool.GetSigners()[0], signer) - wrongAsset := NewAsset("Ethereum", "ETH", "deadbeef") + wrongAsset := GetWrongAsset() newpool = NewMsgCreatePool(signer, wrongAsset, sdk.NewUint(1000), sdk.NewUint(100)) err = newpool.ValidateBasic() assert.Error(t, err) @@ -48,25 +56,25 @@ func TestNewMsgCreatePool(t *testing.T) { func TestNewMsgDecommissionPool(t *testing.T) { signer := NewSigner("A58856F0FD53BF058B4909A21AEC019107BA6") - asset := NewAsset("Ethereum", "ETH", "ceth") - tx := NewMsgDecommissionPool(signer, asset.Ticker) + asset := GetETHAsset() + tx := NewMsgDecommissionPool(signer, asset.Symbol) err := tx.ValidateBasic() assert.NoError(t, err) assert.Equal(t, tx.GetSigners()[0], signer) - wrongAsset := NewAsset("Ethereum", "ETH", "deadbeef") - tx = NewMsgDecommissionPool(signer, wrongAsset.Ticker) + wrongAsset := GetWrongAsset() + tx = NewMsgDecommissionPool(signer, wrongAsset.Symbol) err = tx.ValidateBasic() assert.Error(t, err) } func TestNewMsgSwap(t *testing.T) { signer := NewSigner("A58856F0FD53BF058B4909A21AEC019107BA6") - asset := NewAsset("Ethereum", "ETH", "ceth") + asset := GetETHAsset() tx := NewMsgSwap(signer, asset, GetSettlementAsset(), sdk.NewUint(100)) err := tx.ValidateBasic() assert.NoError(t, err) assert.Equal(t, tx.GetSigners()[0], signer) - wrongAsset := NewAsset("Ethereum", "ETH", "deadbeef") + wrongAsset := GetWrongAsset() tx = NewMsgSwap(signer, wrongAsset, GetSettlementAsset(), sdk.NewUint(100)) err = tx.ValidateBasic() assert.Error(t, err) @@ -77,12 +85,12 @@ func TestNewMsgSwap(t *testing.T) { func TestNewMsgAddLiquidity(t *testing.T) { signer := NewSigner("A58856F0FD53BF058B4909A21AEC019107BA6") - asset := NewAsset("Ethereum", "ETH", "ceth") + asset := GetETHAsset() tx := NewMsgAddLiquidity(signer, asset, sdk.NewUint(100), sdk.NewUint(100)) err := tx.ValidateBasic() assert.NoError(t, err) assert.Equal(t, tx.GetSigners()[0], signer) - wrongAsset := NewAsset("Ethereum", "ETH", "deadbeef") + wrongAsset := GetWrongAsset() tx = NewMsgAddLiquidity(signer, wrongAsset, sdk.NewUint(100), sdk.NewUint(100)) err = tx.ValidateBasic() assert.Error(t, err) @@ -90,12 +98,12 @@ func TestNewMsgAddLiquidity(t *testing.T) { func TestNewMsgRemoveLiquidity(t *testing.T) { signer := NewSigner("A58856F0FD53BF058B4909A21AEC019107BA6") - asset := NewAsset("Ethereum", "ETH", "ceth") + asset := GetETHAsset() tx := NewMsgRemoveLiquidity(signer, asset, sdk.NewInt(100), sdk.NewInt(100)) err := tx.ValidateBasic() assert.NoError(t, err) assert.Equal(t, tx.GetSigners()[0], signer) - wrongAsset := NewAsset("Ethereum", "ETH", "deadbeef") + wrongAsset := GetWrongAsset() tx = NewMsgRemoveLiquidity(signer, wrongAsset, sdk.NewInt(100), sdk.NewInt(100)) err = tx.ValidateBasic() assert.Error(t, err) diff --git a/x/clp/types/querier.go b/x/clp/types/querier.go index 9b053c82db..276bb99577 100644 --- a/x/clp/types/querier.go +++ b/x/clp/types/querier.go @@ -10,20 +10,20 @@ const ( ) type QueryReqGetPool struct { - Ticker string `json:"ticker"` + Symbol string `json:"symbol"` } -func NewQueryReqGetPool(ticker string) QueryReqGetPool { - return QueryReqGetPool{Ticker: ticker} +func NewQueryReqGetPool(symbol string) QueryReqGetPool { + return QueryReqGetPool{Symbol: symbol} } type QueryReqLiquidityProvider struct { - Ticker string `json:"ticker"` + Symbol string `json:"symbol"` LpAddress sdk.AccAddress `json:"lp_address"` } -func NewQueryReqLiquidityProvider(ticker string, lpAddress sdk.AccAddress) QueryReqLiquidityProvider { - return QueryReqLiquidityProvider{Ticker: ticker, LpAddress: lpAddress} +func NewQueryReqLiquidityProvider(symbol string, lpAddress sdk.AccAddress) QueryReqLiquidityProvider { + return QueryReqLiquidityProvider{Symbol: symbol, LpAddress: lpAddress} } type QueryReqGetAssetList struct {