diff --git a/app/abci.go b/app/abci.go index bcaf0de3d6..2529657ed7 100644 --- a/app/abci.go +++ b/app/abci.go @@ -4,10 +4,12 @@ import ( "context" "time" + "github.com/cosmos/cosmos-sdk/baseapp" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/sei-protocol/sei-chain/utils/metrics" abci "github.com/tendermint/tendermint/abci/types" "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/trace" ) func (app *App) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) (res abci.ResponseBeginBlock) { @@ -34,11 +36,19 @@ func (app *App) CheckTx(ctx context.Context, req *abci.RequestCheckTx) (*abci.Re func (app *App) DeliverTx(ctx sdk.Context, req abci.RequestDeliverTx) abci.ResponseDeliverTx { defer metrics.MeasureDeliverTxDuration(time.Now()) - tracectx, span := (*app.tracingInfo.Tracer).Start(app.tracingInfo.TracerContext, "DeliverTx") - oldCtx := app.tracingInfo.TracerContext - app.tracingInfo.TracerContext = tracectx - defer span.End() - defer func() { app.tracingInfo.TracerContext = oldCtx }() + var span trace.Span + ctx = ctx.WithContext( + context.WithValue( + context.WithValue( + ctx.Context(), baseapp.RunTxPreHookKey, func() { + _, span = (*app.tracingInfo.Tracer).Start(app.tracingInfo.TracerContext, "DeliverTx") + }, + ), + baseapp.RunTxPostHookKey, func() { + span.End() + }, + ), + ) return app.BaseApp.DeliverTx(ctx, req) } diff --git a/app/antedecorators/depdecorators/signers.go b/app/antedecorators/depdecorators/signers.go index f123e8dca5..ce0608d5ed 100644 --- a/app/antedecorators/depdecorators/signers.go +++ b/app/antedecorators/depdecorators/signers.go @@ -5,8 +5,6 @@ import ( sdkacltypes "github.com/cosmos/cosmos-sdk/types/accesscontrol" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" authsigning "github.com/cosmos/cosmos-sdk/x/auth/signing" - authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" - utils "github.com/sei-protocol/sei-chain/aclmapping/utils" ) type SignerDepDecorator struct { @@ -27,8 +25,8 @@ func (d SignerDepDecorator) AnteDeps(txDeps []sdkacltypes.AccessOperation, tx sd for _, signer := range sigTx.GetSigners() { txDeps = append(txDeps, sdkacltypes.AccessOperation{ AccessType: accessType, - ResourceType: sdkacltypes.ResourceType_KV, - IdentifierTemplate: utils.GetPrefixedIdentifierTemplatePerModule(utils.ACCOUNT, signer.String(), string(authtypes.AddressStoreKeyPrefix)), + ResourceType: sdkacltypes.ResourceType_KV_ACC, + IdentifierTemplate: signer.String(), }) } return next(txDeps, tx) diff --git a/app/app.go b/app/app.go index 5b1a7bca10..ab42ed3213 100644 --- a/app/app.go +++ b/app/app.go @@ -1318,5 +1318,5 @@ func (app *App) decorateContextWithDexMemState(base context.Context) context.Con func init() { // override max wasm size to 1MB - wasmtypes.MaxWasmSize = 1024 * 1024 + wasmtypes.MaxWasmSize = 2048 * 1024 } diff --git a/go.mod b/go.mod index eeb77f3c14..463dc9d01e 100644 --- a/go.mod +++ b/go.mod @@ -131,7 +131,7 @@ require ( ) replace ( - github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.1.176 + github.com/cosmos/cosmos-sdk => github.com/sei-protocol/sei-cosmos v0.1.191 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/tendermint/tendermint => github.com/sei-protocol/sei-tendermint v0.1.59 diff --git a/go.sum b/go.sum index fd2cf03824..907ebd7fd6 100644 --- a/go.sum +++ b/go.sum @@ -1098,8 +1098,8 @@ github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg github.com/seccomp/libseccomp-golang v0.9.1/go.mod h1:GbW5+tmTXfcxTToHLXlScSlAvWlF4P2Ca7zGrPiEpWo= github.com/securego/gosec/v2 v2.11.0/go.mod h1:SX8bptShuG8reGC0XS09+a4H2BoWSJi+fscA+Pulbpo= github.com/segmentio/fasthash v1.0.3/go.mod h1:waKX8l2N8yckOgmSsXJi7x1ZfdKZ4x7KRMzBtS3oedY= -github.com/sei-protocol/sei-cosmos v0.1.176 h1:6UgAcryRx6C+UlouHDjxuY7T7hj3nck91QoeppyPdLc= -github.com/sei-protocol/sei-cosmos v0.1.176/go.mod h1:8ccWQxpBkWbpvBos/T4QO9K9gQxFs0duTqKRnagKo+0= +github.com/sei-protocol/sei-cosmos v0.1.191 h1:VMFNA/vxI2HZBLinop0Y/Xq6wSd5NCae7UtdoR5LCQk= +github.com/sei-protocol/sei-cosmos v0.1.191/go.mod h1:8ccWQxpBkWbpvBos/T4QO9K9gQxFs0duTqKRnagKo+0= github.com/sei-protocol/sei-tendermint v0.1.59 h1:POGL60PumMQHF4EzAHzvkGfDnodQJLHpl65LuiwSO/Y= github.com/sei-protocol/sei-tendermint v0.1.59/go.mod h1:Olwbjyagrpoxj5DAUhHxMTWDVEfQ3FYdpypaJ3+6Hs8= github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= diff --git a/loadtest/config.json b/loadtest/config.json index d8673d83b0..eed8069d92 100644 --- a/loadtest/config.json +++ b/loadtest/config.json @@ -1,7 +1,7 @@ { - "batch_size": 10, - "chain_id": "sei-loadtest-testnet", - "orders_per_block": 400, + "batch_size": 1, + "chain_id": "sei-chain", + "orders_per_block": 16, "rounds": 5, "price_distribution": { "min": "45", @@ -17,23 +17,11 @@ "limit_order_percentage": "0.2", "market_order_percentage": "0.8" }, - "message_type": "basic", + "message_type": "wasm", "contract_distribution": [ { - "contract_address": "sei1yw4xvtc43me9scqfr2jr2gzvcxd3a9y4eq7gaukreugw2yd2f8tsy4qgdm", - "percentage": "0.25" - }, - { - "contract_address": "sei1wug8sewp6cedgkmrmvhl3lf3tulagm9hnvy8p0rppz9yjw0g4wtq05fpn3", - "percentage": "0.25" - }, - { - "contract_address": "sei1qg5ega6dykkxc307y25pecuufrjkxkaggkkxh7nad0vhyhtuhw3scwfwpd", - "percentage": "0.25" - }, - { - "contract_address": "sei1zwv6feuzhy6a9wekh96cd57lsarmqlwxdypdsplw6zhfncqw6ftqr428wx", - "percentage": "0.25" + "contract_address": "sei14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sh9m79m", + "percentage": "1" } ] } diff --git a/loadtest/contracts/deploy_simple.sh b/loadtest/contracts/deploy_simple.sh new file mode 100644 index 0000000000..31ea24d41b --- /dev/null +++ b/loadtest/contracts/deploy_simple.sh @@ -0,0 +1,58 @@ +#!/bin/bash +echo -n Admin Key Name: +read keyname +echo +echo -n Chain ID: +read chainid +echo +echo -n seid binary: +read seidbin +echo +echo -n sei-chain directory: +read seihome +echo +echo -n contract count: +read count +echo + +# Build all contracts +echo "Building contracts..." + +cd $seihome/loadtest/contracts/simpleexec && cargo build --release --target wasm32-unknown-unknown + +# Deploy all contracts +echo "Deploying contracts..." + +cd $seihome/loadtest/contracts + +valaddr=$(printf "12345678\n" | $seidbin keys show $(printf "12345678\n" | $seidbin keys show node_admin --output json | jq -r .address) --bech=val --output json | jq -r '.address') +sres=$(printf "12345678\n" | $seidbin tx staking delegate $valaddr 1000000000usei --from=$keyname --chain-id=$chainid -b block -y --fees 2000usei) + +echo '{"title":"enable wasm","description":"enable wasm","message_dependency_mapping":[{"message_key":"cosmwasm.wasm.v1.MsgExecuteContract","access_ops":[{"access_type":"UNKNOWN","resource_type":"ANY","identifier_template":"*"},{"access_type":"COMMIT","resource_type":"ANY","identifier_template":"*"}],"dynamic_enabled": true}]}' > resource.json +res=$(printf "12345678\n" | $seidbin tx accesscontrol update-resource-dependency-mapping resource.json -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block --output=json) +proposalid=$(python3 parser.py proposal_id $res) +dres=$(printf "12345678\n" | $seidbin tx gov deposit $proposalid 10000000usei -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block) +vres=$(printf "12345678\n" | $seidbin tx gov vote $proposalid yes -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block) +for (( c=1; c<=$count; c++ )) +do +# store +storeres=$(printf "12345678\n" | $seidbin tx wasm store simpleexec/target/wasm32-unknown-unknown/release/simpleexec.wasm -y --from=$keyname --chain-id=$chainid --gas=50000000 --fees=1000000usei --broadcast-mode=block --output=json) +id=$(python3 parser.py code_id $storeres) + +# instantiate +insres=$(printf "12345678\n" | $seidbin tx wasm instantiate $id '{}' -y --no-admin --from=$keyname --chain-id=$chainid --gas=5000000 --fees=1000000usei --broadcast-mode=block --label=dex --output=json) +addr=$(python3 parser.py contract_address $insres) + +rm -f wasm.json +echo '{"title":"enable wasm '$addr'","description":"enable wasm '$addr'","contract_address":"'$addr'","wasm_dependency_mapping":{"enabled":true,"access_ops":[{"access_type":"WRITE","resource_type":"KV_WASM","identifier_template":"'$addr'"},{"access_type":"COMMIT","resource_type":"ANY","identifier_template":"*"}]}}' > wasm.json +res=$(printf "12345678\n" | $seidbin tx accesscontrol update-wasm-dependency-mapping wasm.json -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block --output=json) +proposalid=$(python3 parser.py proposal_id $res) +dres=$(printf "12345678\n" | $seidbin tx gov deposit $proposalid 10000000usei -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block) +vres=$(printf "12345678\n" | $seidbin tx gov vote $proposalid yes -y --from=$keyname --chain-id=$chainid --fees=10000000usei --gas=500000 --broadcast-mode=block) + +echo $addr +done + +sleep 90 + +ures=$(printf "12345678\n" | $seidbin tx staking unbond $valaddr 1000000000usei --from=$keyname --chain-id=$chainid -b block -y --fees 2000usei) \ No newline at end of file diff --git a/loadtest/contracts/simpleexec/Cargo.lock b/loadtest/contracts/simpleexec/Cargo.lock new file mode 100644 index 0000000000..0f1356721a --- /dev/null +++ b/loadtest/contracts/simpleexec/Cargo.lock @@ -0,0 +1,733 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "base16ct" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "349a06037c7bf932dd7e7d1f653678b2038b9ad46a74102f1fc7bd7872678cce" + +[[package]] +name = "base64" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "904dfeac50f3cdaba28fc6f57fdcddb75f49ed61346676a78c4ffe55877802fd" + +[[package]] +name = "base64ct" +version = "1.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b645a089122eccb6111b4f81cbc1a49f5900ac4666bb93ac027feaecf15607bf" + +[[package]] +name = "block-buffer" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4152116fd6e9dadb291ae18fc1ec3575ed6d84c29642d97890f4b4a3417297e4" +dependencies = [ + "generic-array", +] + +[[package]] +name = "block-buffer" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +dependencies = [ + "generic-array", +] + +[[package]] +name = "byteorder" +version = "1.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "const-oid" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "722e23542a15cea1f65d4a1419c4cfd7a26706c70871a13a04238ca3f40f1661" + +[[package]] +name = "cosmwasm-crypto" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28376836c7677e1ea6d6656a754582e88b91e544ce22fae42956d5fe5549a958" +dependencies = [ + "digest 0.10.5", + "ed25519-zebra", + "k256", + "rand_core 0.6.4", + "thiserror", +] + +[[package]] +name = "cosmwasm-derive" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8eb69f4f7a8a4bce68c8fbd3646238fede1e77056e4ea31c5b6bfc37b709eec3" +dependencies = [ + "syn", +] + +[[package]] +name = "cosmwasm-schema" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a227cfeb9a7152b26a354b1c990e930e962f75fd68f57ab5ae2ef888c8524292" +dependencies = [ + "cosmwasm-schema-derive", + "schemars", + "serde", + "serde_json", + "thiserror", +] + +[[package]] +name = "cosmwasm-schema-derive" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3626cb42eef870de67f791e873711255325224d86f281bf628c42abd295f3a14" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "cosmwasm-std" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "46bf9157d060abbc55152aeadcace799d03dc630575daa66604079a1206cb060" +dependencies = [ + "base64", + "cosmwasm-crypto", + "cosmwasm-derive", + "derivative", + "forward_ref", + "hex", + "schemars", + "serde", + "serde-json-wasm", + "thiserror", + "uint", +] + +[[package]] +name = "cosmwasm-storage" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b61fcfef87d15af0263e2e4d792af80355929674a3b4e29ffb3c898ec6e25852" +dependencies = [ + "cosmwasm-std", + "serde", +] + +[[package]] +name = "cpufeatures" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d997bd5e24a5928dd43e46dc529867e207907fe0b239c3477d924f7f2ca320" +dependencies = [ + "libc", +] + +[[package]] +name = "crunchy" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a81dae078cea95a014a339291cec439d2f232ebe854a9d672b796c6afafa9b7" + +[[package]] +name = "crypto-bigint" +version = "0.4.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef2b4b23cddf68b89b8f8069890e8c270d54e2d5fe1b143820234805e4cb17ef" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + +[[package]] +name = "crypto-common" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" +dependencies = [ + "generic-array", + "typenum", +] + +[[package]] +name = "curve25519-dalek" +version = "3.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b9fdf9972b2bd6af2d913799d9ebc165ea4d2e65878e329d9c6b372c4491b61" +dependencies = [ + "byteorder", + "digest 0.9.0", + "rand_core 0.5.1", + "subtle", + "zeroize", +] + +[[package]] +name = "cw-storage-plus" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "648b1507290bbc03a8d88463d7cd9b04b1fa0155e5eef366c4fa052b9caaac7a" +dependencies = [ + "cosmwasm-std", + "schemars", + "serde", +] + +[[package]] +name = "cw-utils" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9dbaecb78c8e8abfd6b4258c7f4fbeb5c49a5e45ee4d910d3240ee8e1d714e1b" +dependencies = [ + "cosmwasm-std", + "schemars", + "serde", + "thiserror", +] + +[[package]] +name = "cw2" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "04cf4639517490dd36b333bbd6c4fbd92e325fd0acf4683b41753bc5eb63bfc1" +dependencies = [ + "cosmwasm-std", + "cw-storage-plus", + "schemars", + "serde", +] + +[[package]] +name = "cw20" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4cb782b8f110819a4eb5dbbcfed25ffba49ec16bbe32b4ad8da50a5ce68fec05" +dependencies = [ + "cosmwasm-std", + "cw-utils", + "schemars", + "serde", +] + +[[package]] +name = "der" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13dd2ae565c0a381dde7fade45fce95984c568bdcb4700a4fdbe3175e0380b2f" +dependencies = [ + "const-oid", + "zeroize", +] + +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "digest" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3dd60d1080a57a05ab032377049e0591415d2b31afd7028356dbf3cc6dcb066" +dependencies = [ + "generic-array", +] + +[[package]] +name = "digest" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adfbc57365a37acbd2ebf2b64d7e69bb766e2fea813521ed536f5d0520dcf86c" +dependencies = [ + "block-buffer 0.10.3", + "crypto-common", + "subtle", +] + +[[package]] +name = "dyn-clone" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4f94fa09c2aeea5b8839e414b7b841bf429fd25b9c522116ac97ee87856d88b2" + +[[package]] +name = "ecdsa" +version = "0.14.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413301934810f597c1d19ca71c8710e99a3f1ba28a0d2ebc01551a2daeea3c5c" +dependencies = [ + "der", + "elliptic-curve", + "rfc6979", + "signature", +] + +[[package]] +name = "ed25519-zebra" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "403ef3e961ab98f0ba902771d29f842058578bb1ce7e3c59dad5a6a93e784c69" +dependencies = [ + "curve25519-dalek", + "hex", + "rand_core 0.6.4", + "serde", + "sha2 0.9.9", + "thiserror", + "zeroize", +] + +[[package]] +name = "elliptic-curve" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7bb888ab5300a19b8e5bceef25ac745ad065f3c9f7efc6de1b91958110891d3" +dependencies = [ + "base16ct", + "crypto-bigint", + "der", + "digest 0.10.5", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + +[[package]] +name = "ff" +version = "0.12.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df689201f395c6b90dfe87127685f8dbfc083a5e779e613575d8bd7314300c3e" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "forward_ref" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8cbd1169bd7b4a0a20d92b9af7a7e0422888bd38a6f5ec29c1fd8c1558a272e" + +[[package]] +name = "generic-array" +version = "0.14.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +dependencies = [ + "typenum", + "version_check", +] + +[[package]] +name = "getrandom" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8fc3cb4d91f53b50155bdcfd23f6a4c39ae1969c2ae85982b135750cccaf5fce" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.9.0+wasi-snapshot-preview1", +] + +[[package]] +name = "getrandom" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6" +dependencies = [ + "cfg-if", + "libc", + "wasi 0.11.0+wasi-snapshot-preview1", +] + +[[package]] +name = "group" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5dfbfb3a6cfbd390d5c9564ab283a0349b9b9fcd46a706c1eb10e0db70bfbac7" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest 0.10.5", +] + +[[package]] +name = "itoa" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" + +[[package]] +name = "k256" +version = "0.11.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72c1e0b51e7ec0a97369623508396067a486bd0cbed95a2659a4b863d28cfc8b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "sha2 0.10.6", +] + +[[package]] +name = "libc" +version = "0.2.135" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68783febc7782c6c5cb401fbda4de5a9898be1762314da0bb2c10ced61f18b0c" + +[[package]] +name = "opaque-debug" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "624a8340c38c1b80fd549087862da4ba43e08858af025b236e509b6649fc13d5" + +[[package]] +name = "pkcs8" +version = "0.9.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9eca2c590a5f85da82668fa685c09ce2888b9430e83299debf1f34b65fd4a4ba" +dependencies = [ + "der", + "spki", +] + +[[package]] +name = "proc-macro2" +version = "1.0.47" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "quote" +version = "1.0.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +dependencies = [ + "proc-macro2", +] + +[[package]] +name = "rand_core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90bde5296fc891b0cef12a6d03ddccc162ce7b2aff54160af9338f8d40df6d19" +dependencies = [ + "getrandom 0.1.16", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.7", +] + +[[package]] +name = "rfc6979" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "88c86280f057430a52f4861551b092a01b419b8eacefc7c995eacb9dc132fe32" +dependencies = [ + "crypto-bigint", + "hmac", + "zeroize", +] + +[[package]] +name = "ryu" +version = "1.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" + +[[package]] +name = "schemars" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a5fb6c61f29e723026dc8e923d94c694313212abbecbbe5f55a7748eec5b307" +dependencies = [ + "dyn-clone", + "schemars_derive", + "serde", + "serde_json", +] + +[[package]] +name = "schemars_derive" +version = "0.8.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f188d036977451159430f3b8dc82ec76364a42b7e289c2b18a9a18f4470058e9" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn", +] + +[[package]] +name = "sec1" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3be24c1842290c45df0a7bf069e0c268a747ad05a192f2fd7dcfdbc1cba40928" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + +[[package]] +name = "serde" +version = "1.0.145" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "728eb6351430bccb993660dfffc5a72f91ccc1295abaa8ce19b27ebe4f75568b" +dependencies = [ + "serde_derive", +] + +[[package]] +name = "serde-json-wasm" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "479b4dbc401ca13ee8ce902851b834893251404c4f3c65370a49e047a6be09a5" +dependencies = [ + "serde", +] + +[[package]] +name = "serde_derive" +version = "1.0.145" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fa1584d3d1bcacd84c277a0dfe21f5b0f6accf4a23d04d4c6d61f1af522b4c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_derive_internals" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85bf8229e7920a9f636479437026331ce11aa132b4dde37d121944a44d6e5f3c" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "serde_json" +version = "1.0.87" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ce777b7b150d76b9cf60d28b55f5847135a003f7d7350c6be7a773508ce7d45" +dependencies = [ + "itoa", + "ryu", + "serde", +] + +[[package]] +name = "sha2" +version = "0.9.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4d58a1e1bf39749807d89cf2d98ac2dfa0ff1cb3faa38fbb64dd88ac8013d800" +dependencies = [ + "block-buffer 0.9.0", + "cfg-if", + "cpufeatures", + "digest 0.9.0", + "opaque-debug", +] + +[[package]] +name = "sha2" +version = "0.10.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.5", +] + +[[package]] +name = "signature" +version = "1.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +dependencies = [ + "digest 0.10.5", + "rand_core 0.6.4", +] + +[[package]] +name = "simpleexec" +version = "0.1.0" +dependencies = [ + "base64", + "cosmwasm-schema", + "cosmwasm-std", + "cosmwasm-storage", + "cw-storage-plus", + "cw2", + "cw20", + "forward_ref", + "schemars", + "serde", + "serde-json-wasm", + "serde_json", + "thiserror", +] + +[[package]] +name = "spki" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67cf02bbac7a337dc36e4f5a693db6c21e7863f45070f7064577eb4367a3212b" +dependencies = [ + "base64ct", + "der", +] + +[[package]] +name = "static_assertions" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f" + +[[package]] +name = "subtle" +version = "2.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" + +[[package]] +name = "syn" +version = "1.0.102" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3fcd952facd492f9be3ef0d0b7032a6e442ee9b361d4acc2b1d0c4aaa5f613a1" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "thiserror" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.37" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "typenum" +version = "1.15.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcf81ac59edc17cc8697ff311e8f5ef2d99fcbd9817b34cec66f90b6c3dfd987" + +[[package]] +name = "uint" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a45526d29728d135c2900b0d30573fe3ee79fceb12ef534c7bb30e810a91b601" +dependencies = [ + "byteorder", + "crunchy", + "hex", + "static_assertions", +] + +[[package]] +name = "unicode-ident" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" + +[[package]] +name = "version_check" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" + +[[package]] +name = "wasi" +version = "0.9.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cccddf32554fecc6acb585f82a32a72e28b48f8c4c1883ddfeeeaa96f7d8e519" + +[[package]] +name = "wasi" +version = "0.11.0+wasi-snapshot-preview1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" + +[[package]] +name = "zeroize" +version = "1.5.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c394b5bd0c6f669e7275d9c20aa90ae064cb22e75a1cad54e1b34088034b149f" diff --git a/loadtest/contracts/simpleexec/Cargo.toml b/loadtest/contracts/simpleexec/Cargo.toml new file mode 100644 index 0000000000..c4a5828cf2 --- /dev/null +++ b/loadtest/contracts/simpleexec/Cargo.toml @@ -0,0 +1,27 @@ +[package] +name = "simpleexec" +version = "0.1.0" +edition = "2018" + +[lib] +crate-type = ["cdylib", "rlib"] +doctest = false + +[dependencies] +cosmwasm-std = { version = "1.0.0", features = ["staking"] } +cosmwasm-storage = { version = "1.0.0" } +cw-storage-plus = "0.13.2" +serde-json-wasm = "0.4.1" +cw2 = "0.13.2" +cw20 = "0.13.2" +schemars = "0.8.3" +serde = { version = "1.0.127", default-features = false, features = ["derive"] } +serde_json = { version = "1.0", default-features = false, features = ["alloc"] } +thiserror = { version = "1.0.26" } +base64 = { version = "0.13.0" } + +[dependencies.forward_ref] +version = "1" + +[dev-dependencies] +cosmwasm-schema = { version = "1.0.0" } diff --git a/loadtest/contracts/simpleexec/src/contract.rs b/loadtest/contracts/simpleexec/src/contract.rs new file mode 100644 index 0000000000..6e06d6627f --- /dev/null +++ b/loadtest/contracts/simpleexec/src/contract.rs @@ -0,0 +1,60 @@ +use cosmwasm_std::{ + entry_point, DepsMut, Env, MessageInfo, + Response, StdError, StdResult, Uint128, BankMsg, QueryRequest, BondedDenomResponse, +}; + +use crate::msg::{ + InstantiateMsg, ExecuteMsg, +}; +use crate::state::{COUNTER, WHO}; + +#[entry_point] +pub fn instantiate( + _deps: DepsMut, + _env: Env, + _info: MessageInfo, + _msg: InstantiateMsg, +) -> StdResult { + Ok(Response::new()) +} + +#[entry_point] +pub fn execute(deps: DepsMut, _env: Env, info: MessageInfo, msg: ExecuteMsg) -> Result { + match msg { + ExecuteMsg::Noop {} => process_noop(), + ExecuteMsg::NamedCounter {} => process_named_counter(deps, info), + ExecuteMsg::Send {} => process_send(info), + ExecuteMsg::ReadStake {} => process_read_stake(deps), + } +} + +pub fn process_noop() -> Result { + Ok(Response::new()) +} + +pub fn process_named_counter(deps: DepsMut, info: MessageInfo) -> Result { + match COUNTER.may_load(deps.storage)? { + Some(old) => { + COUNTER.save(deps.storage, &Uint128::from(old.u128() + 1))?; + }, + None => { + COUNTER.save(deps.storage, &Uint128::one())?; + } + } + WHO.save(deps.storage, &info.sender.to_string())?; + Ok(Response::new()) +} + +pub fn process_send(info: MessageInfo) -> Result { + let mut res: Response = Response::new(); + res = res.add_message(BankMsg::Send { + to_address: info.sender.to_string(), + amount: info.funds, + }); + Ok(res) +} + +pub fn process_read_stake(deps: DepsMut) -> Result { + let _: BondedDenomResponse = deps.querier.query(&QueryRequest::Staking(cosmwasm_std::StakingQuery::BondedDenom {})).unwrap(); + Ok(Response::new()) +} \ No newline at end of file diff --git a/loadtest/contracts/simpleexec/src/lib.rs b/loadtest/contracts/simpleexec/src/lib.rs new file mode 100644 index 0000000000..1542cfe25e --- /dev/null +++ b/loadtest/contracts/simpleexec/src/lib.rs @@ -0,0 +1,3 @@ +pub mod msg; +pub mod contract; +pub mod state; \ No newline at end of file diff --git a/loadtest/contracts/simpleexec/src/msg.rs b/loadtest/contracts/simpleexec/src/msg.rs new file mode 100644 index 0000000000..8b92e592ac --- /dev/null +++ b/loadtest/contracts/simpleexec/src/msg.rs @@ -0,0 +1,14 @@ +use schemars::JsonSchema; +use serde::{Deserialize, Serialize}; + +#[derive(Serialize, Deserialize, JsonSchema)] +pub struct InstantiateMsg {} + +#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)] +#[serde(rename_all = "snake_case")] +pub enum ExecuteMsg { + Noop {}, + NamedCounter {}, + Send {}, + ReadStake {}, +} diff --git a/loadtest/contracts/simpleexec/src/state.rs b/loadtest/contracts/simpleexec/src/state.rs new file mode 100644 index 0000000000..bc832d5884 --- /dev/null +++ b/loadtest/contracts/simpleexec/src/state.rs @@ -0,0 +1,5 @@ +use cosmwasm_std::Uint128; +use cw_storage_plus::{Item}; + +pub const COUNTER: Item = Item::new("counter"); +pub const WHO: Item = Item::new("who"); \ No newline at end of file diff --git a/loadtest/main.go b/loadtest/main.go index 1759091eca..883a810a20 100644 --- a/loadtest/main.go +++ b/loadtest/main.go @@ -15,6 +15,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/codec" "github.com/cosmos/cosmos-sdk/codec/types" @@ -225,6 +226,16 @@ func generateMessage(config Config, key cryptotypes.PrivKey, batchSize uint64) s Amount: sdk.NewInt(1), }), } + case "wasm": + msg = &wasmtypes.MsgExecuteContract{ + Sender: sdk.AccAddress(key.PubKey().Address()).String(), + Contract: config.ContractDistr.Sample(), + Msg: []byte("{\"send\":{}}"), + Funds: sdk.NewCoins(sdk.Coin{ + Denom: "usei", + Amount: sdk.NewInt(1), + }), + } case "dex": msgType := config.MsgTypeDistr.Sample() orderPlacements := []*dextypes.Order{} diff --git a/loadtest/scripts/populate_genesis_accounts.py b/loadtest/scripts/populate_genesis_accounts.py index a85f9a4bc1..72ac5d9169 100644 --- a/loadtest/scripts/populate_genesis_accounts.py +++ b/loadtest/scripts/populate_genesis_accounts.py @@ -4,6 +4,7 @@ import sys import threading import time +from pathlib import Path PARALLEISM=32 @@ -99,13 +100,13 @@ def bulk_create_genesis_accounts(number_of_accounts, start_idx, is_local=False): def read_genesis_file(): - with open("/root/.sei/config/genesis.json", 'r') as f: + with open(str(Path.home()) + "/.sei/config/genesis.json", 'r') as f: return json.load(f) def write_genesis_file(data): print("Writing results to genesis file") - with open("/root/.sei/config/genesis.json", 'w') as f: + with open(str(Path.home()) + "/.sei/config/genesis.json", 'w') as f: json.dump(data, f, indent=4) diff --git a/loadtest/tx.go b/loadtest/tx.go index 6dced6c6c6..255eb3d058 100644 --- a/loadtest/tx.go +++ b/loadtest/tx.go @@ -20,9 +20,9 @@ func SendTx( seqDelta uint64, mu *sync.Mutex, ) func() { - (*txBuilder).SetGasLimit(200000000) + (*txBuilder).SetGasLimit(200000) (*txBuilder).SetFeeAmount([]sdk.Coin{ - sdk.NewCoin("usei", sdk.NewInt(10000000)), + sdk.NewCoin("usei", sdk.NewInt(100000)), }) SignTx(txBuilder, key, seqDelta) txBytes, _ := TestConfig.TxConfig.TxEncoder()((*txBuilder).GetTx()) diff --git a/scripts/old_initialize_local.sh b/scripts/old_initialize_local.sh index ea0167b0cb..e82749e953 100644 --- a/scripts/old_initialize_local.sh +++ b/scripts/old_initialize_local.sh @@ -27,30 +27,29 @@ docker run -d --name jaeger \ echo "Building..." make install -echo $password | sudo -S rm -r ~/.sei/ -echo $password | sudo -S rm -r ~/test_accounts/ -~/go/bin/seid init demo --chain-id sei-chain -yes | ~/go/bin/seid keys add $keyname -yes | ~/go/bin/seid keys add faucet -printf '12345678\n' | ~/go/bin/seid add-genesis-account $(~/go/bin/seid keys show $keyname -a) 100000000000000000000usei,100000000000000000000uusdc,100000000000000000000uatom -printf '12345678\n' | ~/go/bin/seid add-genesis-account $(~/go/bin/seid keys show faucet -a) 100000000000000000000usei,100000000000000000000uusdc,100000000000000000000uatom +echo $password | sudo -S rm -r $HOME/.sei/ +echo $password | sudo -S rm -r $HOME/test_accounts/ +$HOME/go/bin/seid init demo --chain-id sei-chain +yes | $HOME/go/bin/seid keys add $keyname +yes | $HOME/go/bin/seid keys add faucet +printf '12345678\n' | $HOME/go/bin/seid add-genesis-account $($HOME/go/bin/seid keys show $keyname -a) 100000000000000000000usei,100000000000000000000uusdc,100000000000000000000uatom +printf '12345678\n' | $HOME/go/bin/seid add-genesis-account $($HOME/go/bin/seid keys show faucet -a) 100000000000000000000usei,100000000000000000000uusdc,100000000000000000000uatom python3 ./loadtest/scripts/populate_genesis_accounts.py $numtestaccount loc -printf '12345678\n' | ~/go/bin/seid gentx $keyname 70000000000000000000usei --chain-id sei-chain -sed -i 's/mode = "full"/mode = "validator"/g' $HOME/.sei/config/config.toml -sed -i 's/indexer = \["null"\]/indexer = \["kv"\]/g' $HOME/.sei/config/config.toml -KEY=$(jq '.pub_key' ~/.sei/config/priv_validator_key.json -c) -jq '.validators = [{}]' ~/.sei/config/genesis.json > ~/.sei/config/tmp_genesis.json -jq '.validators[0] += {"power":"70000000000000"}' ~/.sei/config/tmp_genesis.json > ~/.sei/config/tmp_genesis_2.json -jq '.validators[0] += {"pub_key":'$KEY'}' ~/.sei/config/tmp_genesis_2.json > ~/.sei/config/tmp_genesis_3.json -mv ~/.sei/config/tmp_genesis_3.json ~/.sei/config/genesis.json && rm ~/.sei/config/tmp_genesis.json && rm ~/.sei/config/tmp_genesis_2.json -~/go/bin/seid collect-gentxs -cat ~/.sei/config/genesis.json | jq '.app_state["crisis"]["constant_fee"]["denom"]="usei"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="usei"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.app_state["mint"]["params"]["mint_denom"]="usei"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.app_state["staking"]["params"]["bond_denom"]="usei"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["max_deposit_period"]="300s"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.app_state["gov"]["voting_params"]["voting_period"]="5s"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json -cat ~/.sei/config/genesis.json | jq '.consensus_params["block"]["time_iota_ms"]="50"' > ~/.sei/config/tmp_genesis.json && mv ~/.sei/config/tmp_genesis.json ~/.sei/config/genesis.json +printf '12345678\n' | $HOME/go/bin/seid gentx $keyname 70000000000000000000usei --chain-id sei-chain + +KEY=$(jq '.pub_key' $HOME/.sei/config/priv_validator_key.json -c) +jq '.validators = [{}]' $HOME/.sei/config/genesis.json > $HOME/.sei/config/tmp_genesis.json +jq '.validators[0] += {"power":"70000000000000"}' $HOME/.sei/config/tmp_genesis.json > $HOME/.sei/config/tmp_genesis_2.json +jq '.validators[0] += {"pub_key":'$KEY'}' $HOME/.sei/config/tmp_genesis_2.json > $HOME/.sei/config/tmp_genesis_3.json +mv $HOME/.sei/config/tmp_genesis_3.json $HOME/.sei/config/genesis.json && rm $HOME/.sei/config/tmp_genesis.json && rm $HOME/.sei/config/tmp_genesis_2.json +$HOME/go/bin/seid collect-gentxs +cat $HOME/.sei/config/genesis.json | jq '.app_state["crisis"]["constant_fee"]["denom"]="usei"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["min_deposit"][0]["denom"]="usei"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.app_state["mint"]["params"]["mint_denom"]="usei"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.app_state["staking"]["params"]["bond_denom"]="usei"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.app_state["gov"]["deposit_params"]["max_deposit_period"]="300s"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.app_state["gov"]["voting_params"]["voting_period"]="5s"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json +cat $HOME/.sei/config/genesis.json | jq '.consensus_params["block"]["time_iota_ms"]="50"' > $HOME/.sei/config/tmp_genesis.json && mv $HOME/.sei/config/tmp_genesis.json $HOME/.sei/config/genesis.json # set block time to 2s if [ ! -z "$1" ]; then @@ -60,11 +59,15 @@ else fi if [[ "$OSTYPE" == "linux-gnu"* ]]; then + sed -i 's/mode = "full"/mode = "validator"/g' $HOME/.sei/config/config.toml + sed -i 's/indexer = \["null"\]/indexer = \["kv"\]/g' $HOME/.sei/config/config.toml sed -i 's/timeout_prevote =.*/timeout_prevote = "2000ms"/g' $CONFIG_PATH sed -i 's/timeout_precommit =.*/timeout_precommit = "2000ms"/g' $CONFIG_PATH sed -i 's/timeout_commit =.*/timeout_commit = "2000ms"/g' $CONFIG_PATH sed -i 's/skip_timeout_commit =.*/skip_timeout_commit = false/g' $CONFIG_PATH elif [[ "$OSTYPE" == "darwin"* ]]; then + sed -i '' 's/mode = "full"/mode = "validator"/g' $HOME/.sei/config/config.toml + sed -i '' 's/indexer = \["null"\]/indexer = \["kv"\]/g' $HOME/.sei/config/config.toml sed -i '' 's/timeout_prevote =.*/timeout_prevote = "2000ms"/g' $CONFIG_PATH sed -i '' 's/timeout_precommit =.*/timeout_precommit = "2000ms"/g' $CONFIG_PATH sed -i '' 's/timeout_commit =.*/timeout_commit = "2000ms"/g' $CONFIG_PATH @@ -80,4 +83,4 @@ else fi # start the chain with log tracing -GORACE="log_path=/tmp/race/seid_race" ~/go/bin/seid start --trace --chain-id sei-chain \ No newline at end of file +GORACE="log_path=/tmp/race/seid_race" $HOME/go/bin/seid start --trace --chain-id sei-chain \ No newline at end of file