diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 295900b..f541171 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -36,7 +36,7 @@ jobs: - name: Build run: | go build ./cmd/consumer-democracy - mv ./consumer-democracy appnamed + mv ./consumer-democracy onexd - name: Upload id: upload-release-asset uses: actions/upload-release-asset@v1 @@ -44,6 +44,6 @@ jobs: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: appnamed - asset_name: appnamed + asset_path: onexd + asset_name: onexd asset_content_type: application/bin \ No newline at end of file diff --git a/app/consumer-democracy/app.go b/app/consumer-democracy/app.go index a5d2fa9..f41707c 100644 --- a/app/consumer-democracy/app.go +++ b/app/consumer-democracy/app.go @@ -109,10 +109,14 @@ import ( // unnamed import of statik for swagger UI support _ "github.com/cosmos/cosmos-sdk/client/docs/statik" + + marketmodule "github.com/pendulum-labs/market/x/market" + marketmodulekeeper "github.com/pendulum-labs/market/x/market/keeper" + marketmoduletypes "github.com/pendulum-labs/market/x/market/types" ) const ( - AppName = "appname" + AppName = "onex" upgradeName = "v0.1.0" AccountAddressPrefix = "onomy" ) @@ -147,6 +151,7 @@ var ( vesting.AppModuleBasic{}, // router.AppModuleBasic{}, consumer.AppModuleBasic{}, + marketmodule.AppModuleBasic{}, ) // module account permissions @@ -155,11 +160,12 @@ var ( stakingtypes.BondedPoolName: {authtypes.Burner, authtypes.Staking}, stakingtypes.NotBondedPoolName: {authtypes.Burner, authtypes.Staking}, distrtypes.ModuleName: nil, - minttypes.ModuleName: {authtypes.Minter}, + minttypes.ModuleName: {authtypes.Minter, authtypes.Burner}, consumertypes.ConsumerRedistributeName: nil, consumertypes.ConsumerToSendToProviderName: nil, ibctransfertypes.ModuleName: {authtypes.Minter, authtypes.Burner}, govtypes.ModuleName: {authtypes.Burner}, + marketmoduletypes.ModuleName: {authtypes.Minter, authtypes.Burner, authtypes.Staking}, } ) @@ -210,6 +216,8 @@ type App struct { // nolint: golint ScopedTransferKeeper capabilitykeeper.ScopedKeeper ScopedIBCConsumerKeeper capabilitykeeper.ScopedKeeper + MarketKeeper marketmodulekeeper.Keeper + // the module manager MM *module.Manager @@ -256,6 +264,7 @@ func New( evidencetypes.StoreKey, ibctransfertypes.StoreKey, capabilitytypes.StoreKey, authzkeeper.StoreKey, consumertypes.StoreKey, + marketmoduletypes.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey) memKeys := sdk.NewMemoryStoreKeys(capabilitytypes.MemStoreKey) @@ -467,6 +476,16 @@ func New( app.EvidenceKeeper = *evidenceKeeper + app.MarketKeeper = *marketmodulekeeper.NewKeeper( + appCodec, + keys[marketmoduletypes.StoreKey], + keys[marketmoduletypes.MemStoreKey], + app.GetSubspace(marketmoduletypes.ModuleName), + + app.BankKeeper, + ) + marketModule := marketmodule.NewAppModule(appCodec, app.MarketKeeper, app.AccountKeeper, app.BankKeeper) + skipGenesisInvariants := cast.ToBool(appOpts.Get(crisis.FlagSkipGenesisInvariants)) // NOTE: Any module instantiated in the module manager that is later modified @@ -490,6 +509,7 @@ func New( ibc.NewAppModule(app.IBCKeeper), transferModule, consumerModule, + marketModule, ) // During begin block slashing happens after distr.BeginBlocker so that @@ -517,6 +537,7 @@ func New( vestingtypes.ModuleName, ibctransfertypes.ModuleName, ibchost.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) app.MM.SetOrderEndBlockers( @@ -537,6 +558,7 @@ func New( vestingtypes.ModuleName, ibctransfertypes.ModuleName, ibchost.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) @@ -564,6 +586,7 @@ func New( vestingtypes.ModuleName, ibchost.ModuleName, ibctransfertypes.ModuleName, + marketmoduletypes.ModuleName, consumertypes.ModuleName, ) @@ -591,6 +614,7 @@ func New( evidence.NewAppModule(app.EvidenceKeeper), ibc.NewAppModule(app.IBCKeeper), authzmodule.NewAppModule(appCodec, app.AuthzKeeper, app.AccountKeeper, app.BankKeeper, app.interfaceRegistry), transferModule, + marketModule, ) app.sm.RegisterStoreDecoders() @@ -899,6 +923,7 @@ func initParamsKeeper(appCodec codec.BinaryCodec, legacyAmino *codec.LegacyAmino paramsKeeper.Subspace(ibctransfertypes.ModuleName) paramsKeeper.Subspace(ibchost.ModuleName) paramsKeeper.Subspace(consumertypes.ModuleName) + paramsKeeper.Subspace(marketmoduletypes.ModuleName) return paramsKeeper } diff --git a/app/consumer-democracy/proposals_whitelisting.go b/app/consumer-democracy/proposals_whitelisting.go index 3b8f0a7..1338a59 100644 --- a/app/consumer-democracy/proposals_whitelisting.go +++ b/app/consumer-democracy/proposals_whitelisting.go @@ -10,6 +10,7 @@ import ( stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" ibctransfertypes "github.com/cosmos/ibc-go/v4/modules/apps/transfer/types" consumertypes "github.com/cosmos/interchain-security/x/ccv/consumer/types" + marketmoduletypes "github.com/pendulum-labs/market/x/market/types" ) func IsProposalWhitelisted(content govtypes.Content) bool { @@ -73,4 +74,9 @@ var WhitelistedParams = map[paramChangeKey]struct{}{ {Subspace: consumertypes.ModuleName, Key: "ConsumerRedistributionFraction"}: {}, {Subspace: consumertypes.ModuleName, Key: "BlocksPerDistributionTransmission"}: {}, {Subspace: consumertypes.ModuleName, Key: "TransferTimeoutPeriod"}: {}, + // market + {Subspace: marketmoduletypes.ModuleName, Key: "BurnCoin"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "BurnRate"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "EarnRates"}: {}, + {Subspace: marketmoduletypes.ModuleName, Key: "MarketFee"}: {}, } diff --git a/go.mod b/go.mod index 42f3da6..d83408e 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( // NOTE: the canonical consumer version can be different from the producer, check the ICS repo github.com/cosmos/interchain-security v1.2.0-multiden github.com/gorilla/mux v1.8.0 + github.com/pendulum-labs/market v0.1.1 github.com/rakyll/statik v0.1.7 github.com/spf13/cast v1.5.1 github.com/stretchr/testify v1.8.3 @@ -130,15 +131,15 @@ require ( github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.1 // indirect go.etcd.io/bbolt v1.3.6 // indirect - golang.org/x/crypto v0.11.0 // indirect + golang.org/x/crypto v0.12.0 // indirect golang.org/x/exp v0.0.0-20221019170559-20944726eadf // indirect - golang.org/x/net v0.12.0 // indirect - golang.org/x/sys v0.10.0 // indirect - golang.org/x/term v0.10.0 // indirect - golang.org/x/text v0.11.0 // indirect - google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e // indirect + golang.org/x/net v0.14.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect + golang.org/x/text v0.12.0 // indirect + google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect google.golang.org/grpc v1.57.0 // indirect google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect @@ -149,10 +150,11 @@ require ( replace ( github.com/99designs/keyring => github.com/cosmos/keyring v1.2.0 - //github.com/cosmos/cosmos-sdk => ../../onomy-sdk + //github.com/cosmos/cosmos-sdk => ../onomy-sdk github.com/cosmos/cosmos-sdk => github.com/cosmos/cosmos-sdk v0.45.16-ics github.com/gogo/protobuf => github.com/regen-network/protobuf v1.3.3-alpha.regen.1 github.com/keybase/go-keychain => github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 + github.com/pendulum-labs/market => github.com/onomyprotocol/market v0.1.1 github.com/tendermint/tendermint => github.com/cometbft/cometbft v0.34.28 google.golang.org/grpc => google.golang.org/grpc v1.33.2 ) diff --git a/go.sum b/go.sum index b0b9094..5db1816 100644 --- a/go.sum +++ b/go.sum @@ -2123,6 +2123,8 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/olekukonko/tablewriter v0.0.1/go.mod h1:vsDQFd/mU46D+Z4whnwzcISnGGzXWMclvtLoiIKAKIo= github.com/olekukonko/tablewriter v0.0.2/go.mod h1:rSAaSIOAGT9odnlyGlUfAJaoc5w2fSBUmeGDbRWPxyQ= github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onomyprotocol/market v0.1.1 h1:J7hiimYUwf5RyF6ng7RFrngia1yPnT8eEiIMKLyVV60= +github.com/onomyprotocol/market v0.1.1/go.mod h1:Tm4EBqpG4PnDw3317bblVRiOX49O9QyS2MqsDEYR1V8= github.com/onsi/ginkgo v0.0.0-20151202141238-7f8ab55aaf3b/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= 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= @@ -2583,6 +2585,7 @@ github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2l github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tendermint/spm v0.1.9 h1:O1DJF4evS8wgk5SZqRcO29irNNtKQmTpvQ0xFzUiczI= github.com/tendermint/spm v0.1.9/go.mod h1:iHgfQ5YOI6ONc9E7ugGQolVdfSMHpeXfZ/OpXuN/42Q= +github.com/tendermint/starport v0.19.2 h1:pRN0x/GyI+gQDO0rY5KtJnvKaZL/rN1UsoofmnIbXV4= github.com/tendermint/tm-db v0.6.4/go.mod h1:dptYhIpJ2M5kUuenLr+Yyf3zQOv1SgBZcl8/BmWlMBw= github.com/tendermint/tm-db v0.6.6/go.mod h1:wP8d49A85B7/erz/r4YbKssKw6ylsO/hKtFk7E1aWZI= github.com/tendermint/tm-db v0.6.7 h1:fE00Cbl0jayAoqlExN6oyQJ7fR/ZtoVOmvPJ//+shu8= @@ -2895,8 +2898,8 @@ golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw golang.org/x/crypto v0.2.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= golang.org/x/crypto v0.5.0/go.mod h1:NK/OQwhpMQP3MwtdjgLlYHnH9ebylxKWv3e0fK+mkQU= -golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= -golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= +golang.org/x/crypto v0.12.0 h1:tFM/ta59kqch6LlvYnPa0yx5a83cL2nHflFhYKvv9Yk= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= @@ -3058,8 +3061,8 @@ golang.org/x/net v0.3.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.4.0/go.mod h1:MBQ8lrhLObU/6UmLb4fmbmk5OcyYmqtbGd/9yIeKjEE= golang.org/x/net v0.5.0/go.mod h1:DivGGAXEgPSlEBzxGzZI+ZLohi+xUj054jfeKui00ws= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= -golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= -golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= +golang.org/x/net v0.14.0 h1:BONx9s002vGdD9umnlX1Po8vOZmrgH34qlHcD1MfK14= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= golang.org/x/oauth2 v0.0.0-20180724155351-3d292e4d0cdc/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20181017192945-9dcd33a902f4/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= @@ -3295,8 +3298,8 @@ golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.3.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.4.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= -golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0 h1:eG7RXZHdqOJ1i+0lgLgCpSXAp6M3LYlAo6osgSi0xOM= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210220032956-6a3ed077a48d/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= @@ -3310,8 +3313,8 @@ golang.org/x/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= golang.org/x/term v0.3.0/go.mod h1:q750SLmJuPmVoN1blW3UFBPREJfb1KmY3vwxfr+nFDA= golang.org/x/term v0.4.0/go.mod h1:9P2UbLfCdcvo3p/nzKvsmas4TnlujnuoV9hGgYzW1lQ= golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= -golang.org/x/term v0.10.0 h1:3R7pNqamzBraeqj/Tj8qt1aQ2HpmlC+Cx/qL/7hn4/c= -golang.org/x/term v0.10.0/go.mod h1:lpqdcUyK/oCiQxvxVrppt5ggO2KCZ5QblwqPnfZ6d5o= +golang.org/x/term v0.11.0 h1:F9tnn/DA/Im8nCwm+fX+1/eBwi4qFjRT++MhtVC4ZX0= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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= @@ -3327,8 +3330,8 @@ golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.5.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.6.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= -golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.12.0 h1:k+n5B8goJNdU7hSvEtMUz3d1Q6D/XW4COJSJR6fN0mc= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 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= @@ -3710,12 +3713,12 @@ google.golang.org/genproto v0.0.0-20221117204609-8f9c96812029/go.mod h1:rZS5c/ZV google.golang.org/genproto v0.0.0-20221118155620-16455021b5e6/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20221201164419-0e50fba7f41c/go.mod h1:rZS5c/ZVYMaOGBfO68GWtjOw/eLaZM1X6iVtgjZ+EWg= google.golang.org/genproto v0.0.0-20230125152338-dcaf20b6aeaa/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= -google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e h1:z3vDksarJxsAKM5dmEGv0GHwE2hKJ096wZra71Vs4sw= -google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e h1:S83+ibolgyZ0bqz7KEsUOPErxcv4VzlszxY+31OfB/E= -google.golang.org/genproto/googleapis/rpc v0.0.0-20230726155614-23370e0ffb3e/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 h1:L6iMMGrtzgHsWofoFcihmDEMYeDR9KN/ThbPWGrh++g= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q= +google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/grpc v1.33.2 h1:EQyQC3sa8M+p6Ulc8yy9SWSS2GVwyRc83gAbG8lrl4o= google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= diff --git a/tests/Cargo.toml b/tests/Cargo.toml index 90ca177..b5a640f 100644 --- a/tests/Cargo.toml +++ b/tests/Cargo.toml @@ -12,5 +12,5 @@ path = "src/lib/common.rs" clap = { version = "4", features = ["derive"] } log = "0.4" #onomy_test_lib = { path = "./../../onomy_tests/onomy_test_lib" } -onomy_test_lib = { git = "https://github.com/pendulum-labs/onomy_tests", rev = "d4d53a111b39875a9b5542f3d6f7fd92004a22f1" } +onomy_test_lib = { git = "https://github.com/pendulum-labs/onomy_tests", rev = "b3648d04632543b88df16223550f628474c77583" } tokio = { version = "1", default-features = false } diff --git a/tests/src/bin/ics_with_onomyd.rs b/tests/src/bin/ics_with_onomyd.rs index 41dec32..f27e68c 100644 --- a/tests/src/bin/ics_with_onomyd.rs +++ b/tests/src/bin/ics_with_onomyd.rs @@ -16,6 +16,7 @@ use onomy_test_lib::{ hermes_set_gas_price_denom, hermes_start, sh_hermes, write_hermes_config, HermesChainConfig, IbcPair, }, + market::{CoinPair, Market}, onomy_std_init, reprefix_bech32, setups::{ cosmovisor_add_consumer, marketd_setup, onomyd_setup, test_proposal, CosmosSetupOptions, @@ -27,9 +28,11 @@ use onomy_test_lib::{ stacked_errors::{Error, Result, StackableErr}, FileOptions, STD_DELAY, STD_TRIES, }, - token18, u64_array_bigints, - u64_array_bigints::u256, - yaml_str_to_json_value, Args, ONOMY_IBC_NOM, TIMEOUT, + token18, + u64_array_bigints::{ + u256, {self}, + }, + yaml_str_to_json_value, Args, ONOMY_IBC_NOM, TEST_AMOUNT, TIMEOUT, }; use tokio::time::sleep; @@ -210,9 +213,9 @@ async fn onomyd_runner(args: &Args) -> Result<()> { .stack() .stack()?; - let mnemonic = onomyd_setup(CosmosSetupOptions::new(daemon_home)) - .await - .stack()?; + let mut options = CosmosSetupOptions::new(daemon_home); + options.large_test_amount = true; + let mnemonic = onomyd_setup(options).await.stack()?; // send mnemonic to hermes nm_hermes.send::(&mnemonic).await.stack()?; @@ -268,7 +271,7 @@ async fn onomyd_runner(args: &Args) -> Result<()> { .cosmovisor_ibc_transfer( "validator", &reprefix_bech32(addr, CONSUMER_ACCOUNT_PREFIX).stack()?, - &token18(5.0e3, ""), + &TEST_AMOUNT.checked_short_divide(5).unwrap().0.to_string(), "anom", ) .await @@ -402,6 +405,56 @@ async fn consumer(args: &Args) -> Result<()> { .stack()?; wait_for_num_blocks(4).await.stack()?; + // market module specific sanity checks (need to check all tx commands + // specifically to make sure permissions are correct) + + let coin_pair = CoinPair::new("anative", ibc_nom).stack()?; + let mut market = Market::new("validator", &format!("1000000{ibc_nom}")); + market.gas = Some("300000".to_owned()); + market + .create_pool(&coin_pair, Market::MAX_COIN, Market::MAX_COIN) + .await + .stack()?; + market + .create_drop(&coin_pair, Market::MAX_COIN_SQUARED) + .await + .stack()?; + market.show_pool(&coin_pair).await.stack()?; + market.show_members(&coin_pair).await.stack()?; + market + .market_order( + coin_pair.coin_a(), + coin_pair.coin_b(), + Market::MAX_COIN, + 5000, + ) + .await + .stack()?; + market.redeem_drop(1).await.stack()?; + market + .create_order( + coin_pair.coin_a(), + coin_pair.coin_b(), + "stop", + Market::MAX_COIN, + (1100, 900), + (0, 0), + ) + .await + .stack()?; + market + .create_order( + coin_pair.coin_a(), + coin_pair.coin_b(), + "limit", + Market::MAX_COIN, + (1100, 900), + (0, 0), + ) + .await + .stack()?; + market.cancel_order(5).await.stack()?; + let pubkey = sh_cosmovisor("tendermint show-validator", &[]) .await .stack()?; diff --git a/tests/src/lib/common.rs b/tests/src/lib/common.rs index 13281d2..8a133ca 100644 --- a/tests/src/lib/common.rs +++ b/tests/src/lib/common.rs @@ -1,7 +1,7 @@ use onomy_test_lib::dockerfiles::onomy_std_cosmos_daemon_with_arbitrary; pub const CONSUMER_TYPE: &str = "consumer-democracy"; -pub const CONSUMER_ID: &str = "appname"; +pub const CONSUMER_ID: &str = "onex"; pub const CONSUMER_VERSION: &str = "v0.1.0"; pub const PROVIDER_ACCOUNT_PREFIX: &str = "onomy"; pub const CONSUMER_ACCOUNT_PREFIX: &str = "onomy";