From db3d8316efed74eb8fb93ef69074b56cc0e8c11a Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Tue, 21 May 2024 18:15:02 +0800 Subject: [PATCH 1/6] remove das module --- app/app.go | 11 - go.mod | 22 +- go.sum | 35 + helper/da/client/client.go | 61 -- helper/da/client/pool.go | 101 -- helper/da/go.mod | 26 - helper/da/go.sum | 60 -- helper/da/light/light.pb.go | 397 -------- helper/da/light/light_grpc.pb.go | 141 --- helper/da/main.go | 89 -- helper/da/proto/light.proto | 33 - helper/da/service/handler.go | 186 ---- helper/da/types/dasreq.go | 8 - helper/da/types/keys.go | 10 - helper/da/utils/sizedw8grp/sizedw8grp.go | 51 - proto/zgc/das/v1/genesis.proto | 37 - proto/zgc/das/v1/query.proto | 24 - proto/zgc/das/v1/tx.proto | 35 - proto/zgc/dasigners/v1/tx.proto | 1 - x/das/v1/client/cli/query.go | 57 -- x/das/v1/client/cli/tx.go | 103 -- x/das/v1/genesis.go | 39 - x/das/v1/keeper/grpc_query.go | 22 - x/das/v1/keeper/keeper.go | 198 ---- x/das/v1/keeper/msg_server.go | 49 - x/das/v1/module.go | 180 ---- x/das/v1/types/codec.go | 47 - x/das/v1/types/errors.go | 8 - x/das/v1/types/events.go | 11 - x/das/v1/types/genesis.go | 28 - x/das/v1/types/genesis.pb.go | 1191 ---------------------- x/das/v1/types/interfaces.go | 10 - x/das/v1/types/keys.go | 44 - x/das/v1/types/msg.go | 57 -- x/das/v1/types/query.pb.go | 511 ---------- x/das/v1/types/query.pb.gw.go | 153 --- x/das/v1/types/tx.pb.go | 1110 -------------------- x/dasigners/v1/client/cli/tx.go | 2 +- x/dasigners/v1/types/tx.pb.go | 46 +- 39 files changed, 73 insertions(+), 5121 deletions(-) delete mode 100644 helper/da/client/client.go delete mode 100644 helper/da/client/pool.go delete mode 100644 helper/da/go.mod delete mode 100644 helper/da/go.sum delete mode 100644 helper/da/light/light.pb.go delete mode 100644 helper/da/light/light_grpc.pb.go delete mode 100644 helper/da/main.go delete mode 100644 helper/da/proto/light.proto delete mode 100644 helper/da/service/handler.go delete mode 100644 helper/da/types/dasreq.go delete mode 100644 helper/da/types/keys.go delete mode 100644 helper/da/utils/sizedw8grp/sizedw8grp.go delete mode 100644 proto/zgc/das/v1/genesis.proto delete mode 100644 proto/zgc/das/v1/query.proto delete mode 100644 proto/zgc/das/v1/tx.proto delete mode 100644 x/das/v1/client/cli/query.go delete mode 100644 x/das/v1/client/cli/tx.go delete mode 100644 x/das/v1/genesis.go delete mode 100644 x/das/v1/keeper/grpc_query.go delete mode 100644 x/das/v1/keeper/keeper.go delete mode 100644 x/das/v1/keeper/msg_server.go delete mode 100644 x/das/v1/module.go delete mode 100644 x/das/v1/types/codec.go delete mode 100644 x/das/v1/types/errors.go delete mode 100644 x/das/v1/types/events.go delete mode 100644 x/das/v1/types/genesis.go delete mode 100644 x/das/v1/types/genesis.pb.go delete mode 100644 x/das/v1/types/interfaces.go delete mode 100644 x/das/v1/types/keys.go delete mode 100644 x/das/v1/types/msg.go delete mode 100644 x/das/v1/types/query.pb.go delete mode 100644 x/das/v1/types/query.pb.gw.go delete mode 100644 x/das/v1/types/tx.pb.go diff --git a/app/app.go b/app/app.go index 07f25f59..15db0741 100644 --- a/app/app.go +++ b/app/app.go @@ -109,9 +109,6 @@ import ( council "github.com/0glabs/0g-chain/x/council/v1" councilkeeper "github.com/0glabs/0g-chain/x/council/v1/keeper" counciltypes "github.com/0glabs/0g-chain/x/council/v1/types" - das "github.com/0glabs/0g-chain/x/das/v1" - daskeeper "github.com/0glabs/0g-chain/x/das/v1/keeper" - dastypes "github.com/0glabs/0g-chain/x/das/v1/types" dasigners "github.com/0glabs/0g-chain/x/dasigners/v1" dasignerskeeper "github.com/0glabs/0g-chain/x/dasigners/v1/keeper" dasignerstypes "github.com/0glabs/0g-chain/x/dasigners/v1/types" @@ -169,7 +166,6 @@ var ( evmutil.AppModuleBasic{}, mint.AppModuleBasic{}, council.AppModuleBasic{}, - das.AppModuleBasic{}, dasigners.AppModuleBasic{}, ) @@ -248,7 +244,6 @@ type App struct { evidenceKeeper evidencekeeper.Keeper transferKeeper ibctransferkeeper.Keeper CouncilKeeper councilkeeper.Keeper - DasKeeper daskeeper.Keeper issuanceKeeper issuancekeeper.Keeper bep3Keeper bep3keeper.Keeper pricefeedKeeper pricefeedkeeper.Keeper @@ -303,7 +298,6 @@ func NewApp( committeetypes.StoreKey, evmutiltypes.StoreKey, minttypes.StoreKey, counciltypes.StoreKey, - dastypes.StoreKey, dasignerstypes.StoreKey, ) tkeys := sdk.NewTransientStoreKeys(paramstypes.TStoreKey, evmtypes.TransientKey, feemarkettypes.TransientKey) @@ -576,7 +570,6 @@ func NewApp( app.CouncilKeeper = councilkeeper.NewKeeper( keys[counciltypes.StoreKey], appCodec, app.stakingKeeper, ) - app.DasKeeper = daskeeper.NewKeeper(keys[dastypes.StoreKey], appCodec, app.stakingKeeper) // create the module manager (Note: Any module instantiated in the module manager that is later modified // must be passed by reference here.) @@ -608,7 +601,6 @@ func NewApp( // nil InflationCalculationFn, use SDK's default inflation function mint.NewAppModule(appCodec, app.mintKeeper, app.accountKeeper, nil), council.NewAppModule(app.CouncilKeeper, app.stakingKeeper), - das.NewAppModule(app.DasKeeper), dasigners.NewAppModule(app.dasignersKeeper, app.stakingKeeper), ) @@ -653,7 +645,6 @@ func NewApp( evmutiltypes.ModuleName, counciltypes.ModuleName, - dastypes.ModuleName, dasignerstypes.ModuleName, ) @@ -687,7 +678,6 @@ func NewApp( evmutiltypes.ModuleName, minttypes.ModuleName, counciltypes.ModuleName, - dastypes.ModuleName, dasignerstypes.ModuleName, ) @@ -720,7 +710,6 @@ func NewApp( upgradetypes.ModuleName, validatorvestingtypes.ModuleName, counciltypes.ModuleName, - dastypes.ModuleName, dasignerstypes.ModuleName, ) diff --git a/go.mod b/go.mod index 3d53e2d5..338ababd 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/subosito/gotenv v1.4.2 github.com/tendermint/tendermint v0.34.27 github.com/tendermint/tm-db v0.6.7 - golang.org/x/crypto v0.14.0 + golang.org/x/crypto v0.23.0 google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13 google.golang.org/grpc v1.58.3 google.golang.org/protobuf v1.31.0 @@ -50,6 +50,7 @@ require ( github.com/VictoriaMetrics/fastcache v1.6.0 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/allegro/bigcache v1.2.1 // indirect + github.com/andybalholm/brotli v1.1.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.44.122 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -83,10 +84,12 @@ require ( github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect + github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 // indirect github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/edsrzf/mmap-go v1.0.0 // indirect + github.com/fatih/color v1.17.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect @@ -133,13 +136,14 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.15.15 // indirect + github.com/klauspost/compress v1.17.8 // indirect + github.com/kr/text v0.2.0 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.17 // indirect + github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect @@ -160,12 +164,14 @@ require ( github.com/prometheus/procfs v0.9.0 // indirect github.com/prometheus/tsdb v0.7.1 // indirect github.com/rakyll/statik v0.1.7 // indirect + github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rjeczalik/notify v0.9.1 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.3 // indirect github.com/rs/zerolog v1.29.0 // indirect + github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/spf13/afero v1.9.3 // indirect @@ -180,17 +186,19 @@ require ( github.com/tyler-smith/go-bip39 v1.1.0 // indirect github.com/ugorji/go/codec v1.2.7 // indirect github.com/ulikunitz/xz v0.5.10 // indirect + github.com/valyala/bytebufferpool v1.0.0 // indirect + github.com/valyala/fasthttp v1.53.0 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.2 // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb // indirect - golang.org/x/net v0.17.0 // indirect + golang.org/x/net v0.25.0 // indirect golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/term v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/term v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.128.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index bbbbb97a..2043ba8f 100644 --- a/go.sum +++ b/go.sum @@ -246,6 +246,8 @@ github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= +github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -444,6 +446,8 @@ github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5O github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= @@ -473,6 +477,8 @@ github.com/evmos/go-ethereum v1.10.26-evmos-rc2 h1:tYghk1ZZ8X4/OQ4YI9hvtm8aSN8OS github.com/evmos/go-ethereum v1.10.26-evmos-rc2/go.mod h1:/6CsT5Ceen2WPLI/oCA3xMcZ5sWMF/D46SjM/ayY0Oo= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= +github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= @@ -825,13 +831,19 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/compress v1.10.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= +github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= +github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -876,6 +888,7 @@ github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GW github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -891,6 +904,8 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= +github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -1054,6 +1069,8 @@ github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= +github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4 h1:/24Dsgxxv7UMTvubnE6eJmyHRcTSum60viriQokArAQ= +github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4/go.mod h1:MPBuzBAJcp9B/3xrqfgR+ieBgpMzDqTeieaRP3ESJhk= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1193,9 +1210,14 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= +github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasthttp v1.9.1-0.20200228200348-695f713fcf59/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= +github.com/valyala/fasthttp v1.53.0 h1:lW/+SUkOxCx2vlIu0iaImv4JLrVRnbbkpCoaawvA4zc= +github.com/valyala/fasthttp v1.53.0/go.mod h1:6dt4/8olwq9QARP/TDuPmWyWcl4byhpvTJ4AAtcz+QM= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= @@ -1268,6 +1290,8 @@ golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= 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= @@ -1336,6 +1360,8 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/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-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1383,6 +1409,8 @@ golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= 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= @@ -1530,14 +1558,19 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= 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= @@ -1551,6 +1584,8 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= 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= diff --git a/helper/da/client/client.go b/helper/da/client/client.go deleted file mode 100644 index 0d760d6b..00000000 --- a/helper/da/client/client.go +++ /dev/null @@ -1,61 +0,0 @@ -package client - -import ( - "context" - "time" - - "github.com/0glabs/0g-chain/helper/da/light" - - "github.com/pkg/errors" -) - -type DaLightRpcClient interface { - Sample(ctx context.Context, streamId, headerHash []byte, blobIdx, times uint32) (bool, error) - Destroy() - GetInstanceCount() int -} - -type daLightClient struct { - maxInstance int - pool ConnectionPool -} - -func NewDaLightClient(address string, instanceLimit int) DaLightRpcClient { - return &daLightClient{ - maxInstance: instanceLimit, - pool: NewConnectionPool(address, instanceLimit, 10*time.Minute), - } -} - -func (c *daLightClient) Sample(ctx context.Context, streamId, headerHash []byte, blobIdx, times uint32) (bool, error) { - connection, err := c.pool.GetConnection() - if err != nil { - return false, errors.Wrap(err, "failed to connect to da light server") - } - defer c.pool.ReleaseConnection(connection) - - req := &light.SampleRequest{ - StreamId: streamId, - BatchHeaderHash: headerHash, - BlobIndex: blobIdx, - Times: times, - } - client := light.NewLightClient(connection) - reply, err := client.Sample(ctx, req) - if err != nil { - return false, errors.Wrap(err, "failed to sample from da light server") - } - - return reply.Success, nil -} - -func (c *daLightClient) Destroy() { - if c.pool != nil { - c.pool.Close() - c.pool = nil - } -} - -func (c *daLightClient) GetInstanceCount() int { - return c.maxInstance -} diff --git a/helper/da/client/pool.go b/helper/da/client/pool.go deleted file mode 100644 index 887704a0..00000000 --- a/helper/da/client/pool.go +++ /dev/null @@ -1,101 +0,0 @@ -package client - -import ( - "errors" - "sync" - "time" - - "google.golang.org/grpc" - "google.golang.org/grpc/backoff" - "google.golang.org/grpc/credentials/insecure" -) - -type ConnectionPool interface { - GetConnection() (*grpc.ClientConn, error) - ReleaseConnection(*grpc.ClientConn) - Close() -} - -type connectionPoolImpl struct { - address string - maxSize int - timeout time.Duration - param grpc.ConnectParams - - mu sync.Mutex - pool []*grpc.ClientConn -} - -func NewConnectionPool(address string, maxSize int, timeout time.Duration) ConnectionPool { - return &connectionPoolImpl{ - address: address, - maxSize: maxSize, - timeout: timeout, - param: grpc.ConnectParams{ - Backoff: backoff.Config{ - BaseDelay: 1.0 * time.Second, - Multiplier: 1.5, - Jitter: 0.2, - MaxDelay: 30 * time.Second, - }, - MinConnectTimeout: 30 * time.Second, - }, - pool: make([]*grpc.ClientConn, 0, maxSize), - } -} - -func (p *connectionPoolImpl) GetConnection() (*grpc.ClientConn, error) { - p.mu.Lock() - defer p.mu.Unlock() - - if p.pool == nil { - return nil, errors.New("connection pool is closed") - } - - // Check if there's any available connection in the pool - if len(p.pool) > 0 { - conn := p.pool[0] - p.pool = p.pool[1:] - return conn, nil - } - - // If the pool is empty, create a new connection - conn, err := grpc.Dial(p.address, grpc.WithBlock(), - grpc.WithConnectParams(p.param), - grpc.WithTransportCredentials(insecure.NewCredentials())) - if err != nil { - return nil, err - } - return conn, nil -} - -func (p *connectionPoolImpl) ReleaseConnection(conn *grpc.ClientConn) { - p.mu.Lock() - defer p.mu.Unlock() - - if p.pool != nil { - // If the pool is full, close the connection - if len(p.pool) >= p.maxSize { - conn.Close() - return - } - - // Add the connection back to the pool - p.pool = append(p.pool, conn) - } else { - conn.Close() - } -} - -func (p *connectionPoolImpl) Close() { - p.mu.Lock() - defer p.mu.Unlock() - - if p.pool != nil { - for _, conn := range p.pool { - conn.Close() - } - - p.pool = nil - } -} diff --git a/helper/da/go.mod b/helper/da/go.mod deleted file mode 100644 index c42d6564..00000000 --- a/helper/da/go.mod +++ /dev/null @@ -1,26 +0,0 @@ -module github.com/0glabs/0g-chain/helper/da - -go 1.20 - -require ( - github.com/json-iterator/go v1.1.12 - github.com/lesismal/nbio v1.5.4 - github.com/pkg/errors v0.9.1 - github.com/rs/zerolog v1.32.0 - google.golang.org/grpc v1.63.2 - google.golang.org/protobuf v1.33.0 -) - -require ( - github.com/lesismal/llib v1.1.13 // indirect - github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.19 // indirect - github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/stretchr/testify v1.8.4 // indirect - golang.org/x/crypto v0.19.0 // indirect - golang.org/x/net v0.21.0 // indirect - golang.org/x/sys v0.17.0 // indirect - golang.org/x/text v0.14.0 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de // indirect -) diff --git a/helper/da/go.sum b/helper/da/go.sum deleted file mode 100644 index cc3cf3ca..00000000 --- a/helper/da/go.sum +++ /dev/null @@ -1,60 +0,0 @@ -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -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= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/lesismal/llib v1.1.13 h1:+w1+t0PykXpj2dXQck0+p6vdC9/mnbEXHgUy/HXDGfE= -github.com/lesismal/llib v1.1.13/go.mod h1:70tFXXe7P1FZ02AU9l8LgSOK7d7sRrpnkUr3rd3gKSg= -github.com/lesismal/nbio v1.5.4 h1:fZ6FOVZOBm7nFuudYsq+WyHJuM2UNuPdlvF/1LVa6lo= -github.com/lesismal/nbio v1.5.4/go.mod h1:mvfYBAA1jmrafXf2XvkM28jWkMTfA5jGks+HKDBMmOc= -github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= -github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= -github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.19 h1:JITubQf0MOLdlGRuRq+jtsDlekdYPia9ZFsB8h/APPA= -github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -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/rs/xid v1.5.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.32.0 h1:keLypqrlIjaFsbmJOBdB/qvyF8KEtCWHwobLp5l/mQ0= -github.com/rs/zerolog v1.32.0/go.mod h1:/7mN4D5sKwJLZQ2b/znpjC3/GQWY/xaDXUM0kKWRHss= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -golang.org/x/crypto v0.0.0-20210513122933-cd7d49e622d5/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.19.0 h1:ENy+Az/9Y1vSrlrvBSyna3PITt4tiZLf7sgCjZBX7Wo= -golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= -golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de h1:cZGRis4/ot9uVm639a+rHCUaG0JJHEsdyzSQTMX+suY= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:H4O17MA/PE9BsGx3w+a+W2VOLLD1Qf7oJneAoU6WktY= -google.golang.org/grpc v1.63.2 h1:MUeiw1B2maTVZthpU5xvASfTh3LDbxHd6IJ6QQVU+xM= -google.golang.org/grpc v1.63.2/go.mod h1:WAX/8DgncnokcFUldAxq7GeB5DXHDbMF+lLvDomNkRA= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= -gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= diff --git a/helper/da/light/light.pb.go b/helper/da/light/light.pb.go deleted file mode 100644 index 60c987f2..00000000 --- a/helper/da/light/light.pb.go +++ /dev/null @@ -1,397 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc v4.25.3 -// source: light/light.proto - -package light - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -// SampleRequest contains the blob to sample (by batch and blob index) and required sample times -type SampleRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - StreamId []byte `protobuf:"bytes,1,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` - BatchHeaderHash []byte `protobuf:"bytes,2,opt,name=batch_header_hash,json=batchHeaderHash,proto3" json:"batch_header_hash,omitempty"` - BlobIndex uint32 `protobuf:"varint,3,opt,name=blob_index,json=blobIndex,proto3" json:"blob_index,omitempty"` - Times uint32 `protobuf:"varint,4,opt,name=times,proto3" json:"times,omitempty"` -} - -func (x *SampleRequest) Reset() { - *x = SampleRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_light_light_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SampleRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SampleRequest) ProtoMessage() {} - -func (x *SampleRequest) ProtoReflect() protoreflect.Message { - mi := &file_light_light_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SampleRequest.ProtoReflect.Descriptor instead. -func (*SampleRequest) Descriptor() ([]byte, []int) { - return file_light_light_proto_rawDescGZIP(), []int{0} -} - -func (x *SampleRequest) GetStreamId() []byte { - if x != nil { - return x.StreamId - } - return nil -} - -func (x *SampleRequest) GetBatchHeaderHash() []byte { - if x != nil { - return x.BatchHeaderHash - } - return nil -} - -func (x *SampleRequest) GetBlobIndex() uint32 { - if x != nil { - return x.BlobIndex - } - return 0 -} - -func (x *SampleRequest) GetTimes() uint32 { - if x != nil { - return x.Times - } - return 0 -} - -// SampleReply contains the sample result -type SampleReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Success bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"` -} - -func (x *SampleReply) Reset() { - *x = SampleReply{} - if protoimpl.UnsafeEnabled { - mi := &file_light_light_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SampleReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SampleReply) ProtoMessage() {} - -func (x *SampleReply) ProtoReflect() protoreflect.Message { - mi := &file_light_light_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SampleReply.ProtoReflect.Descriptor instead. -func (*SampleReply) Descriptor() ([]byte, []int) { - return file_light_light_proto_rawDescGZIP(), []int{1} -} - -func (x *SampleReply) GetSuccess() bool { - if x != nil { - return x.Success - } - return false -} - -type RetrieveRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - BatchHeaderHash []byte `protobuf:"bytes,1,opt,name=batch_header_hash,json=batchHeaderHash,proto3" json:"batch_header_hash,omitempty"` - BlobIndex uint32 `protobuf:"varint,2,opt,name=blob_index,json=blobIndex,proto3" json:"blob_index,omitempty"` -} - -func (x *RetrieveRequest) Reset() { - *x = RetrieveRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_light_light_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RetrieveRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RetrieveRequest) ProtoMessage() {} - -func (x *RetrieveRequest) ProtoReflect() protoreflect.Message { - mi := &file_light_light_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RetrieveRequest.ProtoReflect.Descriptor instead. -func (*RetrieveRequest) Descriptor() ([]byte, []int) { - return file_light_light_proto_rawDescGZIP(), []int{2} -} - -func (x *RetrieveRequest) GetBatchHeaderHash() []byte { - if x != nil { - return x.BatchHeaderHash - } - return nil -} - -func (x *RetrieveRequest) GetBlobIndex() uint32 { - if x != nil { - return x.BlobIndex - } - return 0 -} - -type RetrieveReply struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status bool `protobuf:"varint,1,opt,name=status,proto3" json:"status,omitempty"` - Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` -} - -func (x *RetrieveReply) Reset() { - *x = RetrieveReply{} - if protoimpl.UnsafeEnabled { - mi := &file_light_light_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RetrieveReply) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RetrieveReply) ProtoMessage() {} - -func (x *RetrieveReply) ProtoReflect() protoreflect.Message { - mi := &file_light_light_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RetrieveReply.ProtoReflect.Descriptor instead. -func (*RetrieveReply) Descriptor() ([]byte, []int) { - return file_light_light_proto_rawDescGZIP(), []int{3} -} - -func (x *RetrieveReply) GetStatus() bool { - if x != nil { - return x.Status - } - return false -} - -func (x *RetrieveReply) GetData() []byte { - if x != nil { - return x.Data - } - return nil -} - -var File_light_light_proto protoreflect.FileDescriptor - -var file_light_light_proto_rawDesc = []byte{ - 0x0a, 0x11, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x05, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x22, 0x8d, 0x01, 0x0a, 0x0d, 0x53, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, - 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, - 0x08, 0x73, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x49, - 0x6e, 0x64, 0x65, 0x78, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x05, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x22, 0x27, 0x0a, 0x0b, 0x53, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x22, 0x5c, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x62, 0x61, 0x74, 0x63, 0x68, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0c, 0x52, 0x0f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x48, 0x61, - 0x73, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x62, 0x6c, 0x6f, 0x62, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x62, 0x6c, 0x6f, 0x62, 0x49, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x3b, 0x0a, 0x0d, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x70, - 0x6c, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x32, 0x79, - 0x0a, 0x05, 0x4c, 0x69, 0x67, 0x68, 0x74, 0x12, 0x34, 0x0a, 0x06, 0x53, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x12, 0x14, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x12, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, - 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x3a, 0x0a, - 0x08, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x12, 0x16, 0x2e, 0x6c, 0x69, 0x67, 0x68, - 0x74, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x14, 0x2e, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x30, 0x67, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x30, - 0x67, 0x2d, 0x64, 0x61, 0x74, 0x61, 0x2d, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x2f, 0x72, 0x75, 0x6e, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x6c, 0x69, 0x67, 0x68, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -} - -var ( - file_light_light_proto_rawDescOnce sync.Once - file_light_light_proto_rawDescData = file_light_light_proto_rawDesc -) - -func file_light_light_proto_rawDescGZIP() []byte { - file_light_light_proto_rawDescOnce.Do(func() { - file_light_light_proto_rawDescData = protoimpl.X.CompressGZIP(file_light_light_proto_rawDescData) - }) - return file_light_light_proto_rawDescData -} - -var file_light_light_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_light_light_proto_goTypes = []interface{}{ - (*SampleRequest)(nil), // 0: light.SampleRequest - (*SampleReply)(nil), // 1: light.SampleReply - (*RetrieveRequest)(nil), // 2: light.RetrieveRequest - (*RetrieveReply)(nil), // 3: light.RetrieveReply -} -var file_light_light_proto_depIdxs = []int32{ - 0, // 0: light.Light.Sample:input_type -> light.SampleRequest - 2, // 1: light.Light.Retrieve:input_type -> light.RetrieveRequest - 1, // 2: light.Light.Sample:output_type -> light.SampleReply - 3, // 3: light.Light.Retrieve:output_type -> light.RetrieveReply - 2, // [2:4] is the sub-list for method output_type - 0, // [0:2] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_light_light_proto_init() } -func file_light_light_proto_init() { - if File_light_light_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_light_light_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SampleRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_light_light_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SampleReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_light_light_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetrieveRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_light_light_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetrieveReply); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_light_light_proto_rawDesc, - NumEnums: 0, - NumMessages: 4, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_light_light_proto_goTypes, - DependencyIndexes: file_light_light_proto_depIdxs, - MessageInfos: file_light_light_proto_msgTypes, - }.Build() - File_light_light_proto = out.File - file_light_light_proto_rawDesc = nil - file_light_light_proto_goTypes = nil - file_light_light_proto_depIdxs = nil -} diff --git a/helper/da/light/light_grpc.pb.go b/helper/da/light/light_grpc.pb.go deleted file mode 100644 index 0586c987..00000000 --- a/helper/da/light/light_grpc.pb.go +++ /dev/null @@ -1,141 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc v4.25.3 -// source: light/light.proto - -package light - -import ( - context "context" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// LightClient is the client API for Light service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type LightClient interface { - Sample(ctx context.Context, in *SampleRequest, opts ...grpc.CallOption) (*SampleReply, error) - Retrieve(ctx context.Context, in *RetrieveRequest, opts ...grpc.CallOption) (*RetrieveReply, error) -} - -type lightClient struct { - cc grpc.ClientConnInterface -} - -func NewLightClient(cc grpc.ClientConnInterface) LightClient { - return &lightClient{cc} -} - -func (c *lightClient) Sample(ctx context.Context, in *SampleRequest, opts ...grpc.CallOption) (*SampleReply, error) { - out := new(SampleReply) - err := c.cc.Invoke(ctx, "/light.Light/Sample", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *lightClient) Retrieve(ctx context.Context, in *RetrieveRequest, opts ...grpc.CallOption) (*RetrieveReply, error) { - out := new(RetrieveReply) - err := c.cc.Invoke(ctx, "/light.Light/Retrieve", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// LightServer is the server API for Light service. -// All implementations must embed UnimplementedLightServer -// for forward compatibility -type LightServer interface { - Sample(context.Context, *SampleRequest) (*SampleReply, error) - Retrieve(context.Context, *RetrieveRequest) (*RetrieveReply, error) - mustEmbedUnimplementedLightServer() -} - -// UnimplementedLightServer must be embedded to have forward compatible implementations. -type UnimplementedLightServer struct { -} - -func (UnimplementedLightServer) Sample(context.Context, *SampleRequest) (*SampleReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method Sample not implemented") -} -func (UnimplementedLightServer) Retrieve(context.Context, *RetrieveRequest) (*RetrieveReply, error) { - return nil, status.Errorf(codes.Unimplemented, "method Retrieve not implemented") -} -func (UnimplementedLightServer) mustEmbedUnimplementedLightServer() {} - -// UnsafeLightServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to LightServer will -// result in compilation errors. -type UnsafeLightServer interface { - mustEmbedUnimplementedLightServer() -} - -func RegisterLightServer(s grpc.ServiceRegistrar, srv LightServer) { - s.RegisterService(&Light_ServiceDesc, srv) -} - -func _Light_Sample_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(SampleRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightServer).Sample(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/light.Light/Sample", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightServer).Sample(ctx, req.(*SampleRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Light_Retrieve_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RetrieveRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(LightServer).Retrieve(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/light.Light/Retrieve", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(LightServer).Retrieve(ctx, req.(*RetrieveRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// Light_ServiceDesc is the grpc.ServiceDesc for Light service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Light_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "light.Light", - HandlerType: (*LightServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "Sample", - Handler: _Light_Sample_Handler, - }, - { - MethodName: "Retrieve", - Handler: _Light_Retrieve_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "light/light.proto", -} diff --git a/helper/da/main.go b/helper/da/main.go deleted file mode 100644 index 247f4e16..00000000 --- a/helper/da/main.go +++ /dev/null @@ -1,89 +0,0 @@ -package main - -import ( - "context" - "flag" - "fmt" - "io" - "log" - "net/url" - "os" - "os/signal" - "time" - - "github.com/0glabs/0g-chain/helper/da/service" - "github.com/0glabs/0g-chain/helper/da/types" - - "github.com/lesismal/nbio/nbhttp" - "github.com/lesismal/nbio/nbhttp/websocket" -) - -const ( - subscribeMsg = "{\"jsonrpc\":\"2.0\",\"method\":\"subscribe\",\"id\":1,\"params\":{\"query\":\"tm.event='Tx'\"}}" -) - -var ( - rpcAddress = flag.String("rpc-address", "34.214.2.28:32001", "address of da-light rpc server") - wsAddress = flag.String("ws-address", "127.0.0.1:26657", "address of emvos ws server") - relativePath = flag.String("relative-path", "", "relative path of evmosd") - account = flag.String("account", "", "account to run evmosd cli") - keyring = flag.String("keyring", "", "keyring to run evmosd cli") - homePath = flag.String("home", "", "home path of evmosd node") -) - -func newUpgrader() *websocket.Upgrader { - u := websocket.NewUpgrader() - u.OnMessage(func(c *websocket.Conn, messageType websocket.MessageType, data []byte) { - log.Println("onEcho:", string(data)) - ctx := context.WithValue(context.Background(), types.DA_RPC_ADDRESS, *rpcAddress) - ctx = context.WithValue(ctx, types.NODE_CLI_RELATIVE_PATH, *relativePath) - ctx = context.WithValue(ctx, types.NODE_CLI_EXEC_ACCOUNT, *account) - ctx = context.WithValue(ctx, types.NODE_CLI_EXEC_KEYRING, *keyring) - ctx = context.WithValue(ctx, types.NODE_HOME_PATH, *homePath) - go func() { service.OnMessage(ctx, c, messageType, data) }() - }) - - u.OnClose(func(c *websocket.Conn, err error) { - fmt.Println("OnClose:", c.RemoteAddr().String(), err) - service.OnClose() - }) - - return u -} - -func main() { - flag.Parse() - engine := nbhttp.NewEngine(nbhttp.Config{}) - err := engine.Start() - if err != nil { - fmt.Printf("nbio.Start failed: %v\n", err) - return - } - - go func() { - u := url.URL{Scheme: "ws", Host: *wsAddress, Path: "/websocket"} - dialer := &websocket.Dialer{ - Engine: engine, - Upgrader: newUpgrader(), - DialTimeout: time.Second * 3, - } - c, res, err := dialer.Dial(u.String(), nil) - if err != nil { - if res != nil && res.Body != nil { - bReason, _ := io.ReadAll(res.Body) - fmt.Printf("dial failed: %v, reason: %v\n", err, string(bReason)) - } else { - fmt.Printf("dial failed: %v\n", err) - } - return - } - c.WriteMessage(websocket.TextMessage, []byte(subscribeMsg)) - }() - - interrupt := make(chan os.Signal, 1) - signal.Notify(interrupt, os.Interrupt) - <-interrupt - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - engine.Shutdown(ctx) -} diff --git a/helper/da/proto/light.proto b/helper/da/proto/light.proto deleted file mode 100644 index f816b54f..00000000 --- a/helper/da/proto/light.proto +++ /dev/null @@ -1,33 +0,0 @@ -syntax = "proto3"; - -package light; - -option go_package = "proto/light"; - -service Light { - rpc Sample(SampleRequest) returns (SampleReply) {} - rpc Retrieve(RetrieveRequest) returns (RetrieveReply) {} -} - -// SampleRequest contains the blob to sample (by batch and blob index) and required sample times -message SampleRequest { - bytes stream_id = 1; - bytes batch_header_hash = 2; - uint32 blob_index = 3; - uint32 times = 4; -} - -// SampleReply contains the sample result -message SampleReply { - bool success = 1; -} - -message RetrieveRequest { - bytes batch_header_hash = 1; - uint32 blob_index = 2; -} - -message RetrieveReply { - bool status = 1; - bytes data = 2; -} \ No newline at end of file diff --git a/helper/da/service/handler.go b/helper/da/service/handler.go deleted file mode 100644 index 5a379bc8..00000000 --- a/helper/da/service/handler.go +++ /dev/null @@ -1,186 +0,0 @@ -package service - -import ( - "context" - "encoding/hex" - "os" - "os/exec" - "strconv" - "strings" - - "github.com/0glabs/0g-chain/helper/da/client" - "github.com/0glabs/0g-chain/helper/da/types" - "github.com/0glabs/0g-chain/helper/da/utils/sizedw8grp" - - jsoniter "github.com/json-iterator/go" - "github.com/lesismal/nbio/nbhttp/websocket" - "github.com/pkg/errors" - "github.com/rs/zerolog/log" -) - -const ( - defaultClientInstance = 10 -) - -var rpcClient client.DaLightRpcClient - -func OnMessage(ctx context.Context, c *websocket.Conn, messageType websocket.MessageType, data []byte) { - if messageType == websocket.TextMessage { - rawMsg := unwrapJsonRpc(data) - if verifyQuery(rawMsg) { - eventStr := jsoniter.Get(rawMsg, "events").ToString() - events := map[string][]string{} - if err := jsoniter.UnmarshalFromString(eventStr, &events); err == nil { - dasRequestMap := make(map[string]string, 4) - for key, val := range events { - if strings.HasPrefix(key, "das_request.") { - dasRequestMap[strings.ReplaceAll(key, "das_request.", "")] = val[0] - } - } - if len(dasRequestMap) == 4 { - rid, _ := strconv.ParseUint(dasRequestMap["request_id"], 10, 64) - numBlobs, _ := strconv.ParseUint(dasRequestMap["num_blobs"], 10, 64) - req := types.DASRequest{ - RequestId: rid, - StreamId: dasRequestMap["stream_id"], - BatchHeaderHash: dasRequestMap["batch_header_hash"], - NumBlobs: numBlobs, - } - err := handleDasRequest(ctx, req) - - if err != nil { - log.Err(err).Msgf("failed to handle das request: %v, %v", req, err) - } else { - log.Info().Msgf("successfully handled das request: %v", req) - } - } - } - } - } else { - // TODO: handle other message - } -} - -func OnClose() { - if rpcClient != nil { - rpcClient.Destroy() - rpcClient = nil - } -} - -func unwrapJsonRpc(data []byte) []byte { - result := jsoniter.Get(data, "result") - if 0 < len(result.Keys()) { - return []byte(result.ToString()) - } - return []byte{} -} - -func verifyQuery(data []byte) bool { - if len(data) > 0 { - return jsoniter.Get(data, "query").ToString() == "tm.event='Tx'" - } - return false -} - -func min(a, b int) int { - if a < b { - return a - } - return b -} - -func handleDasRequest(ctx context.Context, request types.DASRequest) error { - if rpcClient == nil { - addrVal := ctx.Value(types.DA_RPC_ADDRESS) - if addrVal == nil { - return errors.New("da light service address not found in context") - } - - limit := ctx.Value(types.INSTANCE_LIMIT) - if limit == nil { - limit = defaultClientInstance - } - - rpcClient = client.NewDaLightClient(addrVal.(string), limit.(int)) - } - - streamID, err := hex.DecodeString(request.StreamId) - if err != nil { - return err - } - - batchHeaderHash, err := hex.DecodeString(request.BatchHeaderHash) - if err != nil { - return err - } - - result := make(chan bool, request.NumBlobs) - taskCnt := min(rpcClient.GetInstanceCount(), int(request.NumBlobs)) - wg := sizedw8grp.New(taskCnt) - - for i := uint64(0); i < request.NumBlobs; i++ { - wg.Add() - go func(idx uint64) { - defer wg.Done() - ret, err := rpcClient.Sample(ctx, streamID, batchHeaderHash, uint32(idx), 1) - if err != nil { - log.Err(err).Msgf("failed to sample data availability with blob index %d", idx) - result <- false - } else { - log.Info().Msgf("sample result for blob index %d: %v", idx, ret) - result <- ret - } - }(i) - } - wg.Wait() - close(result) - - finalResult := true - for val := range result { - if !val { - finalResult = false - break - } - } - - return runEvmosdCliReportDasResult(ctx, request.RequestId, finalResult) -} - -func runEvmosdCliReportDasResult(ctx context.Context, requestId uint64, result bool) error { - relativePath := ctx.Value(types.NODE_CLI_RELATIVE_PATH) - if relativePath == nil { - return errors.New("relativePath not found in context") - } - - account := ctx.Value(types.NODE_CLI_EXEC_ACCOUNT) - if account == nil { - return errors.New("account not found in context") - } - - args := []string{ - "tx", - "das", - "report-das-result", - strconv.FormatUint(requestId, 10), - strconv.FormatBool(result), - "--from", account.(string), - "--gas-prices", "7678500neuron", // TODO: use args to set gas prices - } - - homePath := ctx.Value(types.NODE_HOME_PATH) - if len(homePath.(string)) > 0 { - args = append(args, "--home", homePath.(string)) - } - - keyring := ctx.Value(types.NODE_CLI_EXEC_KEYRING) - if len(keyring.(string)) > 0 { - args = append(args, "--keyring-backend", keyring.(string)) - } - - cmdStr := relativePath.(string) + "0gchaind" - cmd := exec.Command(cmdStr, append(args, "-y")...) - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - return cmd.Run() -} diff --git a/helper/da/types/dasreq.go b/helper/da/types/dasreq.go deleted file mode 100644 index 1c3b92e3..00000000 --- a/helper/da/types/dasreq.go +++ /dev/null @@ -1,8 +0,0 @@ -package types - -type DASRequest struct { - RequestId uint64 `json:"request_id"` - StreamId string `json:"stream_id"` - BatchHeaderHash string `json:"batch_header_hash"` - NumBlobs uint64 `json:"num_blobs"` -} diff --git a/helper/da/types/keys.go b/helper/da/types/keys.go deleted file mode 100644 index e824f793..00000000 --- a/helper/da/types/keys.go +++ /dev/null @@ -1,10 +0,0 @@ -package types - -const ( - DA_RPC_ADDRESS = "rpc_address" - INSTANCE_LIMIT = "instance_limit" - NODE_CLI_RELATIVE_PATH = "relative_path" - NODE_CLI_EXEC_ACCOUNT = "node_exec_account" - NODE_CLI_EXEC_KEYRING = "node_exec_keyring" - NODE_HOME_PATH = "home_path" -) diff --git a/helper/da/utils/sizedw8grp/sizedw8grp.go b/helper/da/utils/sizedw8grp/sizedw8grp.go deleted file mode 100644 index ac7348e6..00000000 --- a/helper/da/utils/sizedw8grp/sizedw8grp.go +++ /dev/null @@ -1,51 +0,0 @@ -package sizedw8grp - -import ( - "context" - "math" - "sync" -) - -type SizedWaitGroup struct { - Size int - - current chan struct{} - wg sync.WaitGroup -} - -func New(limit int) SizedWaitGroup { - size := math.MaxInt32 - if limit > 0 { - size = limit - } - return SizedWaitGroup{ - Size: size, - - current: make(chan struct{}, size), - wg: sync.WaitGroup{}, - } -} - -func (s *SizedWaitGroup) Add() { - _ = s.AddWithContext(context.Background()) -} - -func (s *SizedWaitGroup) AddWithContext(ctx context.Context) error { - select { - case <-ctx.Done(): - return ctx.Err() - case s.current <- struct{}{}: - break - } - s.wg.Add(1) - return nil -} - -func (s *SizedWaitGroup) Done() { - <-s.current - s.wg.Done() -} - -func (s *SizedWaitGroup) Wait() { - s.wg.Wait() -} diff --git a/proto/zgc/das/v1/genesis.proto b/proto/zgc/das/v1/genesis.proto deleted file mode 100644 index 9aae1faa..00000000 --- a/proto/zgc/das/v1/genesis.proto +++ /dev/null @@ -1,37 +0,0 @@ -syntax = "proto3"; -package zgc.das.v1; - -import "cosmos_proto/cosmos.proto"; -import "gogoproto/gogo.proto"; -import "google/protobuf/any.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "github.com/0glabs/0g-chain/x/das/v1/types"; - -message Params {} - -// GenesisState defines the das module's genesis state. -message GenesisState { - option (gogoproto.goproto_getters) = false; - - Params params = 1 [(gogoproto.nullable) = false]; - uint64 next_request_id = 2 [(gogoproto.customname) = "NextRequestID"]; - repeated DASRequest requests = 3 [(gogoproto.nullable) = false]; - repeated DASResponse responses = 4 [(gogoproto.nullable) = false]; -} - -message DASRequest { - uint64 id = 1 [(gogoproto.customname) = "ID"]; - bytes stream_id = 2 [(gogoproto.customname) = "StreamID"]; - bytes batch_header_hash = 3; - uint32 num_blobs = 4; -} - -message DASResponse { - uint64 id = 1 [(gogoproto.customname) = "ID"]; - bytes sampler = 2 [ - (cosmos_proto.scalar) = "cosmos.AddressBytes", - (gogoproto.casttype) = "github.com/cosmos/cosmos-sdk/types.ValAddress" - ]; - repeated bool results = 3; -} diff --git a/proto/zgc/das/v1/query.proto b/proto/zgc/das/v1/query.proto deleted file mode 100644 index 371c50e8..00000000 --- a/proto/zgc/das/v1/query.proto +++ /dev/null @@ -1,24 +0,0 @@ -syntax = "proto3"; -package zgc.das.v1; - -import "cosmos_proto/cosmos.proto"; -import "gogoproto/gogo.proto"; -import "google/api/annotations.proto"; -import "google/protobuf/any.proto"; -import "google/protobuf/timestamp.proto"; - -option go_package = "github.com/0glabs/0g-chain/x/das/v1/types"; -option (gogoproto.goproto_getters_all) = false; - -// Query defines the gRPC querier service for the das module -service Query { - rpc NextRequestID(QueryNextRequestIDRequest) returns (QueryNextRequestIDResponse) { - option (google.api.http).get = "/0gchain/das/v1/next-request-id"; - } -} - -message QueryNextRequestIDRequest {} - -message QueryNextRequestIDResponse { - uint64 next_request_id = 1 [(gogoproto.customname) = "NextRequestID"]; -} diff --git a/proto/zgc/das/v1/tx.proto b/proto/zgc/das/v1/tx.proto deleted file mode 100644 index 482c4679..00000000 --- a/proto/zgc/das/v1/tx.proto +++ /dev/null @@ -1,35 +0,0 @@ -syntax = "proto3"; -package zgc.das.v1; - -import "cosmos_proto/cosmos.proto"; -import "gogoproto/gogo.proto"; -import "google/protobuf/any.proto"; -import "zgc/das/v1/genesis.proto"; - -option go_package = "github.com/0glabs/0g-chain/x/das/v1/types"; -option (gogoproto.goproto_getters_all) = false; - -// Msg defines the das Msg service -service Msg { - rpc RequestDAS(MsgRequestDAS) returns (MsgRequestDASResponse); - rpc ReportDASResult(MsgReportDASResult) returns (MsgReportDASResultResponse); -} - -message MsgRequestDAS { - string requester = 1 [(gogoproto.moretags) = "Requester"]; - string stream_id = 2 [(gogoproto.customname) = "StreamID"]; - string batch_header_hash = 3; - uint32 num_blobs = 4; -} - -message MsgRequestDASResponse { - uint64 request_id = 1 [(gogoproto.customname) = "RequestID"]; -} - -message MsgReportDASResult { - uint64 request_id = 1 [(gogoproto.customname) = "RequestID"]; - string sampler = 2; - repeated bool results = 3; -} - -message MsgReportDASResultResponse {} diff --git a/proto/zgc/dasigners/v1/tx.proto b/proto/zgc/dasigners/v1/tx.proto index 9e5fd0e2..43651a81 100644 --- a/proto/zgc/dasigners/v1/tx.proto +++ b/proto/zgc/dasigners/v1/tx.proto @@ -4,7 +4,6 @@ package zgc.dasigners.v1; import "cosmos_proto/cosmos.proto"; import "gogoproto/gogo.proto"; import "google/protobuf/any.proto"; -import "zgc/das/v1/genesis.proto"; import "zgc/dasigners/v1/dasigners.proto"; option go_package = "github.com/0glabs/0g-chain/x/dasigners/v1/types"; diff --git a/x/das/v1/client/cli/query.go b/x/das/v1/client/cli/query.go deleted file mode 100644 index b7a715e3..00000000 --- a/x/das/v1/client/cli/query.go +++ /dev/null @@ -1,57 +0,0 @@ -package cli - -import ( - "context" - "fmt" - - "github.com/spf13/cobra" - - "github.com/0glabs/0g-chain/x/das/v1/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" -) - -// GetQueryCmd returns the cli query commands for the inflation module. -func GetQueryCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: types.ModuleName, - Short: "Querying commands for the das module", - DisableFlagParsing: true, - SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, - } - - cmd.AddCommand( - GetNextRequestID(), - ) - - return cmd -} - -func GetNextRequestID() *cobra.Command { - cmd := &cobra.Command{ - Use: "next-request-id", - Short: "Query the next request ID", - Args: cobra.NoArgs, - RunE: func(cmd *cobra.Command, _ []string) error { - clientCtx, err := client.GetClientQueryContext(cmd) - if err != nil { - return err - } - - queryClient := types.NewQueryClient(clientCtx) - - params := &types.QueryNextRequestIDRequest{} - res, err := queryClient.NextRequestID(context.Background(), params) - if err != nil { - return err - } - - return clientCtx.PrintString(fmt.Sprintf("%v\n", res.NextRequestID)) - }, - } - - flags.AddQueryFlagsToCmd(cmd) - - return cmd -} diff --git a/x/das/v1/client/cli/tx.go b/x/das/v1/client/cli/tx.go deleted file mode 100644 index 1a97c959..00000000 --- a/x/das/v1/client/cli/tx.go +++ /dev/null @@ -1,103 +0,0 @@ -package cli - -import ( - "encoding/hex" - "fmt" - "strconv" - - "github.com/0glabs/0g-chain/x/das/v1/types" - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/client/flags" - "github.com/cosmos/cosmos-sdk/client/tx" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/spf13/cobra" -) - -// GetTxCmd returns the transaction commands for this module -func GetTxCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: types.ModuleName, - Short: fmt.Sprintf("%s transactions subcommands", types.ModuleName), - DisableFlagParsing: true, - SuggestionsMinimumDistance: 2, - RunE: client.ValidateCmd, - } - cmd.AddCommand( - NewRequestDASCmd(), - NewReportDASResultCmd(), - ) - return cmd -} - -func NewRequestDASCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "request-das steram-id batch-header-hash num-blobs", - Short: "Request data-availability-sampling", - Args: cobra.ExactArgs(3), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - numBlobs, err := strconv.Atoi(args[2]) - if err != nil { - return err - } - - msg := types.NewMsgRequestDAS(clientCtx.GetFromAddress(), args[0], args[1], uint32(numBlobs)) - return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) - }, - } - - flags.AddTxFlagsToCmd(cmd) - return cmd - -} - -func NewReportDASResultCmd() *cobra.Command { - cmd := &cobra.Command{ - Use: "report-das-result request-id results", - Short: "Report data-availability-sampling result", - Args: cobra.MinimumNArgs(2), - RunE: func(cmd *cobra.Command, args []string) error { - clientCtx, err := client.GetClientTxContext(cmd) - if err != nil { - return err - } - - requestID, err := strconv.ParseUint(args[0], 10, 64) - if err != nil { - return err - } - - n := len(args) - 1 - results := make([]bool, n) - for i := 0; i < n; i++ { - var err error - results[i], err = strconv.ParseBool(args[i+1]) - if err != nil { - return err - } - } - - // get account name by address - accAddr := clientCtx.GetFromAddress() - - samplerAddr, err := sdk.ValAddressFromHex(hex.EncodeToString(accAddr.Bytes())) - if err != nil { - return err - } - - msg := &types.MsgReportDASResult{ - RequestID: requestID, - Sampler: samplerAddr.String(), - Results: results, - } - return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), msg) - }, - } - - flags.AddTxFlagsToCmd(cmd) - return cmd -} diff --git a/x/das/v1/genesis.go b/x/das/v1/genesis.go deleted file mode 100644 index 4780b693..00000000 --- a/x/das/v1/genesis.go +++ /dev/null @@ -1,39 +0,0 @@ -package das - -import ( - "fmt" - - sdk "github.com/cosmos/cosmos-sdk/types" - - "github.com/0glabs/0g-chain/x/das/v1/keeper" - "github.com/0glabs/0g-chain/x/das/v1/types" -) - -// InitGenesis initializes the store state from a genesis state. -func InitGenesis(ctx sdk.Context, keeper keeper.Keeper, gs types.GenesisState) { - if err := gs.Validate(); err != nil { - panic(fmt.Sprintf("failed to validate %s genesis state: %s", types.ModuleName, err)) - } - - keeper.SetNextRequestID(ctx, gs.NextRequestID) - for _, req := range gs.Requests { - keeper.SetDASRequest(ctx, req) - } - for _, resp := range gs.Responses { - keeper.SetDASResponse(ctx, resp) - } -} - -// ExportGenesis returns a GenesisState for a given context and keeper. -func ExportGenesis(ctx sdk.Context, keeper keeper.Keeper) *types.GenesisState { - nextRequestID, err := keeper.GetNextRequestID(ctx) - if err != nil { - panic(err) - } - - return types.NewGenesisState( - nextRequestID, - keeper.GetDASRequests(ctx), - keeper.GetDASResponses(ctx), - ) -} diff --git a/x/das/v1/keeper/grpc_query.go b/x/das/v1/keeper/grpc_query.go deleted file mode 100644 index e4fddea2..00000000 --- a/x/das/v1/keeper/grpc_query.go +++ /dev/null @@ -1,22 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/0glabs/0g-chain/x/das/v1/types" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -var _ types.QueryServer = Keeper{} - -func (k Keeper) NextRequestID( - c context.Context, - _ *types.QueryNextRequestIDRequest, -) (*types.QueryNextRequestIDResponse, error) { - ctx := sdk.UnwrapSDKContext(c) - nextRequestID, err := k.GetNextRequestID(ctx) - if err != nil { - return nil, err - } - return &types.QueryNextRequestIDResponse{NextRequestID: nextRequestID}, nil -} diff --git a/x/das/v1/keeper/keeper.go b/x/das/v1/keeper/keeper.go deleted file mode 100644 index 52e515fa..00000000 --- a/x/das/v1/keeper/keeper.go +++ /dev/null @@ -1,198 +0,0 @@ -package keeper - -import ( - "encoding/hex" - "strconv" - - errorsmod "cosmossdk.io/errors" - "github.com/cosmos/cosmos-sdk/codec" - "github.com/cosmos/cosmos-sdk/store/prefix" - storetypes "github.com/cosmos/cosmos-sdk/store/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/tendermint/tendermint/libs/log" - - "github.com/0glabs/0g-chain/x/das/v1/types" -) - -type Keeper struct { - storeKey storetypes.StoreKey - cdc codec.BinaryCodec - stakingKeeperRef types.StakingKeeperRef -} - -// NewKeeper creates a new das Keeper instance -func NewKeeper( - storeKey storetypes.StoreKey, - cdc codec.BinaryCodec, - stakingKeeper types.StakingKeeperRef, -) Keeper { - return Keeper{ - storeKey: storeKey, - cdc: cdc, - stakingKeeperRef: stakingKeeper, - } -} - -// Logger returns a module-specific logger. -func (k Keeper) Logger(ctx sdk.Context) log.Logger { - return ctx.Logger().With("module", "x/"+types.ModuleName) -} - -func (k Keeper) SetNextRequestID(ctx sdk.Context, id uint64) { - store := ctx.KVStore(k.storeKey) - store.Set(types.NextRequestIDKey, types.GetKeyFromID(id)) -} - -func (k Keeper) GetNextRequestID(ctx sdk.Context) (uint64, error) { - store := ctx.KVStore(k.storeKey) - bz := store.Get(types.NextRequestIDKey) - if bz == nil { - return 0, errorsmod.Wrap(types.ErrInvalidGenesis, "next request ID not set at genesis") - } - return types.Uint64FromBytes(bz), nil -} - -func (k Keeper) IncrementNextRequestID(ctx sdk.Context) error { - id, err := k.GetNextRequestID(ctx) - if err != nil { - return err - } - k.SetNextRequestID(ctx, id+1) - return nil -} - -func (k Keeper) GetDASRequest(ctx sdk.Context, requestID uint64) (types.DASRequest, bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.RequestKeyPrefix) - bz := store.Get(types.GetKeyFromID(requestID)) - if bz == nil { - return types.DASRequest{}, false - } - var req types.DASRequest - k.cdc.MustUnmarshal(bz, &req) - return req, true -} - -func (k Keeper) SetDASRequest(ctx sdk.Context, req types.DASRequest) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.RequestKeyPrefix) - bz := k.cdc.MustMarshal(&req) - store.Set(types.GetKeyFromID(req.ID), bz) -} - -func (k Keeper) IterateDASRequest(ctx sdk.Context, cb func(req types.DASRequest) (stop bool)) { - iterator := sdk.KVStorePrefixIterator(ctx.KVStore(k.storeKey), types.RequestKeyPrefix) - - defer iterator.Close() - for ; iterator.Valid(); iterator.Next() { - var req types.DASRequest - k.cdc.MustUnmarshal(iterator.Value(), &req) - if cb(req) { - break - } - } -} - -func (k Keeper) GetDASRequests(ctx sdk.Context) []types.DASRequest { - results := []types.DASRequest{} - k.IterateDASRequest(ctx, func(req types.DASRequest) bool { - results = append(results, req) - return false - }) - return results -} - -func (k Keeper) StoreNewDASRequest( - ctx sdk.Context, - streamIDHexStr string, - batchHeaderHashHexStr string, - numBlobs uint32) (uint64, error) { - requestID, err := k.GetNextRequestID(ctx) - if err != nil { - return 0, err - } - - streamID, err := hex.DecodeString(streamIDHexStr) - if err != nil { - return 0, err - } - - batchHeaderHash, err := hex.DecodeString(batchHeaderHashHexStr) - if err != nil { - return 0, err - } - - req := types.DASRequest{ - ID: requestID, - StreamID: streamID, - BatchHeaderHash: batchHeaderHash, - NumBlobs: numBlobs, - } - k.SetDASRequest(ctx, req) - - ctx.EventManager().EmitEvent( - sdk.NewEvent( - types.EventTypeDASRequest, - sdk.NewAttribute(types.AttributeKeyRequestID, strconv.FormatUint(requestID, 10)), - sdk.NewAttribute(types.AttributeKeyStreamID, streamIDHexStr), - sdk.NewAttribute(types.AttributeKeyBatchHeaderHash, batchHeaderHashHexStr), - sdk.NewAttribute(types.AttributeKeyNumBlobs, strconv.FormatUint(uint64(numBlobs), 10)), - ), - ) - - return requestID, nil -} - -func (k Keeper) GetDASResponse( - ctx sdk.Context, requestID uint64, sampler sdk.ValAddress, -) (types.DASResponse, bool) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ResponseKeyPrefix) - bz := store.Get(types.GetResponseKey(requestID, sampler)) - if bz == nil { - return types.DASResponse{}, false - } - var vote types.DASResponse - k.cdc.MustUnmarshal(bz, &vote) - return vote, true -} - -func (k Keeper) SetDASResponse(ctx sdk.Context, resp types.DASResponse) { - store := prefix.NewStore(ctx.KVStore(k.storeKey), types.ResponseKeyPrefix) - bz := k.cdc.MustMarshal(&resp) - store.Set(types.GetResponseKey(resp.ID, resp.Sampler), bz) -} - -func (k Keeper) IterateDASResponse(ctx sdk.Context, cb func(resp types.DASResponse) (stop bool)) { - iterator := sdk.KVStorePrefixIterator(ctx.KVStore(k.storeKey), types.ResponseKeyPrefix) - - defer iterator.Close() - for ; iterator.Valid(); iterator.Next() { - var resp types.DASResponse - k.cdc.MustUnmarshal(iterator.Value(), &resp) - if cb(resp) { - break - } - } -} - -func (k Keeper) GetDASResponses(ctx sdk.Context) []types.DASResponse { - results := []types.DASResponse{} - k.IterateDASResponse(ctx, func(resp types.DASResponse) bool { - results = append(results, resp) - return false - }) - return results -} - -func (k Keeper) StoreNewDASResponse( - ctx sdk.Context, requestID uint64, sampler sdk.ValAddress, results []bool) error { - if _, found := k.GetDASRequest(ctx, requestID); !found { - return errorsmod.Wrapf(types.ErrUnknownRequest, "%d", requestID) - } - - k.SetDASResponse(ctx, types.DASResponse{ - ID: requestID, - Sampler: sampler, - Results: results, - }) - - return nil -} diff --git a/x/das/v1/keeper/msg_server.go b/x/das/v1/keeper/msg_server.go deleted file mode 100644 index 4109f90a..00000000 --- a/x/das/v1/keeper/msg_server.go +++ /dev/null @@ -1,49 +0,0 @@ -package keeper - -import ( - "context" - - "github.com/0glabs/0g-chain/x/das/v1/types" - sdk "github.com/cosmos/cosmos-sdk/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" -) - -var _ types.MsgServer = &Keeper{} - -// RequestDAS handles MsgRequestDAS messages -func (k Keeper) RequestDAS( - goCtx context.Context, msg *types.MsgRequestDAS, -) (*types.MsgRequestDASResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - requestID, err := k.StoreNewDASRequest(ctx, msg.StreamID, msg.BatchHeaderHash, msg.NumBlobs) - if err != nil { - return nil, err - } - k.IncrementNextRequestID(ctx) - return &types.MsgRequestDASResponse{ - RequestID: requestID, - }, nil -} - -// ReportDASResult handles MsgReportDASResult messages -func (k Keeper) ReportDASResult( - goCtx context.Context, msg *types.MsgReportDASResult, -) (*types.MsgReportDASResultResponse, error) { - ctx := sdk.UnwrapSDKContext(goCtx) - - sampler, err := sdk.ValAddressFromBech32(msg.Sampler) - if err != nil { - return nil, err - } - - if _, found := k.stakingKeeperRef.GetValidator(ctx, sampler); !found { - return nil, stakingtypes.ErrNoValidatorFound - } - - if err := k.StoreNewDASResponse(ctx, msg.RequestID, sampler, msg.Results); err != nil { - return nil, err - } - - return &types.MsgReportDASResultResponse{}, nil -} diff --git a/x/das/v1/module.go b/x/das/v1/module.go deleted file mode 100644 index 03d8c644..00000000 --- a/x/das/v1/module.go +++ /dev/null @@ -1,180 +0,0 @@ -package das - -import ( - "context" - "encoding/json" - "fmt" - - "github.com/cosmos/cosmos-sdk/client" - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/module" - simtypes "github.com/cosmos/cosmos-sdk/types/simulation" - "github.com/gorilla/mux" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/spf13/cobra" - abci "github.com/tendermint/tendermint/abci/types" - - "github.com/0glabs/0g-chain/x/das/v1/client/cli" - "github.com/0glabs/0g-chain/x/das/v1/keeper" - "github.com/0glabs/0g-chain/x/das/v1/types" -) - -// consensusVersion defines the current x/council module consensus version. -const consensusVersion = 1 - -// type check to ensure the interface is properly implemented -var ( - _ module.AppModule = AppModule{} - _ module.AppModuleBasic = AppModuleBasic{} - // _ module.AppModuleSimulation = AppModule{} - _ module.BeginBlockAppModule = AppModule{} - _ module.EndBlockAppModule = AppModule{} -) - -// app module Basics object -type AppModuleBasic struct{} - -// Name returns the inflation module's name. -func (AppModuleBasic) Name() string { - return types.ModuleName -} - -// RegisterLegacyAminoCodec registers the inflation module's types on the given LegacyAmino codec. -func (AppModuleBasic) RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) {} - -// ConsensusVersion returns the consensus state-breaking version for the module. -func (AppModuleBasic) ConsensusVersion() uint64 { - return consensusVersion -} - -// RegisterInterfaces registers interfaces and implementations of the incentives -// module. -func (AppModuleBasic) RegisterInterfaces(interfaceRegistry codectypes.InterfaceRegistry) { - types.RegisterInterfaces(interfaceRegistry) -} - -// DefaultGenesis returns default genesis state as raw bytes for the incentives -// module. -func (AppModuleBasic) DefaultGenesis(cdc codec.JSONCodec) json.RawMessage { - return cdc.MustMarshalJSON(types.DefaultGenesisState()) -} - -// ValidateGenesis performs genesis state validation for the inflation module. -func (b AppModuleBasic) ValidateGenesis(cdc codec.JSONCodec, _ client.TxEncodingConfig, bz json.RawMessage) error { - var genesisState types.GenesisState - if err := cdc.UnmarshalJSON(bz, &genesisState); err != nil { - return fmt.Errorf("failed to unmarshal %s genesis state: %w", types.ModuleName, err) - } - - return genesisState.Validate() -} - -// RegisterRESTRoutes performs a no-op as the inflation module doesn't expose REST -// endpoints -func (AppModuleBasic) RegisterRESTRoutes(_ client.Context, _ *mux.Router) {} - -// RegisterGRPCGatewayRoutes registers the gRPC Gateway routes for the inflation module. -func (b AppModuleBasic) RegisterGRPCGatewayRoutes(c client.Context, serveMux *runtime.ServeMux) { - if err := types.RegisterQueryHandlerClient(context.Background(), serveMux, types.NewQueryClient(c)); err != nil { - panic(err) - } -} - -// GetTxCmd returns the root tx command for the inflation module. -func (AppModuleBasic) GetTxCmd() *cobra.Command { - return cli.GetTxCmd() -} - -// GetQueryCmd returns no root query command for the inflation module. -func (AppModuleBasic) GetQueryCmd() *cobra.Command { - return cli.GetQueryCmd() -} - -// ___________________________________________________________________________ - -// AppModule implements an application module for the inflation module. -type AppModule struct { - AppModuleBasic - keeper keeper.Keeper -} - -// NewAppModule creates a new AppModule Object -func NewAppModule( - k keeper.Keeper, -) AppModule { - return AppModule{ - AppModuleBasic: AppModuleBasic{}, - keeper: k, - } -} - -// Name returns the inflation module's name. -func (AppModule) Name() string { - return types.ModuleName -} - -// Route returns evmutil module's message route. -func (am AppModule) Route() sdk.Route { return sdk.Route{} } - -// QuerierRoute returns evmutil module's query routing key. -func (AppModule) QuerierRoute() string { return "" } - -// LegacyQuerierHandler returns evmutil module's Querier. -func (am AppModule) LegacyQuerierHandler(legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { - return nil -} - -// RegisterInvariants registers the inflation module invariants. -func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry) {} - -// RegisterServices registers a gRPC query service to respond to the -// module-specific gRPC queries. -func (am AppModule) RegisterServices(cfg module.Configurator) { - types.RegisterMsgServer(cfg.MsgServer(), am.keeper) - types.RegisterQueryServer(cfg.QueryServer(), am.keeper) -} - -func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock) { - // am.keeper.BeginBlock(ctx, req) -} - -func (am AppModule) EndBlock(ctx sdk.Context, req abci.RequestEndBlock) []abci.ValidatorUpdate { - // am.keeper.EndBlock(ctx, req) - return []abci.ValidatorUpdate{} -} - -// InitGenesis performs genesis initialization for the inflation module. It returns -// no validator updates. -func (am AppModule) InitGenesis(ctx sdk.Context, cdc codec.JSONCodec, data json.RawMessage) []abci.ValidatorUpdate { - var genesisState types.GenesisState - - cdc.MustUnmarshalJSON(data, &genesisState) - InitGenesis(ctx, am.keeper, genesisState) - return []abci.ValidatorUpdate{} -} - -// ExportGenesis returns the exported genesis state as raw bytes for the inflation -// module. -func (am AppModule) ExportGenesis(ctx sdk.Context, cdc codec.JSONCodec) json.RawMessage { - gs := ExportGenesis(ctx, am.keeper) - return cdc.MustMarshalJSON(gs) -} - -// ___________________________________________________________________________ - -// AppModuleSimulation functions - -// GenerateGenesisState creates a randomized GenState of the inflation module. -func (am AppModule) GenerateGenesisState(_ *module.SimulationState) { -} - -// RegisterStoreDecoder registers a decoder for inflation module's types. -func (am AppModule) RegisterStoreDecoder(_ sdk.StoreDecoderRegistry) { -} - -// WeightedOperations doesn't return any inflation module operation. -func (am AppModule) WeightedOperations(_ module.SimulationState) []simtypes.WeightedOperation { - return []simtypes.WeightedOperation{} -} diff --git a/x/das/v1/types/codec.go b/x/das/v1/types/codec.go deleted file mode 100644 index 883a699e..00000000 --- a/x/das/v1/types/codec.go +++ /dev/null @@ -1,47 +0,0 @@ -package types - -import ( - "github.com/cosmos/cosmos-sdk/codec" - codectypes "github.com/cosmos/cosmos-sdk/codec/types" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/cosmos/cosmos-sdk/types/msgservice" -) - -var ( - amino = codec.NewLegacyAmino() - // ModuleCdc references the global evm module codec. Note, the codec should - // ONLY be used in certain instances of tests and for JSON encoding. - ModuleCdc = codec.NewProtoCodec(codectypes.NewInterfaceRegistry()) - - // AminoCdc is a amino codec created to support amino JSON compatible msgs. - AminoCdc = codec.NewAminoCodec(amino) -) - -const ( - // Amino names - requestDASName = "evmos/das/MsgRequestDAS" - reportDASResultName = "evmos/das/MsgReportDASResult" -) - -// NOTE: This is required for the GetSignBytes function -func init() { - RegisterLegacyAminoCodec(amino) - amino.Seal() -} - -// RegisterInterfaces register implementations -func RegisterInterfaces(registry codectypes.InterfaceRegistry) { - registry.RegisterImplementations( - (*sdk.Msg)(nil), - &MsgRequestDAS{}, - &MsgReportDASResult{}, - ) - - msgservice.RegisterMsgServiceDesc(registry, &_Msg_serviceDesc) -} - -// RegisterLegacyAminoCodec required for EIP-712 -func RegisterLegacyAminoCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(&MsgRequestDAS{}, requestDASName, nil) - cdc.RegisterConcrete(&MsgReportDASResult{}, reportDASResultName, nil) -} diff --git a/x/das/v1/types/errors.go b/x/das/v1/types/errors.go deleted file mode 100644 index 77469e4a..00000000 --- a/x/das/v1/types/errors.go +++ /dev/null @@ -1,8 +0,0 @@ -package types - -import errorsmod "cosmossdk.io/errors" - -var ( - ErrUnknownRequest = errorsmod.Register(ModuleName, 0, "request not found") - ErrInvalidGenesis = errorsmod.Register(ModuleName, 1, "invalid genesis") -) diff --git a/x/das/v1/types/events.go b/x/das/v1/types/events.go deleted file mode 100644 index 3a7159a4..00000000 --- a/x/das/v1/types/events.go +++ /dev/null @@ -1,11 +0,0 @@ -package types - -// Module event types -const ( - EventTypeDASRequest = "das_request" - - AttributeKeyRequestID = "request_id" - AttributeKeyStreamID = "stream_id" - AttributeKeyBatchHeaderHash = "batch_header_hash" - AttributeKeyNumBlobs = "num_blobs" -) diff --git a/x/das/v1/types/genesis.go b/x/das/v1/types/genesis.go deleted file mode 100644 index fd0c6fde..00000000 --- a/x/das/v1/types/genesis.go +++ /dev/null @@ -1,28 +0,0 @@ -package types - -const ( - DefaultNextRequestID = 0 -) - -// NewGenesisState returns a new genesis state object for the module. -func NewGenesisState(nextRequestID uint64, requests []DASRequest, responses []DASResponse) *GenesisState { - return &GenesisState{ - NextRequestID: nextRequestID, - Requests: requests, - Responses: responses, - } -} - -// DefaultGenesisState returns the default genesis state for the module. -func DefaultGenesisState() *GenesisState { - return NewGenesisState( - DefaultNextRequestID, - []DASRequest{}, - []DASResponse{}, - ) -} - -// Validate performs basic validation of genesis data. -func (gs GenesisState) Validate() error { - return nil -} diff --git a/x/das/v1/types/genesis.pb.go b/x/das/v1/types/genesis.pb.go deleted file mode 100644 index 6ebee372..00000000 --- a/x/das/v1/types/genesis.pb.go +++ /dev/null @@ -1,1191 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: zgc/das/v1/genesis.proto - -package types - -import ( - fmt "fmt" - _ "github.com/cosmos/cosmos-proto" - _ "github.com/cosmos/cosmos-sdk/codec/types" - github_com_cosmos_cosmos_sdk_types "github.com/cosmos/cosmos-sdk/types" - _ "github.com/gogo/protobuf/gogoproto" - proto "github.com/gogo/protobuf/proto" - _ "google.golang.org/protobuf/types/known/timestamppb" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type Params struct { -} - -func (m *Params) Reset() { *m = Params{} } -func (m *Params) String() string { return proto.CompactTextString(m) } -func (*Params) ProtoMessage() {} -func (*Params) Descriptor() ([]byte, []int) { - return fileDescriptor_3f8b8b164973ed21, []int{0} -} -func (m *Params) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *Params) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_Params.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *Params) XXX_Merge(src proto.Message) { - xxx_messageInfo_Params.Merge(m, src) -} -func (m *Params) XXX_Size() int { - return m.Size() -} -func (m *Params) XXX_DiscardUnknown() { - xxx_messageInfo_Params.DiscardUnknown(m) -} - -var xxx_messageInfo_Params proto.InternalMessageInfo - -// GenesisState defines the das module's genesis state. -type GenesisState struct { - Params Params `protobuf:"bytes,1,opt,name=params,proto3" json:"params"` - NextRequestID uint64 `protobuf:"varint,2,opt,name=next_request_id,json=nextRequestId,proto3" json:"next_request_id,omitempty"` - Requests []DASRequest `protobuf:"bytes,3,rep,name=requests,proto3" json:"requests"` - Responses []DASResponse `protobuf:"bytes,4,rep,name=responses,proto3" json:"responses"` -} - -func (m *GenesisState) Reset() { *m = GenesisState{} } -func (m *GenesisState) String() string { return proto.CompactTextString(m) } -func (*GenesisState) ProtoMessage() {} -func (*GenesisState) Descriptor() ([]byte, []int) { - return fileDescriptor_3f8b8b164973ed21, []int{1} -} -func (m *GenesisState) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *GenesisState) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_GenesisState.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *GenesisState) XXX_Merge(src proto.Message) { - xxx_messageInfo_GenesisState.Merge(m, src) -} -func (m *GenesisState) XXX_Size() int { - return m.Size() -} -func (m *GenesisState) XXX_DiscardUnknown() { - xxx_messageInfo_GenesisState.DiscardUnknown(m) -} - -var xxx_messageInfo_GenesisState proto.InternalMessageInfo - -type DASRequest struct { - ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - StreamID []byte `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` - BatchHeaderHash []byte `protobuf:"bytes,3,opt,name=batch_header_hash,json=batchHeaderHash,proto3" json:"batch_header_hash,omitempty"` - NumBlobs uint32 `protobuf:"varint,4,opt,name=num_blobs,json=numBlobs,proto3" json:"num_blobs,omitempty"` -} - -func (m *DASRequest) Reset() { *m = DASRequest{} } -func (m *DASRequest) String() string { return proto.CompactTextString(m) } -func (*DASRequest) ProtoMessage() {} -func (*DASRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_3f8b8b164973ed21, []int{2} -} -func (m *DASRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DASRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DASRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DASRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_DASRequest.Merge(m, src) -} -func (m *DASRequest) XXX_Size() int { - return m.Size() -} -func (m *DASRequest) XXX_DiscardUnknown() { - xxx_messageInfo_DASRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_DASRequest proto.InternalMessageInfo - -func (m *DASRequest) GetID() uint64 { - if m != nil { - return m.ID - } - return 0 -} - -func (m *DASRequest) GetStreamID() []byte { - if m != nil { - return m.StreamID - } - return nil -} - -func (m *DASRequest) GetBatchHeaderHash() []byte { - if m != nil { - return m.BatchHeaderHash - } - return nil -} - -func (m *DASRequest) GetNumBlobs() uint32 { - if m != nil { - return m.NumBlobs - } - return 0 -} - -type DASResponse struct { - ID uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"` - Sampler github_com_cosmos_cosmos_sdk_types.ValAddress `protobuf:"bytes,2,opt,name=sampler,proto3,casttype=github.com/cosmos/cosmos-sdk/types.ValAddress" json:"sampler,omitempty"` - Results []bool `protobuf:"varint,3,rep,packed,name=results,proto3" json:"results,omitempty"` -} - -func (m *DASResponse) Reset() { *m = DASResponse{} } -func (m *DASResponse) String() string { return proto.CompactTextString(m) } -func (*DASResponse) ProtoMessage() {} -func (*DASResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_3f8b8b164973ed21, []int{3} -} -func (m *DASResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *DASResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_DASResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *DASResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_DASResponse.Merge(m, src) -} -func (m *DASResponse) XXX_Size() int { - return m.Size() -} -func (m *DASResponse) XXX_DiscardUnknown() { - xxx_messageInfo_DASResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_DASResponse proto.InternalMessageInfo - -func (m *DASResponse) GetID() uint64 { - if m != nil { - return m.ID - } - return 0 -} - -func (m *DASResponse) GetSampler() github_com_cosmos_cosmos_sdk_types.ValAddress { - if m != nil { - return m.Sampler - } - return nil -} - -func (m *DASResponse) GetResults() []bool { - if m != nil { - return m.Results - } - return nil -} - -func init() { - proto.RegisterType((*Params)(nil), "zgc.das.v1.Params") - proto.RegisterType((*GenesisState)(nil), "zgc.das.v1.GenesisState") - proto.RegisterType((*DASRequest)(nil), "zgc.das.v1.DASRequest") - proto.RegisterType((*DASResponse)(nil), "zgc.das.v1.DASResponse") -} - -func init() { proto.RegisterFile("zgc/das/v1/genesis.proto", fileDescriptor_3f8b8b164973ed21) } - -var fileDescriptor_3f8b8b164973ed21 = []byte{ - // 521 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x74, 0x53, 0xbd, 0x6e, 0xd3, 0x50, - 0x14, 0x8e, 0x93, 0x28, 0x75, 0x6e, 0x12, 0x55, 0x35, 0xa8, 0xb8, 0x45, 0xb2, 0xa3, 0x4c, 0x29, - 0x52, 0xec, 0xb4, 0x2c, 0xfc, 0x4c, 0x35, 0x91, 0x48, 0x16, 0x84, 0x1c, 0x89, 0x81, 0xc5, 0xba, - 0xf6, 0xbd, 0xd8, 0x16, 0xb6, 0xaf, 0xf1, 0xb9, 0xae, 0x92, 0x3e, 0x01, 0x23, 0x23, 0x23, 0x12, - 0xaf, 0xc0, 0x43, 0x74, 0xac, 0x98, 0x98, 0x22, 0xe4, 0xbc, 0x04, 0x62, 0x42, 0xb1, 0x6f, 0x48, - 0x04, 0xea, 0x94, 0x7c, 0x7f, 0x3e, 0xdf, 0x91, 0x8f, 0x91, 0x7a, 0xed, 0x7b, 0x26, 0xc1, 0x60, - 0x5e, 0x9d, 0x9b, 0x3e, 0x4d, 0x28, 0x84, 0x60, 0xa4, 0x19, 0xe3, 0x4c, 0x41, 0xd7, 0xbe, 0x67, - 0x10, 0x0c, 0xc6, 0xd5, 0xf9, 0xe9, 0x89, 0xc7, 0x20, 0x66, 0xe0, 0x94, 0x8a, 0x59, 0x81, 0xca, - 0x76, 0x7a, 0xdf, 0x67, 0x3e, 0xab, 0xf8, 0xcd, 0x3f, 0xc1, 0x9e, 0xf8, 0x8c, 0xf9, 0x11, 0x35, - 0x4b, 0xe4, 0xe6, 0xef, 0x4c, 0x9c, 0x2c, 0x85, 0xa4, 0xff, 0x2b, 0xf1, 0x30, 0xa6, 0xc0, 0x71, - 0x9c, 0x56, 0x86, 0x81, 0x8c, 0x5a, 0xaf, 0x71, 0x86, 0x63, 0x18, 0xfc, 0x92, 0x50, 0xf7, 0x65, - 0x55, 0x6a, 0xce, 0x31, 0xa7, 0xca, 0x18, 0xb5, 0xd2, 0x52, 0x52, 0xa5, 0xbe, 0x34, 0xec, 0x5c, - 0x28, 0xc6, 0xae, 0xa4, 0x51, 0x85, 0xac, 0xe6, 0xcd, 0x4a, 0xaf, 0xd9, 0xc2, 0xa7, 0x3c, 0x45, - 0x87, 0x09, 0x5d, 0x70, 0x27, 0xa3, 0x1f, 0x72, 0x0a, 0xdc, 0x09, 0x89, 0x5a, 0xef, 0x4b, 0xc3, - 0xa6, 0x75, 0x54, 0xac, 0xf4, 0xde, 0x2b, 0xba, 0xe0, 0x76, 0xa5, 0xcc, 0x26, 0x76, 0x2f, 0xd9, - 0x83, 0x44, 0x79, 0x82, 0x64, 0x91, 0x02, 0xb5, 0xd1, 0x6f, 0x0c, 0x3b, 0x17, 0xc7, 0xfb, 0xe3, - 0x26, 0x97, 0x73, 0xe1, 0x15, 0x23, 0xff, 0xba, 0x95, 0xe7, 0xa8, 0x9d, 0x51, 0x48, 0x59, 0x02, - 0x14, 0xd4, 0x66, 0x19, 0x7d, 0xf0, 0x5f, 0xb4, 0xd2, 0x45, 0x76, 0xe7, 0x7f, 0xd6, 0xfc, 0xf8, - 0x45, 0xaf, 0x0d, 0x3e, 0x4b, 0x08, 0xed, 0x26, 0x28, 0xc7, 0xa8, 0x1e, 0x92, 0x72, 0xe9, 0xa6, - 0xd5, 0x2a, 0x56, 0x7a, 0x7d, 0x36, 0xb1, 0xeb, 0x21, 0x51, 0xce, 0x50, 0x1b, 0x78, 0x46, 0x71, - 0xbc, 0x5d, 0xac, 0x6b, 0x75, 0x8b, 0x95, 0x2e, 0xcf, 0x4b, 0x72, 0x36, 0xb1, 0xe5, 0x4a, 0x9e, - 0x11, 0xe5, 0x11, 0x3a, 0x72, 0x31, 0xf7, 0x02, 0x27, 0xa0, 0x98, 0xd0, 0xcc, 0x09, 0x30, 0x04, - 0x6a, 0x63, 0x13, 0xb1, 0x0f, 0x4b, 0x61, 0x5a, 0xf2, 0x53, 0x0c, 0x81, 0xf2, 0x10, 0xb5, 0x93, - 0x3c, 0x76, 0xdc, 0x88, 0xb9, 0x9b, 0x05, 0xa4, 0x61, 0xcf, 0x96, 0x93, 0x3c, 0xb6, 0x36, 0x78, - 0xf0, 0x55, 0x42, 0x9d, 0xbd, 0x0d, 0xee, 0xec, 0xe6, 0xa2, 0x03, 0xc0, 0x71, 0x1a, 0xd1, 0x4c, - 0x34, 0x9b, 0xfe, 0x5e, 0xe9, 0x23, 0x3f, 0xe4, 0x41, 0xee, 0x1a, 0x1e, 0x8b, 0xc5, 0x1d, 0x89, - 0x9f, 0x11, 0x90, 0xf7, 0x26, 0x5f, 0xa6, 0x14, 0x8c, 0x37, 0x38, 0xba, 0x24, 0x24, 0xa3, 0x00, - 0xdf, 0xbf, 0x8d, 0xee, 0x89, 0x6b, 0x13, 0x8c, 0xb5, 0xe4, 0x14, 0xec, 0xed, 0x83, 0x15, 0x15, - 0x1d, 0x64, 0x14, 0xf2, 0x48, 0xbc, 0x22, 0xd9, 0xde, 0x42, 0xeb, 0xc5, 0x4d, 0xa1, 0x49, 0xb7, - 0x85, 0x26, 0xfd, 0x2c, 0x34, 0xe9, 0xd3, 0x5a, 0xab, 0xdd, 0xae, 0xb5, 0xda, 0x8f, 0xb5, 0x56, - 0x7b, 0x7b, 0xb6, 0x57, 0x61, 0xec, 0x47, 0xd8, 0x05, 0x73, 0xec, 0x8f, 0xbc, 0x00, 0x87, 0x89, - 0xb9, 0xd8, 0x7e, 0x0b, 0x65, 0x13, 0xb7, 0x55, 0x5e, 0xe4, 0xe3, 0x3f, 0x01, 0x00, 0x00, 0xff, - 0xff, 0x5b, 0x0e, 0xfc, 0x0d, 0x26, 0x03, 0x00, 0x00, -} - -func (m *Params) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Params) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *Params) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *GenesisState) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GenesisState) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *GenesisState) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Responses) > 0 { - for iNdEx := len(m.Responses) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Responses[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x22 - } - } - if len(m.Requests) > 0 { - for iNdEx := len(m.Requests) - 1; iNdEx >= 0; iNdEx-- { - { - size, err := m.Requests[iNdEx].MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0x1a - } - } - if m.NextRequestID != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.NextRequestID)) - i-- - dAtA[i] = 0x10 - } - { - size, err := m.Params.MarshalToSizedBuffer(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = encodeVarintGenesis(dAtA, i, uint64(size)) - } - i-- - dAtA[i] = 0xa - return len(dAtA) - i, nil -} - -func (m *DASRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DASRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DASRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.NumBlobs != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.NumBlobs)) - i-- - dAtA[i] = 0x20 - } - if len(m.BatchHeaderHash) > 0 { - i -= len(m.BatchHeaderHash) - copy(dAtA[i:], m.BatchHeaderHash) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.BatchHeaderHash))) - i-- - dAtA[i] = 0x1a - } - if len(m.StreamID) > 0 { - i -= len(m.StreamID) - copy(dAtA[i:], m.StreamID) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.StreamID))) - i-- - dAtA[i] = 0x12 - } - if m.ID != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.ID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *DASResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *DASResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *DASResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Results) > 0 { - for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- { - i-- - if m.Results[iNdEx] { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - } - i = encodeVarintGenesis(dAtA, i, uint64(len(m.Results))) - i-- - dAtA[i] = 0x1a - } - if len(m.Sampler) > 0 { - i -= len(m.Sampler) - copy(dAtA[i:], m.Sampler) - i = encodeVarintGenesis(dAtA, i, uint64(len(m.Sampler))) - i-- - dAtA[i] = 0x12 - } - if m.ID != 0 { - i = encodeVarintGenesis(dAtA, i, uint64(m.ID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintGenesis(dAtA []byte, offset int, v uint64) int { - offset -= sovGenesis(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *Params) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *GenesisState) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = m.Params.Size() - n += 1 + l + sovGenesis(uint64(l)) - if m.NextRequestID != 0 { - n += 1 + sovGenesis(uint64(m.NextRequestID)) - } - if len(m.Requests) > 0 { - for _, e := range m.Requests { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - if len(m.Responses) > 0 { - for _, e := range m.Responses { - l = e.Size() - n += 1 + l + sovGenesis(uint64(l)) - } - } - return n -} - -func (m *DASRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ID != 0 { - n += 1 + sovGenesis(uint64(m.ID)) - } - l = len(m.StreamID) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - l = len(m.BatchHeaderHash) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - if m.NumBlobs != 0 { - n += 1 + sovGenesis(uint64(m.NumBlobs)) - } - return n -} - -func (m *DASResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ID != 0 { - n += 1 + sovGenesis(uint64(m.ID)) - } - l = len(m.Sampler) - if l > 0 { - n += 1 + l + sovGenesis(uint64(l)) - } - if len(m.Results) > 0 { - n += 1 + sovGenesis(uint64(len(m.Results))) + len(m.Results)*1 - } - return n -} - -func sovGenesis(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozGenesis(x uint64) (n int) { - return sovGenesis(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *Params) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Params: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Params: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenesis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GenesisState) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GenesisState: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GenesisState: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Params", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if err := m.Params.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NextRequestID", wireType) - } - m.NextRequestID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NextRequestID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Requests = append(m.Requests, DASRequest{}) - if err := m.Requests[len(m.Requests)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Responses", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Responses = append(m.Responses, DASResponse{}) - if err := m.Responses[len(m.Responses)-1].Unmarshal(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenesis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DASRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DASRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DASRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) - } - m.ID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StreamID", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.StreamID = append(m.StreamID[:0], dAtA[iNdEx:postIndex]...) - if m.StreamID == nil { - m.StreamID = []byte{} - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BatchHeaderHash", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BatchHeaderHash = append(m.BatchHeaderHash[:0], dAtA[iNdEx:postIndex]...) - if m.BatchHeaderHash == nil { - m.BatchHeaderHash = []byte{} - } - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NumBlobs", wireType) - } - m.NumBlobs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NumBlobs |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenesis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DASResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DASResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DASResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType) - } - m.ID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sampler", wireType) - } - var byteLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - byteLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if byteLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + byteLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Sampler = append(m.Sampler[:0], dAtA[iNdEx:postIndex]...) - if m.Sampler == nil { - m.Sampler = []byte{} - } - iNdEx = postIndex - case 3: - if wireType == 0 { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Results = append(m.Results, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthGenesis - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthGenesis - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.Results) == 0 { - m.Results = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowGenesis - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Results = append(m.Results, bool(v != 0)) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipGenesis(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthGenesis - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipGenesis(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowGenesis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowGenesis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowGenesis - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthGenesis - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupGenesis - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthGenesis - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthGenesis = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowGenesis = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupGenesis = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/das/v1/types/interfaces.go b/x/das/v1/types/interfaces.go deleted file mode 100644 index ff56b322..00000000 --- a/x/das/v1/types/interfaces.go +++ /dev/null @@ -1,10 +0,0 @@ -package types - -import ( - sdk "github.com/cosmos/cosmos-sdk/types" - stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" -) - -type StakingKeeperRef interface { - GetValidator(ctx sdk.Context, addr sdk.ValAddress) (validator stakingtypes.Validator, found bool) -} diff --git a/x/das/v1/types/keys.go b/x/das/v1/types/keys.go deleted file mode 100644 index 06846cb9..00000000 --- a/x/das/v1/types/keys.go +++ /dev/null @@ -1,44 +0,0 @@ -package types - -import ( - "encoding/binary" - - sdk "github.com/cosmos/cosmos-sdk/types" -) - -const ( - // ModuleName The name that will be used throughout the module - ModuleName = "das" - - // StoreKey Top level store key where all module items will be stored - StoreKey = ModuleName -) - -// Key prefixes -var ( - RequestKeyPrefix = []byte{0x00} // prefix for keys that store requests - ResponseKeyPrefix = []byte{0x01} // prefix for keys that store responses - - NextRequestIDKey = []byte{0x02} -) - -// GetKeyFromID returns the bytes to use as a key for a uint64 id -func GetKeyFromID(id uint64) []byte { - return Uint64ToBytes(id) -} - -func GetResponseKey(requestID uint64, sampler sdk.ValAddress) []byte { - return append(GetKeyFromID(requestID), sampler.Bytes()...) -} - -// Uint64ToBytes converts a uint64 into fixed length bytes for use in store keys. -func Uint64ToBytes(id uint64) []byte { - bz := make([]byte, 8) - binary.BigEndian.PutUint64(bz, uint64(id)) - return bz -} - -// Uint64FromBytes converts some fixed length bytes back into a uint64. -func Uint64FromBytes(bz []byte) uint64 { - return binary.BigEndian.Uint64(bz) -} diff --git a/x/das/v1/types/msg.go b/x/das/v1/types/msg.go deleted file mode 100644 index f1c07ce4..00000000 --- a/x/das/v1/types/msg.go +++ /dev/null @@ -1,57 +0,0 @@ -package types - -import ( - "encoding/hex" - - errorsmod "cosmossdk.io/errors" - sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" -) - -var _, _ sdk.Msg = &MsgRequestDAS{}, &MsgReportDASResult{} - -func NewMsgRequestDAS(fromAddr sdk.AccAddress, streamID, hash string, numBlobs uint32) *MsgRequestDAS { - return &MsgRequestDAS{ - Requester: fromAddr.String(), - StreamID: streamID, - BatchHeaderHash: hash, - NumBlobs: numBlobs, - } -} - -func (msg MsgRequestDAS) GetSigners() []sdk.AccAddress { - from, err := sdk.AccAddressFromBech32(msg.Requester) - if err != nil { - panic(err) - } - return []sdk.AccAddress{from} -} - -func (msg MsgRequestDAS) ValidateBasic() error { - _, err := sdk.AccAddressFromBech32(msg.Requester) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid requester account address (%s)", err) - } - - return nil -} - -func (msg *MsgReportDASResult) GetSigners() []sdk.AccAddress { - samplerValAddr, err := sdk.ValAddressFromBech32(msg.Sampler) - if err != nil { - panic(err) - } - accAddr, err := sdk.AccAddressFromHexUnsafe(hex.EncodeToString(samplerValAddr.Bytes())) - if err != nil { - panic(err) - } - return []sdk.AccAddress{accAddr} -} - -func (msg *MsgReportDASResult) ValidateBasic() error { - _, err := sdk.ValAddressFromBech32(msg.Sampler) - if err != nil { - return errorsmod.Wrapf(sdkerrors.ErrInvalidAddress, "Invalid sampler validator address (%s)", err) - } - return nil -} diff --git a/x/das/v1/types/query.pb.go b/x/das/v1/types/query.pb.go deleted file mode 100644 index 76f8bfd9..00000000 --- a/x/das/v1/types/query.pb.go +++ /dev/null @@ -1,511 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: zgc/das/v1/query.proto - -package types - -import ( - context "context" - fmt "fmt" - _ "github.com/cosmos/cosmos-proto" - _ "github.com/cosmos/cosmos-sdk/codec/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - _ "google.golang.org/genproto/googleapis/api/annotations" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - _ "google.golang.org/protobuf/types/known/timestamppb" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type QueryNextRequestIDRequest struct { -} - -func (m *QueryNextRequestIDRequest) Reset() { *m = QueryNextRequestIDRequest{} } -func (m *QueryNextRequestIDRequest) String() string { return proto.CompactTextString(m) } -func (*QueryNextRequestIDRequest) ProtoMessage() {} -func (*QueryNextRequestIDRequest) Descriptor() ([]byte, []int) { - return fileDescriptor_d404c1962bca645f, []int{0} -} -func (m *QueryNextRequestIDRequest) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryNextRequestIDRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryNextRequestIDRequest.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryNextRequestIDRequest) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryNextRequestIDRequest.Merge(m, src) -} -func (m *QueryNextRequestIDRequest) XXX_Size() int { - return m.Size() -} -func (m *QueryNextRequestIDRequest) XXX_DiscardUnknown() { - xxx_messageInfo_QueryNextRequestIDRequest.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryNextRequestIDRequest proto.InternalMessageInfo - -type QueryNextRequestIDResponse struct { - NextRequestID uint64 `protobuf:"varint,1,opt,name=next_request_id,json=nextRequestId,proto3" json:"next_request_id,omitempty"` -} - -func (m *QueryNextRequestIDResponse) Reset() { *m = QueryNextRequestIDResponse{} } -func (m *QueryNextRequestIDResponse) String() string { return proto.CompactTextString(m) } -func (*QueryNextRequestIDResponse) ProtoMessage() {} -func (*QueryNextRequestIDResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_d404c1962bca645f, []int{1} -} -func (m *QueryNextRequestIDResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *QueryNextRequestIDResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_QueryNextRequestIDResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *QueryNextRequestIDResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_QueryNextRequestIDResponse.Merge(m, src) -} -func (m *QueryNextRequestIDResponse) XXX_Size() int { - return m.Size() -} -func (m *QueryNextRequestIDResponse) XXX_DiscardUnknown() { - xxx_messageInfo_QueryNextRequestIDResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_QueryNextRequestIDResponse proto.InternalMessageInfo - -func init() { - proto.RegisterType((*QueryNextRequestIDRequest)(nil), "zgc.das.v1.QueryNextRequestIDRequest") - proto.RegisterType((*QueryNextRequestIDResponse)(nil), "zgc.das.v1.QueryNextRequestIDResponse") -} - -func init() { proto.RegisterFile("zgc/das/v1/query.proto", fileDescriptor_d404c1962bca645f) } - -var fileDescriptor_d404c1962bca645f = []byte{ - // 334 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x91, 0xbf, 0x4b, 0x03, 0x31, - 0x14, 0xc7, 0x2f, 0xa2, 0x0e, 0x81, 0x22, 0x1e, 0x22, 0xf6, 0x94, 0x54, 0x0b, 0xfe, 0x1a, 0x9a, - 0xb4, 0x3a, 0xb9, 0x16, 0x41, 0x5c, 0x04, 0x5d, 0x04, 0x97, 0x92, 0xbb, 0x8b, 0x69, 0xa0, 0x97, - 0x5c, 0x9b, 0x5c, 0x69, 0x3b, 0xba, 0xb8, 0x2a, 0xfe, 0x53, 0x1d, 0x0b, 0x2e, 0x4e, 0xa2, 0x57, - 0xff, 0x10, 0xe9, 0xe5, 0x0e, 0xad, 0x28, 0x6e, 0xef, 0xbd, 0xef, 0xf7, 0x7d, 0xf3, 0xe1, 0x05, - 0xae, 0x8f, 0x78, 0x40, 0x42, 0xaa, 0x49, 0xbf, 0x41, 0xba, 0x09, 0xeb, 0x0d, 0x71, 0xdc, 0x53, - 0x46, 0xb9, 0x70, 0xc4, 0x03, 0x1c, 0x52, 0x8d, 0xfb, 0x0d, 0xaf, 0x1c, 0x28, 0x1d, 0x29, 0xdd, - 0xca, 0x14, 0x62, 0x1b, 0x6b, 0xf3, 0xd6, 0xb8, 0xe2, 0xca, 0xce, 0x67, 0x55, 0x3e, 0xdd, 0xe2, - 0x4a, 0xf1, 0x0e, 0x23, 0x34, 0x16, 0x84, 0x4a, 0xa9, 0x0c, 0x35, 0x42, 0xc9, 0x62, 0xa7, 0x9c, - 0xab, 0x59, 0xe7, 0x27, 0xb7, 0x84, 0xca, 0xfc, 0x55, 0xaf, 0xf2, 0x53, 0x32, 0x22, 0x62, 0xda, - 0xd0, 0x28, 0xb6, 0x86, 0xea, 0x26, 0x2c, 0x5f, 0xce, 0x28, 0x2f, 0xd8, 0xc0, 0x5c, 0xb1, 0x6e, - 0xc2, 0xb4, 0x39, 0x3f, 0xcd, 0x8b, 0xea, 0x35, 0xf4, 0x7e, 0x13, 0x75, 0xac, 0xa4, 0x66, 0xee, - 0x09, 0x5c, 0x91, 0x6c, 0x60, 0x5a, 0x3d, 0xab, 0xb4, 0x44, 0xb8, 0x01, 0xb6, 0xc1, 0xc1, 0x62, - 0x73, 0x35, 0x7d, 0xad, 0x94, 0xe6, 0x77, 0x4a, 0xf2, 0x5b, 0x1b, 0x1e, 0x3d, 0x02, 0xb8, 0x94, - 0x25, 0xbb, 0xf7, 0x00, 0xce, 0x5b, 0xdd, 0x5d, 0xfc, 0x75, 0x29, 0xfc, 0x27, 0x9b, 0xb7, 0xf7, - 0x9f, 0xcd, 0x52, 0x56, 0xf7, 0xef, 0x9e, 0x3f, 0x9e, 0x16, 0x76, 0xdc, 0x0a, 0xa9, 0xf3, 0xa0, - 0x4d, 0x85, 0x2c, 0x3e, 0x67, 0x46, 0x54, 0xcb, 0xd9, 0x6b, 0x22, 0x6c, 0x9e, 0x8d, 0xdf, 0x91, - 0x33, 0x4e, 0x11, 0x98, 0xa4, 0x08, 0xbc, 0xa5, 0x08, 0x3c, 0x4c, 0x91, 0x33, 0x99, 0x22, 0xe7, - 0x65, 0x8a, 0x9c, 0x9b, 0x43, 0x2e, 0x4c, 0x3b, 0xf1, 0x71, 0xa0, 0x22, 0x52, 0xe7, 0x1d, 0xea, - 0x6b, 0x52, 0xe7, 0x35, 0x1b, 0x38, 0x28, 0x22, 0xcd, 0x30, 0x66, 0xda, 0x5f, 0xce, 0x2e, 0x7b, - 0xfc, 0x19, 0x00, 0x00, 0xff, 0xff, 0xd5, 0x9e, 0xd6, 0x49, 0x0a, 0x02, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// QueryClient is the client API for Query service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type QueryClient interface { - NextRequestID(ctx context.Context, in *QueryNextRequestIDRequest, opts ...grpc.CallOption) (*QueryNextRequestIDResponse, error) -} - -type queryClient struct { - cc grpc1.ClientConn -} - -func NewQueryClient(cc grpc1.ClientConn) QueryClient { - return &queryClient{cc} -} - -func (c *queryClient) NextRequestID(ctx context.Context, in *QueryNextRequestIDRequest, opts ...grpc.CallOption) (*QueryNextRequestIDResponse, error) { - out := new(QueryNextRequestIDResponse) - err := c.cc.Invoke(ctx, "/zgc.das.v1.Query/NextRequestID", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// QueryServer is the server API for Query service. -type QueryServer interface { - NextRequestID(context.Context, *QueryNextRequestIDRequest) (*QueryNextRequestIDResponse, error) -} - -// UnimplementedQueryServer can be embedded to have forward compatible implementations. -type UnimplementedQueryServer struct { -} - -func (*UnimplementedQueryServer) NextRequestID(ctx context.Context, req *QueryNextRequestIDRequest) (*QueryNextRequestIDResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method NextRequestID not implemented") -} - -func RegisterQueryServer(s grpc1.Server, srv QueryServer) { - s.RegisterService(&_Query_serviceDesc, srv) -} - -func _Query_NextRequestID_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(QueryNextRequestIDRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(QueryServer).NextRequestID(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/zgc.das.v1.Query/NextRequestID", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(QueryServer).NextRequestID(ctx, req.(*QueryNextRequestIDRequest)) - } - return interceptor(ctx, in, info, handler) -} - -var _Query_serviceDesc = grpc.ServiceDesc{ - ServiceName: "zgc.das.v1.Query", - HandlerType: (*QueryServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "NextRequestID", - Handler: _Query_NextRequestID_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "zgc/das/v1/query.proto", -} - -func (m *QueryNextRequestIDRequest) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryNextRequestIDRequest) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryNextRequestIDRequest) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func (m *QueryNextRequestIDResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *QueryNextRequestIDResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *QueryNextRequestIDResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.NextRequestID != 0 { - i = encodeVarintQuery(dAtA, i, uint64(m.NextRequestID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func encodeVarintQuery(dAtA []byte, offset int, v uint64) int { - offset -= sovQuery(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *QueryNextRequestIDRequest) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func (m *QueryNextRequestIDResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.NextRequestID != 0 { - n += 1 + sovQuery(uint64(m.NextRequestID)) - } - return n -} - -func sovQuery(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozQuery(x uint64) (n int) { - return sovQuery(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *QueryNextRequestIDRequest) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryNextRequestIDRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNextRequestIDRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *QueryNextRequestIDResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: QueryNextRequestIDResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: QueryNextRequestIDResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NextRequestID", wireType) - } - m.NextRequestID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowQuery - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NextRequestID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipQuery(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthQuery - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipQuery(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowQuery - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthQuery - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupQuery - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthQuery - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthQuery = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowQuery = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupQuery = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/das/v1/types/query.pb.gw.go b/x/das/v1/types/query.pb.gw.go deleted file mode 100644 index 5567645e..00000000 --- a/x/das/v1/types/query.pb.gw.go +++ /dev/null @@ -1,153 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: zgc/das/v1/query.proto - -/* -Package types is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package types - -import ( - "context" - "io" - "net/http" - - "github.com/golang/protobuf/descriptor" - "github.com/golang/protobuf/proto" - "github.com/grpc-ecosystem/grpc-gateway/runtime" - "github.com/grpc-ecosystem/grpc-gateway/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = descriptor.ForMessage -var _ = metadata.Join - -func request_Query_NextRequestID_0(ctx context.Context, marshaler runtime.Marshaler, client QueryClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryNextRequestIDRequest - var metadata runtime.ServerMetadata - - msg, err := client.NextRequestID(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Query_NextRequestID_0(ctx context.Context, marshaler runtime.Marshaler, server QueryServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq QueryNextRequestIDRequest - var metadata runtime.ServerMetadata - - msg, err := server.NextRequestID(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterQueryHandlerServer registers the http handlers for service Query to "mux". -// UnaryRPC :call QueryServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterQueryHandlerFromEndpoint instead. -func RegisterQueryHandlerServer(ctx context.Context, mux *runtime.ServeMux, server QueryServer) error { - - mux.Handle("GET", pattern_Query_NextRequestID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Query_NextRequestID_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_NextRequestID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterQueryHandlerFromEndpoint is same as RegisterQueryHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterQueryHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterQueryHandler(ctx, mux, conn) -} - -// RegisterQueryHandler registers the http handlers for service Query to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterQueryHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterQueryHandlerClient(ctx, mux, NewQueryClient(conn)) -} - -// RegisterQueryHandlerClient registers the http handlers for service Query -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "QueryClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "QueryClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "QueryClient" to call the correct interceptors. -func RegisterQueryHandlerClient(ctx context.Context, mux *runtime.ServeMux, client QueryClient) error { - - mux.Handle("GET", pattern_Query_NextRequestID_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Query_NextRequestID_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Query_NextRequestID_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_Query_NextRequestID_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"0gchain", "das", "v1", "next-request-id"}, "", runtime.AssumeColonVerbOpt(false))) -) - -var ( - forward_Query_NextRequestID_0 = runtime.ForwardResponseMessage -) diff --git a/x/das/v1/types/tx.pb.go b/x/das/v1/types/tx.pb.go deleted file mode 100644 index 9b814acb..00000000 --- a/x/das/v1/types/tx.pb.go +++ /dev/null @@ -1,1110 +0,0 @@ -// Code generated by protoc-gen-gogo. DO NOT EDIT. -// source: zgc/das/v1/tx.proto - -package types - -import ( - context "context" - fmt "fmt" - _ "github.com/cosmos/cosmos-proto" - _ "github.com/cosmos/cosmos-sdk/codec/types" - _ "github.com/gogo/protobuf/gogoproto" - grpc1 "github.com/gogo/protobuf/grpc" - proto "github.com/gogo/protobuf/proto" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - io "io" - math "math" - math_bits "math/bits" -) - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -// A compilation error at this line likely means your copy of the -// proto package needs to be updated. -const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package - -type MsgRequestDAS struct { - Requester string `protobuf:"bytes,1,opt,name=requester,proto3" json:"requester,omitempty" Requester` - StreamID string `protobuf:"bytes,2,opt,name=stream_id,json=streamId,proto3" json:"stream_id,omitempty"` - BatchHeaderHash string `protobuf:"bytes,3,opt,name=batch_header_hash,json=batchHeaderHash,proto3" json:"batch_header_hash,omitempty"` - NumBlobs uint32 `protobuf:"varint,4,opt,name=num_blobs,json=numBlobs,proto3" json:"num_blobs,omitempty"` -} - -func (m *MsgRequestDAS) Reset() { *m = MsgRequestDAS{} } -func (m *MsgRequestDAS) String() string { return proto.CompactTextString(m) } -func (*MsgRequestDAS) ProtoMessage() {} -func (*MsgRequestDAS) Descriptor() ([]byte, []int) { - return fileDescriptor_030259cfeac21931, []int{0} -} -func (m *MsgRequestDAS) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRequestDAS) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRequestDAS.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgRequestDAS) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRequestDAS.Merge(m, src) -} -func (m *MsgRequestDAS) XXX_Size() int { - return m.Size() -} -func (m *MsgRequestDAS) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRequestDAS.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRequestDAS proto.InternalMessageInfo - -type MsgRequestDASResponse struct { - RequestID uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` -} - -func (m *MsgRequestDASResponse) Reset() { *m = MsgRequestDASResponse{} } -func (m *MsgRequestDASResponse) String() string { return proto.CompactTextString(m) } -func (*MsgRequestDASResponse) ProtoMessage() {} -func (*MsgRequestDASResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_030259cfeac21931, []int{1} -} -func (m *MsgRequestDASResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgRequestDASResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgRequestDASResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgRequestDASResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgRequestDASResponse.Merge(m, src) -} -func (m *MsgRequestDASResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgRequestDASResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgRequestDASResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgRequestDASResponse proto.InternalMessageInfo - -type MsgReportDASResult struct { - RequestID uint64 `protobuf:"varint,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` - Sampler string `protobuf:"bytes,2,opt,name=sampler,proto3" json:"sampler,omitempty"` - Results []bool `protobuf:"varint,3,rep,packed,name=results,proto3" json:"results,omitempty"` -} - -func (m *MsgReportDASResult) Reset() { *m = MsgReportDASResult{} } -func (m *MsgReportDASResult) String() string { return proto.CompactTextString(m) } -func (*MsgReportDASResult) ProtoMessage() {} -func (*MsgReportDASResult) Descriptor() ([]byte, []int) { - return fileDescriptor_030259cfeac21931, []int{2} -} -func (m *MsgReportDASResult) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgReportDASResult) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgReportDASResult.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgReportDASResult) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgReportDASResult.Merge(m, src) -} -func (m *MsgReportDASResult) XXX_Size() int { - return m.Size() -} -func (m *MsgReportDASResult) XXX_DiscardUnknown() { - xxx_messageInfo_MsgReportDASResult.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgReportDASResult proto.InternalMessageInfo - -type MsgReportDASResultResponse struct { -} - -func (m *MsgReportDASResultResponse) Reset() { *m = MsgReportDASResultResponse{} } -func (m *MsgReportDASResultResponse) String() string { return proto.CompactTextString(m) } -func (*MsgReportDASResultResponse) ProtoMessage() {} -func (*MsgReportDASResultResponse) Descriptor() ([]byte, []int) { - return fileDescriptor_030259cfeac21931, []int{3} -} -func (m *MsgReportDASResultResponse) XXX_Unmarshal(b []byte) error { - return m.Unmarshal(b) -} -func (m *MsgReportDASResultResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { - if deterministic { - return xxx_messageInfo_MsgReportDASResultResponse.Marshal(b, m, deterministic) - } else { - b = b[:cap(b)] - n, err := m.MarshalToSizedBuffer(b) - if err != nil { - return nil, err - } - return b[:n], nil - } -} -func (m *MsgReportDASResultResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgReportDASResultResponse.Merge(m, src) -} -func (m *MsgReportDASResultResponse) XXX_Size() int { - return m.Size() -} -func (m *MsgReportDASResultResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgReportDASResultResponse.DiscardUnknown(m) -} - -var xxx_messageInfo_MsgReportDASResultResponse proto.InternalMessageInfo - -func init() { - proto.RegisterType((*MsgRequestDAS)(nil), "zgc.das.v1.MsgRequestDAS") - proto.RegisterType((*MsgRequestDASResponse)(nil), "zgc.das.v1.MsgRequestDASResponse") - proto.RegisterType((*MsgReportDASResult)(nil), "zgc.das.v1.MsgReportDASResult") - proto.RegisterType((*MsgReportDASResultResponse)(nil), "zgc.das.v1.MsgReportDASResultResponse") -} - -func init() { proto.RegisterFile("zgc/das/v1/tx.proto", fileDescriptor_030259cfeac21931) } - -var fileDescriptor_030259cfeac21931 = []byte{ - // 452 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x94, 0x92, 0x4f, 0x6e, 0xd3, 0x40, - 0x14, 0xc6, 0x63, 0x52, 0x41, 0xf2, 0x44, 0x54, 0x31, 0x80, 0xe4, 0x18, 0xe4, 0x86, 0x2c, 0x50, - 0xca, 0x1f, 0x4f, 0x0b, 0x27, 0x20, 0x0a, 0xa2, 0x41, 0xea, 0x66, 0xba, 0x82, 0x8d, 0x35, 0xb6, - 0x87, 0x71, 0x24, 0xdb, 0x63, 0xfc, 0xec, 0xa8, 0xed, 0x29, 0x38, 0x08, 0x0b, 0x8e, 0xd1, 0x65, - 0x97, 0xac, 0x2a, 0x70, 0x6e, 0xc0, 0x09, 0x90, 0xc7, 0x76, 0xd2, 0x50, 0x81, 0xc4, 0x2e, 0xdf, - 0xf7, 0x9b, 0xf9, 0xe6, 0x7b, 0xf1, 0x83, 0xfb, 0xe7, 0xd2, 0xa7, 0x01, 0x47, 0xba, 0x3c, 0xa4, - 0xf9, 0xa9, 0x93, 0x66, 0x2a, 0x57, 0x04, 0xce, 0xa5, 0xef, 0x04, 0x1c, 0x9d, 0xe5, 0xa1, 0x35, - 0xf4, 0x15, 0xc6, 0x0a, 0x5d, 0x4d, 0x68, 0x2d, 0xea, 0x63, 0xd6, 0x03, 0xa9, 0xa4, 0xaa, 0xfd, - 0xea, 0x57, 0xe3, 0x0e, 0xa5, 0x52, 0x32, 0x12, 0x54, 0x2b, 0xaf, 0xf8, 0x44, 0x79, 0x72, 0xd6, - 0x20, 0xf3, 0xda, 0x63, 0x52, 0x24, 0x02, 0x17, 0x4d, 0xd4, 0xf8, 0x9b, 0x01, 0x83, 0x63, 0x94, - 0x4c, 0x7c, 0x2e, 0x04, 0xe6, 0xb3, 0x37, 0x27, 0xe4, 0x39, 0xf4, 0xb3, 0x5a, 0x89, 0xcc, 0x34, - 0x46, 0xc6, 0xa4, 0x3f, 0x1d, 0xfc, 0xba, 0xda, 0xeb, 0xb3, 0xd6, 0x64, 0x1b, 0x4e, 0xf6, 0xa1, - 0x8f, 0x79, 0x26, 0x78, 0xec, 0x2e, 0x02, 0xf3, 0x96, 0x3e, 0x7c, 0xb7, 0xbc, 0xda, 0xeb, 0x9d, - 0x68, 0x73, 0x3e, 0x63, 0xbd, 0x1a, 0xcf, 0x03, 0xf2, 0x0c, 0xee, 0x79, 0x3c, 0xf7, 0x43, 0x37, - 0x14, 0x3c, 0x10, 0x99, 0x1b, 0x72, 0x0c, 0xcd, 0x6e, 0x75, 0x85, 0xed, 0x6a, 0x70, 0xa4, 0xfd, - 0x23, 0x8e, 0x21, 0x79, 0x04, 0xfd, 0xa4, 0x88, 0x5d, 0x2f, 0x52, 0x1e, 0x9a, 0x3b, 0x23, 0x63, - 0x32, 0x60, 0xbd, 0xa4, 0x88, 0xa7, 0x95, 0x1e, 0xbf, 0x85, 0x87, 0x5b, 0x8d, 0x99, 0xc0, 0x54, - 0x25, 0x28, 0xc8, 0x0b, 0x80, 0xa6, 0x59, 0xd5, 0xa6, 0xaa, 0xbe, 0x33, 0x1d, 0x94, 0x9b, 0xea, - 0xf3, 0xd9, 0xba, 0xfa, 0x3c, 0x18, 0x2f, 0x81, 0xe8, 0x98, 0x54, 0x65, 0x4d, 0x4a, 0x11, 0xe5, - 0xff, 0x97, 0x41, 0x4c, 0xb8, 0x83, 0x3c, 0x4e, 0x23, 0x91, 0xd5, 0xc3, 0xb3, 0x56, 0x56, 0x24, - 0xd3, 0x89, 0x68, 0x76, 0x47, 0xdd, 0x49, 0x8f, 0xb5, 0x72, 0xfc, 0x18, 0xac, 0x9b, 0xef, 0xb6, - 0x33, 0xbc, 0xfa, 0x6a, 0x40, 0xf7, 0x18, 0x25, 0x79, 0x0f, 0x70, 0xed, 0x9b, 0x0c, 0x9d, 0xcd, - 0x62, 0x38, 0x5b, 0xc3, 0x5b, 0x4f, 0xfe, 0x8a, 0xd6, 0xff, 0xcb, 0x07, 0xd8, 0xfd, 0x73, 0x4c, - 0xfb, 0xc6, 0xad, 0x2d, 0x6e, 0x3d, 0xfd, 0x37, 0x6f, 0xa3, 0xa7, 0xef, 0x2e, 0x7e, 0xda, 0x9d, - 0x8b, 0xd2, 0x36, 0x2e, 0x4b, 0xdb, 0xf8, 0x51, 0xda, 0xc6, 0x97, 0x95, 0xdd, 0xb9, 0x5c, 0xd9, - 0x9d, 0xef, 0x2b, 0xbb, 0xf3, 0x71, 0x5f, 0x2e, 0xf2, 0xb0, 0xf0, 0x1c, 0x5f, 0xc5, 0xf4, 0x40, - 0x46, 0xdc, 0x43, 0x7a, 0x20, 0x5f, 0xfa, 0x21, 0x5f, 0x24, 0xf4, 0x74, 0xbd, 0xfc, 0x67, 0xa9, - 0x40, 0xef, 0xb6, 0x5e, 0xc7, 0xd7, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xc2, 0xba, 0x08, 0x98, - 0x17, 0x03, 0x00, 0x00, -} - -// Reference imports to suppress errors if they are not otherwise used. -var _ context.Context -var _ grpc.ClientConn - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -const _ = grpc.SupportPackageIsVersion4 - -// MsgClient is the client API for Msg service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. -type MsgClient interface { - RequestDAS(ctx context.Context, in *MsgRequestDAS, opts ...grpc.CallOption) (*MsgRequestDASResponse, error) - ReportDASResult(ctx context.Context, in *MsgReportDASResult, opts ...grpc.CallOption) (*MsgReportDASResultResponse, error) -} - -type msgClient struct { - cc grpc1.ClientConn -} - -func NewMsgClient(cc grpc1.ClientConn) MsgClient { - return &msgClient{cc} -} - -func (c *msgClient) RequestDAS(ctx context.Context, in *MsgRequestDAS, opts ...grpc.CallOption) (*MsgRequestDASResponse, error) { - out := new(MsgRequestDASResponse) - err := c.cc.Invoke(ctx, "/zgc.das.v1.Msg/RequestDAS", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *msgClient) ReportDASResult(ctx context.Context, in *MsgReportDASResult, opts ...grpc.CallOption) (*MsgReportDASResultResponse, error) { - out := new(MsgReportDASResultResponse) - err := c.cc.Invoke(ctx, "/zgc.das.v1.Msg/ReportDASResult", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// MsgServer is the server API for Msg service. -type MsgServer interface { - RequestDAS(context.Context, *MsgRequestDAS) (*MsgRequestDASResponse, error) - ReportDASResult(context.Context, *MsgReportDASResult) (*MsgReportDASResultResponse, error) -} - -// UnimplementedMsgServer can be embedded to have forward compatible implementations. -type UnimplementedMsgServer struct { -} - -func (*UnimplementedMsgServer) RequestDAS(ctx context.Context, req *MsgRequestDAS) (*MsgRequestDASResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RequestDAS not implemented") -} -func (*UnimplementedMsgServer) ReportDASResult(ctx context.Context, req *MsgReportDASResult) (*MsgReportDASResultResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ReportDASResult not implemented") -} - -func RegisterMsgServer(s grpc1.Server, srv MsgServer) { - s.RegisterService(&_Msg_serviceDesc, srv) -} - -func _Msg_RequestDAS_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgRequestDAS) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).RequestDAS(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/zgc.das.v1.Msg/RequestDAS", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).RequestDAS(ctx, req.(*MsgRequestDAS)) - } - return interceptor(ctx, in, info, handler) -} - -func _Msg_ReportDASResult_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgReportDASResult) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(MsgServer).ReportDASResult(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/zgc.das.v1.Msg/ReportDASResult", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).ReportDASResult(ctx, req.(*MsgReportDASResult)) - } - return interceptor(ctx, in, info, handler) -} - -var _Msg_serviceDesc = grpc.ServiceDesc{ - ServiceName: "zgc.das.v1.Msg", - HandlerType: (*MsgServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "RequestDAS", - Handler: _Msg_RequestDAS_Handler, - }, - { - MethodName: "ReportDASResult", - Handler: _Msg_ReportDASResult_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "zgc/das/v1/tx.proto", -} - -func (m *MsgRequestDAS) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgRequestDAS) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRequestDAS) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.NumBlobs != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.NumBlobs)) - i-- - dAtA[i] = 0x20 - } - if len(m.BatchHeaderHash) > 0 { - i -= len(m.BatchHeaderHash) - copy(dAtA[i:], m.BatchHeaderHash) - i = encodeVarintTx(dAtA, i, uint64(len(m.BatchHeaderHash))) - i-- - dAtA[i] = 0x1a - } - if len(m.StreamID) > 0 { - i -= len(m.StreamID) - copy(dAtA[i:], m.StreamID) - i = encodeVarintTx(dAtA, i, uint64(len(m.StreamID))) - i-- - dAtA[i] = 0x12 - } - if len(m.Requester) > 0 { - i -= len(m.Requester) - copy(dAtA[i:], m.Requester) - i = encodeVarintTx(dAtA, i, uint64(len(m.Requester))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *MsgRequestDASResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgRequestDASResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgRequestDASResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if m.RequestID != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.RequestID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgReportDASResult) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgReportDASResult) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgReportDASResult) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - if len(m.Results) > 0 { - for iNdEx := len(m.Results) - 1; iNdEx >= 0; iNdEx-- { - i-- - if m.Results[iNdEx] { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - } - i = encodeVarintTx(dAtA, i, uint64(len(m.Results))) - i-- - dAtA[i] = 0x1a - } - if len(m.Sampler) > 0 { - i -= len(m.Sampler) - copy(dAtA[i:], m.Sampler) - i = encodeVarintTx(dAtA, i, uint64(len(m.Sampler))) - i-- - dAtA[i] = 0x12 - } - if m.RequestID != 0 { - i = encodeVarintTx(dAtA, i, uint64(m.RequestID)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *MsgReportDASResultResponse) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBuffer(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *MsgReportDASResultResponse) MarshalTo(dAtA []byte) (int, error) { - size := m.Size() - return m.MarshalToSizedBuffer(dAtA[:size]) -} - -func (m *MsgReportDASResultResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { - i := len(dAtA) - _ = i - var l int - _ = l - return len(dAtA) - i, nil -} - -func encodeVarintTx(dAtA []byte, offset int, v uint64) int { - offset -= sovTx(v) - base := offset - for v >= 1<<7 { - dAtA[offset] = uint8(v&0x7f | 0x80) - v >>= 7 - offset++ - } - dAtA[offset] = uint8(v) - return base -} -func (m *MsgRequestDAS) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Requester) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.StreamID) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - l = len(m.BatchHeaderHash) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if m.NumBlobs != 0 { - n += 1 + sovTx(uint64(m.NumBlobs)) - } - return n -} - -func (m *MsgRequestDASResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.RequestID != 0 { - n += 1 + sovTx(uint64(m.RequestID)) - } - return n -} - -func (m *MsgReportDASResult) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.RequestID != 0 { - n += 1 + sovTx(uint64(m.RequestID)) - } - l = len(m.Sampler) - if l > 0 { - n += 1 + l + sovTx(uint64(l)) - } - if len(m.Results) > 0 { - n += 1 + sovTx(uint64(len(m.Results))) + len(m.Results)*1 - } - return n -} - -func (m *MsgReportDASResultResponse) Size() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - return n -} - -func sovTx(x uint64) (n int) { - return (math_bits.Len64(x|1) + 6) / 7 -} -func sozTx(x uint64) (n int) { - return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) -} -func (m *MsgRequestDAS) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgRequestDAS: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRequestDAS: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Requester", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Requester = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StreamID", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.StreamID = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field BatchHeaderHash", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.BatchHeaderHash = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NumBlobs", wireType) - } - m.NumBlobs = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.NumBlobs |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgRequestDASResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgRequestDASResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgRequestDASResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestID", wireType) - } - m.RequestID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RequestID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgReportDASResult) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgReportDASResult: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReportDASResult: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field RequestID", wireType) - } - m.RequestID = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.RequestID |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sampler", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Sampler = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType == 0 { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Results = append(m.Results, bool(v != 0)) - } else if wireType == 2 { - var packedLen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - packedLen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if packedLen < 0 { - return ErrInvalidLengthTx - } - postIndex := iNdEx + packedLen - if postIndex < 0 { - return ErrInvalidLengthTx - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var elementCount int - elementCount = packedLen - if elementCount != 0 && len(m.Results) == 0 { - m.Results = make([]bool, 0, elementCount) - } - for iNdEx < postIndex { - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Results = append(m.Results, bool(v != 0)) - } - } else { - return fmt.Errorf("proto: wrong wireType = %d for field Results", wireType) - } - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *MsgReportDASResultResponse) Unmarshal(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return ErrIntOverflowTx - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: MsgReportDASResultResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: MsgReportDASResultResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := skipTx(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return ErrInvalidLengthTx - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func skipTx(dAtA []byte) (n int, err error) { - l := len(dAtA) - iNdEx := 0 - depth := 0 - for iNdEx < l { - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= (uint64(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - wireType := int(wire & 0x7) - switch wireType { - case 0: - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - iNdEx++ - if dAtA[iNdEx-1] < 0x80 { - break - } - } - case 1: - iNdEx += 8 - case 2: - var length int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return 0, ErrIntOverflowTx - } - if iNdEx >= l { - return 0, io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - length |= (int(b) & 0x7F) << shift - if b < 0x80 { - break - } - } - if length < 0 { - return 0, ErrInvalidLengthTx - } - iNdEx += length - case 3: - depth++ - case 4: - if depth == 0 { - return 0, ErrUnexpectedEndOfGroupTx - } - depth-- - case 5: - iNdEx += 4 - default: - return 0, fmt.Errorf("proto: illegal wireType %d", wireType) - } - if iNdEx < 0 { - return 0, ErrInvalidLengthTx - } - if depth == 0 { - return iNdEx, nil - } - } - return 0, io.ErrUnexpectedEOF -} - -var ( - ErrInvalidLengthTx = fmt.Errorf("proto: negative length found during unmarshaling") - ErrIntOverflowTx = fmt.Errorf("proto: integer overflow") - ErrUnexpectedEndOfGroupTx = fmt.Errorf("proto: unexpected end of group") -) diff --git a/x/dasigners/v1/client/cli/tx.go b/x/dasigners/v1/client/cli/tx.go index 0bfd045b..a723d87d 100644 --- a/x/dasigners/v1/client/cli/tx.go +++ b/x/dasigners/v1/client/cli/tx.go @@ -3,7 +3,7 @@ package cli import ( "fmt" - "github.com/0glabs/0g-chain/x/das/v1/types" + "github.com/0glabs/0g-chain/x/dasigners/v1/types" "github.com/cosmos/cosmos-sdk/client" "github.com/spf13/cobra" ) diff --git a/x/dasigners/v1/types/tx.pb.go b/x/dasigners/v1/types/tx.pb.go index 66132018..f4dcf891 100644 --- a/x/dasigners/v1/types/tx.pb.go +++ b/x/dasigners/v1/types/tx.pb.go @@ -6,7 +6,6 @@ package types import ( context "context" fmt "fmt" - _ "github.com/0glabs/0g-chain/x/das/v1/types" _ "github.com/cosmos/cosmos-proto" _ "github.com/cosmos/cosmos-sdk/codec/types" _ "github.com/gogo/protobuf/gogoproto" @@ -265,33 +264,32 @@ func init() { func init() { proto.RegisterFile("zgc/dasigners/v1/tx.proto", fileDescriptor_8bfa0cc0bd2f98e0) } var fileDescriptor_8bfa0cc0bd2f98e0 = []byte{ - // 410 bytes of a gzipped FileDescriptorProto + // 399 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x8c, 0x93, 0xcf, 0xae, 0xd2, 0x40, - 0x18, 0xc5, 0x5b, 0x4c, 0x30, 0x8c, 0x44, 0xa5, 0x21, 0xda, 0x56, 0x32, 0xc1, 0x9a, 0x18, 0x8c, + 0x14, 0x87, 0x5b, 0x4c, 0x30, 0x8c, 0x44, 0xa5, 0x21, 0xda, 0x56, 0x32, 0xc1, 0x9a, 0x18, 0x8c, 0xb1, 0x03, 0xf8, 0x06, 0x1a, 0x97, 0x65, 0x51, 0xe2, 0xc6, 0x98, 0x98, 0x76, 0x18, 0x87, 0x06, 0xe8, 0x34, 0x9d, 0x29, 0x01, 0x9e, 0xc2, 0x87, 0xf1, 0x21, 0x58, 0xb2, 0x74, 0xe9, 0x85, 0x17, - 0xb9, 0x61, 0xfa, 0x07, 0x6e, 0x4b, 0xb8, 0xec, 0xe6, 0x9b, 0xef, 0xd7, 0x73, 0x4e, 0x4f, 0x5a, + 0xb9, 0x61, 0xfa, 0x07, 0x6e, 0x4b, 0xb8, 0xec, 0xe6, 0xcc, 0xf9, 0x7a, 0xbe, 0xd3, 0x5f, 0x5a, 0x60, 0x6c, 0x28, 0x46, 0x13, 0x8f, 0x07, 0x34, 0x24, 0x31, 0x47, 0xcb, 0x01, 0x12, 0x2b, 0x3b, - 0x8a, 0x99, 0x60, 0xda, 0xcb, 0x0d, 0xc5, 0x76, 0xb1, 0xb2, 0x97, 0x03, 0xd3, 0xc0, 0x8c, 0x2f, - 0x18, 0xff, 0x25, 0xf7, 0x28, 0x1d, 0x52, 0xd8, 0x6c, 0x53, 0x46, 0x59, 0x7a, 0x7f, 0x3c, 0x65, - 0xb7, 0x06, 0x65, 0x8c, 0xce, 0x09, 0x92, 0x93, 0x9f, 0xfc, 0x46, 0x5e, 0xb8, 0xce, 0x56, 0x7a, - 0x66, 0x7c, 0xb4, 0xa4, 0x24, 0x24, 0x3c, 0xc8, 0xa5, 0xba, 0x95, 0x48, 0xa7, 0x10, 0x92, 0xb0, - 0x30, 0x68, 0x39, 0x9c, 0xba, 0x84, 0x06, 0x5c, 0x90, 0x78, 0x2c, 0x77, 0x5a, 0x1f, 0xd4, 0x53, - 0x4a, 0x57, 0xbb, 0x6a, 0xef, 0xd9, 0x50, 0xb7, 0xcb, 0xf9, 0xed, 0x94, 0x74, 0x33, 0x4e, 0xeb, - 0x80, 0xc6, 0xf1, 0xe4, 0x89, 0x24, 0x26, 0x7a, 0xad, 0xab, 0xf6, 0x9a, 0xee, 0xe9, 0xc2, 0x7a, - 0x03, 0x8c, 0x8a, 0x89, 0x4b, 0x78, 0xc4, 0x42, 0x4e, 0xac, 0xaf, 0xe0, 0x85, 0xc3, 0xe9, 0xf7, - 0x68, 0xe2, 0x09, 0x32, 0x66, 0x78, 0x46, 0x84, 0xa6, 0x83, 0xa7, 0x1e, 0xc6, 0x2c, 0x09, 0x85, - 0x0c, 0xd0, 0x70, 0xf3, 0x51, 0x7b, 0x05, 0xea, 0x5c, 0x32, 0xd2, 0xa4, 0xe1, 0x66, 0x93, 0x65, - 0x80, 0xd7, 0x25, 0x91, 0x42, 0x7f, 0x04, 0xda, 0x67, 0xe6, 0x23, 0xb2, 0x12, 0xdf, 0x22, 0x86, - 0xa7, 0x57, 0x4c, 0xae, 0xbf, 0x0c, 0x04, 0x9d, 0x4b, 0x7a, 0xb9, 0xdf, 0xf0, 0x6f, 0x0d, 0x3c, - 0x71, 0x38, 0xd5, 0x7c, 0xf0, 0xbc, 0x54, 0xeb, 0xbb, 0x6a, 0x8d, 0x95, 0x5a, 0xcc, 0x8f, 0x37, - 0x40, 0xb9, 0x97, 0xf6, 0x13, 0x34, 0x1f, 0x14, 0xf7, 0xf6, 0xe2, 0xc3, 0xe7, 0x88, 0xf9, 0xe1, - 0x51, 0xa4, 0x50, 0x9f, 0x81, 0x56, 0xb5, 0xb6, 0xf7, 0x57, 0xf3, 0x15, 0x9c, 0x69, 0xdf, 0xc6, - 0xe5, 0x66, 0x5f, 0x9c, 0xed, 0x1d, 0x54, 0xb6, 0x7b, 0xa8, 0xee, 0xf6, 0x50, 0xfd, 0xbf, 0x87, - 0xea, 0x9f, 0x03, 0x54, 0x76, 0x07, 0xa8, 0xfc, 0x3b, 0x40, 0xe5, 0x07, 0xa2, 0x81, 0x98, 0x26, - 0xbe, 0x8d, 0xd9, 0x02, 0xf5, 0xe9, 0xdc, 0xf3, 0x39, 0xea, 0xd3, 0x4f, 0x78, 0xea, 0x05, 0x21, - 0x5a, 0x95, 0x7e, 0xba, 0x75, 0x44, 0xb8, 0x5f, 0x97, 0x9f, 0xf7, 0xe7, 0xfb, 0x00, 0x00, 0x00, - 0xff, 0xff, 0xa3, 0x4c, 0x19, 0x64, 0x95, 0x03, 0x00, 0x00, + 0x8a, 0x99, 0x60, 0xda, 0xcb, 0x0d, 0xc5, 0x76, 0xd1, 0xb2, 0x97, 0x03, 0xd3, 0xc0, 0x8c, 0x2f, + 0x18, 0xff, 0x25, 0xfb, 0x28, 0x2d, 0x52, 0xd8, 0x6c, 0x53, 0x46, 0x59, 0x7a, 0x7f, 0x3c, 0x65, + 0xb7, 0x06, 0x65, 0x8c, 0xce, 0x09, 0x92, 0x95, 0x9f, 0xfc, 0x46, 0x5e, 0xb8, 0xce, 0x5a, 0xdd, + 0x8a, 0xf8, 0xa4, 0x92, 0x84, 0x85, 0x41, 0xcb, 0xe1, 0xd4, 0x25, 0x34, 0xe0, 0x82, 0xc4, 0x63, + 0xd9, 0xd3, 0xfa, 0xa0, 0x9e, 0x52, 0xba, 0xda, 0x55, 0x7b, 0xcf, 0x86, 0xba, 0x5d, 0xde, 0xd2, + 0x4e, 0x49, 0x37, 0xe3, 0xb4, 0x0e, 0x68, 0x1c, 0x4f, 0x9e, 0x48, 0x62, 0xa2, 0xd7, 0xba, 0x6a, + 0xaf, 0xe9, 0x9e, 0x2e, 0xac, 0x37, 0xc0, 0xa8, 0x48, 0x5c, 0xc2, 0x23, 0x16, 0x72, 0x62, 0x7d, + 0x05, 0x2f, 0x1c, 0x4e, 0xbf, 0x47, 0x13, 0x4f, 0x90, 0x31, 0xc3, 0x33, 0x22, 0x34, 0x1d, 0x3c, + 0xf5, 0x30, 0x66, 0x49, 0x28, 0xe4, 0x02, 0x0d, 0x37, 0x2f, 0xb5, 0x57, 0xa0, 0xce, 0x25, 0x23, + 0x25, 0x0d, 0x37, 0xab, 0x2c, 0x03, 0xbc, 0x2e, 0x0d, 0x29, 0xe6, 0x8f, 0x40, 0xfb, 0x4c, 0x3e, + 0x22, 0x2b, 0xf1, 0x2d, 0x62, 0x78, 0x7a, 0x45, 0x72, 0xfd, 0x65, 0x20, 0xe8, 0x5c, 0x9a, 0x97, + 0xfb, 0x86, 0x7f, 0x6b, 0xe0, 0x89, 0xc3, 0xa9, 0xe6, 0x83, 0xe7, 0xa5, 0x58, 0xdf, 0x55, 0x63, + 0xac, 0xc4, 0x62, 0x7e, 0xbc, 0x01, 0xca, 0x5d, 0xda, 0x4f, 0xd0, 0x7c, 0x10, 0xdc, 0xdb, 0x8b, + 0x0f, 0x9f, 0x23, 0xe6, 0x87, 0x47, 0x91, 0x62, 0xfa, 0x0c, 0xb4, 0xaa, 0xb1, 0xbd, 0xbf, 0xba, + 0x5f, 0xc1, 0x99, 0xf6, 0x6d, 0x5c, 0x2e, 0xfb, 0xe2, 0x6c, 0xef, 0xa0, 0xb2, 0xdd, 0x43, 0x75, + 0xb7, 0x87, 0xea, 0xff, 0x3d, 0x54, 0xff, 0x1c, 0xa0, 0xb2, 0x3b, 0x40, 0xe5, 0xdf, 0x01, 0x2a, + 0x3f, 0x10, 0x0d, 0xc4, 0x34, 0xf1, 0x6d, 0xcc, 0x16, 0xa8, 0x4f, 0xe7, 0x9e, 0xcf, 0x51, 0x9f, + 0x7e, 0xc2, 0x53, 0x2f, 0x08, 0xd1, 0xaa, 0xf4, 0x6b, 0xad, 0x23, 0xc2, 0xfd, 0xba, 0xfc, 0xbc, + 0x3f, 0xdf, 0x07, 0x00, 0x00, 0xff, 0xff, 0xc6, 0x5a, 0xce, 0x9a, 0x7b, 0x03, 0x00, 0x00, } // Reference imports to suppress errors if they are not otherwise used. From f8cf8525a41d02b5f33689c44b0947117a536694 Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Tue, 21 May 2024 18:29:53 +0800 Subject: [PATCH 2/6] recover go mod file --- go.mod | 22 +++++++--------------- go.sum | 35 ----------------------------------- 2 files changed, 7 insertions(+), 50 deletions(-) diff --git a/go.mod b/go.mod index 338ababd..3d53e2d5 100644 --- a/go.mod +++ b/go.mod @@ -29,7 +29,7 @@ require ( github.com/subosito/gotenv v1.4.2 github.com/tendermint/tendermint v0.34.27 github.com/tendermint/tm-db v0.6.7 - golang.org/x/crypto v0.23.0 + golang.org/x/crypto v0.14.0 google.golang.org/genproto/googleapis/api v0.0.0-20230920204549-e6e6cdab5c13 google.golang.org/grpc v1.58.3 google.golang.org/protobuf v1.31.0 @@ -50,7 +50,6 @@ require ( github.com/VictoriaMetrics/fastcache v1.6.0 // indirect github.com/Workiva/go-datastructures v1.0.53 // indirect github.com/allegro/bigcache v1.2.1 // indirect - github.com/andybalholm/brotli v1.1.0 // indirect github.com/armon/go-metrics v0.4.1 // indirect github.com/aws/aws-sdk-go v1.44.122 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -84,12 +83,10 @@ require ( github.com/dgraph-io/ristretto v0.1.0 // indirect github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91 // indirect - github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 // indirect github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/dvsekhvalnov/jose2go v1.5.0 // indirect github.com/edsrzf/mmap-go v1.0.0 // indirect - github.com/fatih/color v1.17.0 // indirect github.com/felixge/httpsnoop v1.0.1 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff // indirect @@ -136,14 +133,13 @@ require ( github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/compress v1.17.8 // indirect - github.com/kr/text v0.2.0 // indirect + github.com/klauspost/compress v1.15.15 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect - github.com/mattn/go-isatty v0.0.20 // indirect + github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.9 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect github.com/mimoo/StrobeGo v0.0.0-20210601165009-122bf33a46e0 // indirect @@ -164,14 +160,12 @@ require ( github.com/prometheus/procfs v0.9.0 // indirect github.com/prometheus/tsdb v0.7.1 // indirect github.com/rakyll/statik v0.1.7 // indirect - github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect github.com/regen-network/cosmos-proto v0.3.1 // indirect github.com/rjeczalik/notify v0.9.1 // indirect github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/rs/cors v1.8.3 // indirect github.com/rs/zerolog v1.29.0 // indirect - github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect github.com/spf13/afero v1.9.3 // indirect @@ -186,19 +180,17 @@ require ( github.com/tyler-smith/go-bip39 v1.1.0 // indirect github.com/ugorji/go/codec v1.2.7 // indirect github.com/ulikunitz/xz v0.5.10 // indirect - github.com/valyala/bytebufferpool v1.0.0 // indirect - github.com/valyala/fasthttp v1.53.0 // indirect github.com/zondax/hid v0.9.1 // indirect github.com/zondax/ledger-go v0.14.2 // indirect go.etcd.io/bbolt v1.3.7 // indirect go.opencensus.io v0.24.0 // indirect golang.org/x/exp v0.0.0-20230213192124-5e25df0256eb // indirect - golang.org/x/net v0.25.0 // indirect + golang.org/x/net v0.17.0 // indirect golang.org/x/oauth2 v0.10.0 // indirect golang.org/x/sync v0.3.0 // indirect - golang.org/x/sys v0.20.0 // indirect - golang.org/x/term v0.20.0 // indirect - golang.org/x/text v0.15.0 // indirect + golang.org/x/sys v0.13.0 // indirect + golang.org/x/term v0.13.0 // indirect + golang.org/x/text v0.13.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/api v0.128.0 // indirect google.golang.org/appengine v1.6.7 // indirect diff --git a/go.sum b/go.sum index 2043ba8f..bbbbb97a 100644 --- a/go.sum +++ b/go.sum @@ -246,8 +246,6 @@ github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax github.com/allegro/bigcache v1.2.1 h1:hg1sY1raCwic3Vnsvje6TT7/pnZba83LeFck5NrFKSc= github.com/allegro/bigcache v1.2.1/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= -github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= @@ -446,8 +444,6 @@ github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5O github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815 h1:bWDMxwH3px2JBh6AyO7hdCn/PkvCZXii8TGj7sbtEbQ= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf h1:Yt+4K30SdjOkRoRRm3vYNQgR+/ZIy0RmeUDZo7Y8zeQ= github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= @@ -477,8 +473,6 @@ github.com/evmos/go-ethereum v1.10.26-evmos-rc2 h1:tYghk1ZZ8X4/OQ4YI9hvtm8aSN8OS github.com/evmos/go-ethereum v1.10.26-evmos-rc2/go.mod h1:/6CsT5Ceen2WPLI/oCA3xMcZ5sWMF/D46SjM/ayY0Oo= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= -github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= @@ -831,19 +825,13 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.10.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.7/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.15.11/go.mod h1:QPwzmACJjUTFsnSHH934V6woptycfrDDJnH7hvFVbGM= github.com/klauspost/compress v1.15.15 h1:EF27CXIuDsYJ6mmvtBRlEuB2UVOqHG1tAXgZ7yIO+lw= github.com/klauspost/compress v1.15.15/go.mod h1:ZcK2JAFqKOpnBlxcLsJzYfrS9X1akm9fHZNnD9+Vo/4= -github.com/klauspost/compress v1.17.8 h1:YcnTYrq7MikUT7k0Yb5eceMmALQPYBW/Xltxn0NAMnU= -github.com/klauspost/compress v1.17.8/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= -github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -888,7 +876,6 @@ github.com/manifoldco/promptui v0.9.0/go.mod h1:ka04sppxSGFAtxX0qhlYQjISsg9mR4GW github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -904,8 +891,6 @@ github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27k github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= -github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY= -github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= @@ -1069,8 +1054,6 @@ github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rakyll/statik v0.1.7 h1:OF3QCZUuyPxuGEP7B4ypUa7sB/iHtqOTDYZXGM8KOdQ= github.com/rakyll/statik v0.1.7/go.mod h1:AlZONWzMtEnMs7W4e/1LURLiI49pIMmp6V9Unghqrcc= -github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4 h1:/24Dsgxxv7UMTvubnE6eJmyHRcTSum60viriQokArAQ= -github.com/raviqqe/liche v0.0.0-20200229003944-f57a5d1c5be4/go.mod h1:MPBuzBAJcp9B/3xrqfgR+ieBgpMzDqTeieaRP3ESJhk= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= @@ -1210,14 +1193,9 @@ github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtX github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= github.com/urfave/cli/v2 v2.10.2 h1:x3p8awjp/2arX+Nl/G2040AZpOCHS/eMJJ1/a+mye4Y= github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= -github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= -github.com/valyala/fasthttp v1.9.1-0.20200228200348-695f713fcf59/go.mod h1:FstJa9V+Pj9vQ7OJie2qMHdwemEDaDiSdBnvPM1Su9w= -github.com/valyala/fasthttp v1.53.0 h1:lW/+SUkOxCx2vlIu0iaImv4JLrVRnbbkpCoaawvA4zc= -github.com/valyala/fasthttp v1.53.0/go.mod h1:6dt4/8olwq9QARP/TDuPmWyWcl4byhpvTJ4AAtcz+QM= github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= -github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio= github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= @@ -1290,8 +1268,6 @@ golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0 golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= -golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= -golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= 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= @@ -1360,8 +1336,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/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-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190930134127-c5a3c61f89f3/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1409,8 +1383,6 @@ golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfS golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= -golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac= -golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= 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= @@ -1558,19 +1530,14 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= -golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.13.0 h1:bb+I9cTfFazGW51MZqBVmZy7+JEJMouUHTUSKVQLBek= golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= -golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw= -golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= 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= @@ -1584,8 +1551,6 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= -golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= -golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= 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= From b7ae5a4254db00ecc9f0c36fc4e4fd4935e8ec9f Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Thu, 9 May 2024 14:07:43 +0800 Subject: [PATCH 3/6] remove module's legacy code --- x/bep3/legacy/v0_17/migrate.go | 57 ---- x/bep3/legacy/v0_17/migrate_test.go | 176 ---------- x/bep3/legacy/v0_17/testdata/v16-bep3.json | 212 ------------- x/bep3/legacy/v0_17/testdata/v17-bep3.json | 212 ------------- x/issuance/legacy/v0_15/types.go | 53 ---- x/issuance/legacy/v0_16/migrate.go | 48 --- x/issuance/legacy/v0_16/migrate_test.go | 177 ----------- x/pricefeed/legacy/v0_15/types.go | 46 --- x/pricefeed/legacy/v0_16/migrate.go | 134 -------- x/pricefeed/legacy/v0_16/migrate_test.go | 353 --------------------- 10 files changed, 1468 deletions(-) delete mode 100644 x/bep3/legacy/v0_17/migrate.go delete mode 100644 x/bep3/legacy/v0_17/migrate_test.go delete mode 100644 x/bep3/legacy/v0_17/testdata/v16-bep3.json delete mode 100644 x/bep3/legacy/v0_17/testdata/v17-bep3.json delete mode 100644 x/issuance/legacy/v0_15/types.go delete mode 100644 x/issuance/legacy/v0_16/migrate.go delete mode 100644 x/issuance/legacy/v0_16/migrate_test.go delete mode 100644 x/pricefeed/legacy/v0_15/types.go delete mode 100644 x/pricefeed/legacy/v0_16/migrate.go delete mode 100644 x/pricefeed/legacy/v0_16/migrate_test.go diff --git a/x/bep3/legacy/v0_17/migrate.go b/x/bep3/legacy/v0_17/migrate.go deleted file mode 100644 index 4b60523c..00000000 --- a/x/bep3/legacy/v0_17/migrate.go +++ /dev/null @@ -1,57 +0,0 @@ -package v0_16 - -import ( - "fmt" - - "github.com/0glabs/0g-chain/x/bep3/types" -) - -// resetSwapForZeroHeight updates swap expiry/close heights to work when the chain height is reset to zero. -func resetSwapForZeroHeight(swap types.AtomicSwap) types.AtomicSwap { - switch status := swap.Status; status { - case types.SWAP_STATUS_COMPLETED: - // Reset closed block to one so completed swaps are not held in long term storage too long. - swap.ClosedBlock = 1 - case types.SWAP_STATUS_OPEN: - switch dir := swap.Direction; dir { - case types.SWAP_DIRECTION_INCOMING: - // Open incoming swaps can be expired safely. They haven't been claimed yet, so the outgoing swap on bnb will just timeout. - // The chain downtime cannot be accurately predicted, so it's easier to expire than to recalculate a correct expire height. - swap.ExpireHeight = 1 - swap.Status = types.SWAP_STATUS_EXPIRED - case types.SWAP_DIRECTION_OUTGOING: - // Open outgoing swaps should be extended to allow enough time to claim after the chain launches. - // They cannot be expired as there could be an open/claimed bnb swap. - swap.ExpireHeight = 1 + 24686 // default timeout used when sending swaps from 0g - case types.SWAP_DIRECTION_UNSPECIFIED: - default: - panic(fmt.Sprintf("unknown bep3 swap direction '%s'", dir)) - } - case types.SWAP_STATUS_EXPIRED: - // Once a swap is marked expired the expire height is ignored. However reset to 1 to be sure. - swap.ExpireHeight = 1 - case types.SWAP_STATUS_UNSPECIFIED: - default: - panic(fmt.Sprintf("unknown bep3 swap status '%s'", status)) - } - - return swap -} - -func resetSwapsForZeroHeight(oldSwaps types.AtomicSwaps) types.AtomicSwaps { - newSwaps := make(types.AtomicSwaps, len(oldSwaps)) - for i, oldSwap := range oldSwaps { - swap := resetSwapForZeroHeight(oldSwap) - newSwaps[i] = swap - } - return newSwaps -} - -func Migrate(oldState types.GenesisState) *types.GenesisState { - return &types.GenesisState{ - PreviousBlockTime: oldState.PreviousBlockTime, - Params: oldState.Params, - AtomicSwaps: resetSwapsForZeroHeight(oldState.AtomicSwaps), - Supplies: oldState.Supplies, - } -} diff --git a/x/bep3/legacy/v0_17/migrate_test.go b/x/bep3/legacy/v0_17/migrate_test.go deleted file mode 100644 index e5136899..00000000 --- a/x/bep3/legacy/v0_17/migrate_test.go +++ /dev/null @@ -1,176 +0,0 @@ -package v0_16 - -import ( - "io/ioutil" - "path/filepath" - "testing" - "time" - - sdkmath "cosmossdk.io/math" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/suite" - "github.com/tendermint/tendermint/libs/bytes" - - app "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" - "github.com/0glabs/0g-chain/x/bep3/types" -) - -type migrateTestSuite struct { - suite.Suite - - addresses []sdk.AccAddress - v16genstate types.GenesisState - cdc codec.Codec -} - -func (s *migrateTestSuite) SetupTest() { - chaincfg.SetSDKConfig() - - s.v16genstate = types.GenesisState{ - PreviousBlockTime: time.Date(2021, 4, 8, 15, 0, 0, 0, time.UTC), - Params: types.Params{}, - Supplies: types.AssetSupplies{}, - AtomicSwaps: types.AtomicSwaps{}, - } - - config := app.MakeEncodingConfig() - s.cdc = config.Marshaler - - _, accAddresses := app.GeneratePrivKeyAddressPairs(10) - s.addresses = accAddresses -} - -func (s *migrateTestSuite) TestMigrate_JSON() { - // Migrate v16 bep3 to v17 - file := filepath.Join("testdata", "v16-bep3.json") - data, err := ioutil.ReadFile(file) - s.Require().NoError(err) - err = s.cdc.UnmarshalJSON(data, &s.v16genstate) - s.Require().NoError(err) - genstate := Migrate(s.v16genstate) - - // Compare expect v16 bep3 json with migrated json - actual := s.cdc.MustMarshalJSON(genstate) - file = filepath.Join("testdata", "v17-bep3.json") - expected, err := ioutil.ReadFile(file) - s.Require().NoError(err) - s.Require().JSONEq(string(expected), string(actual)) -} - -func (s *migrateTestSuite) TestMigrate_Swaps() { - type swap struct { - ExpireHeight uint64 - CloseBlock int64 - Status types.SwapStatus - Direction types.SwapDirection - } - testcases := []struct { - name string - oldSwap swap - newSwap swap - }{ - { - name: "incoming open swap", - oldSwap: swap{ - // expire and close not set in open swaps - Status: types.SWAP_STATUS_OPEN, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - newSwap: swap{ - ExpireHeight: 1, - Status: types.SWAP_STATUS_EXPIRED, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - }, - { - name: "outgoing open swap", - oldSwap: swap{ - // expire and close not set in open swaps - Status: types.SWAP_STATUS_OPEN, - Direction: types.SWAP_DIRECTION_OUTGOING, - }, - newSwap: swap{ - ExpireHeight: 24687, - Status: types.SWAP_STATUS_OPEN, - Direction: types.SWAP_DIRECTION_OUTGOING, - }, - }, - { - name: "completed swap", - oldSwap: swap{ - ExpireHeight: 1000, - CloseBlock: 900, - Status: types.SWAP_STATUS_COMPLETED, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - newSwap: swap{ - ExpireHeight: 1000, - CloseBlock: 1, - Status: types.SWAP_STATUS_COMPLETED, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - }, - { - name: "expired swap", - oldSwap: swap{ - ExpireHeight: 1000, - CloseBlock: 900, - Status: types.SWAP_STATUS_EXPIRED, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - newSwap: swap{ - ExpireHeight: 1, - CloseBlock: 900, - Status: types.SWAP_STATUS_EXPIRED, - Direction: types.SWAP_DIRECTION_INCOMING, - }, - }, - } - - for _, tc := range testcases { - s.Run(tc.name, func() { - oldSwaps := types.AtomicSwaps{ - { - Amount: sdk.NewCoins(sdk.NewCoin("bnb", sdkmath.NewInt(12))), - RandomNumberHash: bytes.HexBytes{}, - ExpireHeight: tc.oldSwap.ExpireHeight, - Timestamp: 1110, - Sender: s.addresses[0], - Recipient: s.addresses[1], - RecipientOtherChain: s.addresses[0].String(), - SenderOtherChain: s.addresses[1].String(), - ClosedBlock: tc.oldSwap.CloseBlock, - Status: tc.oldSwap.Status, - CrossChain: true, - Direction: tc.oldSwap.Direction, - }, - } - expectedSwaps := types.AtomicSwaps{ - { - Amount: sdk.NewCoins(sdk.NewCoin("bnb", sdkmath.NewInt(12))), - RandomNumberHash: bytes.HexBytes{}, - ExpireHeight: tc.newSwap.ExpireHeight, - Timestamp: 1110, - Sender: s.addresses[0], - Recipient: s.addresses[1], - RecipientOtherChain: s.addresses[0].String(), - SenderOtherChain: s.addresses[1].String(), - ClosedBlock: tc.newSwap.CloseBlock, - Status: tc.newSwap.Status, - CrossChain: true, - Direction: tc.newSwap.Direction, - }, - } - s.v16genstate.AtomicSwaps = oldSwaps - genState := Migrate(s.v16genstate) - s.Require().Len(genState.AtomicSwaps, 1) - s.Equal(expectedSwaps, genState.AtomicSwaps) - }) - } -} - -func TestMigrateTestSuite(t *testing.T) { - suite.Run(t, new(migrateTestSuite)) -} diff --git a/x/bep3/legacy/v0_17/testdata/v16-bep3.json b/x/bep3/legacy/v0_17/testdata/v16-bep3.json deleted file mode 100644 index 1e040204..00000000 --- a/x/bep3/legacy/v0_17/testdata/v16-bep3.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "atomic_swaps": [ - { - "amount": [ - { - "amount": "1999955998", - "denom": "btcb" - } - ], - "closed_block": "838115", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "838627", - "random_number_hash": "6F1CF8F2E13A0C0F0A359F54E47E4E265D766B8E006D2F00BDF994ABDEF1E9E4", - "recipient": "kava1fl2hs6y9vz986g5v52pdan9ga923n9mn5cxxkw", - "recipient_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "sender": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "sender_other_chain": "bnb19k9wuv2j7c7ck8tmc7kav0r0cnt3esmkrpf25x", - "status": "SWAP_STATUS_COMPLETED", - "timestamp": "1636034914" - }, - { - "amount": [ - { - "amount": "19000000000", - "denom": "bnb" - } - ], - "closed_block": "1712118", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "1736797", - "random_number_hash": "280EB832A37F2265CC82F3957CE603AAD57BAD7038B876A1F28953AFA29FA1C3", - "recipient": "kava1r4v2zdhdalfj2ydazallqvrus9fkphmglhn6u6", - "recipient_other_chain": "bnb18nsgj50zvc4uq93w4j0ltz5gaxhwv7aq4qnq0p", - "sender": "kava1zw6gg4ztvly7zf25pa33mclav3spvj3ympxxna", - "sender_other_chain": "bnb1jh7uv2rm6339yue8k4mj9406k3509kr4wt5nxn", - "status": "SWAP_STATUS_COMPLETED", - "timestamp": "1641976566" - }, - { - "amount": [ - { - "amount": "999595462080", - "denom": "busd" - } - ], - "closed_block": "787122", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "811799", - "random_number_hash": "BFB7CC82DA0E0C8556AC37843F5AB136B9A7A066054368F5948944282B414D83", - "recipient": "kava1eufgf0w9d7hf5mgtek4zr2upkxag9stmzx6unl", - "recipient_other_chain": "bnb10zq89008gmedc6rrwzdfukjk94swynd7dl97w8", - "sender": "kava1hh4x3a4suu5zyaeauvmv7ypf7w9llwlfufjmuu", - "sender_other_chain": "bnb1vl3wn4x8kqajg2j9wxa5y5amgzdxchutkxr6at", - "status": "SWAP_STATUS_EXPIRED", - "timestamp": "1635694492" - }, - { - "amount": [ - { - "amount": "999595462080", - "denom": "busd" - } - ], - "closed_block": "787122", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "811799", - "random_number_hash": "BFB7CC82DA0E0C8556AC37843F5AB136B9A7A066054368F5948944282B414D83", - "recipient": "kava1hh4x3a4suu5zyaeauvmv7ypf7w9llwlfufjmuu", - "recipient_other_chain": "bnb1vl3wn4x8kqajg2j9wxa5y5amgzdxchutkxr6at", - "sender": "kava1eufgf0w9d7hf5mgtek4zr2upkxag9stmzx6unl", - "sender_other_chain": "bnb10zq89008gmedc6rrwzdfukjk94swynd7dl97w8", - "status": "SWAP_STATUS_EXPIRED", - "timestamp": "1635694492" - }, - { - "amount": [ - { - "amount": "1000000", - "denom": "btcb" - } - ], - "closed_block": "0", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "1730589", - "random_number_hash": "A74EA1AB58D312FDF1E872D18583CACCF294E639DDA4F303939E9ADCEC081D93", - "recipient": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "recipient_other_chain": "bnb1lhk5ndlgf5wz55t8k35cqj6h9l3m4l5ek2w7q6", - "sender": "kava1d2u28azje7rhqyjtxc2ex8q0cxxpw7dfm7ltq5", - "sender_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "status": "SWAP_STATUS_OPEN", - "timestamp": "1641934114" - }, - { - "amount": [ - { - "amount": "1000000", - "denom": "btcb" - } - ], - "closed_block": "0", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "1740000", - "random_number_hash": "39E9ADCEC081D93A74EA1A83CACCF294E639DDA4F3039B58D312FDF1E872D185", - "recipient": "kava1d2u28azje7rhqyjtxc2ex8q0cxxpw7dfm7ltq5", - "recipient_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "sender": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "sender_other_chain": "bnb1lhk5ndlgf5wz55t8k35cqj6h9l3m4l5ek2w7q6", - "status": "SWAP_STATUS_OPEN", - "timestamp": "1641934114" - } - ], - "params": { - "asset_params": [ - { - "active": true, - "coin_id": "0", - "denom": "btcb", - "deputy_address": "kava1kla4wl0ccv7u85cemvs3y987hqk0afcv7vue84", - "fixed_fee": "2", - "max_block_lock": "86400", - "max_swap_amount": "2000000000", - "min_block_lock": "24686", - "min_swap_amount": "3", - "supply_limit": { - "limit": "100000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "144", - "denom": "xrpb", - "deputy_address": "kava14q5sawxdxtpap5x5sgzj7v4sp3ucncjlpuk3hs", - "fixed_fee": "100000", - "max_block_lock": "86400", - "max_swap_amount": "250000000000000", - "min_block_lock": "24686", - "min_swap_amount": "100001", - "supply_limit": { - "limit": "2000000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "714", - "denom": "bnb", - "deputy_address": "kava1agcvt07tcw0tglu0hmwdecsnuxp2yd45f3avgm", - "fixed_fee": "1000", - "max_block_lock": "86400", - "max_swap_amount": "500000000000", - "min_block_lock": "24686", - "min_swap_amount": "1001", - "supply_limit": { - "limit": "100000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "727", - "denom": "busd", - "deputy_address": "kava1j9je7f6s0v6k7dmgv6u5k5ru202f5ffsc7af04", - "fixed_fee": "20000", - "max_block_lock": "86400", - "max_swap_amount": "100000000000000", - "min_block_lock": "24686", - "min_swap_amount": "20001", - "supply_limit": { - "limit": "2000000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - } - ] - }, - "previous_block_time": "1970-01-01T00:00:00Z", - "supplies": [ - { - "current_supply": { - "amount": "30467559434006", - "denom": "bnb" - }, - "incoming_supply": { - "amount": "0", - "denom": "bnb" - }, - "outgoing_supply": { - "amount": "0", - "denom": "bnb" - }, - "time_elapsed": "0s", - "time_limited_current_supply": { - "amount": "0", - "denom": "bnb" - } - } - ] -} \ No newline at end of file diff --git a/x/bep3/legacy/v0_17/testdata/v17-bep3.json b/x/bep3/legacy/v0_17/testdata/v17-bep3.json deleted file mode 100644 index 3861ff92..00000000 --- a/x/bep3/legacy/v0_17/testdata/v17-bep3.json +++ /dev/null @@ -1,212 +0,0 @@ -{ - "atomic_swaps": [ - { - "amount": [ - { - "amount": "1999955998", - "denom": "btcb" - } - ], - "closed_block": "1", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "838627", - "random_number_hash": "6F1CF8F2E13A0C0F0A359F54E47E4E265D766B8E006D2F00BDF994ABDEF1E9E4", - "recipient": "kava1fl2hs6y9vz986g5v52pdan9ga923n9mn5cxxkw", - "recipient_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "sender": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "sender_other_chain": "bnb19k9wuv2j7c7ck8tmc7kav0r0cnt3esmkrpf25x", - "status": "SWAP_STATUS_COMPLETED", - "timestamp": "1636034914" - }, - { - "amount": [ - { - "amount": "19000000000", - "denom": "bnb" - } - ], - "closed_block": "1", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "1736797", - "random_number_hash": "280EB832A37F2265CC82F3957CE603AAD57BAD7038B876A1F28953AFA29FA1C3", - "recipient": "kava1r4v2zdhdalfj2ydazallqvrus9fkphmglhn6u6", - "recipient_other_chain": "bnb18nsgj50zvc4uq93w4j0ltz5gaxhwv7aq4qnq0p", - "sender": "kava1zw6gg4ztvly7zf25pa33mclav3spvj3ympxxna", - "sender_other_chain": "bnb1jh7uv2rm6339yue8k4mj9406k3509kr4wt5nxn", - "status": "SWAP_STATUS_COMPLETED", - "timestamp": "1641976566" - }, - { - "amount": [ - { - "amount": "999595462080", - "denom": "busd" - } - ], - "closed_block": "787122", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "1", - "random_number_hash": "BFB7CC82DA0E0C8556AC37843F5AB136B9A7A066054368F5948944282B414D83", - "recipient": "kava1eufgf0w9d7hf5mgtek4zr2upkxag9stmzx6unl", - "recipient_other_chain": "bnb10zq89008gmedc6rrwzdfukjk94swynd7dl97w8", - "sender": "kava1hh4x3a4suu5zyaeauvmv7ypf7w9llwlfufjmuu", - "sender_other_chain": "bnb1vl3wn4x8kqajg2j9wxa5y5amgzdxchutkxr6at", - "status": "SWAP_STATUS_EXPIRED", - "timestamp": "1635694492" - }, - { - "amount": [ - { - "amount": "999595462080", - "denom": "busd" - } - ], - "closed_block": "787122", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "1", - "random_number_hash": "BFB7CC82DA0E0C8556AC37843F5AB136B9A7A066054368F5948944282B414D83", - "recipient": "kava1hh4x3a4suu5zyaeauvmv7ypf7w9llwlfufjmuu", - "recipient_other_chain": "bnb1vl3wn4x8kqajg2j9wxa5y5amgzdxchutkxr6at", - "sender": "kava1eufgf0w9d7hf5mgtek4zr2upkxag9stmzx6unl", - "sender_other_chain": "bnb10zq89008gmedc6rrwzdfukjk94swynd7dl97w8", - "status": "SWAP_STATUS_EXPIRED", - "timestamp": "1635694492" - }, - { - "amount": [ - { - "amount": "1000000", - "denom": "btcb" - } - ], - "closed_block": "0", - "cross_chain": true, - "direction": "SWAP_DIRECTION_OUTGOING", - "expire_height": "24687", - "random_number_hash": "A74EA1AB58D312FDF1E872D18583CACCF294E639DDA4F303939E9ADCEC081D93", - "recipient": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "recipient_other_chain": "bnb1lhk5ndlgf5wz55t8k35cqj6h9l3m4l5ek2w7q6", - "sender": "kava1d2u28azje7rhqyjtxc2ex8q0cxxpw7dfm7ltq5", - "sender_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "status": "SWAP_STATUS_OPEN", - "timestamp": "1641934114" - }, - { - "amount": [ - { - "amount": "1000000", - "denom": "btcb" - } - ], - "closed_block": "0", - "cross_chain": true, - "direction": "SWAP_DIRECTION_INCOMING", - "expire_height": "1", - "random_number_hash": "39E9ADCEC081D93A74EA1A83CACCF294E639DDA4F3039B58D312FDF1E872D185", - "recipient": "kava1d2u28azje7rhqyjtxc2ex8q0cxxpw7dfm7ltq5", - "recipient_other_chain": "bnb1xz3xqf4p2ygrw9lhp5g5df4ep4nd20vsywnmpr", - "sender": "kava14qsmvzprqvhwmgql9fr0u3zv9n2qla8zhnm5pc", - "sender_other_chain": "bnb1lhk5ndlgf5wz55t8k35cqj6h9l3m4l5ek2w7q6", - "status": "SWAP_STATUS_EXPIRED", - "timestamp": "1641934114" - } - ], - "params": { - "asset_params": [ - { - "active": true, - "coin_id": "0", - "denom": "btcb", - "deputy_address": "kava1kla4wl0ccv7u85cemvs3y987hqk0afcv7vue84", - "fixed_fee": "2", - "max_block_lock": "86400", - "max_swap_amount": "2000000000", - "min_block_lock": "24686", - "min_swap_amount": "3", - "supply_limit": { - "limit": "100000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "144", - "denom": "xrpb", - "deputy_address": "kava14q5sawxdxtpap5x5sgzj7v4sp3ucncjlpuk3hs", - "fixed_fee": "100000", - "max_block_lock": "86400", - "max_swap_amount": "250000000000000", - "min_block_lock": "24686", - "min_swap_amount": "100001", - "supply_limit": { - "limit": "2000000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "714", - "denom": "bnb", - "deputy_address": "kava1agcvt07tcw0tglu0hmwdecsnuxp2yd45f3avgm", - "fixed_fee": "1000", - "max_block_lock": "86400", - "max_swap_amount": "500000000000", - "min_block_lock": "24686", - "min_swap_amount": "1001", - "supply_limit": { - "limit": "100000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - }, - { - "active": true, - "coin_id": "727", - "denom": "busd", - "deputy_address": "kava1j9je7f6s0v6k7dmgv6u5k5ru202f5ffsc7af04", - "fixed_fee": "20000", - "max_block_lock": "86400", - "max_swap_amount": "100000000000000", - "min_block_lock": "24686", - "min_swap_amount": "20001", - "supply_limit": { - "limit": "2000000000000000", - "time_based_limit": "0", - "time_limited": false, - "time_period": "0s" - } - } - ] - }, - "previous_block_time": "1970-01-01T00:00:00Z", - "supplies": [ - { - "current_supply": { - "amount": "30467559434006", - "denom": "bnb" - }, - "incoming_supply": { - "amount": "0", - "denom": "bnb" - }, - "outgoing_supply": { - "amount": "0", - "denom": "bnb" - }, - "time_elapsed": "0s", - "time_limited_current_supply": { - "amount": "0", - "denom": "bnb" - } - } - ] -} \ No newline at end of file diff --git a/x/issuance/legacy/v0_15/types.go b/x/issuance/legacy/v0_15/types.go deleted file mode 100644 index f76a60c2..00000000 --- a/x/issuance/legacy/v0_15/types.go +++ /dev/null @@ -1,53 +0,0 @@ -package v0_15 - -import ( - "time" - - sdkmath "cosmossdk.io/math" - sdk "github.com/cosmos/cosmos-sdk/types" -) - -const ( - // ModuleName The name that will be used throughout the module - ModuleName = "issuance" -) - -// GenesisState is the state that must be provided at genesis for the issuance module -type GenesisState struct { - Params Params `json:"params" yaml:"params"` - Supplies AssetSupplies `json:"supplies" yaml:"supplies"` -} - -// Params governance parameters for the issuance module -type Params struct { - Assets Assets `json:"assets" yaml:"assets"` -} - -// Assets slice of Asset -type Assets []Asset - -// Asset type for assets in the issuance module -type Asset struct { - Owner sdk.AccAddress `json:"owner" yaml:"owner"` - Denom string `json:"denom" yaml:"denom"` - BlockedAddresses []sdk.AccAddress `json:"blocked_addresses" yaml:"blocked_addresses"` - Paused bool `json:"paused" yaml:"paused"` - Blockable bool `json:"blockable" yaml:"blockable"` - RateLimit RateLimit `json:"rate_limit" yaml:"rate_limit"` -} - -// RateLimit parameters for rate-limiting the supply of an issued asset -type RateLimit struct { - Active bool `json:"active" yaml:"active"` - Limit sdkmath.Int `json:"limit" yaml:"limit"` - TimePeriod time.Duration `json:"time_period" yaml:"time_period"` -} - -// AssetSupplies is a slice of AssetSupply -type AssetSupplies []AssetSupply - -// AssetSupply contains information about an asset's rate-limited supply (the total supply of the asset is tracked in the top-level supply module) -type AssetSupply struct { - CurrentSupply sdk.Coin `json:"current_supply" yaml:"current_supply"` - TimeElapsed time.Duration `json:"time_elapsed" yaml:"time_elapsed"` -} diff --git a/x/issuance/legacy/v0_16/migrate.go b/x/issuance/legacy/v0_16/migrate.go deleted file mode 100644 index 610f9da0..00000000 --- a/x/issuance/legacy/v0_16/migrate.go +++ /dev/null @@ -1,48 +0,0 @@ -package v0_16 - -import ( - v015issuance "github.com/0glabs/0g-chain/x/issuance/legacy/v0_15" - v016issuance "github.com/0glabs/0g-chain/x/issuance/types" -) - -func migrateParams(params v015issuance.Params) v016issuance.Params { - assets := make([]v016issuance.Asset, len(params.Assets)) - for i, asset := range params.Assets { - blockedAddresses := make([]string, len(asset.BlockedAddresses)) - for i, addr := range asset.BlockedAddresses { - blockedAddresses[i] = addr.String() - } - assets[i] = v016issuance.Asset{ - Owner: asset.Owner.String(), - Denom: asset.Denom, - BlockedAddresses: blockedAddresses, - Paused: asset.Paused, - Blockable: asset.Blockable, - RateLimit: v016issuance.RateLimit{ - Active: asset.RateLimit.Active, - Limit: asset.RateLimit.Limit, - TimePeriod: asset.RateLimit.TimePeriod, - }, - } - } - return v016issuance.Params{Assets: assets} -} - -func migrateSupplies(oldSupplies v015issuance.AssetSupplies) []v016issuance.AssetSupply { - supplies := make([]v016issuance.AssetSupply, len(oldSupplies)) - for i, supply := range oldSupplies { - supplies[i] = v016issuance.AssetSupply{ - CurrentSupply: supply.CurrentSupply, - TimeElapsed: supply.TimeElapsed, - } - } - return supplies -} - -// Migrate converts v0.15 issuance state and returns it in v0.16 format -func Migrate(oldState v015issuance.GenesisState) *v016issuance.GenesisState { - return &v016issuance.GenesisState{ - Params: migrateParams(oldState.Params), - Supplies: migrateSupplies(oldState.Supplies), - } -} diff --git a/x/issuance/legacy/v0_16/migrate_test.go b/x/issuance/legacy/v0_16/migrate_test.go deleted file mode 100644 index 158920a2..00000000 --- a/x/issuance/legacy/v0_16/migrate_test.go +++ /dev/null @@ -1,177 +0,0 @@ -package v0_16 - -import ( - "testing" - "time" - - sdkmath "cosmossdk.io/math" - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/suite" - - app "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" - v015issuance "github.com/0glabs/0g-chain/x/issuance/legacy/v0_15" - v016issuance "github.com/0glabs/0g-chain/x/issuance/types" -) - -type migrateTestSuite struct { - suite.Suite - - addresses []sdk.AccAddress - v15genstate v015issuance.GenesisState - cdc codec.Codec - legacyCdc *codec.LegacyAmino -} - -func (s *migrateTestSuite) SetupTest() { - chaincfg.SetSDKConfig() - - s.v15genstate = v015issuance.GenesisState{ - Params: v015issuance.Params{}, - Supplies: v015issuance.AssetSupplies{}, - } - - config := app.MakeEncodingConfig() - s.cdc = config.Marshaler - - legacyCodec := codec.NewLegacyAmino() - s.legacyCdc = legacyCodec - - _, accAddresses := app.GeneratePrivKeyAddressPairs(10) - s.addresses = accAddresses -} - -func (s *migrateTestSuite) TestMigrate_JSON() { - // Migrate v15 issuance to v16 - data := `{ - "params": { - "assets": [ - { - "blockable": true, - "blocked_addresses": null, - "denom": "hbtc", - "owner": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "paused": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0" - } - } - ] - }, - "supplies": [ - { - "current_supply": { "denom": "ua0gi", "amount": "100" }, - "time_elapsed": "3600000000000" - }, - { - "current_supply": { "denom": "bnb", "amount": "300" }, - "time_elapsed": "300000000000" - } - ] - }` - err := s.legacyCdc.UnmarshalJSON([]byte(data), &s.v15genstate) - s.Require().NoError(err) - genstate := Migrate(s.v15genstate) - - // Compare expect v16 issuance json with migrated json - expected := `{ - "params": { - "assets": [ - { - "blockable": true, - "blocked_addresses": [], - "denom": "hbtc", - "owner": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "paused": false, - "rate_limit": { - "active": false, - "limit": "0", - "time_period": "0s" - } - } - ] - }, - "supplies": [ - { - "current_supply": { "denom": "ua0gi", "amount": "100" }, - "time_elapsed": "3600s" - }, - { - "current_supply": { "denom": "bnb", "amount": "300" }, - "time_elapsed": "300s" - } - ] - }` - actual := s.cdc.MustMarshalJSON(genstate) - s.Require().NoError(err) - s.Require().JSONEq(expected, string(actual)) -} - -func (s *migrateTestSuite) TestMigrate_Params() { - s.v15genstate.Params = v015issuance.Params{ - Assets: v015issuance.Assets{ - { - Owner: s.addresses[0], - Denom: "ua0gi", - BlockedAddresses: s.addresses[1:2], - Paused: true, - Blockable: true, - RateLimit: v015issuance.RateLimit{ - Active: true, - Limit: sdkmath.NewInt(10), - TimePeriod: 1 * time.Hour, - }, - }, - }, - } - expectedParams := v016issuance.Params{ - Assets: []v016issuance.Asset{ - { - Owner: s.addresses[0].String(), - Denom: "ua0gi", - BlockedAddresses: []string{s.addresses[1].String()}, - Paused: true, - Blockable: true, - RateLimit: v016issuance.RateLimit{ - Active: true, - Limit: sdkmath.NewInt(10), - TimePeriod: 1 * time.Hour, - }, - }, - }, - } - genState := Migrate(s.v15genstate) - s.Require().Equal(expectedParams, genState.Params) -} - -func (s *migrateTestSuite) TestMigrate_Supplies() { - s.v15genstate.Supplies = v015issuance.AssetSupplies{ - { - CurrentSupply: sdk.NewCoin("ua0gi", sdkmath.NewInt(100)), - TimeElapsed: time.Duration(1 * time.Hour), - }, - { - CurrentSupply: sdk.NewCoin("bnb", sdkmath.NewInt(300)), - TimeElapsed: time.Duration(5 * time.Minute), - }, - } - expected := []v016issuance.AssetSupply{ - { - CurrentSupply: sdk.NewCoin("ua0gi", sdkmath.NewInt(100)), - TimeElapsed: time.Duration(1 * time.Hour), - }, - { - CurrentSupply: sdk.NewCoin("bnb", sdkmath.NewInt(300)), - TimeElapsed: time.Duration(5 * time.Minute), - }, - } - genState := Migrate(s.v15genstate) - s.Require().Equal(expected, genState.Supplies) -} - -func TestIssuanceMigrateTestSuite(t *testing.T) { - suite.Run(t, new(migrateTestSuite)) -} diff --git a/x/pricefeed/legacy/v0_15/types.go b/x/pricefeed/legacy/v0_15/types.go deleted file mode 100644 index 0a9b6722..00000000 --- a/x/pricefeed/legacy/v0_15/types.go +++ /dev/null @@ -1,46 +0,0 @@ -package v0_15 - -import ( - "time" - - sdk "github.com/cosmos/cosmos-sdk/types" -) - -const ( - // ModuleName The name that will be used throughout the module - ModuleName = "pricefeed" -) - -// GenesisState - pricefeed state that must be provided at genesis -type GenesisState struct { - Params Params `json:"params" yaml:"params"` - PostedPrices PostedPrices `json:"posted_prices" yaml:"posted_prices"` -} - -// Params params for pricefeed. Can be altered via governance -type Params struct { - Markets Markets `json:"markets" yaml:"markets"` // Array containing the markets supported by the pricefeed -} - -// Markets array type for oracle -type Markets []Market - -// Market an asset in the pricefeed -type Market struct { - MarketID string `json:"market_id" yaml:"market_id"` - BaseAsset string `json:"base_asset" yaml:"base_asset"` - QuoteAsset string `json:"quote_asset" yaml:"quote_asset"` - Oracles []sdk.AccAddress `json:"oracles" yaml:"oracles"` - Active bool `json:"active" yaml:"active"` -} - -// PostedPrices type for an array of PostedPrice -type PostedPrices []PostedPrice - -// PostedPrice price for market posted by a specific oracle -type PostedPrice struct { - MarketID string `json:"market_id" yaml:"market_id"` - OracleAddress sdk.AccAddress `json:"oracle_address" yaml:"oracle_address"` - Price sdk.Dec `json:"price" yaml:"price"` - Expiry time.Time `json:"expiry" yaml:"expiry"` -} diff --git a/x/pricefeed/legacy/v0_16/migrate.go b/x/pricefeed/legacy/v0_16/migrate.go deleted file mode 100644 index 6634ac19..00000000 --- a/x/pricefeed/legacy/v0_16/migrate.go +++ /dev/null @@ -1,134 +0,0 @@ -package v0_16 - -import ( - v015pricefeed "github.com/0glabs/0g-chain/x/pricefeed/legacy/v0_15" - v016pricefeed "github.com/0glabs/0g-chain/x/pricefeed/types" - "github.com/cosmos/cosmos-sdk/types" -) - -var NewIBCMarkets = []v016pricefeed.Market{ - { - MarketID: "atom:usd", - BaseAsset: "atom", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "atom:usd:30", - BaseAsset: "atom", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "akt:usd", - BaseAsset: "akt", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "akt:usd:30", - BaseAsset: "akt", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "luna:usd", - BaseAsset: "luna", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "luna:usd:30", - BaseAsset: "luna", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "osmo:usd", - BaseAsset: "osmo", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "osmo:usd:30", - BaseAsset: "osmo", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "ust:usd", - BaseAsset: "ust", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, - { - MarketID: "ust:usd:30", - BaseAsset: "ust", - QuoteAsset: "usd", - Oracles: nil, - Active: true, - }, -} - -func migrateParams(params v015pricefeed.Params) v016pricefeed.Params { - markets := make(v016pricefeed.Markets, len(params.Markets)) - for i, market := range params.Markets { - markets[i] = v016pricefeed.Market{ - MarketID: market.MarketID, - BaseAsset: market.BaseAsset, - QuoteAsset: market.QuoteAsset, - Oracles: market.Oracles, - Active: market.Active, - } - } - - markets = addIbcMarkets(markets) - - return v016pricefeed.Params{Markets: markets} -} - -func addIbcMarkets(markets v016pricefeed.Markets) v016pricefeed.Markets { - var oracles []types.AccAddress - - if len(markets) > 0 { - oracles = markets[0].Oracles - } - - for _, newMarket := range NewIBCMarkets { - // newMarket is a copy, should not affect other uses of NewIBCMarkets - newMarket.Oracles = oracles - markets = append(markets, newMarket) - } - - return markets -} - -func migratePostedPrices(oldPostedPrices v015pricefeed.PostedPrices) v016pricefeed.PostedPrices { - newPrices := make(v016pricefeed.PostedPrices, len(oldPostedPrices)) - for i, price := range oldPostedPrices { - newPrices[i] = v016pricefeed.PostedPrice{ - MarketID: price.MarketID, - OracleAddress: price.OracleAddress, - Price: price.Price, - Expiry: price.Expiry, - } - } - return newPrices -} - -// Migrate converts v0.15 pricefeed state and returns it in v0.16 format -func Migrate(oldState v015pricefeed.GenesisState) *v016pricefeed.GenesisState { - return &v016pricefeed.GenesisState{ - Params: migrateParams(oldState.Params), - PostedPrices: migratePostedPrices(oldState.PostedPrices), - } -} diff --git a/x/pricefeed/legacy/v0_16/migrate_test.go b/x/pricefeed/legacy/v0_16/migrate_test.go deleted file mode 100644 index 3d4f1507..00000000 --- a/x/pricefeed/legacy/v0_16/migrate_test.go +++ /dev/null @@ -1,353 +0,0 @@ -package v0_16 - -import ( - "testing" - "time" - - "github.com/cosmos/cosmos-sdk/codec" - sdk "github.com/cosmos/cosmos-sdk/types" - "github.com/stretchr/testify/suite" - - app "github.com/0glabs/0g-chain/app" - "github.com/0glabs/0g-chain/chaincfg" - v015pricefeed "github.com/0glabs/0g-chain/x/pricefeed/legacy/v0_15" - v016pricefeed "github.com/0glabs/0g-chain/x/pricefeed/types" -) - -type migrateTestSuite struct { - suite.Suite - - addresses []sdk.AccAddress - v15genstate v015pricefeed.GenesisState - cdc codec.Codec - legacyCdc *codec.LegacyAmino -} - -func (s *migrateTestSuite) SetupTest() { - chaincfg.SetSDKConfig() - - s.v15genstate = v015pricefeed.GenesisState{ - Params: v015pricefeed.Params{}, - PostedPrices: v015pricefeed.PostedPrices{}, - } - - config := app.MakeEncodingConfig() - s.cdc = config.Marshaler - - legacyCodec := codec.NewLegacyAmino() - s.legacyCdc = legacyCodec - - _, accAddresses := app.GeneratePrivKeyAddressPairs(10) - s.addresses = accAddresses -} - -func (s *migrateTestSuite) TestMigrate_JSON() { - // Migrate v15 pricefeed to v16 - v15Params := `{ - "params": { - "markets": [ - { - "active": true, - "base_asset": "bnb", - "market_id": "bnb:usd", - "oracles": ["0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8"], - "quote_asset": "usd" - }, - { - "active": true, - "base_asset": "bnb", - "market_id": "bnb:usd:30", - "oracles": ["0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8"], - "quote_asset": "usd" - } - ] - }, - "posted_prices": [ - { - "expiry": "2022-07-20T00:00:00Z", - "market_id": "bnb:usd", - "oracle_address": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "price": "215.962650000000001782" - }, - { - "expiry": "2022-07-20T00:00:00Z", - "market_id": "bnb:usd:30", - "oracle_address": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "price": "217.962650000000001782" - } - ] - }` - - expectedV16Params := `{ - "params": { - "markets": [ - { - "market_id": "bnb:usd", - "base_asset": "bnb", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "bnb:usd:30", - "base_asset": "bnb", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "atom:usd", - "base_asset": "atom", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "atom:usd:30", - "base_asset": "atom", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "akt:usd", - "base_asset": "akt", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "akt:usd:30", - "base_asset": "akt", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "luna:usd", - "base_asset": "luna", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "luna:usd:30", - "base_asset": "luna", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "osmo:usd", - "base_asset": "osmo", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "osmo:usd:30", - "base_asset": "osmo", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "ust:usd", - "base_asset": "ust", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - }, - { - "market_id": "ust:usd:30", - "base_asset": "ust", - "quote_asset": "usd", - "oracles": [ - "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8" - ], - "active": true - } - ] - }, - "posted_prices": [ - { - "market_id": "bnb:usd", - "oracle_address": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "price": "215.962650000000001782", - "expiry": "2022-07-20T00:00:00Z" - }, - { - "market_id": "bnb:usd:30", - "oracle_address": "0g1ffv7nhd3z6sych2qpqkk03ec6hzkmufyhp5hf8", - "price": "217.962650000000001782", - "expiry": "2022-07-20T00:00:00Z" - } - ] - }` - - err := s.legacyCdc.UnmarshalJSON([]byte(v15Params), &s.v15genstate) - s.Require().NoError(err) - genstate := Migrate(s.v15genstate) - - // v16 pricefeed json should be the same as v15 but with IBC markets added - actual := s.cdc.MustMarshalJSON(genstate) - - s.Require().NoError(err) - s.Require().JSONEq(expectedV16Params, string(actual)) -} - -func (s *migrateTestSuite) TestMigrate_Params() { - s.v15genstate.Params = v015pricefeed.Params{ - Markets: v015pricefeed.Markets{ - { - MarketID: "market-1", - BaseAsset: "a0gi", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - }, - } - expectedParams := v016pricefeed.Params{ - Markets: v016pricefeed.Markets{ - { - MarketID: "market-1", - BaseAsset: "a0gi", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "atom:usd", - BaseAsset: "atom", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "atom:usd:30", - BaseAsset: "atom", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "akt:usd", - BaseAsset: "akt", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "akt:usd:30", - BaseAsset: "akt", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "luna:usd", - BaseAsset: "luna", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "luna:usd:30", - BaseAsset: "luna", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "osmo:usd", - BaseAsset: "osmo", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "osmo:usd:30", - BaseAsset: "osmo", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "ust:usd", - BaseAsset: "ust", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - { - MarketID: "ust:usd:30", - BaseAsset: "ust", - QuoteAsset: "usd", - Oracles: s.addresses, - Active: true, - }, - }, - } - genState := Migrate(s.v15genstate) - s.Require().Equal(expectedParams, genState.Params) -} - -func (s *migrateTestSuite) TestMigrate_PostedPrices() { - s.v15genstate.PostedPrices = v015pricefeed.PostedPrices{ - { - MarketID: "market-1", - OracleAddress: s.addresses[0], - Price: sdk.MustNewDecFromStr("1.2"), - Expiry: time.Date(2020, time.January, 1, 0, 0, 0, 0, time.UTC), - }, - { - MarketID: "market-2", - OracleAddress: s.addresses[1], - Price: sdk.MustNewDecFromStr("1.899"), - Expiry: time.Date(2021, time.January, 1, 0, 0, 0, 0, time.UTC), - }, - } - expected := v016pricefeed.PostedPrices{ - { - MarketID: "market-1", - OracleAddress: s.addresses[0], - Price: sdk.MustNewDecFromStr("1.2"), - Expiry: time.Date(2020, time.January, 1, 0, 0, 0, 0, time.UTC), - }, - { - MarketID: "market-2", - OracleAddress: s.addresses[1], - Price: sdk.MustNewDecFromStr("1.899"), - Expiry: time.Date(2021, time.January, 1, 0, 0, 0, 0, time.UTC), - }, - } - genState := Migrate(s.v15genstate) - s.Require().Equal(expected, genState.PostedPrices) -} - -func TestPriceFeedMigrateTestSuite(t *testing.T) { - suite.Run(t, new(migrateTestSuite)) -} From a4ed55e9f32113a74cd1c50a8798837d5cd30086 Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Thu, 9 May 2024 19:35:16 +0800 Subject: [PATCH 4/6] fix unit test --- app/_simulate_tx_test.go | 6 +- app/ante/ante_test.go | 4 +- app/ante/authorized_test.go | 9 +- app/ante/authz_test.go | 7 +- app/ante/eip712_test.go | 25 +- app/ante/min_gas_filter_test.go | 3 +- app/ante/vesting_test.go | 7 +- app/test_common.go | 8 +- chaincfg/coin_helper.go | 57 +++ chaincfg/denoms.go | 37 ++ chaincfg/denoms_test.go | 80 +++ cli_test/cli_test.go | 2 +- cmd/0gchaind/root.go | 2 +- go.mod | 2 + go.sum | 4 + migrate/utils/periodic_vesting_reset_test.go | 47 +- .../zgc/evmutil/v1beta1/conversion_pair.proto | 2 +- proto/zgc/evmutil/v1beta1/tx.proto | 2 +- tests/e2e/e2e_convert_cosmos_coins_test.go | 15 +- tests/e2e/e2e_evm_contracts_test.go | 22 +- tests/e2e/e2e_min_fees_test.go | 11 +- tests/e2e/e2e_test.go | 41 +- tests/e2e/e2e_upgrade_gov_and_authz_test.go | 8 +- tests/e2e/runner/chain.go | 3 +- tests/e2e/testutil/account.go | 2 +- x/bep3/client/cli/query.go | 4 +- x/bep3/keeper/msg_server_test.go | 3 +- x/bep3/keeper/querier_test.go | 3 +- x/bep3/types/genesis_test.go | 2 +- x/bep3/types/supply_test.go | 3 +- x/committee/keeper/msg_server_test.go | 4 +- x/committee/types/committee.go | 3 +- x/council/v1/client/cli/tx.go | 6 +- x/council/v1/types/codec.go | 4 +- x/evmutil/keeper/bank_keeper.go | 183 ++++--- x/evmutil/keeper/bank_keeper_test.go | 475 +++++++++--------- x/evmutil/keeper/invariants.go | 3 +- x/evmutil/keeper/invariants_test.go | 7 +- x/evmutil/keeper/keeper.go | 12 +- x/evmutil/testutil/suite.go | 33 +- x/evmutil/types/conversion_pair.pb.go | 30 +- x/evmutil/types/conversion_pairs_test.go | 19 +- x/evmutil/types/params_test.go | 4 +- x/evmutil/types/tx.pb.go | 40 +- x/pricefeed/types/key_test.go | 7 +- x/validator-vesting/querier.go | 7 +- 46 files changed, 728 insertions(+), 530 deletions(-) create mode 100644 chaincfg/coin_helper.go create mode 100644 chaincfg/denoms.go create mode 100644 chaincfg/denoms_test.go diff --git a/app/_simulate_tx_test.go b/app/_simulate_tx_test.go index 834ee988..15c4cfec 100644 --- a/app/_simulate_tx_test.go +++ b/app/_simulate_tx_test.go @@ -8,8 +8,8 @@ import ( "net/http/httptest" "testing" - sdkmath "cosmossdk.io/math" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/cosmos/cosmos-sdk/client/context" sdk "github.com/cosmos/cosmos-sdk/types" @@ -62,11 +62,11 @@ func (suite *SimulateRequestTestSuite) TestSimulateRequest() { bank.MsgSend{ FromAddress: fromAddr, ToAddress: toAddr, - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e6)), }, }, Fee: auth.StdFee{ - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(5e4))), + Amount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(5e4)), Gas: 1e6, }, Memo: "test memo", diff --git a/app/ante/ante_test.go b/app/ante/ante_test.go index 1109eb66..ed979248 100644 --- a/app/ante/ante_test.go +++ b/app/ante/ante_test.go @@ -66,7 +66,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { chainID, app.NewFundedGenStateWithSameCoins( tApp.AppCodec(), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1e9)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e9)), testAddresses, ), newBep3GenStateMulti(tApp.AppCodec(), deputy), @@ -114,7 +114,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { banktypes.NewMsgSend( tc.address, testAddresses[0], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1_000_000)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1_000_000)), ), }, sdk.NewCoins(), // no fee diff --git a/app/ante/authorized_test.go b/app/ante/authorized_test.go index 618fbbf7..d9dd327a 100644 --- a/app/ante/authorized_test.go +++ b/app/ante/authorized_test.go @@ -12,6 +12,7 @@ import ( "github.com/0glabs/0g-chain/app" "github.com/0glabs/0g-chain/app/ante" + "github.com/0glabs/0g-chain/chaincfg" ) var _ sdk.AnteHandler = (&MockAnteHandler{}).AnteHandle @@ -45,7 +46,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_NotCheckTx(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100_000_000)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100_000_000)), ), }, sdk.NewCoins(), // no fee @@ -80,12 +81,12 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Pass(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), ), banktypes.NewMsgSend( testAddresses[2], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), ), }, sdk.NewCoins(), // no fee @@ -121,7 +122,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Reject(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), ), }, sdk.NewCoins(), // no fee diff --git a/app/ante/authz_test.go b/app/ante/authz_test.go index 16478c47..4178728c 100644 --- a/app/ante/authz_test.go +++ b/app/ante/authz_test.go @@ -16,6 +16,7 @@ import ( "github.com/0glabs/0g-chain/app" "github.com/0glabs/0g-chain/app/ante" + "github.com/0glabs/0g-chain/chaincfg" ) func newMsgGrant(granter sdk.AccAddress, grantee sdk.AccAddress, a authz.Authorization, expiration time.Time) *authz.MsgGrant { @@ -58,7 +59,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100e6)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), ), }, checkTx: false, @@ -128,7 +129,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { []sdk.Msg{banktypes.NewMsgSend( testAddresses[0], testAddresses[3], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100e6)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), )}), }, checkTx: false, @@ -161,7 +162,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[3], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100e6)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), ), &evmtypes.MsgEthereumTx{}, }, diff --git a/app/ante/eip712_test.go b/app/ante/eip712_test.go index b117026e..0370d608 100644 --- a/app/ante/eip712_test.go +++ b/app/ante/eip712_test.go @@ -34,6 +34,7 @@ import ( "github.com/tendermint/tendermint/version" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" evmutilkeeper "github.com/0glabs/0g-chain/x/evmutil/keeper" evmutiltestutil "github.com/0glabs/0g-chain/x/evmutil/testutil" evmutiltypes "github.com/0glabs/0g-chain/x/evmutil/types" @@ -155,7 +156,7 @@ func (suite *EIP712TestSuite) SetupTest() { // Genesis states evmGs := evmtypes.NewGenesisState( evmtypes.NewParams( - "neuron", // evmDenom + chaincfg.BaseDenom, // evmDenom false, // allowedUnprotectedTxs true, // enableCreate true, // enableCall @@ -221,10 +222,10 @@ func (suite *EIP712TestSuite) SetupTest() { pricefeedtypes.ModuleName: cdc.MustMarshalJSON(&pricefeedGenState), } - // funds our test accounts with some ua0gi + // funds our test accounts with some auxiliary denom coinsGenState := app.NewFundedGenStateWithSameCoins( tApp.AppCodec(), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1e9)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e9)), []sdk.AccAddress{suite.testAddr, suite.testAddr2}, ) @@ -306,17 +307,17 @@ func (suite *EIP712TestSuite) SetupTest() { params := evmKeeper.GetParams(suite.ctx) params.EIP712AllowedMsgs = []evmtypes.EIP712AllowedMsg{ { - MsgTypeUrl: "/0g-chain.evmutil.v1beta1.MsgConvertERC20ToCoin", + MsgTypeUrl: "/zgc.evmutil.v1beta1.MsgConvertERC20ToCoin", MsgValueTypeName: "MsgValueEVMConvertERC20ToCoin", ValueTypes: []evmtypes.EIP712MsgAttrType{ {Name: "initiator", Type: "string"}, {Name: "receiver", Type: "string"}, - {Name: "0gchain_erc20_address", Type: "string"}, + {Name: "zgchain_erc20_address", Type: "string"}, {Name: "amount", Type: "string"}, }, }, { - MsgTypeUrl: "/0g-chain.evmutil.v1beta1.MsgConvertCoinToERC20", + MsgTypeUrl: "/zgc.evmutil.v1beta1.MsgConvertCoinToERC20", MsgValueTypeName: "MsgValueEVMConvertCoinToERC20", ValueTypes: []evmtypes.EIP712MsgAttrType{ {Name: "initiator", Type: "string"}, @@ -369,7 +370,7 @@ func (suite *EIP712TestSuite) deployUSDCERC20(app app.TestApp, ctx sdk.Context) suite.tApp.FundModuleAccount( suite.ctx, evmutiltypes.ModuleName, - sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(0))), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(0)), ) contractAddr, err := suite.evmutilKeeper.DeployTestMintableERC20Contract(suite.ctx, "USDC", "USDC", uint8(18)) @@ -469,7 +470,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { errMsg: "insufficient funds", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { bk := suite.tApp.GetBankKeeper() - gasCoins := bk.GetBalance(suite.ctx, suite.testAddr, "ua0gi") + gasCoins := bk.GetBalance(suite.ctx, suite.testAddr, chaincfg.AuxiliaryDenom) suite.tApp.GetBankKeeper().SendCoins(suite.ctx, suite.testAddr, suite.testAddr2, sdk.NewCoins(gasCoins)) return txBuilder }, @@ -481,7 +482,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { failCheckTx: true, errMsg: "invalid chain-id", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { - gasAmt := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(20))) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) return suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, "kavatest_12-1", uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -494,7 +495,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { failCheckTx: true, errMsg: "invalid pubkey", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { - gasAmt := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(20))) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) return suite.createTestEIP712CosmosTxBuilder( suite.testAddr2, suite.testPrivKey2, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -522,7 +523,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { msgs = tc.updateMsgs(msgs) } - gasAmt := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(20))) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) txBuilder := suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -596,7 +597,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx_DepositAndWithdraw() { } // deliver deposit msg - gasAmt := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(20))) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) txBuilder := suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, depositMsgs, ) diff --git a/app/ante/min_gas_filter_test.go b/app/ante/min_gas_filter_test.go index 6ad5f10e..f49c333b 100644 --- a/app/ante/min_gas_filter_test.go +++ b/app/ante/min_gas_filter_test.go @@ -13,6 +13,7 @@ import ( "github.com/0glabs/0g-chain/app" "github.com/0glabs/0g-chain/app/ante" + "github.com/0glabs/0g-chain/chaincfg" ) func mustParseDecCoins(value string) sdk.DecCoins { @@ -30,7 +31,7 @@ func TestEvmMinGasFilter(t *testing.T) { ctx := tApp.NewContext(true, tmproto.Header{Height: 1, Time: tmtime.Now()}) tApp.GetEvmKeeper().SetParams(ctx, evmtypes.Params{ - EvmDenom: "neuron", + EvmDenom: chaincfg.BaseDenom, }) testCases := []struct { diff --git a/app/ante/vesting_test.go b/app/ante/vesting_test.go index 242b25dd..5e5d5789 100644 --- a/app/ante/vesting_test.go +++ b/app/ante/vesting_test.go @@ -14,6 +14,7 @@ import ( "github.com/0glabs/0g-chain/app" "github.com/0glabs/0g-chain/app/ante" + "github.com/0glabs/0g-chain/chaincfg" ) func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing.T) { @@ -33,7 +34,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "MsgCreateVestingAccount", vesting.NewMsgCreateVestingAccount( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC).Unix(), false, ), @@ -44,7 +45,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "MsgCreateVestingAccount", vesting.NewMsgCreatePermanentLockedAccount( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), ), true, "MsgTypeURL /cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount not supported", @@ -63,7 +64,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "other messages not affected", banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 100)), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), ), false, "", diff --git a/app/test_common.go b/app/test_common.go index ecef1271..aa51bb56 100644 --- a/app/test_common.go +++ b/app/test_common.go @@ -149,7 +149,7 @@ func GenesisStateWithSingleValidator( balances := []banktypes.Balance{ { Address: acc.GetAddress().String(), - Coins: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(100000000000000))), + Coins: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100000000000000)), }, } @@ -212,7 +212,7 @@ func genesisStateWithValSet( } // set validators and delegations currentStakingGenesis := stakingtypes.GetGenesisStateFromAppState(app.appCodec, genesisState) - currentStakingGenesis.Params.BondDenom = "ua0gi" + currentStakingGenesis.Params.BondDenom = chaincfg.AuxiliaryDenom // TODO: stakingGenesis := stakingtypes.NewGenesisState( currentStakingGenesis.Params, @@ -232,13 +232,13 @@ func genesisStateWithValSet( for range delegations { // add delegated tokens to total supply - totalSupply = totalSupply.Add(sdk.NewCoin("ua0gi", bondAmt)) + totalSupply = totalSupply.Add(chaincfg.MakeCoinForAuxiliaryDenom(bondAmt)) } // add bonded amount to bonded pool module account balances = append(balances, banktypes.Balance{ Address: authtypes.NewModuleAddress(stakingtypes.BondedPoolName).String(), - Coins: sdk.Coins{sdk.NewCoin("ua0gi", bondAmt)}, + Coins: sdk.Coins{chaincfg.MakeCoinForAuxiliaryDenom(bondAmt)}, }) bankGenesis := banktypes.NewGenesisState( diff --git a/chaincfg/coin_helper.go b/chaincfg/coin_helper.go new file mode 100644 index 00000000..6f50b282 --- /dev/null +++ b/chaincfg/coin_helper.go @@ -0,0 +1,57 @@ +package chaincfg + +import ( + "fmt" + "math/big" + + "cosmossdk.io/math" + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/shopspring/decimal" +) + +func toBigInt(amount any) *big.Int { + if amount == nil { + return big.NewInt(0) + } + var val *big.Int + switch amount.(type) { + case int: + val = big.NewInt(int64(amount.(int))) + case int32: + val = big.NewInt(int64(amount.(int32))) + case int64: + val = big.NewInt(amount.(int64)) + case string: + var ok bool + val, ok = new(big.Int).SetString(amount.(string), 0) + if !ok { + panic(fmt.Sprintf("invalid amount string: %s", amount.(string))) + } + case math.Int: + val = amount.(math.Int).BigInt() + case *big.Int: + val = amount.(*big.Int) + case float64: + val = decimal.NewFromFloat(amount.(float64)).BigInt() + default: + panic(fmt.Sprintf("invalid amount type: %T", amount)) + } + + return val +} + +func MakeCoinForStandardDenom(amount any) sdk.Coin { + return makeCoin(StandardDenom, toBigInt(amount)) +} + +func MakeCoinForAuxiliaryDenom(amount any) sdk.Coin { + return makeCoin(AuxiliaryDenom, toBigInt(amount)) +} + +func MakeCoinForBaseDenom(amount any) sdk.Coin { + return makeCoin(BaseDenom, toBigInt(amount)) +} + +func makeCoin(denom string, amount *big.Int) sdk.Coin { + return sdk.NewCoin(denom, math.NewIntFromBigInt(amount)) +} diff --git a/chaincfg/denoms.go b/chaincfg/denoms.go new file mode 100644 index 00000000..1ced4532 --- /dev/null +++ b/chaincfg/denoms.go @@ -0,0 +1,37 @@ +package chaincfg + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" +) + +const ( + StandardDenom = "a0gi" + + AuxiliaryDenom = "ua0gi" + + BaseDenom = "neuron" + + BondDenom = BaseDenom + + AuxiliaryDenomUnit = 6 + + BaseDenomUnit = 18 + + AuxiliaryDenomConversionMultiplier = 1e12 + BaseDenomConversionMultiplier = 1e18 +) + +// RegisterDenoms registers the base and auxiliary denominations to the SDK. +func RegisterDenoms() { + if err := sdk.RegisterDenom(StandardDenom, sdk.OneDec()); err != nil { + panic(err) + } + + if err := sdk.RegisterDenom(AuxiliaryDenom, sdk.NewDecWithPrec(1, AuxiliaryDenomUnit)); err != nil { + panic(err) + } + + if err := sdk.RegisterDenom(BaseDenom, sdk.NewDecWithPrec(1, BaseDenomUnit)); err != nil { + panic(err) + } +} diff --git a/chaincfg/denoms_test.go b/chaincfg/denoms_test.go new file mode 100644 index 00000000..5c0fb989 --- /dev/null +++ b/chaincfg/denoms_test.go @@ -0,0 +1,80 @@ +package chaincfg + +import ( + "testing" + + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/stretchr/testify/assert" +) + +func TestRegisterDenoms(t *testing.T) { + RegisterDenoms() + tests := []struct { + name string + from sdk.Coin + targetDenom string + expCoin sdk.Coin + expErr error + }{ + { + "standard to auxiliary", + MakeCoinForStandardDenom(99), + AuxiliaryDenom, + MakeCoinForAuxiliaryDenom(99 * (BaseDenomConversionMultiplier / AuxiliaryDenomConversionMultiplier)), + nil, + }, + { + "auxiliary to standard", + MakeCoinForAuxiliaryDenom(5e7), + StandardDenom, + MakeCoinForStandardDenom(50), + nil, + }, + { + "standard to base", + MakeCoinForStandardDenom(22), + BaseDenom, + MakeCoinForBaseDenom(22 * BaseDenomConversionMultiplier), + nil, + }, + { + "base to standard", + MakeCoinForBaseDenom("97000000000000000000"), + StandardDenom, + MakeCoinForStandardDenom(97), + nil, + }, + { + "auxiliary to base", + MakeCoinForAuxiliaryDenom(33), + BaseDenom, + MakeCoinForBaseDenom(33 * AuxiliaryDenomConversionMultiplier), + nil, + }, + { + "base to auxiliary", + MakeCoinForBaseDenom("770000000000000"), + AuxiliaryDenom, + MakeCoinForAuxiliaryDenom(770000000000000 / AuxiliaryDenomConversionMultiplier), + nil, + }, + } + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + ret, err := sdk.ConvertCoin(tt.from, tt.targetDenom) + if tt.expErr != nil { + if err == nil { + t.Errorf("expErr is not nil, but got nil") + return + } + } else { + if err != nil { + t.Errorf("expErr is nil, but got %v", err) + return + } + } + + assert.Equal(t, tt.expCoin, ret) + }) + } +} diff --git a/cli_test/cli_test.go b/cli_test/cli_test.go index d950b541..8260fa67 100644 --- a/cli_test/cli_test.go +++ b/cli_test/cli_test.go @@ -73,7 +73,7 @@ func TestKvCLIKeysAddRecover(t *testing.T) { f.Cleanup() } -func TestKavaCLIKeysAddRecoverHDPath(t *testing.T) { +func TestZgChainCLIKeysAddRecoverHDPath(t *testing.T) { t.Parallel() f := InitFixtures(t) diff --git a/cmd/0gchaind/root.go b/cmd/0gchaind/root.go index 72cf38f4..78f2593a 100644 --- a/cmd/0gchaind/root.go +++ b/cmd/0gchaind/root.go @@ -72,7 +72,7 @@ func NewRootCmd() *cobra.Command { return err } - customAppTemplate, customAppConfig := servercfg.AppConfig("ua0gi") + customAppTemplate, customAppConfig := servercfg.AppConfig(chaincfg.AuxiliaryDenom) return server.InterceptConfigsPreRunHandler( cmd, diff --git a/go.mod b/go.mod index 3d53e2d5..a5beb433 100644 --- a/go.mod +++ b/go.mod @@ -136,6 +136,7 @@ require ( github.com/klauspost/compress v1.15.15 // indirect github.com/lib/pq v1.10.7 // indirect github.com/libp2p/go-buffer-pool v0.1.0 // indirect + github.com/lukehoban/go-outline v0.0.0-20161011150102-e78556874252 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect github.com/mattn/go-colorable v0.1.13 // indirect @@ -168,6 +169,7 @@ require ( github.com/rs/zerolog v1.29.0 // indirect github.com/sasha-s/go-deadlock v0.3.1 // indirect github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect + github.com/shopspring/decimal v1.4.0 // indirect github.com/spf13/afero v1.9.3 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect github.com/spf13/pflag v1.0.5 // indirect diff --git a/go.sum b/go.sum index bbbbb97a..1c53847a 100644 --- a/go.sum +++ b/go.sum @@ -865,6 +865,8 @@ github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0U github.com/linxGnu/grocksdb v1.8.0 h1:H4L/LhP7GOMf1j17oQAElHgVlbEje2h14A8Tz9cM2BE= github.com/linxGnu/grocksdb v1.8.0/go.mod h1:09CeBborffXhXdNpEcOeZrLKEnRtrZFEpFdPNI9Zjjg= github.com/lucasjones/reggen v0.0.0-20180717132126-cdb49ff09d77/go.mod h1:5ELEyG+X8f+meRWHuqUOewBOhvHkl7M76pdGEansxW4= +github.com/lukehoban/go-outline v0.0.0-20161011150102-e78556874252 h1:D2VNityLQ1srKF+MSllSGQ4NwMci20llMkvVAmU2aCk= +github.com/lukehoban/go-outline v0.0.0-20161011150102-e78556874252/go.mod h1:O9bIJ6BRFBmP3AKTW8cqESVbauSmifSrRB/n9zq6x9Q= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= @@ -1093,6 +1095,8 @@ github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfP github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k= +github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= diff --git a/migrate/utils/periodic_vesting_reset_test.go b/migrate/utils/periodic_vesting_reset_test.go index e0a8ed28..0ec44cd8 100644 --- a/migrate/utils/periodic_vesting_reset_test.go +++ b/migrate/utils/periodic_vesting_reset_test.go @@ -5,6 +5,7 @@ import ( "time" sdkmath "cosmossdk.io/math" + "github.com/0glabs/0g-chain/chaincfg" "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" @@ -41,7 +42,7 @@ func TestResetPeriodVestingAccount_NoVestingPeriods(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_Vested(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -64,7 +65,7 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_Vested(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_Vesting(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -97,7 +98,7 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_Vesting(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_ExactStartTime(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -125,25 +126,25 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_ExactStartTime(t *testing } func TestResetPeriodVestingAccount_MultiplePeriods(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(4e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(4e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +30 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, } @@ -159,36 +160,36 @@ func TestResetPeriodVestingAccount_MultiplePeriods(t *testing.T) { expectedPeriods := []vestingtypes.Period{ { Length: 15 * 24 * 60 * 60, // 15 days - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, { Length: 15 * 24 * 60 * 60, // 15 days - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, } - assert.Equal(t, sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(2e6))), vacc.OriginalVesting, "expected original vesting to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2e6))), vacc.OriginalVesting, "expected original vesting to be updated") assert.Equal(t, newVestingStartTime.Unix(), vacc.StartTime, "expected vesting start time to be updated") assert.Equal(t, expectedEndtime, vacc.EndTime, "expected vesting end time end at last period") assert.Equal(t, expectedPeriods, vacc.VestingPeriods, "expected vesting periods to be updated") } func TestResetPeriodVestingAccount_DelegatedVesting_GreaterThanVesting(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(3e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(3e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, } @@ -198,35 +199,35 @@ func TestResetPeriodVestingAccount_DelegatedVesting_GreaterThanVesting(t *testin newVestingStartTime := vestingStartTime.Add(30 * 24 * time.Hour) ResetPeriodicVestingAccount(vacc, newVestingStartTime) - assert.Equal(t, sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(2e6))), vacc.DelegatedFree, "expected delegated free to be updated") - assert.Equal(t, sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2e6))), vacc.DelegatedFree, "expected delegated free to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be updated") } func TestResetPeriodVestingAccount_DelegatedVesting_LessThanVested(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(3e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(3e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), }, } vacc := createVestingAccount(balance, vestingStartTime, periods) - vacc.TrackDelegation(vestingStartTime, balance, sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6)))) + vacc.TrackDelegation(vestingStartTime, balance, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6)))) newVestingStartTime := vestingStartTime.Add(30 * 24 * time.Hour) ResetPeriodicVestingAccount(vacc, newVestingStartTime) assert.Equal(t, sdk.Coins(nil), vacc.DelegatedFree, "expected delegrated free to be unmodified") - assert.Equal(t, sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be unmodified") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be unmodified") } diff --git a/proto/zgc/evmutil/v1beta1/conversion_pair.proto b/proto/zgc/evmutil/v1beta1/conversion_pair.proto index 3db7f95f..09cf2321 100644 --- a/proto/zgc/evmutil/v1beta1/conversion_pair.proto +++ b/proto/zgc/evmutil/v1beta1/conversion_pair.proto @@ -13,7 +13,7 @@ message ConversionPair { option (gogoproto.goproto_getters) = false; // ERC20 address of the token on the 0gChain EVM - bytes zgChain_erc20_address = 1 [ + bytes zgchain_erc20_address = 1 [ (gogoproto.customname) = "ZgChainERC20Address", (gogoproto.casttype) = "HexBytes" ]; diff --git a/proto/zgc/evmutil/v1beta1/tx.proto b/proto/zgc/evmutil/v1beta1/tx.proto index fc6c2257..8e2943d7 100644 --- a/proto/zgc/evmutil/v1beta1/tx.proto +++ b/proto/zgc/evmutil/v1beta1/tx.proto @@ -44,7 +44,7 @@ message MsgConvertERC20ToCoin { // 0gChain bech32 address that will receive the converted sdk.Coin. string receiver = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; // EVM 0x hex address of the ERC20 contract. - string zgChain_erc20_address = 3 [(gogoproto.customname) = "ZgChainERC20Address"]; + string zgchain_erc20_address = 3 [(gogoproto.customname) = "ZgChainERC20Address"]; // ERC20 token amount to convert. string amount = 4 [ (cosmos_proto.scalar) = "cosmos.Int", diff --git a/tests/e2e/e2e_convert_cosmos_coins_test.go b/tests/e2e/e2e_convert_cosmos_coins_test.go index 9acb9309..7aee4a3c 100644 --- a/tests/e2e/e2e_convert_cosmos_coins_test.go +++ b/tests/e2e/e2e_convert_cosmos_coins_test.go @@ -12,6 +12,7 @@ import ( ethtypes "github.com/ethereum/go-ethereum/core/types" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/testutil" "github.com/0glabs/0g-chain/tests/util" evmutiltypes "github.com/0glabs/0g-chain/x/evmutil/types" @@ -63,7 +64,7 @@ func (suite *IntegrationTestSuite) setupAccountWithCosmosCoinERC20Balance( tx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&msg}, GasLimit: 4e5, - FeeAmount: sdk.NewCoins(a0gi(big.NewInt(400))), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(400)), Data: "converting sdk coin to erc20", } res := user.SignAndBroadcastZgChainTx(tx) @@ -102,7 +103,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoinsToFromERC20() { tx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertToErc20Msg}, GasLimit: 2e6, - FeeAmount: sdk.NewCoins(a0gi(big.NewInt(2000))), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(2000)), Data: "converting sdk coin to erc20", } res := user.SignAndBroadcastZgChainTx(tx) @@ -144,7 +145,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoinsToFromERC20() { tx = util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertFromErc20Msg}, GasLimit: 2e5, - FeeAmount: sdk.NewCoins(a0gi(big.NewInt(200))), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), Data: "converting erc20 to cosmos coin", } res = user.SignAndBroadcastZgChainTx(tx) @@ -183,7 +184,7 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() { user, suite.ZgChain, 2e6, - sdk.NewCoins(a0gi(big.NewInt(1e4))), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), []sdk.Msg{&convertToErc20Msg}, "this is a memo", ).GetTx() @@ -237,7 +238,7 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() { user, suite.ZgChain, 2e5, - sdk.NewCoins(a0gi(big.NewInt(200))), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), []sdk.Msg{&convertFromErc20Msg}, "", ).GetTx() @@ -331,7 +332,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoins_ERC20Magic() { "cosmo-coin-converter-complex-alice", initialAliceAmount, ) - gasMoney := sdk.NewCoins(a0gi(big.NewInt(1e5))) + gasMoney := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e5)) bob := suite.ZgChain.NewFundedAccount("cosmo-coin-converter-complex-bob", gasMoney) amount := big.NewInt(1e3) // test assumes this is half of alice's balance. @@ -412,7 +413,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoins_ERC20Magic() { convertTx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertMsg}, GasLimit: 2e5, - FeeAmount: sdk.NewCoins(a0gi(big.NewInt(200))), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), Data: "bob converts his new erc20 to an sdk.Coin", } convertRes := bob.SignAndBroadcastZgChainTx(convertTx) diff --git a/tests/e2e/e2e_evm_contracts_test.go b/tests/e2e/e2e_evm_contracts_test.go index b6215291..1a3b8793 100644 --- a/tests/e2e/e2e_evm_contracts_test.go +++ b/tests/e2e/e2e_evm_contracts_test.go @@ -11,7 +11,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" "github.com/0glabs/0g-chain/app" - + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/contracts/greeter" "github.com/0glabs/0g-chain/tests/util" ) @@ -20,7 +20,7 @@ func (suite *IntegrationTestSuite) TestEthCallToGreeterContract() { // this test manipulates state of the Greeter contract which means other tests shouldn't use it. // setup funded account to interact with contract - user := suite.ZgChain.NewFundedAccount("greeter-contract-user", sdk.NewCoins(a0gi(big.NewInt(1e6)))) + user := suite.ZgChain.NewFundedAccount("greeter-contract-user", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e6))) greeterAddr := suite.ZgChain.ContractAddrs["greeter"] contract, err := greeter.NewGreeter(greeterAddr, suite.ZgChain.EvmClient) @@ -63,12 +63,12 @@ func (suite *IntegrationTestSuite) TestEthCallToErc20() { func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // create new funded account - sender := suite.ZgChain.NewFundedAccount("eip712-msgSend", sdk.NewCoins(a0gi(big.NewInt(2e4)))) + sender := suite.ZgChain.NewFundedAccount("eip712-msgSend", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(2e4))) receiver := app.RandomAddress() - // setup message for sending some a0gi to random receiver + // setup message for sending some auxiliary denom to random receiver msgs := []sdk.Msg{ - banktypes.NewMsgSend(sender.SdkAddress, receiver, sdk.NewCoins(a0gi(big.NewInt(1e3)))), + banktypes.NewMsgSend(sender.SdkAddress, receiver, sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e3))), } // create tx @@ -76,7 +76,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { sender, suite.ZgChain, 1e6, - sdk.NewCoins(a0gi(big.NewInt(1e4))), + sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), msgs, "this is a memo", ).GetTx() @@ -95,10 +95,10 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { _, err = util.WaitForSdkTxCommit(suite.ZgChain.Tx, res.TxResponse.TxHash, 6*time.Second) suite.NoError(err) - // check that the message was processed & the a0gi is transferred. + // check that the message was processed & the auxiliary denom is transferred. balRes, err := suite.ZgChain.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{ Address: receiver.String(), - Denom: "ua0gi", + Denom: chaincfg.AuxiliaryDenom, }) suite.NoError(err) suite.Equal(sdk.NewInt(1e3), balRes.Balance.Amount) @@ -113,7 +113,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // sdkDenom := suite.DeployedErc20.CosmosDenom // // create new funded account -// depositor := suite.ZgChain.NewFundedAccount("eip712-lend-depositor", sdk.NewCoins(a0gi(big.NewInt(1e5))) +// depositor := suite.ZgChain.NewFundedAccount("eip712-lend-depositor", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e5))) // // give them erc20 balance to deposit // fundRes := suite.FundZgChainErc20Balance(depositor.EvmAddress, amount.BigInt()) // suite.NoError(fundRes.Err) @@ -143,7 +143,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // depositor, // suite.ZgChain, // 1e6, -// sdk.NewCoins(a0gi(big.NewInt(1e4)), +// sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), // msgs, // "doing the USDT Earn workflow! erc20 -> sdk.Coin -> USDX hard deposit", // ).GetTx() @@ -189,7 +189,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // withdrawAndConvertBack := util.ZgChainMsgRequest{ // Msgs: []sdk.Msg{&withdraw, &convertBack}, // GasLimit: 1e6, -// FeeAmount: sdk.NewCoins(a0gi(big.NewInt(1000)), +// FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1000)), // Data: "withdrawing from mint & converting back to erc20", // } // lastRes := depositor.SignAndBroadcastZgChainTx(withdrawAndConvertBack) diff --git a/tests/e2e/e2e_min_fees_test.go b/tests/e2e/e2e_min_fees_test.go index 8516f2ba..1a44bebe 100644 --- a/tests/e2e/e2e_min_fees_test.go +++ b/tests/e2e/e2e_min_fees_test.go @@ -13,6 +13,7 @@ import ( ethtypes "github.com/ethereum/go-ethereum/core/types" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/util" ) @@ -23,10 +24,10 @@ func (suite *IntegrationTestSuite) TestEthGasPriceReturnsMinFee() { minGasPrices, err := getMinFeeFromAppToml(util.ZgChainHomePath()) suite.NoError(err) - // evm uses neuron, get neuron min fee - evmMinGas := minGasPrices.AmountOf("neuron").TruncateInt().BigInt() + // evm uses base denom, get base denom min fee + evmMinGas := minGasPrices.AmountOf(chaincfg.BaseDenom).TruncateInt().BigInt() - // returns eth_gasPrice, units in a0gi + // returns eth_gasPrice, units in auxiliary denom gasPrice, err := suite.ZgChain.EvmClient.SuggestGasPrice(context.Background()) suite.NoError(err) @@ -37,13 +38,13 @@ func (suite *IntegrationTestSuite) TestEvmRespectsMinFee() { suite.SkipIfKvtoolDisabled() // setup sender & receiver - sender := suite.ZgChain.NewFundedAccount("evm-min-fee-test-sender", sdk.NewCoins(a0gi(big.NewInt(1e3)))) + sender := suite.ZgChain.NewFundedAccount("evm-min-fee-test-sender", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e3))) randoReceiver := util.SdkToEvmAddress(app.RandomAddress()) // get min gas price for evm (from app.toml) minFees, err := getMinFeeFromAppToml(util.ZgChainHomePath()) suite.NoError(err) - minGasPrice := minFees.AmountOf("neuron").TruncateInt() + minGasPrice := minFees.AmountOf(chaincfg.BaseDenom).TruncateInt() // attempt tx with less than min gas price (min fee - 1) tooLowGasPrice := minGasPrice.Sub(sdk.OneInt()).BigInt() diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go index 553d1912..da977e26 100644 --- a/tests/e2e/e2e_test.go +++ b/tests/e2e/e2e_test.go @@ -19,18 +19,15 @@ import ( emtypes "github.com/evmos/ethermint/types" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/testutil" "github.com/0glabs/0g-chain/tests/util" ) var ( - minEvmGasPrice = big.NewInt(1e10) // neuron + minEvmGasPrice = big.NewInt(1e10) // base denom ) -func a0gi(amt *big.Int) sdk.Coin { - return sdk.NewCoin("ua0gi", sdkmath.NewIntFromBigInt(amt)) -} - type IntegrationTestSuite struct { testutil.E2eTestSuite } @@ -57,7 +54,7 @@ func (suite *IntegrationTestSuite) TestChainID() { // example test that funds a new account & queries its balance func (suite *IntegrationTestSuite) TestFundedAccount() { - funds := a0gi(big.NewInt(1e3)) + funds := chaincfg.MakeCoinForAuxiliaryDenom(1e3) acc := suite.ZgChain.NewFundedAccount("example-acc", sdk.NewCoins(funds)) // check that the sdk & evm signers are for the same account @@ -66,21 +63,21 @@ func (suite *IntegrationTestSuite) TestFundedAccount() { // check balance via SDK query res, err := suite.ZgChain.Bank.Balance(context.Background(), banktypes.NewQueryBalanceRequest( - acc.SdkAddress, "ua0gi", + acc.SdkAddress, chaincfg.AuxiliaryDenom, )) suite.NoError(err) suite.Equal(funds, *res.Balance) // check balance via EVM query - neuronBal, err := suite.ZgChain.EvmClient.BalanceAt(context.Background(), acc.EvmAddress, nil) + baseDenomBal, err := suite.ZgChain.EvmClient.BalanceAt(context.Background(), acc.EvmAddress, nil) suite.NoError(err) - suite.Equal(funds.Amount.MulRaw(1e12).BigInt(), neuronBal) + suite.Equal(funds.Amount.MulRaw(1e12).BigInt(), baseDenomBal) } // example test that signs & broadcasts an EVM tx func (suite *IntegrationTestSuite) TestTransferOverEVM() { // fund an account that can perform the transfer - initialFunds := a0gi(big.NewInt(1e6)) // 1 A0GI + initialFunds := chaincfg.MakeCoinForAuxiliaryDenom(1e6) // 1 (auxiliary denom) acc := suite.ZgChain.NewFundedAccount("evm-test-transfer", sdk.NewCoins(initialFunds)) // get a rando account to send 0gchain to @@ -92,10 +89,10 @@ func (suite *IntegrationTestSuite) TestTransferOverEVM() { suite.NoError(err) suite.Equal(uint64(0), nonce) // sanity check. the account should have no prior txs - // transfer a0gi over EVM - a0giToTransfer := big.NewInt(1e17) // .1 A0GI; neuron has 18 decimals. + // transfer auxiliary denom over EVM + AuxiliaryDenomToTransfer := big.NewInt(1e17) // .1 (auxiliary denom); base denom has 18 decimals. req := util.EvmTxRequest{ - Tx: ethtypes.NewTransaction(nonce, to, a0giToTransfer, 1e5, minEvmGasPrice, nil), + Tx: ethtypes.NewTransaction(nonce, to, AuxiliaryDenomToTransfer, 1e5, minEvmGasPrice, nil), Data: "any ol' data to track this through the system", } res := acc.SignAndBroadcastEvmTx(req) @@ -103,31 +100,31 @@ func (suite *IntegrationTestSuite) TestTransferOverEVM() { suite.Equal(ethtypes.ReceiptStatusSuccessful, res.Receipt.Status) // evm txs refund unused gas. so to know the expected balance we need to know how much gas was used. - a0giUsedForGas := sdkmath.NewIntFromBigInt(minEvmGasPrice). + AuxiliaryDenomUsedForGas := sdkmath.NewIntFromBigInt(minEvmGasPrice). Mul(sdkmath.NewIntFromUint64(res.Receipt.GasUsed)). - QuoRaw(1e12) // convert neuron to a0gi + QuoRaw(1e12) // convert base denom to auxiliary denom - // expect (9 - gas used) A0GI remaining in account. + // expect (9 - gas used) (auxiliary denom) remaining in account. balance := suite.ZgChain.QuerySdkForBalances(acc.SdkAddress) - suite.Equal(sdkmath.NewInt(9e5).Sub(a0giUsedForGas), balance.AmountOf("ua0gi")) + suite.Equal(sdkmath.NewInt(9e5).Sub(AuxiliaryDenomUsedForGas), balance.AmountOf(chaincfg.AuxiliaryDenom)) } -// TestIbcTransfer transfers A0GI from the primary 0g-chain (suite.ZgChain) to the ibc chain (suite.Ibc). +// TestIbcTransfer transfers (auxiliary denom) from the primary 0g-chain (suite.ZgChain) to the ibc chain (suite.Ibc). // Note that because the IBC chain also runs 0g-chain's binary, this tests both the sending & receiving. func (suite *IntegrationTestSuite) TestIbcTransfer() { suite.SkipIfIbcDisabled() // ARRANGE // setup 0g-chain account - funds := a0gi(big.NewInt(1e5)) // .1 A0GI + funds := chaincfg.MakeCoinForAuxiliaryDenom(1e5) // .1 (auxiliary denom) zgChainAcc := suite.ZgChain.NewFundedAccount("ibc-transfer-0g-side", sdk.NewCoins(funds)) // setup ibc account ibcAcc := suite.Ibc.NewFundedAccount("ibc-transfer-ibc-side", sdk.NewCoins()) gasLimit := int64(2e5) - fee := a0gi(big.NewInt(200)) + fee := chaincfg.MakeCoinForAuxiliaryDenom(200) - fundsToSend := a0gi(big.NewInt(5e4)) // .005 A0GI + fundsToSend := chaincfg.MakeCoinForAuxiliaryDenom(5e4) // .005 (auxiliary denom) transferMsg := ibctypes.NewMsgTransfer( testutil.IbcPort, testutil.IbcChannel, @@ -157,7 +154,7 @@ func (suite *IntegrationTestSuite) TestIbcTransfer() { // the balance should be deducted from 0g-chain account suite.Eventually(func() bool { balance := suite.ZgChain.QuerySdkForBalances(zgChainAcc.SdkAddress) - return balance.AmountOf("ua0gi").Equal(expectedSrcBalance.Amount) + return balance.AmountOf(chaincfg.AuxiliaryDenom).Equal(expectedSrcBalance.Amount) }, 10*time.Second, 1*time.Second) // expect the balance to be transferred to the ibc chain! diff --git a/tests/e2e/e2e_upgrade_gov_and_authz_test.go b/tests/e2e/e2e_upgrade_gov_and_authz_test.go index 251b1955..5ee3081e 100644 --- a/tests/e2e/e2e_upgrade_gov_and_authz_test.go +++ b/tests/e2e/e2e_upgrade_gov_and_authz_test.go @@ -3,7 +3,6 @@ package e2e_test import ( "context" "fmt" - "math/big" "time" sdk "github.com/cosmos/cosmos-sdk/types" @@ -12,6 +11,7 @@ import ( banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/tests/e2e/testutil" "github.com/0glabs/0g-chain/tests/util" ) @@ -101,13 +101,13 @@ func (suite *IntegrationTestSuite) TestModuleAccountGovTransfers() { name: "transfer from community to kavadist for incentive rewards", sender: communityAcc, receiver: zgChainDistAcc, - amount: a0gi(big.NewInt(100)), + amount: chaincfg.MakeCoinForAuxiliaryDenom(100), }, { name: "transfer from kavadist to community", sender: zgChainDistAcc, receiver: communityAcc, - amount: a0gi(big.NewInt(50)), + amount: chaincfg.MakeCoinForAuxiliaryDenom(50), }, } @@ -153,7 +153,7 @@ func (suite *IntegrationTestSuite) submitAndPassProposal(msgs []sdk.Msg) int64 { suite.NoError(err) gasLimit := 1e6 - fee := sdk.NewCoin("neuron", sdk.NewInt(1e15)) + fee := chaincfg.MakeCoinForBaseDenom(1e15) req := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{proposalMsg}, diff --git a/tests/e2e/runner/chain.go b/tests/e2e/runner/chain.go index 2a0c899f..6f4b0029 100644 --- a/tests/e2e/runner/chain.go +++ b/tests/e2e/runner/chain.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" + "github.com/0glabs/0g-chain/chaincfg" "github.com/ethereum/go-ethereum/ethclient" rpchttpclient "github.com/tendermint/tendermint/rpc/client/http" "google.golang.org/grpc" @@ -81,7 +82,7 @@ var ( EvmRpcUrl: "http://localhost:8545", ChainId: "0gchainlocalnet_8888-1", - StakingDenom: "ua0gi", + StakingDenom: chaincfg.AuxiliaryDenom, } kvtoolIbcChain = ChainDetails{ RpcUrl: "http://localhost:26658", diff --git a/tests/e2e/testutil/account.go b/tests/e2e/testutil/account.go index 95025afd..9fc8fe83 100644 --- a/tests/e2e/testutil/account.go +++ b/tests/e2e/testutil/account.go @@ -262,7 +262,7 @@ func (a *SigningAccount) BankSend(to sdk.AccAddress, amount sdk.Coins) util.ZgCh util.ZgChainMsgRequest{ Msgs: []sdk.Msg{banktypes.NewMsgSend(a.SdkAddress, to, amount)}, GasLimit: 2e5, // 200,000 gas - FeeAmount: sdk.NewCoins(sdk.NewCoin(a.gasDenom, sdkmath.NewInt(200))), // assume min gas price of .001a0gi + FeeAmount: sdk.NewCoins(sdk.NewCoin(a.gasDenom, sdkmath.NewInt(200))), // assume min gas price of .001 auxiliary denom Data: fmt.Sprintf("sending %s to %s", amount, to), }, ) diff --git a/x/bep3/client/cli/query.go b/x/bep3/client/cli/query.go index 98bd924b..6641ab6c 100644 --- a/x/bep3/client/cli/query.go +++ b/x/bep3/client/cli/query.go @@ -106,7 +106,7 @@ func QueryCalcSwapIDCmd(queryRoute string) *cobra.Command { return &cobra.Command{ Use: "calc-swapid [random-number-hash] [sender] [sender-other-chain]", Short: "calculate swap ID for the given random number hash, sender, and sender other chain", - Example: "bep3 calc-swapid 0677bd8a303dd981810f34d8e5cc6507f13b391899b84d3c1be6c6045a17d747 kava1l0xsq2z7gqd7yly0g40y5836g0appumark77ny bnb1ud3q90r98l3mhd87kswv3h8cgrymzeljct8qn7", + Example: "bep3 calc-swapid 0677bd8a303dd981810f34d8e5cc6507f13b391899b84d3c1be6c6045a17d747 0g1l0xsq2z7gqd7yly0g40y5836g0appumark77ny bnb1ud3q90r98l3mhd87kswv3h8cgrymzeljct8qn7", Args: cobra.MinimumNArgs(3), RunE: func(cmd *cobra.Command, args []string) error { clientCtx, err := client.GetClientQueryContext(cmd) @@ -220,7 +220,7 @@ func QueryGetAtomicSwapsCmd(queryRoute string) *cobra.Command { Short: "query atomic swaps with optional filters", Long: strings.TrimSpace(`Query for all paginated atomic swaps that match optional filters: Example: -$ kvcli q bep3 swaps --involve=kava1l0xsq2z7gqd7yly0g40y5836g0appumark77ny +$ kvcli q bep3 swaps --involve=0g1l0xsq2z7gqd7yly0g40y5836g0appumark77ny $ kvcli q bep3 swaps --expiration=280 $ kvcli q bep3 swaps --status=(Open|Completed|Expired) $ kvcli q bep3 swaps --direction=(Incoming|Outgoing) diff --git a/x/bep3/keeper/msg_server_test.go b/x/bep3/keeper/msg_server_test.go index 02e216f0..df2fb485 100644 --- a/x/bep3/keeper/msg_server_test.go +++ b/x/bep3/keeper/msg_server_test.go @@ -12,6 +12,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/bep3" "github.com/0glabs/0g-chain/x/bep3/keeper" "github.com/0glabs/0g-chain/x/bep3/types" @@ -35,7 +36,7 @@ func (suite *MsgServerTestSuite) SetupTest() { // Set up genesis state and initialize _, addrs := app.GeneratePrivKeyAddressPairs(3) - coins := sdk.NewCoins(c("bnb", 10000000000), c("a0gi", 10000)) + coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.AuxiliaryDenom, 10000)) authGS := app.NewFundedGenStateWithSameCoins(tApp.AppCodec(), coins, addrs) tApp.InitializeFromGenesisStates(authGS, NewBep3GenStateMulti(cdc, addrs[0])) diff --git a/x/bep3/keeper/querier_test.go b/x/bep3/keeper/querier_test.go index bd03935c..240ebcd3 100644 --- a/x/bep3/keeper/querier_test.go +++ b/x/bep3/keeper/querier_test.go @@ -16,6 +16,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/bep3/keeper" "github.com/0glabs/0g-chain/x/bep3/types" ) @@ -41,7 +42,7 @@ func (suite *QuerierTestSuite) SetupTest() { // Set up auth GenesisState _, addrs := app.GeneratePrivKeyAddressPairs(11) - coins := sdk.NewCoins(c("bnb", 10000000000), c("a0gi", 10000)) + coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.AuxiliaryDenom, 10000)) authGS := app.NewFundedGenStateWithSameCoins(tApp.AppCodec(), coins, addrs) tApp.InitializeFromGenesisStates( diff --git a/x/bep3/types/genesis_test.go b/x/bep3/types/genesis_test.go index eecbde98..de63e0bb 100644 --- a/x/bep3/types/genesis_test.go +++ b/x/bep3/types/genesis_test.go @@ -20,7 +20,7 @@ type GenesisTestSuite struct { } func (suite *GenesisTestSuite) SetupTest() { - coin := sdk.NewCoin("a0gi", sdk.OneInt()) + coin := chaincfg.MakeCoinForAuxiliaryDenom(1) suite.swaps = atomicSwaps(10) supply := types.NewAssetSupply(coin, coin, coin, coin, time.Duration(0)) diff --git a/x/bep3/types/supply_test.go b/x/bep3/types/supply_test.go index 35bd5e9f..b88e5960 100644 --- a/x/bep3/types/supply_test.go +++ b/x/bep3/types/supply_test.go @@ -5,12 +5,13 @@ import ( "time" sdkmath "cosmossdk.io/math" + "github.com/0glabs/0g-chain/chaincfg" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" ) func TestAssetSupplyValidate(t *testing.T) { - coin := sdk.NewCoin("a0gi", sdk.OneInt()) + coin := chaincfg.MakeCoinForAuxiliaryDenom(1) invalidCoin := sdk.Coin{Denom: "Invalid Denom", Amount: sdkmath.NewInt(-1)} testCases := []struct { msg string diff --git a/x/committee/keeper/msg_server_test.go b/x/committee/keeper/msg_server_test.go index 4a05238d..655b441d 100644 --- a/x/committee/keeper/msg_server_test.go +++ b/x/committee/keeper/msg_server_test.go @@ -6,12 +6,12 @@ import ( "github.com/stretchr/testify/suite" - sdkmath "cosmossdk.io/math" sdk "github.com/cosmos/cosmos-sdk/types" upgradetypes "github.com/cosmos/cosmos-sdk/x/upgrade/types" tmproto "github.com/tendermint/tendermint/proto/tendermint/types" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/committee/keeper" "github.com/0glabs/0g-chain/x/committee/types" ) @@ -61,7 +61,7 @@ func (suite *MsgServerTestSuite) SetupTest() { []types.Proposal{}, []types.Vote{}, ) - suite.communityPoolAmt = sdk.NewCoins(sdk.NewCoin("neuron", sdkmath.NewInt(1000000000000000))) + suite.communityPoolAmt = sdk.NewCoins(chaincfg.MakeCoinForBaseDenom(1000000000000000)) suite.app.InitializeFromGenesisStates( app.GenesisState{types.ModuleName: cdc.MustMarshalJSON(testGenesis)}, // TODO: not used? diff --git a/x/committee/types/committee.go b/x/committee/types/committee.go index 23812343..0dc30f91 100644 --- a/x/committee/types/committee.go +++ b/x/committee/types/committee.go @@ -4,6 +4,7 @@ import ( fmt "fmt" "time" + "github.com/0glabs/0g-chain/chaincfg" "github.com/cosmos/cosmos-sdk/codec" codectypes "github.com/cosmos/cosmos-sdk/codec/types" sdk "github.com/cosmos/cosmos-sdk/types" @@ -18,7 +19,7 @@ const ( BaseCommitteeType = "0g/BaseCommittee" MemberCommitteeType = "0g/MemberCommittee" // Committee is composed of member addresses that vote to enact proposals within their permissions TokenCommitteeType = "0g/TokenCommittee" // Committee is composed of token holders with voting power determined by total token balance - BondDenom = "neuron" + BondDenom = chaincfg.BondDenom ) // Marshal needed for protobuf compatibility. diff --git a/x/council/v1/client/cli/tx.go b/x/council/v1/client/cli/tx.go index 31f12d0e..a81cbe2d 100644 --- a/x/council/v1/client/cli/tx.go +++ b/x/council/v1/client/cli/tx.go @@ -171,10 +171,10 @@ func NewVoteCmd() *cobra.Command { tokens = val.GetTokens() } } - // the denom of token is neuron, need to convert to A0GI - a0gi := tokens.Quo(sdk.NewInt(1_000_000_000_000_000_000)) + // the denom of token is base denom, need to convert to A0GI + a0giTokenCnt := tokens.Quo(sdk.NewInt(1_000_000_000_000_000_000)) // 1_000 0AGI token / vote - numBallots := a0gi.Quo(sdk.NewInt(1_000)).Uint64() + numBallots := a0giTokenCnt.Quo(sdk.NewInt(1_000)).Uint64() ballots := make([]*types.Ballot, numBallots) for i := range ballots { ballotID := uint64(i) diff --git a/x/council/v1/types/codec.go b/x/council/v1/types/codec.go index fd2b1071..7a2c2031 100644 --- a/x/council/v1/types/codec.go +++ b/x/council/v1/types/codec.go @@ -21,8 +21,8 @@ var ( const ( // Amino names - registerName = "evmos/council/MsgRegister" - voteName = "evmos/council/MsgVote" + registerName = "0g/council/MsgRegister" + voteName = "0g/council/MsgVote" ) // NOTE: This is required for the GetSignBytes function diff --git a/x/evmutil/keeper/bank_keeper.go b/x/evmutil/keeper/bank_keeper.go index b176c6d1..40f7d4e8 100644 --- a/x/evmutil/keeper/bank_keeper.go +++ b/x/evmutil/keeper/bank_keeper.go @@ -9,64 +9,57 @@ import ( sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" evmtypes "github.com/evmos/ethermint/x/evm/types" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/types" ) -const ( - // EvmDenom is the gas denom used by the evm - EvmDenom = "neuron" - - // CosmosDenom is the gas denom used by the 0g-chain app - CosmosDenom = "ua0gi" -) - -// ConversionMultiplier is the conversion multiplier between neuron and ua0gi -var ConversionMultiplier = sdkmath.NewInt(1_000_000_000_000) +// ConversionMultiplier is the conversion multiplier between base denom and auxiliary denom +var ConversionMultiplier = sdkmath.NewInt(chaincfg.AuxiliaryDenomConversionMultiplier) var _ evmtypes.BankKeeper = EvmBankKeeper{} // EvmBankKeeper is a BankKeeper wrapper for the x/evm module to allow the use -// of the 18 decimal neuron coin on the evm. -// x/evm consumes gas and send coins by minting and burning neuron coins in its module +// of the 18 decimal base denom coin on the evm. +// x/evm consumes gas and send coins by minting and burning base denom coins in its module // account and then sending the funds to the target account. -// This keeper uses both the a0gi coin and a separate neuron balance to manage the +// This keeper uses both the auxiliary denom coin and a separate base denom balance to manage the // extra percision needed by the evm. type EvmBankKeeper struct { - neuronKeeper Keeper - bk types.BankKeeper - ak types.AccountKeeper + baseDenomKeeper Keeper + bk types.BankKeeper + ak types.AccountKeeper } -func NewEvmBankKeeper(neuronKeeper Keeper, bk types.BankKeeper, ak types.AccountKeeper) EvmBankKeeper { +func NewEvmBankKeeper(baseKeeper Keeper, bk types.BankKeeper, ak types.AccountKeeper) EvmBankKeeper { return EvmBankKeeper{ - neuronKeeper: neuronKeeper, - bk: bk, - ak: ak, + baseDenomKeeper: baseKeeper, + bk: bk, + ak: ak, } } -// GetBalance returns the total **spendable** balance of neuron for a given account by address. +// GetBalance returns the total **spendable** balance of base denom for a given account by address. func (k EvmBankKeeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin { - if denom != EvmDenom { - panic(fmt.Errorf("only evm denom %s is supported by EvmBankKeeper", EvmDenom)) + if denom != chaincfg.BaseDenom { + panic(fmt.Errorf("only evm denom %s is supported by EvmBankKeeper", chaincfg.BaseDenom)) } spendableCoins := k.bk.SpendableCoins(ctx, addr) - cosmosDenomFromBank := spendableCoins.AmountOf(CosmosDenom) - evmDenomFromBank := spendableCoins.AmountOf(EvmDenom) - evmDenomFromEvmBank := k.neuronKeeper.GetBalance(ctx, addr) + auxiliaryDenomFromBank := spendableCoins.AmountOf(chaincfg.AuxiliaryDenom) + baseDenomFromBank := spendableCoins.AmountOf(chaincfg.BaseDenom) + baseDenomFromEvmBank := k.baseDenomKeeper.GetBalance(ctx, addr) var total sdkmath.Int - if cosmosDenomFromBank.IsPositive() { - total = cosmosDenomFromBank.Mul(ConversionMultiplier).Add(evmDenomFromBank).Add(evmDenomFromEvmBank) + if auxiliaryDenomFromBank.IsPositive() { + total = auxiliaryDenomFromBank.Mul(ConversionMultiplier).Add(baseDenomFromBank).Add(baseDenomFromEvmBank) } else { - total = evmDenomFromBank.Add(evmDenomFromEvmBank) + total = baseDenomFromBank.Add(baseDenomFromEvmBank) } - return sdk.NewCoin(EvmDenom, total) + return sdk.NewCoin(chaincfg.BaseDenom, total) } -// SendCoins transfers neuron coins from a AccAddress to an AccAddress. +// SendCoins transfers base denom coins from a AccAddress to an AccAddress. func (k EvmBankKeeper) SendCoins(ctx sdk.Context, senderAddr sdk.AccAddress, recipientAddr sdk.AccAddress, amt sdk.Coins) error { // SendCoins method is not used by the evm module, but is required by the // evmtypes.BankKeeper interface. This must be updated if the evm module @@ -74,148 +67,148 @@ func (k EvmBankKeeper) SendCoins(ctx sdk.Context, senderAddr sdk.AccAddress, rec panic("not implemented") } -// SendCoinsFromModuleToAccount transfers neuron coins from a ModuleAccount to an AccAddress. +// SendCoinsFromModuleToAccount transfers base denom coins from a ModuleAccount to an AccAddress. // It will panic if the module account does not exist. An error is returned if the recipient // address is black-listed or if sending the tokens fails. func (k EvmBankKeeper) SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error { - ua0gi, neuron, err := SplitNeuronCoins(amt) + auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) if err != nil { return err } - if ua0gi.Amount.IsPositive() { - if err := k.bk.SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, sdk.NewCoins(ua0gi)); err != nil { + if auxiliaryDenomCoin.Amount.IsPositive() { + if err := k.bk.SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { return err } } senderAddr := k.GetModuleAddress(senderModule) - if err := k.ConvertOneUa0giToNeuronIfNeeded(ctx, senderAddr, neuron); err != nil { + if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, senderAddr, baseDemonCnt); err != nil { return err } - if err := k.neuronKeeper.SendBalance(ctx, senderAddr, recipientAddr, neuron); err != nil { + if err := k.baseDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, baseDemonCnt); err != nil { return err } - return k.ConvertNeuronToUa0gi(ctx, recipientAddr) + return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) } -// SendCoinsFromAccountToModule transfers neuron coins from an AccAddress to a ModuleAccount. +// SendCoinsFromAccountToModule transfers base denom coins from an AccAddress to a ModuleAccount. // It will panic if the module account does not exist. func (k EvmBankKeeper) SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error { - ua0gi, neuronNeeded, err := SplitNeuronCoins(amt) + auxiliaryDenomCoin, baseDenomCnt, err := SplitBaseDenomCoins(amt) if err != nil { return err } - if ua0gi.IsPositive() { - if err := k.bk.SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, sdk.NewCoins(ua0gi)); err != nil { + if auxiliaryDenomCoin.IsPositive() { + if err := k.bk.SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { return err } } - if err := k.ConvertOneUa0giToNeuronIfNeeded(ctx, senderAddr, neuronNeeded); err != nil { + if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, senderAddr, baseDenomCnt); err != nil { return err } recipientAddr := k.GetModuleAddress(recipientModule) - if err := k.neuronKeeper.SendBalance(ctx, senderAddr, recipientAddr, neuronNeeded); err != nil { + if err := k.baseDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, baseDenomCnt); err != nil { return err } - return k.ConvertNeuronToUa0gi(ctx, recipientAddr) + return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) } -// MintCoins mints neuron coins by minting the equivalent a0gi coins and any remaining neuron coins. +// MintCoins mints base denom coins by minting the equivalent auxiliary denom coins and any remaining base denom coins. // It will panic if the module account does not exist or is unauthorized. func (k EvmBankKeeper) MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error { - ua0gi, neuron, err := SplitNeuronCoins(amt) + auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) if err != nil { return err } - if ua0gi.IsPositive() { - if err := k.bk.MintCoins(ctx, moduleName, sdk.NewCoins(ua0gi)); err != nil { + if auxiliaryDenomCoin.IsPositive() { + if err := k.bk.MintCoins(ctx, moduleName, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { return err } } recipientAddr := k.GetModuleAddress(moduleName) - if err := k.neuronKeeper.AddBalance(ctx, recipientAddr, neuron); err != nil { + if err := k.baseDenomKeeper.AddBalance(ctx, recipientAddr, baseDemonCnt); err != nil { return err } - return k.ConvertNeuronToUa0gi(ctx, recipientAddr) + return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) } -// BurnCoins burns neuron coins by burning the equivalent a0gi coins and any remaining neuron coins. +// BurnCoins burns base denom coins by burning the equivalent auxiliary denom coins and any remaining base denom coins. // It will panic if the module account does not exist or is unauthorized. func (k EvmBankKeeper) BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error { - ua0gi, neuron, err := SplitNeuronCoins(amt) + auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) if err != nil { return err } - if ua0gi.IsPositive() { - if err := k.bk.BurnCoins(ctx, moduleName, sdk.NewCoins(ua0gi)); err != nil { + if auxiliaryDenomCoin.IsPositive() { + if err := k.bk.BurnCoins(ctx, moduleName, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { return err } } moduleAddr := k.GetModuleAddress(moduleName) - if err := k.ConvertOneUa0giToNeuronIfNeeded(ctx, moduleAddr, neuron); err != nil { + if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, moduleAddr, baseDemonCnt); err != nil { return err } - return k.neuronKeeper.RemoveBalance(ctx, moduleAddr, neuron) + return k.baseDenomKeeper.RemoveBalance(ctx, moduleAddr, baseDemonCnt) } -// ConvertOneUa0giToNeuronIfNeeded converts 1 a0gi to neuron for an address if -// its neuron balance is smaller than the neuronNeeded amount. -func (k EvmBankKeeper) ConvertOneUa0giToNeuronIfNeeded(ctx sdk.Context, addr sdk.AccAddress, neuronNeeded sdkmath.Int) error { - neuronBal := k.neuronKeeper.GetBalance(ctx, addr) - if neuronBal.GTE(neuronNeeded) { +// ConvertOneauxiliaryDenomToBaseDenomIfNeeded converts 1 auxiliary denom to base denom for an address if +// its base denom balance is smaller than the baseDenomCnt amount. +func (k EvmBankKeeper) ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx sdk.Context, addr sdk.AccAddress, baseDenomCnt sdkmath.Int) error { + baseDenomBal := k.baseDenomKeeper.GetBalance(ctx, addr) + if baseDenomBal.GTE(baseDenomCnt) { return nil } - ua0giToStore := sdk.NewCoins(sdk.NewCoin(CosmosDenom, sdk.OneInt())) - if err := k.bk.SendCoinsFromAccountToModule(ctx, addr, types.ModuleName, ua0giToStore); err != nil { + auxiliaryDenomToStore := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdk.OneInt())) + if err := k.bk.SendCoinsFromAccountToModule(ctx, addr, types.ModuleName, auxiliaryDenomToStore); err != nil { return err } - // add 1a0gi equivalent of neuron to addr - neuronToReceive := ConversionMultiplier - if err := k.neuronKeeper.AddBalance(ctx, addr, neuronToReceive); err != nil { + // add 1 auxiliary denom equivalent of base denom to addr + baseDenomToReceive := ConversionMultiplier + if err := k.baseDenomKeeper.AddBalance(ctx, addr, baseDenomToReceive); err != nil { return err } return nil } -// ConvertNeuronToA0gi converts all available neuron to a0gi for a given AccAddress. -func (k EvmBankKeeper) ConvertNeuronToUa0gi(ctx sdk.Context, addr sdk.AccAddress) error { - totalNeuron := k.neuronKeeper.GetBalance(ctx, addr) - ua0gi, _, err := SplitNeuronCoins(sdk.NewCoins(sdk.NewCoin(EvmDenom, totalNeuron))) +// ConvertBaseDenomToauxiliaryDenom converts all available base denom to auxiliary denom for a given AccAddress. +func (k EvmBankKeeper) ConvertBaseDenomToAuxiliaryDenom(ctx sdk.Context, addr sdk.AccAddress) error { + totalBaseDenom := k.baseDenomKeeper.GetBalance(ctx, addr) + auxiliaryDenomCoin, _, err := SplitBaseDenomCoins(sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, totalBaseDenom))) if err != nil { return err } - // do nothing if account does not have enough neuron for a single a0gi - ua0giToReceive := ua0gi.Amount - if !ua0giToReceive.IsPositive() { + // do nothing if account does not have enough base denom for a single auxiliary denom + auxiliaryDenomToReceive := auxiliaryDenomCoin.Amount + if !auxiliaryDenomToReceive.IsPositive() { return nil } - // remove neuron used for converting to ua0gi - neuronToBurn := ua0giToReceive.Mul(ConversionMultiplier) - finalBal := totalNeuron.Sub(neuronToBurn) - if err := k.neuronKeeper.SetBalance(ctx, addr, finalBal); err != nil { + // remove base denom used for converting to auxiliary denom + baseDenomToBurn := auxiliaryDenomToReceive.Mul(ConversionMultiplier) + finalBal := totalBaseDenom.Sub(baseDenomToBurn) + if err := k.baseDenomKeeper.SetBalance(ctx, addr, finalBal); err != nil { return err } fromAddr := k.GetModuleAddress(types.ModuleName) - if err := k.bk.SendCoins(ctx, fromAddr, addr, sdk.NewCoins(ua0gi)); err != nil { + if err := k.bk.SendCoins(ctx, fromAddr, addr, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { return err } @@ -230,35 +223,35 @@ func (k EvmBankKeeper) GetModuleAddress(moduleName string) sdk.AccAddress { return addr } -// SplitNeuronCoins splits neuron coins to the equivalent a0gi coins and any remaining neuron balance. -// An error will be returned if the coins are not valid or if the coins are not the neuron denom. -func SplitNeuronCoins(coins sdk.Coins) (sdk.Coin, sdkmath.Int, error) { - neuron := sdk.ZeroInt() - ua0gi := sdk.NewCoin(CosmosDenom, sdk.ZeroInt()) +// SplitBaseDenomCoins splits base denom coins to the equivalent auxiliary denom coins and any remaining base denom balance. +// An error will be returned if the coins are not valid or if the coins are not the base denom. +func SplitBaseDenomCoins(coins sdk.Coins) (sdk.Coin, sdkmath.Int, error) { + baseDemonCnt := sdk.ZeroInt() + auxiliaryDenomAmt := sdk.NewCoin(chaincfg.AuxiliaryDenom, sdk.ZeroInt()) if len(coins) == 0 { - return ua0gi, neuron, nil + return auxiliaryDenomAmt, baseDemonCnt, nil } if err := ValidateEvmCoins(coins); err != nil { - return ua0gi, neuron, err + return auxiliaryDenomAmt, baseDemonCnt, err } // note: we should always have len(coins) == 1 here since coins cannot have dup denoms after we validate. coin := coins[0] remainingBalance := coin.Amount.Mod(ConversionMultiplier) if remainingBalance.IsPositive() { - neuron = remainingBalance + baseDemonCnt = remainingBalance } - ua0giAmount := coin.Amount.Quo(ConversionMultiplier) - if ua0giAmount.IsPositive() { - ua0gi = sdk.NewCoin(CosmosDenom, ua0giAmount) + auxiliaryDenomAmount := coin.Amount.Quo(ConversionMultiplier) + if auxiliaryDenomAmount.IsPositive() { + auxiliaryDenomAmt = sdk.NewCoin(chaincfg.AuxiliaryDenom, auxiliaryDenomAmount) } - return ua0gi, neuron, nil + return auxiliaryDenomAmt, baseDemonCnt, nil } -// ValidateEvmCoins validates the coins from evm is valid and is the EvmDenom (neuron). +// ValidateEvmCoins validates the coins from evm is valid and is the base denom. func ValidateEvmCoins(coins sdk.Coins) error { if len(coins) == 0 { return nil @@ -269,9 +262,9 @@ func ValidateEvmCoins(coins sdk.Coins) error { return errorsmod.Wrap(sdkerrors.ErrInvalidCoins, coins.String()) } - // validate that coin denom is neuron - if len(coins) != 1 || coins[0].Denom != EvmDenom { - errMsg := fmt.Sprintf("invalid evm coin denom, only %s is supported", EvmDenom) + // validate that coin denom is base denom + if len(coins) != 1 || coins[0].Denom != chaincfg.BaseDenom { + errMsg := fmt.Sprintf("invalid evm coin denom, only %s is supported", chaincfg.BaseDenom) return errorsmod.Wrap(sdkerrors.ErrInvalidCoins, errMsg) } diff --git a/x/evmutil/keeper/bank_keeper_test.go b/x/evmutil/keeper/bank_keeper_test.go index 3014d19d..f99fb745 100644 --- a/x/evmutil/keeper/bank_keeper_test.go +++ b/x/evmutil/keeper/bank_keeper_test.go @@ -6,6 +6,7 @@ import ( "time" sdkmath "cosmossdk.io/math" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/testutil" "github.com/0glabs/0g-chain/x/evmutil/types" @@ -26,8 +27,8 @@ func (suite *evmBankKeeperTestSuite) SetupTest() { } func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { - startingCoins := sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10)) - startingNeuron := sdkmath.NewInt(100) + startingCoins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10)) + startingBaseDenom := sdkmath.NewInt(100) now := tmtime.Now() endTime := now.Add(24 * time.Hour) @@ -37,24 +38,26 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { err := suite.App.FundAccount(suite.Ctx, suite.Addrs[0], startingCoins) suite.Require().NoError(err) - err = suite.Keeper.SetBalance(suite.Ctx, suite.Addrs[0], startingNeuron) + err = suite.Keeper.SetBalance(suite.Ctx, suite.Addrs[0], startingBaseDenom) suite.Require().NoError(err) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "neuron") - suite.Require().Equal(startingNeuron, coin.Amount) + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) + suite.Require().Equal(startingBaseDenom, coin.Amount) ctx := suite.Ctx.WithBlockTime(now.Add(12 * time.Hour)) - coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], "neuron") + coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], chaincfg.BaseDenom) suite.Require().Equal(sdkmath.NewIntFromUint64(5_000_000_000_100), coin.Amount) } + func (suite *evmBankKeeperTestSuite) TestGetBalance_NotEvmDenom() { suite.Require().Panics(func() { - suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") + suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) }) suite.Require().Panics(func() { suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "busd") }) } + func (suite *evmBankKeeperTestSuite) TestGetBalance() { tests := []struct { name string @@ -62,41 +65,41 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { expAmount sdkmath.Int }{ { - "ua0gi with neuron", + "auxiliary denom with base denom", sdk.NewCoins( - sdk.NewInt64Coin("neuron", 100), - sdk.NewInt64Coin("ua0gi", 10), + sdk.NewInt64Coin(chaincfg.BaseDenom, 100), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), ), - sdk.NewIntFromBigInt(makeBigIntByString("10000000000100")), + sdkmath.NewInt(10_000_000_000_100), }, { - "just neuron", + "just base denom", sdk.NewCoins( - sdk.NewInt64Coin("neuron", 100), + sdk.NewInt64Coin(chaincfg.BaseDenom, 100), sdk.NewInt64Coin("busd", 100), ), sdkmath.NewInt(100), }, { - "just ua0gi", + "just auxiliary denom", sdk.NewCoins( - sdk.NewInt64Coin("ua0gi", 10), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin("busd", 100), ), - sdk.NewIntFromBigInt(makeBigIntByString("10000000000000")), + sdkmath.NewInt(10_000_000_000_000), }, { - "no ua0gi or neuron", + "no auxiliary denom or base denom", sdk.NewCoins(), sdk.ZeroInt(), }, { - "with avaka that is more than 1 ua0gi", + "with avaka that is more than 1 auxiliary denom", sdk.NewCoins( - sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("20000000000220"))), - sdk.NewInt64Coin("ua0gi", 11), + sdk.NewInt64Coin(chaincfg.BaseDenom, 20_000_000_000_220), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 11), ), - sdk.NewIntFromBigInt(makeBigIntByString("31000000000220")), + sdkmath.NewInt(31_000_000_000_220), }, } @@ -105,15 +108,16 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { suite.SetupTest() suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAmount) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "neuron") + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) suite.Require().Equal(tt.expAmount, coin.Amount) }) } } + func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin("neuron", 200), - sdk.NewInt64Coin("ua0gi", 100), + sdk.NewInt64Coin(chaincfg.BaseDenom, 200), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), ) tests := []struct { name string @@ -123,102 +127,102 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { hasErr bool }{ { - "send more than 1 ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000010")))), + "send more than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_010)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin("neuron", 10), - sdk.NewInt64Coin("ua0gi", 12), + sdk.NewInt64Coin(chaincfg.BaseDenom, 10), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 12), ), false, }, { - "send less than 1 ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), + "send less than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin("neuron", 122), - sdk.NewInt64Coin("ua0gi", 0), + sdk.NewInt64Coin(chaincfg.BaseDenom, 122), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0), ), false, }, { - "send an exact amount of ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), + "send an exact amount of auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin("neuron", 0), - sdk.NewInt64Coin("ua0gi", 98), + sdk.NewInt64Coin(chaincfg.BaseDenom, 0o0), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 98), ), false, }, { - "send no neuron", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), + "send no base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin("neuron", 0), - sdk.NewInt64Coin("ua0gi", 0), + sdk.NewInt64Coin(chaincfg.BaseDenom, 0), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0), ), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough total neuron to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100000000001000")))), + "errors if not enough total base denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_001_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough ua0gi to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), + "errors if not enough auxiliary denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts receiver's neuron to ua0gi if there's enough neuron after the transfer", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99000000000200")))), + "converts receiver's base denom to auxiliary denom if there's enough base denom after the transfer", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_000_000_000_200)), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 999_999_999_900), - sdk.NewInt64Coin("ua0gi", 1), + sdk.NewInt64Coin(chaincfg.BaseDenom, 999_999_999_900), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 100), - sdk.NewInt64Coin("ua0gi", 101), + sdk.NewInt64Coin(chaincfg.BaseDenom, 100), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 101), ), false, }, { - "converts all of receiver's neuron to ua0gi even if somehow receiver has more than 1a0gi of neuron", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000100")))), + "converts all of receiver's base denom to auxiliary denom even if somehow receiver has more than 1 auxiliary denom of base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_100)), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 5_999_999_999_990), - sdk.NewInt64Coin("ua0gi", 1), + sdk.NewInt64Coin(chaincfg.BaseDenom, 5_999_999_999_990), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 90), - sdk.NewInt64Coin("ua0gi", 19), + sdk.NewInt64Coin(chaincfg.BaseDenom, 90), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 19), ), false, }, { - "swap 1 ua0gi for neuron if module account doesn't have enough neuron", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99000000001000")))), + "swap 1 auxiliary denom for base denom if module account doesn't have enough base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_000_000_001_000)), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 200), - sdk.NewInt64Coin("ua0gi", 1), + sdk.NewInt64Coin(chaincfg.BaseDenom, 200), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin("neuron", 1200), - sdk.NewInt64Coin("ua0gi", 100), + sdk.NewInt64Coin(chaincfg.BaseDenom, 1200), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), ), false, }, @@ -231,8 +235,8 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAccBal) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingModuleCoins) - // fund our module with some ua0gi to account for converting extra neuron back to ua0gi - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) + // fund our module with some auxiliary denom to account for converting extra base denom back to auxiliary denom + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) err := suite.EvmBankKeeper.SendCoinsFromModuleToAccount(suite.Ctx, evmtypes.ModuleName, suite.Addrs[0], tt.sendCoins) if tt.hasErr { @@ -242,23 +246,24 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.Require().NoError(err) } - // check ua0gi - a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") - suite.Require().Equal(tt.expAccBal.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) + // check auxiliary denom + AuxiliaryDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) - // check neuron - actualNeuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expAccBal.AmountOf("neuron").Int64(), actualNeuron.Int64()) + // check base denom + actualBaseDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) }) } } + func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { startingAccCoins := sdk.NewCoins( - sdk.NewInt64Coin("neuron", 200), - sdk.NewInt64Coin("ua0gi", 100), + sdk.NewInt64Coin(chaincfg.BaseDenom, 200), + sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), ) startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin("neuron", 100_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), ) tests := []struct { name string @@ -268,36 +273,36 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { hasErr bool }{ { - "send more than 1 ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12000000000010")))), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 190), sdk.NewInt64Coin("ua0gi", 88)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_010), sdk.NewInt64Coin("ua0gi", 12)), + "send more than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_010)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 190), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 88)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_010), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 12)), false, }, { - "send less than 1 ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 78), sdk.NewInt64Coin("ua0gi", 100)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_122), sdk.NewInt64Coin("ua0gi", 0)), + "send less than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 78), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_122), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), false, }, { - "send an exact amount of ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 2)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 98)), + "send an exact amount of auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 2)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 98)), false, }, { - "send no neuron", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 100)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 0)), + "send no base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, @@ -305,39 +310,39 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin("neuron", 12_000_000_000_000), - sdk.NewInt64Coin("neuron", 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), }, sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough total neuron to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100000000001000")))), + "errors if not enough total base denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_001_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough ua0gi to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), + "errors if not enough auxiliary denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts 1 ua0gi to neuron if not enough neuron to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("99001000000000")))), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 999_000_000_200), sdk.NewInt64Coin("ua0gi", 0)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 101_000_000_000), sdk.NewInt64Coin("ua0gi", 99)), + "converts 1 auxiliary denom to base denom if not enough base denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_001_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 999_000_000_200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 101_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 99)), false, }, { - "converts receiver's neuron to ua0gi if there's enough neuron after the transfer", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 5_900_000_000_200)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100_000_000_000), sdk.NewInt64Coin("ua0gi", 94)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 200), sdk.NewInt64Coin("ua0gi", 6)), + "converts receiver's base denom to auxiliary denom if there's enough base denom after the transfer", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_900_000_000_200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 94)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 6)), false, }, } @@ -357,66 +362,67 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { } // check sender balance - a0giSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") - suite.Require().Equal(tt.expSenderCoins.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) - actualNeuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expSenderCoins.AmountOf("neuron").Int64(), actualNeuron.Int64()) + AuxiliaryDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) + actualBaseDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) // check module balance moduleAddr := suite.AccountKeeper.GetModuleAddress(evmtypes.ModuleName) - a0giSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, "ua0gi") - suite.Require().Equal(tt.expModuleCoins.AmountOf("ua0gi").Int64(), a0giSender.Amount.Int64()) - actualNeuron = suite.Keeper.GetBalance(suite.Ctx, moduleAddr) - suite.Require().Equal(tt.expModuleCoins.AmountOf("neuron").Int64(), actualNeuron.Int64()) + AuxiliaryDenomSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) + actualBaseDenom = suite.Keeper.GetBalance(suite.Ctx, moduleAddr) + suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) }) } } + func (suite *evmBankKeeperTestSuite) TestBurnCoins() { - startingA0gi := sdkmath.NewInt(100) + startingAuxiliaryDenom := sdkmath.NewInt(100) tests := []struct { - name string - burnCoins sdk.Coins - expA0gi sdkmath.Int - expNeuron sdkmath.Int - hasErr bool - neuronStart sdkmath.Int + name string + burnCoins sdk.Coins + expAuxiliaryDenom sdkmath.Int + expBaseDenom sdkmath.Int + hasErr bool + baseDenomStart sdkmath.Int }{ { - "burn more than 1 ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), + "burn more than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), sdkmath.NewInt(88), sdkmath.NewInt(100_000_000_000), false, - sdk.NewIntFromBigInt(makeBigIntByString("121000000002")), + sdkmath.NewInt(121_000_000_002), }, { - "burn less than 1 ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 122)), + "burn less than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), sdkmath.NewInt(100), sdkmath.NewInt(878), false, sdkmath.NewInt(1000), }, { - "burn an exact amount of ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("98000000000000")))), + "burn an exact amount of auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), sdkmath.NewInt(2), sdkmath.NewInt(10), false, sdkmath.NewInt(10), }, { - "burn no neuron", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), - startingA0gi, + "burn no base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + startingAuxiliaryDenom, sdk.ZeroInt(), false, sdk.ZeroInt(), }, { "errors if burning other coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), - startingA0gi, + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + startingAuxiliaryDenom, sdkmath.NewInt(100), true, sdkmath.NewInt(100), @@ -424,41 +430,41 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin("neuron", 12_000_000_000_000), - sdk.NewInt64Coin("neuron", 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), }, - startingA0gi, + startingAuxiliaryDenom, sdk.ZeroInt(), true, sdk.ZeroInt(), }, { "errors if burn amount is negative", - sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-100)}}, - startingA0gi, + sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, + startingAuxiliaryDenom, sdkmath.NewInt(50), true, sdkmath.NewInt(50), }, { - "errors if not enough neuron to cover burn", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("100999000000000")))), + "errors if not enough base denom to cover burn", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_999_000_000_000)), sdkmath.NewInt(0), sdkmath.NewInt(99_000_000_000), true, sdkmath.NewInt(99_000_000_000), }, { - "errors if not enough ua0gi to cover burn", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("200000000000000")))), + "errors if not enough auxiliary denom to cover burn", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), sdkmath.NewInt(100), sdk.ZeroInt(), true, sdk.ZeroInt(), }, { - "converts 1 ua0gi to neuron if not enough neuron to cover", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), + "converts 1 auxiliary denom to base denom if not enough base denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), sdkmath.NewInt(87), sdkmath.NewInt(980_000_000_000), false, @@ -470,8 +476,8 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Run(tt.name, func() { suite.SetupTest() startingCoins := sdk.NewCoins( - sdk.NewCoin("ua0gi", startingA0gi), - sdk.NewCoin("neuron", tt.neuronStart), + sdk.NewCoin(chaincfg.AuxiliaryDenom, startingAuxiliaryDenom), + sdk.NewCoin(chaincfg.BaseDenom, tt.baseDenomStart), ) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingCoins) @@ -483,52 +489,53 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Require().NoError(err) } - // check ua0gi - a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, "ua0gi") - suite.Require().Equal(tt.expA0gi, a0giActual.Amount) + // check auxiliary denom + AuxiliaryDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expAuxiliaryDenom, AuxiliaryDenomActual.Amount) - // check neuron - neuronActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) - suite.Require().Equal(tt.expNeuron, neuronActual) + // check base denom + baseDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) + suite.Require().Equal(tt.expBaseDenom, baseDenomActual) }) } } + func (suite *evmBankKeeperTestSuite) TestMintCoins() { tests := []struct { - name string - mintCoins sdk.Coins - ua0gi sdkmath.Int - neuron sdkmath.Int - hasErr bool - neuronStart sdkmath.Int + name string + mintCoins sdk.Coins + AuxiliaryDenomCnt sdkmath.Int + baseDenomCnt sdkmath.Int + hasErr bool + baseDenomStart sdkmath.Int }{ { - "mint more than 1 ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), + "mint more than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), sdkmath.NewInt(12), sdkmath.NewInt(21_000_000_002), false, sdk.ZeroInt(), }, { - "mint less than 1 ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 901_000_000_001)), + "mint less than 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 901_000_000_001)), sdk.ZeroInt(), sdkmath.NewInt(901_000_000_001), false, sdk.ZeroInt(), }, { - "mint an exact amount of ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("123000000000000000")))), + "mint an exact amount of auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 123_000_000_000_000_000)), sdkmath.NewInt(123_000), sdk.ZeroInt(), false, sdk.ZeroInt(), }, { - "mint no neuron", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 0)), + "mint no base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), sdk.ZeroInt(), sdk.ZeroInt(), false, @@ -536,7 +543,7 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if minting other coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.ZeroInt(), sdkmath.NewInt(100), true, @@ -545,8 +552,8 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin("neuron", 12_000_000_000_000), - sdk.NewInt64Coin("neuron", 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), }, sdk.ZeroInt(), sdk.ZeroInt(), @@ -555,35 +562,35 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if mint amount is negative", - sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-100)}}, + sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, sdk.ZeroInt(), sdkmath.NewInt(50), true, sdkmath.NewInt(50), }, { - "adds to existing neuron balance", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("12021000000002")))), + "adds to existing base denom balance", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), sdkmath.NewInt(12), sdkmath.NewInt(21_000_000_102), false, sdkmath.NewInt(100), }, { - "convert neuron balance to ua0gi if it exceeds 1 ua0gi", - sdk.NewCoins(sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("10999000000000")))), + "convert base denom balance to auxiliary denom if it exceeds 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_999_000_000_000)), sdkmath.NewInt(12), sdkmath.NewInt(1_200_000_001), false, - sdkmath.NewIntFromBigInt(makeBigIntByString("1002200000001")), + sdkmath.NewInt(1_002_200_000_001), }, } for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) - suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin("neuron", tt.neuronStart))) + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) + suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, tt.baseDenomStart))) err := suite.EvmBankKeeper.MintCoins(suite.Ctx, evmtypes.ModuleName, tt.mintCoins) if tt.hasErr { @@ -593,13 +600,13 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { suite.Require().NoError(err) } - // check ua0gi - a0giActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, "ua0gi") - suite.Require().Equal(tt.ua0gi, a0giActual.Amount) + // check auxiliary denom + AuxiliaryDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.AuxiliaryDenomCnt, AuxiliaryDenomActual.Amount) - // check neuron - neuronActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) - suite.Require().Equal(tt.neuron, neuronActual) + // check base denom + baseDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) + suite.Require().Equal(tt.baseDenomCnt, baseDenomActual) }) } } @@ -612,22 +619,22 @@ func (suite *evmBankKeeperTestSuite) TestValidateEvmCoins() { }{ { "valid coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500)), false, }, { "dup coins", - sdk.Coins{sdk.NewInt64Coin("neuron", 500), sdk.NewInt64Coin("neuron", 500)}, + sdk.Coins{sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin(chaincfg.BaseDenom, 500)}, true, }, { "not evm coins", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 500)), true, }, { "negative coins", - sdk.Coins{sdk.Coin{Denom: "neuron", Amount: sdkmath.NewInt(-500)}}, + sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-500)}}, true, }, } @@ -643,8 +650,8 @@ func (suite *evmBankKeeperTestSuite) TestValidateEvmCoins() { } } -func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { - neuronNeeded := sdkmath.NewInt(200) +func (suite *evmBankKeeperTestSuite) TestConvertOneAuxiliaryDenomToBaseDenomIfNeeded() { + baseDenomNeeded := sdkmath.NewInt(200) tests := []struct { name string startingCoins sdk.Coins @@ -652,21 +659,21 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { success bool }{ { - "not enough ua0gi for conversion", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), + "not enough auxiliary denom for conversion", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), false, }, { - "converts 1 ua0gi to neuron", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 100)), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 9), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("1000000000100")))), + "converts 1 auxiliary denom to base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 9), sdk.NewInt64Coin(chaincfg.BaseDenom, 1_000_000_000_100)), true, }, { "conversion not needed", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 200)), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewInt64Coin("neuron", 200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), true, }, } @@ -675,11 +682,11 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { suite.SetupTest() suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) - err := suite.EvmBankKeeper.ConvertOneUa0giToNeuronIfNeeded(suite.Ctx, suite.Addrs[0], neuronNeeded) - moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), "ua0gi") + err := suite.EvmBankKeeper.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(suite.Ctx, suite.Addrs[0], baseDenomNeeded) + moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), chaincfg.AuxiliaryDenom) if tt.success { suite.Require().NoError(err) - if tt.startingCoins.AmountOf("neuron").LT(neuronNeeded) { + if tt.startingCoins.AmountOf(chaincfg.BaseDenom).LT(baseDenomNeeded) { suite.Require().Equal(sdk.OneInt(), moduleZgChain.Amount) } } else { @@ -687,52 +694,54 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneA0giToNeuronIfNeeded() { suite.Require().Equal(sdk.ZeroInt(), moduleZgChain.Amount) } - neuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) - ua0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") - suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) + baseDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) + AuxiliaryDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) }) } } -func (suite *evmBankKeeperTestSuite) TestConvertNeuronToA0gi() { + +func (suite *evmBankKeeperTestSuite) TestConvertBaseDenomToAuxiliaryDenom() { tests := []struct { name string startingCoins sdk.Coins expectedCoins sdk.Coins }{ { - "not enough ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 100), sdk.NewInt64Coin("ua0gi", 0)), + "not enough auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), }, { - "converts neuron for 1 ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("1000000000003")))), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 11), sdk.NewInt64Coin("neuron", 3)), + "converts base denom for 1 auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 1_000_000_000_003)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 11), sdk.NewInt64Coin(chaincfg.BaseDenom, 3)), }, { - "converts more than 1 ua0gi of neuron", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10), sdk.NewCoin("neuron", sdk.NewIntFromBigInt(makeBigIntByString("8000000000123")))), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 18), sdk.NewInt64Coin("neuron", 123)), + "converts more than 1 auxiliary denom of base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 8_000_000_000_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 18), sdk.NewInt64Coin(chaincfg.BaseDenom, 123)), }, } for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 10))) + err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) suite.Require().NoError(err) suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) - err = suite.EvmBankKeeper.ConvertNeuronToUa0gi(suite.Ctx, suite.Addrs[0]) + err = suite.EvmBankKeeper.ConvertBaseDenomToAuxiliaryDenom(suite.Ctx, suite.Addrs[0]) suite.Require().NoError(err) - neuron := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) - ua0gi := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "ua0gi") - suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) + baseDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) + AuxiliaryDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) }) } } -func (suite *evmBankKeeperTestSuite) TestSplitNeuronCoins() { + +func (suite *evmBankKeeperTestSuite) TestSplitBaseDenomCoins() { tests := []struct { name string coins sdk.Coins @@ -741,7 +750,7 @@ func (suite *evmBankKeeperTestSuite) TestSplitNeuronCoins() { }{ { "invalid coins", - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 500)), nil, true, }, @@ -752,33 +761,33 @@ func (suite *evmBankKeeperTestSuite) TestSplitNeuronCoins() { false, }, { - "ua0gi & neuron coins", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 8_000_000_000_123)), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 8), sdk.NewInt64Coin("neuron", 123)), + "auxiliary denom & base denom coins", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 8_000_000_000_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 8), sdk.NewInt64Coin(chaincfg.BaseDenom, 123)), false, }, { - "only neuron", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 10_123)), - sdk.NewCoins(sdk.NewInt64Coin("neuron", 10_123)), + "only base denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), false, }, { - "only ua0gi", - sdk.NewCoins(sdk.NewInt64Coin("neuron", 5_000_000_000_000)), - sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 5)), + "only auxiliary denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_000_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 5)), false, }, } for _, tt := range tests { suite.Run(tt.name, func() { - ua0gi, neuron, err := keeper.SplitNeuronCoins(tt.coins) + AuxiliaryDenomCoin, baseDenomCnt, err := keeper.SplitBaseDenomCoins(tt.coins) if tt.shouldErr { suite.Require().Error(err) } else { suite.Require().NoError(err) - suite.Require().Equal(tt.expectedCoins.AmountOf("ua0gi"), ua0gi.Amount) - suite.Require().Equal(tt.expectedCoins.AmountOf("neuron"), neuron) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) } }) } diff --git a/x/evmutil/keeper/invariants.go b/x/evmutil/keeper/invariants.go index 6b3a1db0..db406093 100644 --- a/x/evmutil/keeper/invariants.go +++ b/x/evmutil/keeper/invariants.go @@ -6,6 +6,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" authtypes "github.com/cosmos/cosmos-sdk/x/auth/types" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/types" ) @@ -50,7 +51,7 @@ func FullyBackedInvariant(bankK types.BankKeeper, k Keeper) sdk.Invariant { }) bankAddr := authtypes.NewModuleAddress(types.ModuleName) - bankBalance := bankK.GetBalance(ctx, bankAddr, CosmosDenom).Amount.Mul(ConversionMultiplier) + bankBalance := bankK.GetBalance(ctx, bankAddr, chaincfg.AuxiliaryDenom).Amount.Mul(ConversionMultiplier) broken = totalMinorBalances.GT(bankBalance) diff --git a/x/evmutil/keeper/invariants_test.go b/x/evmutil/keeper/invariants_test.go index 4756b66c..946ce177 100644 --- a/x/evmutil/keeper/invariants_test.go +++ b/x/evmutil/keeper/invariants_test.go @@ -12,6 +12,7 @@ import ( "github.com/stretchr/testify/suite" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/testutil" "github.com/0glabs/0g-chain/x/evmutil/types" @@ -49,7 +50,7 @@ func (suite *invariantTestSuite) SetupValidState() { suite.FundModuleAccountWithZgChain( types.ModuleName, sdk.NewCoins( - sdk.NewCoin("ua0gi", sdkmath.NewInt(2)), // ( sum of all minor balances ) / conversion multiplier + sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2)), // ( sum of all minor balances ) / conversion multiplier ), ) @@ -159,8 +160,8 @@ func (suite *invariantTestSuite) TestSmallBalances() { // increase minor balance at least above conversion multiplier suite.Keeper.AddBalance(suite.Ctx, suite.Addrs[0], keeper.ConversionMultiplier) - // add same number of a0gi to avoid breaking other invariants - amt := sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1)) + // add same number of auxiliary denom to avoid breaking other invariants + amt := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1)) suite.Require().NoError( suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, amt), ) diff --git a/x/evmutil/keeper/keeper.go b/x/evmutil/keeper/keeper.go index 967021c3..7cb8ea72 100644 --- a/x/evmutil/keeper/keeper.go +++ b/x/evmutil/keeper/keeper.go @@ -115,7 +115,7 @@ func (k Keeper) SetAccount(ctx sdk.Context, account types.Account) error { return nil } -// GetBalance returns the total balance of neuron for a given account by address. +// GetBalance returns the total balance of base denom for a given account by address. func (k Keeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress) sdkmath.Int { account := k.GetAccount(ctx, addr) if account == nil { @@ -124,7 +124,7 @@ func (k Keeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress) sdkmath.Int { return account.Balance } -// SetBalance sets the total balance of neuron for a given account by address. +// SetBalance sets the total balance of base denom for a given account by address. func (k Keeper) SetBalance(ctx sdk.Context, addr sdk.AccAddress, bal sdkmath.Int) error { account := k.GetAccount(ctx, addr) if account == nil { @@ -140,10 +140,10 @@ func (k Keeper) SetBalance(ctx sdk.Context, addr sdk.AccAddress, bal sdkmath.Int return k.SetAccount(ctx, *account) } -// SendBalance transfers the neuron balance from sender addr to recipient addr. +// SendBalance transfers the base denom balance from sender addr to recipient addr. func (k Keeper) SendBalance(ctx sdk.Context, senderAddr sdk.AccAddress, recipientAddr sdk.AccAddress, amt sdkmath.Int) error { if amt.IsNegative() { - return fmt.Errorf("cannot send a negative amount of neuron: %d", amt) + return fmt.Errorf("cannot send a negative amount of base denom: %d", amt) } if amt.IsZero() { @@ -162,13 +162,13 @@ func (k Keeper) SendBalance(ctx sdk.Context, senderAddr sdk.AccAddress, recipien return k.SetBalance(ctx, recipientAddr, receiverBal) } -// AddBalance increments the neuron balance of an address. +// AddBalance increments the base denom balance of an address. func (k Keeper) AddBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdkmath.Int) error { bal := k.GetBalance(ctx, addr) return k.SetBalance(ctx, addr, amt.Add(bal)) } -// RemoveBalance decrements the neuron balance of an address. +// RemoveBalance decrements the base denom balance of an address. func (k Keeper) RemoveBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdkmath.Int) error { if amt.IsNegative() { return fmt.Errorf("cannot remove a negative amount from balance: %d", amt) diff --git a/x/evmutil/testutil/suite.go b/x/evmutil/testutil/suite.go index 1d2cd28d..b5d1af73 100644 --- a/x/evmutil/testutil/suite.go +++ b/x/evmutil/testutil/suite.go @@ -37,6 +37,7 @@ import ( "github.com/tendermint/tendermint/version" "github.com/0glabs/0g-chain/app" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/keeper" "github.com/0glabs/0g-chain/x/evmutil/types" ) @@ -81,14 +82,14 @@ func (suite *Suite) SetupTest() { suite.Addrs = addrs evmGenesis := evmtypes.DefaultGenesisState() - evmGenesis.Params.EvmDenom = keeper.EvmDenom + evmGenesis.Params.EvmDenom = chaincfg.BaseDenom feemarketGenesis := feemarkettypes.DefaultGenesisState() feemarketGenesis.Params.EnableHeight = 1 feemarketGenesis.Params.NoBaseFee = false cdc := suite.App.AppCodec() - coins := sdk.NewCoins(sdk.NewInt64Coin("ua0gi", 1000_000_000_000)) + coins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1000_000_000_000_000_000)) authGS := app.NewFundedGenStateWithSameCoins(cdc, coins, []sdk.AccAddress{ sdk.AccAddress(suite.Key1.PubKey().Address()), sdk.AccAddress(suite.Key2.PubKey().Address()), @@ -185,28 +186,28 @@ func (suite *Suite) ModuleBalance(denom string) sdk.Int { } func (suite *Suite) FundAccountWithZgChain(addr sdk.AccAddress, coins sdk.Coins) { - ua0gi := coins.AmountOf("ua0gi") - if ua0gi.IsPositive() { - err := suite.App.FundAccount(suite.Ctx, addr, sdk.NewCoins(sdk.NewCoin("ua0gi", ua0gi))) + AuxiliaryDenomAmt := coins.AmountOf(chaincfg.AuxiliaryDenom) + if AuxiliaryDenomAmt.IsPositive() { + err := suite.App.FundAccount(suite.Ctx, addr, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, AuxiliaryDenomAmt))) suite.Require().NoError(err) } - neuron := coins.AmountOf("neuron") - if neuron.IsPositive() { - err := suite.Keeper.SetBalance(suite.Ctx, addr, neuron) + baseDenomAmt := coins.AmountOf(chaincfg.BaseDenom) + if baseDenomAmt.IsPositive() { + err := suite.Keeper.SetBalance(suite.Ctx, addr, baseDenomAmt) suite.Require().NoError(err) } } func (suite *Suite) FundModuleAccountWithZgChain(moduleName string, coins sdk.Coins) { - ua0gi := coins.AmountOf("ua0gi") - if ua0gi.IsPositive() { - err := suite.App.FundModuleAccount(suite.Ctx, moduleName, sdk.NewCoins(sdk.NewCoin("ua0gi", ua0gi))) + AuxiliaryDenomAmt := coins.AmountOf(chaincfg.AuxiliaryDenom) + if AuxiliaryDenomAmt.IsPositive() { + err := suite.App.FundModuleAccount(suite.Ctx, moduleName, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, AuxiliaryDenomAmt))) suite.Require().NoError(err) } - neuron := coins.AmountOf("neuron") - if neuron.IsPositive() { + baseDenomAmt := coins.AmountOf(chaincfg.BaseDenom) + if baseDenomAmt.IsPositive() { addr := suite.AccountKeeper.GetModuleAddress(moduleName) - err := suite.Keeper.SetBalance(suite.Ctx, addr, neuron) + err := suite.Keeper.SetBalance(suite.Ctx, addr, baseDenomAmt) suite.Require().NoError(err) } } @@ -217,7 +218,7 @@ func (suite *Suite) DeployERC20() types.InternalEVMAddress { suite.App.FundModuleAccount( suite.Ctx, types.ModuleName, - sdk.NewCoins(sdk.NewCoin("ua0gi", sdkmath.NewInt(0))), + sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(0))), ) contractAddr, err := suite.Keeper.DeployTestMintableERC20Contract(suite.Ctx, "USDC", "USDC", uint8(18)) @@ -318,7 +319,7 @@ func (suite *Suite) SendTx( // Mint the max gas to the FeeCollector to ensure balance in case of refund suite.MintFeeCollector(sdk.NewCoins( sdk.NewCoin( - "ua0gi", + chaincfg.AuxiliaryDenom, sdkmath.NewInt(baseFee.Int64()*int64(gasRes.Gas*2)), ))) diff --git a/x/evmutil/types/conversion_pair.pb.go b/x/evmutil/types/conversion_pair.pb.go index db6495d5..cd090415 100644 --- a/x/evmutil/types/conversion_pair.pb.go +++ b/x/evmutil/types/conversion_pair.pb.go @@ -28,7 +28,7 @@ const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package // allowed to be converted between ERC20 and sdk.Coin type ConversionPair struct { // ERC20 address of the token on the 0gChain EVM - ZgChainERC20Address HexBytes `protobuf:"bytes,1,opt,name=zgChain_erc20_address,json=zgChainErc20Address,proto3,casttype=HexBytes" json:"zgChain_erc20_address,omitempty"` + ZgChainERC20Address HexBytes `protobuf:"bytes,1,opt,name=zgchain_erc20_address,json=zgchainErc20Address,proto3,casttype=HexBytes" json:"zgchain_erc20_address,omitempty"` // Denom of the corresponding sdk.Coin Denom string `protobuf:"bytes,2,opt,name=denom,proto3" json:"denom,omitempty"` } @@ -134,20 +134,20 @@ var fileDescriptor_6bad9d4ffa6874ec = []byte{ 0x62, 0xd2, 0xd5, 0xa9, 0x08, 0x67, 0x2c, 0x92, 0x9e, 0x08, 0xed, 0x09, 0xf1, 0x22, 0x6d, 0x12, 0x89, 0x58, 0xa0, 0xda, 0x92, 0x53, 0xad, 0x40, 0xb5, 0x02, 0x6d, 0xd4, 0xb9, 0xe0, 0x22, 0xdb, 0xeb, 0xe9, 0x94, 0xa3, 0xed, 0x67, 0x00, 0x0f, 0xcc, 0x9d, 0xe4, 0x8e, 0x78, 0x11, 0x7a, 0x80, - 0x87, 0x4b, 0x6e, 0x8e, 0x89, 0x17, 0xda, 0x2c, 0xa2, 0x3d, 0xc3, 0x26, 0xae, 0x1b, 0x31, 0x29, - 0x55, 0xd0, 0x02, 0x9d, 0xea, 0xe0, 0x34, 0x59, 0x37, 0x6b, 0xa3, 0x1c, 0x18, 0x5a, 0x66, 0xcf, - 0xe8, 0xe7, 0xeb, 0x9f, 0x75, 0xb3, 0x72, 0xc3, 0xe6, 0x83, 0x45, 0xcc, 0xa4, 0x55, 0x2b, 0x0c, - 0xc3, 0x54, 0x50, 0x00, 0xa8, 0x0e, 0xff, 0xb9, 0x2c, 0x14, 0x81, 0xfa, 0xa7, 0x05, 0x3a, 0xff, - 0xad, 0x3c, 0x5c, 0x95, 0x5e, 0xde, 0x9b, 0x4a, 0xfb, 0x15, 0xc0, 0xe3, 0xbe, 0xef, 0x8b, 0x27, - 0xe6, 0x9a, 0x42, 0x06, 0x42, 0x9a, 0xa2, 0xd0, 0xdf, 0x8b, 0x47, 0x16, 0xa2, 0x13, 0x58, 0xa5, - 0x59, 0x6f, 0xe7, 0x0a, 0x90, 0x29, 0xf6, 0xf2, 0xee, 0x3a, 0xad, 0x10, 0x82, 0xa5, 0x90, 0x04, - 0xac, 0xb0, 0x67, 0x33, 0x3a, 0x82, 0x65, 0xb9, 0x08, 0x1c, 0xe1, 0xab, 0x7f, 0xb3, 0xb6, 0x48, - 0xa8, 0x01, 0x2b, 0x2e, 0xa3, 0x5e, 0x40, 0x7c, 0xa9, 0x96, 0x5a, 0xa0, 0xb3, 0x6f, 0xed, 0x72, - 0x7e, 0xa0, 0xc1, 0xed, 0xe6, 0x1b, 0x83, 0x8f, 0x04, 0x83, 0xcf, 0x04, 0x83, 0x55, 0x82, 0xc1, - 0x26, 0xc1, 0xe0, 0x6d, 0x8b, 0x95, 0xd5, 0x16, 0x2b, 0x5f, 0x5b, 0xac, 0x8c, 0xce, 0xb9, 0x17, - 0x8f, 0xa7, 0x8e, 0x46, 0x45, 0xa0, 0x1b, 0xdc, 0x27, 0x8e, 0xd4, 0x0d, 0x7e, 0x41, 0xd3, 0x6b, - 0xeb, 0xf3, 0xdd, 0x4f, 0xc5, 0x8b, 0x09, 0x93, 0x4e, 0x39, 0x7b, 0xed, 0xcb, 0xdf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x25, 0x71, 0x3e, 0xe1, 0xc5, 0x01, 0x00, 0x00, + 0x87, 0x4b, 0x4e, 0xc7, 0xc4, 0x0b, 0x6d, 0x16, 0xd1, 0x9e, 0x61, 0x13, 0xd7, 0x8d, 0x98, 0x94, + 0x2a, 0x68, 0x81, 0x4e, 0x75, 0x70, 0x9a, 0xac, 0x9b, 0xb5, 0x11, 0x37, 0x53, 0x60, 0x68, 0x99, + 0x3d, 0xa3, 0x9f, 0xaf, 0x7f, 0xd6, 0xcd, 0xca, 0x0d, 0x9b, 0x0f, 0x16, 0x31, 0x93, 0x56, 0xad, + 0x30, 0x0c, 0x53, 0x41, 0x01, 0xa0, 0x3a, 0xfc, 0xe7, 0xb2, 0x50, 0x04, 0xea, 0x9f, 0x16, 0xe8, + 0xfc, 0xb7, 0xf2, 0x70, 0x55, 0x7a, 0x79, 0x6f, 0x2a, 0xed, 0x57, 0x00, 0x8f, 0xfb, 0xbe, 0x2f, + 0x9e, 0x98, 0x6b, 0x0a, 0x19, 0x08, 0x69, 0x8a, 0x42, 0x7f, 0x2f, 0x1e, 0x59, 0x88, 0x4e, 0x60, + 0x95, 0x66, 0xbd, 0x9d, 0x2b, 0x40, 0xa6, 0xd8, 0xcb, 0xbb, 0xeb, 0xb4, 0x42, 0x08, 0x96, 0x42, + 0x12, 0xb0, 0xc2, 0x9e, 0xcd, 0xe8, 0x08, 0x96, 0xe5, 0x22, 0x70, 0x84, 0xaf, 0xfe, 0xcd, 0xda, + 0x22, 0xa1, 0x06, 0xac, 0xb8, 0x8c, 0x7a, 0x01, 0xf1, 0xa5, 0x5a, 0x6a, 0x81, 0xce, 0xbe, 0xb5, + 0xcb, 0xf9, 0x81, 0x06, 0xb7, 0x9b, 0x6f, 0x0c, 0x3e, 0x12, 0x0c, 0x3e, 0x13, 0x0c, 0x56, 0x09, + 0x06, 0x9b, 0x04, 0x83, 0xb7, 0x2d, 0x56, 0x56, 0x5b, 0xac, 0x7c, 0x6d, 0xb1, 0x32, 0x3a, 0xe7, + 0x5e, 0x3c, 0x9e, 0x3a, 0x1a, 0x15, 0x81, 0x6e, 0x70, 0x9f, 0x38, 0x52, 0x37, 0xf8, 0x45, 0x76, + 0x6d, 0x7d, 0xbe, 0xfb, 0xa9, 0x78, 0x31, 0x61, 0xd2, 0x29, 0x67, 0xaf, 0x7d, 0xf9, 0x1b, 0x00, + 0x00, 0xff, 0xff, 0xfa, 0x07, 0x29, 0xab, 0xc5, 0x01, 0x00, 0x00, } func (this *ConversionPair) VerboseEqual(that interface{}) error { diff --git a/x/evmutil/types/conversion_pairs_test.go b/x/evmutil/types/conversion_pairs_test.go index 0db238f5..f1f7c79b 100644 --- a/x/evmutil/types/conversion_pairs_test.go +++ b/x/evmutil/types/conversion_pairs_test.go @@ -3,6 +3,7 @@ package types_test import ( "testing" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/evmutil/testutil" "github.com/0glabs/0g-chain/x/evmutil/types" "github.com/stretchr/testify/require" @@ -142,7 +143,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - "a0gi", + chaincfg.AuxiliaryDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), @@ -162,7 +163,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"), - "a0gi", + chaincfg.AuxiliaryDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), @@ -183,16 +184,16 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - "a0gi", + chaincfg.AuxiliaryDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - "a0gi", + chaincfg.AuxiliaryDenom, ), ), errArgs{ expectPass: false, - contains: "found duplicate enabled conversion pair denom a0gi", + contains: "found duplicate enabled conversion pair denom " + chaincfg.AuxiliaryDenom, }, }, { @@ -208,7 +209,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - "a0gi", + chaincfg.AuxiliaryDenom, ), ), errArgs{ @@ -240,12 +241,12 @@ func TestAllowedCosmosCoinERC20Token_Validate(t *testing.T) { }{ { name: "valid token", - token: types.NewAllowedCosmosCoinERC20Token("uatom", "0g-wrapped ATOM", "kATOM", 6), + token: types.NewAllowedCosmosCoinERC20Token("uatom", "0gChain-wrapped ATOM", "kATOM", 6), expErr: "", }, { name: "valid - highest allowed decimals", - token: types.NewAllowedCosmosCoinERC20Token("uatom", "0g-wrapped ATOM", "kATOM", 255), + token: types.NewAllowedCosmosCoinERC20Token("uatom", "0gChain-wrapped ATOM", "kATOM", 255), expErr: "", }, { @@ -280,7 +281,7 @@ func TestAllowedCosmosCoinERC20Token_Validate(t *testing.T) { }, { name: "invalid - decimals higher than uint8", - token: types.NewAllowedCosmosCoinERC20Token("uatom", "0g-wrapped ATOM", "kATOM", 256), + token: types.NewAllowedCosmosCoinERC20Token("uatom", "0gChain-wrapped ATOM", "kATOM", 256), expErr: "decimals must be less than 256", }, } diff --git a/x/evmutil/types/params_test.go b/x/evmutil/types/params_test.go index 8daabd0a..e056afdd 100644 --- a/x/evmutil/types/params_test.go +++ b/x/evmutil/types/params_test.go @@ -107,11 +107,11 @@ func (suite *ParamsTestSuite) TestParams_Validate() { invalidConversionPairs := types.NewConversionPairs( types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - "a0gi", + chaincfg.AuxiliaryDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - "a0gi", // duplicate denom! + chaincfg.AuxiliaryDenom, // duplicate denom! ), ) validAllowedCosmosDenoms := types.NewAllowedCosmosCoinERC20Tokens( diff --git a/x/evmutil/types/tx.pb.go b/x/evmutil/types/tx.pb.go index 5245340d..94c41e1d 100644 --- a/x/evmutil/types/tx.pb.go +++ b/x/evmutil/types/tx.pb.go @@ -139,7 +139,7 @@ type MsgConvertERC20ToCoin struct { // 0gChain bech32 address that will receive the converted sdk.Coin. Receiver string `protobuf:"bytes,2,opt,name=receiver,proto3" json:"receiver,omitempty"` // EVM 0x hex address of the ERC20 contract. - ZgChainERC20Address string `protobuf:"bytes,3,opt,name=zgChain_erc20_address,json=zgChainErc20Address,proto3" json:"zgChain_erc20_address,omitempty"` + ZgChainERC20Address string `protobuf:"bytes,3,opt,name=zgchain_erc20_address,json=zgchainErc20Address,proto3" json:"zgchain_erc20_address,omitempty"` // ERC20 token amount to convert. Amount github_com_cosmos_cosmos_sdk_types.Int `protobuf:"bytes,4,opt,name=amount,proto3,customtype=github.com/cosmos/cosmos-sdk/types.Int" json:"amount"` } @@ -452,7 +452,7 @@ func init() { func init() { proto.RegisterFile("zgc/evmutil/v1beta1/tx.proto", fileDescriptor_b60fa1a7a6ac0cc3) } var fileDescriptor_b60fa1a7a6ac0cc3 = []byte{ - // 563 bytes of a gzipped FileDescriptorProto + // 564 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xc4, 0x55, 0xc1, 0x6e, 0xd3, 0x30, 0x18, 0xae, 0xb7, 0x69, 0xa2, 0xe6, 0x96, 0x6e, 0xa2, 0x0b, 0x23, 0x9d, 0x8a, 0x06, 0xd3, 0xa4, 0x26, 0x69, 0x40, 0x08, 0x21, 0x2e, 0xb4, 0x1a, 0xd2, 0x04, 0xbb, 0x84, 0x9e, 0x76, 0xa9, 0x92, @@ -471,24 +471,24 @@ var fileDescriptor_b60fa1a7a6ac0cc3 = []byte{ 0x6c, 0xdd, 0xb5, 0xd6, 0x74, 0x99, 0x2d, 0xf2, 0x93, 0x9a, 0xd4, 0x23, 0x15, 0xb6, 0x04, 0x36, 0x1b, 0xf0, 0x41, 0xa1, 0x3e, 0x1b, 0xf1, 0x21, 0xa3, 0x1c, 0x35, 0xbf, 0x2c, 0xe4, 0x1d, 0xc4, 0xb1, 0x1e, 0x8b, 0x80, 0xca, 0xfa, 0x5f, 0x0e, 0xf2, 0x3a, 0x9f, 0x5e, 0xd5, 0x59, 0x62, 0xef, - 0xd2, 0xc1, 0x1b, 0xb8, 0x3a, 0xc1, 0xdd, 0x03, 0x87, 0xd0, 0x3e, 0x0a, 0x3c, 0xcb, 0xec, 0x3b, - 0x09, 0x30, 0x36, 0x54, 0xed, 0xdc, 0x0b, 0xa7, 0x8d, 0xda, 0x7e, 0x02, 0x88, 0xa5, 0xc8, 0x3c, - 0x76, 0x4d, 0xb2, 0x76, 0x22, 0x92, 0xdc, 0x54, 0x7a, 0x59, 0x39, 0x96, 0x62, 0xf6, 0xcb, 0xd3, - 0x69, 0xa3, 0xf2, 0x73, 0xda, 0x78, 0x84, 0x89, 0x38, 0x18, 0xb9, 0xba, 0xc7, 0x7c, 0x79, 0x87, - 0xf2, 0xa7, 0xc5, 0x07, 0xef, 0x0d, 0xf1, 0x61, 0x88, 0xb8, 0xbe, 0x4b, 0xc5, 0xf9, 0x49, 0x0b, - 0x4a, 0xb9, 0xbb, 0x54, 0x14, 0x57, 0x2c, 0x57, 0x8f, 0xac, 0x62, 0x9f, 0x01, 0xbc, 0x9f, 0xaf, - 0x69, 0x94, 0x21, 0x7f, 0xf3, 0xe5, 0x75, 0xfb, 0xcf, 0xf7, 0xbb, 0x09, 0x1f, 0x96, 0x68, 0xc9, - 0x34, 0x1f, 0x83, 0x3f, 0xfb, 0x20, 0xc5, 0xbd, 0x0e, 0x98, 0x7f, 0x0b, 0xaa, 0x1f, 0xc3, 0xcd, - 0x52, 0x35, 0xa9, 0x6e, 0xeb, 0xd3, 0x12, 0x5c, 0xdc, 0xe3, 0x58, 0x11, 0x50, 0x29, 0x98, 0xb1, - 0x6d, 0xbd, 0x60, 0xc8, 0xf5, 0xc2, 0x7e, 0x57, 0xad, 0xeb, 0x63, 0xd3, 0xd3, 0x73, 0xa7, 0xe6, - 0xe7, 0x62, 0xde, 0xa9, 0x39, 0xec, 0xdc, 0x53, 0x0b, 0xfa, 0x4b, 0xf9, 0x08, 0x60, 0xfd, 0x9f, - 0xcd, 0x65, 0xce, 0xb5, 0x71, 0x85, 0xa1, 0x3e, 0xbf, 0x29, 0x23, 0x13, 0x72, 0x0c, 0xa0, 0x5a, - 0xd2, 0x31, 0xd6, 0xb5, 0x13, 0x67, 0x1c, 0xf5, 0xc5, 0xcd, 0x39, 0xa9, 0x9c, 0xce, 0xdb, 0x8b, - 0x5f, 0x1a, 0xf8, 0x1e, 0x6a, 0xe0, 0x34, 0xd4, 0xc0, 0x59, 0xa8, 0x81, 0x8b, 0x50, 0x03, 0x5f, - 0x67, 0x5a, 0xe5, 0x6c, 0xa6, 0x55, 0x7e, 0xcc, 0xb4, 0xca, 0xfe, 0x76, 0x6e, 0xf0, 0x4d, 0x7c, - 0xe8, 0xb8, 0xdc, 0x30, 0x71, 0xcb, 0x8b, 0x1e, 0x0e, 0xe3, 0x28, 0xfb, 0x54, 0xc4, 0x0f, 0x80, - 0xbb, 0x1c, 0x3f, 0xe0, 0x4f, 0x7e, 0x07, 0x00, 0x00, 0xff, 0xff, 0x6e, 0x5d, 0x0b, 0x0a, 0x46, - 0x06, 0x00, 0x00, + 0xd2, 0xc1, 0x1b, 0xb8, 0x3a, 0xc1, 0xde, 0x81, 0x43, 0x68, 0x1f, 0x05, 0x9e, 0x65, 0xf6, 0x9d, + 0x04, 0x18, 0x1b, 0xaa, 0x76, 0xee, 0x85, 0xd3, 0x46, 0x6d, 0x1f, 0x77, 0x23, 0x40, 0x2c, 0x45, + 0xe6, 0xb1, 0x6b, 0x92, 0xb5, 0x13, 0x91, 0xe4, 0xa6, 0xd2, 0xcb, 0xca, 0xb1, 0x14, 0xb3, 0x5f, + 0x9e, 0x4e, 0x1b, 0x95, 0x9f, 0xd3, 0xc6, 0x23, 0x4c, 0xc4, 0xc1, 0xc8, 0xd5, 0x3d, 0xe6, 0xcb, + 0x3b, 0x94, 0x3f, 0x2d, 0x3e, 0x78, 0x6f, 0x88, 0x0f, 0x43, 0xc4, 0xf5, 0x5d, 0x2a, 0xce, 0x4f, + 0x5a, 0x50, 0xca, 0xdd, 0xa5, 0xa2, 0xb8, 0x62, 0xb9, 0x7a, 0x64, 0x15, 0xfb, 0x0c, 0xe0, 0xfd, + 0x7c, 0x4d, 0xa3, 0x0c, 0xf9, 0x9b, 0x2f, 0xaf, 0xdb, 0x7f, 0xbe, 0xdf, 0x4d, 0xf8, 0xb0, 0x44, + 0x4b, 0xa6, 0xf9, 0x18, 0xfc, 0xd9, 0x07, 0x29, 0xee, 0x75, 0xc0, 0xfc, 0x5b, 0x50, 0xfd, 0x18, + 0x6e, 0x96, 0xaa, 0x49, 0x75, 0x5b, 0x9f, 0x96, 0xe0, 0xe2, 0x1e, 0xc7, 0x8a, 0x80, 0x4a, 0xc1, + 0x8c, 0x6d, 0xeb, 0x05, 0x43, 0xae, 0x17, 0xf6, 0xbb, 0x6a, 0x5d, 0x1f, 0x9b, 0x9e, 0x9e, 0x3b, + 0x35, 0x3f, 0x17, 0xf3, 0x4e, 0xcd, 0x61, 0xe7, 0x9e, 0x5a, 0xd0, 0x5f, 0xca, 0x47, 0x00, 0xeb, + 0xff, 0x6c, 0x2e, 0x73, 0xae, 0x8d, 0x2b, 0x0c, 0xf5, 0xf9, 0x4d, 0x19, 0x99, 0x90, 0x63, 0x00, + 0xd5, 0x92, 0x8e, 0xb1, 0xae, 0x9d, 0x38, 0xe3, 0xa8, 0x2f, 0x6e, 0xce, 0x49, 0xe5, 0x74, 0xde, + 0x5e, 0xfc, 0xd2, 0xc0, 0xf7, 0x50, 0x03, 0xa7, 0xa1, 0x06, 0xce, 0x42, 0x0d, 0x5c, 0x84, 0x1a, + 0xf8, 0x3a, 0xd3, 0x2a, 0x67, 0x33, 0xad, 0xf2, 0x63, 0xa6, 0x55, 0xf6, 0xb7, 0x73, 0x83, 0x6f, + 0xe2, 0x43, 0xc7, 0xe5, 0x86, 0x89, 0x5b, 0xf1, 0xc3, 0x61, 0x1c, 0x65, 0x9f, 0x8a, 0xf8, 0x01, + 0x70, 0x97, 0xe3, 0x07, 0xfc, 0xc9, 0xef, 0x00, 0x00, 0x00, 0xff, 0xff, 0x2f, 0xc2, 0xb2, 0xda, + 0x46, 0x06, 0x00, 0x00, } func (this *MsgConvertCoinToERC20) VerboseEqual(that interface{}) error { diff --git a/x/pricefeed/types/key_test.go b/x/pricefeed/types/key_test.go index f5eca1ba..b7cab46e 100644 --- a/x/pricefeed/types/key_test.go +++ b/x/pricefeed/types/key_test.go @@ -3,13 +3,14 @@ package types import ( "testing" + "github.com/0glabs/0g-chain/chaincfg" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/stretchr/testify/require" ) func TestRawPriceKey_Iteration(t *testing.T) { // An iterator key should only match price keys with the same market - iteratorKey := RawPriceIteratorKey("a0gi:usd") + iteratorKey := RawPriceIteratorKey(chaincfg.AuxiliaryDenom + ":usd") addr := sdk.AccAddress("test addr") @@ -20,12 +21,12 @@ func TestRawPriceKey_Iteration(t *testing.T) { }{ { name: "equal marketID is included in iteration", - priceKey: RawPriceKey("a0gi:usd", addr), + priceKey: RawPriceKey(chaincfg.AuxiliaryDenom+":usd", addr), expectErr: false, }, { name: "prefix overlapping marketID excluded from iteration", - priceKey: RawPriceKey("a0gi:usd:30", addr), + priceKey: RawPriceKey(chaincfg.AuxiliaryDenom+":usd:30", addr), expectErr: true, }, } diff --git a/x/validator-vesting/querier.go b/x/validator-vesting/querier.go index 92c44027..77d21abf 100644 --- a/x/validator-vesting/querier.go +++ b/x/validator-vesting/querier.go @@ -9,12 +9,13 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/0glabs/0g-chain/chaincfg" "github.com/0glabs/0g-chain/x/validator-vesting/types" abci "github.com/tendermint/tendermint/abci/types" ) -const SafuFund int64 = 10000000 // 10 million A0GI +const SafuFund int64 = 10000000 // 10 million (auxiliary denom) // NewQuerier is the module level router for state queries func NewQuerier(bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { @@ -41,7 +42,7 @@ func NewQuerier(bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Qu } func queryGetTotalSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { - totalSupply := bk.GetSupply(ctx, "ua0gi").Amount + totalSupply := bk.GetSupply(ctx, chaincfg.AuxiliaryDenom).Amount supplyInt := sdk.NewDecFromInt(totalSupply).Mul(sdk.MustNewDecFromStr("0.000001")).TruncateInt64() bz, err := legacyQuerierCdc.MarshalJSON(supplyInt) if err != nil { @@ -51,7 +52,7 @@ func queryGetTotalSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKe } func queryGetCirculatingSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { - totalSupply := bk.GetSupply(ctx, "ua0gi").Amount + totalSupply := bk.GetSupply(ctx, chaincfg.AuxiliaryDenom).Amount supplyInt := getCirculatingSupply(ctx.BlockTime(), totalSupply) bz, err := legacyQuerierCdc.MarshalJSON(supplyInt) if err != nil { From 838a2d9ae9b041ae8e40398b27b61bd18ef7fdfa Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Fri, 10 May 2024 14:31:49 +0800 Subject: [PATCH 5/6] rename denoms --- Makefile | 2 +- app/_simulate_tx_test.go | 4 +- app/ante/ante_test.go | 4 +- app/ante/authorized_test.go | 8 +- app/ante/authz_test.go | 6 +- app/ante/eip712_test.go | 18 +- app/ante/min_gas_filter_test.go | 2 +- app/ante/vesting_test.go | 6 +- app/test_common.go | 8 +- chaincfg/coin_helper.go | 8 +- chaincfg/denoms.go | 20 +- chaincfg/denoms_test.go | 32 +- client/docs/cosmos-swagger.yml | 10 +- client/docs/ibc-go-swagger.yml | 20 +- client/docs/swagger-ui/swagger.yaml | 30 +- cmd/0gchaind/root.go | 4 +- localtestnet.sh | 2 +- migrate/utils/periodic_vesting_reset_test.go | 46 +- tests/e2e/e2e_convert_cosmos_coins_test.go | 14 +- tests/e2e/e2e_evm_contracts_test.go | 20 +- tests/e2e/e2e_min_fees_test.go | 10 +- tests/e2e/e2e_test.go | 36 +- tests/e2e/e2e_upgrade_gov_and_authz_test.go | 6 +- tests/e2e/runner/chain.go | 2 +- tests/e2e/testutil/account.go | 2 +- .../proto/cosmos/bank/v1beta1/bank.proto | 2 +- third_party/proto/cosmos/tx/v1beta1/tx.proto | 6 +- .../applications/transfer/v1/transfer.proto | 4 +- x/bep3/keeper/msg_server_test.go | 2 +- x/bep3/keeper/querier_test.go | 2 +- x/bep3/types/genesis_test.go | 2 +- x/bep3/types/supply_test.go | 2 +- x/committee/keeper/msg_server_test.go | 2 +- x/council/v1/client/cli/tx.go | 2 +- x/evmutil/keeper/bank_keeper.go | 168 +++---- x/evmutil/keeper/bank_keeper_test.go | 456 +++++++++--------- x/evmutil/keeper/invariants.go | 2 +- x/evmutil/keeper/invariants_test.go | 6 +- x/evmutil/keeper/keeper.go | 12 +- x/evmutil/testutil/suite.go | 32 +- x/evmutil/types/conversion_pairs_test.go | 12 +- x/evmutil/types/params_test.go | 4 +- x/pricefeed/types/key_test.go | 6 +- x/validator-vesting/querier.go | 6 +- 44 files changed, 524 insertions(+), 524 deletions(-) diff --git a/Makefile b/Makefile index 9f2bb393..b8b7ab88 100644 --- a/Makefile +++ b/Makefile @@ -78,7 +78,7 @@ print-machine-info: BUILD_DIR := build# build files BIN_DIR := $(BUILD_DIR)/bin# for binary dev dependencies BUILD_CACHE_DIR := $(BUILD_DIR)/.cache# caching for non-artifact outputs -OUT_DIR := out# for artifact intermediates and outputs +OUT_DIR := ./.build# for artifact intermediates and outputs ROOT_DIR := $(patsubst %/,%,$(dir $(abspath $(lastword $(MAKEFILE_LIST)))))# absolute path to root export PATH := $(ROOT_DIR)/$(BIN_DIR):$(PATH)# add local bin first in path diff --git a/app/_simulate_tx_test.go b/app/_simulate_tx_test.go index 15c4cfec..5957ba18 100644 --- a/app/_simulate_tx_test.go +++ b/app/_simulate_tx_test.go @@ -62,11 +62,11 @@ func (suite *SimulateRequestTestSuite) TestSimulateRequest() { bank.MsgSend{ FromAddress: fromAddr, ToAddress: toAddr, - Amount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e6)), + Amount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e6)), }, }, Fee: auth.StdFee{ - Amount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(5e4)), + Amount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(5e4)), Gas: 1e6, }, Memo: "test memo", diff --git a/app/ante/ante_test.go b/app/ante/ante_test.go index ed979248..f3891a56 100644 --- a/app/ante/ante_test.go +++ b/app/ante/ante_test.go @@ -66,7 +66,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { chainID, app.NewFundedGenStateWithSameCoins( tApp.AppCodec(), - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e9)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e9)), testAddresses, ), newBep3GenStateMulti(tApp.AppCodec(), deputy), @@ -114,7 +114,7 @@ func TestAppAnteHandler_AuthorizedMempool(t *testing.T) { banktypes.NewMsgSend( tc.address, testAddresses[0], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1_000_000)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1_000_000)), ), }, sdk.NewCoins(), // no fee diff --git a/app/ante/authorized_test.go b/app/ante/authorized_test.go index d9dd327a..9f63c899 100644 --- a/app/ante/authorized_test.go +++ b/app/ante/authorized_test.go @@ -46,7 +46,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_NotCheckTx(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100_000_000)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100_000_000)), ), }, sdk.NewCoins(), // no fee @@ -81,12 +81,12 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Pass(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), ), banktypes.NewMsgSend( testAddresses[2], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), ), }, sdk.NewCoins(), // no fee @@ -122,7 +122,7 @@ func TestAuthenticatedMempoolDecorator_AnteHandle_Reject(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), ), }, sdk.NewCoins(), // no fee diff --git a/app/ante/authz_test.go b/app/ante/authz_test.go index 4178728c..bbf9a392 100644 --- a/app/ante/authz_test.go +++ b/app/ante/authz_test.go @@ -59,7 +59,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100e6)), ), }, checkTx: false, @@ -129,7 +129,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { []sdk.Msg{banktypes.NewMsgSend( testAddresses[0], testAddresses[3], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100e6)), )}), }, checkTx: false, @@ -162,7 +162,7 @@ func TestAuthzLimiterDecorator(t *testing.T) { banktypes.NewMsgSend( testAddresses[0], testAddresses[3], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100e6)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100e6)), ), &evmtypes.MsgEthereumTx{}, }, diff --git a/app/ante/eip712_test.go b/app/ante/eip712_test.go index 0370d608..13904f60 100644 --- a/app/ante/eip712_test.go +++ b/app/ante/eip712_test.go @@ -156,7 +156,7 @@ func (suite *EIP712TestSuite) SetupTest() { // Genesis states evmGs := evmtypes.NewGenesisState( evmtypes.NewParams( - chaincfg.BaseDenom, // evmDenom + chaincfg.EvmDenom, // evmDenom false, // allowedUnprotectedTxs true, // enableCreate true, // enableCall @@ -222,10 +222,10 @@ func (suite *EIP712TestSuite) SetupTest() { pricefeedtypes.ModuleName: cdc.MustMarshalJSON(&pricefeedGenState), } - // funds our test accounts with some auxiliary denom + // funds our test accounts with some gas denom coinsGenState := app.NewFundedGenStateWithSameCoins( tApp.AppCodec(), - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e9)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e9)), []sdk.AccAddress{suite.testAddr, suite.testAddr2}, ) @@ -370,7 +370,7 @@ func (suite *EIP712TestSuite) deployUSDCERC20(app app.TestApp, ctx sdk.Context) suite.tApp.FundModuleAccount( suite.ctx, evmutiltypes.ModuleName, - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(0)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(0)), ) contractAddr, err := suite.evmutilKeeper.DeployTestMintableERC20Contract(suite.ctx, "USDC", "USDC", uint8(18)) @@ -470,7 +470,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { errMsg: "insufficient funds", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { bk := suite.tApp.GetBankKeeper() - gasCoins := bk.GetBalance(suite.ctx, suite.testAddr, chaincfg.AuxiliaryDenom) + gasCoins := bk.GetBalance(suite.ctx, suite.testAddr, chaincfg.GasDenom) suite.tApp.GetBankKeeper().SendCoins(suite.ctx, suite.testAddr, suite.testAddr2, sdk.NewCoins(gasCoins)) return txBuilder }, @@ -482,7 +482,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { failCheckTx: true, errMsg: "invalid chain-id", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { - gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForGasDenom(20)) return suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, "kavatest_12-1", uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -495,7 +495,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { failCheckTx: true, errMsg: "invalid pubkey", updateTx: func(txBuilder client.TxBuilder, msgs []sdk.Msg) client.TxBuilder { - gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForGasDenom(20)) return suite.createTestEIP712CosmosTxBuilder( suite.testAddr2, suite.testPrivKey2, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -523,7 +523,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx() { msgs = tc.updateMsgs(msgs) } - gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForGasDenom(20)) txBuilder := suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, msgs, ) @@ -597,7 +597,7 @@ func (suite *EIP712TestSuite) TestEIP712Tx_DepositAndWithdraw() { } // deliver deposit msg - gasAmt := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(20)) + gasAmt := sdk.NewCoins(chaincfg.MakeCoinForGasDenom(20)) txBuilder := suite.createTestEIP712CosmosTxBuilder( suite.testAddr, suite.testPrivKey, ChainID, uint64(helpers.DefaultGenTxGas*10), gasAmt, depositMsgs, ) diff --git a/app/ante/min_gas_filter_test.go b/app/ante/min_gas_filter_test.go index f49c333b..39fff013 100644 --- a/app/ante/min_gas_filter_test.go +++ b/app/ante/min_gas_filter_test.go @@ -31,7 +31,7 @@ func TestEvmMinGasFilter(t *testing.T) { ctx := tApp.NewContext(true, tmproto.Header{Height: 1, Time: tmtime.Now()}) tApp.GetEvmKeeper().SetParams(ctx, evmtypes.Params{ - EvmDenom: chaincfg.BaseDenom, + EvmDenom: chaincfg.EvmDenom, }) testCases := []struct { diff --git a/app/ante/vesting_test.go b/app/ante/vesting_test.go index 5e5d5789..048a5563 100644 --- a/app/ante/vesting_test.go +++ b/app/ante/vesting_test.go @@ -34,7 +34,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "MsgCreateVestingAccount", vesting.NewMsgCreateVestingAccount( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), time.Date(1998, 1, 1, 0, 0, 0, 0, time.UTC).Unix(), false, ), @@ -45,7 +45,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "MsgCreateVestingAccount", vesting.NewMsgCreatePermanentLockedAccount( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), ), true, "MsgTypeURL /cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount not supported", @@ -64,7 +64,7 @@ func TestVestingMempoolDecorator_MsgCreateVestingAccount_Unauthorized(t *testing "other messages not affected", banktypes.NewMsgSend( testAddresses[0], testAddresses[1], - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100)), ), false, "", diff --git a/app/test_common.go b/app/test_common.go index aa51bb56..4eadb7c2 100644 --- a/app/test_common.go +++ b/app/test_common.go @@ -149,7 +149,7 @@ func GenesisStateWithSingleValidator( balances := []banktypes.Balance{ { Address: acc.GetAddress().String(), - Coins: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(100000000000000)), + Coins: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(100000000000000)), }, } @@ -212,7 +212,7 @@ func genesisStateWithValSet( } // set validators and delegations currentStakingGenesis := stakingtypes.GetGenesisStateFromAppState(app.appCodec, genesisState) - currentStakingGenesis.Params.BondDenom = chaincfg.AuxiliaryDenom // TODO: + currentStakingGenesis.Params.BondDenom = chaincfg.GasDenom // TODO: stakingGenesis := stakingtypes.NewGenesisState( currentStakingGenesis.Params, @@ -232,13 +232,13 @@ func genesisStateWithValSet( for range delegations { // add delegated tokens to total supply - totalSupply = totalSupply.Add(chaincfg.MakeCoinForAuxiliaryDenom(bondAmt)) + totalSupply = totalSupply.Add(chaincfg.MakeCoinForGasDenom(bondAmt)) } // add bonded amount to bonded pool module account balances = append(balances, banktypes.Balance{ Address: authtypes.NewModuleAddress(stakingtypes.BondedPoolName).String(), - Coins: sdk.Coins{chaincfg.MakeCoinForAuxiliaryDenom(bondAmt)}, + Coins: sdk.Coins{chaincfg.MakeCoinForGasDenom(bondAmt)}, }) bankGenesis := banktypes.NewGenesisState( diff --git a/chaincfg/coin_helper.go b/chaincfg/coin_helper.go index 6f50b282..fb525197 100644 --- a/chaincfg/coin_helper.go +++ b/chaincfg/coin_helper.go @@ -44,12 +44,12 @@ func MakeCoinForStandardDenom(amount any) sdk.Coin { return makeCoin(StandardDenom, toBigInt(amount)) } -func MakeCoinForAuxiliaryDenom(amount any) sdk.Coin { - return makeCoin(AuxiliaryDenom, toBigInt(amount)) +func MakeCoinForGasDenom(amount any) sdk.Coin { + return makeCoin(GasDenom, toBigInt(amount)) } -func MakeCoinForBaseDenom(amount any) sdk.Coin { - return makeCoin(BaseDenom, toBigInt(amount)) +func MakeCoinForEvmDenom(amount any) sdk.Coin { + return makeCoin(EvmDenom, toBigInt(amount)) } func makeCoin(denom string, amount *big.Int) sdk.Coin { diff --git a/chaincfg/denoms.go b/chaincfg/denoms.go index 1ced4532..6d251643 100644 --- a/chaincfg/denoms.go +++ b/chaincfg/denoms.go @@ -7,31 +7,31 @@ import ( const ( StandardDenom = "a0gi" - AuxiliaryDenom = "ua0gi" + GasDenom = "ua0gi" - BaseDenom = "neuron" + EvmDenom = "neuron" - BondDenom = BaseDenom + BondDenom = EvmDenom - AuxiliaryDenomUnit = 6 + GasDenomUnit = 6 - BaseDenomUnit = 18 + EvmDenomUnit = 18 - AuxiliaryDenomConversionMultiplier = 1e12 - BaseDenomConversionMultiplier = 1e18 + GasDenomConversionMultiplier = 1e12 + EvmDenomConversionMultiplier = 1e18 ) -// RegisterDenoms registers the base and auxiliary denominations to the SDK. +// RegisterDenoms registers the base and gas denominations to the SDK. func RegisterDenoms() { if err := sdk.RegisterDenom(StandardDenom, sdk.OneDec()); err != nil { panic(err) } - if err := sdk.RegisterDenom(AuxiliaryDenom, sdk.NewDecWithPrec(1, AuxiliaryDenomUnit)); err != nil { + if err := sdk.RegisterDenom(GasDenom, sdk.NewDecWithPrec(1, GasDenomUnit)); err != nil { panic(err) } - if err := sdk.RegisterDenom(BaseDenom, sdk.NewDecWithPrec(1, BaseDenomUnit)); err != nil { + if err := sdk.RegisterDenom(EvmDenom, sdk.NewDecWithPrec(1, EvmDenomUnit)); err != nil { panic(err) } } diff --git a/chaincfg/denoms_test.go b/chaincfg/denoms_test.go index 5c0fb989..9cbaa09f 100644 --- a/chaincfg/denoms_test.go +++ b/chaincfg/denoms_test.go @@ -17,15 +17,15 @@ func TestRegisterDenoms(t *testing.T) { expErr error }{ { - "standard to auxiliary", + "standard to gas", MakeCoinForStandardDenom(99), - AuxiliaryDenom, - MakeCoinForAuxiliaryDenom(99 * (BaseDenomConversionMultiplier / AuxiliaryDenomConversionMultiplier)), + GasDenom, + MakeCoinForGasDenom(99 * (EvmDenomConversionMultiplier / GasDenomConversionMultiplier)), nil, }, { - "auxiliary to standard", - MakeCoinForAuxiliaryDenom(5e7), + "gas to standard", + MakeCoinForGasDenom(5e7), StandardDenom, MakeCoinForStandardDenom(50), nil, @@ -33,29 +33,29 @@ func TestRegisterDenoms(t *testing.T) { { "standard to base", MakeCoinForStandardDenom(22), - BaseDenom, - MakeCoinForBaseDenom(22 * BaseDenomConversionMultiplier), + EvmDenom, + MakeCoinForEvmDenom(22 * EvmDenomConversionMultiplier), nil, }, { "base to standard", - MakeCoinForBaseDenom("97000000000000000000"), + MakeCoinForEvmDenom("97000000000000000000"), StandardDenom, MakeCoinForStandardDenom(97), nil, }, { - "auxiliary to base", - MakeCoinForAuxiliaryDenom(33), - BaseDenom, - MakeCoinForBaseDenom(33 * AuxiliaryDenomConversionMultiplier), + "gas to base", + MakeCoinForGasDenom(33), + EvmDenom, + MakeCoinForEvmDenom(33 * GasDenomConversionMultiplier), nil, }, { - "base to auxiliary", - MakeCoinForBaseDenom("770000000000000"), - AuxiliaryDenom, - MakeCoinForAuxiliaryDenom(770000000000000 / AuxiliaryDenomConversionMultiplier), + "base to gas", + MakeCoinForEvmDenom("770000000000000"), + GasDenom, + MakeCoinForGasDenom(770000000000000 / GasDenomConversionMultiplier), nil, }, } diff --git a/client/docs/cosmos-swagger.yml b/client/docs/cosmos-swagger.yml index 1fa424c0..dccd95c2 100644 --- a/client/docs/cosmos-swagger.yml +++ b/client/docs/cosmos-swagger.yml @@ -3121,7 +3121,7 @@ paths: base: type: string description: >- - base represents the base denom (should be the DenomUnit + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -3328,7 +3328,7 @@ paths: base: type: string description: >- - base represents the base denom (should be the DenomUnit + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -35597,7 +35597,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with exponent + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -35764,7 +35764,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -35920,7 +35920,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string diff --git a/client/docs/ibc-go-swagger.yml b/client/docs/ibc-go-swagger.yml index c750fda6..a6cabe17 100644 --- a/client/docs/ibc-go-swagger.yml +++ b/client/docs/ibc-go-swagger.yml @@ -129,9 +129,9 @@ paths: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -265,9 +265,9 @@ paths: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -13499,9 +13499,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens and + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -13557,9 +13557,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -13583,9 +13583,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. diff --git a/client/docs/swagger-ui/swagger.yaml b/client/docs/swagger-ui/swagger.yaml index 803f7418..412e9e5e 100644 --- a/client/docs/swagger-ui/swagger.yaml +++ b/client/docs/swagger-ui/swagger.yaml @@ -16331,7 +16331,7 @@ paths: base: type: string description: >- - base represents the base denom (should be the DenomUnit + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -16538,7 +16538,7 @@ paths: base: type: string description: >- - base represents the base denom (should be the DenomUnit + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -39228,9 +39228,9 @@ paths: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -39364,9 +39364,9 @@ paths: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -58047,7 +58047,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with exponent + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -58214,7 +58214,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -58370,7 +58370,7 @@ definitions: base: type: string description: >- - base represents the base denom (should be the DenomUnit with + base represents the evm denom (should be the DenomUnit with exponent = 0). display: type: string @@ -81239,9 +81239,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens and + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -81297,9 +81297,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. @@ -81323,9 +81323,9 @@ definitions: source of the fungible token. base_denom: type: string - description: base denomination of the relayed fungible token. + description: evm denomination of the relayed fungible token. description: >- - DenomTrace contains the base denomination for ICS20 fungible tokens + DenomTrace contains the evm denomination for ICS20 fungible tokens and the source tracing information path. diff --git a/cmd/0gchaind/root.go b/cmd/0gchaind/root.go index 78f2593a..fab91152 100644 --- a/cmd/0gchaind/root.go +++ b/cmd/0gchaind/root.go @@ -72,7 +72,7 @@ func NewRootCmd() *cobra.Command { return err } - customAppTemplate, customAppConfig := servercfg.AppConfig(chaincfg.AuxiliaryDenom) + customAppTemplate, customAppConfig := servercfg.AppConfig(chaincfg.GasDenom) return server.InterceptConfigsPreRunHandler( cmd, @@ -123,7 +123,7 @@ func addSubCmds(rootCmd *cobra.Command, encodingConfig params.EncodingConfig, de ac.addStartCmdFlags, ) - // add keybase, auxiliary RPC, query, and tx child commands + // add keybase, gas RPC, query, and tx child commands rootCmd.AddCommand( newQueryCmd(), newTxCmd(), diff --git a/localtestnet.sh b/localtestnet.sh index aab02408..33846044 100755 --- a/localtestnet.sh +++ b/localtestnet.sh @@ -24,7 +24,7 @@ DATA=~/.0gchain # remove any old state and config rm -rf $DATA -BINARY=0gchaind +BINARY=./.build/0gchaind # Create new data directory, overwriting any that alread existed chainID="zgchain_8888-1" diff --git a/migrate/utils/periodic_vesting_reset_test.go b/migrate/utils/periodic_vesting_reset_test.go index 0ec44cd8..5424eb93 100644 --- a/migrate/utils/periodic_vesting_reset_test.go +++ b/migrate/utils/periodic_vesting_reset_test.go @@ -42,7 +42,7 @@ func TestResetPeriodVestingAccount_NoVestingPeriods(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_Vested(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -65,7 +65,7 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_Vested(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_Vesting(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -98,7 +98,7 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_Vesting(t *testing.T) { } func TestResetPeriodVestingAccount_SingleVestingPeriod_ExactStartTime(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ @@ -126,25 +126,25 @@ func TestResetPeriodVestingAccount_SingleVestingPeriod_ExactStartTime(t *testing } func TestResetPeriodVestingAccount_MultiplePeriods(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(4e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(4e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +30 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, } @@ -160,36 +160,36 @@ func TestResetPeriodVestingAccount_MultiplePeriods(t *testing.T) { expectedPeriods := []vestingtypes.Period{ { Length: 15 * 24 * 60 * 60, // 15 days - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, { Length: 15 * 24 * 60 * 60, // 15 days - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, } - assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2e6))), vacc.OriginalVesting, "expected original vesting to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(2e6))), vacc.OriginalVesting, "expected original vesting to be updated") assert.Equal(t, newVestingStartTime.Unix(), vacc.StartTime, "expected vesting start time to be updated") assert.Equal(t, expectedEndtime, vacc.EndTime, "expected vesting end time end at last period") assert.Equal(t, expectedPeriods, vacc.VestingPeriods, "expected vesting periods to be updated") } func TestResetPeriodVestingAccount_DelegatedVesting_GreaterThanVesting(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(3e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(3e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, } @@ -199,35 +199,35 @@ func TestResetPeriodVestingAccount_DelegatedVesting_GreaterThanVesting(t *testin newVestingStartTime := vestingStartTime.Add(30 * 24 * time.Hour) ResetPeriodicVestingAccount(vacc, newVestingStartTime) - assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2e6))), vacc.DelegatedFree, "expected delegated free to be updated") - assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(2e6))), vacc.DelegatedFree, "expected delegated free to be updated") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be updated") } func TestResetPeriodVestingAccount_DelegatedVesting_LessThanVested(t *testing.T) { - balance := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(3e6))) + balance := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(3e6))) vestingStartTime := time.Now().Add(-30 * 24 * time.Hour) // 30 days in past periods := vestingtypes.Periods{ vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // -15 days - vested - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // 0 days - exact on the start time - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, vestingtypes.Period{ Length: 15 * 24 * 60 * 60, // +15 days - vesting - Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), + Amount: sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), }, } vacc := createVestingAccount(balance, vestingStartTime, periods) - vacc.TrackDelegation(vestingStartTime, balance, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6)))) + vacc.TrackDelegation(vestingStartTime, balance, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6)))) newVestingStartTime := vestingStartTime.Add(30 * 24 * time.Hour) ResetPeriodicVestingAccount(vacc, newVestingStartTime) assert.Equal(t, sdk.Coins(nil), vacc.DelegatedFree, "expected delegrated free to be unmodified") - assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be unmodified") + assert.Equal(t, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(1e6))), vacc.DelegatedVesting, "expected delegated vesting to be unmodified") } diff --git a/tests/e2e/e2e_convert_cosmos_coins_test.go b/tests/e2e/e2e_convert_cosmos_coins_test.go index 7aee4a3c..4c52e2c9 100644 --- a/tests/e2e/e2e_convert_cosmos_coins_test.go +++ b/tests/e2e/e2e_convert_cosmos_coins_test.go @@ -64,7 +64,7 @@ func (suite *IntegrationTestSuite) setupAccountWithCosmosCoinERC20Balance( tx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&msg}, GasLimit: 4e5, - FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(400)), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(400)), Data: "converting sdk coin to erc20", } res := user.SignAndBroadcastZgChainTx(tx) @@ -103,7 +103,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoinsToFromERC20() { tx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertToErc20Msg}, GasLimit: 2e6, - FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(2000)), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(2000)), Data: "converting sdk coin to erc20", } res := user.SignAndBroadcastZgChainTx(tx) @@ -145,7 +145,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoinsToFromERC20() { tx = util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertFromErc20Msg}, GasLimit: 2e5, - FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(200)), Data: "converting erc20 to cosmos coin", } res = user.SignAndBroadcastZgChainTx(tx) @@ -184,7 +184,7 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() { user, suite.ZgChain, 2e6, - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e4)), []sdk.Msg{&convertToErc20Msg}, "this is a memo", ).GetTx() @@ -238,7 +238,7 @@ func (suite *IntegrationTestSuite) TestEIP712ConvertCosmosCoinsToFromERC20() { user, suite.ZgChain, 2e5, - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(200)), []sdk.Msg{&convertFromErc20Msg}, "", ).GetTx() @@ -332,7 +332,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoins_ERC20Magic() { "cosmo-coin-converter-complex-alice", initialAliceAmount, ) - gasMoney := sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e5)) + gasMoney := sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e5)) bob := suite.ZgChain.NewFundedAccount("cosmo-coin-converter-complex-bob", gasMoney) amount := big.NewInt(1e3) // test assumes this is half of alice's balance. @@ -413,7 +413,7 @@ func (suite *IntegrationTestSuite) TestConvertCosmosCoins_ERC20Magic() { convertTx := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{&convertMsg}, GasLimit: 2e5, - FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(200)), + FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(200)), Data: "bob converts his new erc20 to an sdk.Coin", } convertRes := bob.SignAndBroadcastZgChainTx(convertTx) diff --git a/tests/e2e/e2e_evm_contracts_test.go b/tests/e2e/e2e_evm_contracts_test.go index 1a3b8793..fe41e9ce 100644 --- a/tests/e2e/e2e_evm_contracts_test.go +++ b/tests/e2e/e2e_evm_contracts_test.go @@ -20,7 +20,7 @@ func (suite *IntegrationTestSuite) TestEthCallToGreeterContract() { // this test manipulates state of the Greeter contract which means other tests shouldn't use it. // setup funded account to interact with contract - user := suite.ZgChain.NewFundedAccount("greeter-contract-user", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e6))) + user := suite.ZgChain.NewFundedAccount("greeter-contract-user", sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e6))) greeterAddr := suite.ZgChain.ContractAddrs["greeter"] contract, err := greeter.NewGreeter(greeterAddr, suite.ZgChain.EvmClient) @@ -63,12 +63,12 @@ func (suite *IntegrationTestSuite) TestEthCallToErc20() { func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // create new funded account - sender := suite.ZgChain.NewFundedAccount("eip712-msgSend", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(2e4))) + sender := suite.ZgChain.NewFundedAccount("eip712-msgSend", sdk.NewCoins(chaincfg.MakeCoinForGasDenom(2e4))) receiver := app.RandomAddress() - // setup message for sending some auxiliary denom to random receiver + // setup message for sending some gas denom to random receiver msgs := []sdk.Msg{ - banktypes.NewMsgSend(sender.SdkAddress, receiver, sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e3))), + banktypes.NewMsgSend(sender.SdkAddress, receiver, sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e3))), } // create tx @@ -76,7 +76,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { sender, suite.ZgChain, 1e6, - sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), + sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e4)), msgs, "this is a memo", ).GetTx() @@ -95,10 +95,10 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { _, err = util.WaitForSdkTxCommit(suite.ZgChain.Tx, res.TxResponse.TxHash, 6*time.Second) suite.NoError(err) - // check that the message was processed & the auxiliary denom is transferred. + // check that the message was processed & the gas denom is transferred. balRes, err := suite.ZgChain.Bank.Balance(context.Background(), &banktypes.QueryBalanceRequest{ Address: receiver.String(), - Denom: chaincfg.AuxiliaryDenom, + Denom: chaincfg.GasDenom, }) suite.NoError(err) suite.Equal(sdk.NewInt(1e3), balRes.Balance.Amount) @@ -113,7 +113,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // sdkDenom := suite.DeployedErc20.CosmosDenom // // create new funded account -// depositor := suite.ZgChain.NewFundedAccount("eip712-lend-depositor", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e5))) +// depositor := suite.ZgChain.NewFundedAccount("eip712-lend-depositor", sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e5))) // // give them erc20 balance to deposit // fundRes := suite.FundZgChainErc20Balance(depositor.EvmAddress, amount.BigInt()) // suite.NoError(fundRes.Err) @@ -143,7 +143,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // depositor, // suite.ZgChain, // 1e6, -// sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e4)), +// sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e4)), // msgs, // "doing the USDT Earn workflow! erc20 -> sdk.Coin -> USDX hard deposit", // ).GetTx() @@ -189,7 +189,7 @@ func (suite *IntegrationTestSuite) TestEip712BasicMessageAuthorization() { // withdrawAndConvertBack := util.ZgChainMsgRequest{ // Msgs: []sdk.Msg{&withdraw, &convertBack}, // GasLimit: 1e6, -// FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1000)), +// FeeAmount: sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1000)), // Data: "withdrawing from mint & converting back to erc20", // } // lastRes := depositor.SignAndBroadcastZgChainTx(withdrawAndConvertBack) diff --git a/tests/e2e/e2e_min_fees_test.go b/tests/e2e/e2e_min_fees_test.go index 1a44bebe..888143a5 100644 --- a/tests/e2e/e2e_min_fees_test.go +++ b/tests/e2e/e2e_min_fees_test.go @@ -24,10 +24,10 @@ func (suite *IntegrationTestSuite) TestEthGasPriceReturnsMinFee() { minGasPrices, err := getMinFeeFromAppToml(util.ZgChainHomePath()) suite.NoError(err) - // evm uses base denom, get base denom min fee - evmMinGas := minGasPrices.AmountOf(chaincfg.BaseDenom).TruncateInt().BigInt() + // evm uses evm denom, get evm denom min fee + evmMinGas := minGasPrices.AmountOf(chaincfg.EvmDenom).TruncateInt().BigInt() - // returns eth_gasPrice, units in auxiliary denom + // returns eth_gasPrice, units in gas denom gasPrice, err := suite.ZgChain.EvmClient.SuggestGasPrice(context.Background()) suite.NoError(err) @@ -38,13 +38,13 @@ func (suite *IntegrationTestSuite) TestEvmRespectsMinFee() { suite.SkipIfKvtoolDisabled() // setup sender & receiver - sender := suite.ZgChain.NewFundedAccount("evm-min-fee-test-sender", sdk.NewCoins(chaincfg.MakeCoinForAuxiliaryDenom(1e3))) + sender := suite.ZgChain.NewFundedAccount("evm-min-fee-test-sender", sdk.NewCoins(chaincfg.MakeCoinForGasDenom(1e3))) randoReceiver := util.SdkToEvmAddress(app.RandomAddress()) // get min gas price for evm (from app.toml) minFees, err := getMinFeeFromAppToml(util.ZgChainHomePath()) suite.NoError(err) - minGasPrice := minFees.AmountOf(chaincfg.BaseDenom).TruncateInt() + minGasPrice := minFees.AmountOf(chaincfg.EvmDenom).TruncateInt() // attempt tx with less than min gas price (min fee - 1) tooLowGasPrice := minGasPrice.Sub(sdk.OneInt()).BigInt() diff --git a/tests/e2e/e2e_test.go b/tests/e2e/e2e_test.go index da977e26..be487c46 100644 --- a/tests/e2e/e2e_test.go +++ b/tests/e2e/e2e_test.go @@ -25,7 +25,7 @@ import ( ) var ( - minEvmGasPrice = big.NewInt(1e10) // base denom + minEvmGasPrice = big.NewInt(1e10) // evm denom ) type IntegrationTestSuite struct { @@ -54,7 +54,7 @@ func (suite *IntegrationTestSuite) TestChainID() { // example test that funds a new account & queries its balance func (suite *IntegrationTestSuite) TestFundedAccount() { - funds := chaincfg.MakeCoinForAuxiliaryDenom(1e3) + funds := chaincfg.MakeCoinForGasDenom(1e3) acc := suite.ZgChain.NewFundedAccount("example-acc", sdk.NewCoins(funds)) // check that the sdk & evm signers are for the same account @@ -63,21 +63,21 @@ func (suite *IntegrationTestSuite) TestFundedAccount() { // check balance via SDK query res, err := suite.ZgChain.Bank.Balance(context.Background(), banktypes.NewQueryBalanceRequest( - acc.SdkAddress, chaincfg.AuxiliaryDenom, + acc.SdkAddress, chaincfg.GasDenom, )) suite.NoError(err) suite.Equal(funds, *res.Balance) // check balance via EVM query - baseDenomBal, err := suite.ZgChain.EvmClient.BalanceAt(context.Background(), acc.EvmAddress, nil) + evmDenomBal, err := suite.ZgChain.EvmClient.BalanceAt(context.Background(), acc.EvmAddress, nil) suite.NoError(err) - suite.Equal(funds.Amount.MulRaw(1e12).BigInt(), baseDenomBal) + suite.Equal(funds.Amount.MulRaw(1e12).BigInt(), evmDenomBal) } // example test that signs & broadcasts an EVM tx func (suite *IntegrationTestSuite) TestTransferOverEVM() { // fund an account that can perform the transfer - initialFunds := chaincfg.MakeCoinForAuxiliaryDenom(1e6) // 1 (auxiliary denom) + initialFunds := chaincfg.MakeCoinForGasDenom(1e6) // 1 (gas denom) acc := suite.ZgChain.NewFundedAccount("evm-test-transfer", sdk.NewCoins(initialFunds)) // get a rando account to send 0gchain to @@ -89,10 +89,10 @@ func (suite *IntegrationTestSuite) TestTransferOverEVM() { suite.NoError(err) suite.Equal(uint64(0), nonce) // sanity check. the account should have no prior txs - // transfer auxiliary denom over EVM - AuxiliaryDenomToTransfer := big.NewInt(1e17) // .1 (auxiliary denom); base denom has 18 decimals. + // transfer gas denom over EVM + GasDenomToTransfer := big.NewInt(1e17) // .1 (gas denom); evm denom has 18 decimals. req := util.EvmTxRequest{ - Tx: ethtypes.NewTransaction(nonce, to, AuxiliaryDenomToTransfer, 1e5, minEvmGasPrice, nil), + Tx: ethtypes.NewTransaction(nonce, to, GasDenomToTransfer, 1e5, minEvmGasPrice, nil), Data: "any ol' data to track this through the system", } res := acc.SignAndBroadcastEvmTx(req) @@ -100,31 +100,31 @@ func (suite *IntegrationTestSuite) TestTransferOverEVM() { suite.Equal(ethtypes.ReceiptStatusSuccessful, res.Receipt.Status) // evm txs refund unused gas. so to know the expected balance we need to know how much gas was used. - AuxiliaryDenomUsedForGas := sdkmath.NewIntFromBigInt(minEvmGasPrice). + GasDenomUsedForGas := sdkmath.NewIntFromBigInt(minEvmGasPrice). Mul(sdkmath.NewIntFromUint64(res.Receipt.GasUsed)). - QuoRaw(1e12) // convert base denom to auxiliary denom + QuoRaw(1e12) // convert evm denom to gas denom - // expect (9 - gas used) (auxiliary denom) remaining in account. + // expect (9 - gas used) (gas denom) remaining in account. balance := suite.ZgChain.QuerySdkForBalances(acc.SdkAddress) - suite.Equal(sdkmath.NewInt(9e5).Sub(AuxiliaryDenomUsedForGas), balance.AmountOf(chaincfg.AuxiliaryDenom)) + suite.Equal(sdkmath.NewInt(9e5).Sub(GasDenomUsedForGas), balance.AmountOf(chaincfg.GasDenom)) } -// TestIbcTransfer transfers (auxiliary denom) from the primary 0g-chain (suite.ZgChain) to the ibc chain (suite.Ibc). +// TestIbcTransfer transfers (gas denom) from the primary 0g-chain (suite.ZgChain) to the ibc chain (suite.Ibc). // Note that because the IBC chain also runs 0g-chain's binary, this tests both the sending & receiving. func (suite *IntegrationTestSuite) TestIbcTransfer() { suite.SkipIfIbcDisabled() // ARRANGE // setup 0g-chain account - funds := chaincfg.MakeCoinForAuxiliaryDenom(1e5) // .1 (auxiliary denom) + funds := chaincfg.MakeCoinForGasDenom(1e5) // .1 (gas denom) zgChainAcc := suite.ZgChain.NewFundedAccount("ibc-transfer-0g-side", sdk.NewCoins(funds)) // setup ibc account ibcAcc := suite.Ibc.NewFundedAccount("ibc-transfer-ibc-side", sdk.NewCoins()) gasLimit := int64(2e5) - fee := chaincfg.MakeCoinForAuxiliaryDenom(200) + fee := chaincfg.MakeCoinForGasDenom(200) - fundsToSend := chaincfg.MakeCoinForAuxiliaryDenom(5e4) // .005 (auxiliary denom) + fundsToSend := chaincfg.MakeCoinForGasDenom(5e4) // .005 (gas denom) transferMsg := ibctypes.NewMsgTransfer( testutil.IbcPort, testutil.IbcChannel, @@ -154,7 +154,7 @@ func (suite *IntegrationTestSuite) TestIbcTransfer() { // the balance should be deducted from 0g-chain account suite.Eventually(func() bool { balance := suite.ZgChain.QuerySdkForBalances(zgChainAcc.SdkAddress) - return balance.AmountOf(chaincfg.AuxiliaryDenom).Equal(expectedSrcBalance.Amount) + return balance.AmountOf(chaincfg.GasDenom).Equal(expectedSrcBalance.Amount) }, 10*time.Second, 1*time.Second) // expect the balance to be transferred to the ibc chain! diff --git a/tests/e2e/e2e_upgrade_gov_and_authz_test.go b/tests/e2e/e2e_upgrade_gov_and_authz_test.go index 5ee3081e..85d7e87c 100644 --- a/tests/e2e/e2e_upgrade_gov_and_authz_test.go +++ b/tests/e2e/e2e_upgrade_gov_and_authz_test.go @@ -101,13 +101,13 @@ func (suite *IntegrationTestSuite) TestModuleAccountGovTransfers() { name: "transfer from community to kavadist for incentive rewards", sender: communityAcc, receiver: zgChainDistAcc, - amount: chaincfg.MakeCoinForAuxiliaryDenom(100), + amount: chaincfg.MakeCoinForGasDenom(100), }, { name: "transfer from kavadist to community", sender: zgChainDistAcc, receiver: communityAcc, - amount: chaincfg.MakeCoinForAuxiliaryDenom(50), + amount: chaincfg.MakeCoinForGasDenom(50), }, } @@ -153,7 +153,7 @@ func (suite *IntegrationTestSuite) submitAndPassProposal(msgs []sdk.Msg) int64 { suite.NoError(err) gasLimit := 1e6 - fee := chaincfg.MakeCoinForBaseDenom(1e15) + fee := chaincfg.MakeCoinForEvmDenom(1e15) req := util.ZgChainMsgRequest{ Msgs: []sdk.Msg{proposalMsg}, diff --git a/tests/e2e/runner/chain.go b/tests/e2e/runner/chain.go index 6f4b0029..946248ce 100644 --- a/tests/e2e/runner/chain.go +++ b/tests/e2e/runner/chain.go @@ -82,7 +82,7 @@ var ( EvmRpcUrl: "http://localhost:8545", ChainId: "0gchainlocalnet_8888-1", - StakingDenom: chaincfg.AuxiliaryDenom, + StakingDenom: chaincfg.GasDenom, } kvtoolIbcChain = ChainDetails{ RpcUrl: "http://localhost:26658", diff --git a/tests/e2e/testutil/account.go b/tests/e2e/testutil/account.go index 9fc8fe83..7a48f078 100644 --- a/tests/e2e/testutil/account.go +++ b/tests/e2e/testutil/account.go @@ -262,7 +262,7 @@ func (a *SigningAccount) BankSend(to sdk.AccAddress, amount sdk.Coins) util.ZgCh util.ZgChainMsgRequest{ Msgs: []sdk.Msg{banktypes.NewMsgSend(a.SdkAddress, to, amount)}, GasLimit: 2e5, // 200,000 gas - FeeAmount: sdk.NewCoins(sdk.NewCoin(a.gasDenom, sdkmath.NewInt(200))), // assume min gas price of .001 auxiliary denom + FeeAmount: sdk.NewCoins(sdk.NewCoin(a.gasDenom, sdkmath.NewInt(200))), // assume min gas price of .001 gas denom Data: fmt.Sprintf("sending %s to %s", amount, to), }, ) diff --git a/third_party/proto/cosmos/bank/v1beta1/bank.proto b/third_party/proto/cosmos/bank/v1beta1/bank.proto index 7bc9819d..aafb57c5 100644 --- a/third_party/proto/cosmos/bank/v1beta1/bank.proto +++ b/third_party/proto/cosmos/bank/v1beta1/bank.proto @@ -82,7 +82,7 @@ message Metadata { string description = 1; // denom_units represents the list of DenomUnit's for a given coin repeated DenomUnit denom_units = 2; - // base represents the base denom (should be the DenomUnit with exponent = 0). + // base represents the evm denom (should be the DenomUnit with exponent = 0). string base = 3; // display indicates the suggested denom that should be // displayed in clients. diff --git a/third_party/proto/cosmos/tx/v1beta1/tx.proto b/third_party/proto/cosmos/tx/v1beta1/tx.proto index a71a3e11..558b1da6 100644 --- a/third_party/proto/cosmos/tx/v1beta1/tx.proto +++ b/third_party/proto/cosmos/tx/v1beta1/tx.proto @@ -234,18 +234,18 @@ message Tip { string tipper = 2 [(cosmos_proto.scalar) = "cosmos.AddressString"]; } -// AuxSignerData is the intermediary format that an auxiliary signer (e.g. a +// AuxSignerData is the intermediary format that an gas signer (e.g. a // tipper) builds and sends to the fee payer (who will build and broadcast the // actual tx). AuxSignerData is not a valid tx in itself, and will be rejected // by the node if sent directly as-is. // // Since: cosmos-sdk 0.46 message AuxSignerData { - // address is the bech32-encoded address of the auxiliary signer. If using + // address is the bech32-encoded address of the gas signer. If using // AuxSignerData across different chains, the bech32 prefix of the target // chain (where the final transaction is broadcasted) should be used. string address = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"]; - // sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the auxiliary signer + // sign_doc is the SIGN_MODE_DIRECT_AUX sign doc that the gas signer // signs. Note: we use the same sign doc even if we're signing with // LEGACY_AMINO_JSON. SignDocDirectAux sign_doc = 2; diff --git a/third_party/proto/ibc/applications/transfer/v1/transfer.proto b/third_party/proto/ibc/applications/transfer/v1/transfer.proto index 9c60ad65..c7ebe5bd 100644 --- a/third_party/proto/ibc/applications/transfer/v1/transfer.proto +++ b/third_party/proto/ibc/applications/transfer/v1/transfer.proto @@ -6,13 +6,13 @@ option go_package = "github.com/cosmos/ibc-go/v6/modules/apps/transfer/types"; import "gogoproto/gogo.proto"; -// DenomTrace contains the base denomination for ICS20 fungible tokens and the +// DenomTrace contains the evm denomination for ICS20 fungible tokens and the // source tracing information path. message DenomTrace { // path defines the chain of port/channel identifiers used for tracing the // source of the fungible token. string path = 1; - // base denomination of the relayed fungible token. + // evm denomination of the relayed fungible token. string base_denom = 2; } diff --git a/x/bep3/keeper/msg_server_test.go b/x/bep3/keeper/msg_server_test.go index df2fb485..feff307d 100644 --- a/x/bep3/keeper/msg_server_test.go +++ b/x/bep3/keeper/msg_server_test.go @@ -36,7 +36,7 @@ func (suite *MsgServerTestSuite) SetupTest() { // Set up genesis state and initialize _, addrs := app.GeneratePrivKeyAddressPairs(3) - coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.AuxiliaryDenom, 10000)) + coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.GasDenom, 10000)) authGS := app.NewFundedGenStateWithSameCoins(tApp.AppCodec(), coins, addrs) tApp.InitializeFromGenesisStates(authGS, NewBep3GenStateMulti(cdc, addrs[0])) diff --git a/x/bep3/keeper/querier_test.go b/x/bep3/keeper/querier_test.go index 240ebcd3..fa548ec0 100644 --- a/x/bep3/keeper/querier_test.go +++ b/x/bep3/keeper/querier_test.go @@ -42,7 +42,7 @@ func (suite *QuerierTestSuite) SetupTest() { // Set up auth GenesisState _, addrs := app.GeneratePrivKeyAddressPairs(11) - coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.AuxiliaryDenom, 10000)) + coins := sdk.NewCoins(c("bnb", 10000000000), c(chaincfg.GasDenom, 10000)) authGS := app.NewFundedGenStateWithSameCoins(tApp.AppCodec(), coins, addrs) tApp.InitializeFromGenesisStates( diff --git a/x/bep3/types/genesis_test.go b/x/bep3/types/genesis_test.go index de63e0bb..447a294d 100644 --- a/x/bep3/types/genesis_test.go +++ b/x/bep3/types/genesis_test.go @@ -20,7 +20,7 @@ type GenesisTestSuite struct { } func (suite *GenesisTestSuite) SetupTest() { - coin := chaincfg.MakeCoinForAuxiliaryDenom(1) + coin := chaincfg.MakeCoinForGasDenom(1) suite.swaps = atomicSwaps(10) supply := types.NewAssetSupply(coin, coin, coin, coin, time.Duration(0)) diff --git a/x/bep3/types/supply_test.go b/x/bep3/types/supply_test.go index b88e5960..b27d2928 100644 --- a/x/bep3/types/supply_test.go +++ b/x/bep3/types/supply_test.go @@ -11,7 +11,7 @@ import ( ) func TestAssetSupplyValidate(t *testing.T) { - coin := chaincfg.MakeCoinForAuxiliaryDenom(1) + coin := chaincfg.MakeCoinForGasDenom(1) invalidCoin := sdk.Coin{Denom: "Invalid Denom", Amount: sdkmath.NewInt(-1)} testCases := []struct { msg string diff --git a/x/committee/keeper/msg_server_test.go b/x/committee/keeper/msg_server_test.go index 655b441d..82780615 100644 --- a/x/committee/keeper/msg_server_test.go +++ b/x/committee/keeper/msg_server_test.go @@ -61,7 +61,7 @@ func (suite *MsgServerTestSuite) SetupTest() { []types.Proposal{}, []types.Vote{}, ) - suite.communityPoolAmt = sdk.NewCoins(chaincfg.MakeCoinForBaseDenom(1000000000000000)) + suite.communityPoolAmt = sdk.NewCoins(chaincfg.MakeCoinForEvmDenom(1000000000000000)) suite.app.InitializeFromGenesisStates( app.GenesisState{types.ModuleName: cdc.MustMarshalJSON(testGenesis)}, // TODO: not used? diff --git a/x/council/v1/client/cli/tx.go b/x/council/v1/client/cli/tx.go index a81cbe2d..478708f4 100644 --- a/x/council/v1/client/cli/tx.go +++ b/x/council/v1/client/cli/tx.go @@ -171,7 +171,7 @@ func NewVoteCmd() *cobra.Command { tokens = val.GetTokens() } } - // the denom of token is base denom, need to convert to A0GI + // the denom of token is evm denom, need to convert to A0GI a0giTokenCnt := tokens.Quo(sdk.NewInt(1_000_000_000_000_000_000)) // 1_000 0AGI token / vote numBallots := a0giTokenCnt.Quo(sdk.NewInt(1_000)).Uint64() diff --git a/x/evmutil/keeper/bank_keeper.go b/x/evmutil/keeper/bank_keeper.go index 40f7d4e8..7ecd5d40 100644 --- a/x/evmutil/keeper/bank_keeper.go +++ b/x/evmutil/keeper/bank_keeper.go @@ -13,53 +13,53 @@ import ( "github.com/0glabs/0g-chain/x/evmutil/types" ) -// ConversionMultiplier is the conversion multiplier between base denom and auxiliary denom -var ConversionMultiplier = sdkmath.NewInt(chaincfg.AuxiliaryDenomConversionMultiplier) +// ConversionMultiplier is the conversion multiplier between evm denom and gas denom +var ConversionMultiplier = sdkmath.NewInt(chaincfg.GasDenomConversionMultiplier) var _ evmtypes.BankKeeper = EvmBankKeeper{} // EvmBankKeeper is a BankKeeper wrapper for the x/evm module to allow the use -// of the 18 decimal base denom coin on the evm. -// x/evm consumes gas and send coins by minting and burning base denom coins in its module +// of the 18 decimal evm denom coin on the evm. +// x/evm consumes gas and send coins by minting and burning evm denom coins in its module // account and then sending the funds to the target account. -// This keeper uses both the auxiliary denom coin and a separate base denom balance to manage the +// This keeper uses both the gas denom coin and a separate evm denom balance to manage the // extra percision needed by the evm. type EvmBankKeeper struct { - baseDenomKeeper Keeper - bk types.BankKeeper - ak types.AccountKeeper + evmDenomKeeper Keeper + bk types.BankKeeper + ak types.AccountKeeper } func NewEvmBankKeeper(baseKeeper Keeper, bk types.BankKeeper, ak types.AccountKeeper) EvmBankKeeper { return EvmBankKeeper{ - baseDenomKeeper: baseKeeper, - bk: bk, - ak: ak, + evmDenomKeeper: baseKeeper, + bk: bk, + ak: ak, } } -// GetBalance returns the total **spendable** balance of base denom for a given account by address. +// GetBalance returns the total **spendable** balance of evm denom for a given account by address. func (k EvmBankKeeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress, denom string) sdk.Coin { - if denom != chaincfg.BaseDenom { - panic(fmt.Errorf("only evm denom %s is supported by EvmBankKeeper", chaincfg.BaseDenom)) + if denom != chaincfg.EvmDenom { + panic(fmt.Errorf("only evm denom %s is supported by EvmBankKeeper", chaincfg.EvmDenom)) } spendableCoins := k.bk.SpendableCoins(ctx, addr) - auxiliaryDenomFromBank := spendableCoins.AmountOf(chaincfg.AuxiliaryDenom) - baseDenomFromBank := spendableCoins.AmountOf(chaincfg.BaseDenom) - baseDenomFromEvmBank := k.baseDenomKeeper.GetBalance(ctx, addr) + gasDenomFromBank := spendableCoins.AmountOf(chaincfg.GasDenom) + evmDenomFromBank := spendableCoins.AmountOf(chaincfg.EvmDenom) + evmDenomFromEvmBank := k.evmDenomKeeper.GetBalance(ctx, addr) var total sdkmath.Int - if auxiliaryDenomFromBank.IsPositive() { - total = auxiliaryDenomFromBank.Mul(ConversionMultiplier).Add(baseDenomFromBank).Add(baseDenomFromEvmBank) + if gasDenomFromBank.IsPositive() { + total = gasDenomFromBank.Mul(ConversionMultiplier).Add(evmDenomFromBank).Add(evmDenomFromEvmBank) } else { - total = baseDenomFromBank.Add(baseDenomFromEvmBank) + total = evmDenomFromBank.Add(evmDenomFromEvmBank) } - return sdk.NewCoin(chaincfg.BaseDenom, total) + return sdk.NewCoin(chaincfg.EvmDenom, total) } -// SendCoins transfers base denom coins from a AccAddress to an AccAddress. +// SendCoins transfers evm denom coins from a AccAddress to an AccAddress. func (k EvmBankKeeper) SendCoins(ctx sdk.Context, senderAddr sdk.AccAddress, recipientAddr sdk.AccAddress, amt sdk.Coins) error { // SendCoins method is not used by the evm module, but is required by the // evmtypes.BankKeeper interface. This must be updated if the evm module @@ -67,148 +67,148 @@ func (k EvmBankKeeper) SendCoins(ctx sdk.Context, senderAddr sdk.AccAddress, rec panic("not implemented") } -// SendCoinsFromModuleToAccount transfers base denom coins from a ModuleAccount to an AccAddress. +// SendCoinsFromModuleToAccount transfers evm denom coins from a ModuleAccount to an AccAddress. // It will panic if the module account does not exist. An error is returned if the recipient // address is black-listed or if sending the tokens fails. func (k EvmBankKeeper) SendCoinsFromModuleToAccount(ctx sdk.Context, senderModule string, recipientAddr sdk.AccAddress, amt sdk.Coins) error { - auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) + gasDenomCoin, baseDemonCnt, err := SplitEvmDenomCoins(amt) if err != nil { return err } - if auxiliaryDenomCoin.Amount.IsPositive() { - if err := k.bk.SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { + if gasDenomCoin.Amount.IsPositive() { + if err := k.bk.SendCoinsFromModuleToAccount(ctx, senderModule, recipientAddr, sdk.NewCoins(gasDenomCoin)); err != nil { return err } } senderAddr := k.GetModuleAddress(senderModule) - if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, senderAddr, baseDemonCnt); err != nil { + if err := k.ConvertOneGasDenomToEvmDenomIfNeeded(ctx, senderAddr, baseDemonCnt); err != nil { return err } - if err := k.baseDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, baseDemonCnt); err != nil { + if err := k.evmDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, baseDemonCnt); err != nil { return err } - return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) + return k.ConvertEvmDenomToGasDenom(ctx, recipientAddr) } -// SendCoinsFromAccountToModule transfers base denom coins from an AccAddress to a ModuleAccount. +// SendCoinsFromAccountToModule transfers evm denom coins from an AccAddress to a ModuleAccount. // It will panic if the module account does not exist. func (k EvmBankKeeper) SendCoinsFromAccountToModule(ctx sdk.Context, senderAddr sdk.AccAddress, recipientModule string, amt sdk.Coins) error { - auxiliaryDenomCoin, baseDenomCnt, err := SplitBaseDenomCoins(amt) + gasDenomCoin, evmDenomCnt, err := SplitEvmDenomCoins(amt) if err != nil { return err } - if auxiliaryDenomCoin.IsPositive() { - if err := k.bk.SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { + if gasDenomCoin.IsPositive() { + if err := k.bk.SendCoinsFromAccountToModule(ctx, senderAddr, recipientModule, sdk.NewCoins(gasDenomCoin)); err != nil { return err } } - if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, senderAddr, baseDenomCnt); err != nil { + if err := k.ConvertOneGasDenomToEvmDenomIfNeeded(ctx, senderAddr, evmDenomCnt); err != nil { return err } recipientAddr := k.GetModuleAddress(recipientModule) - if err := k.baseDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, baseDenomCnt); err != nil { + if err := k.evmDenomKeeper.SendBalance(ctx, senderAddr, recipientAddr, evmDenomCnt); err != nil { return err } - return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) + return k.ConvertEvmDenomToGasDenom(ctx, recipientAddr) } -// MintCoins mints base denom coins by minting the equivalent auxiliary denom coins and any remaining base denom coins. +// MintCoins mints evm denom coins by minting the equivalent gas denom coins and any remaining evm denom coins. // It will panic if the module account does not exist or is unauthorized. func (k EvmBankKeeper) MintCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error { - auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) + gasDenomCoin, baseDemonCnt, err := SplitEvmDenomCoins(amt) if err != nil { return err } - if auxiliaryDenomCoin.IsPositive() { - if err := k.bk.MintCoins(ctx, moduleName, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { + if gasDenomCoin.IsPositive() { + if err := k.bk.MintCoins(ctx, moduleName, sdk.NewCoins(gasDenomCoin)); err != nil { return err } } recipientAddr := k.GetModuleAddress(moduleName) - if err := k.baseDenomKeeper.AddBalance(ctx, recipientAddr, baseDemonCnt); err != nil { + if err := k.evmDenomKeeper.AddBalance(ctx, recipientAddr, baseDemonCnt); err != nil { return err } - return k.ConvertBaseDenomToAuxiliaryDenom(ctx, recipientAddr) + return k.ConvertEvmDenomToGasDenom(ctx, recipientAddr) } -// BurnCoins burns base denom coins by burning the equivalent auxiliary denom coins and any remaining base denom coins. +// BurnCoins burns evm denom coins by burning the equivalent gas denom coins and any remaining evm denom coins. // It will panic if the module account does not exist or is unauthorized. func (k EvmBankKeeper) BurnCoins(ctx sdk.Context, moduleName string, amt sdk.Coins) error { - auxiliaryDenomCoin, baseDemonCnt, err := SplitBaseDenomCoins(amt) + gasDenomCoin, baseDemonCnt, err := SplitEvmDenomCoins(amt) if err != nil { return err } - if auxiliaryDenomCoin.IsPositive() { - if err := k.bk.BurnCoins(ctx, moduleName, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { + if gasDenomCoin.IsPositive() { + if err := k.bk.BurnCoins(ctx, moduleName, sdk.NewCoins(gasDenomCoin)); err != nil { return err } } moduleAddr := k.GetModuleAddress(moduleName) - if err := k.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx, moduleAddr, baseDemonCnt); err != nil { + if err := k.ConvertOneGasDenomToEvmDenomIfNeeded(ctx, moduleAddr, baseDemonCnt); err != nil { return err } - return k.baseDenomKeeper.RemoveBalance(ctx, moduleAddr, baseDemonCnt) + return k.evmDenomKeeper.RemoveBalance(ctx, moduleAddr, baseDemonCnt) } -// ConvertOneauxiliaryDenomToBaseDenomIfNeeded converts 1 auxiliary denom to base denom for an address if -// its base denom balance is smaller than the baseDenomCnt amount. -func (k EvmBankKeeper) ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(ctx sdk.Context, addr sdk.AccAddress, baseDenomCnt sdkmath.Int) error { - baseDenomBal := k.baseDenomKeeper.GetBalance(ctx, addr) - if baseDenomBal.GTE(baseDenomCnt) { +// ConvertOnegasDenomToEvmDenomIfNeeded converts 1 gas denom to evm denom for an address if +// its evm denom balance is smaller than the evmDenomCnt amount. +func (k EvmBankKeeper) ConvertOneGasDenomToEvmDenomIfNeeded(ctx sdk.Context, addr sdk.AccAddress, evmDenomCnt sdkmath.Int) error { + evmDenomBal := k.evmDenomKeeper.GetBalance(ctx, addr) + if evmDenomBal.GTE(evmDenomCnt) { return nil } - auxiliaryDenomToStore := sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdk.OneInt())) - if err := k.bk.SendCoinsFromAccountToModule(ctx, addr, types.ModuleName, auxiliaryDenomToStore); err != nil { + gasDenomToStore := sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdk.OneInt())) + if err := k.bk.SendCoinsFromAccountToModule(ctx, addr, types.ModuleName, gasDenomToStore); err != nil { return err } - // add 1 auxiliary denom equivalent of base denom to addr - baseDenomToReceive := ConversionMultiplier - if err := k.baseDenomKeeper.AddBalance(ctx, addr, baseDenomToReceive); err != nil { + // add 1 gas denom equivalent of evm denom to addr + evmDenomToReceive := ConversionMultiplier + if err := k.evmDenomKeeper.AddBalance(ctx, addr, evmDenomToReceive); err != nil { return err } return nil } -// ConvertBaseDenomToauxiliaryDenom converts all available base denom to auxiliary denom for a given AccAddress. -func (k EvmBankKeeper) ConvertBaseDenomToAuxiliaryDenom(ctx sdk.Context, addr sdk.AccAddress) error { - totalBaseDenom := k.baseDenomKeeper.GetBalance(ctx, addr) - auxiliaryDenomCoin, _, err := SplitBaseDenomCoins(sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, totalBaseDenom))) +// ConvertEvmDenomTogasDenom converts all available evm denom to gas denom for a given AccAddress. +func (k EvmBankKeeper) ConvertEvmDenomToGasDenom(ctx sdk.Context, addr sdk.AccAddress) error { + totalEvmDenom := k.evmDenomKeeper.GetBalance(ctx, addr) + gasDenomCoin, _, err := SplitEvmDenomCoins(sdk.NewCoins(sdk.NewCoin(chaincfg.EvmDenom, totalEvmDenom))) if err != nil { return err } - // do nothing if account does not have enough base denom for a single auxiliary denom - auxiliaryDenomToReceive := auxiliaryDenomCoin.Amount - if !auxiliaryDenomToReceive.IsPositive() { + // do nothing if account does not have enough evm denom for a single gas denom + gasDenomToReceive := gasDenomCoin.Amount + if !gasDenomToReceive.IsPositive() { return nil } - // remove base denom used for converting to auxiliary denom - baseDenomToBurn := auxiliaryDenomToReceive.Mul(ConversionMultiplier) - finalBal := totalBaseDenom.Sub(baseDenomToBurn) - if err := k.baseDenomKeeper.SetBalance(ctx, addr, finalBal); err != nil { + // remove evm denom used for converting to gas denom + evmDenomToBurn := gasDenomToReceive.Mul(ConversionMultiplier) + finalBal := totalEvmDenom.Sub(evmDenomToBurn) + if err := k.evmDenomKeeper.SetBalance(ctx, addr, finalBal); err != nil { return err } fromAddr := k.GetModuleAddress(types.ModuleName) - if err := k.bk.SendCoins(ctx, fromAddr, addr, sdk.NewCoins(auxiliaryDenomCoin)); err != nil { + if err := k.bk.SendCoins(ctx, fromAddr, addr, sdk.NewCoins(gasDenomCoin)); err != nil { return err } @@ -223,18 +223,18 @@ func (k EvmBankKeeper) GetModuleAddress(moduleName string) sdk.AccAddress { return addr } -// SplitBaseDenomCoins splits base denom coins to the equivalent auxiliary denom coins and any remaining base denom balance. -// An error will be returned if the coins are not valid or if the coins are not the base denom. -func SplitBaseDenomCoins(coins sdk.Coins) (sdk.Coin, sdkmath.Int, error) { +// SplitEvmDenomCoins splits evm denom coins to the equivalent gas denom coins and any remaining evm denom balance. +// An error will be returned if the coins are not valid or if the coins are not the evm denom. +func SplitEvmDenomCoins(coins sdk.Coins) (sdk.Coin, sdkmath.Int, error) { baseDemonCnt := sdk.ZeroInt() - auxiliaryDenomAmt := sdk.NewCoin(chaincfg.AuxiliaryDenom, sdk.ZeroInt()) + gasDenomAmt := sdk.NewCoin(chaincfg.GasDenom, sdk.ZeroInt()) if len(coins) == 0 { - return auxiliaryDenomAmt, baseDemonCnt, nil + return gasDenomAmt, baseDemonCnt, nil } if err := ValidateEvmCoins(coins); err != nil { - return auxiliaryDenomAmt, baseDemonCnt, err + return gasDenomAmt, baseDemonCnt, err } // note: we should always have len(coins) == 1 here since coins cannot have dup denoms after we validate. @@ -243,15 +243,15 @@ func SplitBaseDenomCoins(coins sdk.Coins) (sdk.Coin, sdkmath.Int, error) { if remainingBalance.IsPositive() { baseDemonCnt = remainingBalance } - auxiliaryDenomAmount := coin.Amount.Quo(ConversionMultiplier) - if auxiliaryDenomAmount.IsPositive() { - auxiliaryDenomAmt = sdk.NewCoin(chaincfg.AuxiliaryDenom, auxiliaryDenomAmount) + gasDenomAmount := coin.Amount.Quo(ConversionMultiplier) + if gasDenomAmount.IsPositive() { + gasDenomAmt = sdk.NewCoin(chaincfg.GasDenom, gasDenomAmount) } - return auxiliaryDenomAmt, baseDemonCnt, nil + return gasDenomAmt, baseDemonCnt, nil } -// ValidateEvmCoins validates the coins from evm is valid and is the base denom. +// ValidateEvmCoins validates the coins from evm is valid and is the evm denom. func ValidateEvmCoins(coins sdk.Coins) error { if len(coins) == 0 { return nil @@ -262,9 +262,9 @@ func ValidateEvmCoins(coins sdk.Coins) error { return errorsmod.Wrap(sdkerrors.ErrInvalidCoins, coins.String()) } - // validate that coin denom is base denom - if len(coins) != 1 || coins[0].Denom != chaincfg.BaseDenom { - errMsg := fmt.Sprintf("invalid evm coin denom, only %s is supported", chaincfg.BaseDenom) + // validate that coin denom is evm denom + if len(coins) != 1 || coins[0].Denom != chaincfg.EvmDenom { + errMsg := fmt.Sprintf("invalid evm coin denom, only %s is supported", chaincfg.EvmDenom) return errorsmod.Wrap(sdkerrors.ErrInvalidCoins, errMsg) } diff --git a/x/evmutil/keeper/bank_keeper_test.go b/x/evmutil/keeper/bank_keeper_test.go index f99fb745..0143f0e7 100644 --- a/x/evmutil/keeper/bank_keeper_test.go +++ b/x/evmutil/keeper/bank_keeper_test.go @@ -27,8 +27,8 @@ func (suite *evmBankKeeperTestSuite) SetupTest() { } func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { - startingCoins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10)) - startingBaseDenom := sdkmath.NewInt(100) + startingCoins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10)) + startingEvmDenom := sdkmath.NewInt(100) now := tmtime.Now() endTime := now.Add(24 * time.Hour) @@ -38,20 +38,20 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance_ReturnsSpendable() { err := suite.App.FundAccount(suite.Ctx, suite.Addrs[0], startingCoins) suite.Require().NoError(err) - err = suite.Keeper.SetBalance(suite.Ctx, suite.Addrs[0], startingBaseDenom) + err = suite.Keeper.SetBalance(suite.Ctx, suite.Addrs[0], startingEvmDenom) suite.Require().NoError(err) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) - suite.Require().Equal(startingBaseDenom, coin.Amount) + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.EvmDenom) + suite.Require().Equal(startingEvmDenom, coin.Amount) ctx := suite.Ctx.WithBlockTime(now.Add(12 * time.Hour)) - coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], chaincfg.BaseDenom) + coin = suite.EvmBankKeeper.GetBalance(ctx, suite.Addrs[0], chaincfg.EvmDenom) suite.Require().Equal(sdkmath.NewIntFromUint64(5_000_000_000_100), coin.Amount) } func (suite *evmBankKeeperTestSuite) TestGetBalance_NotEvmDenom() { suite.Require().Panics(func() { - suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) + suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.GasDenom) }) suite.Require().Panics(func() { suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], "busd") @@ -65,39 +65,39 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { expAmount sdkmath.Int }{ { - "auxiliary denom with base denom", + "gas denom with evm denom", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), + sdk.NewInt64Coin(chaincfg.EvmDenom, 100), + sdk.NewInt64Coin(chaincfg.GasDenom, 10), ), sdkmath.NewInt(10_000_000_000_100), }, { - "just base denom", + "just evm denom", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100), + sdk.NewInt64Coin(chaincfg.EvmDenom, 100), sdk.NewInt64Coin("busd", 100), ), sdkmath.NewInt(100), }, { - "just auxiliary denom", + "just gas denom", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), + sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin("busd", 100), ), sdkmath.NewInt(10_000_000_000_000), }, { - "no auxiliary denom or base denom", + "no gas denom or evm denom", sdk.NewCoins(), sdk.ZeroInt(), }, { - "with avaka that is more than 1 auxiliary denom", + "with avaka that is more than 1 gas denom", sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 20_000_000_000_220), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 11), + sdk.NewInt64Coin(chaincfg.EvmDenom, 20_000_000_000_220), + sdk.NewInt64Coin(chaincfg.GasDenom, 11), ), sdkmath.NewInt(31_000_000_000_220), }, @@ -108,7 +108,7 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { suite.SetupTest() suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAmount) - coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.BaseDenom) + coin := suite.EvmBankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.EvmDenom) suite.Require().Equal(tt.expAmount, coin.Amount) }) } @@ -116,8 +116,8 @@ func (suite *evmBankKeeperTestSuite) TestGetBalance() { func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), + sdk.NewInt64Coin(chaincfg.EvmDenom, 200), + sdk.NewInt64Coin(chaincfg.GasDenom, 100), ) tests := []struct { name string @@ -127,102 +127,102 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { hasErr bool }{ { - "send more than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_010)), + "send more than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_010)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 10), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 12), + sdk.NewInt64Coin(chaincfg.EvmDenom, 10), + sdk.NewInt64Coin(chaincfg.GasDenom, 12), ), false, }, { - "send less than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), + "send less than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 122)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 122), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0), + sdk.NewInt64Coin(chaincfg.EvmDenom, 122), + sdk.NewInt64Coin(chaincfg.GasDenom, 0), ), false, }, { - "send an exact amount of auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), + "send an exact amount of gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 98_000_000_000_000)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 0o0), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 98), + sdk.NewInt64Coin(chaincfg.EvmDenom, 0o0), + sdk.NewInt64Coin(chaincfg.GasDenom, 98), ), false, }, { - "send no base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + "send no evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 0)), sdk.Coins{}, sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 0), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0), + sdk.NewInt64Coin(chaincfg.EvmDenom, 0), + sdk.NewInt64Coin(chaincfg.GasDenom, 0), ), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough total base denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_001_000)), + "errors if not enough total evm denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_001_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough auxiliary denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), + "errors if not enough gas denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200_000_000_000_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts receiver's base denom to auxiliary denom if there's enough base denom after the transfer", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_000_000_000_200)), + "converts receiver's evm denom to gas denom if there's enough evm denom after the transfer", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 99_000_000_000_200)), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 999_999_999_900), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), + sdk.NewInt64Coin(chaincfg.EvmDenom, 999_999_999_900), + sdk.NewInt64Coin(chaincfg.GasDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 101), + sdk.NewInt64Coin(chaincfg.EvmDenom, 100), + sdk.NewInt64Coin(chaincfg.GasDenom, 101), ), false, }, { - "converts all of receiver's base denom to auxiliary denom even if somehow receiver has more than 1 auxiliary denom of base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_100)), + "converts all of receiver's evm denom to gas denom even if somehow receiver has more than 1 gas denom of evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_100)), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 5_999_999_999_990), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), + sdk.NewInt64Coin(chaincfg.EvmDenom, 5_999_999_999_990), + sdk.NewInt64Coin(chaincfg.GasDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 90), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 19), + sdk.NewInt64Coin(chaincfg.EvmDenom, 90), + sdk.NewInt64Coin(chaincfg.GasDenom, 19), ), false, }, { - "swap 1 auxiliary denom for base denom if module account doesn't have enough base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_000_000_001_000)), + "swap 1 gas denom for evm denom if module account doesn't have enough evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 99_000_000_001_000)), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1), + sdk.NewInt64Coin(chaincfg.EvmDenom, 200), + sdk.NewInt64Coin(chaincfg.GasDenom, 1), ), sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 1200), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), + sdk.NewInt64Coin(chaincfg.EvmDenom, 1200), + sdk.NewInt64Coin(chaincfg.GasDenom, 100), ), false, }, @@ -235,8 +235,8 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingAccBal) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingModuleCoins) - // fund our module with some auxiliary denom to account for converting extra base denom back to auxiliary denom - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) + // fund our module with some gas denom to account for converting extra evm denom back to gas denom + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10))) err := suite.EvmBankKeeper.SendCoinsFromModuleToAccount(suite.Ctx, evmtypes.ModuleName, suite.Addrs[0], tt.sendCoins) if tt.hasErr { @@ -246,24 +246,24 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromModuleToAccount() { suite.Require().NoError(err) } - // check auxiliary denom - AuxiliaryDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) + // check gas denom + GasDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.GasDenom) + suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.GasDenom).Int64(), GasDenomSender.Amount.Int64()) - // check base denom - actualBaseDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) + // check evm denom + actualEvmDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expAccBal.AmountOf(chaincfg.EvmDenom).Int64(), actualEvmDenom.Int64()) }) } } func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { startingAccCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 200), - sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100), + sdk.NewInt64Coin(chaincfg.EvmDenom, 200), + sdk.NewInt64Coin(chaincfg.GasDenom, 100), ) startingModuleCoins := sdk.NewCoins( - sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_000), ) tests := []struct { name string @@ -273,36 +273,36 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { hasErr bool }{ { - "send more than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_010)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 190), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 88)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_010), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 12)), + "send more than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_010)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 190), sdk.NewInt64Coin(chaincfg.GasDenom, 88)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_010), sdk.NewInt64Coin(chaincfg.GasDenom, 12)), false, }, { - "send less than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 78), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_122), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), + "send less than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 122)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 78), sdk.NewInt64Coin(chaincfg.GasDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_122), sdk.NewInt64Coin(chaincfg.GasDenom, 0)), false, }, { - "send an exact amount of auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 2)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 98)), + "send an exact amount of gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 98_000_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200), sdk.NewInt64Coin(chaincfg.GasDenom, 2)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.GasDenom, 98)), false, }, { - "send no base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), + "send no evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200), sdk.NewInt64Coin(chaincfg.GasDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.GasDenom, 0)), false, }, { "errors if sending other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.Coins{}, sdk.Coins{}, true, @@ -310,39 +310,39 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 2_000_000_000_000), }, sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough total base denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_001_000)), + "errors if not enough total evm denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_001_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "errors if not enough auxiliary denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), + "errors if not enough gas denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200_000_000_000_000)), sdk.Coins{}, sdk.Coins{}, true, }, { - "converts 1 auxiliary denom to base denom if not enough base denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 99_001_000_000_000)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 999_000_000_200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 101_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 99)), + "converts 1 gas denom to evm denom if not enough evm denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 99_001_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 999_000_000_200), sdk.NewInt64Coin(chaincfg.GasDenom, 0)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 101_000_000_000), sdk.NewInt64Coin(chaincfg.GasDenom, 99)), false, }, { - "converts receiver's base denom to auxiliary denom if there's enough base denom after the transfer", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_900_000_000_200)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 94)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 6)), + "converts receiver's evm denom to gas denom if there's enough evm denom after the transfer", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 5_900_000_000_200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_000_000_000), sdk.NewInt64Coin(chaincfg.GasDenom, 94)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200), sdk.NewInt64Coin(chaincfg.GasDenom, 6)), false, }, } @@ -362,67 +362,67 @@ func (suite *evmBankKeeperTestSuite) TestSendCoinsFromAccountToModule() { } // check sender balance - AuxiliaryDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) - actualBaseDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) + GasDenomSender := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.GasDenom) + suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.GasDenom).Int64(), GasDenomSender.Amount.Int64()) + actualEvmDenom := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expSenderCoins.AmountOf(chaincfg.EvmDenom).Int64(), actualEvmDenom.Int64()) // check module balance moduleAddr := suite.AccountKeeper.GetModuleAddress(evmtypes.ModuleName) - AuxiliaryDenomSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.AuxiliaryDenom).Int64(), AuxiliaryDenomSender.Amount.Int64()) - actualBaseDenom = suite.Keeper.GetBalance(suite.Ctx, moduleAddr) - suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.BaseDenom).Int64(), actualBaseDenom.Int64()) + GasDenomSender = suite.BankKeeper.GetBalance(suite.Ctx, moduleAddr, chaincfg.GasDenom) + suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.GasDenom).Int64(), GasDenomSender.Amount.Int64()) + actualEvmDenom = suite.Keeper.GetBalance(suite.Ctx, moduleAddr) + suite.Require().Equal(tt.expModuleCoins.AmountOf(chaincfg.EvmDenom).Int64(), actualEvmDenom.Int64()) }) } } func (suite *evmBankKeeperTestSuite) TestBurnCoins() { - startingAuxiliaryDenom := sdkmath.NewInt(100) + startingGasDenom := sdkmath.NewInt(100) tests := []struct { - name string - burnCoins sdk.Coins - expAuxiliaryDenom sdkmath.Int - expBaseDenom sdkmath.Int - hasErr bool - baseDenomStart sdkmath.Int + name string + burnCoins sdk.Coins + expGasDenom sdkmath.Int + expEvmDenom sdkmath.Int + hasErr bool + evmDenomStart sdkmath.Int }{ { - "burn more than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), + "burn more than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_021_000_000_002)), sdkmath.NewInt(88), sdkmath.NewInt(100_000_000_000), false, sdkmath.NewInt(121_000_000_002), }, { - "burn less than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 122)), + "burn less than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 122)), sdkmath.NewInt(100), sdkmath.NewInt(878), false, sdkmath.NewInt(1000), }, { - "burn an exact amount of auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 98_000_000_000_000)), + "burn an exact amount of gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 98_000_000_000_000)), sdkmath.NewInt(2), sdkmath.NewInt(10), false, sdkmath.NewInt(10), }, { - "burn no base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), - startingAuxiliaryDenom, + "burn no evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 0)), + startingGasDenom, sdk.ZeroInt(), false, sdk.ZeroInt(), }, { "errors if burning other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), - startingAuxiliaryDenom, + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 500), sdk.NewInt64Coin("busd", 1000)), + startingGasDenom, sdkmath.NewInt(100), true, sdkmath.NewInt(100), @@ -430,41 +430,41 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 2_000_000_000_000), }, - startingAuxiliaryDenom, + startingGasDenom, sdk.ZeroInt(), true, sdk.ZeroInt(), }, { "errors if burn amount is negative", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, - startingAuxiliaryDenom, + sdk.Coins{sdk.Coin{Denom: chaincfg.EvmDenom, Amount: sdkmath.NewInt(-100)}}, + startingGasDenom, sdkmath.NewInt(50), true, sdkmath.NewInt(50), }, { - "errors if not enough base denom to cover burn", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100_999_000_000_000)), + "errors if not enough evm denom to cover burn", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100_999_000_000_000)), sdkmath.NewInt(0), sdkmath.NewInt(99_000_000_000), true, sdkmath.NewInt(99_000_000_000), }, { - "errors if not enough auxiliary denom to cover burn", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 200_000_000_000_000)), + "errors if not enough gas denom to cover burn", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 200_000_000_000_000)), sdkmath.NewInt(100), sdk.ZeroInt(), true, sdk.ZeroInt(), }, { - "converts 1 auxiliary denom to base denom if not enough base denom to cover", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), + "converts 1 gas denom to evm denom if not enough evm denom to cover", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_021_000_000_002)), sdkmath.NewInt(87), sdkmath.NewInt(980_000_000_000), false, @@ -476,8 +476,8 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Run(tt.name, func() { suite.SetupTest() startingCoins := sdk.NewCoins( - sdk.NewCoin(chaincfg.AuxiliaryDenom, startingAuxiliaryDenom), - sdk.NewCoin(chaincfg.BaseDenom, tt.baseDenomStart), + sdk.NewCoin(chaincfg.GasDenom, startingGasDenom), + sdk.NewCoin(chaincfg.EvmDenom, tt.evmDenomStart), ) suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, startingCoins) @@ -489,53 +489,53 @@ func (suite *evmBankKeeperTestSuite) TestBurnCoins() { suite.Require().NoError(err) } - // check auxiliary denom - AuxiliaryDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expAuxiliaryDenom, AuxiliaryDenomActual.Amount) + // check gas denom + GasDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.GasDenom) + suite.Require().Equal(tt.expGasDenom, GasDenomActual.Amount) - // check base denom - baseDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) - suite.Require().Equal(tt.expBaseDenom, baseDenomActual) + // check evm denom + evmDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) + suite.Require().Equal(tt.expEvmDenom, evmDenomActual) }) } } func (suite *evmBankKeeperTestSuite) TestMintCoins() { tests := []struct { - name string - mintCoins sdk.Coins - AuxiliaryDenomCnt sdkmath.Int - baseDenomCnt sdkmath.Int - hasErr bool - baseDenomStart sdkmath.Int + name string + mintCoins sdk.Coins + GasDenomCnt sdkmath.Int + evmDenomCnt sdkmath.Int + hasErr bool + evmDenomStart sdkmath.Int }{ { - "mint more than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), + "mint more than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_021_000_000_002)), sdkmath.NewInt(12), sdkmath.NewInt(21_000_000_002), false, sdk.ZeroInt(), }, { - "mint less than 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 901_000_000_001)), + "mint less than 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 901_000_000_001)), sdk.ZeroInt(), sdkmath.NewInt(901_000_000_001), false, sdk.ZeroInt(), }, { - "mint an exact amount of auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 123_000_000_000_000_000)), + "mint an exact amount of gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 123_000_000_000_000_000)), sdkmath.NewInt(123_000), sdk.ZeroInt(), false, sdk.ZeroInt(), }, { - "mint no base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 0)), + "mint no evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 0)), sdk.ZeroInt(), sdk.ZeroInt(), false, @@ -543,7 +543,7 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if minting other coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin("busd", 1000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 500), sdk.NewInt64Coin("busd", 1000)), sdk.ZeroInt(), sdkmath.NewInt(100), true, @@ -552,8 +552,8 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { { "errors if have dup coins", sdk.Coins{ - sdk.NewInt64Coin(chaincfg.BaseDenom, 12_000_000_000_000), - sdk.NewInt64Coin(chaincfg.BaseDenom, 2_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 12_000_000_000_000), + sdk.NewInt64Coin(chaincfg.EvmDenom, 2_000_000_000_000), }, sdk.ZeroInt(), sdk.ZeroInt(), @@ -562,23 +562,23 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { }, { "errors if mint amount is negative", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-100)}}, + sdk.Coins{sdk.Coin{Denom: chaincfg.EvmDenom, Amount: sdkmath.NewInt(-100)}}, sdk.ZeroInt(), sdkmath.NewInt(50), true, sdkmath.NewInt(50), }, { - "adds to existing base denom balance", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 12_021_000_000_002)), + "adds to existing evm denom balance", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 12_021_000_000_002)), sdkmath.NewInt(12), sdkmath.NewInt(21_000_000_102), false, sdkmath.NewInt(100), }, { - "convert base denom balance to auxiliary denom if it exceeds 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_999_000_000_000)), + "convert evm denom balance to gas denom if it exceeds 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 10_999_000_000_000)), sdkmath.NewInt(12), sdkmath.NewInt(1_200_000_001), false, @@ -589,8 +589,8 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) - suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin(chaincfg.BaseDenom, tt.baseDenomStart))) + suite.FundModuleAccountWithZgChain(types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10))) + suite.FundModuleAccountWithZgChain(evmtypes.ModuleName, sdk.NewCoins(sdk.NewCoin(chaincfg.EvmDenom, tt.evmDenomStart))) err := suite.EvmBankKeeper.MintCoins(suite.Ctx, evmtypes.ModuleName, tt.mintCoins) if tt.hasErr { @@ -600,13 +600,13 @@ func (suite *evmBankKeeperTestSuite) TestMintCoins() { suite.Require().NoError(err) } - // check auxiliary denom - AuxiliaryDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.AuxiliaryDenomCnt, AuxiliaryDenomActual.Amount) + // check gas denom + GasDenomActual := suite.BankKeeper.GetBalance(suite.Ctx, suite.EvmModuleAddr, chaincfg.GasDenom) + suite.Require().Equal(tt.GasDenomCnt, GasDenomActual.Amount) - // check base denom - baseDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) - suite.Require().Equal(tt.baseDenomCnt, baseDenomActual) + // check evm denom + evmDenomActual := suite.Keeper.GetBalance(suite.Ctx, suite.EvmModuleAddr) + suite.Require().Equal(tt.evmDenomCnt, evmDenomActual) }) } } @@ -619,22 +619,22 @@ func (suite *evmBankKeeperTestSuite) TestValidateEvmCoins() { }{ { "valid coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 500)), false, }, { "dup coins", - sdk.Coins{sdk.NewInt64Coin(chaincfg.BaseDenom, 500), sdk.NewInt64Coin(chaincfg.BaseDenom, 500)}, + sdk.Coins{sdk.NewInt64Coin(chaincfg.EvmDenom, 500), sdk.NewInt64Coin(chaincfg.EvmDenom, 500)}, true, }, { "not evm coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 500)), true, }, { "negative coins", - sdk.Coins{sdk.Coin{Denom: chaincfg.BaseDenom, Amount: sdkmath.NewInt(-500)}}, + sdk.Coins{sdk.Coin{Denom: chaincfg.EvmDenom, Amount: sdkmath.NewInt(-500)}}, true, }, } @@ -650,8 +650,8 @@ func (suite *evmBankKeeperTestSuite) TestValidateEvmCoins() { } } -func (suite *evmBankKeeperTestSuite) TestConvertOneAuxiliaryDenomToBaseDenomIfNeeded() { - baseDenomNeeded := sdkmath.NewInt(200) +func (suite *evmBankKeeperTestSuite) TestConvertOneGasDenomToEvmDenomIfNeeded() { + evmDenomNeeded := sdkmath.NewInt(200) tests := []struct { name string startingCoins sdk.Coins @@ -659,21 +659,21 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneAuxiliaryDenomToBaseDenomIfNe success bool }{ { - "not enough auxiliary denom for conversion", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), + "not enough gas denom for conversion", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100)), false, }, { - "converts 1 auxiliary denom to base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 9), sdk.NewInt64Coin(chaincfg.BaseDenom, 1_000_000_000_100)), + "converts 1 gas denom to evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin(chaincfg.EvmDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 9), sdk.NewInt64Coin(chaincfg.EvmDenom, 1_000_000_000_100)), true, }, { "conversion not needed", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin(chaincfg.EvmDenom, 200)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin(chaincfg.EvmDenom, 200)), true, }, } @@ -682,11 +682,11 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneAuxiliaryDenomToBaseDenomIfNe suite.SetupTest() suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) - err := suite.EvmBankKeeper.ConvertOneAuxiliaryDenomToBaseDenomIfNeeded(suite.Ctx, suite.Addrs[0], baseDenomNeeded) - moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), chaincfg.AuxiliaryDenom) + err := suite.EvmBankKeeper.ConvertOneGasDenomToEvmDenomIfNeeded(suite.Ctx, suite.Addrs[0], evmDenomNeeded) + moduleZgChain := suite.BankKeeper.GetBalance(suite.Ctx, suite.AccountKeeper.GetModuleAddress(types.ModuleName), chaincfg.GasDenom) if tt.success { suite.Require().NoError(err) - if tt.startingCoins.AmountOf(chaincfg.BaseDenom).LT(baseDenomNeeded) { + if tt.startingCoins.AmountOf(chaincfg.EvmDenom).LT(evmDenomNeeded) { suite.Require().Equal(sdk.OneInt(), moduleZgChain.Amount) } } else { @@ -694,54 +694,54 @@ func (suite *evmBankKeeperTestSuite) TestConvertOneAuxiliaryDenomToBaseDenomIfNe suite.Require().Equal(sdk.ZeroInt(), moduleZgChain.Amount) } - baseDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) - AuxiliaryDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) + evmDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.EvmDenom), evmDenomCnt) + GasDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.GasDenom) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.GasDenom), GasDenomCoin.Amount) }) } } -func (suite *evmBankKeeperTestSuite) TestConvertBaseDenomToAuxiliaryDenom() { +func (suite *evmBankKeeperTestSuite) TestConvertEvmDenomToGasDenom() { tests := []struct { name string startingCoins sdk.Coins expectedCoins sdk.Coins }{ { - "not enough auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 100), sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 0)), + "not enough gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 100), sdk.NewInt64Coin(chaincfg.GasDenom, 0)), }, { - "converts base denom for 1 auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 1_000_000_000_003)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 11), sdk.NewInt64Coin(chaincfg.BaseDenom, 3)), + "converts evm denom for 1 gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin(chaincfg.EvmDenom, 1_000_000_000_003)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 11), sdk.NewInt64Coin(chaincfg.EvmDenom, 3)), }, { - "converts more than 1 auxiliary denom of base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10), sdk.NewInt64Coin(chaincfg.BaseDenom, 8_000_000_000_123)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 18), sdk.NewInt64Coin(chaincfg.BaseDenom, 123)), + "converts more than 1 gas denom of evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10), sdk.NewInt64Coin(chaincfg.EvmDenom, 8_000_000_000_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 18), sdk.NewInt64Coin(chaincfg.EvmDenom, 123)), }, } for _, tt := range tests { suite.Run(tt.name, func() { suite.SetupTest() - err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 10))) + err := suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 10))) suite.Require().NoError(err) suite.FundAccountWithZgChain(suite.Addrs[0], tt.startingCoins) - err = suite.EvmBankKeeper.ConvertBaseDenomToAuxiliaryDenom(suite.Ctx, suite.Addrs[0]) + err = suite.EvmBankKeeper.ConvertEvmDenomToGasDenom(suite.Ctx, suite.Addrs[0]) suite.Require().NoError(err) - baseDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) - AuxiliaryDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.AuxiliaryDenom) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) + evmDenomCnt := suite.Keeper.GetBalance(suite.Ctx, suite.Addrs[0]) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.EvmDenom), evmDenomCnt) + GasDenomCoin := suite.BankKeeper.GetBalance(suite.Ctx, suite.Addrs[0], chaincfg.GasDenom) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.GasDenom), GasDenomCoin.Amount) }) } } -func (suite *evmBankKeeperTestSuite) TestSplitBaseDenomCoins() { +func (suite *evmBankKeeperTestSuite) TestSplitEvmDenomCoins() { tests := []struct { name string coins sdk.Coins @@ -750,7 +750,7 @@ func (suite *evmBankKeeperTestSuite) TestSplitBaseDenomCoins() { }{ { "invalid coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 500)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 500)), nil, true, }, @@ -761,33 +761,33 @@ func (suite *evmBankKeeperTestSuite) TestSplitBaseDenomCoins() { false, }, { - "auxiliary denom & base denom coins", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 8_000_000_000_123)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 8), sdk.NewInt64Coin(chaincfg.BaseDenom, 123)), + "gas denom & evm denom coins", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 8_000_000_000_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 8), sdk.NewInt64Coin(chaincfg.EvmDenom, 123)), false, }, { - "only base denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 10_123)), + "only evm denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 10_123)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 10_123)), false, }, { - "only auxiliary denom", - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.BaseDenom, 5_000_000_000_000)), - sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 5)), + "only gas denom", + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.EvmDenom, 5_000_000_000_000)), + sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 5)), false, }, } for _, tt := range tests { suite.Run(tt.name, func() { - AuxiliaryDenomCoin, baseDenomCnt, err := keeper.SplitBaseDenomCoins(tt.coins) + GasDenomCoin, evmDenomCnt, err := keeper.SplitEvmDenomCoins(tt.coins) if tt.shouldErr { suite.Require().Error(err) } else { suite.Require().NoError(err) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.AuxiliaryDenom), AuxiliaryDenomCoin.Amount) - suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.BaseDenom), baseDenomCnt) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.GasDenom), GasDenomCoin.Amount) + suite.Require().Equal(tt.expectedCoins.AmountOf(chaincfg.EvmDenom), evmDenomCnt) } }) } diff --git a/x/evmutil/keeper/invariants.go b/x/evmutil/keeper/invariants.go index db406093..afbfbbf5 100644 --- a/x/evmutil/keeper/invariants.go +++ b/x/evmutil/keeper/invariants.go @@ -51,7 +51,7 @@ func FullyBackedInvariant(bankK types.BankKeeper, k Keeper) sdk.Invariant { }) bankAddr := authtypes.NewModuleAddress(types.ModuleName) - bankBalance := bankK.GetBalance(ctx, bankAddr, chaincfg.AuxiliaryDenom).Amount.Mul(ConversionMultiplier) + bankBalance := bankK.GetBalance(ctx, bankAddr, chaincfg.GasDenom).Amount.Mul(ConversionMultiplier) broken = totalMinorBalances.GT(bankBalance) diff --git a/x/evmutil/keeper/invariants_test.go b/x/evmutil/keeper/invariants_test.go index 946ce177..79fc4474 100644 --- a/x/evmutil/keeper/invariants_test.go +++ b/x/evmutil/keeper/invariants_test.go @@ -50,7 +50,7 @@ func (suite *invariantTestSuite) SetupValidState() { suite.FundModuleAccountWithZgChain( types.ModuleName, sdk.NewCoins( - sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(2)), // ( sum of all minor balances ) / conversion multiplier + sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(2)), // ( sum of all minor balances ) / conversion multiplier ), ) @@ -160,8 +160,8 @@ func (suite *invariantTestSuite) TestSmallBalances() { // increase minor balance at least above conversion multiplier suite.Keeper.AddBalance(suite.Ctx, suite.Addrs[0], keeper.ConversionMultiplier) - // add same number of auxiliary denom to avoid breaking other invariants - amt := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1)) + // add same number of gas denom to avoid breaking other invariants + amt := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 1)) suite.Require().NoError( suite.App.FundModuleAccount(suite.Ctx, types.ModuleName, amt), ) diff --git a/x/evmutil/keeper/keeper.go b/x/evmutil/keeper/keeper.go index 7cb8ea72..4c671071 100644 --- a/x/evmutil/keeper/keeper.go +++ b/x/evmutil/keeper/keeper.go @@ -115,7 +115,7 @@ func (k Keeper) SetAccount(ctx sdk.Context, account types.Account) error { return nil } -// GetBalance returns the total balance of base denom for a given account by address. +// GetBalance returns the total balance of evm denom for a given account by address. func (k Keeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress) sdkmath.Int { account := k.GetAccount(ctx, addr) if account == nil { @@ -124,7 +124,7 @@ func (k Keeper) GetBalance(ctx sdk.Context, addr sdk.AccAddress) sdkmath.Int { return account.Balance } -// SetBalance sets the total balance of base denom for a given account by address. +// SetBalance sets the total balance of evm denom for a given account by address. func (k Keeper) SetBalance(ctx sdk.Context, addr sdk.AccAddress, bal sdkmath.Int) error { account := k.GetAccount(ctx, addr) if account == nil { @@ -140,10 +140,10 @@ func (k Keeper) SetBalance(ctx sdk.Context, addr sdk.AccAddress, bal sdkmath.Int return k.SetAccount(ctx, *account) } -// SendBalance transfers the base denom balance from sender addr to recipient addr. +// SendBalance transfers the evm denom balance from sender addr to recipient addr. func (k Keeper) SendBalance(ctx sdk.Context, senderAddr sdk.AccAddress, recipientAddr sdk.AccAddress, amt sdkmath.Int) error { if amt.IsNegative() { - return fmt.Errorf("cannot send a negative amount of base denom: %d", amt) + return fmt.Errorf("cannot send a negative amount of evm denom: %d", amt) } if amt.IsZero() { @@ -162,13 +162,13 @@ func (k Keeper) SendBalance(ctx sdk.Context, senderAddr sdk.AccAddress, recipien return k.SetBalance(ctx, recipientAddr, receiverBal) } -// AddBalance increments the base denom balance of an address. +// AddBalance increments the evm denom balance of an address. func (k Keeper) AddBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdkmath.Int) error { bal := k.GetBalance(ctx, addr) return k.SetBalance(ctx, addr, amt.Add(bal)) } -// RemoveBalance decrements the base denom balance of an address. +// RemoveBalance decrements the evm denom balance of an address. func (k Keeper) RemoveBalance(ctx sdk.Context, addr sdk.AccAddress, amt sdkmath.Int) error { if amt.IsNegative() { return fmt.Errorf("cannot remove a negative amount from balance: %d", amt) diff --git a/x/evmutil/testutil/suite.go b/x/evmutil/testutil/suite.go index b5d1af73..2c9f8ae2 100644 --- a/x/evmutil/testutil/suite.go +++ b/x/evmutil/testutil/suite.go @@ -82,14 +82,14 @@ func (suite *Suite) SetupTest() { suite.Addrs = addrs evmGenesis := evmtypes.DefaultGenesisState() - evmGenesis.Params.EvmDenom = chaincfg.BaseDenom + evmGenesis.Params.EvmDenom = chaincfg.EvmDenom feemarketGenesis := feemarkettypes.DefaultGenesisState() feemarketGenesis.Params.EnableHeight = 1 feemarketGenesis.Params.NoBaseFee = false cdc := suite.App.AppCodec() - coins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.AuxiliaryDenom, 1000_000_000_000_000_000)) + coins := sdk.NewCoins(sdk.NewInt64Coin(chaincfg.GasDenom, 1000_000_000_000_000_000)) authGS := app.NewFundedGenStateWithSameCoins(cdc, coins, []sdk.AccAddress{ sdk.AccAddress(suite.Key1.PubKey().Address()), sdk.AccAddress(suite.Key2.PubKey().Address()), @@ -186,28 +186,28 @@ func (suite *Suite) ModuleBalance(denom string) sdk.Int { } func (suite *Suite) FundAccountWithZgChain(addr sdk.AccAddress, coins sdk.Coins) { - AuxiliaryDenomAmt := coins.AmountOf(chaincfg.AuxiliaryDenom) - if AuxiliaryDenomAmt.IsPositive() { - err := suite.App.FundAccount(suite.Ctx, addr, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, AuxiliaryDenomAmt))) + GasDenomAmt := coins.AmountOf(chaincfg.GasDenom) + if GasDenomAmt.IsPositive() { + err := suite.App.FundAccount(suite.Ctx, addr, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, GasDenomAmt))) suite.Require().NoError(err) } - baseDenomAmt := coins.AmountOf(chaincfg.BaseDenom) - if baseDenomAmt.IsPositive() { - err := suite.Keeper.SetBalance(suite.Ctx, addr, baseDenomAmt) + evmDenomAmt := coins.AmountOf(chaincfg.EvmDenom) + if evmDenomAmt.IsPositive() { + err := suite.Keeper.SetBalance(suite.Ctx, addr, evmDenomAmt) suite.Require().NoError(err) } } func (suite *Suite) FundModuleAccountWithZgChain(moduleName string, coins sdk.Coins) { - AuxiliaryDenomAmt := coins.AmountOf(chaincfg.AuxiliaryDenom) - if AuxiliaryDenomAmt.IsPositive() { - err := suite.App.FundModuleAccount(suite.Ctx, moduleName, sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, AuxiliaryDenomAmt))) + GasDenomAmt := coins.AmountOf(chaincfg.GasDenom) + if GasDenomAmt.IsPositive() { + err := suite.App.FundModuleAccount(suite.Ctx, moduleName, sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, GasDenomAmt))) suite.Require().NoError(err) } - baseDenomAmt := coins.AmountOf(chaincfg.BaseDenom) - if baseDenomAmt.IsPositive() { + evmDenomAmt := coins.AmountOf(chaincfg.EvmDenom) + if evmDenomAmt.IsPositive() { addr := suite.AccountKeeper.GetModuleAddress(moduleName) - err := suite.Keeper.SetBalance(suite.Ctx, addr, baseDenomAmt) + err := suite.Keeper.SetBalance(suite.Ctx, addr, evmDenomAmt) suite.Require().NoError(err) } } @@ -218,7 +218,7 @@ func (suite *Suite) DeployERC20() types.InternalEVMAddress { suite.App.FundModuleAccount( suite.Ctx, types.ModuleName, - sdk.NewCoins(sdk.NewCoin(chaincfg.AuxiliaryDenom, sdkmath.NewInt(0))), + sdk.NewCoins(sdk.NewCoin(chaincfg.GasDenom, sdkmath.NewInt(0))), ) contractAddr, err := suite.Keeper.DeployTestMintableERC20Contract(suite.Ctx, "USDC", "USDC", uint8(18)) @@ -319,7 +319,7 @@ func (suite *Suite) SendTx( // Mint the max gas to the FeeCollector to ensure balance in case of refund suite.MintFeeCollector(sdk.NewCoins( sdk.NewCoin( - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, sdkmath.NewInt(baseFee.Int64()*int64(gasRes.Gas*2)), ))) diff --git a/x/evmutil/types/conversion_pairs_test.go b/x/evmutil/types/conversion_pairs_test.go index f1f7c79b..0a60e889 100644 --- a/x/evmutil/types/conversion_pairs_test.go +++ b/x/evmutil/types/conversion_pairs_test.go @@ -143,7 +143,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), @@ -163,7 +163,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), @@ -184,16 +184,16 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), ), errArgs{ expectPass: false, - contains: "found duplicate enabled conversion pair denom " + chaincfg.AuxiliaryDenom, + contains: "found duplicate enabled conversion pair denom " + chaincfg.GasDenom, }, }, { @@ -209,7 +209,7 @@ func TestConversionPairs_Validate(t *testing.T) { ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), ), errArgs{ diff --git a/x/evmutil/types/params_test.go b/x/evmutil/types/params_test.go index e056afdd..9daa04e1 100644 --- a/x/evmutil/types/params_test.go +++ b/x/evmutil/types/params_test.go @@ -107,11 +107,11 @@ func (suite *ParamsTestSuite) TestParams_Validate() { invalidConversionPairs := types.NewConversionPairs( types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000A"), - chaincfg.AuxiliaryDenom, + chaincfg.GasDenom, ), types.NewConversionPair( testutil.MustNewInternalEVMAddressFromString("0x000000000000000000000000000000000000000B"), - chaincfg.AuxiliaryDenom, // duplicate denom! + chaincfg.GasDenom, // duplicate denom! ), ) validAllowedCosmosDenoms := types.NewAllowedCosmosCoinERC20Tokens( diff --git a/x/pricefeed/types/key_test.go b/x/pricefeed/types/key_test.go index b7cab46e..ef537900 100644 --- a/x/pricefeed/types/key_test.go +++ b/x/pricefeed/types/key_test.go @@ -10,7 +10,7 @@ import ( func TestRawPriceKey_Iteration(t *testing.T) { // An iterator key should only match price keys with the same market - iteratorKey := RawPriceIteratorKey(chaincfg.AuxiliaryDenom + ":usd") + iteratorKey := RawPriceIteratorKey(chaincfg.GasDenom + ":usd") addr := sdk.AccAddress("test addr") @@ -21,12 +21,12 @@ func TestRawPriceKey_Iteration(t *testing.T) { }{ { name: "equal marketID is included in iteration", - priceKey: RawPriceKey(chaincfg.AuxiliaryDenom+":usd", addr), + priceKey: RawPriceKey(chaincfg.GasDenom+":usd", addr), expectErr: false, }, { name: "prefix overlapping marketID excluded from iteration", - priceKey: RawPriceKey(chaincfg.AuxiliaryDenom+":usd:30", addr), + priceKey: RawPriceKey(chaincfg.GasDenom+":usd:30", addr), expectErr: true, }, } diff --git a/x/validator-vesting/querier.go b/x/validator-vesting/querier.go index 77d21abf..4c77f95b 100644 --- a/x/validator-vesting/querier.go +++ b/x/validator-vesting/querier.go @@ -15,7 +15,7 @@ import ( abci "github.com/tendermint/tendermint/abci/types" ) -const SafuFund int64 = 10000000 // 10 million (auxiliary denom) +const SafuFund int64 = 10000000 // 10 million (gas denom) // NewQuerier is the module level router for state queries func NewQuerier(bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Querier { @@ -42,7 +42,7 @@ func NewQuerier(bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) sdk.Qu } func queryGetTotalSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { - totalSupply := bk.GetSupply(ctx, chaincfg.AuxiliaryDenom).Amount + totalSupply := bk.GetSupply(ctx, chaincfg.GasDenom).Amount supplyInt := sdk.NewDecFromInt(totalSupply).Mul(sdk.MustNewDecFromStr("0.000001")).TruncateInt64() bz, err := legacyQuerierCdc.MarshalJSON(supplyInt) if err != nil { @@ -52,7 +52,7 @@ func queryGetTotalSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKe } func queryGetCirculatingSupply(ctx sdk.Context, req abci.RequestQuery, bk types.BankKeeper, legacyQuerierCdc *codec.LegacyAmino) ([]byte, error) { - totalSupply := bk.GetSupply(ctx, chaincfg.AuxiliaryDenom).Amount + totalSupply := bk.GetSupply(ctx, chaincfg.GasDenom).Amount supplyInt := getCirculatingSupply(ctx.BlockTime(), totalSupply) bz, err := legacyQuerierCdc.MarshalJSON(supplyInt) if err != nil { From 578897f69f0a60b50ab6477a187c5b62b00bc020 Mon Sep 17 00:00:00 2001 From: Solovyov1796 Date: Fri, 10 May 2024 09:58:33 +0800 Subject: [PATCH 6/6] remove the EthSecp256k1 from cosmos --- cmd/0gchaind/root.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/0gchaind/root.go b/cmd/0gchaind/root.go index fab91152..d4e3f5a0 100644 --- a/cmd/0gchaind/root.go +++ b/cmd/0gchaind/root.go @@ -31,8 +31,8 @@ import ( func customKeyringOptions() keyring.Option { return func(options *keyring.Options) { - options.SupportedAlgos = append(hd.SupportedAlgorithms, vrf.VrfAlgo) - options.SupportedAlgosLedger = append(hd.SupportedAlgorithmsLedger, vrf.VrfAlgo) + options.SupportedAlgos = append(options.SupportedAlgos, vrf.VrfAlgo, hd.EthSecp256k1) + options.SupportedAlgosLedger = append(options.SupportedAlgosLedger, vrf.VrfAlgo, hd.EthSecp256k1) } }