From ce7ffe63c3ff1bdba873d18521830d3ec18cf464 Mon Sep 17 00:00:00 2001 From: Ramil Amerzyanov Date: Sun, 23 Jun 2024 22:48:55 +0500 Subject: [PATCH 01/40] fix VM Shutdown panic (#39) * fix VM Shutdown panic using `vm.logger` * run GA on dev branch as well --- .github/workflows/go.yml | 4 +++- landslidevm.go | 10 +++++----- vm/vm.go | 4 ++-- vm/vm_test.go | 28 ++++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 8 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index a18454ce..239ffb0f 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -5,7 +5,9 @@ name: Go on: push: - branches: [ "main" ] + branches: + - "main" + - "dev" pull_request: jobs: diff --git a/landslidevm.go b/landslidevm.go index 48406f4e..dd0bb586 100644 --- a/landslidevm.go +++ b/landslidevm.go @@ -98,7 +98,7 @@ func Serve[T interface { go func(ctx context.Context) { defer func() { server.GracefulStop() - fmt.Println("vm server: graceful termination success") + fmt.Println("landslide vm server: graceful termination success") }() for { @@ -108,19 +108,19 @@ func Serve[T interface { // that we are shutting down. Once we are in the shutdown // workflow, we will gracefully exit upon receiving a SIGTERM. if !lvm.CanShutdown() { - fmt.Printf("runtime engine: ignoring signal: %s\n", s) + fmt.Printf("landslide runtime engine: ignoring signal: %s\n", s) continue } switch s { case syscall.SIGINT: - fmt.Printf("runtime engine: ignoring signal: %s\n", s) + fmt.Printf("landslide runtime engine: ignoring signal: %s\n", s) case syscall.SIGTERM: - fmt.Printf("runtime engine: received shutdown signal: %s\n", s) + fmt.Printf("landslide runtime engine: received shutdown signal: %s\n", s) return } case <-ctx.Done(): - fmt.Println("runtime engine: context has been cancelled") + fmt.Println("landslide runtime engine: context has been cancelled") return } } diff --git a/vm/vm.go b/vm/vm.go index ba36139f..fcb848ba 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -144,7 +144,7 @@ func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM) vm := &LandslideVM{ appCreator: creator, database: database, - allowShutdown: vmtypes.NewAtomic(true), + allowShutdown: vmtypes.NewAtomic(false), vmenabled: vmtypes.NewAtomic(false), vmstate: vmtypes.NewAtomic(vmpb.State_STATE_UNSPECIFIED), vmconnected: vmtypes.NewAtomic(false), @@ -439,7 +439,7 @@ func (vm *LandslideVM) CanShutdown() bool { // Shutdown is called when the node is shutting down. func (vm *LandslideVM) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error) { - vm.logger.Info("Shutdown") + fmt.Println("Shutdown") vm.allowShutdown.Set(true) if vm.closed != nil { close(vm.closed) diff --git a/vm/vm_test.go b/vm/vm_test.go index dc4e31c2..f95ebf30 100644 --- a/vm/vm_test.go +++ b/vm/vm_test.go @@ -9,6 +9,7 @@ import ( "github.com/cometbft/cometbft/abci/example/kvstore" "github.com/stretchr/testify/require" "google.golang.org/grpc" + "google.golang.org/protobuf/types/known/emptypb" vmpb "github.com/consideritdone/landslidevm/proto/vm" ) @@ -120,3 +121,30 @@ func TestAcceptBlock(t *testing.T) { }) require.NoError(t, err) } + +// TestShutdownWithoutInit tests VM Shutdown function. This function called without Initialize in Avalanchego Factory +// https://github.com/ava-labs/avalanchego/blob/0c4efd743e1d737f4e8970d0e0ebf229ea44406c/vms/manager.go#L129 +func TestShutdownWithoutInit(t *testing.T) { + vmdb := dbm.NewMemDB() + appdb := dbm.NewMemDB() + mockConn := &mockClientConn{} + vm := NewViaDB(vmdb, func(*AppCreatorOpts) (Application, error) { + return kvstore.NewApplication(appdb), nil + }, WithClientConn(mockConn)) + require.NotNil(t, vm) + _, err := vm.Shutdown(context.Background(), &emptypb.Empty{}) + require.NoError(t, err) +} + +// allowShutdown should be false by default https://github.com/ava-labs/avalanchego/blob/c8a5d0b11bcfe8b8a74983a9b0ef04fc68e78cf3/vms/rpcchainvm/vm.go#L40 +func TestAllowShutdown(t *testing.T) { + vm := newFreshKvApp(t) + vmLnd := vm.(*LandslideVM) + + require.False(t, vmLnd.CanShutdown()) + + _, err := vm.Shutdown(context.Background(), &emptypb.Empty{}) + require.NoError(t, err) + + require.True(t, vmLnd.CanShutdown()) +} From ba4026cc352a0c5b7dd50f4b28cceee202d8f438 Mon Sep 17 00:00:00 2001 From: Ramil Amerzyanov Date: Mon, 24 Jun 2024 00:11:14 +0500 Subject: [PATCH 02/40] add persistence storage for KVStore and Wasm app (#40) bump AvalancheGo version to v1.11.8 (used in e2e tests) --- example/kvstore/kvstore.go | 9 ++++++++- example/wasm/main.go | 35 +++++++++++++++++++++-------------- go.mod | 3 +++ go.sum | 22 +++++++--------------- scripts/versions.sh | 2 +- vm/vm.go | 2 ++ 6 files changed, 42 insertions(+), 31 deletions(-) diff --git a/example/kvstore/kvstore.go b/example/kvstore/kvstore.go index aced4de9..8b6898bf 100644 --- a/example/kvstore/kvstore.go +++ b/example/kvstore/kvstore.go @@ -7,11 +7,18 @@ import ( "github.com/cometbft/cometbft/abci/example/kvstore" "github.com/consideritdone/landslidevm" + "github.com/consideritdone/landslidevm/vm" ) func main() { - appCreator := landslidevm.NewLocalAppCreator(kvstore.NewInMemoryApplication()) + appCreator := KvStoreCreator() if err := landslidevm.Serve(context.Background(), appCreator); err != nil { panic(fmt.Sprintf("can't serve application: %s", err)) } } + +func KvStoreCreator() vm.AppCreator { + return func(config *vm.AppCreatorOpts) (vm.Application, error) { + return kvstore.NewPersistentApplication(config.ChainDataDir), nil + } +} diff --git a/example/wasm/main.go b/example/wasm/main.go index b892087d..8066ca40 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -16,25 +16,32 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" "github.com/consideritdone/landslidevm" + "github.com/consideritdone/landslidevm/vm" ) func main() { - db, err := dbm.NewDB("dbName", dbm.MemDBBackend, "") - if err != nil { - panic(err) + appCreator := WasmCreator() + if err := landslidevm.Serve(context.Background(), appCreator); err != nil { + panic(fmt.Sprintf("can't serve application: %s", err)) } - logger := log.NewNopLogger() +} - cfg := sdk.GetConfig() - cfg.SetBech32PrefixForAccount(app.Bech32PrefixAccAddr, app.Bech32PrefixAccPub) - cfg.SetBech32PrefixForValidator(app.Bech32PrefixValAddr, app.Bech32PrefixValPub) - cfg.SetBech32PrefixForConsensusNode(app.Bech32PrefixConsAddr, app.Bech32PrefixConsPub) - cfg.SetAddressVerifier(wasmtypes.VerifyAddressLen()) - cfg.Seal() - wasmApp := app.NewWasmApp(logger, db, nil, true, sims.NewAppOptionsWithFlagHome(os.TempDir()), []keeper.Option{}, baseapp.SetChainID("landslide-test")) +func WasmCreator() vm.AppCreator { + return func(config *vm.AppCreatorOpts) (vm.Application, error) { + db, err := dbm.NewDB("wasm", dbm.GoLevelDBBackend, config.ChainDataDir) + if err != nil { + panic(err) + } + logger := log.NewNopLogger() - appCreator := landslidevm.NewLocalAppCreator(server.NewCometABCIWrapper(wasmApp)) - if err := landslidevm.Serve(context.Background(), appCreator); err != nil { - panic(fmt.Sprintf("can't serve application: %s", err)) + cfg := sdk.GetConfig() + cfg.SetBech32PrefixForAccount(app.Bech32PrefixAccAddr, app.Bech32PrefixAccPub) + cfg.SetBech32PrefixForValidator(app.Bech32PrefixValAddr, app.Bech32PrefixValPub) + cfg.SetBech32PrefixForConsensusNode(app.Bech32PrefixConsAddr, app.Bech32PrefixConsPub) + cfg.SetAddressVerifier(wasmtypes.VerifyAddressLen()) + cfg.Seal() + wasmApp := app.NewWasmApp(logger, db, nil, true, sims.NewAppOptionsWithFlagHome(os.TempDir()), []keeper.Option{}, baseapp.SetChainID("landslide-test")) + + return server.NewCometABCIWrapper(wasmApp), nil } } diff --git a/go.mod b/go.mod index 544c9b9c..ddc93d34 100644 --- a/go.mod +++ b/go.mod @@ -206,3 +206,6 @@ require ( pgregory.net/rapid v1.1.0 // indirect sigs.k8s.io/yaml v1.4.0 // indirect ) + +// pin version! 126854af5e6d has issues with the store so that queries fail +replace github.com/syndtr/goleveldb => github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 diff --git a/go.sum b/go.sum index cc9aabfd..4b94d07d 100644 --- a/go.sum +++ b/go.sum @@ -446,7 +446,6 @@ github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHk github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/getsentry/sentry-go v0.25.0 h1:q6Eo+hS+yoJlTO3uu/azhQadsD8V+jQn2D8VvX1eOyI= @@ -492,7 +491,6 @@ github.com/go-playground/validator/v10 v10.11.1 h1:prmOlTVv+YjZjmRmNSF3VmspqJIxJ github.com/go-playground/validator/v10 v10.11.1/go.mod h1:i+3WkQ1FvaUjjxh1kSvIA4dMGDBiPU55YFDl0WbKdWU= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/gobwas/httphead v0.0.0-20180130184737-2c6c146eadee/go.mod h1:L0fX3K22YWvt/FAX9NnzrNzcI4wNYi9Yku4O0LKYflo= github.com/gobwas/httphead v0.1.0 h1:exrUm0f4YX0L7EBwZHuCF4GDp8aJfVeBrlLQrs6NqWU= github.com/gobwas/httphead v0.1.0/go.mod h1:O/RXo79gxV8G+RqlR/otEwx4Q36zl9rqC5u12GKvMCM= @@ -553,8 +551,6 @@ github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= -github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= @@ -607,7 +603,6 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -853,15 +848,12 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= @@ -1022,8 +1014,8 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d h1:vfofYNRScrDdvS342BElfbETmL1Aiz3i2t0zfRj16Hs= -github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= +github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7/go.mod h1:q4W45IWZaF22tdD+VEXcAWRA037jwmWEB5VWYORlTpc= github.com/tendermint/go-amino v0.16.0 h1:GyhmgQKvqF82e2oZeuMSp9JTN0N09emoSZlb2lyGa2E= github.com/tendermint/go-amino v0.16.0/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME= github.com/tidwall/btree v1.7.0 h1:L1fkJH/AuEh5zBnnBbmTwQ5Lt+bRJ5A8EWecslvo9iI= @@ -1186,6 +1178,7 @@ golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/ golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200813134508-3edf25e44fcc/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -1195,7 +1188,6 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= @@ -1298,16 +1290,17 @@ golang.org/x/sys v0.0.0-20200420163511-1957bb5e6d1f/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200814200057-3d37ad5750ed/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1430,7 +1423,6 @@ golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82u golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= diff --git a/scripts/versions.sh b/scripts/versions.sh index b80a1a24..7d18e732 100644 --- a/scripts/versions.sh +++ b/scripts/versions.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash # Don't export them as they're used in the context of other calls -AVALANCHE_VERSION=${AVALANCHE_VERSION:-'v1.11.7'} +AVALANCHE_VERSION=${AVALANCHE_VERSION:-'v1.11.8'} diff --git a/vm/vm.go b/vm/vm.go index fcb848ba..d56041b0 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -89,6 +89,7 @@ type ( GenesisBytes []byte UpgradeBytes []byte ConfigBytes []byte + ChainDataDir string } AppCreator func(*AppCreatorOpts) (Application, error) @@ -264,6 +265,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest GenesisBytes: req.GenesisBytes, UpgradeBytes: req.UpgradeBytes, ConfigBytes: req.ConfigBytes, + ChainDataDir: req.ChainDataDir, } app, err := vm.appCreator(vm.appOpts) if err != nil { From fd15ee7dbb33fb16748451be707208bbaa29178c Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Sun, 7 Jul 2024 09:04:53 +0300 Subject: [PATCH 03/40] gRPC endpoint for CosmWasm app (#43) * grpc for wasm app * wip rpc client * rpc client * cleanup * network name * block signature * logs * logs * fix error `codespace sdk code 2: tx parse error: unable to resolve type URL /cosmwasm.wasm.v1.MsgStoreCode`. interfaceRegistry in ClientContext should be taken from Wasm Application --------- Co-authored-by: ramil --- example/wasm/main.go | 167 ++++++++++++++++++++++++++++++++++++++++++- vm/rpc.go | 17 ++++- vm/types/config.go | 48 +++++++++++++ vm/vm.go | 26 +++++-- 4 files changed, 250 insertions(+), 8 deletions(-) create mode 100644 vm/types/config.go diff --git a/example/wasm/main.go b/example/wasm/main.go index 8066ca40..581bcd71 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -2,21 +2,36 @@ package main import ( "context" + "encoding/json" "fmt" "os" + "os/signal" + "syscall" "cosmossdk.io/log" "github.com/CosmWasm/wasmd/app" "github.com/CosmWasm/wasmd/x/wasm/keeper" wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + rpchttp "github.com/cometbft/cometbft/rpc/client/http" dbm "github.com/cosmos/cosmos-db" "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/client" + "github.com/cosmos/cosmos-sdk/codec" + cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/server" + srvconfig "github.com/cosmos/cosmos-sdk/server/config" + servergrpc "github.com/cosmos/cosmos-sdk/server/grpc" "github.com/cosmos/cosmos-sdk/testutil/sims" sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/cosmos/cosmos-sdk/x/auth/tx" + "golang.org/x/sync/errgroup" + "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" "github.com/consideritdone/landslidevm" + "github.com/consideritdone/landslidevm/utils/ids" "github.com/consideritdone/landslidevm/vm" + vmtypes "github.com/consideritdone/landslidevm/vm/types" ) func main() { @@ -40,8 +55,158 @@ func WasmCreator() vm.AppCreator { cfg.SetBech32PrefixForConsensusNode(app.Bech32PrefixConsAddr, app.Bech32PrefixConsPub) cfg.SetAddressVerifier(wasmtypes.VerifyAddressLen()) cfg.Seal() - wasmApp := app.NewWasmApp(logger, db, nil, true, sims.NewAppOptionsWithFlagHome(os.TempDir()), []keeper.Option{}, baseapp.SetChainID("landslide-test")) + + srvCfg := *srvconfig.DefaultConfig() + grpcCfg := srvCfg.GRPC + var vmCfg vmtypes.VmConfig + vmCfg.SetDefaults() + if len(config.ConfigBytes) > 0 { + if err := json.Unmarshal(config.ConfigBytes, &vmCfg); err != nil { + return nil, fmt.Errorf("failed to unmarshal config %s: %w", string(config.ConfigBytes), err) + } + // set the grpc port, if it is set to 0, disable gRPC + if vmCfg.GRPCPort > 0 { + grpcCfg.Address = fmt.Sprintf("127.0.0.1:%d", vmCfg.GRPCPort) + } else { + grpcCfg.Enable = false + } + } + + if err := vmCfg.Validate(); err != nil { + return nil, err + } + chainID := vmCfg.NetworkName + + var wasmApp = app.NewWasmApp( + logger, + db, + nil, + true, + sims.NewAppOptionsWithFlagHome(os.TempDir()), + []keeper.Option{}, + baseapp.SetChainID(chainID), + ) + + // early return if gRPC is disabled + if !grpcCfg.Enable { + return server.NewCometABCIWrapper(wasmApp), nil + } + + interfaceRegistry := wasmApp.InterfaceRegistry() + marshaller := codec.NewProtoCodec(interfaceRegistry) + clientCtx := client.Context{}. + WithCodec(marshaller). + WithLegacyAmino(makeCodec()). + WithTxConfig(tx.NewTxConfig(marshaller, tx.DefaultSignModes)). + WithInterfaceRegistry(interfaceRegistry). + WithChainID(chainID) + + avaChainID, err := ids.ToID(config.ChainId) + if err != nil { + return nil, err + } + + rpcURI := fmt.Sprintf( + "http://127.0.0.1:%d/ext/bc/%s/rpc", + vmCfg.RPCPort, + avaChainID, + ) + + clientCtx = clientCtx.WithNodeURI(rpcURI) + rpcclient, err := rpchttp.New(rpcURI, "/websocket") + if err != nil { + return nil, err + } + clientCtx = clientCtx.WithClient(rpcclient) + + // use the provided clientCtx to register the services + wasmApp.RegisterTxService(clientCtx) + wasmApp.RegisterTendermintService(clientCtx) + wasmApp.RegisterNodeService(clientCtx, srvconfig.Config{}) + + maxSendMsgSize := grpcCfg.MaxSendMsgSize + if maxSendMsgSize == 0 { + maxSendMsgSize = srvconfig.DefaultGRPCMaxSendMsgSize + } + + maxRecvMsgSize := grpcCfg.MaxRecvMsgSize + if maxRecvMsgSize == 0 { + maxRecvMsgSize = srvconfig.DefaultGRPCMaxRecvMsgSize + } + + // if gRPC is enabled, configure gRPC client for gRPC gateway + grpcClient, err := grpc.Dial( + grpcCfg.Address, + grpc.WithTransportCredentials(insecure.NewCredentials()), + grpc.WithDefaultCallOptions( + grpc.ForceCodec(codec.NewProtoCodec(clientCtx.InterfaceRegistry).GRPCCodec()), + grpc.MaxCallRecvMsgSize(maxRecvMsgSize), + grpc.MaxCallSendMsgSize(maxSendMsgSize), + ), + ) + if err != nil { + return nil, err + } + + clientCtx = clientCtx.WithGRPCClient(grpcClient) + logger.Debug("gRPC client assigned to client context", "target", grpcCfg.Address) + + g, ctx := getCtx(logger, false) + + grpcSrv, err := servergrpc.NewGRPCServer(clientCtx, wasmApp, grpcCfg) + if err != nil { + return nil, err + } + + // Start the gRPC server in a goroutine. Note, the provided ctx will ensure + // that the server is gracefully shut down. + g.Go(func() error { + return servergrpc.StartGRPCServer(ctx, logger.With("module", "grpc-server"), grpcCfg, grpcSrv) + }) return server.NewCometABCIWrapper(wasmApp), nil } } + +// custom tx codec +func makeCodec() *codec.LegacyAmino { + cdc := codec.NewLegacyAmino() + sdk.RegisterLegacyAminoCodec(cdc) + cryptocodec.RegisterCrypto(cdc) + return cdc +} + +func getCtx(logger log.Logger, block bool) (*errgroup.Group, context.Context) { + ctx, cancelFn := context.WithCancel(context.Background()) + g, ctx := errgroup.WithContext(ctx) + // listen for quit signals so the calling parent process can gracefully exit + listenForQuitSignals(g, block, cancelFn, logger) + return g, ctx +} + +// listenForQuitSignals listens for SIGINT and SIGTERM. When a signal is received, +// the cleanup function is called, indicating the caller can gracefully exit or +// return. +// +// Note, the blocking behavior of this depends on the block argument. +// The caller must ensure the corresponding context derived from the cancelFn is used correctly. +func listenForQuitSignals(g *errgroup.Group, block bool, cancelFn context.CancelFunc, logger log.Logger) { + sigCh := make(chan os.Signal, 1) + signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM) + + f := func() { + sig := <-sigCh + cancelFn() + + logger.Info("caught signal", "signal", sig.String()) + } + + if block { + g.Go(func() error { + f() + return nil + }) + } else { + go f() + } +} diff --git a/vm/rpc.go b/vm/rpc.go index 8f7d07b6..ed0d91ac 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -139,6 +139,7 @@ func (rpc *RPC) ABCIQuery( } func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error) { + rpc.vm.logger.Info("BroadcastTxCommit called") subscriber := ctx.RemoteAddr() // Subscribe to tx being committed in block. @@ -208,7 +209,7 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R Hash: tx.Hash(), }, err // TODO: use rpc.config.TimeoutBroadcastTxCommit for timeout - case <-time.After(10 * time.Second): + case <-time.After(30 * time.Second): err = errors.New("timed out waiting for tx to be included in a block") rpc.vm.logger.Error("Error on broadcastTxCommit", "err", err) return &ctypes.ResultBroadcastTxCommit{ @@ -221,22 +222,28 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R } func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error) { + rpc.vm.logger.Info("BroadcastTxAsync called") err := rpc.vm.mempool.CheckTx(tx, nil, mempl.TxInfo{}) if err != nil { + rpc.vm.logger.Error("Error on broadcastTxAsync", "err", err) return nil, err } return &ctypes.ResultBroadcastTx{Hash: tx.Hash()}, nil } func (rpc *RPC) BroadcastTxSync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error) { + rpc.vm.logger.Info("BroadcastTxSync called") resCh := make(chan *abci.ResponseCheckTx, 1) err := rpc.vm.mempool.CheckTx(tx, func(res *abci.ResponseCheckTx) { resCh <- res }, mempl.TxInfo{}) if err != nil { + rpc.vm.logger.Error("Error on BroadcastTxSync", "err", err) return nil, err } res := <-resCh + + rpc.vm.logger.Info("BroadcastTxSync response", "Code", res.Code, "Log", res.Log, "Codespace", res.Codespace, "Hash", tx.Hash()) return &ctypes.ResultBroadcastTx{ Code: res.GetCode(), Data: res.GetData(), @@ -397,8 +404,11 @@ func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBloc blockMeta := rpc.vm.blockStore.LoadBlockMeta(height) if blockMeta == nil { + rpc.vm.logger.Info("Block not found", "height", height) return &ctypes.ResultBlock{BlockID: types.BlockID{}, Block: block}, nil } + + rpc.vm.logger.Info("Block response", "height", height, "block", block, "blockMeta", blockMeta) return &ctypes.ResultBlock{BlockID: blockMeta.BlockID, Block: block}, nil } @@ -539,12 +549,15 @@ func (rpc *RPC) Validators( } func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error) { + rpc.vm.logger.Info("Tx called", "hash", hash) r, err := rpc.vm.txIndexer.Get(hash) if err != nil { + rpc.vm.logger.Error("Error on Tx", "err", err) return nil, err } if r == nil { + rpc.vm.logger.Error("Error on Tx", "tx not found", hash) return nil, fmt.Errorf("tx (%X) not found", hash) } @@ -736,7 +749,7 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { ), DefaultNodeID: p2p.ID(rpc.vm.appOpts.NodeId), ListenAddr: "", - Network: fmt.Sprintf("%d", rpc.vm.appOpts.NetworkId), + Network: rpc.vm.networkName, Version: version.TMCoreSemVer, Channels: nil, Moniker: "", diff --git a/vm/types/config.go b/vm/types/config.go new file mode 100644 index 00000000..c126ac58 --- /dev/null +++ b/vm/types/config.go @@ -0,0 +1,48 @@ +package types + +import ( + "fmt" + "time" +) + +const ( + defaultRPCPort = 9752 + defaultGRPCPort = 9090 + defaultMaxOpenConnections = 0 // unlimited + defaultTimeoutBroadcastTxCommit time.Duration = 30 * time.Second +) + +// VmConfig ... +type VmConfig struct { + RPCPort uint16 `json:"rpc_port"` + GRPCPort uint16 `json:"grpc_port"` + GRPCMaxOpenConnections int `json:"grpc_max_open_connections"` + TimeoutBroadcastTxCommit time.Duration `json:"broadcast_commit_timeout"` + NetworkName string `json:"network_name"` +} + +// SetDefaults sets the default values for the config. +func (c *VmConfig) SetDefaults() { + c.RPCPort = defaultRPCPort + c.GRPCPort = defaultGRPCPort + c.GRPCMaxOpenConnections = defaultMaxOpenConnections + c.TimeoutBroadcastTxCommit = defaultTimeoutBroadcastTxCommit + c.NetworkName = "landslide-test" +} + +// Validate returns an error if this is an invalid config. +func (c *VmConfig) Validate() error { + if c.GRPCMaxOpenConnections < 0 { + return fmt.Errorf("grpc_max_open_connections can't be negative") + } + + if c.TimeoutBroadcastTxCommit < 0 { + return fmt.Errorf("broadcast_tx_commit_timeout can't be negative") + } + + if len(c.NetworkName) == 0 { + return fmt.Errorf("network_name can't be empty") + } + + return nil +} diff --git a/vm/vm.go b/vm/vm.go index d56041b0..20cfebc9 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -16,6 +16,7 @@ import ( abcitypes "github.com/cometbft/cometbft/abci/types" "github.com/cometbft/cometbft/config" "github.com/cometbft/cometbft/consensus" + "github.com/cometbft/cometbft/crypto" "github.com/cometbft/cometbft/crypto/secp256k1" "github.com/cometbft/cometbft/libs/log" "github.com/cometbft/cometbft/mempool" @@ -95,6 +96,7 @@ type ( AppCreator func(*AppCreatorOpts) (Application, error) LandslideVM struct { + networkName string allowShutdown *vmtypes.Atomic[bool] processMetrics prometheus.Gatherer @@ -256,7 +258,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest vm.appOpts = &AppCreatorOpts{ NetworkId: req.NetworkId, SubnetId: req.SubnetId, - ChainId: req.CChainId, + ChainId: req.ChainId, NodeId: req.NodeId, PublicKey: req.PublicKey, XChainId: req.XChainId, @@ -272,6 +274,19 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest return nil, err } + // Set the default configuration + var vmCfg vmtypes.VmConfig + vmCfg.SetDefaults() + if len(vm.appOpts.ConfigBytes) > 0 { + if err := json.Unmarshal(vm.appOpts.ConfigBytes, &vmCfg); err != nil { + return nil, fmt.Errorf("failed to unmarshal config %s: %w", string(vm.appOpts.ConfigBytes), err) + } + } + if err := vmCfg.Validate(); err != nil { + return nil, err + } + vm.networkName = vmCfg.NetworkName + vm.state, vm.genesis, err = node.LoadStateFromDBOrGenesisDocProvider( dbStateStore, func() (*types.GenesisDoc, error) { @@ -390,7 +405,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest if err != nil { return nil, err } - vm.logger.Debug("initialize block", "bytes ", blockBytes) + //vm.logger.Debug("initialize block", "bytes ", blockBytes) vm.logger.Info("vm initialization completed") parentHash := block.BlockParentHash(blk) @@ -519,7 +534,7 @@ func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vm BlockIDFlag: types.BlockIDFlagNil, Timestamp: time.Now(), ValidatorAddress: vm.state.Validators.Validators[i].Address, - Signature: []byte{0x0}, + Signature: crypto.CRandBytes(types.MaxSignatureSize), // todo: sign the block }, } } @@ -567,7 +582,8 @@ func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vm // ParseBlock attempt to create a block from a stream of bytes. func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error) { - vm.logger.Debug("ParseBlock", "bytes", req.Bytes) + vm.logger.Info("ParseBlock") + //vm.logger.Debug("ParseBlock", "bytes", req.Bytes) var ( blk *types.Block blkStatus vmpb.Status @@ -823,7 +839,7 @@ func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryReq func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error) { vm.logger.Info("BlockVerify") - vm.logger.Debug("block verify", "bytes", req.Bytes) + //vm.logger.Debug("block verify", "bytes", req.Bytes) blk, blkStatus, err := vmstate.DecodeBlockWithStatus(req.Bytes) if err != nil { From 4666ea7354999b5ddf7d1c519cd8a0b4862cf50c Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Wed, 24 Jul 2024 15:05:52 +0300 Subject: [PATCH 04/40] Fixes (#44) * VMConfig * app config refactor * OAK-2 uint to int conversion * OAK-3, OAK-4 * OAK-2 * OAK-1 remove unused variable * OAK-1 increased default defaultMaxBytes up to default 100mb * OAK-1 fix Evidence.MaxBytes default value * OAK-5 * OAK-2a * OAK-15 * OAK-2a rpc panic handle * OAK-7 validation in ValidateBlock * OAK-8 * OAK-9 * OAK-11 * OAK-13 * OAK-14 type assertion * OAK-16 * OAK-16 fix the optional client connection * OAK-16 fix the optional client connection init * OAK-16 fix test data race * revert go mod ibc version (#47) --- example/wasm/main.go | 38 ++++--- go.mod | 99 ++++++++--------- go.sum | 203 ++++++++++++++++++----------------- http/reader/reader_server.go | 7 +- jsonrpc/rpc_func.go | 23 +++- landslidevm.go | 10 +- vm/rpc.go | 69 ++++++++---- vm/rpc_test.go | 61 ++++++++++- vm/types/config.go | 120 ++++++++++++++++----- vm/types/state/executor.go | 59 +++++----- vm/types/state/utils.go | 86 +++++++++++++++ vm/vm.go | 91 ++++++++++++---- vm/vm_test.go | 54 ++++++++-- 13 files changed, 648 insertions(+), 272 deletions(-) diff --git a/example/wasm/main.go b/example/wasm/main.go index 581bcd71..6c08a65b 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -34,6 +34,12 @@ import ( vmtypes "github.com/consideritdone/landslidevm/vm/types" ) +// AppConfig is a Wasm App Config +type AppConfig struct { + RPCPort uint16 `json:"rpc_port"` + GRPCPort uint16 `json:"grpc_port"` +} + func main() { appCreator := WasmCreator() if err := landslidevm.Serve(context.Background(), appCreator); err != nil { @@ -58,25 +64,33 @@ func WasmCreator() vm.AppCreator { srvCfg := *srvconfig.DefaultConfig() grpcCfg := srvCfg.GRPC - var vmCfg vmtypes.VmConfig - vmCfg.SetDefaults() + var ( + vmCfg vmtypes.Config + appCfg AppConfig + ) + vmCfg.VMConfig.SetDefaults() + if len(config.ConfigBytes) > 0 { if err := json.Unmarshal(config.ConfigBytes, &vmCfg); err != nil { return nil, fmt.Errorf("failed to unmarshal config %s: %w", string(config.ConfigBytes), err) } - // set the grpc port, if it is set to 0, disable gRPC - if vmCfg.GRPCPort > 0 { - grpcCfg.Address = fmt.Sprintf("127.0.0.1:%d", vmCfg.GRPCPort) - } else { - grpcCfg.Enable = false + + if err := vmCfg.VMConfig.Validate(); err != nil { + return nil, err } - } - if err := vmCfg.Validate(); err != nil { - return nil, err + // Unmarshal wasm app config + if err := json.Unmarshal(vmCfg.AppConfig, &appCfg); err != nil { + // set the grpc port, if it is set to 0, disable gRPC + if appCfg.GRPCPort > 0 { + grpcCfg.Address = fmt.Sprintf("127.0.0.1:%d", appCfg.GRPCPort) + } else { + grpcCfg.Enable = false + } + } } - chainID := vmCfg.NetworkName + chainID := vmCfg.VMConfig.NetworkName var wasmApp = app.NewWasmApp( logger, db, @@ -108,7 +122,7 @@ func WasmCreator() vm.AppCreator { rpcURI := fmt.Sprintf( "http://127.0.0.1:%d/ext/bc/%s/rpc", - vmCfg.RPCPort, + appCfg.RPCPort, avaChainID, ) diff --git a/go.mod b/go.mod index ddc93d34..38d8d510 100644 --- a/go.mod +++ b/go.mod @@ -1,49 +1,51 @@ module github.com/consideritdone/landslidevm -go 1.22.0 +go 1.22.5 require ( cosmossdk.io/log v1.3.1 github.com/CosmWasm/wasmd v0.50.0 - github.com/cometbft/cometbft v0.38.6 - github.com/cometbft/cometbft-db v0.8.0 + github.com/cometbft/cometbft v0.38.9 + github.com/cometbft/cometbft-db v0.9.1 github.com/cosmos/cosmos-db v1.0.2 - github.com/cosmos/cosmos-sdk v0.50.1 + github.com/cosmos/cosmos-sdk v0.50.7 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/mr-tron/base58 v1.2.0 - github.com/prometheus/client_golang v1.17.0 - github.com/prometheus/client_model v0.5.0 - github.com/stretchr/testify v1.8.4 + github.com/prometheus/client_golang v1.19.0 + github.com/prometheus/client_model v0.6.1 + github.com/stretchr/testify v1.9.0 go.uber.org/mock v0.4.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 - google.golang.org/grpc v1.62.0 + golang.org/x/sync v0.7.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda + google.golang.org/grpc v1.63.2 google.golang.org/protobuf v1.33.0 ) require ( cloud.google.com/go v0.112.0 // indirect - cloud.google.com/go/compute v1.23.3 // indirect + cloud.google.com/go/compute v1.24.0 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v1.1.5 // indirect + cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/storage v1.36.0 // indirect - cosmossdk.io/api v0.7.2 // indirect + cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/client/v2 v2.0.0-beta.1 // indirect cosmossdk.io/collections v0.4.0 // indirect cosmossdk.io/core v0.11.0 // indirect cosmossdk.io/depinject v1.0.0-alpha.4 // indirect - cosmossdk.io/errors v1.0.0 // indirect - cosmossdk.io/math v1.2.0 // indirect - cosmossdk.io/store v1.0.0 // indirect + cosmossdk.io/errors v1.0.1 // indirect + cosmossdk.io/math v1.3.0 // indirect + cosmossdk.io/store v1.1.0 // indirect cosmossdk.io/x/circuit v0.1.0 // indirect cosmossdk.io/x/evidence v0.1.0 // indirect cosmossdk.io/x/feegrant v0.1.0 // indirect cosmossdk.io/x/nft v0.1.0 // indirect - cosmossdk.io/x/tx v0.12.0 // indirect + cosmossdk.io/x/tx v0.13.3 // indirect cosmossdk.io/x/upgrade v0.1.0 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect github.com/99designs/keyring v1.2.1 // indirect github.com/CosmWasm/wasmvm v1.5.0 // indirect + github.com/DataDog/datadog-go v3.2.0+incompatible // indirect github.com/DataDog/zstd v1.5.5 // indirect github.com/aws/aws-sdk-go v1.44.224 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -53,7 +55,7 @@ require ( github.com/btcsuite/btcd/btcec/v2 v2.3.2 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/cespare/xxhash v1.1.0 // indirect - github.com/cespare/xxhash/v2 v2.2.0 // indirect + github.com/cespare/xxhash/v2 v2.3.0 // indirect github.com/chzyer/readline v1.5.1 // indirect github.com/cockroachdb/apd/v2 v2.0.2 // indirect github.com/cockroachdb/errors v1.11.1 // indirect @@ -62,11 +64,11 @@ require ( github.com/cockroachdb/redact v1.1.5 // indirect github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 // indirect github.com/cosmos/btcutil v1.0.5 // indirect - github.com/cosmos/cosmos-proto v1.0.0-beta.3 // indirect + github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.11 // indirect - github.com/cosmos/iavl v1.0.0 // indirect + github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/iavl v1.1.2 // indirect github.com/cosmos/ibc-go/modules/capability v1.0.0 // indirect github.com/cosmos/ibc-go/v8 v8.0.0 // indirect github.com/cosmos/ics23/go v0.10.0 // indirect @@ -80,16 +82,16 @@ require ( github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect github.com/distribution/reference v0.5.0 // indirect github.com/dustin/go-humanize v1.0.1 // indirect - github.com/dvsekhvalnov/jose2go v1.5.0 // indirect - github.com/emicklei/dot v1.6.0 // indirect + github.com/dvsekhvalnov/jose2go v1.6.0 // indirect + github.com/emicklei/dot v1.6.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect - github.com/getsentry/sentry-go v0.25.0 // indirect + github.com/getsentry/sentry-go v0.27.0 // indirect github.com/go-kit/kit v0.12.0 // indirect github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect - github.com/go-logr/logr v1.3.0 // indirect + github.com/go-logr/logr v1.4.1 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/godbus/dbus v0.0.0-20190726142602-4481cbc300e2 // indirect github.com/gogo/googleapis v1.4.1 // indirect @@ -117,11 +119,12 @@ require ( github.com/hashicorp/go-getter v1.7.1 // indirect github.com/hashicorp/go-hclog v1.5.0 // indirect github.com/hashicorp/go-immutable-radix v1.3.1 // indirect - github.com/hashicorp/go-metrics v0.5.1 // indirect + github.com/hashicorp/go-metrics v0.5.3 // indirect github.com/hashicorp/go-plugin v1.5.2 // indirect github.com/hashicorp/go-safetemp v1.0.0 // indirect github.com/hashicorp/go-version v1.6.0 // indirect github.com/hashicorp/golang-lru v1.0.2 // indirect + github.com/hashicorp/golang-lru/v2 v2.0.7 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/hashicorp/yamux v0.1.1 // indirect github.com/hdevalence/ed25519consensus v0.1.0 // indirect @@ -131,17 +134,16 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jmhodges/levigo v1.0.0 // indirect - github.com/klauspost/compress v1.17.2 // indirect + github.com/klauspost/compress v1.17.7 // indirect github.com/kr/pretty v0.3.1 // 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/linxGnu/grocksdb v1.8.12 // indirect + github.com/linxGnu/grocksdb v1.8.14 // 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/matttproud/golang_protobuf_extensions/v2 v2.0.0 // indirect github.com/minio/highwayhash v1.0.2 // indirect github.com/mitchellh/go-homedir v1.1.0 // indirect github.com/mitchellh/go-testing-interface v1.14.1 // indirect @@ -152,13 +154,13 @@ require ( github.com/onsi/gomega v1.29.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/pelletier/go-toml/v2 v2.1.0 // indirect - github.com/petermattis/goid v0.0.0-20230904192822-1876fd5063bc // indirect + github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/common v0.45.0 // indirect - github.com/prometheus/procfs v0.12.0 // indirect + github.com/prometheus/common v0.52.2 // indirect + github.com/prometheus/procfs v0.13.0 // indirect github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/rogpeppe/go-internal v1.11.0 // indirect + github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/rs/cors v1.8.3 // indirect github.com/rs/zerolog v1.32.0 // indirect github.com/sagikazarmark/locafero v0.4.0 // indirect @@ -169,7 +171,7 @@ require ( github.com/spf13/cast v1.6.0 // indirect github.com/spf13/cobra v1.8.0 // indirect github.com/spf13/pflag v1.0.5 // indirect - github.com/spf13/viper v1.18.1 // indirect + github.com/spf13/viper v1.18.2 // indirect github.com/subosito/gotenv v1.6.0 // indirect github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d // indirect github.com/tendermint/go-amino v0.16.0 // indirect @@ -177,27 +179,26 @@ require ( github.com/ulikunitz/xz v0.5.11 // indirect github.com/zondax/hid v0.9.2 // indirect github.com/zondax/ledger-go v0.14.3 // indirect - go.etcd.io/bbolt v1.3.7 // indirect + go.etcd.io/bbolt v1.3.8 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 // indirect - go.opentelemetry.io/otel v1.21.0 // indirect - go.opentelemetry.io/otel/metric v1.21.0 // indirect - go.opentelemetry.io/otel/trace v1.21.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect + go.opentelemetry.io/otel v1.22.0 // indirect + go.opentelemetry.io/otel/metric v1.22.0 // indirect + go.opentelemetry.io/otel/trace v1.22.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.21.0 // indirect - golang.org/x/exp v0.0.0-20231127185646-65229373498e // indirect - golang.org/x/net v0.23.0 // indirect - golang.org/x/oauth2 v0.16.0 // indirect - golang.org/x/sync v0.6.0 // indirect - golang.org/x/sys v0.18.0 // indirect - golang.org/x/term v0.18.0 // indirect + golang.org/x/crypto v0.22.0 // indirect + golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect + golang.org/x/net v0.24.0 // indirect + golang.org/x/oauth2 v0.18.0 // indirect + golang.org/x/sys v0.19.0 // indirect + golang.org/x/term v0.19.0 // indirect golang.org/x/text v0.14.0 // indirect golang.org/x/time v0.5.0 // indirect - google.golang.org/api v0.155.0 // indirect + google.golang.org/api v0.162.0 // indirect google.golang.org/appengine v1.6.8 // indirect - google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 // indirect + google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 4b94d07d..d2bf08f3 100644 --- a/go.sum +++ b/go.sum @@ -68,8 +68,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.23.3 h1:6sVlXXBmbd7jNX0Ipq0trII3e4n1/MsADLK6a+aiVlk= -cloud.google.com/go/compute v1.23.3/go.mod h1:VCgBUoMnIVIR0CscqQiPJLAG25E3ZRZMzcFZeQ+h8CI= +cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= +cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -109,8 +109,8 @@ cloud.google.com/go/gkehub v0.10.0/go.mod h1:UIPwxI0DsrpsVoWpLB0stwKCP+WFVG9+y97 cloud.google.com/go/grafeas v0.2.0/go.mod h1:KhxgtF2hb0P191HlY5besjYm6MqTSTj3LSI+M+ByZHc= cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY= cloud.google.com/go/iam v0.5.0/go.mod h1:wPU9Vt0P4UmCux7mqtRu6jcpPAb74cP1fh50J3QpkUc= -cloud.google.com/go/iam v1.1.5 h1:1jTsCu4bcsNsE4iiqNT5SHwrDRCfRmIaaaVFhRveTJI= -cloud.google.com/go/iam v1.1.5/go.mod h1:rB6P/Ic3mykPbFio+vo7403drjlgvoWfYpJhMXEbzv8= +cloud.google.com/go/iam v1.1.6 h1:bEa06k05IO4f4uJonbB5iAgKTPpABy1ayxaIZV/GHVc= +cloud.google.com/go/iam v1.1.6/go.mod h1:O0zxdPeGBoFdWW3HWmBxJsk0pfvNM/p/qa82rWOGTwI= cloud.google.com/go/language v1.4.0/go.mod h1:F9dRpNFQmJbkaop6g0JhSBXCNlO90e1KWx5iDdxbWic= cloud.google.com/go/language v1.6.0/go.mod h1:6dJ8t3B+lUYfStgls25GusK04NLh3eDLQnWM3mdEbhI= cloud.google.com/go/lifesciences v0.5.0/go.mod h1:3oIKy8ycWGPUyZDR/8RNnTOYevhaMLqh5vLUXs9zvT8= @@ -184,8 +184,8 @@ cloud.google.com/go/webrisk v1.4.0/go.mod h1:Hn8X6Zr+ziE2aNd8SliSDWpEnSS1u4R9+xX cloud.google.com/go/webrisk v1.5.0/go.mod h1:iPG6fr52Tv7sGk0H6qUFzmL3HHZev1htXuWDEEsqMTg= cloud.google.com/go/workflows v1.6.0/go.mod h1:6t9F5h/unJz41YqfBmqSASJSXccBLtD1Vwf+KmJENM0= cloud.google.com/go/workflows v1.7.0/go.mod h1:JhSrZuVZWuiDfKEFxU0/F1PQjmpnpcoISEXH2bcHC3M= -cosmossdk.io/api v0.7.2 h1:BO3i5fvKMKvfaUiMkCznxViuBEfyWA/k6w2eAF6q1C4= -cosmossdk.io/api v0.7.2/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= +cosmossdk.io/api v0.7.5 h1:eMPTReoNmGUm8DeiQL9DyM8sYDjEhWzL1+nLbI9DqtQ= +cosmossdk.io/api v0.7.5/go.mod h1:IcxpYS5fMemZGqyYtErK7OqvdM0C8kdW3dq8Q/XIG38= cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA1/Q= cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= @@ -194,14 +194,14 @@ cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= -cosmossdk.io/errors v1.0.0 h1:nxF07lmlBbB8NKQhtJ+sJm6ef5uV1XkvPXG2bUntb04= -cosmossdk.io/errors v1.0.0/go.mod h1:+hJZLuhdDE0pYN8HkOrVNwrIOYvUGnn6+4fjnJs/oV0= +cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= +cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= cosmossdk.io/log v1.3.1/go.mod h1:2/dIomt8mKdk6vl3OWJcPk2be3pGOS8OQaLUM/3/tCM= -cosmossdk.io/math v1.2.0 h1:8gudhTkkD3NxOP2YyyJIYYmt6dQ55ZfJkDOaxXpy7Ig= -cosmossdk.io/math v1.2.0/go.mod h1:l2Gnda87F0su8a/7FEKJfFdJrM0JZRXQaohlgJeyQh0= -cosmossdk.io/store v1.0.0 h1:6tnPgTpTSIskaTmw/4s5C9FARdgFflycIc9OX8i1tOI= -cosmossdk.io/store v1.0.0/go.mod h1:ABMprwjvx6IpMp8l06TwuMrj6694/QP5NIW+X6jaTYc= +cosmossdk.io/math v1.3.0 h1:RC+jryuKeytIiictDslBP9i1fhkVm6ZDmZEoNP316zE= +cosmossdk.io/math v1.3.0/go.mod h1:vnRTxewy+M7BtXBNFybkuhSH4WfedVAAnERHgVFhp3k= +cosmossdk.io/store v1.1.0 h1:LnKwgYMc9BInn9PhpTFEQVbL9UK475G2H911CGGnWHk= +cosmossdk.io/store v1.1.0/go.mod h1:oZfW/4Fc/zYqu3JmQcQdUJ3fqu5vnYTn3LZFFy8P8ng= cosmossdk.io/x/circuit v0.1.0 h1:IAej8aRYeuOMritczqTlljbUVHq1E85CpBqaCTwYgXs= cosmossdk.io/x/circuit v0.1.0/go.mod h1:YDzblVE8+E+urPYQq5kq5foRY/IzhXovSYXb4nwd39w= cosmossdk.io/x/evidence v0.1.0 h1:J6OEyDl1rbykksdGynzPKG5R/zm6TacwW2fbLTW4nCk= @@ -210,8 +210,8 @@ cosmossdk.io/x/feegrant v0.1.0 h1:c7s3oAq/8/UO0EiN1H5BIjwVntujVTkYs35YPvvrdQk= cosmossdk.io/x/feegrant v0.1.0/go.mod h1:4r+FsViJRpcZif/yhTn+E0E6OFfg4n0Lx+6cCtnZElU= cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= -cosmossdk.io/x/tx v0.12.0 h1:Ry2btjQdrfrje9qZ3iZeZSmDArjgxUJMMcLMrX4wj5U= -cosmossdk.io/x/tx v0.12.0/go.mod h1:qTth2coAGkwCwOCjqQ8EAQg+9udXNRzcnSbMgGKGEI0= +cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= +cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= cosmossdk.io/x/upgrade v0.1.0 h1:z1ZZG4UL9ICTNbJDYZ6jOnF9GdEK9wyoEFi4BUScHXE= cosmossdk.io/x/upgrade v0.1.0/go.mod h1:/6jjNGbiPCNtmA1N+rBtP601sr0g4ZXuj3yC6ClPCGY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -229,6 +229,7 @@ github.com/CosmWasm/wasmd v0.50.0 h1:NVaGqCSTRfb9UTDHJwT6nQIWcb6VjlQl88iI+u1+qjE github.com/CosmWasm/wasmd v0.50.0/go.mod h1:UjmShW4l9YxaMytwJZ7IB7MWzHiynSZP3DdWrG0FRtk= github.com/CosmWasm/wasmvm v1.5.0 h1:3hKeT9SfwfLhxTGKH3vXaKFzBz1yuvP8SlfwfQXbQfw= github.com/CosmWasm/wasmvm v1.5.0/go.mod h1:fXB+m2gyh4v9839zlIXdMZGeLAxqUdYdFQqYsTha2hc= +github.com/DataDog/datadog-go v3.2.0+incompatible h1:qSG2N4FghB1He/r2mFrWKCaL7dXCilEuNEeAn20fdD4= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/DataDog/zstd v1.5.5 h1:oWf5W7GtOLgp6bciQYDmhHHjdhYkALu6S/5Ni9ZgSvQ= github.com/DataDog/zstd v1.5.5/go.mod h1:g4AWEaM3yOg3HYfnJ3YIawPnVdXJh9QME85blwSAmyw= @@ -295,8 +296,8 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= -github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/logex v1.2.1 h1:XHDu3E6q+gdHgsdTPH6ImJMIp436vR6MPtH8gP05QzM= @@ -338,10 +339,10 @@ github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cometbft/cometbft v0.38.6 h1:QSgpCzrGWJ2KUq1qpw+FCfASRpE27T6LQbfEHscdyOk= -github.com/cometbft/cometbft v0.38.6/go.mod h1:8rSPxzUJYquCN8uuBgbUHOMg2KAwvr7CyUw+6ukO4nw= -github.com/cometbft/cometbft-db v0.8.0 h1:vUMDaH3ApkX8m0KZvOFFy9b5DZHBAjsnEuo9AKVZpjo= -github.com/cometbft/cometbft-db v0.8.0/go.mod h1:6ASCP4pfhmrCBpfk01/9E1SI29nD3HfVHrY4PG8x5c0= +github.com/cometbft/cometbft v0.38.9 h1:cJBJBG0mPKz+sqelCi/hlfZjadZQGdDNnu6YQ1ZsUHQ= +github.com/cometbft/cometbft v0.38.9/go.mod h1:xOoGZrtUT+A5izWfHSJgl0gYZUE7lu7Z2XIS1vWG/QQ= +github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= +github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= github.com/containerd/continuity v0.3.0/go.mod h1:wJEAIwKOm/pBZuBd0JmeTvnLquTB1Ag8espWhkykbPM= github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= @@ -354,19 +355,19 @@ github.com/cosmos/btcutil v1.0.5 h1:t+ZFcX77LpKtDBhjucvnOH8C2l2ioGsBNEQ3jef8xFk= github.com/cosmos/btcutil v1.0.5/go.mod h1:IyB7iuqZMJlthe2tkIFL33xPyzbFYP0XVdS8P5lUPis= github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAKs= github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= -github.com/cosmos/cosmos-proto v1.0.0-beta.3 h1:VitvZ1lPORTVxkmF2fAp3IiA61xVwArQYKXTdEcpW6o= -github.com/cosmos/cosmos-proto v1.0.0-beta.3/go.mod h1:t8IASdLaAq+bbHbjq4p960BvcTqtwuAxid3b/2rOD6I= -github.com/cosmos/cosmos-sdk v0.50.1 h1:2SYwAYqd7ZwtrWxu/J8PwbQV/cDcu90bCr/a78g3lVw= -github.com/cosmos/cosmos-sdk v0.50.1/go.mod h1:fsLSPGstCwn6MMsFDMAQWGJj8E4sYsN9Gnu1bGE5imA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= +github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= +github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= +github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.11 h1:LZcMHrx4FjUgrqQSWeaGC1v/TeuVFqSLa43CC6aWR2g= -github.com/cosmos/gogoproto v1.4.11/go.mod h1:/g39Mh8m17X8Q/GDEs5zYTSNaNnInBSohtaxzQnYq1Y= -github.com/cosmos/iavl v1.0.0 h1:bw6t0Mv/mVCJvlMTOPHWLs5uUE3BRBfVWCRelOzl+so= -github.com/cosmos/iavl v1.0.0/go.mod h1:CmTGqMnRnucjxbjduneZXT+0vPgNElYvdefjX2q9tYc= +github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= +github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= +github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= github.com/cosmos/ibc-go/modules/capability v1.0.0/go.mod h1:D81ZxzjZAe0ZO5ambnvn1qedsFQ8lOwtqicG6liLBco= github.com/cosmos/ibc-go/v8 v8.0.0 h1:QKipnr/NGwc+9L7NZipURvmSIu+nw9jOIWTJuDBqOhg= @@ -411,14 +412,14 @@ github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:Htrtb github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= -github.com/dvsekhvalnov/jose2go v1.5.0 h1:3j8ya4Z4kMCwT5nXIKFSV84YS+HdqSSO0VsTQxaLAeM= -github.com/dvsekhvalnov/jose2go v1.5.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= +github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/emicklei/dot v1.6.0 h1:vUzuoVE8ipzS7QkES4UfxdpCwdU2U97m2Pb2tQCoYRY= -github.com/emicklei/dot v1.6.0/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= +github.com/emicklei/dot v1.6.1 h1:ujpDlBkkwgWUY+qPId5IwapRW/xEoligRSYjioR6DFI= +github.com/emicklei/dot v1.6.1/go.mod h1:DeV7GvQtIw4h2u73RKBkkFdvVAz0D9fzeJrgPW6gy/s= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -448,8 +449,8 @@ github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMo github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/getsentry/sentry-go v0.25.0 h1:q6Eo+hS+yoJlTO3uu/azhQadsD8V+jQn2D8VvX1eOyI= -github.com/getsentry/sentry-go v0.25.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= +github.com/getsentry/sentry-go v0.27.0 h1:Pv98CIbtB3LkMWmXi4Joa5OOcwbmnX88sF5qbK3r3Ps= +github.com/getsentry/sentry-go v0.27.0/go.mod h1:lc76E2QywIyW8WuBnwl8Lc4bkmQH4+w1gwTf25trprY= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE= github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI= @@ -475,8 +476,8 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= -github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4= @@ -668,8 +669,8 @@ github.com/hashicorp/go-hclog v1.5.0/go.mod h1:W4Qnvbt70Wk/zYJryRzDRU/4r0kIg0PVH github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.3.1 h1:DKHmCUm2hRBK510BaiZlwvpD40f8bJFeZnpfm2KLowc= github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-metrics v0.5.1 h1:rfPwUqFU6uZXNvGl4hzjY8LEBsqFVU4si1H9/Hqck/U= -github.com/hashicorp/go-metrics v0.5.1/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= +github.com/hashicorp/go-metrics v0.5.3 h1:M5uADWMOGCTUNU1YuC4hfknOeHNaX54LDm4oYSucoNE= +github.com/hashicorp/go-metrics v0.5.3/go.mod h1:KEjodfebIOuBYSAe/bHTm+HChmKSxAOXPBieMLYozDE= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-plugin v1.5.2 h1:aWv8eimFqWlsEiMrYZdPYl+FdHaBJSN4AWwGWfT1G2Y= @@ -692,6 +693,8 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v1.0.2 h1:dV3g9Z/unq5DpblPpw+Oqcv4dU/1omnb4Ok8iPY6p1c= github.com/hashicorp/golang-lru v1.0.2/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru/v2 v2.0.7 h1:a+bsQ5rvGLjzHuww6tVxozPZFVghXaHOwFs4luLUK2k= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= @@ -749,8 +752,8 @@ github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYs 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.17.2 h1:RlWWUY/Dr4fL8qk9YG7DTZ7PDgME2V4csBXA8L/ixi4= -github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.7 h1:ehO88t2UGzQK66LMdE8tibEd1ErmzZjNEqWkjLAKQQg= +github.com/klauspost/compress v1.17.7/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= @@ -770,8 +773,8 @@ github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6 github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= -github.com/linxGnu/grocksdb v1.8.12 h1:1/pCztQUOa3BX/1gR3jSZDoaKFpeHFvQ1XrqZpSvZVo= -github.com/linxGnu/grocksdb v1.8.12/go.mod h1:xZCIb5Muw+nhbDK4Y5UJuOrin5MceOuiXkVUR7vp4WY= +github.com/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= +github.com/linxGnu/grocksdb v1.8.14/go.mod h1:QYiYypR2d4v63Wj1adOOfzglnoII0gLj3PNh4fZkcFA= 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= @@ -794,8 +797,6 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0 h1:jWpvCLoY8Z/e3VKvlsiIGKtc+UG6U5vzxaoagmhXfyg= -github.com/matttproud/golang_protobuf_extensions/v2 v2.0.0/go.mod h1:QUyp042oQthUoa9bqDv0ER0wrtXnBruoNd7aNjkbP+k= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= github.com/minio/highwayhash v1.0.2 h1:Aak5U0nElisjDCfPSG79Tgzkn2gl66NxOMspRrKnA/g= github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= @@ -883,8 +884,8 @@ github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6 github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= github.com/petermattis/goid v0.0.0-20180202154549-b0b1615b78e5/go.mod h1:jvVRKCrJTQWu0XVbaOlby/2lO20uSCHEMzzplHXte1o= -github.com/petermattis/goid v0.0.0-20230904192822-1876fd5063bc h1:8bQZVK1X6BJR/6nYUPxQEP+ReTsceJTKizeuwjWOPUA= -github.com/petermattis/goid v0.0.0-20230904192822-1876fd5063bc/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67 h1:jik8PHtAIsPlCRJjJzl4udgEf7hawInF9texMeO2jrU= +github.com/petermattis/goid v0.0.0-20231207134359-e60b3f734c67/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pingcap/errors v0.11.4 h1:lFuQV/oaUMGcD2tqt+01ROSmJs75VG1ToEOkZIZ4nE4= @@ -905,32 +906,32 @@ github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5Fsn github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.17.0 h1:rl2sfwZMtSthVU752MqfjQozy7blglC+1SOtjMAMh+Q= -github.com/prometheus/client_golang v1.17.0/go.mod h1:VeL+gMmOAxkS2IqfCq0ZmHSL+LjWfWDUmp1mBz9JgUY= +github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= +github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.5.0 h1:VQw1hfvPvk3Uv6Qf29VrPF32JB6rtbgI6cYPYQjL0Qw= -github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= -github.com/prometheus/common v0.45.0 h1:2BGz0eBc2hdMDLnO/8n0jeB3oPrt2D08CekT0lneoxM= -github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/common v0.52.2 h1:LW8Vk7BccEdONfrJBDffQGRtpSzi5CQaRZGtboOO2ck= +github.com/prometheus/common v0.52.2/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.3.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.12.0 h1:jluTpSng7V9hY0O2R9DzzJHYb2xULk9VTR1V1R/k6Bo= -github.com/prometheus/procfs v0.12.0/go.mod h1:pcuDEFsWDnvcgNzo4EEweacyhjeA9Zk3cnaOZAZEfOo= +github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= +github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= 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= @@ -938,8 +939,8 @@ github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6So github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= -github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= +github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.8.3 h1:O+qNyWn7Z+F9M0ILBHgMVPuB1xTOucVd5gtaYyXBpRo= github.com/rs/cors v1.8.3/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU= @@ -990,16 +991,17 @@ github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnIn github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s= -github.com/spf13/viper v1.18.1 h1:rmuU42rScKWlhhJDyXZRKJQHXFX02chSVW1IvkPGiVM= -github.com/spf13/viper v1.18.1/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= +github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ= +github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -github.com/stretchr/objx v0.5.0 h1:1zr/of2m5FGMsad5YfcqgdqdWrIhu+EBEJRhR1U7z/c= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= +github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= @@ -1010,8 +1012,9 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY= @@ -1046,8 +1049,8 @@ github.com/zondax/hid v0.9.2/go.mod h1:l5wttcP0jwtdLjqjMMWFVEE7d1zO0jvSPA9OPZxWp github.com/zondax/ledger-go v0.14.3 h1:wEpJt2CEcBJ428md/5MgSLsXLBos98sBOyxNmCjfUCw= github.com/zondax/ledger-go v0.14.3/go.mod h1:IKKaoxupuB43g4NxeQmbLXv7T9AlQyie1UpHb342ycI= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.7 h1:j+zJOnnEjF/kyHlDDgGnVL/AIqIJPq8UoB2GSNfkUfQ= -go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.8 h1:xs88BrvEv273UsB79e0hcVrlUWmS0a8upikMFhSyAtA= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= go.opencensus.io v0.20.2/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1060,18 +1063,18 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1 h1:SpGay3w+nEwMpfVnbqOLH5gY52/foP8RE8UzTZ1pdSE= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.46.1/go.mod h1:4UoMYEZOC0yN/sPGH76KPkkU7zgiEWYWL9vwmbnTJPE= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1 h1:aFJWCqJMNjENlcleuuOkGAPH82y0yULBScfXcIEdS24= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.46.1/go.mod h1:sEGXWArGqc3tVa+ekntsN65DmVbVeW+7lTKTjZF3/Fo= -go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= -go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= -go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= -go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= +go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= +go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= +go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= +go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= -go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= +go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= +go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1100,8 +1103,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= -golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= +golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1113,8 +1116,8 @@ golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200331195152-e8c3332aa8e5/go.mod h1:4M0jN8W1tt0AVLNr8HDosyJCDCDuyL9N9+3m7wDWgKw= -golang.org/x/exp v0.0.0-20231127185646-65229373498e h1:Gvh4YaCaXNs6dKTlfgismwWZKyjVZXwOPfIyUaqU3No= -golang.org/x/exp v0.0.0-20231127185646-65229373498e/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 h1:985EYyeCOxTpcgOTJpflJUwOeEz0CQOdPt73OzpE9F8= +golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1141,8 +1144,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0= -golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1202,8 +1205,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= -golang.org/x/net v0.23.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg= +golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= +golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= 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= @@ -1229,8 +1232,8 @@ golang.org/x/oauth2 v0.0.0-20220822191816-0ebed06d0094/go.mod h1:h4gKUeWbJ4rQPri golang.org/x/oauth2 v0.0.0-20220909003341-f21342109be1/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= golang.org/x/oauth2 v0.1.0/go.mod h1:G9FE4dLTsbXUu90h/Pf85g4w1D+SSAgR+q46nJZ8M4A= -golang.org/x/oauth2 v0.16.0 h1:aDkGMBSYxElaoP81NpoUoz2oo2R2wHdZpGToUxfyQrQ= -golang.org/x/oauth2 v0.16.0/go.mod h1:hqZ+0LWXsiVoZpeld6jVt06P3adbS2Uu911W1SsJv2o= +golang.org/x/oauth2 v0.18.0 h1:09qnuIAgzdx1XplqJvW6CQqMCtGZykZWcXzPMPUusvI= +golang.org/x/oauth2 v0.18.0/go.mod h1:Wf7knwG0MPoWIMMBgFlEaSUDaKskp0dCfrlJRJXbBi8= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1245,8 +1248,8 @@ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20220601150217-0de741cfad7f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= -golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0 h1:YsImfSBoP9QPYL0xyKJPq0gcaJdG3rInoqxTWbfQu9M= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1344,13 +1347,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc 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.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= -golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= +golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= -golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= +golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= 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= @@ -1432,8 +1435,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM= -golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= +golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1492,8 +1495,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.155.0 h1:vBmGhCYs0djJttDNynWo44zosHlPvHmA0XiN2zP2DtA= -google.golang.org/api v0.155.0/go.mod h1:GI5qK5f40kCpHfPn6+YzGAByIKWv8ujFnmoWm7Igduk= +google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= +google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1610,12 +1613,12 @@ google.golang.org/genproto v0.0.0-20221010155953-15ba04fc1c0e/go.mod h1:3526vdqw google.golang.org/genproto v0.0.0-20221014173430-6e2ab493f96b/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz9N9Jx0QA82PqRVauvCz1SGSz739p0f183jM= google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= -google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80 h1:KAeGQVN3M9nD0/bQXnr/ClcEMJ968gUXJQ9pwfSynuQ= -google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= -google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80 h1:Lj5rbfG876hIAYFjqiJnPHfhXbv+nzTWfm04Fg/XSVU= -google.golang.org/genproto/googleapis/api v0.0.0-20240123012728-ef4313101c80/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80 h1:AjyfHzEPEFp/NpvfN5g+KDla3EMojjhRVZc1i7cj+oM= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240123012728-ef4313101c80/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= +google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= +google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1657,8 +1660,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -google.golang.org/grpc v1.62.0 h1:HQKZ/fa1bXkX1oFOvSjmZEUL8wLSaZTjCcLAlmZRtdk= -google.golang.org/grpc v1.62.0/go.mod h1:IWTG0VlJLCh1SkC58F7np9ka9mx/WNkjl4PGJaiq+QE= +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/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= diff --git a/http/reader/reader_server.go b/http/reader/reader_server.go index a587350c..f3e9c07a 100644 --- a/http/reader/reader_server.go +++ b/http/reader/reader_server.go @@ -2,6 +2,7 @@ package reader import ( "context" + "fmt" "io" readerpb "github.com/consideritdone/landslidevm/proto/io/reader" @@ -21,7 +22,11 @@ func NewServer(reader io.Reader) *Server { } func (s *Server) Read(_ context.Context, req *readerpb.ReadRequest) (*readerpb.ReadResponse, error) { - buf := make([]byte, int(req.Length)) + if req.Length <= 0 { + return nil, fmt.Errorf("invalid read length: %d", req.Length) + } + + buf := make([]byte, req.Length) n, err := s.reader.Read(buf) resp := &readerpb.ReadResponse{ Read: buf[:n], diff --git a/jsonrpc/rpc_func.go b/jsonrpc/rpc_func.go index 9bfa51cd..8a5a2665 100644 --- a/jsonrpc/rpc_func.go +++ b/jsonrpc/rpc_func.go @@ -4,6 +4,7 @@ import ( "fmt" "net/http" "reflect" + "runtime/debug" "strings" "github.com/cometbft/cometbft/libs/log" @@ -66,6 +67,23 @@ func NewWSRPCFunc(f interface{}, args string, options ...Option) *RPCFunc { return newRPCFunc(f, args, options...) } +// panicRecoveryMiddleware wraps RPCFunc to handle panics. +func panicRecoveryMiddleware(rpcFunc *RPCFunc) *RPCFunc { + originalFunc := rpcFunc.f + rpcFunc.f = reflect.MakeFunc(rpcFunc.f.Type(), func(args []reflect.Value) (results []reflect.Value) { + defer func() { + if r := recover(); r != nil { + fmt.Printf("Recovered in RPC call: %v\n", r) + debug.PrintStack() + err := fmt.Errorf("internal server error") + results = []reflect.Value{reflect.Zero(rpcFunc.returns[0]), reflect.ValueOf(&err).Elem()} + } + }() + return originalFunc.Call(args) + }) + return rpcFunc +} + // cacheableWithArgs returns whether or not a call to this function is cacheable, // given the specified arguments. func (f *RPCFunc) cacheableWithArgs(args []reflect.Value) bool { @@ -107,7 +125,8 @@ func newRPCFunc(f interface{}, args string, options ...Option) *RPCFunc { opt(r) } - return r + // using middleware to handle panics + return panicRecoveryMiddleware(r) } // return a function's argument types @@ -132,7 +151,7 @@ func funcReturnTypes(f interface{}) []reflect.Type { return typez } -//------------------------------------------------------------- +// ------------------------------------------------------------- // NOTE: assume returns is result struct and error. If error is not nil, return it func unreflectResult(returns []reflect.Value) (interface{}, error) { diff --git a/landslidevm.go b/landslidevm.go index dd0bb586..24bf5dcc 100644 --- a/landslidevm.go +++ b/landslidevm.go @@ -45,14 +45,16 @@ const ( // rpcChainVMProtocol should be bumped anytime changes are made which // require the plugin vm to upgrade to latest avalanchego release to be // compatible. - rpcChainVMProtocol uint = 35 + rpcChainVMProtocol uint = 35 + defaultMaxRecvMsgSize = 50 * 1024 * 1024 // 50 MB + defaultMaxConcurrentStreams = 1000 ) var ( DefaultServerOptions = []grpc.ServerOption{ - grpc.MaxRecvMsgSize(math.MaxInt), + grpc.MaxRecvMsgSize(defaultMaxRecvMsgSize), grpc.MaxSendMsgSize(math.MaxInt), - grpc.MaxConcurrentStreams(math.MaxUint32), + grpc.MaxConcurrentStreams(defaultMaxConcurrentStreams), grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{ MinTime: defaultServerKeepAliveMinTime, PermitWithoutStream: defaultPermitWithoutStream, @@ -137,6 +139,8 @@ func Serve[T interface { } client := runtimepb.NewRuntimeClient(clientConn) + + // the gRPC server should be exposed only to the local IP address 127.0.0.1 listener, err := net.Listen("tcp", "127.0.0.1:") if err != nil { return fmt.Errorf("failed to create new listener: %w", err) diff --git a/vm/rpc.go b/vm/rpc.go index ed0d91ac..42c2b19d 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -110,6 +110,7 @@ func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx return &ctypes.ResultCheckTx{ResponseCheckTx: *res}, nil } +// ABCIInfo returns the latest information about the application. func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error) { resInfo, err := rpc.vm.app.Query().Info(context.TODO(), proxy.RequestInfo) if err != nil { @@ -118,6 +119,7 @@ func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error) { return &ctypes.ResultABCIInfo{Response: *resInfo}, nil } +// ABCIQuery queries the application for some information. func (rpc *RPC) ABCIQuery( _ *rpctypes.Context, path string, @@ -142,6 +144,12 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R rpc.vm.logger.Info("BroadcastTxCommit called") subscriber := ctx.RemoteAddr() + if rpc.vm.eventBus.NumClients() >= rpc.vm.config.MaxSubscriptionClients { + return nil, fmt.Errorf("max_subscription_clients %d reached", rpc.vm.config.MaxSubscriptionClients) + } else if rpc.vm.eventBus.NumClientSubscriptions(subscriber) >= rpc.vm.config.MaxSubscriptionsPerClient { + return nil, fmt.Errorf("max_subscriptions_per_client %d reached", rpc.vm.config.MaxSubscriptionsPerClient) + } + // Subscribe to tx being committed in block. subCtx, cancel := context.WithTimeout(context.Background(), core.SubscribeTimeout) defer cancel() @@ -187,7 +195,12 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R // Wait for the tx to be included in a block or timeout. select { case msg := <-deliverTxSub.Out(): // The tx was included in a block. - eventDataTx := msg.Data().(types.EventDataTx) + eventDataTx, ok := msg.Data().(types.EventDataTx) + if !ok { + err = fmt.Errorf("expected types.EventDataTx, got %T", msg.Data()) + rpc.vm.logger.Error("Error on broadcastTxCommit", "err", err) + return nil, err + } return &ctypes.ResultBroadcastTxCommit{ CheckTx: *checkTxRes, TxResult: eventDataTx.Result, @@ -208,8 +221,7 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R TxResult: abci.ExecTxResult{}, Hash: tx.Hash(), }, err - // TODO: use rpc.config.TimeoutBroadcastTxCommit for timeout - case <-time.After(30 * time.Second): + case <-time.After(time.Duration(rpc.vm.config.TimeoutBroadcastTxCommit) * time.Second): err = errors.New("timed out waiting for tx to be included in a block") rpc.vm.logger.Error("Error on broadcastTxCommit", "err", err) return &ctypes.ResultBroadcastTxCommit{ @@ -231,26 +243,34 @@ func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.Resu return &ctypes.ResultBroadcastTx{Hash: tx.Hash()}, nil } -func (rpc *RPC) BroadcastTxSync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error) { +// BroadcastTxSync returns with the response from CheckTx. Does not wait for +// the transaction result. +// More: https://docs.cometbft.com/v0.38.x/rpc/#/Tx/broadcast_tx_sync +func (rpc *RPC) BroadcastTxSync(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error) { rpc.vm.logger.Info("BroadcastTxSync called") resCh := make(chan *abci.ResponseCheckTx, 1) err := rpc.vm.mempool.CheckTx(tx, func(res *abci.ResponseCheckTx) { - resCh <- res + select { + case <-ctx.Context().Done(): + case resCh <- res: + } }, mempl.TxInfo{}) if err != nil { rpc.vm.logger.Error("Error on BroadcastTxSync", "err", err) return nil, err } - res := <-resCh - - rpc.vm.logger.Info("BroadcastTxSync response", "Code", res.Code, "Log", res.Log, "Codespace", res.Codespace, "Hash", tx.Hash()) - return &ctypes.ResultBroadcastTx{ - Code: res.GetCode(), - Data: res.GetData(), - Log: res.GetLog(), - Codespace: res.GetCodespace(), - Hash: tx.Hash(), - }, nil + select { + case <-ctx.Context().Done(): + return nil, fmt.Errorf("broadcast confirmation not received: %w", ctx.Context().Err()) + case res := <-resCh: + return &ctypes.ResultBroadcastTx{ + Code: res.Code, + Data: res.Data, + Log: res.Log, + Codespace: res.Codespace, + Hash: tx.Hash(), + }, nil + } } // filterMinMax returns error if either min or max are negative or min > max @@ -307,7 +327,9 @@ func (rpc *RPC) BlockchainInfo( var blockMetas []*types.BlockMeta for height := maxHeight; height >= minHeight; height-- { blockMeta := rpc.vm.blockStore.LoadBlockMeta(height) - blockMetas = append(blockMetas, blockMeta) + if blockMeta != nil { + blockMetas = append(blockMetas, blockMeta) + } } return &ctypes.ResultBlockchainInfo{ @@ -335,7 +357,7 @@ func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultG id := int(chunk) - if id > len(rpc.vm.genChunks)-1 { + if id < 0 || id > len(rpc.vm.genChunks)-1 { return nil, fmt.Errorf("there are %d chunks, %d is invalid", len(rpc.vm.genChunks)-1, id) } @@ -346,17 +368,17 @@ func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultG }, nil } -// ToDo: no peers, because it's vm +// NetInfo - no peers, because it's vm func (rpc *RPC) NetInfo(_ *rpctypes.Context) (*ctypes.ResultNetInfo, error) { return nil, nil } -// ToDo: we doesn't have consensusState +// DumpConsensusState - we doesn't have consensusState func (rpc *RPC) DumpConsensusState(_ *rpctypes.Context) (*ctypes.ResultDumpConsensusState, error) { return nil, nil } -// ToDo: we doesn't have consensusState +// GetConsensusState - we doesn't have consensusState func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusState, error) { return nil, nil } @@ -487,7 +509,7 @@ func validatePerPage(perPagePtr *int) int { func validatePage(pagePtr *int, perPage, totalCount int) (int, error) { if perPage < 1 { - panic(fmt.Sprintf("zero or negative perPage: %d", perPage)) + return 1, fmt.Errorf("zero or negative perPage: %d", perPage) } if pagePtr == nil { // no page parameter @@ -514,6 +536,7 @@ func validateSkipCount(page, perPage int) int { return skipCount } +// Validators fetches and verifies validators. func (rpc *RPC) Validators( _ *rpctypes.Context, heightPtr *int64, @@ -580,6 +603,8 @@ func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.Result }, nil } +// TxSearch defines a method to search for a paginated set of transactions by +// transaction event search criteria. func (rpc *RPC) TxSearch( ctx *rpctypes.Context, query string, @@ -749,7 +774,7 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { ), DefaultNodeID: p2p.ID(rpc.vm.appOpts.NodeId), ListenAddr: "", - Network: rpc.vm.networkName, + Network: rpc.vm.config.NetworkName, Version: version.TMCoreSemVer, Channels: nil, Moniker: "", diff --git a/vm/rpc_test.go b/vm/rpc_test.go index 77456c07..ac690b2c 100644 --- a/vm/rpc_test.go +++ b/vm/rpc_test.go @@ -8,6 +8,7 @@ import ( ctypes "github.com/cometbft/cometbft/rpc/core/types" "github.com/cometbft/cometbft/rpc/jsonrpc/client" + rpctypes "github.com/cometbft/cometbft/rpc/jsonrpc/types" "github.com/stretchr/testify/require" "github.com/consideritdone/landslidevm/jsonrpc" @@ -23,8 +24,8 @@ func setupRPC(t *testing.T) (*http.Server, *LandslideVM, *client.Client) { server := &http.Server{Addr: address, Handler: mux} go func() { server.ListenAndServe() - //panic(err) - //require.NoError(t, err) + // panic(err) + // require.NoError(t, err) }() // wait for servers to start @@ -57,3 +58,59 @@ func TestStatus(t *testing.T) { t.Logf("Status result %+v", result) } + +// TestRPC is a test RPC server for the LandslideVM. +type TestRPC struct { + vm *LandslideVM +} + +// NewTestRPC creates a new TestRPC. +func NewTestRPC(vm *LandslideVM) *TestRPC { + return &TestRPC{vm} +} + +// Routes returns the available RPC routes. +func (rpc *TestRPC) Routes() map[string]*jsonrpc.RPCFunc { + return map[string]*jsonrpc.RPCFunc{ + "test_panic": jsonrpc.NewRPCFunc(rpc.TestPanic, ""), + } +} + +// NumUnconfirmedTxs gets number of unconfirmed transactions. +func (rpc *TestRPC) TestPanic(_ *rpctypes.Context) (*ctypes.ResultUnconfirmedTxs, error) { + panic("test panic") +} + +// setupTestRPC sets up a test server and client for the LandslideVM. +func setupTestRPC(t *testing.T) (*http.Server, *LandslideVM, *client.Client) { + vm := newFreshKvApp(t) + vmLnd := vm.(*LandslideVM) + mux := http.NewServeMux() + jsonrpc.RegisterRPCFuncs(mux, NewTestRPC(vmLnd).Routes(), vmLnd.logger) + + address := "127.0.0.1:44444" + server := &http.Server{Addr: address, Handler: mux, ReadHeaderTimeout: time.Second * 5, WriteTimeout: time.Second * 5} + go func() { + _ = server.ListenAndServe() + }() + + // wait for servers to start + time.Sleep(time.Second * 2) + + rpcClient, err := client.New("tcp://" + address) + require.NoError(t, err) + + return server, vmLnd, rpcClient +} + +// TestPanic tests that the server recovers from a panic. +func TestPanic(t *testing.T) { + server, _, rpcClient := setupTestRPC(t) + defer server.Close() + + result := new(ctypes.ResultStatus) + _, err := rpcClient.Call(context.Background(), "test_panic", map[string]interface{}{}, result) + require.Error(t, err) + + t.Logf("Panic result %+v", err) +} diff --git a/vm/types/config.go b/vm/types/config.go index c126ac58..5c078b93 100644 --- a/vm/types/config.go +++ b/vm/types/config.go @@ -1,47 +1,117 @@ package types import ( + "encoding/json" "fmt" - "time" + + "github.com/cometbft/cometbft/types" ) const ( - defaultRPCPort = 9752 - defaultGRPCPort = 9090 - defaultMaxOpenConnections = 0 // unlimited - defaultTimeoutBroadcastTxCommit time.Duration = 30 * time.Second + defaultTimeoutBroadcastTxCommit uint16 = 10 // seconds + defaultNetworkName = "landslide-test" + + defaultMaxBytes int64 = 100 * 1024 * 1024 // 10MB + defaultMaxGas int64 = 10000000 + + defaultMaxSubscriptionClients = 100 + defaultMaxSubscriptionsPerClient = 5 ) -// VmConfig ... -type VmConfig struct { - RPCPort uint16 `json:"rpc_port"` - GRPCPort uint16 `json:"grpc_port"` - GRPCMaxOpenConnections int `json:"grpc_max_open_connections"` - TimeoutBroadcastTxCommit time.Duration `json:"broadcast_commit_timeout"` - NetworkName string `json:"network_name"` -} +type ( + Config struct { + VMConfig VMConfig `json:"vm_config"` + AppConfig json.RawMessage `json:"app_config"` + } + + // VMConfig contains the configuration of the VM. + VMConfig struct { + NetworkName string `json:"network_name"` + TimeoutBroadcastTxCommit uint16 `json:"timeout_broadcast_tx_commit"` + ConsensusParams ConsensusParams `json:"consensus_params"` + MaxSubscriptionClients int `json:"max_subscription_clients"` + MaxSubscriptionsPerClient int `json:"max_subscriptions_per_client"` + } + + // ConsensusParams contains consensus critical parameters that determine the + // validity of blocks. + ConsensusParams struct { + Block BlockParams `json:"block"` + Evidence EvidenceParams `json:"evidence"` + } + // BlockParams contains the consensus critical parameters for a block. + BlockParams struct { + MaxBytes int64 `json:"max_bytes"` + MaxGas int64 `json:"max_gas"` + } + // EvidenceParams contains the consensus critical parameters for evidence. + EvidenceParams struct { + MaxBytes int64 `json:"max_bytes"` + } +) // SetDefaults sets the default values for the config. -func (c *VmConfig) SetDefaults() { - c.RPCPort = defaultRPCPort - c.GRPCPort = defaultGRPCPort - c.GRPCMaxOpenConnections = defaultMaxOpenConnections +func (c *VMConfig) SetDefaults() { + c.NetworkName = defaultNetworkName c.TimeoutBroadcastTxCommit = defaultTimeoutBroadcastTxCommit - c.NetworkName = "landslide-test" + + c.ConsensusParams.Block.MaxBytes = defaultMaxBytes + c.ConsensusParams.Block.MaxGas = defaultMaxGas + c.ConsensusParams.Evidence.MaxBytes = 1000 + + c.MaxSubscriptionsPerClient = defaultMaxSubscriptionsPerClient + c.MaxSubscriptionClients = defaultMaxSubscriptionClients } // Validate returns an error if this is an invalid config. -func (c *VmConfig) Validate() error { - if c.GRPCMaxOpenConnections < 0 { - return fmt.Errorf("grpc_max_open_connections can't be negative") +func (c *VMConfig) Validate() error { + if len(c.NetworkName) == 0 { + return fmt.Errorf("network_name can't be empty") } - if c.TimeoutBroadcastTxCommit < 0 { - return fmt.Errorf("broadcast_tx_commit_timeout can't be negative") + if err := c.ConsensusParams.Validate(); err != nil { + return fmt.Errorf("consensus_params is invalid: %w", err) } - if len(c.NetworkName) == 0 { - return fmt.Errorf("network_name can't be empty") + if c.MaxSubscriptionsPerClient < 0 { + return fmt.Errorf("max_subscriptions_per_client must be positive. Got %d", c.MaxSubscriptionsPerClient) + } + + if c.MaxSubscriptionClients < 0 { + return fmt.Errorf("max_subscription_clients must be positive. Got %d", c.MaxSubscriptionClients) + } + + return nil +} + +// Validate returns an error if this is an invalid config. +func (c *ConsensusParams) Validate() error { + if c.Block.MaxBytes == 0 { + return fmt.Errorf("block.MaxBytes cannot be 0") + } + if c.Block.MaxBytes < -1 { + return fmt.Errorf("block.MaxBytes must be -1 or greater than 0. Got %d", c.Block.MaxBytes) + } + if c.Block.MaxBytes > types.MaxBlockSizeBytes { + return fmt.Errorf("block.MaxBytes is too big. %d > %d", c.Block.MaxBytes, types.MaxBlockSizeBytes) + } + + if c.Block.MaxGas < -1 { + return fmt.Errorf("block.MaxGas must be greater or equal to -1. Got %d", c.Block.MaxGas) + } + + maxBytes := c.Block.MaxBytes + if maxBytes == -1 { + maxBytes = int64(types.MaxBlockSizeBytes) + } + if c.Evidence.MaxBytes > maxBytes { + return fmt.Errorf("evidence.MaxBytes is greater than upper bound, %d > %d", + c.Evidence.MaxBytes, c.Block.MaxBytes) + } + + if c.Evidence.MaxBytes < 0 { + return fmt.Errorf("evidence.MaxBytes must be non negative. Got: %d", + c.Evidence.MaxBytes) } return nil diff --git a/vm/types/state/executor.go b/vm/types/state/executor.go index 4ab3b26e..f0b179b5 100644 --- a/vm/types/state/executor.go +++ b/vm/types/state/executor.go @@ -43,6 +43,10 @@ type BlockExecutor struct { logger log.Logger metrics *statetypes.Metrics + + blockMaxBytes int64 + blockMaxGas int64 + evidenceMaxBytes int64 } type BlockExecutorOption func(executor *BlockExecutor) @@ -61,16 +65,23 @@ func NewBlockExecutor( proxyApp proxy.AppConnConsensus, mempool mempool.Mempool, blockStore statetypes.BlockStore, + blockMaxBytes int64, + blockMaxGas int64, + evidenceMaxBytes int64, options ...BlockExecutorOption, + ) *BlockExecutor { res := &BlockExecutor{ - store: stateStore, - proxyApp: proxyApp, - eventBus: types.NopEventBus{}, - mempool: mempool, - logger: logger, - metrics: statetypes.NopMetrics(), - blockStore: blockStore, + store: stateStore, + proxyApp: proxyApp, + eventBus: types.NopEventBus{}, + mempool: mempool, + logger: logger, + metrics: statetypes.NopMetrics(), + blockStore: blockStore, + blockMaxBytes: blockMaxBytes, + blockMaxGas: blockMaxGas, + evidenceMaxBytes: evidenceMaxBytes, } for _, option := range options { @@ -104,24 +115,22 @@ func (blockExec *BlockExecutor) CreateProposalBlock( proposerAddr []byte, ) (*types.Block, error) { - // maxBytes := state.ConsensusParams.Block.MaxBytes - // emptyMaxBytes := maxBytes == -1 - // if emptyMaxBytes { - // maxBytes = int64(types.MaxBlockSizeBytes) - // } + maxBytes := blockExec.blockMaxBytes + emptyMaxBytes := maxBytes == -1 + if emptyMaxBytes { + maxBytes = int64(types.MaxBlockSizeBytes) + } - // maxGas := state.ConsensusParams.Block.MaxGas + maxGas := blockExec.blockMaxGas // Fetch a limited amount of valid txs - // maxDataBytes := types.MaxDataBytes(maxBytes, 0, state.Validators.Size()) - // maxReapBytes := maxDataBytes - // if emptyMaxBytes { - // maxReapBytes = -1 - // } - maxDataBytes := int64(-1) - - // txs := blockExec.mempool.ReapMaxBytesMaxGas(maxReapBytes, maxGas) - txs := blockExec.mempool.ReapMaxBytesMaxGas(-1, -1) + maxDataBytes := types.MaxDataBytes(maxBytes, blockExec.evidenceMaxBytes, state.Validators.Size()) + maxReapBytes := maxDataBytes + if emptyMaxBytes { + maxReapBytes = -1 + } + + txs := blockExec.mempool.ReapMaxBytesMaxGas(maxReapBytes, maxGas) commit := lastExtCommit.ToCommit() block := state.MakeBlock(height, txs, commit, nil, proposerAddr) rpp, err := blockExec.proxyApp.PrepareProposal( @@ -149,17 +158,15 @@ func (blockExec *BlockExecutor) CreateProposalBlock( return nil, err } - // TODO: get maxTxSizeBytes from the app config - maxTxSizeBytes := int64(types.MaxBlockSizeBytes) - txl := types.ToTxs(rpp.Txs) - if err := txl.Validate(maxTxSizeBytes); err != nil { + if err := txl.Validate(maxDataBytes); err != nil { return nil, err } return state.MakeBlock(height, txl, commit, nil, proposerAddr), nil } +// ProcessProposal is called whenever a node receives a complete proposal. func (blockExec *BlockExecutor) ProcessProposal( block *types.Block, state statetypes.State, diff --git a/vm/types/state/utils.go b/vm/types/state/utils.go index e0f53459..c1cd10df 100644 --- a/vm/types/state/utils.go +++ b/vm/types/state/utils.go @@ -1,14 +1,17 @@ package state import ( + "bytes" "errors" "fmt" + "time" "github.com/cometbft/cometbft/crypto" "github.com/cometbft/cometbft/libs/json" cmtproto "github.com/cometbft/cometbft/proto/tendermint/types" "github.com/cometbft/cometbft/state" "github.com/cometbft/cometbft/types" + cmttime "github.com/cometbft/cometbft/types/time" "github.com/consideritdone/landslidevm/proto/vm" ) @@ -82,6 +85,54 @@ func ValidateBlock(state state.State, block *types.Block) error { block.ChainID, ) } + if state.LastBlockHeight == 0 && block.Height != state.InitialHeight { + return fmt.Errorf("wrong Block.Header.Height. Expected %v for initial block, got %v", + block.Height, state.InitialHeight) + } + if state.LastBlockHeight > 0 && block.Height != state.LastBlockHeight+1 { + return fmt.Errorf("wrong Block.Header.Height. Expected %v, got %v", + state.LastBlockHeight+1, + block.Height, + ) + } + // Validate prev block info. + if !block.LastBlockID.Equals(state.LastBlockID) { + return fmt.Errorf("wrong Block.Header.LastBlockID. Expected %v, got %v", + state.LastBlockID, + block.LastBlockID, + ) + } + // Validate app info + if !bytes.Equal(block.AppHash, state.AppHash) { + return fmt.Errorf("wrong Block.Header.AppHash. Expected %X, got %v", + state.AppHash, + block.AppHash, + ) + } + if !bytes.Equal(block.ConsensusHash, state.ConsensusParams.Hash()) { + return fmt.Errorf("wrong Block.Header.ConsensusHash. Expected %X, got %v", + state.ConsensusParams.Hash(), + block.ConsensusHash, + ) + } + if !bytes.Equal(block.LastResultsHash, state.LastResultsHash) { + return fmt.Errorf("wrong Block.Header.LastResultsHash. Expected %X, got %v", + state.LastResultsHash, + block.LastResultsHash, + ) + } + if !bytes.Equal(block.ValidatorsHash, state.Validators.Hash()) { + return fmt.Errorf("wrong Block.Header.ValidatorsHash. Expected %X, got %v", + state.Validators.Hash(), + block.ValidatorsHash, + ) + } + if !bytes.Equal(block.NextValidatorsHash, state.NextValidators.Hash()) { + return fmt.Errorf("wrong Block.Header.NextValidatorsHash. Expected %X, got %v", + state.NextValidators.Hash(), + block.NextValidatorsHash, + ) + } // Validate block LastCommit. if block.Height == state.InitialHeight { @@ -109,6 +160,13 @@ func ValidateBlock(state state.State, block *types.Block) error { state.LastBlockTime, ) } + medianTime := MedianTime(block.LastCommit, state.LastValidators) + if !block.Time.Equal(medianTime) { + return fmt.Errorf("invalid block time. Expected %v, got %v", + medianTime, + block.Time, + ) + } case block.Height == state.InitialHeight: genesisTime := state.LastBlockTime @@ -124,5 +182,33 @@ func ValidateBlock(state state.State, block *types.Block) error { block.Height, state.InitialHeight) } + // Check evidence doesn't exceed the limit amount of bytes. + if max, got := state.ConsensusParams.Evidence.MaxBytes, block.Evidence.ByteSize(); got > max { + return types.NewErrEvidenceOverflow(max, got) + } + return nil } + +// MedianTime computes a median time for a given Commit (based on Timestamp field of votes messages) and the +// corresponding validator set. The computed time is always between timestamps of +// the votes sent by honest processes, i.e., a faulty processes can not arbitrarily increase or decrease the +// computed value. +func MedianTime(commit *types.Commit, validators *types.ValidatorSet) time.Time { + weightedTimes := make([]*cmttime.WeightedTime, len(commit.Signatures)) + totalVotingPower := int64(0) + + for i, commitSig := range commit.Signatures { + if commitSig.BlockIDFlag == types.BlockIDFlagAbsent { + continue + } + _, validator := validators.GetByAddress(commitSig.ValidatorAddress) + // If there's no condition, TestValidateBlockCommit panics; not needed normally. + if validator != nil { + totalVotingPower += validator.VotingPower + weightedTimes[i] = cmttime.NewWeightedTime(commitSig.Timestamp, validator.VotingPower) + } + } + + return cmttime.WeightedMedian(weightedTimes, totalVotingPower) +} diff --git a/vm/vm.go b/vm/vm.go index 20cfebc9..28bc69e8 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -90,13 +90,13 @@ type ( GenesisBytes []byte UpgradeBytes []byte ConfigBytes []byte + Config *vmtypes.Config ChainDataDir string } AppCreator func(*AppCreatorOpts) (Application, error) LandslideVM struct { - networkName string allowShutdown *vmtypes.Atomic[bool] processMetrics prometheus.Gatherer @@ -135,7 +135,9 @@ type ( preferred [32]byte wrappedBlocks *vmstate.WrappedBlocksStorage - clientConn grpc.ClientConnInterface + clientConn grpc.ClientConnInterface + optClientConn *grpc.ClientConn + config vmtypes.VMConfig } ) @@ -163,13 +165,23 @@ func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM) return vm } +// WithClientConn sets the client connection for the VM. func WithClientConn(clientConn grpc.ClientConnInterface) func(vm *LandslideVM) { return func(vm *LandslideVM) { vm.clientConn = clientConn } } -// Initialize this VM. +// WithOptClientConn sets the optional client connection for the VM. +// it overrides the client connection set by WithClientConn. +func WithOptClientConn(clientConn *grpc.ClientConn) func(vm *LandslideVM) { + return func(vm *LandslideVM) { + vm.optClientConn = clientConn + } +} + +// Initialize initializes the VM. +// This method should only be accessible by the AvalancheGo node and not exposed publicly. func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error) { registerer := prometheus.NewRegistry() @@ -194,7 +206,11 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest // Register metrics for each Go plugin processes vm.processMetrics = registerer - if vm.clientConn == nil { + // add to connCloser even we have defined vm.clientConn via Option + if vm.optClientConn != nil { + vm.connCloser.Add(vm.optClientConn) + vm.clientConn = vm.optClientConn + } else { clientConn, err := grpc.Dial( "passthrough:///"+req.ServerAddr, grpc.WithChainUnaryInterceptor(grpcClientMetrics.UnaryClientInterceptor()), @@ -207,11 +223,12 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest return nil, err } - // TODO: add to connCloser even we have defined vm.clientConn via Option vm.connCloser.Add(clientConn) vm.clientConn = clientConn } + vm.logger = log.NewTMLogger(os.Stdout) + msgClient := messengerpb.NewMessengerClient(vm.clientConn) vm.toEngine = make(chan messengerpb.Message, 1) @@ -221,12 +238,17 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest select { case msg, ok := <-vm.toEngine: if !ok { + vm.logger.Error("channel closed") return } // Nothing to do with the error within the goroutine - _, _ = msgClient.Notify(context.Background(), &messengerpb.NotifyRequest{ + _, err := msgClient.Notify(context.Background(), &messengerpb.NotifyRequest{ Message: msg, }) + if err != nil { + vm.logger.Error("failed to notify", "err", err) + } + case <-vm.closed: return } @@ -242,13 +264,13 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest grpc.WithTransportCredentials(insecure.NewCredentials()), ) if err != nil { + vm.logger.Error("failed to dial database", "err", err) return nil, err } vm.connCloser.Add(dbClientConn) vm.databaseClient = rpcdb.NewDatabaseClient(dbClientConn) vm.database = database.New(vm.databaseClient) } - vm.logger = log.NewTMLogger(os.Stdout) dbBlockStore := dbm.NewPrefixDB(vm.database, dbPrefixBlockStore) vm.blockStore = store.NewBlockStore(dbBlockStore) @@ -271,21 +293,22 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest } app, err := vm.appCreator(vm.appOpts) if err != nil { + vm.logger.Error("failed to create app", "err", err) return nil, err } // Set the default configuration - var vmCfg vmtypes.VmConfig - vmCfg.SetDefaults() + var cfg vmtypes.Config + cfg.VMConfig.SetDefaults() if len(vm.appOpts.ConfigBytes) > 0 { - if err := json.Unmarshal(vm.appOpts.ConfigBytes, &vmCfg); err != nil { + if err := json.Unmarshal(vm.appOpts.ConfigBytes, &cfg); err != nil { return nil, fmt.Errorf("failed to unmarshal config %s: %w", string(vm.appOpts.ConfigBytes), err) } } - if err := vmCfg.Validate(); err != nil { + if err := cfg.VMConfig.Validate(); err != nil { return nil, err } - vm.networkName = vmCfg.NetworkName + vm.config = cfg.VMConfig vm.state, vm.genesis, err = node.LoadStateFromDBOrGenesisDocProvider( dbStateStore, @@ -369,7 +392,16 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest blk = vm.blockStore.LoadBlock(vm.state.LastBlockHeight) } else { vm.logger.Debug("creating genesis block") - executor := vmstate.NewBlockExecutor(vm.stateStore, vm.logger, vm.app.Consensus(), vm.mempool, vm.blockStore) + executor := vmstate.NewBlockExecutor( + vm.stateStore, + vm.logger, + vm.app.Consensus(), + vm.mempool, + vm.blockStore, + vm.config.ConsensusParams.Block.MaxBytes, + vm.config.ConsensusParams.Block.MaxGas, + vm.config.ConsensusParams.Evidence.MaxBytes, + ) executor.SetEventBus(vm.eventBus) blk, err = executor.CreateProposalBlock(context.Background(), vm.state.LastBlockHeight+1, vm.state, &types.ExtendedCommit{}, proposerAddress) @@ -405,7 +437,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest if err != nil { return nil, err } - //vm.logger.Debug("initialize block", "bytes ", blockBytes) + // vm.logger.Debug("initialize block", "bytes ", blockBytes) vm.logger.Info("vm initialization completed") parentHash := block.BlockParentHash(blk) @@ -521,10 +553,20 @@ func (vm *LandslideVM) Disconnected(context.Context, *vmpb.DisconnectedRequest) return &emptypb.Empty{}, nil } -// BuildBlock attempt to create a new block from data contained in the VM. +// BuildBlock attempts to create a new block from data contained in the VM. +// This method should be restricted to the AvalancheGo node. func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error) { vm.logger.Info("BuildBlock") - executor := vmstate.NewBlockExecutor(vm.stateStore, vm.logger, vm.app.Consensus(), vm.mempool, vm.blockStore) + executor := vmstate.NewBlockExecutor( + vm.stateStore, + vm.logger, + vm.app.Consensus(), + vm.mempool, + vm.blockStore, + vm.config.ConsensusParams.Block.MaxBytes, + vm.config.ConsensusParams.Block.MaxGas, + vm.config.ConsensusParams.Evidence.MaxBytes, + ) executor.SetEventBus(vm.eventBus) signatures := make([]types.ExtendedCommitSig, len(vm.state.Validators.Validators)) @@ -583,7 +625,7 @@ func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vm // ParseBlock attempt to create a block from a stream of bytes. func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error) { vm.logger.Info("ParseBlock") - //vm.logger.Debug("ParseBlock", "bytes", req.Bytes) + // vm.logger.Debug("ParseBlock", "bytes", req.Bytes) var ( blk *types.Block blkStatus vmpb.Status @@ -839,7 +881,7 @@ func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryReq func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error) { vm.logger.Info("BlockVerify") - //vm.logger.Debug("block verify", "bytes", req.Bytes) + // vm.logger.Debug("block verify", "bytes", req.Bytes) blk, blkStatus, err := vmstate.DecodeBlockWithStatus(req.Bytes) if err != nil { @@ -869,6 +911,8 @@ func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyReque return &vmpb.BlockVerifyResponse{Timestamp: timestamppb.New(blk.Time)}, nil } +// BlockAccept notifies the VM that a block has been accepted. +// This is a critical method and should not be exposed publicly. func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error) { vm.logger.Info("BlockAccept") @@ -883,7 +927,16 @@ func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptReque return nil, ErrNotFound } - executor := vmstate.NewBlockExecutor(vm.stateStore, vm.logger, vm.app.Consensus(), vm.mempool, vm.blockStore) + executor := vmstate.NewBlockExecutor( + vm.stateStore, + vm.logger, + vm.app.Consensus(), + vm.mempool, + vm.blockStore, + vm.config.ConsensusParams.Block.MaxBytes, + vm.config.ConsensusParams.Block.MaxGas, + vm.config.ConsensusParams.Evidence.MaxBytes, + ) executor.SetEventBus(vm.eventBus) blk := wblk.Block diff --git a/vm/vm_test.go b/vm/vm_test.go index f95ebf30..e856ba20 100644 --- a/vm/vm_test.go +++ b/vm/vm_test.go @@ -3,12 +3,15 @@ package vm import ( "context" _ "embed" + "net" "testing" dbm "github.com/cometbft/cometbft-db" "github.com/cometbft/cometbft/abci/example/kvstore" "github.com/stretchr/testify/require" "google.golang.org/grpc" + "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/test/bufconn" "google.golang.org/protobuf/types/known/emptypb" vmpb "github.com/consideritdone/landslidevm/proto/vm" @@ -19,22 +22,40 @@ var ( kvstorevmGenesis []byte ) -type mockClientConn struct { -} +const bufSize = 1024 * 1024 + +var lis *bufconn.Listener -func (m *mockClientConn) Invoke(ctx context.Context, method string, args any, reply any, opts ...grpc.CallOption) error { - return nil +func init() { + lis = bufconn.Listen(bufSize) + s := grpc.NewServer() + // Register your server implementations here, e.g., pb.RegisterGreeterServer(s, &server{}) + go func() { + if err := s.Serve(lis); err != nil { + panic("Server exited with error: " + err.Error()) + } + }() } -func (m *mockClientConn) NewStream(ctx context.Context, desc *grpc.StreamDesc, method string, opts ...grpc.CallOption) (grpc.ClientStream, error) { - return nil, nil +func bufDialer(context.Context, string) (net.Conn, error) { + return lis.Dial() } func newKvApp(t *testing.T, vmdb, appdb dbm.DB) vmpb.VMServer { - mockConn := &mockClientConn{} + ctx := context.Background() + mockConn, err := grpc.DialContext( + ctx, + "bufnet", + grpc.WithContextDialer(bufDialer), + grpc.WithTransportCredentials(insecure.NewCredentials()), + ) + if err != nil { + t.Fatalf("Failed to dial bufnet: %v", err) + } + vm := NewViaDB(vmdb, func(*AppCreatorOpts) (Application, error) { return kvstore.NewApplication(appdb), nil - }, WithClientConn(mockConn)) + }, WithOptClientConn(mockConn)) require.NotNil(t, vm) initRes, err := vm.Initialize(context.TODO(), &vmpb.InitializeRequest{ DbServerAddr: "inmemory", @@ -127,12 +148,23 @@ func TestAcceptBlock(t *testing.T) { func TestShutdownWithoutInit(t *testing.T) { vmdb := dbm.NewMemDB() appdb := dbm.NewMemDB() - mockConn := &mockClientConn{} + ctx := context.Background() + + mockConn, err := grpc.DialContext( + ctx, + "bufnet", + grpc.WithContextDialer(bufDialer), + grpc.WithTransportCredentials(insecure.NewCredentials()), + ) + if err != nil { + t.Fatalf("Failed to dial bufnet: %v", err) + } + vm := NewViaDB(vmdb, func(*AppCreatorOpts) (Application, error) { return kvstore.NewApplication(appdb), nil - }, WithClientConn(mockConn)) + }, WithOptClientConn(mockConn)) require.NotNil(t, vm) - _, err := vm.Shutdown(context.Background(), &emptypb.Empty{}) + _, err = vm.Shutdown(context.Background(), &emptypb.Empty{}) require.NoError(t, err) } From 4de4d4d979ad1c749c2262e33a0e75ba6501fd25 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Wed, 24 Jul 2024 15:54:04 +0300 Subject: [PATCH 05/40] golangci-lint (#48) --- .github/workflows/go.yml | 9 +- .golangci.yml | 364 ++++++++++++++++++++++++++++++ database/database.go | 5 +- example/wasm/main.go | 2 +- jsonrpc/http_json_handler.go | 8 +- jsonrpc/http_json_handler_test.go | 12 +- vm/rpc.go | 2 +- vm/types/block/block.go | 2 +- vm/types/state/error.go | 1 + vm/vm.go | 32 +-- 10 files changed, 404 insertions(+), 33 deletions(-) create mode 100644 .golangci.yml diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 239ffb0f..3555bf99 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -37,8 +37,13 @@ jobs: - name: Run staticcheck run: staticcheck ./... - - name: Install golint - run: go install golang.org/x/lint/golint@latest + - name: Install golangci-lint + uses: golangci/golangci-lint-action@v2 + with: + version: latest + + - name: Run golangci-lint + run: golangci-lint run ./... - name: Test run: go test -race -vet=off -v ./... diff --git a/.golangci.yml b/.golangci.yml new file mode 100644 index 00000000..373e97c3 --- /dev/null +++ b/.golangci.yml @@ -0,0 +1,364 @@ +# This code is licensed under the terms of the MIT license https://opensource.org/license/mit +# Copyright (c) 2021 Marat Reymers + +## Golden config for golangci-lint v1.59.1 +# +# This is the best config for golangci-lint based on my experience and opinion. +# It is very strict, but not extremely strict. +# Feel free to adapt and change it for your needs. + +run: + # Timeout for analysis, e.g. 30s, 5m. + # Default: 1m + timeout: 3m + + +# This file contains only configs which differ from defaults. +# All possible options can be found here https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml +linters-settings: + revive: + ignore-generated-header: true + severity: warning + rules: + - name: indent-error-flow + severity: warning + - name: exported + severity: warning + - name: duplicated-imports + severity: warning + - name: empty-block + severity: warning + + cyclop: + # The maximal code complexity to report. + # Default: 10 + max-complexity: 30 + # The maximal average package complexity. + # If it's higher than 0.0 (float) the check is enabled + # Default: 0.0 + package-average: 10.0 + + errcheck: + # Report about not checking of errors in type assertions: `a := b.(MyStruct)`. + # Such cases aren't reported by default. + # Default: false + check-type-assertions: true + + exhaustive: + # Program elements to check for exhaustiveness. + # Default: [ switch ] + check: + - switch + - map + + exhaustruct: + # List of regular expressions to exclude struct packages and their names from checks. + # Regular expressions must match complete canonical struct package/name/structname. + # Default: [] + exclude: + # std libs + - "^net/http.Client$" + - "^net/http.Cookie$" + - "^net/http.Request$" + - "^net/http.Response$" + - "^net/http.Server$" + - "^net/http.Transport$" + - "^net/url.URL$" + - "^os/exec.Cmd$" + - "^reflect.StructField$" + # public libs + - "^github.com/Shopify/sarama.Config$" + - "^github.com/Shopify/sarama.ProducerMessage$" + - "^github.com/mitchellh/mapstructure.DecoderConfig$" + - "^github.com/prometheus/client_golang/.+Opts$" + - "^github.com/spf13/cobra.Command$" + - "^github.com/spf13/cobra.CompletionOptions$" + - "^github.com/stretchr/testify/mock.Mock$" + - "^github.com/testcontainers/testcontainers-go.+Request$" + - "^github.com/testcontainers/testcontainers-go.FromDockerfile$" + - "^golang.org/x/tools/go/analysis.Analyzer$" + - "^google.golang.org/protobuf/.+Options$" + - "^gopkg.in/yaml.v3.Node$" + + funlen: + # Checks the number of lines in a function. + # If lower than 0, disable the check. + # Default: 60 + lines: 100 + # Checks the number of statements in a function. + # If lower than 0, disable the check. + # Default: 40 + statements: 50 + # Ignore comments when counting lines. + # Default false + ignore-comments: true + + gocognit: + # Minimal code complexity to report. + # Default: 30 (but we recommend 10-20) + min-complexity: 20 + + gocritic: + # Settings passed to gocritic. + # The settings key is the name of a supported gocritic checker. + # The list of supported checkers can be find in https://go-critic.github.io/overview. + settings: + captLocal: + # Whether to restrict checker to params only. + # Default: true + paramsOnly: false + underef: + # Whether to skip (*x).method() calls where x is a pointer receiver. + # Default: true + skipRecvDeref: false + + gomodguard: + blocked: + # List of blocked modules. + # Default: [] + modules: + - github.com/golang/protobuf: + recommendations: + - google.golang.org/protobuf + reason: "see https://developers.google.com/protocol-buffers/docs/reference/go/faq#modules" + - github.com/satori/go.uuid: + recommendations: + - github.com/google/uuid + reason: "satori's package is not maintained" + - github.com/gofrs/uuid: + recommendations: + - github.com/gofrs/uuid/v5 + reason: "gofrs' package was not go module before v5" + + govet: + # Enable all analyzers. + # Default: false + enable-all: true + # Disable analyzers by name. + # Run `go tool vet help` to see all analyzers. + # Default: [] + disable: + - fieldalignment # too strict + # Settings per analyzer. + settings: + shadow: + # Whether to be strict about shadowing; can be noisy. + # Default: false + strict: true + + inamedparam: + # Skips check for interface methods with only a single parameter. + # Default: false + skip-single-param: true + + mnd: + # List of function patterns to exclude from analysis. + # Values always ignored: `time.Date`, + # `strconv.FormatInt`, `strconv.FormatUint`, `strconv.FormatFloat`, + # `strconv.ParseInt`, `strconv.ParseUint`, `strconv.ParseFloat`. + # Default: [] + ignored-functions: + - args.Error + - flag.Arg + - flag.Duration.* + - flag.Float.* + - flag.Int.* + - flag.Uint.* + - os.Chmod + - os.Mkdir.* + - os.OpenFile + - os.WriteFile + - prometheus.ExponentialBuckets.* + - prometheus.LinearBuckets + + nakedret: + # Make an issue if func has more lines of code than this setting, and it has naked returns. + # Default: 30 + max-func-lines: 0 + + nolintlint: + # Exclude following linters from requiring an explanation. + # Default: [] + allow-no-explanation: [ funlen, gocognit, lll ] + # Enable to require an explanation of nonzero length after each nolint directive. + # Default: false + require-explanation: true + # Enable to require nolint directives to mention the specific linter being suppressed. + # Default: false + require-specific: true + + perfsprint: + # Optimizes into strings concatenation. + # Default: true + strconcat: false + + rowserrcheck: + # database/sql is always checked + # Default: [] + packages: + - github.com/jmoiron/sqlx + + sloglint: + # Enforce not using global loggers. + # Values: + # - "": disabled + # - "all": report all global loggers + # - "default": report only the default slog logger + # https://github.com/go-simpler/sloglint?tab=readme-ov-file#no-global + # Default: "" + no-global: "all" + # Enforce using methods that accept a context. + # Values: + # - "": disabled + # - "all": report all contextless calls + # - "scope": report only if a context exists in the scope of the outermost function + # https://github.com/go-simpler/sloglint?tab=readme-ov-file#context-only + # Default: "" + context: "scope" + + tenv: + # The option `all` will run against whole test files (`_test.go`) regardless of method/function signatures. + # Otherwise, only methods that take `*testing.T`, `*testing.B`, and `testing.TB` as arguments are checked. + # Default: false + all: true + + +linters: + disable-all: true + enable: + ## enabled by default +# - errcheck # checking for unchecked errors, these unchecked errors can be critical bugs in some cases + - gosimple # specializes in simplifying a code +# - govet # reports suspicious constructs, such as Printf calls whose arguments do not align with the format string + - ineffassign # detects when assignments to existing variables are not used + - staticcheck # is a go vet on steroids, applying a ton of static analysis checks + - typecheck # like the front-end of a Go compiler, parses and type-checks Go code + - unused # checks for unused constants, variables, functions and types + ## disabled by default + - asasalint # checks for pass []any as any in variadic func(...any) + - asciicheck # checks that your code does not contain non-ASCII identifiers + - bidichk # checks for dangerous unicode character sequences + - bodyclose # checks whether HTTP response body is closed successfully + - canonicalheader # checks whether net/http.Header uses canonical header +# - copyloopvar # detects places where loop variables are copied +# - cyclop # checks function and package cyclomatic complexity + - dupl # tool for code clone detection + - durationcheck # checks for two durations multiplied together +# - errname # checks that sentinel errors are prefixed with the Err and error types are suffixed with the Error +# - errorlint # finds code that will cause problems with the error wrapping scheme introduced in Go 1.13 +# - exhaustive # checks exhaustiveness of enum switch statements + - exportloopref # checks for pointers to enclosing loop variables + - fatcontext # detects nested contexts in loops +# - forbidigo # forbids identifiers +# - funlen # tool for detection of long functions + - gocheckcompilerdirectives # validates go compiler directive comments (//go:) +# - gochecknoglobals # checks that no global variables exist +# - gochecknoinits # checks that no init functions are present in Go code + - gochecksumtype # checks exhaustiveness on Go "sum types" +# - gocognit # computes and checks the cognitive complexity of functions + - goconst # finds repeated strings that could be replaced by a constant + - gocritic # provides diagnostics that check for bugs, performance and style issues +# - gocyclo # computes and checks the cyclomatic complexity of functions +# - godot # checks if comments end in a period + - goimports # in addition to fixing imports, goimports also formats your code in the same style as gofmt +# - gomoddirectives # manages the use of 'replace', 'retract', and 'excludes' directives in go.mod + - gomodguard # allow and block lists linter for direct Go module dependencies. This is different from depguard where there are different block types for example version constraints and module recommendations + - goprintffuncname # checks that printf-like functions are named with f at the end + - gosec # inspects source code for security problems +# - intrange # finds places where for loops could make use of an integer range +# - lll # reports long lines + - loggercheck # checks key value pairs for common logger libraries (kitlog,klog,logr,zap) + - makezero # finds slice declarations with non-zero initial length + - mirror # reports wrong mirror patterns of bytes/strings usage +# - mnd # detects magic numbers +# - musttag # enforces field tags in (un)marshaled structs + - nakedret # finds naked returns in functions greater than a specified function length +# - nestif # reports deeply nested if statements + - nilerr # finds the code that returns nil even if it checks that the error is not nil +# - nilnil # checks that there is no simultaneous return of nil error and an invalid value + - noctx # finds sending http request without context.Context + - nolintlint # reports ill-formed or insufficient nolint directives +# - nonamedreturns # reports all named returns + - nosprintfhostport # checks for misuse of Sprintf to construct a host with port in a URL +# - perfsprint # checks that fmt.Sprintf can be replaced with a faster alternative +# - predeclared # finds code that shadows one of Go's predeclared identifiers +# - promlinter # checks Prometheus metrics naming via promlint +# - protogetter # reports direct reads from proto message fields when getters should be used +# - reassign # checks that package variables are not reassigned + - revive # fast, configurable, extensible, flexible, and beautiful linter for Go, drop-in replacement of golint +# - rowserrcheck # checks whether Err of rows is checked successfully +# - sloglint # ensure consistent code style when using log/slog +# - spancheck # checks for mistakes with OpenTelemetry/Census spans +# - sqlclosecheck # checks that sql.Rows and sql.Stmt are closed +# - stylecheck # is a replacement for golint +# - tenv # detects using os.Setenv instead of t.Setenv since Go1.17 + - testableexamples # checks if examples are testable (have an expected output) +# - testifylint # checks usage of github.com/stretchr/testify +# - testpackage # makes you use a separate _test package +# - tparallel # detects inappropriate usage of t.Parallel() method in your Go test codes +# - unconvert # removes unnecessary type conversions +# - unparam # reports unused function parameters +# - usestdlibvars # detects the possibility to use variables/constants from the Go standard library +# - wastedassign # finds wasted assignment statements +# - whitespace # detects leading and trailing whitespace + + ## you may want to enable + #- decorder # checks declaration order and count of types, constants, variables and functions + #- exhaustruct # [highly recommend to enable] checks if all structure fields are initialized + #- gci # controls golang package import order and makes it always deterministic + #- ginkgolinter # [if you use ginkgo/gomega] enforces standards of using ginkgo and gomega + #- godox # detects FIXME, TODO and other comment keywords + #- goheader # checks is file header matches to pattern + #- inamedparam # [great idea, but too strict, need to ignore a lot of cases by default] reports interfaces with unnamed method parameters + #- interfacebloat # checks the number of methods inside an interface + #- ireturn # accept interfaces, return concrete types + #- prealloc # [premature optimization, but can be used in some cases] finds slice declarations that could potentially be preallocated + #- tagalign # checks that struct tags are well aligned + #- varnamelen # [great idea, but too many false positives] checks that the length of a variable's name matches its scope + #- wrapcheck # checks that errors returned from external packages are wrapped + #- zerologlint # detects the wrong usage of zerolog that a user forgets to dispatch zerolog.Event + + ## disabled + #- containedctx # detects struct contained context.Context field + #- contextcheck # [too many false positives] checks the function whether use a non-inherited context + #- depguard # [replaced by gomodguard] checks if package imports are in a list of acceptable packages + #- dogsled # checks assignments with too many blank identifiers (e.g. x, _, _, _, := f()) + #- dupword # [useless without config] checks for duplicate words in the source code + #- err113 # [too strict] checks the errors handling expressions + #- errchkjson # [don't see profit + I'm against of omitting errors like in the first example https://github.com/breml/errchkjson] checks types passed to the json encoding functions. Reports unsupported types and optionally reports occasions, where the check for the returned error can be omitted + #- execinquery # [deprecated] checks query string in Query function which reads your Go src files and warning it finds + #- forcetypeassert # [replaced by errcheck] finds forced type assertions + #- gofmt # [replaced by goimports] checks whether code was gofmt-ed + #- gofumpt # [replaced by goimports, gofumports is not available yet] checks whether code was gofumpt-ed + #- gosmopolitan # reports certain i18n/l10n anti-patterns in your Go codebase + #- grouper # analyzes expression groups + #- importas # enforces consistent import aliases + #- maintidx # measures the maintainability index of each function + #- misspell # [useless] finds commonly misspelled English words in comments + #- nlreturn # [too strict and mostly code is not more readable] checks for a new line before return and branch statements to increase code clarity + #- paralleltest # [too many false positives] detects missing usage of t.Parallel() method in your Go test + #- tagliatelle # checks the struct tags + #- thelper # detects golang test helpers without t.Helper() call and checks the consistency of test helpers + #- wsl # [too strict and mostly code is not more readable] whitespace linter forces you to use empty lines + + +issues: + # Maximum count of issues with the same text. + # Set to 0 to disable. + # Default: 3 + max-same-issues: 50 + + exclude-rules: + - source: "(noinspection|TODO)" + linters: [ godot ] + - source: "//noinspection" + linters: [ gocritic ] + - path: "_test\\.go" + linters: + - bodyclose + - dupl + - funlen + - goconst + - gosec + - noctx + - wrapcheck \ No newline at end of file diff --git a/database/database.go b/database/database.go index a4b61b75..f5a31ebb 100644 --- a/database/database.go +++ b/database/database.go @@ -5,6 +5,7 @@ import ( "sync/atomic" dbm "github.com/cometbft/cometbft-db" + "github.com/consideritdone/landslidevm/proto/rpcdb" ) @@ -115,11 +116,11 @@ func (db *Database) NewBatch() dbm.Batch { } func (db *Database) Print() error { - //TODO implement me + // TODO implement me return nil } func (db *Database) Stats() map[string]string { - //TODO implement me + // TODO implement me return nil } diff --git a/example/wasm/main.go b/example/wasm/main.go index 6c08a65b..b3d9a78d 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -115,7 +115,7 @@ func WasmCreator() vm.AppCreator { WithInterfaceRegistry(interfaceRegistry). WithChainID(chainID) - avaChainID, err := ids.ToID(config.ChainId) + avaChainID, err := ids.ToID(config.ChainID) if err != nil { return nil, err } diff --git a/jsonrpc/http_json_handler.go b/jsonrpc/http_json_handler.go index 51c8259e..598b3ef6 100644 --- a/jsonrpc/http_json_handler.go +++ b/jsonrpc/http_json_handler.go @@ -12,7 +12,7 @@ import ( cmtjson "github.com/cometbft/cometbft/libs/json" "github.com/cometbft/cometbft/libs/log" "github.com/cometbft/cometbft/rpc/jsonrpc/server" - types "github.com/cometbft/cometbft/rpc/jsonrpc/types" + "github.com/cometbft/cometbft/rpc/jsonrpc/types" ) // HTTP + JSON handler @@ -78,14 +78,14 @@ func makeJSONRPCHandler(funcMap map[string]*RPCFunc, logger log.Logger) http.Han ) continue } - //if len(r.URL.Path) > 1 { + // if len(r.URL.Path) > 1 { // responses = append( // responses, // types.RPCInvalidRequestError(request.ID, fmt.Errorf("path %s is invalid", r.URL.Path)), // ) // cache = false // continue - //} + // } rpcFunc, ok := funcMap[request.Method] if !ok || (rpcFunc.ws) { responses = append(responses, types.RPCMethodNotFoundError(request.ID)) @@ -262,5 +262,5 @@ func writeListOfEndpoints(w http.ResponseWriter, r *http.Request, funcMap map[st buf.WriteString("") w.Header().Set("Content-Type", "text/html") w.WriteHeader(200) - w.Write(buf.Bytes()) //nolint: errcheck + _, _ = w.Write(buf.Bytes()) } diff --git a/jsonrpc/http_json_handler_test.go b/jsonrpc/http_json_handler_test.go index 6d28ffea..c1386852 100644 --- a/jsonrpc/http_json_handler_test.go +++ b/jsonrpc/http_json_handler_test.go @@ -13,7 +13,7 @@ import ( "github.com/stretchr/testify/require" "github.com/cometbft/cometbft/libs/log" - types "github.com/cometbft/cometbft/rpc/jsonrpc/types" + "github.com/cometbft/cometbft/rpc/jsonrpc/types" ) func testMux() *http.ServeMux { @@ -218,7 +218,7 @@ func TestRPCNotificationInBatch(t *testing.T) { } } -//func TestUnknownRPCPath(t *testing.T) { +// func TestUnknownRPCPath(t *testing.T) { // mux := testMux() // req, err := http.NewRequest("GET", "http://localhost/unknownrpcpath", nil) // require.NoError(t, err) @@ -229,7 +229,7 @@ func TestRPCNotificationInBatch(t *testing.T) { // // Always expecting back a 404 error // require.Equal(t, http.StatusNotFound, res.StatusCode, "should always return 404") // res.Body.Close() -//} +// } func TestRPCResponseCache(t *testing.T) { mux := testMux() @@ -241,7 +241,7 @@ func TestRPCResponseCache(t *testing.T) { // Always expecting back a JSONRPCResponse require.True(t, statusOK(res.StatusCode), "should always return 2XX") - require.Equal(t, "public, max-age=86400", res.Header.Get("Cache-control")) + require.Equal(t, "public, max-age=86400", res.Header.Get("Cache-Control")) _, err := io.ReadAll(res.Body) res.Body.Close() @@ -256,7 +256,7 @@ func TestRPCResponseCache(t *testing.T) { // Always expecting back a JSONRPCResponse require.True(t, statusOK(res.StatusCode), "should always return 2XX") - require.Equal(t, "", res.Header.Get("Cache-control")) + require.Equal(t, "", res.Header.Get("Cache-Control")) _, err = io.ReadAll(res.Body) @@ -272,7 +272,7 @@ func TestRPCResponseCache(t *testing.T) { // Always expecting back a JSONRPCResponse require.True(t, statusOK(res.StatusCode), "should always return 2XX") - require.Equal(t, "", res.Header.Get("Cache-control")) + require.Equal(t, "", res.Header.Get("Cache-Control")) _, err = io.ReadAll(res.Body) diff --git a/vm/rpc.go b/vm/rpc.go index 42c2b19d..15e05399 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -772,7 +772,7 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { version.BlockProtocol, 0, ), - DefaultNodeID: p2p.ID(rpc.vm.appOpts.NodeId), + DefaultNodeID: p2p.ID(rpc.vm.appOpts.NodeID), ListenAddr: "", Network: rpc.vm.config.NetworkName, Version: version.TMCoreSemVer, diff --git a/vm/types/block/block.go b/vm/types/block/block.go index 8d9d0ae2..80e95f13 100644 --- a/vm/types/block/block.go +++ b/vm/types/block/block.go @@ -4,7 +4,7 @@ import ( "github.com/cometbft/cometbft/types" ) -func BlockParentHash(block *types.Block) [32]byte { +func ParentHash(block *types.Block) [32]byte { var parentHash [32]byte if block.LastBlockID.Hash != nil { parentHash = [32]byte(block.LastBlockID.Hash) diff --git a/vm/types/state/error.go b/vm/types/state/error.go index 4c7c8a26..edfa3cad 100644 --- a/vm/types/state/error.go +++ b/vm/types/state/error.go @@ -3,6 +3,7 @@ package state import ( "errors" "fmt" + "github.com/cometbft/cometbft/state" ) diff --git a/vm/vm.go b/vm/vm.go index 28bc69e8..29a76ab7 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -79,14 +79,14 @@ type ( Application = abcitypes.Application AppCreatorOpts struct { - NetworkId uint32 - SubnetId []byte - ChainId []byte - NodeId []byte + NetworkID uint32 + SubnetID []byte + ChainID []byte + NodeID []byte PublicKey []byte - XChainId []byte - CChainId []byte - AvaxAssetId []byte + XChainID []byte + CChainID []byte + AvaxAssetID []byte GenesisBytes []byte UpgradeBytes []byte ConfigBytes []byte @@ -278,14 +278,14 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest vm.stateStore = state.NewStore(dbStateStore, state.StoreOptions{DiscardABCIResponses: false}) vm.appOpts = &AppCreatorOpts{ - NetworkId: req.NetworkId, - SubnetId: req.SubnetId, - ChainId: req.ChainId, - NodeId: req.NodeId, + NetworkID: req.NetworkId, + SubnetID: req.SubnetId, + ChainID: req.ChainId, + NodeID: req.NodeId, PublicKey: req.PublicKey, - XChainId: req.XChainId, - CChainId: req.CChainId, - AvaxAssetId: req.AvaxAssetId, + XChainID: req.XChainId, + CChainID: req.CChainId, + AvaxAssetID: req.AvaxAssetId, GenesisBytes: req.GenesisBytes, UpgradeBytes: req.UpgradeBytes, ConfigBytes: req.ConfigBytes, @@ -440,7 +440,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest // vm.logger.Debug("initialize block", "bytes ", blockBytes) vm.logger.Info("vm initialization completed") - parentHash := block.BlockParentHash(blk) + parentHash := block.ParentHash(blk) return &vmpb.InitializeResponse{ LastAcceptedId: blk.Hash(), @@ -469,7 +469,7 @@ func (vm *LandslideVM) SetState(_ context.Context, req *vmpb.SetStateRequest) (* } vm.logger.Debug("SetState", "LastAcceptedId", vm.state.LastBlockID.Hash, "block", blk.Hash()) - parentHash := block.BlockParentHash(blk) + parentHash := block.ParentHash(blk) res := vmpb.SetStateResponse{ LastAcceptedId: blk.Hash(), LastAcceptedParentId: parentHash[:], From fecb010003f63970a1147e4ebe91be85526b7ae5 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Tue, 27 Aug 2024 21:30:10 +0300 Subject: [PATCH 06/40] rpc status (#52) * rpc status * API endpoint * Clear Go module cache * golangci-lint * golangci-lint version * golangci-lint 1.60 * golangci configuration, gosec linter * remove deprecated exportloopref * fix for empty chain id in tests --- .github/workflows/go.yml | 10 +++------- .golangci.yml | 5 ++++- example/wasm/main.go | 14 ++++++++++++++ vm/rpc.go | 16 +++++++++++++--- 4 files changed, 34 insertions(+), 11 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 3555bf99..59f7cc68 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -11,7 +11,6 @@ on: pull_request: jobs: - build: runs-on: ubuntu-latest steps: @@ -37,13 +36,10 @@ jobs: - name: Run staticcheck run: staticcheck ./... - - name: Install golangci-lint - uses: golangci/golangci-lint-action@v2 + - name: golangci-lint + uses: golangci/golangci-lint-action@v6 with: - version: latest - - - name: Run golangci-lint - run: golangci-lint run ./... + version: v1.60 - name: Test run: go test -race -vet=off -v ./... diff --git a/.golangci.yml b/.golangci.yml index 373e97c3..d61f6395 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -16,6 +16,9 @@ run: # This file contains only configs which differ from defaults. # All possible options can be found here https://github.com/golangci/golangci-lint/blob/master/.golangci.reference.yml linters-settings: + gosec: + excludes: + - G115 # integer overflow conversion int -> uint8 (gosec) revive: ignore-generated-header: true severity: warning @@ -247,7 +250,7 @@ linters: # - errname # checks that sentinel errors are prefixed with the Err and error types are suffixed with the Error # - errorlint # finds code that will cause problems with the error wrapping scheme introduced in Go 1.13 # - exhaustive # checks exhaustiveness of enum switch statements - - exportloopref # checks for pointers to enclosing loop variables +# - exportloopref # checks for pointers to enclosing loop variables - fatcontext # detects nested contexts in loops # - forbidigo # forbids identifiers # - funlen # tool for detection of long functions diff --git a/example/wasm/main.go b/example/wasm/main.go index b3d9a78d..3a2eb756 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -19,6 +19,7 @@ import ( "github.com/cosmos/cosmos-sdk/codec" cryptocodec "github.com/cosmos/cosmos-sdk/crypto/codec" "github.com/cosmos/cosmos-sdk/server" + "github.com/cosmos/cosmos-sdk/server/api" srvconfig "github.com/cosmos/cosmos-sdk/server/config" servergrpc "github.com/cosmos/cosmos-sdk/server/grpc" "github.com/cosmos/cosmos-sdk/testutil/sims" @@ -178,6 +179,19 @@ func WasmCreator() vm.AppCreator { return servergrpc.StartGRPCServer(ctx, logger.With("module", "grpc-server"), grpcCfg, grpcSrv) }) + apiAddr := "tcp://localhost:1317" + srvCfg.API = srvconfig.APIConfig{ + Enable: true, + Swagger: true, + EnableUnsafeCORS: true, + Address: apiAddr, + } + apiSrv := api.New(clientCtx, logger.With(log.ModuleKey, "api-server"), grpcSrv) + wasmApp.RegisterAPIRoutes(apiSrv, srvCfg.API) + g.Go(func() error { + return apiSrv.Start(ctx, srvCfg) + }) + return server.NewCometABCIWrapper(wasmApp), nil } } diff --git a/vm/rpc.go b/vm/rpc.go index 15e05399..02b6df65 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -22,6 +22,7 @@ import ( "github.com/cometbft/cometbft/version" "github.com/consideritdone/landslidevm/jsonrpc" + "github.com/consideritdone/landslidevm/utils/ids" ) type RPC struct { @@ -750,6 +751,7 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { } var ( + err error latestBlockHash tmbytes.HexBytes latestAppHash tmbytes.HexBytes latestBlockTimeNano int64 @@ -765,6 +767,14 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { } } + chainID := ids.Empty + if rpc.vm.appOpts.ChainID != nil { + chainID, err = ids.ToID(rpc.vm.appOpts.ChainID) + if err != nil { + return nil, err + } + } + result := &ctypes.ResultStatus{ NodeInfo: p2p.DefaultNodeInfo{ ProtocolVersion: p2p.NewProtocolVersion( @@ -772,12 +782,12 @@ func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { version.BlockProtocol, 0, ), - DefaultNodeID: p2p.ID(rpc.vm.appOpts.NodeID), - ListenAddr: "", + DefaultNodeID: p2p.ID(fmt.Sprintf("%x", rpc.vm.appOpts.NodeID)), + ListenAddr: fmt.Sprintf("/ext/bc/%s/rpc", chainID), Network: rpc.vm.config.NetworkName, Version: version.TMCoreSemVer, Channels: nil, - Moniker: "", + Moniker: fmt.Sprintf("%x", rpc.vm.appOpts.NodeID), Other: p2p.DefaultNodeInfoOther{}, }, SyncInfo: ctypes.SyncInfo{ From 017edc772734ca1208a579080c1698bda0e11ed2 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Wed, 28 Aug 2024 16:01:49 +0300 Subject: [PATCH 07/40] cosmos api configuration (#54) --- example/wasm/main.go | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/example/wasm/main.go b/example/wasm/main.go index 3a2eb756..a8edda37 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -4,8 +4,10 @@ import ( "context" "encoding/json" "fmt" + "net" "os" "os/signal" + "strconv" "syscall" "cosmossdk.io/log" @@ -39,6 +41,8 @@ import ( type AppConfig struct { RPCPort uint16 `json:"rpc_port"` GRPCPort uint16 `json:"grpc_port"` + APIPort uint16 `json:"api_port"` + APIHost string `json:"api_host"` } func main() { @@ -179,12 +183,18 @@ func WasmCreator() vm.AppCreator { return servergrpc.StartGRPCServer(ctx, logger.With("module", "grpc-server"), grpcCfg, grpcSrv) }) - apiAddr := "tcp://localhost:1317" + if appCfg.APIPort == 0 { + appCfg.APIPort = 1317 + } + if appCfg.APIHost == "" { + appCfg.APIHost = "localhost" + } + apiURI := fmt.Sprintf("tcp://%s", net.JoinHostPort(appCfg.APIHost, strconv.Itoa(int(appCfg.APIPort)))) srvCfg.API = srvconfig.APIConfig{ Enable: true, Swagger: true, EnableUnsafeCORS: true, - Address: apiAddr, + Address: apiURI, } apiSrv := api.New(clientCtx, logger.With(log.ModuleKey, "api-server"), grpcSrv) wasmApp.RegisterAPIRoutes(apiSrv, srvCfg.API) From 12b389f5dd564cc0343650de7fbb4eba2c274bd9 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Thu, 29 Aug 2024 15:09:02 +0300 Subject: [PATCH 08/40] fix for api config (#55) --- example/wasm/main.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/example/wasm/main.go b/example/wasm/main.go index a8edda37..911abc06 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -190,12 +190,12 @@ func WasmCreator() vm.AppCreator { appCfg.APIHost = "localhost" } apiURI := fmt.Sprintf("tcp://%s", net.JoinHostPort(appCfg.APIHost, strconv.Itoa(int(appCfg.APIPort)))) - srvCfg.API = srvconfig.APIConfig{ - Enable: true, - Swagger: true, - EnableUnsafeCORS: true, - Address: apiURI, - } + + srvCfg.API.Enable = true + srvCfg.API.Swagger = false + srvCfg.API.EnableUnsafeCORS = true + srvCfg.API.Address = apiURI + apiSrv := api.New(clientCtx, logger.With(log.ModuleKey, "api-server"), grpcSrv) wasmApp.RegisterAPIRoutes(apiSrv, srvCfg.API) g.Go(func() error { From bfc067c8aeeed3e2c6a1331732d29e00804790bc Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Fri, 13 Sep 2024 17:25:14 +0300 Subject: [PATCH 09/40] Lnd-583 - Review OAK (#56) * context.TODO() to context.Background() * fix: index value overflows int on 32-bit systems * refactor getHeight * log connCloser error * clean up obsolete todo * up go version to 1.22.7 * up cosmos sdk to v0.50.9 * fix deprecated grpc.Dial --- example/wasm/main.go | 2 +- go.mod | 53 +++++++++-------- go.sum | 117 ++++++++++++++++++------------------- grpcutils/client.go | 2 +- landslidevm.go | 2 +- vm/rpc.go | 54 ++++++++++------- vm/types/state/executor.go | 10 ++-- vm/vm.go | 15 ++--- vm/vm_test.go | 8 +-- 9 files changed, 134 insertions(+), 129 deletions(-) diff --git a/example/wasm/main.go b/example/wasm/main.go index 911abc06..846e1e15 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -154,7 +154,7 @@ func WasmCreator() vm.AppCreator { } // if gRPC is enabled, configure gRPC client for gRPC gateway - grpcClient, err := grpc.Dial( + grpcClient, err := grpc.NewClient( grpcCfg.Address, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithDefaultCallOptions( diff --git a/go.mod b/go.mod index 38d8d510..4b787d94 100644 --- a/go.mod +++ b/go.mod @@ -1,14 +1,14 @@ module github.com/consideritdone/landslidevm -go 1.22.5 +go 1.22.7 require ( cosmossdk.io/log v1.3.1 github.com/CosmWasm/wasmd v0.50.0 - github.com/cometbft/cometbft v0.38.9 + github.com/cometbft/cometbft v0.38.10 github.com/cometbft/cometbft-db v0.9.1 github.com/cosmos/cosmos-db v1.0.2 - github.com/cosmos/cosmos-sdk v0.50.7 + github.com/cosmos/cosmos-sdk v0.50.9 github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 github.com/mr-tron/base58 v1.2.0 github.com/prometheus/client_golang v1.19.0 @@ -16,22 +16,22 @@ require ( github.com/stretchr/testify v1.9.0 go.uber.org/mock v0.4.0 golang.org/x/sync v0.7.0 - google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda - google.golang.org/grpc v1.63.2 - google.golang.org/protobuf v1.33.0 + google.golang.org/genproto/googleapis/rpc v0.0.0-20240709173604-40e1e62336c5 + google.golang.org/grpc v1.64.1 + google.golang.org/protobuf v1.34.2 ) require ( - cloud.google.com/go v0.112.0 // indirect - cloud.google.com/go/compute v1.24.0 // indirect + cloud.google.com/go v0.112.1 // indirect + cloud.google.com/go/compute v1.25.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/iam v1.1.6 // indirect - cloud.google.com/go/storage v1.36.0 // indirect + cloud.google.com/go/storage v1.38.0 // indirect cosmossdk.io/api v0.7.5 // indirect cosmossdk.io/client/v2 v2.0.0-beta.1 // indirect cosmossdk.io/collections v0.4.0 // indirect - cosmossdk.io/core v0.11.0 // indirect - cosmossdk.io/depinject v1.0.0-alpha.4 // indirect + cosmossdk.io/core v0.11.1 // indirect + cosmossdk.io/depinject v1.0.0 // indirect cosmossdk.io/errors v1.0.1 // indirect cosmossdk.io/math v1.3.0 // indirect cosmossdk.io/store v1.1.0 // indirect @@ -39,7 +39,7 @@ require ( cosmossdk.io/x/evidence v0.1.0 // indirect cosmossdk.io/x/feegrant v0.1.0 // indirect cosmossdk.io/x/nft v0.1.0 // indirect - cosmossdk.io/x/tx v0.13.3 // indirect + cosmossdk.io/x/tx v0.13.4 // indirect cosmossdk.io/x/upgrade v0.1.0 // indirect filippo.io/edwards25519 v1.0.0 // indirect github.com/99designs/go-keychain v0.0.0-20191008050251-8e49817e8af4 // indirect @@ -67,7 +67,7 @@ require ( github.com/cosmos/cosmos-proto v1.0.0-beta.5 // indirect github.com/cosmos/go-bip39 v1.0.0 // indirect github.com/cosmos/gogogateway v1.2.0 // indirect - github.com/cosmos/gogoproto v1.4.12 // indirect + github.com/cosmos/gogoproto v1.5.0 // indirect github.com/cosmos/iavl v1.1.2 // indirect github.com/cosmos/ibc-go/modules/capability v1.0.0 // indirect github.com/cosmos/ibc-go/v8 v8.0.0 // indirect @@ -108,7 +108,7 @@ require ( github.com/google/s2a-go v0.1.7 // indirect github.com/google/uuid v1.6.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.3.2 // indirect - github.com/googleapis/gax-go/v2 v2.12.0 // indirect + github.com/googleapis/gax-go/v2 v2.12.2 // indirect github.com/gorilla/handlers v1.5.2 // indirect github.com/gorilla/mux v1.8.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -138,7 +138,6 @@ require ( github.com/kr/pretty v0.3.1 // 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/linxGnu/grocksdb v1.8.14 // indirect github.com/magiconair/properties v1.8.7 // indirect github.com/manifoldco/promptui v0.9.0 // indirect @@ -181,24 +180,24 @@ require ( github.com/zondax/ledger-go v0.14.3 // indirect go.etcd.io/bbolt v1.3.8 // indirect go.opencensus.io v0.24.0 // indirect - go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 // indirect - go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 // indirect - go.opentelemetry.io/otel v1.22.0 // indirect - go.opentelemetry.io/otel/metric v1.22.0 // indirect - go.opentelemetry.io/otel/trace v1.22.0 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 // indirect + go.opentelemetry.io/otel v1.24.0 // indirect + go.opentelemetry.io/otel/metric v1.24.0 // indirect + go.opentelemetry.io/otel/trace v1.24.0 // indirect go.uber.org/multierr v1.11.0 // indirect - golang.org/x/crypto v0.22.0 // indirect + golang.org/x/crypto v0.25.0 // indirect golang.org/x/exp v0.0.0-20240404231335-c0f41cb1a7a0 // indirect - golang.org/x/net v0.24.0 // indirect + golang.org/x/net v0.27.0 // indirect golang.org/x/oauth2 v0.18.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/term v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sys v0.22.0 // indirect + golang.org/x/term v0.22.0 // indirect + golang.org/x/text v0.16.0 // indirect golang.org/x/time v0.5.0 // indirect - google.golang.org/api v0.162.0 // indirect + google.golang.org/api v0.169.0 // indirect google.golang.org/appengine v1.6.8 // indirect google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index d2bf08f3..f67378b7 100644 --- a/go.sum +++ b/go.sum @@ -30,8 +30,8 @@ cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w9 cloud.google.com/go v0.102.0/go.mod h1:oWcCzKlqJ5zgHQt9YsaeTY9KzIvjyy0ArmiBUgpQ+nc= cloud.google.com/go v0.102.1/go.mod h1:XZ77E9qnTEnrgEOvr4xzfdX5TRo7fB4T2F4O6+34hIU= cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRYtA= -cloud.google.com/go v0.112.0 h1:tpFCD7hpHFlQ8yPwT3x+QeXqc2T6+n6T+hmABHfDUSM= -cloud.google.com/go v0.112.0/go.mod h1:3jEEVwZ/MHU4djK5t5RHuKOA/GbLddgTdVubX1qnPD4= +cloud.google.com/go v0.112.1 h1:uJSeirPke5UNZHIb4SxfZklVSiWWVqW4oXlETwZziwM= +cloud.google.com/go v0.112.1/go.mod h1:+Vbu+Y1UU+I1rjmzeMOb/8RfkKJK2Gyxi1X6jJCZLo4= cloud.google.com/go/aiplatform v1.22.0/go.mod h1:ig5Nct50bZlzV6NvKaTwmplLLddFx0YReh9WfTO5jKw= cloud.google.com/go/aiplatform v1.24.0/go.mod h1:67UUvRBKG6GTayHKV8DBv2RtR1t93YRu5B1P3x99mYY= cloud.google.com/go/analytics v0.11.0/go.mod h1:DjEWCu41bVbYcKyvlws9Er60YE4a//bK6mnhWvQeFNI= @@ -68,8 +68,8 @@ cloud.google.com/go/compute v1.6.0/go.mod h1:T29tfhtVbq1wvAPo0E3+7vhgmkOYeXjhFvz cloud.google.com/go/compute v1.6.1/go.mod h1:g85FgpzFvNULZ+S8AYq87axRKuf2Kh7deLqV/jJ3thU= cloud.google.com/go/compute v1.7.0/go.mod h1:435lt8av5oL9P3fv1OEzSbSUe+ybHXGMPQHHZWZxy9U= cloud.google.com/go/compute v1.10.0/go.mod h1:ER5CLbMxl90o2jtNbGSbtfOpQKR0t15FOtRsugnLrlU= -cloud.google.com/go/compute v1.24.0 h1:phWcR2eWzRJaL/kOiJwfFsPs4BaKq1j6vnpZrc1YlVg= -cloud.google.com/go/compute v1.24.0/go.mod h1:kw1/T+h/+tK2LJK0wiPPx1intgdAM3j/g3hFDlscY40= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= +cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/containeranalysis v0.5.1/go.mod h1:1D92jd8gRR/c0fGMlymRgxWD3Qw9C1ff6/T7mLgVL8I= @@ -171,8 +171,8 @@ cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9 cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= cloud.google.com/go/storage v1.23.0/go.mod h1:vOEEDNFnciUMhBeT6hsJIn3ieU5cFRmzeLgDvXzfIXc= cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= -cloud.google.com/go/storage v1.36.0 h1:P0mOkAcaJxhCTvAkMhxMfrTKiNcub4YmmPBtlhAyTr8= -cloud.google.com/go/storage v1.36.0/go.mod h1:M6M/3V/D3KpzMTJyPOR/HU6n2Si5QdaXYEsng2xgOs8= +cloud.google.com/go/storage v1.38.0 h1:Az68ZRGlnNTpIBbLjSMIV2BDcwwXYlRlQzis0llkpJg= +cloud.google.com/go/storage v1.38.0/go.mod h1:tlUADB0mAb9BgYls9lq+8MGkfzOXuLrnHXlpHmvFJoY= cloud.google.com/go/talent v1.1.0/go.mod h1:Vl4pt9jiHKvOgF9KoZo6Kob9oV4lwd/ZD5Cto54zDRw= cloud.google.com/go/talent v1.2.0/go.mod h1:MoNF9bhFQbiJ6eFD3uSsg0uBALw4n4gaCaEjBw9zo8g= cloud.google.com/go/videointelligence v1.6.0/go.mod h1:w0DIDlVRKtwPCn/C4iwZIJdvC69yInhW0cfi+p546uU= @@ -190,10 +190,10 @@ cosmossdk.io/client/v2 v2.0.0-beta.1 h1:XkHh1lhrLYIT9zKl7cIOXUXg2hdhtjTPBUfqERNA cosmossdk.io/client/v2 v2.0.0-beta.1/go.mod h1:JEUSu9moNZQ4kU3ir1DKD5eU4bllmAexrGWjmb9k8qU= cosmossdk.io/collections v0.4.0 h1:PFmwj2W8szgpD5nOd8GWH6AbYNi1f2J6akWXJ7P5t9s= cosmossdk.io/collections v0.4.0/go.mod h1:oa5lUING2dP+gdDquow+QjlF45eL1t4TJDypgGd+tv0= -cosmossdk.io/core v0.11.0 h1:vtIafqUi+1ZNAE/oxLOQQ7Oek2n4S48SWLG8h/+wdbo= -cosmossdk.io/core v0.11.0/go.mod h1:LaTtayWBSoacF5xNzoF8tmLhehqlA9z1SWiPuNC6X1w= -cosmossdk.io/depinject v1.0.0-alpha.4 h1:PLNp8ZYAMPTUKyG9IK2hsbciDWqna2z1Wsl98okJopc= -cosmossdk.io/depinject v1.0.0-alpha.4/go.mod h1:HeDk7IkR5ckZ3lMGs/o91AVUc7E596vMaOmslGFM3yU= +cosmossdk.io/core v0.11.1 h1:h9WfBey7NAiFfIcUhDVNS503I2P2HdZLebJlUIs8LPA= +cosmossdk.io/core v0.11.1/go.mod h1:OJzxcdC+RPrgGF8NJZR2uoQr56tc7gfBKhiKeDO7hH0= +cosmossdk.io/depinject v1.0.0 h1:dQaTu6+O6askNXO06+jyeUAnF2/ssKwrrszP9t5q050= +cosmossdk.io/depinject v1.0.0/go.mod h1:zxK/h3HgHoA/eJVtiSsoaRaRA2D5U4cJ5thIG4ssbB8= cosmossdk.io/errors v1.0.1 h1:bzu+Kcr0kS/1DuPBtUFdWjzLqyUuCiyHjyJB6srBV/0= cosmossdk.io/errors v1.0.1/go.mod h1:MeelVSZThMi4bEakzhhhE/CKqVv3nOJDA25bIqRDu/U= cosmossdk.io/log v1.3.1 h1:UZx8nWIkfbbNEWusZqzAx3ZGvu54TZacWib3EzUYmGI= @@ -210,8 +210,8 @@ cosmossdk.io/x/feegrant v0.1.0 h1:c7s3oAq/8/UO0EiN1H5BIjwVntujVTkYs35YPvvrdQk= cosmossdk.io/x/feegrant v0.1.0/go.mod h1:4r+FsViJRpcZif/yhTn+E0E6OFfg4n0Lx+6cCtnZElU= cosmossdk.io/x/nft v0.1.0 h1:VhcsFiEK33ODN27kxKLa0r/CeFd8laBfbDBwYqCyYCM= cosmossdk.io/x/nft v0.1.0/go.mod h1:ec4j4QAO4mJZ+45jeYRnW7awLHby1JZANqe1hNZ4S3g= -cosmossdk.io/x/tx v0.13.3 h1:Ha4mNaHmxBc6RMun9aKuqul8yHiL78EKJQ8g23Zf73g= -cosmossdk.io/x/tx v0.13.3/go.mod h1:I8xaHv0rhUdIvIdptKIqzYy27+n2+zBVaxO6fscFhys= +cosmossdk.io/x/tx v0.13.4 h1:Eg0PbJgeO0gM8p5wx6xa0fKR7hIV6+8lC56UrsvSo0Y= +cosmossdk.io/x/tx v0.13.4/go.mod h1:BkFqrnGGgW50Y6cwTy+JvgAhiffbGEKW6KF9ufcDpvk= cosmossdk.io/x/upgrade v0.1.0 h1:z1ZZG4UL9ICTNbJDYZ6jOnF9GdEK9wyoEFi4BUScHXE= cosmossdk.io/x/upgrade v0.1.0/go.mod h1:/6jjNGbiPCNtmA1N+rBtP601sr0g4ZXuj3yC6ClPCGY= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= @@ -321,8 +321,6 @@ github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWH github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa h1:jQCWAUqqlij9Pgj2i/PB79y4KOPYVyFYdROxgaCwdTQ= -github.com/cncf/xds/go v0.0.0-20231128003011-0fa0005c9caa/go.mod h1:x/1Gn8zydmfq8dk6e9PdstVsDgu9RuyIIJqAaF//0IM= github.com/cockroachdb/apd/v2 v2.0.2 h1:weh8u7Cneje73dDh+2tEVLUvyBc89iwepWCD8b8034E= github.com/cockroachdb/apd/v2 v2.0.2/go.mod h1:DDxRlzC2lo3/vSlmSoS7JkqbbrARPuFOGr0B9pvN3Gw= github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= @@ -339,8 +337,8 @@ github.com/cockroachdb/redact v1.1.5/go.mod h1:BVNblN9mBWFyMyqK1k3AAiSxhvhfK2oOZ github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo= github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06/go.mod h1:7nc4anLGjupUW/PeY5qiNYsdNXj7zopG+eqsS7To5IQ= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= -github.com/cometbft/cometbft v0.38.9 h1:cJBJBG0mPKz+sqelCi/hlfZjadZQGdDNnu6YQ1ZsUHQ= -github.com/cometbft/cometbft v0.38.9/go.mod h1:xOoGZrtUT+A5izWfHSJgl0gYZUE7lu7Z2XIS1vWG/QQ= +github.com/cometbft/cometbft v0.38.10 h1:2ePuglchT+j0Iao+cfmt/nw5U7K2lnGDzXSUPGVdXaU= +github.com/cometbft/cometbft v0.38.10/go.mod h1:jHPx9vQpWzPHEAiYI/7EDKaB1NXhK6o3SArrrY8ExKc= github.com/cometbft/cometbft-db v0.9.1 h1:MIhVX5ja5bXNHF8EYrThkG9F7r9kSfv8BX4LWaxWJ4M= github.com/cometbft/cometbft-db v0.9.1/go.mod h1:iliyWaoV0mRwBJoizElCwwRA9Tf7jZJOURcRZF9m60U= github.com/containerd/continuity v0.3.0 h1:nisirsYROK15TAMVukJOUyGJjz4BNQJBVsNvAXZJ/eg= @@ -357,15 +355,15 @@ github.com/cosmos/cosmos-db v1.0.2 h1:hwMjozuY1OlJs/uh6vddqnk9j7VamLv+0DBlbEXbAK github.com/cosmos/cosmos-db v1.0.2/go.mod h1:Z8IXcFJ9PqKK6BIsVOB3QXtkKoqUOp1vRvPT39kOXEA= github.com/cosmos/cosmos-proto v1.0.0-beta.5 h1:eNcayDLpip+zVLRLYafhzLvQlSmyab+RC5W7ZfmxJLA= github.com/cosmos/cosmos-proto v1.0.0-beta.5/go.mod h1:hQGLpiIUloJBMdQMMWb/4wRApmI9hjHH05nefC0Ojec= -github.com/cosmos/cosmos-sdk v0.50.7 h1:LsBGKxifENR/DN4E1RZaitsyL93HU44x0p8EnMHp4V4= -github.com/cosmos/cosmos-sdk v0.50.7/go.mod h1:84xDDJEHttRT7NDGwBaUOLVOMN0JNE9x7NbsYIxXs1s= +github.com/cosmos/cosmos-sdk v0.50.9 h1:gt2usjz0H0qW6KwAxWw7ZJ3XU8uDwmhN+hYG3nTLeSg= +github.com/cosmos/cosmos-sdk v0.50.9/go.mod h1:TMH6wpoYBcg7Cp5BEg8fneLr+8XloNQkf2MRNF9V6JE= github.com/cosmos/go-bip39 v1.0.0 h1:pcomnQdrdH22njcAatO0yWojsUnCO3y2tNoV1cb6hHY= github.com/cosmos/go-bip39 v1.0.0/go.mod h1:RNJv0H/pOIVgxw6KS7QeX2a0Uo0aKUlfhZ4xuwvCdJw= github.com/cosmos/gogogateway v1.2.0 h1:Ae/OivNhp8DqBi/sh2A8a1D0y638GpL3tkmLQAiKxTE= github.com/cosmos/gogogateway v1.2.0/go.mod h1:iQpLkGWxYcnCdz5iAdLcRBSw3h7NXeOkZ4GUkT+tbFI= github.com/cosmos/gogoproto v1.4.2/go.mod h1:cLxOsn1ljAHSV527CHOtaIP91kK6cCrZETRBrkzItWU= -github.com/cosmos/gogoproto v1.4.12 h1:vB6Lbe/rtnYGjQuFxkPiPYiCybqFT8QvLipDZP8JpFE= -github.com/cosmos/gogoproto v1.4.12/go.mod h1:LnZob1bXRdUoqMMtwYlcR3wjiElmlC+FkjaZRv1/eLY= +github.com/cosmos/gogoproto v1.5.0 h1:SDVwzEqZDDBoslaeZg+dGE55hdzHfgUA40pEanMh52o= +github.com/cosmos/gogoproto v1.5.0/go.mod h1:iUM31aofn3ymidYG6bUR5ZFrk+Om8p5s754eMUcyp8I= github.com/cosmos/iavl v1.1.2 h1:zL9FK7C4L/P4IF1Dm5fIwz0WXCnn7Bp1M2FxH0ayM7Y= github.com/cosmos/iavl v1.1.2/go.mod h1:jLeUvm6bGT1YutCaL2fIar/8vGUE8cPZvh/gXEWDaDM= github.com/cosmos/ibc-go/modules/capability v1.0.0 h1:r/l++byFtn7jHYa09zlAdSeevo8ci1mVZNO9+V0xsLE= @@ -431,8 +429,6 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v1.0.4 h1:gVPz/FMfvh57HdSJQyvBtF00j8JU4zdyUgIUNhlgg0A= -github.com/envoyproxy/protoc-gen-validate v1.0.4/go.mod h1:qys6tmnRsYrQqIhm2bvKZH4Blx/1gTIZ2UKVY1M+Yew= 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.15.0 h1:kOqh6YHBtK8aywxGerMG2Eq3H6Qgoqeo13Bk2Mv/nBs= @@ -629,8 +625,8 @@ github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99 github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gax-go/v2 v2.5.1/go.mod h1:h6B0KMMFNtI2ddbGJn3T3ZbwkeT6yqEF02fYlzkUCyo= github.com/googleapis/gax-go/v2 v2.6.0/go.mod h1:1mjbznJAPHFpesgE5ucqfYEscaz5kMdcIDwU/6+DDoY= -github.com/googleapis/gax-go/v2 v2.12.0 h1:A+gCJKdRfqXkr+BIRGtZLibNXf0m1f9E4HG56etFpas= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.12.2 h1:mhN09QQW1jEWeMF74zGR81R30z4VJzjZsfkUhuHF+DA= +github.com/googleapis/gax-go/v2 v2.12.2/go.mod h1:61M8vcyyXR2kqKFxKrfA22jaA8JGF7Dc8App1U3H6jc= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= @@ -769,8 +765,6 @@ github.com/leodido/go-urn v1.2.1 h1:BqpAaACuzVSgi/VLzGZIobT2z4v53pjosyNd9Yv6n/w= github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY= github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/libp2p/go-buffer-pool v0.1.0 h1:oK4mSFcQz7cTQIfqbe4MIj9gLW+mnanjyFtc6cdF0Y8= -github.com/libp2p/go-buffer-pool v0.1.0/go.mod h1:N+vh8gMqimBzdKkSMVuydVDq+UV5QTWy5HSiZacSbPg= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/linxGnu/grocksdb v1.8.14 h1:HTgyYalNwBSG/1qCQUIott44wU5b2Y9Kr3z7SK5OfGQ= @@ -1063,18 +1057,18 @@ go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0 h1:UNQQKPfTDe1J81ViolILjTKPr9WetKW6uei2hFgJmFs= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.47.0/go.mod h1:r9vWsPS/3AQItv3OSlEJ/E4mbrhUbbw18meOjArPtKQ= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0 h1:sv9kVfal0MK0wBMCOGr+HeJm9v803BkJxGrk2au7j08= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.47.0/go.mod h1:SK2UL73Zy1quvRPonmOmRDiWk1KBV3LyIeeIxcEApWw= -go.opentelemetry.io/otel v1.22.0 h1:xS7Ku+7yTFvDfDraDIJVpw7XPyuHlB9MCiqqX5mcJ6Y= -go.opentelemetry.io/otel v1.22.0/go.mod h1:eoV4iAi3Ea8LkAEI9+GFT44O6T/D0GWAVFyZVCC6pMI= -go.opentelemetry.io/otel/metric v1.22.0 h1:lypMQnGyJYeuYPhOM/bgjbFM6WE44W1/T45er4d8Hhg= -go.opentelemetry.io/otel/metric v1.22.0/go.mod h1:evJGjVpZv0mQ5QBRJoBF64yMuOf4xCWdXjK8pzFvliY= -go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= -go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= -go.opentelemetry.io/otel/trace v1.22.0 h1:Hg6pPujv0XG9QaVbGOBVHunyuLcCC3jN7WEhPx83XD0= -go.opentelemetry.io/otel/trace v1.22.0/go.mod h1:RbbHXVqKES9QhzZq/fE5UnOSILqRt40a21sPw2He1xo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0 h1:4Pp6oUg3+e/6M4C0A/3kJ2VYa++dsWVTtGgLVj5xtHg= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.49.0/go.mod h1:Mjt1i1INqiaoZOMGR1RIUJN+i3ChKoFRqzrRQhlkbs0= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0 h1:jq9TW8u3so/bN+JPT166wjOI6/vQPF6Xe7nMNIltagk= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.49.0/go.mod h1:p8pYQP+m5XfbZm9fxtSKAbM6oIllS7s2AfxrChvc7iw= +go.opentelemetry.io/otel v1.24.0 h1:0LAOdjNmQeSTzGBzduGe/rU4tZhMwL5rWgtp9Ku5Jfo= +go.opentelemetry.io/otel v1.24.0/go.mod h1:W7b9Ozg4nkF5tWI5zsXkaKKDjdVjpD4oAt9Qi/MArHo= +go.opentelemetry.io/otel/metric v1.24.0 h1:6EhoGWWK28x1fbpA4tYTOWBkPefTDQnb8WSGXlc88kI= +go.opentelemetry.io/otel/metric v1.24.0/go.mod h1:VYhLe1rFfxuTXLgj4CBiyz+9WYBA8pNGJgDcSFRKBco= +go.opentelemetry.io/otel/sdk v1.22.0 h1:6coWHw9xw7EfClIC/+O31R8IY3/+EiRFHevmHafB2Gw= +go.opentelemetry.io/otel/sdk v1.22.0/go.mod h1:iu7luyVGYovrRpe2fmj3CVKouQNdTOkxtLzPvPz1DOc= +go.opentelemetry.io/otel/trace v1.24.0 h1:CsKnnL4dUAr/0llH9FKuc698G04IrpWV0MQA/Y1YELI= +go.opentelemetry.io/otel/trace v1.24.0/go.mod h1:HPc3Xr/cOApsBI154IU0OI0HJexz+aw5uPdbs3UCjNU= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= @@ -1103,8 +1097,8 @@ golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200728195943-123391ffb6de/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.25.0 h1:ypSNr+bnYL2YhwoMt2zPxHFmbAN1KZs/njMG3hxUp30= +golang.org/x/crypto v0.25.0/go.mod h1:T+wALwcMOSE0kXgUAnPAHqTLW+XHgcELELW8VaDgm/M= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1205,8 +1199,8 @@ golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug golang.org/x/net v0.0.0-20220909164309-bea034e7d591/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221014081412-f15817d10f9b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.1.0/go.mod h1:Cx3nUiGt4eDBEyega/BKRp+/AlGL8hYe7U9odMt2Cco= -golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= -golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= 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= @@ -1347,13 +1341,13 @@ golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBc 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.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.22.0 h1:RI27ohtqKCnwULzJLqkv897zojh5/DwS/ENaMzUOaWI= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= -golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= +golang.org/x/term v0.22.0 h1:BbsgPEJULsl2fV/AT3v15Mjva5yXKQDyKf+TbDz7QJk= +golang.org/x/term v0.22.0/go.mod h1:F3qCibpT5AMpCRfhfT53vVJwhLtIVHhB9XDjfFvnMI4= 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= @@ -1365,8 +1359,8 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= 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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.16.0 h1:a94ExnEXNtEwYLGJSIUxnWoxoRz/ZcCsV63ROupILh4= +golang.org/x/text v0.16.0/go.mod h1:GhwF1Be+LQoKShO3cGOHzqOgRrGaYc9AvblQOmPVHnI= 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= @@ -1435,8 +1429,8 @@ golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= -golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1444,8 +1438,9 @@ golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= -golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028 h1:+cNy6SZtPcJQH3LJVLOSmiC7MMxXNOb3PU/VUEz+EhU= +golang.org/x/xerrors v0.0.0-20231012003039-104605ab7028/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1495,8 +1490,8 @@ google.golang.org/api v0.96.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ google.golang.org/api v0.97.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.98.0/go.mod h1:w7wJQLTM+wvQpNf5JyEcBoxK0RH7EDrh/L4qfsuJ13s= google.golang.org/api v0.100.0/go.mod h1:ZE3Z2+ZOr87Rx7dqFsdRQkRBk36kDtp/h+QpHbB7a70= -google.golang.org/api v0.162.0 h1:Vhs54HkaEpkMBdgGdOT2P6F0csGG/vxDS0hWHJzmmps= -google.golang.org/api v0.162.0/go.mod h1:6SulDkfoBIg4NFmCuZ39XeeAgSHCPecfSUuDyYlAHs0= +google.golang.org/api v0.169.0 h1:QwWPy71FgMWqJN/l6jVlFHUa29a7dcUy02I8o799nPY= +google.golang.org/api v0.169.0/go.mod h1:gpNOiMA2tZ4mf5R9Iwf4rK/Dcz0fbdIgWYWVoxmsyLg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1615,10 +1610,10 @@ google.golang.org/genproto v0.0.0-20221014213838-99cd37c6964a/go.mod h1:1vXfmgAz google.golang.org/genproto v0.0.0-20221025140454-527a21cfbd71/go.mod h1:9qHF0xnpdSfF6knlcsnpzUu5y+rpwgbvsyGAZPBMg4s= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de h1:F6qOa9AZTYJXOUEr4jDysRDLrm4PHePlge4v4TGAlxY= google.golang.org/genproto v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:VUhTRKeHn9wwcdrk73nvdC9gF178Tzhmt/qyaFcPLSo= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de h1:jFNzHPIeuzhdRwVhbZdiym9q0ory/xY3sA+v2wPg8I0= -google.golang.org/genproto/googleapis/api v0.0.0-20240227224415-6ceb2ff114de/go.mod h1:5iCWqnniDlqZHrd3neWVTOwvh/v6s3232omMecelax8= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda h1:LI5DOvAxUPMv/50agcLLoo+AdWc1irS9Rzz4vPuD1V4= -google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237 h1:RFiFrvy37/mpSpdySBDrUdipW/dHwsRwh3J3+A9VgT4= +google.golang.org/genproto/googleapis/api v0.0.0-20240318140521-94a12d6c2237/go.mod h1:Z5Iiy3jtmioajWHDGFk7CeugTyHtPvMHA4UTmUkyalE= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240709173604-40e1e62336c5 h1:SbSDUWW1PAO24TNpLdeheoYPd7kllICcLU52x6eD4kQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240709173604-40e1e62336c5/go.mod h1:Ue6ibwXGpU+dqIcODieyLOcgj7z8+IcskoNIgZxtrFY= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1660,8 +1655,8 @@ google.golang.org/grpc v1.48.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACu google.golang.org/grpc v1.49.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.0/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= google.golang.org/grpc v1.50.1/go.mod h1:ZgQEeidpAuNRZ8iRrlBKXZQP1ghovWIVhdJRyCDK+GI= -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/grpc v1.64.1 h1:LKtvyfbX3UGVPFcGqJ9ItpVWW6oN/2XqTxfAnwRRXiA= +google.golang.org/grpc v1.64.1/go.mod h1:hiQF4LFZelK2WKaP6W0L92zGHtiQdZxk8CrSdvyjeP0= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= @@ -1678,8 +1673,8 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= -google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2 h1:6xV6lTsCfpGD21XK49h7MhtcApnLqkfYgPcdHftf6hg= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/grpcutils/client.go b/grpcutils/client.go index c35fcf48..3a66d34d 100644 --- a/grpcutils/client.go +++ b/grpcutils/client.go @@ -58,7 +58,7 @@ var DefaultDialOptions = []grpc.DialOption{ // Dial returns a gRPC ClientConn with the dial options as defined by // DefaultDialOptions. DialOption can also optionally be passed. func Dial(addr string, opts ...DialOption) (*grpc.ClientConn, error) { - return grpc.Dial("passthrough:///"+addr, newDialOpts(opts...)...) + return grpc.NewClient("passthrough:///"+addr, newDialOpts(opts...)...) } // DialOptions are options which can be applied to a gRPC client in addition to diff --git a/landslidevm.go b/landslidevm.go index 24bf5dcc..e09e9c9c 100644 --- a/landslidevm.go +++ b/landslidevm.go @@ -133,7 +133,7 @@ func Serve[T interface { return fmt.Errorf("required env var missing: %q", EngineAddressKey) } - clientConn, err := grpc.Dial("passthrough:///"+runtimeAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) + clientConn, err := grpc.NewClient("passthrough:///"+runtimeAddr, grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { return fmt.Errorf("failed to create client conn: %w", err) } diff --git a/vm/rpc.go b/vm/rpc.go index 02b6df65..e2e04a8c 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -4,6 +4,7 @@ import ( "context" "errors" "fmt" + "math" "sort" "time" @@ -104,7 +105,7 @@ func (rpc *RPC) NumUnconfirmedTxs(*rpctypes.Context) (*ctypes.ResultUnconfirmedT // CheckTx checks the transaction without executing it. The transaction won't // be added to the mempool either. func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx, error) { - res, err := rpc.vm.app.Mempool().CheckTx(context.TODO(), &abci.RequestCheckTx{Tx: tx}) + res, err := rpc.vm.app.Mempool().CheckTx(context.Background(), &abci.RequestCheckTx{Tx: tx}) if err != nil { return nil, err } @@ -113,7 +114,7 @@ func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx // ABCIInfo returns the latest information about the application. func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error) { - resInfo, err := rpc.vm.app.Query().Info(context.TODO(), proxy.RequestInfo) + resInfo, err := rpc.vm.app.Query().Info(context.Background(), proxy.RequestInfo) if err != nil { return nil, err } @@ -128,7 +129,7 @@ func (rpc *RPC) ABCIQuery( height int64, prove bool, ) (*ctypes.ResultABCIQuery, error) { - resQuery, err := rpc.vm.app.Query().Query(context.TODO(), &abci.RequestQuery{ + resQuery, err := rpc.vm.app.Query().Query(context.Background(), &abci.RequestQuery{ Path: path, Data: data, Height: height, @@ -400,22 +401,27 @@ func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error) { // bsHeight can be either latest committed or uncommitted (+1) height. func getHeight(bs *store.BlockStore, heightPtr *int64) (int64, error) { - bsHeight := bs.Height() - if heightPtr != nil { - height := *heightPtr - if height <= 0 { - return 0, fmt.Errorf("height must be greater than 0, but got %d", height) - } - if height > bsHeight { - return 0, fmt.Errorf("height %d must be less than or equal to the current blockchain height %d", height, bsHeight) - } - bsBase := bs.Base() - if height < bsBase { - return 0, fmt.Errorf("height %d is not available, lowest height is %d", height, bsBase) - } - return height, nil + if heightPtr == nil { + return bs.Height(), nil + } + + height := *heightPtr + if height <= 0 { + return 0, fmt.Errorf("height must be greater than 0, but got %d", height) + } + if height > bs.Height() { + return 0, fmt.Errorf( + "height %d must be less than or equal to the current blockchain height %d", + height, + bs.Height(), + ) } - return bsHeight, nil + bsBase := bs.Base() + if height < bsBase { + return 0, fmt.Errorf("height %d is not available, lowest height is %d", height, bsBase) + } + + return height, nil } func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error) { @@ -591,7 +597,11 @@ func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.Result var proof types.TxProof if prove { block := rpc.vm.blockStore.LoadBlock(height) - proof = block.Data.Txs.Proof(int(index)) // XXX: overflow on 32-bit machines + + if r.Index > math.MaxInt32 { + return nil, errors.New("index value overflows int on 32-bit systems") + } + proof = block.Data.Txs.Proof(int(index)) } return &ctypes.ResultTx{ @@ -662,7 +672,11 @@ func (rpc *RPC) TxSearch( var proof types.TxProof if prove { block := rpc.vm.blockStore.LoadBlock(r.Height) - proof = block.Data.Txs.Proof(int(r.Index)) // XXX: overflow on 32-bit machines + + if r.Index > math.MaxInt32 { + return nil, errors.New("index value overflows int on 32-bit systems") + } + proof = block.Data.Txs.Proof(int(r.Index)) } apiResults = append(apiResults, &ctypes.ResultTx{ diff --git a/vm/types/state/executor.go b/vm/types/state/executor.go index f0b179b5..69eba19e 100644 --- a/vm/types/state/executor.go +++ b/vm/types/state/executor.go @@ -171,7 +171,7 @@ func (blockExec *BlockExecutor) ProcessProposal( block *types.Block, state statetypes.State, ) (bool, error) { - resp, err := blockExec.proxyApp.ProcessProposal(context.TODO(), &abci.RequestProcessProposal{ + resp, err := blockExec.proxyApp.ProcessProposal(context.Background(), &abci.RequestProcessProposal{ Hash: block.Header.Hash(), Height: block.Header.Height, Time: block.Header.Time, @@ -214,7 +214,7 @@ func (blockExec *BlockExecutor) ApplyBlock( } startTime := time.Now().UnixNano() - abciResponse, err := blockExec.proxyApp.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + abciResponse, err := blockExec.proxyApp.FinalizeBlock(context.Background(), &abci.RequestFinalizeBlock{ Hash: block.Hash(), NextValidatorsHash: block.NextValidatorsHash, ProposerAddress: block.ProposerAddress, @@ -391,7 +391,7 @@ func (blockExec *BlockExecutor) Commit( } // Commit block, get hash back - res, err := blockExec.proxyApp.Commit(context.TODO()) + res, err := blockExec.proxyApp.Commit(context.Background()) if err != nil { blockExec.logger.Error("client error during proxyAppConn.CommitSync", "err", err) return 0, err @@ -727,7 +727,7 @@ func ExecCommitBlock( ) ([]byte, error) { commitInfo := buildLastCommitInfoFromStore(block, store, initialHeight) - resp, err := appConnConsensus.FinalizeBlock(context.TODO(), &abci.RequestFinalizeBlock{ + resp, err := appConnConsensus.FinalizeBlock(context.Background(), &abci.RequestFinalizeBlock{ Hash: block.Hash(), NextValidatorsHash: block.NextValidatorsHash, ProposerAddress: block.ProposerAddress, @@ -750,7 +750,7 @@ func ExecCommitBlock( logger.Info("executed block", "height", block.Height, "app_hash", fmt.Sprintf("%X", resp.AppHash)) // Commit block - _, err = appConnConsensus.Commit(context.TODO()) + _, err = appConnConsensus.Commit(context.Background()) if err != nil { logger.Error("client error during proxyAppConn.Commit", "err", err) return nil, err diff --git a/vm/vm.go b/vm/vm.go index 29a76ab7..48267589 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -206,20 +206,23 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest // Register metrics for each Go plugin processes vm.processMetrics = registerer + vm.logger = log.NewTMLogger(os.Stdout) + // add to connCloser even we have defined vm.clientConn via Option if vm.optClientConn != nil { vm.connCloser.Add(vm.optClientConn) vm.clientConn = vm.optClientConn } else { - clientConn, err := grpc.Dial( + clientConn, err := grpc.NewClient( "passthrough:///"+req.ServerAddr, grpc.WithChainUnaryInterceptor(grpcClientMetrics.UnaryClientInterceptor()), grpc.WithChainStreamInterceptor(grpcClientMetrics.StreamClientInterceptor()), grpc.WithTransportCredentials(insecure.NewCredentials()), ) if err != nil { - // Ignore closing errors to return the original error - _ = vm.connCloser.Close() + if closerErr := vm.connCloser.Close(); closerErr != nil { + vm.logger.Error("failed to close connCloser", "err", err) + } return nil, err } @@ -227,8 +230,6 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest vm.clientConn = clientConn } - vm.logger = log.NewTMLogger(os.Stdout) - msgClient := messengerpb.NewMessengerClient(vm.clientConn) vm.toEngine = make(chan messengerpb.Message, 1) @@ -257,7 +258,7 @@ func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest // Dial the database if vm.database == nil { - dbClientConn, err := grpc.Dial( + dbClientConn, err := grpc.NewClient( "passthrough:///"+req.DbServerAddr, grpc.WithChainUnaryInterceptor(grpcClientMetrics.UnaryClientInterceptor()), grpc.WithChainStreamInterceptor(grpcClientMetrics.StreamClientInterceptor()), @@ -576,7 +577,7 @@ func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vm BlockIDFlag: types.BlockIDFlagNil, Timestamp: time.Now(), ValidatorAddress: vm.state.Validators.Validators[i].Address, - Signature: crypto.CRandBytes(types.MaxSignatureSize), // todo: sign the block + Signature: crypto.CRandBytes(types.MaxSignatureSize), }, } } diff --git a/vm/vm_test.go b/vm/vm_test.go index e856ba20..7b0f0b13 100644 --- a/vm/vm_test.go +++ b/vm/vm_test.go @@ -42,9 +42,7 @@ func bufDialer(context.Context, string) (net.Conn, error) { } func newKvApp(t *testing.T, vmdb, appdb dbm.DB) vmpb.VMServer { - ctx := context.Background() - mockConn, err := grpc.DialContext( - ctx, + mockConn, err := grpc.NewClient( "bufnet", grpc.WithContextDialer(bufDialer), grpc.WithTransportCredentials(insecure.NewCredentials()), @@ -148,10 +146,8 @@ func TestAcceptBlock(t *testing.T) { func TestShutdownWithoutInit(t *testing.T) { vmdb := dbm.NewMemDB() appdb := dbm.NewMemDB() - ctx := context.Background() - mockConn, err := grpc.DialContext( - ctx, + mockConn, err := grpc.NewClient( "bufnet", grpc.WithContextDialer(bufDialer), grpc.WithTransportCredentials(insecure.NewCredentials()), From 1cc893203118373c61a841b4eeba72255a5087dc Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 11:40:37 +1200 Subject: [PATCH 10/40] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 7f4c2aec..6c01f510 100644 --- a/LICENSE +++ b/LICENSE @@ -9,7 +9,7 @@ Parameters Licensor: Gaia Labs LTD -Licensed Work: CosmosAVAX V1 / LandslideVM +Licensed Work: Slide SDK V1 / LandslideVM The Licensed Work is (c) 2024 Gaia Labs LTD Additional Use Grant: Any uses listed and defined at From 1413fa54b65aef7d7678c19c885b3d835f3401ac Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 11:59:56 +1200 Subject: [PATCH 11/40] Create SECURITY.md --- SECURITY.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..72d09eb3 --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,71 @@ +# 🏄‍♂️ Slide SDK Security Policy 🛹 + +## 🌊 Riding the Wave of Security + +Welcome to the Slide SDK security policy, where we turn haters into heroes! We're all about catching those gnarly bugs before they wipe us out. Remember, we're still shredding on the testnet, so your help in spotting issues is totally tubular! + +## 🎯 Scope + +| Version | Supported | +|---------|---------------------| +| Latest Release | 🛝 | +| Main Branch | 🏄‍♀️ | + +Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. + +## 🕵️‍♂️ Calling All Haters with Benefits! + +Found a bug? Don't just hate, participate! Here's how you can help us hang ten and keep Slide SDK secure: + +1. **Public Reporting**: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. + +2. **Sensitive Issues**: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@slidesdk.com with the subject "Confidential Hater's Bug Report: [Brief Description]". + +3. **Details, dude**: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. + +4. **Collaboration**: Let's ride this wave together. We might need more info, so stay tuned and be ready to dive deeper into the issue with us. + +5. **Responsible Disclosure**: For email reports, keep it on the down-low until we give the all-clear. For public issues, we'll work together in the open, but avoid sharing exploit details that could be misused. + +Remember, while we're stoked about open collaboration, we reserve the right to remove or edit any reports that we feel could pose an immediate risk to our gnarly community. + +## 🏆 Rewards for Rad Haters + +For verified, radical bug finds, we're dishing out SLIDE tokens faster than a surfer catches a wave! The bigger the wipeout you help us avoid, the more tokens you'll slide into. + +| Bug Severity | Reward | +|--------------|----------------------------| +| Critical | $10,000 in SLIDE + 🏆 | +| High | $5,000 in SLIDE + 🥈 | +| Medium | $2,500 in SLIDE + 🥉 | +| Low | $1,000 in SLIDE + 🤙 | + +## 🤙 Surfer's Code of Conduct + +We require all our rad researchers to: + +* Abide by this policy and be mindful about sharing vulnerability info responsibly. +* Make every effort to avoid privacy violations, disruption to our gnarly systems, and destruction of data. +* Keep vulnerability info confidential if reported via email, until we've caught and surfed that bug. +* Avoid posting personally identifiable information, privately or publicly. + +If you follow these guidelines when reporting an issue to us, we commit to: + +* Not pursue or support any legal action related to your research on this vulnerability. +* Work with you to understand, resolve, and ultimately disclose the issue in a timely fashion. + +## 🚫 No Bad Vibes Zone + +While we love our Haters (with Benefits), we keep it cool here. Hate speech or any form of discrimination won't be tolerated and will be wiped out faster than a kook on a big wave. Let's keep our community respectful and inclusive dudes! + +## 🌴 More Info + +* Check out our TIMELINE.md for an example of how we ride the disclosure wave. +* Peek at DISCLOSURE.md to see the inner workings of our disclosure process. +* Scope out EXAMPLES.md for some gnarly bug types we're particularly stoked about catching. + +## 🏄‍♂️ Transition to Mainnet + +Heads up, beach bums! This open policy is specific to our testnet phase. As we paddle towards mainnet, we'll be updating our security policy to ensure we're ready for the big leagues. Stay tuned for updates! + +Stay groovy, stay secure! Cowabunga, dudes and dudettes! 🏄‍♂️🌊🛹 From 5b8a441c616e60af65c4924abb2ad94a2ab1fba9 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:15:09 +1200 Subject: [PATCH 12/40] Update README.md --- README.md | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 58 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 1f31537d..6b857bbb 100644 --- a/README.md +++ b/README.md @@ -1 +1,58 @@ -# landslidevm \ No newline at end of file +# Slide SDK + +LandslideVM Logo + +LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. + +## Important Disclaimer + +**Landslide is currently in testnet with the release of SlideSDK. Please expect bumps in the road as we continue to develop and refine the system. Use at your own risk and do not use for production environments at this stage.** + +## Features + +- Execute Cosmos SDK chains on Avalanche +- Emulate CometBFT consensus +- Interact with Cosmos modules +- Secured by Avalanche consensus + +## Dependencies + +LandslideVM relies on the following major dependencies: + +- Go (latest version recommended) +- Cosmos SDK +- AvalancheGo + +Please ensure you have the latest versions of these dependencies installed to avoid any known vulnerabilities. + +## Installation + +[Add installation instructions here] + +## Usage + +[Add usage instructions here] + +## Security + +LandslideVM has undergone a security audit by Oak Security GmbH. While efforts have been made to address identified issues, users should exercise caution and understand the following: + +- The VM facilitates complex communications with AvalancheGo and implements emulation of CometBFT functionalities. +- Some Cosmos SDK modules that rely on validator information may have limited functionality due to the emulation of the consensus mechanism. +- Node operators should be careful about which gRPC endpoints are exposed publicly. + +For a full understanding of the security considerations, please refer to the complete audit report. + +## Contributing + +[Add contribution guidelines here] + +## License + +[Add license information here] + +## Disclaimer + +THIS SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. USE AT YOUR OWN RISK. AS MENTIONED ABOVE, LANDSLIDE IS CURRENTLY IN TESTNET AND MAY EXPERIENCE INSTABILITY OR UNEXPECTED BEHAVIOR. + +For more information about LandslideVM, please [contact us/visit our website]. From 6e32f3f87359c673dfb86f1483360e28240c5068 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:16:20 +1200 Subject: [PATCH 13/40] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b857bbb..9d65eda4 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # Slide SDK LandslideVM Logo +https://media.publit.io/file/Landslide/Github/Slide-SDK.html LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. From 1225b33f077c9eb0418937bd2f75658aa87a3462 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:17:28 +1200 Subject: [PATCH 14/40] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d65eda4..e4a80b79 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Slide SDK +![Uploading Slide SDK.png…]() LandslideVM Logo https://media.publit.io/file/Landslide/Github/Slide-SDK.html From 1df30ae27ca30585c5321426d27c51fe8d043782 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:24:11 +1200 Subject: [PATCH 15/40] Update README.md --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index e4a80b79..c0888b4d 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,5 @@ # Slide SDK -![Uploading Slide SDK.png…]() - -LandslideVM Logo -https://media.publit.io/file/Landslide/Github/Slide-SDK.html +![Slide SDK](https://media.publit.io/file/Landslide/Github/Slide-SDK.png) LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. From e9dbac96dc91a0450af27d3d9dd04ffed785f203 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:28:28 +1200 Subject: [PATCH 16/40] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index c0888b4d..1ee2e76d 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the LandslideVM relies on the following major dependencies: -- Go (latest version recommended) -- Cosmos SDK -- AvalancheGo +- Go v 1.22.7 +- Cosmos SDK 0.50.9 (https://github.com/cosmos/cosmos-sdk/releases/tag/v0.50.9) +- AvalancheGo v1.11.11 (https://github.com/ava-labs/avalanchego/releases/tag/v1.11.11) Please ensure you have the latest versions of these dependencies installed to avoid any known vulnerabilities. From 67abb9b563aa0716f5b2960b32710d158dfcdfbe Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 14 Sep 2024 21:59:14 +1200 Subject: [PATCH 17/40] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 6c01f510..f075a196 100644 --- a/LICENSE +++ b/LICENSE @@ -9,7 +9,7 @@ Parameters Licensor: Gaia Labs LTD -Licensed Work: Slide SDK V1 / LandslideVM +Licensed Work: Slide SDK V0.1 / LandslideVM The Licensed Work is (c) 2024 Gaia Labs LTD Additional Use Grant: Any uses listed and defined at From ce1376b4c5cb8b6f4e71e213d5c81c6c158a51f3 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:18:34 +1200 Subject: [PATCH 18/40] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1ee2e76d..161e1bac 100644 --- a/README.md +++ b/README.md @@ -48,7 +48,7 @@ For a full understanding of the security considerations, please refer to the com ## License -[Add license information here] +Slide SDK v0.1 is licensed under the [Business Source License 1.1](./LICENSE). Please see the [LICENSE](./LICENSE) file for details. ## Disclaimer From 778ead2edd8af108f30338734a6f49936da53371 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:21:41 +1200 Subject: [PATCH 19/40] Create CONTRIBUTING.md Add contributing guidelines --- CONTRIBUTING.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 CONTRIBUTING.md diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..e91fd998 --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,19 @@ +# Contributing to Slide SDK + +Thank you for considering contributing to Slide SDK! Please follow these guidelines to help us review your changes efficiently. + +## Getting Started + +- Fork the repository. +- Create a new branch for your feature or bug fix. +- Ensure your code adheres to our coding standards. + +## Submitting Changes + +- Open a pull request with a clear description of your changes. +- Ensure all tests pass and add new tests if applicable. +- Reference any related issues in your pull request. + +## Code of Conduct + +Please note that this project is released with a Contributor Code of Conduct. By participating, you agree to abide by its terms. From 20c751380f970c3f2f5354c2d79541be7d405ec5 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:46:37 +1200 Subject: [PATCH 20/40] Create CODE_OF_CONDUCT.md created Code of Conduct --- CODE_OF_CONDUCT.md | 132 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 CODE_OF_CONDUCT.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..67fe8cee --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,132 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, caste, color, religion, or sexual +identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall + community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of + any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, + without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official email address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement at +[INSERT CONTACT METHOD]. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining +the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed +unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing +clarity around the nature of the violation and an explanation of why the +behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of +actions. + +**Consequence**: A warning with consequences for continued behavior. No +interaction with the people involved, including unsolicited interaction with +those enforcing the Code of Conduct, for a specified period of time. This +includes avoiding interactions in community spaces as well as external channels +like social media. Violating these terms may lead to a temporary or permanent +ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including +sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public +communication with the community for a specified period of time. No public or +private interaction with the people involved, including unsolicited interaction +with those enforcing the Code of Conduct, is allowed during this period. +Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community +standards, including sustained inappropriate behavior, harassment of an +individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the +community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at +[https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations From 1c64ee91e133fcb913ce559496e666155f8f29e9 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:47:26 +1200 Subject: [PATCH 21/40] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 161e1bac..0bc62fd6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # Slide SDK ![Slide SDK](https://media.publit.io/file/Landslide/Github/Slide-SDK.png) +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. From ed567eb3ab8b27da1c2165d16fb8fbdae2b5b411 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:52:16 +1200 Subject: [PATCH 22/40] Update README.md --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 0bc62fd6..16108d1f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,15 @@ ![Slide SDK](https://media.publit.io/file/Landslide/Github/Slide-SDK.png) [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) +/* + * Copyright (C) [2024] [Gaia Labs LTD] + * + * This file is part of SLIDE SDK. + * + * SLIDE SDK is licensed under the Business Source License 1.1 (BUSL-1.1). + * See the LICENSE file in the project root for details. + */ + LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. ## Important Disclaimer From a7316941a250a20c6b9f61d1be7246db7803532b Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:53:23 +1200 Subject: [PATCH 23/40] Update README.md --- README.md | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/README.md b/README.md index 16108d1f..e6eb636c 100644 --- a/README.md +++ b/README.md @@ -36,11 +36,7 @@ Please ensure you have the latest versions of these dependencies installed to av ## Installation -[Add installation instructions here] - -## Usage - -[Add usage instructions here] +Please follow our docs for installation: (https://docs.landslide.network/) ## Security From 6710be068ad15f24a644271c907ac558c6683f9f Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 17:58:59 +1200 Subject: [PATCH 24/40] Update README.md --- README.md | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e6eb636c..411aab7d 100644 --- a/README.md +++ b/README.md @@ -1,15 +1,6 @@ # Slide SDK ![Slide SDK](https://media.publit.io/file/Landslide/Github/Slide-SDK.png) -[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](code_of_conduct.md) - -/* - * Copyright (C) [2024] [Gaia Labs LTD] - * - * This file is part of SLIDE SDK. - * - * SLIDE SDK is licensed under the Business Source License 1.1 (BUSL-1.1). - * See the LICENSE file in the project root for details. - */ +[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md) LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the execution of Cosmos SDK chains on the Avalanche network by emulating the CometBFT consensus mechanism. This innovative VM allows for the execution of Cosmos SDK chains and interaction with Cosmos modules while being secured by the Avalanche consensus protocol. @@ -50,7 +41,7 @@ For a full understanding of the security considerations, please refer to the com ## Contributing -[Add contribution guidelines here] +We welcome contributions to the Slide SDK! Please see our [CONTRIBUTING.md](CONTRIBUTING.md) file for details on how to contribute. ## License From 9e82b20574e3386e3b42305b74eaf013f26729ff Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Tue, 17 Sep 2024 18:02:23 +1200 Subject: [PATCH 25/40] Update CONTRIBUTING.md updated --- CONTRIBUTING.md | 86 ++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 74 insertions(+), 12 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e91fd998..b70594e0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,19 +1,81 @@ -# Contributing to Slide SDK +# Contributing to SLIDE SDK -Thank you for considering contributing to Slide SDK! Please follow these guidelines to help us review your changes efficiently. +First off, thank you for considering contributing to SLIDE SDK! It's people like you that make SLIDE SDK such a great tool. -## Getting Started +## Code of Conduct -- Fork the repository. -- Create a new branch for your feature or bug fix. -- Ensure your code adheres to our coding standards. +By participating in this project, you are expected to uphold our [Code of Conduct](CODE_OF_CONDUCT.md). Please note that this project is released with a Contributor Code of Conduct. By participating, you agree to abide by its terms. -## Submitting Changes +## Important Note -- Open a pull request with a clear description of your changes. -- Ensure all tests pass and add new tests if applicable. -- Reference any related issues in your pull request. +SLIDE SDK is licensed under the Business Source License 1.1 (BUSL-1.1). Please make sure you understand the implications of this license before contributing. -## Code of Conduct +## How Can I Contribute? + +### Reporting Bugs + +- Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/LandslideNetwork/landslidevm/issues). +- If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/LandslideNetwork/landslidevm/issues/new). Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring. + +### Suggesting Enhancements + +- Open a new issue with a clear title and detailed description of the suggested enhancement. +- Provide any relevant examples or use cases that support your suggestion. + +### Pull Requests + +1. Fork the repository. +2. Create a new branch for your feature or bug fix. +3. Ensure your code adheres to our coding standards. +4. If you've added code that should be tested, add tests. +5. Ensure the test suite passes. +6. Make sure your code lints. +7. Open a pull request with a clear description of your changes. +8. Reference any related issues in your pull request. + +## Development Setup and Testing + +For development setup and testing instructions, please follow our docs at: +https://docs.landslide.network/ + +## Styleguides + +### Git Commit Messages + +- Use the present tense ("Add feature" not "Added feature") +- Use the imperative mood ("Move cursor to..." not "Moves cursor to...") +- Limit the first line to 72 characters or less +- Reference issues and pull requests liberally after the first line + +### Go Styleguide + +We follow the [Effective Go](https://golang.org/doc/effective_go) guidelines and [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments) for our Go code. Please ensure your contributions adhere to these standards. + +### Documentation Styleguide + +- Use [Markdown](https://www.markdownguide.org/) for documentation. +- Write clear, concise, and grammatically correct content. +- Use headers to organize content hierarchically. +- Include code examples where appropriate, using proper syntax highlighting. +- Keep documentation up-to-date with code changes. + +## Issue and Pull Request Labels + +We use the following labels to categorize issues and pull requests: + +- `bug`: Indicates an unexpected problem or unintended behavior +- `enhancement`: Indicates new feature requests or improvements to existing features +- `documentation`: Relates to improvements or additions to documentation +- `good first issue`: Good for newcomers to the project +- `help wanted`: Extra attention is needed +- `question`: Further information is requested +- `security`: Relates to security issues +- `performance`: Addresses performance-related aspects +- `refactor`: Code refactoring without changing functionality +- `test`: Relates to testing infrastructure or test cases + +## Questions? + +If you have any questions, please feel free to contact the project maintainers. -Please note that this project is released with a Contributor Code of Conduct. By participating, you agree to abide by its terms. +Thank you for contributing to SLIDE SDK! From 847d2fa0f561c3754b4b43cea57e149622d0aaca Mon Sep 17 00:00:00 2001 From: Ramil Amerzyanov Date: Thu, 19 Sep 2024 15:30:06 +0400 Subject: [PATCH 26/40] Rename LandslideVM to slide-sdk (#58) * rename to slide-sdk * add slide server package * re-generate proto files --- database/batch.go | 2 +- database/database.go | 2 +- database/error.go | 2 +- database/iterator.go | 2 +- example/kvstore/kvstore.go | 6 ++-- example/wasm/main.go | 10 +++---- go.mod | 2 +- grpcutils/util.go | 2 +- http/conn/conn_client.go | 2 +- http/conn/conn_server.go | 4 +-- http/http_client.go | 8 +++--- http/http_server.go | 8 +++--- http/reader/reader_client.go | 2 +- http/reader/reader_server.go | 2 +- http/responsewriter/writer_client.go | 18 ++++++------ http/responsewriter/writer_server.go | 18 ++++++------ http/writer/writer_client.go | 2 +- http/writer/writer_server.go | 2 +- proto/buf.yaml | 2 +- proto/http/http.pb.go | 6 ++-- proto/http/http.proto | 2 +- .../http/responsewriter/responsewriter.pb.go | 6 ++-- .../http/responsewriter/responsewriter.proto | 2 +- proto/io/reader/reader.pb.go | 4 +-- proto/io/reader/reader.proto | 2 +- proto/io/writer/writer.pb.go | 4 +-- proto/io/writer/writer.proto | 2 +- proto/messenger/messenger.pb.go | 4 +-- proto/messenger/messenger.proto | 2 +- proto/net/conn/conn.pb.go | 6 ++-- proto/net/conn/conn.proto | 2 +- proto/rpcdb/rpcdb.pb.go | 6 ++-- proto/rpcdb/rpcdb.proto | 2 +- proto/vm/landslidevm.pb.go | 4 +-- proto/vm/landslidevm.proto | 2 +- proto/vm/runtime/runtime.pb.go | 4 +-- proto/vm/runtime/runtime.proto | 2 +- landslidevm.go => server/sdk_server.go | 8 +++--- utils/cache/empty_cache.go | 2 +- utils/cache/lru_cache.go | 4 +-- utils/cache/lru_cache_benchmark_test.go | 2 +- utils/cache/lru_cache_test.go | 2 +- utils/cache/lru_sized_cache.go | 4 +-- utils/cache/lru_sized_cache_test.go | 2 +- utils/cache/test_cacher.go | 2 +- utils/cache/unique_cache_test.go | 2 +- utils/cb58/cb58.go | 2 +- utils/ids/id.go | 8 +++--- utils/ids/id_test.go | 4 +-- utils/linkedhashmap/iterator.go | 2 +- utils/linkedhashmap/linkedhashmap.go | 2 +- utils/linkedhashmap/linkedhashmap_test.go | 2 +- utils/sorting.go | 2 +- vm/rpc.go | 4 +-- vm/rpc_test.go | 2 +- vm/types/state/utils.go | 2 +- vm/types/state/utils_test.go | 2 +- vm/types/state/wrapped_block.go | 6 ++-- vm/types/state/wrapped_block_test.go | 4 +-- vm/vm.go | 28 +++++++++---------- vm/vm_test.go | 2 +- 61 files changed, 129 insertions(+), 129 deletions(-) rename landslidevm.go => server/sdk_server.go (96%) diff --git a/database/batch.go b/database/batch.go index 11aa4d6b..cda212d9 100644 --- a/database/batch.go +++ b/database/batch.go @@ -5,7 +5,7 @@ import ( "slices" dbm "github.com/cometbft/cometbft-db" - "github.com/consideritdone/landslidevm/proto/rpcdb" + "github.com/landslidenetwork/slide-sdk/proto/rpcdb" ) var ( diff --git a/database/database.go b/database/database.go index f5a31ebb..8fcd14ab 100644 --- a/database/database.go +++ b/database/database.go @@ -6,7 +6,7 @@ import ( dbm "github.com/cometbft/cometbft-db" - "github.com/consideritdone/landslidevm/proto/rpcdb" + "github.com/landslidenetwork/slide-sdk/proto/rpcdb" ) var ( diff --git a/database/error.go b/database/error.go index 45e59367..e2f3f0ae 100644 --- a/database/error.go +++ b/database/error.go @@ -3,7 +3,7 @@ package database import ( "errors" - "github.com/consideritdone/landslidevm/proto/rpcdb" + "github.com/landslidenetwork/slide-sdk/proto/rpcdb" ) var ( diff --git a/database/iterator.go b/database/iterator.go index fd8cda4d..2397cbe0 100644 --- a/database/iterator.go +++ b/database/iterator.go @@ -5,7 +5,7 @@ import ( "sync" dbm "github.com/cometbft/cometbft-db" - "github.com/consideritdone/landslidevm/proto/rpcdb" + "github.com/landslidenetwork/slide-sdk/proto/rpcdb" ) var ( diff --git a/example/kvstore/kvstore.go b/example/kvstore/kvstore.go index 8b6898bf..4d6df052 100644 --- a/example/kvstore/kvstore.go +++ b/example/kvstore/kvstore.go @@ -6,13 +6,13 @@ import ( "github.com/cometbft/cometbft/abci/example/kvstore" - "github.com/consideritdone/landslidevm" - "github.com/consideritdone/landslidevm/vm" + "github.com/landslidenetwork/slide-sdk/server" + "github.com/landslidenetwork/slide-sdk/vm" ) func main() { appCreator := KvStoreCreator() - if err := landslidevm.Serve(context.Background(), appCreator); err != nil { + if err := server.Serve(context.Background(), appCreator); err != nil { panic(fmt.Sprintf("can't serve application: %s", err)) } } diff --git a/example/wasm/main.go b/example/wasm/main.go index 846e1e15..bb511c44 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -31,10 +31,10 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/credentials/insecure" - "github.com/consideritdone/landslidevm" - "github.com/consideritdone/landslidevm/utils/ids" - "github.com/consideritdone/landslidevm/vm" - vmtypes "github.com/consideritdone/landslidevm/vm/types" + sdkserver "github.com/landslidenetwork/slide-sdk/server" + "github.com/landslidenetwork/slide-sdk/utils/ids" + "github.com/landslidenetwork/slide-sdk/vm" + vmtypes "github.com/landslidenetwork/slide-sdk/vm/types" ) // AppConfig is a Wasm App Config @@ -47,7 +47,7 @@ type AppConfig struct { func main() { appCreator := WasmCreator() - if err := landslidevm.Serve(context.Background(), appCreator); err != nil { + if err := sdkserver.Serve(context.Background(), appCreator); err != nil { panic(fmt.Sprintf("can't serve application: %s", err)) } } diff --git a/go.mod b/go.mod index 4b787d94..4df39a6b 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -module github.com/consideritdone/landslidevm +module github.com/landslidenetwork/slide-sdk go 1.22.7 diff --git a/grpcutils/util.go b/grpcutils/util.go index 476a82c9..b597b084 100644 --- a/grpcutils/util.go +++ b/grpcutils/util.go @@ -12,7 +12,7 @@ import ( "google.golang.org/protobuf/proto" "google.golang.org/protobuf/types/known/anypb" - httppb "github.com/consideritdone/landslidevm/proto/http" + httppb "github.com/landslidenetwork/slide-sdk/proto/http" spb "google.golang.org/genproto/googleapis/rpc/status" tspb "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/http/conn/conn_client.go b/http/conn/conn_client.go index 642ab40c..92083f20 100644 --- a/http/conn/conn_client.go +++ b/http/conn/conn_client.go @@ -9,7 +9,7 @@ import ( "google.golang.org/protobuf/types/known/emptypb" - connpb "github.com/consideritdone/landslidevm/proto/net/conn" + connpb "github.com/landslidenetwork/slide-sdk/proto/net/conn" ) var _ net.Conn = (*Client)(nil) diff --git a/http/conn/conn_server.go b/http/conn/conn_server.go index a4a4a2e3..33599743 100644 --- a/http/conn/conn_server.go +++ b/http/conn/conn_server.go @@ -7,9 +7,9 @@ import ( "google.golang.org/protobuf/types/known/emptypb" - "github.com/consideritdone/landslidevm/grpcutils" + "github.com/landslidenetwork/slide-sdk/grpcutils" - connpb "github.com/consideritdone/landslidevm/proto/net/conn" + connpb "github.com/landslidenetwork/slide-sdk/proto/net/conn" ) var _ connpb.ConnServer = (*Server)(nil) diff --git a/http/http_client.go b/http/http_client.go index 175569a4..f0d72f9c 100644 --- a/http/http_client.go +++ b/http/http_client.go @@ -4,11 +4,11 @@ import ( "io" "net/http" - "github.com/consideritdone/landslidevm/grpcutils" - "github.com/consideritdone/landslidevm/http/responsewriter" + "github.com/landslidenetwork/slide-sdk/grpcutils" + "github.com/landslidenetwork/slide-sdk/http/responsewriter" - httppb "github.com/consideritdone/landslidevm/proto/http" - responsewriterpb "github.com/consideritdone/landslidevm/proto/http/responsewriter" + httppb "github.com/landslidenetwork/slide-sdk/proto/http" + responsewriterpb "github.com/landslidenetwork/slide-sdk/proto/http/responsewriter" ) var _ http.Handler = (*Client)(nil) diff --git a/http/http_server.go b/http/http_server.go index 47b12132..b90a5c02 100644 --- a/http/http_server.go +++ b/http/http_server.go @@ -10,11 +10,11 @@ import ( "google.golang.org/protobuf/types/known/emptypb" - "github.com/consideritdone/landslidevm/grpcutils" - "github.com/consideritdone/landslidevm/http/responsewriter" + "github.com/landslidenetwork/slide-sdk/grpcutils" + "github.com/landslidenetwork/slide-sdk/http/responsewriter" - httppb "github.com/consideritdone/landslidevm/proto/http" - responsewriterpb "github.com/consideritdone/landslidevm/proto/http/responsewriter" + httppb "github.com/landslidenetwork/slide-sdk/proto/http" + responsewriterpb "github.com/landslidenetwork/slide-sdk/proto/http/responsewriter" ) var ( diff --git a/http/reader/reader_client.go b/http/reader/reader_client.go index d3feca39..91ef6878 100644 --- a/http/reader/reader_client.go +++ b/http/reader/reader_client.go @@ -5,7 +5,7 @@ import ( "errors" "io" - readerpb "github.com/consideritdone/landslidevm/proto/io/reader" + readerpb "github.com/landslidenetwork/slide-sdk/proto/io/reader" ) var _ io.Reader = (*Client)(nil) diff --git a/http/reader/reader_server.go b/http/reader/reader_server.go index f3e9c07a..99931b5b 100644 --- a/http/reader/reader_server.go +++ b/http/reader/reader_server.go @@ -5,7 +5,7 @@ import ( "fmt" "io" - readerpb "github.com/consideritdone/landslidevm/proto/io/reader" + readerpb "github.com/landslidenetwork/slide-sdk/proto/io/reader" ) var _ readerpb.ReaderServer = (*Server)(nil) diff --git a/http/responsewriter/writer_client.go b/http/responsewriter/writer_client.go index 161e620f..4eb3542e 100644 --- a/http/responsewriter/writer_client.go +++ b/http/responsewriter/writer_client.go @@ -8,15 +8,15 @@ import ( "google.golang.org/protobuf/types/known/emptypb" - "github.com/consideritdone/landslidevm/grpcutils" - "github.com/consideritdone/landslidevm/http/conn" - "github.com/consideritdone/landslidevm/http/reader" - "github.com/consideritdone/landslidevm/http/writer" - - responsewriterpb "github.com/consideritdone/landslidevm/proto/http/responsewriter" - readerpb "github.com/consideritdone/landslidevm/proto/io/reader" - writerpb "github.com/consideritdone/landslidevm/proto/io/writer" - connpb "github.com/consideritdone/landslidevm/proto/net/conn" + "github.com/landslidenetwork/slide-sdk/grpcutils" + "github.com/landslidenetwork/slide-sdk/http/conn" + "github.com/landslidenetwork/slide-sdk/http/reader" + "github.com/landslidenetwork/slide-sdk/http/writer" + + responsewriterpb "github.com/landslidenetwork/slide-sdk/proto/http/responsewriter" + readerpb "github.com/landslidenetwork/slide-sdk/proto/io/reader" + writerpb "github.com/landslidenetwork/slide-sdk/proto/io/writer" + connpb "github.com/landslidenetwork/slide-sdk/proto/net/conn" ) var ( diff --git a/http/responsewriter/writer_server.go b/http/responsewriter/writer_server.go index b84e5466..72b8b170 100644 --- a/http/responsewriter/writer_server.go +++ b/http/responsewriter/writer_server.go @@ -7,15 +7,15 @@ import ( "google.golang.org/protobuf/types/known/emptypb" - "github.com/consideritdone/landslidevm/grpcutils" - "github.com/consideritdone/landslidevm/http/conn" - "github.com/consideritdone/landslidevm/http/reader" - "github.com/consideritdone/landslidevm/http/writer" - - responsewriterpb "github.com/consideritdone/landslidevm/proto/http/responsewriter" - readerpb "github.com/consideritdone/landslidevm/proto/io/reader" - writerpb "github.com/consideritdone/landslidevm/proto/io/writer" - connpb "github.com/consideritdone/landslidevm/proto/net/conn" + "github.com/landslidenetwork/slide-sdk/grpcutils" + "github.com/landslidenetwork/slide-sdk/http/conn" + "github.com/landslidenetwork/slide-sdk/http/reader" + "github.com/landslidenetwork/slide-sdk/http/writer" + + responsewriterpb "github.com/landslidenetwork/slide-sdk/proto/http/responsewriter" + readerpb "github.com/landslidenetwork/slide-sdk/proto/io/reader" + writerpb "github.com/landslidenetwork/slide-sdk/proto/io/writer" + connpb "github.com/landslidenetwork/slide-sdk/proto/net/conn" ) var ( diff --git a/http/writer/writer_client.go b/http/writer/writer_client.go index 77967d27..b5cbc440 100644 --- a/http/writer/writer_client.go +++ b/http/writer/writer_client.go @@ -5,7 +5,7 @@ import ( "errors" "io" - writerpb "github.com/consideritdone/landslidevm/proto/io/writer" + writerpb "github.com/landslidenetwork/slide-sdk/proto/io/writer" ) var _ io.Writer = (*Client)(nil) diff --git a/http/writer/writer_server.go b/http/writer/writer_server.go index 97eb7d71..623bd221 100644 --- a/http/writer/writer_server.go +++ b/http/writer/writer_server.go @@ -4,7 +4,7 @@ import ( "context" "io" - writerpb "github.com/consideritdone/landslidevm/proto/io/writer" + writerpb "github.com/landslidenetwork/slide-sdk/proto/io/writer" ) var _ writerpb.WriterServer = (*Server)(nil) diff --git a/proto/buf.yaml b/proto/buf.yaml index 02b71cc2..8312f7ae 100644 --- a/proto/buf.yaml +++ b/proto/buf.yaml @@ -1,5 +1,5 @@ version: v1 -name: buf.build/consideritdone/landslidevm +name: buf.build/landslidenetwork/slide-sdk build: excludes: # for golang we handle prometheus as a buf dep so we exclude it from generate, this proto diff --git a/proto/http/http.pb.go b/proto/http/http.pb.go index 1ec49bad..7ac03fde 100644 --- a/proto/http/http.pb.go +++ b/proto/http/http.pb.go @@ -1033,9 +1033,9 @@ var file_http_http_proto_rawDesc = []byte{ 0x65, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x48, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x48, 0x54, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x32, 0x5a, 0x30, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, - 0x64, 0x65, 0x72, 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, - 0x69, 0x64, 0x65, 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, + 0x6c, 0x69, 0x64, 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, + 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/http/http.proto b/proto/http/http.proto index 163bfb2c..68f18467 100644 --- a/proto/http/http.proto +++ b/proto/http/http.proto @@ -4,7 +4,7 @@ package http; import "google/protobuf/empty.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/http"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/http"; service HTTP { // Handle wraps http1 over http2 and provides support for websockets by implementing diff --git a/proto/http/responsewriter/responsewriter.pb.go b/proto/http/responsewriter/responsewriter.pb.go index 8e1e7087..ed9c705e 100644 --- a/proto/http/responsewriter/responsewriter.pb.go +++ b/proto/http/responsewriter/responsewriter.pb.go @@ -384,9 +384,9 @@ var file_http_responsewriter_responsewriter_proto_rawDesc = []byte{ 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x23, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x2e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x48, 0x69, 0x6a, 0x61, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x41, 0x5a, - 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, - 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x68, 0x74, 0x74, + 0x3f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, + 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, + 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x2f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/http/responsewriter/responsewriter.proto b/proto/http/responsewriter/responsewriter.proto index ea7f21dc..9a8d69c8 100644 --- a/proto/http/responsewriter/responsewriter.proto +++ b/proto/http/responsewriter/responsewriter.proto @@ -4,7 +4,7 @@ package http.responsewriter; import "google/protobuf/empty.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/http/responsewriter"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/http/responsewriter"; // Writer is an http.ResponseWriter see: https://pkg.go.dev/net/http#ResponseWriter service Writer { diff --git a/proto/io/reader/reader.pb.go b/proto/io/reader/reader.pb.go index 0fd3051e..6661f5a5 100644 --- a/proto/io/reader/reader.pb.go +++ b/proto/io/reader/reader.pb.go @@ -142,8 +142,8 @@ var file_io_reader_reader_proto_rawDesc = []byte{ 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x69, 0x6f, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, 0x64, - 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, 0x2f, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, 0x65, + 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6f, 0x2f, 0x72, 0x65, 0x61, 0x64, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/io/reader/reader.proto b/proto/io/reader/reader.proto index 34c56eda..2ad2ecee 100644 --- a/proto/io/reader/reader.proto +++ b/proto/io/reader/reader.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package io.reader; -option go_package = "github.com/consideritdone/landslidevm/proto/io/reader"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/io/reader"; // Reader is an io.Reader see: https://pkg.go.dev/io#Reader service Reader { diff --git a/proto/io/writer/writer.pb.go b/proto/io/writer/writer.pb.go index d71482ab..18256a56 100644 --- a/proto/io/writer/writer.pb.go +++ b/proto/io/writer/writer.pb.go @@ -143,8 +143,8 @@ var file_io_writer_writer_proto_rawDesc = []byte{ 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x69, 0x6f, 0x2e, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, - 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, + 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, + 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x69, 0x6f, 0x2f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/io/writer/writer.proto b/proto/io/writer/writer.proto index db7a6bf9..d7ae14d0 100644 --- a/proto/io/writer/writer.proto +++ b/proto/io/writer/writer.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package io.writer; -option go_package = "github.com/consideritdone/landslidevm/proto/io/writer"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/io/writer"; // Writer see: io.Writer https://pkg.go.dev/io#Writer service Writer { diff --git a/proto/messenger/messenger.pb.go b/proto/messenger/messenger.pb.go index 2f740f92..8c0b9b87 100644 --- a/proto/messenger/messenger.pb.go +++ b/proto/messenger/messenger.pb.go @@ -176,8 +176,8 @@ var file_messenger_messenger_proto_rawDesc = []byte{ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, - 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x65, 0x6e, 0x67, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/messenger/messenger.proto b/proto/messenger/messenger.proto index fe3ec8f3..f59f74e2 100644 --- a/proto/messenger/messenger.proto +++ b/proto/messenger/messenger.proto @@ -2,7 +2,7 @@ syntax = "proto3"; package messenger; -option go_package = "github.com/consideritdone/landslidevm/proto/messenger"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/messenger"; service Messenger { rpc Notify(NotifyRequest) returns (NotifyResponse); diff --git a/proto/net/conn/conn.pb.go b/proto/net/conn/conn.pb.go index 78502ed8..3344b25c 100644 --- a/proto/net/conn/conn.pb.go +++ b/proto/net/conn/conn.pb.go @@ -328,9 +328,9 @@ var file_net_conn_conn_proto_rawDesc = []byte{ 0x65, 0x74, 0x44, 0x65, 0x61, 0x64, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, - 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, - 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x63, 0x6f, 0x6e, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, + 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6e, 0x65, 0x74, 0x2f, 0x63, 0x6f, 0x6e, 0x6e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/net/conn/conn.proto b/proto/net/conn/conn.proto index 3609473c..4d549dfd 100644 --- a/proto/net/conn/conn.proto +++ b/proto/net/conn/conn.proto @@ -4,7 +4,7 @@ package net.conn; import "google/protobuf/empty.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/net/conn"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/net/conn"; // Conn is a net.Conn see: https://pkg.go.dev/net#Conn service Conn { diff --git a/proto/rpcdb/rpcdb.pb.go b/proto/rpcdb/rpcdb.pb.go index 01109ecf..d3dfbf37 100644 --- a/proto/rpcdb/rpcdb.pb.go +++ b/proto/rpcdb/rpcdb.pb.go @@ -1368,9 +1368,9 @@ var file_rpcdb_rpcdb_proto_rawDesc = []byte{ 0x73, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x72, 0x70, 0x63, 0x64, 0x62, 0x2e, 0x49, 0x74, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x33, 0x5a, 0x31, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, - 0x69, 0x74, 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, - 0x76, 0x6d, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x64, 0x62, 0x62, 0x06, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, + 0x65, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, + 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x64, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/rpcdb/rpcdb.proto b/proto/rpcdb/rpcdb.proto index bd4619f0..f7092e53 100644 --- a/proto/rpcdb/rpcdb.proto +++ b/proto/rpcdb/rpcdb.proto @@ -4,7 +4,7 @@ package rpcdb; import "google/protobuf/empty.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/rpcdb"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/rpcdb"; service Database { rpc Has(HasRequest) returns (HasResponse); diff --git a/proto/vm/landslidevm.pb.go b/proto/vm/landslidevm.pb.go index adf0db74..56b29f85 100644 --- a/proto/vm/landslidevm.pb.go +++ b/proto/vm/landslidevm.pb.go @@ -3481,8 +3481,8 @@ var file_vm_landslidevm_proto_rawDesc = []byte{ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x76, 0x6d, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x53, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x63, 0x63, 0x65, 0x70, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x30, 0x5a, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, - 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x6d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/vm/landslidevm.proto b/proto/vm/landslidevm.proto index 59e83441..8afb8849 100644 --- a/proto/vm/landslidevm.proto +++ b/proto/vm/landslidevm.proto @@ -6,7 +6,7 @@ import "google/protobuf/empty.proto"; import "google/protobuf/timestamp.proto"; import "io/prometheus/client/metrics.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/vm"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/vm"; // ref. https://pkg.go.dev/github.com/ava-labs/avalanchego/snow/engine/snowman/block // ref. https://pkg.go.dev/github.com/ava-labs/avalanchego/snow/consensus/snowman#Block diff --git a/proto/vm/runtime/runtime.pb.go b/proto/vm/runtime/runtime.pb.go index 4d4de6bb..a405b9d4 100644 --- a/proto/vm/runtime/runtime.pb.go +++ b/proto/vm/runtime/runtime.pb.go @@ -97,8 +97,8 @@ var file_vm_runtime_runtime_proto_rawDesc = []byte{ 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x69, 0x74, - 0x64, 0x6f, 0x6e, 0x65, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x76, 0x6d, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6c, 0x61, 0x6e, 0x64, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x6e, + 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x2f, 0x73, 0x6c, 0x69, 0x64, 0x65, 0x2d, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x76, 0x6d, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } diff --git a/proto/vm/runtime/runtime.proto b/proto/vm/runtime/runtime.proto index 892817ce..4b27a4fb 100644 --- a/proto/vm/runtime/runtime.proto +++ b/proto/vm/runtime/runtime.proto @@ -4,7 +4,7 @@ package vm.runtime; import "google/protobuf/empty.proto"; -option go_package = "github.com/consideritdone/landslidevm/proto/vm/runtime"; +option go_package = "github.com/landslidenetwork/slide-sdk/proto/vm/runtime"; // Manages the lifecycle of a subnet VM process. service Runtime { diff --git a/landslidevm.go b/server/sdk_server.go similarity index 96% rename from landslidevm.go rename to server/sdk_server.go index e09e9c9c..7c10eb1d 100644 --- a/landslidevm.go +++ b/server/sdk_server.go @@ -1,4 +1,4 @@ -package landslidevm +package server import ( "context" @@ -16,9 +16,9 @@ import ( "google.golang.org/grpc/health/grpc_health_v1" "google.golang.org/grpc/keepalive" - vmpb "github.com/consideritdone/landslidevm/proto/vm" - runtimepb "github.com/consideritdone/landslidevm/proto/vm/runtime" - "github.com/consideritdone/landslidevm/vm" + vmpb "github.com/landslidenetwork/slide-sdk/proto/vm" + runtimepb "github.com/landslidenetwork/slide-sdk/proto/vm/runtime" + "github.com/landslidenetwork/slide-sdk/vm" ) const ( diff --git a/utils/cache/empty_cache.go b/utils/cache/empty_cache.go index 18b2a7fe..60c2a52e 100644 --- a/utils/cache/empty_cache.go +++ b/utils/cache/empty_cache.go @@ -1,6 +1,6 @@ package cache -import "github.com/consideritdone/landslidevm/utils" +import "github.com/landslidenetwork/slide-sdk/utils" var _ Cacher[struct{}, struct{}] = (*Empty[struct{}, struct{}])(nil) diff --git a/utils/cache/lru_cache.go b/utils/cache/lru_cache.go index eba32fad..7c0e679e 100644 --- a/utils/cache/lru_cache.go +++ b/utils/cache/lru_cache.go @@ -3,8 +3,8 @@ package cache import ( "sync" - "github.com/consideritdone/landslidevm/utils" - "github.com/consideritdone/landslidevm/utils/linkedhashmap" + "github.com/landslidenetwork/slide-sdk/utils" + "github.com/landslidenetwork/slide-sdk/utils/linkedhashmap" ) var _ Cacher[struct{}, struct{}] = (*LRU[struct{}, struct{}])(nil) diff --git a/utils/cache/lru_cache_benchmark_test.go b/utils/cache/lru_cache_benchmark_test.go index 379e4a8b..32036a9b 100644 --- a/utils/cache/lru_cache_benchmark_test.go +++ b/utils/cache/lru_cache_benchmark_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) func BenchmarkLRUCachePutSmall(b *testing.B) { diff --git a/utils/cache/lru_cache_test.go b/utils/cache/lru_cache_test.go index 8dc1319f..1f27f0fc 100644 --- a/utils/cache/lru_cache_test.go +++ b/utils/cache/lru_cache_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) func TestLRU(t *testing.T) { diff --git a/utils/cache/lru_sized_cache.go b/utils/cache/lru_sized_cache.go index 9bf31ecf..bc8bac5f 100644 --- a/utils/cache/lru_sized_cache.go +++ b/utils/cache/lru_sized_cache.go @@ -3,8 +3,8 @@ package cache import ( "sync" - "github.com/consideritdone/landslidevm/utils" - "github.com/consideritdone/landslidevm/utils/linkedhashmap" + "github.com/landslidenetwork/slide-sdk/utils" + "github.com/landslidenetwork/slide-sdk/utils/linkedhashmap" ) var _ Cacher[struct{}, any] = (*sizedLRU[struct{}, any])(nil) diff --git a/utils/cache/lru_sized_cache_test.go b/utils/cache/lru_sized_cache_test.go index bcf2e0a5..a7f0c458 100644 --- a/utils/cache/lru_sized_cache_test.go +++ b/utils/cache/lru_sized_cache_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) func TestSizedLRU(t *testing.T) { diff --git a/utils/cache/test_cacher.go b/utils/cache/test_cacher.go index d1f8ecce..b2329f3e 100644 --- a/utils/cache/test_cacher.go +++ b/utils/cache/test_cacher.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) const TestIntSize = ids.IDLen + 8 diff --git a/utils/cache/unique_cache_test.go b/utils/cache/unique_cache_test.go index 76a11359..c8610efb 100644 --- a/utils/cache/unique_cache_test.go +++ b/utils/cache/unique_cache_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) type evictable[K comparable] struct { diff --git a/utils/cb58/cb58.go b/utils/cb58/cb58.go index ef9f954c..d94ec6d2 100644 --- a/utils/cb58/cb58.go +++ b/utils/cb58/cb58.go @@ -8,7 +8,7 @@ import ( "github.com/mr-tron/base58/base58" - "github.com/consideritdone/landslidevm/utils/hashing" + "github.com/landslidenetwork/slide-sdk/utils/hashing" ) const checksumLen = 4 diff --git a/utils/ids/id.go b/utils/ids/id.go index 457e15af..3d1fd8e8 100644 --- a/utils/ids/id.go +++ b/utils/ids/id.go @@ -6,10 +6,10 @@ import ( "errors" "fmt" - "github.com/consideritdone/landslidevm/utils" - "github.com/consideritdone/landslidevm/utils/cb58" - "github.com/consideritdone/landslidevm/utils/hashing" - "github.com/consideritdone/landslidevm/utils/wrappers" + "github.com/landslidenetwork/slide-sdk/utils" + "github.com/landslidenetwork/slide-sdk/utils/cb58" + "github.com/landslidenetwork/slide-sdk/utils/hashing" + "github.com/landslidenetwork/slide-sdk/utils/wrappers" ) const ( diff --git a/utils/ids/id_test.go b/utils/ids/id_test.go index e7ea8445..de524f6c 100644 --- a/utils/ids/id_test.go +++ b/utils/ids/id_test.go @@ -7,8 +7,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils" - "github.com/consideritdone/landslidevm/utils/cb58" + "github.com/landslidenetwork/slide-sdk/utils" + "github.com/landslidenetwork/slide-sdk/utils/cb58" ) func TestID(t *testing.T) { diff --git a/utils/linkedhashmap/iterator.go b/utils/linkedhashmap/iterator.go index 2c9247cb..79f52e51 100644 --- a/utils/linkedhashmap/iterator.go +++ b/utils/linkedhashmap/iterator.go @@ -3,7 +3,7 @@ package linkedhashmap import ( "container/list" - "github.com/consideritdone/landslidevm/utils" + "github.com/landslidenetwork/slide-sdk/utils" ) var _ Iter[int, struct{}] = (*iterator[int, struct{}])(nil) diff --git a/utils/linkedhashmap/linkedhashmap.go b/utils/linkedhashmap/linkedhashmap.go index 005f829f..c11a84b3 100644 --- a/utils/linkedhashmap/linkedhashmap.go +++ b/utils/linkedhashmap/linkedhashmap.go @@ -4,7 +4,7 @@ import ( "container/list" "sync" - "github.com/consideritdone/landslidevm/utils" + "github.com/landslidenetwork/slide-sdk/utils" ) var _ LinkedHashmap[int, struct{}] = (*linkedHashmap[int, struct{}])(nil) diff --git a/utils/linkedhashmap/linkedhashmap_test.go b/utils/linkedhashmap/linkedhashmap_test.go index 7f619e9a..d194a0a2 100644 --- a/utils/linkedhashmap/linkedhashmap_test.go +++ b/utils/linkedhashmap/linkedhashmap_test.go @@ -5,7 +5,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) func TestLinkedHashmap(t *testing.T) { diff --git a/utils/sorting.go b/utils/sorting.go index c33a9e76..a73ce9e2 100644 --- a/utils/sorting.go +++ b/utils/sorting.go @@ -5,7 +5,7 @@ import ( "cmp" "slices" - "github.com/consideritdone/landslidevm/utils/hashing" + "github.com/landslidenetwork/slide-sdk/utils/hashing" ) // TODO can we handle sorting where the Compare function relies on a codec? diff --git a/vm/rpc.go b/vm/rpc.go index e2e04a8c..1e12f57a 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -22,8 +22,8 @@ import ( "github.com/cometbft/cometbft/types" "github.com/cometbft/cometbft/version" - "github.com/consideritdone/landslidevm/jsonrpc" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/jsonrpc" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) type RPC struct { diff --git a/vm/rpc_test.go b/vm/rpc_test.go index ac690b2c..64640f70 100644 --- a/vm/rpc_test.go +++ b/vm/rpc_test.go @@ -11,7 +11,7 @@ import ( rpctypes "github.com/cometbft/cometbft/rpc/jsonrpc/types" "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/jsonrpc" + "github.com/landslidenetwork/slide-sdk/jsonrpc" ) func setupRPC(t *testing.T) (*http.Server, *LandslideVM, *client.Client) { diff --git a/vm/types/state/utils.go b/vm/types/state/utils.go index c1cd10df..5d1b3e8b 100644 --- a/vm/types/state/utils.go +++ b/vm/types/state/utils.go @@ -13,7 +13,7 @@ import ( "github.com/cometbft/cometbft/types" cmttime "github.com/cometbft/cometbft/types/time" - "github.com/consideritdone/landslidevm/proto/vm" + "github.com/landslidenetwork/slide-sdk/proto/vm" ) func EncodeBlockWithStatus(blk *types.Block, status vm.Status) ([]byte, error) { diff --git a/vm/types/state/utils_test.go b/vm/types/state/utils_test.go index b11815ce..51745018 100644 --- a/vm/types/state/utils_test.go +++ b/vm/types/state/utils_test.go @@ -6,7 +6,7 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/proto/vm" + "github.com/landslidenetwork/slide-sdk/proto/vm" ) func TestEncodeDecodeBlockWithStatus(t *testing.T) { diff --git a/vm/types/state/wrapped_block.go b/vm/types/state/wrapped_block.go index 9eb19528..7e112e99 100644 --- a/vm/types/state/wrapped_block.go +++ b/vm/types/state/wrapped_block.go @@ -5,9 +5,9 @@ import ( "github.com/cometbft/cometbft/types" - "github.com/consideritdone/landslidevm/proto/vm" - "github.com/consideritdone/landslidevm/utils/cache" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/proto/vm" + "github.com/landslidenetwork/slide-sdk/utils/cache" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) // TODO: make these configurable diff --git a/vm/types/state/wrapped_block_test.go b/vm/types/state/wrapped_block_test.go index 9b2b8e5a..3943e89d 100644 --- a/vm/types/state/wrapped_block_test.go +++ b/vm/types/state/wrapped_block_test.go @@ -6,8 +6,8 @@ import ( "github.com/stretchr/testify/require" - "github.com/consideritdone/landslidevm/proto/vm" - "github.com/consideritdone/landslidevm/utils/ids" + "github.com/landslidenetwork/slide-sdk/proto/vm" + "github.com/landslidenetwork/slide-sdk/utils/ids" ) func TestGetCachedBlock(t *testing.T) { diff --git a/vm/vm.go b/vm/vm.go index 48267589..d656b298 100644 --- a/vm/vm.go +++ b/vm/vm.go @@ -37,20 +37,20 @@ import ( "google.golang.org/protobuf/types/known/emptypb" "google.golang.org/protobuf/types/known/timestamppb" - "github.com/consideritdone/landslidevm/database" - "github.com/consideritdone/landslidevm/grpcutils" - "github.com/consideritdone/landslidevm/http" - "github.com/consideritdone/landslidevm/jsonrpc" - httppb "github.com/consideritdone/landslidevm/proto/http" - messengerpb "github.com/consideritdone/landslidevm/proto/messenger" - "github.com/consideritdone/landslidevm/proto/rpcdb" - vmpb "github.com/consideritdone/landslidevm/proto/vm" - "github.com/consideritdone/landslidevm/utils/ids" - vmtypes "github.com/consideritdone/landslidevm/vm/types" - "github.com/consideritdone/landslidevm/vm/types/block" - "github.com/consideritdone/landslidevm/vm/types/closer" - "github.com/consideritdone/landslidevm/vm/types/commit" - vmstate "github.com/consideritdone/landslidevm/vm/types/state" + "github.com/landslidenetwork/slide-sdk/database" + "github.com/landslidenetwork/slide-sdk/grpcutils" + "github.com/landslidenetwork/slide-sdk/http" + "github.com/landslidenetwork/slide-sdk/jsonrpc" + httppb "github.com/landslidenetwork/slide-sdk/proto/http" + messengerpb "github.com/landslidenetwork/slide-sdk/proto/messenger" + "github.com/landslidenetwork/slide-sdk/proto/rpcdb" + vmpb "github.com/landslidenetwork/slide-sdk/proto/vm" + "github.com/landslidenetwork/slide-sdk/utils/ids" + vmtypes "github.com/landslidenetwork/slide-sdk/vm/types" + "github.com/landslidenetwork/slide-sdk/vm/types/block" + "github.com/landslidenetwork/slide-sdk/vm/types/closer" + "github.com/landslidenetwork/slide-sdk/vm/types/commit" + vmstate "github.com/landslidenetwork/slide-sdk/vm/types/state" ) const ( diff --git a/vm/vm_test.go b/vm/vm_test.go index 7b0f0b13..a5001c2f 100644 --- a/vm/vm_test.go +++ b/vm/vm_test.go @@ -14,7 +14,7 @@ import ( "google.golang.org/grpc/test/bufconn" "google.golang.org/protobuf/types/known/emptypb" - vmpb "github.com/consideritdone/landslidevm/proto/vm" + vmpb "github.com/landslidenetwork/slide-sdk/proto/vm" ) var ( From d746559771896622625a2f4f342091ca0f163451 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 11:22:23 +1200 Subject: [PATCH 27/40] Update README.md added audit --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 411aab7d..ac9a91ed 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,9 @@ LandslideVM is a custom virtual machine designed for AvalancheGo. It enables the **Landslide is currently in testnet with the release of SlideSDK. Please expect bumps in the road as we continue to develop and refine the system. Use at your own risk and do not use for production environments at this stage.** +## Security Audit +The SLIDE SDK has been audited by Oak Security. You can view the full audit report [here](https://github.com/oak-security/audit-reports/blob/main/Slide%20SDK/2024-09-20%20Audit%20Report%20-%20Slide%20SDK%20v1.1.pdf). + ## Features - Execute Cosmos SDK chains on Avalanche From 1020cdf6c35c9a6c62835ad7732f8bb5f8be11ec Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 11:27:04 +1200 Subject: [PATCH 28/40] Update SECURITY.md --- SECURITY.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 72d09eb3..b0dccfd9 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -4,12 +4,15 @@ Welcome to the Slide SDK security policy, where we turn haters into heroes! We're all about catching those gnarly bugs before they wipe us out. Remember, we're still shredding on the testnet, so your help in spotting issues is totally tubular! +## Security Audit +The SLIDE SDK has been audited by Oak Security. You can view the full audit report [here](https://github.com/oak-security/audit-reports/blob/main/Slide%20SDK/2024-09-20%20Audit%20Report%20-%20Slide%20SDK%20v1.1.pdf). + ## 🎯 Scope | Version | Supported | |---------|---------------------| -| Latest Release | 🛝 | -| Main Branch | 🏄‍♀️ | +| Latest Release | 🛝 v1.0.0 | +| Main Branch | 🏄‍♀️ 🛝 v1.0.0 | Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. From e4c2085f2303b5e027f00b1116d1cf705318ee32 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 11:28:16 +1200 Subject: [PATCH 29/40] Update SECURITY.md --- SECURITY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index b0dccfd9..efb449c7 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -11,8 +11,8 @@ The SLIDE SDK has been audited by Oak Security. You can view the full audit repo | Version | Supported | |---------|---------------------| -| Latest Release | 🛝 v1.0.0 | -| Main Branch | 🏄‍♀️ 🛝 v1.0.0 | +| Latest Release | 🛝 v1.0.0 (https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | +| Main Branch | 🏄‍♀️ 🛝 v1.0.0 (https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. From bfbbbd6593a82b30a562a29c2849be9b7c711274 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 13:35:28 +1200 Subject: [PATCH 30/40] Update SECURITY.md --- SECURITY.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index efb449c7..15342334 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -1,6 +1,4 @@ -# 🏄‍♂️ Slide SDK Security Policy 🛹 - -## 🌊 Riding the Wave of Security +# 🌊 Riding the Wave of Security Welcome to the Slide SDK security policy, where we turn haters into heroes! We're all about catching those gnarly bugs before they wipe us out. Remember, we're still shredding on the testnet, so your help in spotting issues is totally tubular! @@ -22,7 +20,7 @@ Found a bug? Don't just hate, participate! Here's how you can help us hang ten a 1. **Public Reporting**: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. -2. **Sensitive Issues**: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@slidesdk.com with the subject "Confidential Hater's Bug Report: [Brief Description]". +2. **Sensitive Issues**: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@landslidelabs.org with the subject "Confidential Hater's Bug Report: [Brief Description]". 3. **Details, dude**: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. @@ -71,4 +69,4 @@ While we love our Haters (with Benefits), we keep it cool here. Hate speech or a Heads up, beach bums! This open policy is specific to our testnet phase. As we paddle towards mainnet, we'll be updating our security policy to ensure we're ready for the big leagues. Stay tuned for updates! -Stay groovy, stay secure! Cowabunga, dudes and dudettes! 🏄‍♂️🌊🛹 +Stay groovy, stay secure! Slide on board, dudes! 🏄‍♂️🌊🛹 From 6e40f7fe8a67492d406968f6b5661a015d4cda36 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 13:36:05 +1200 Subject: [PATCH 31/40] Update SECURITY.md --- SECURITY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 15342334..b3561640 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -9,8 +9,8 @@ The SLIDE SDK has been audited by Oak Security. You can view the full audit repo | Version | Supported | |---------|---------------------| -| Latest Release | 🛝 v1.0.0 (https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | -| Main Branch | 🏄‍♀️ 🛝 v1.0.0 (https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | +| Latest Release | 🛝 [v1.0.0](https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | +| Main Branch | 🏄‍♀️ 🛝 [v1.0.0](https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. From e0844db609285c633edf63ff6456aef50c35cff3 Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 13:39:46 +1200 Subject: [PATCH 32/40] Update SECURITY.md --- SECURITY.md | 62 ++++++++++++++++------------------------------------- 1 file changed, 19 insertions(+), 43 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index b3561640..34db6511 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -13,60 +13,36 @@ The SLIDE SDK has been audited by Oak Security. You can view the full audit repo | Main Branch | 🏄‍♀️ 🛝 [v1.0.0](https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. - -## 🕵️‍♂️ Calling All Haters with Benefits! - +🕵️‍♂️ Calling All Haters with Benefits! Found a bug? Don't just hate, participate! Here's how you can help us hang ten and keep Slide SDK secure: -1. **Public Reporting**: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. - -2. **Sensitive Issues**: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@landslidelabs.org with the subject "Confidential Hater's Bug Report: [Brief Description]". - -3. **Details, dude**: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. - -4. **Collaboration**: Let's ride this wave together. We might need more info, so stay tuned and be ready to dive deeper into the issue with us. - -5. **Responsible Disclosure**: For email reports, keep it on the down-low until we give the all-clear. For public issues, we'll work together in the open, but avoid sharing exploit details that could be misused. +Public Reporting: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. +Sensitive Issues: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@landslidelabs.org with the subject "Confidential Hater's Bug Report: [Brief Description]". +Details, dude: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. +Collaboration: Let's ride this wave together. We might need more info, so stay tuned and be ready to dive deeper into the issue with us. +Responsible Disclosure: For email reports, keep it on the down-low until we give the all-clear. For public issues, we'll work together in the open, but avoid sharing exploit details that could be misused. Remember, while we're stoked about open collaboration, we reserve the right to remove or edit any reports that we feel could pose an immediate risk to our gnarly community. - -## 🏆 Rewards for Rad Haters - +🏆 Rewards for Rad Haters For verified, radical bug finds, we're dishing out SLIDE tokens faster than a surfer catches a wave! The bigger the wipeout you help us avoid, the more tokens you'll slide into. - -| Bug Severity | Reward | -|--------------|----------------------------| -| Critical | $10,000 in SLIDE + 🏆 | -| High | $5,000 in SLIDE + 🥈 | -| Medium | $2,500 in SLIDE + 🥉 | -| Low | $1,000 in SLIDE + 🤙 | - -## 🤙 Surfer's Code of Conduct - +Bug SeverityRewardCritical$10,000 in SLIDE + 🏆High$5,000 in SLIDE + 🥈Medium$2,500 in SLIDE + 🥉Low$1,000 in SLIDE + 🤙 +🤙 Surfer's Code of Conduct We require all our rad researchers to: -* Abide by this policy and be mindful about sharing vulnerability info responsibly. -* Make every effort to avoid privacy violations, disruption to our gnarly systems, and destruction of data. -* Keep vulnerability info confidential if reported via email, until we've caught and surfed that bug. -* Avoid posting personally identifiable information, privately or publicly. +Abide by this policy and be mindful about sharing vulnerability info responsibly. +Make every effort to avoid privacy violations, disruption to our gnarly systems, and destruction of data. +Keep vulnerability info confidential if reported via email, until we've caught and surfed that bug. +Avoid posting personally identifiable information, privately or publicly. If you follow these guidelines when reporting an issue to us, we commit to: -* Not pursue or support any legal action related to your research on this vulnerability. -* Work with you to understand, resolve, and ultimately disclose the issue in a timely fashion. - -## 🚫 No Bad Vibes Zone +Not pursue or support any legal action related to your research on this vulnerability. +Work with you to understand, resolve, and ultimately disclose the issue in a timely fashion. +🚫 No Bad Vibes Zone While we love our Haters (with Benefits), we keep it cool here. Hate speech or any form of discrimination won't be tolerated and will be wiped out faster than a kook on a big wave. Let's keep our community respectful and inclusive dudes! - -## 🌴 More Info - -* Check out our TIMELINE.md for an example of how we ride the disclosure wave. -* Peek at DISCLOSURE.md to see the inner workings of our disclosure process. -* Scope out EXAMPLES.md for some gnarly bug types we're particularly stoked about catching. - -## 🏄‍♂️ Transition to Mainnet - +🌴 More Info +As we continue to ride the testnet waves, we're constantly improving our security processes. Stay tuned for more detailed information on our disclosure timeline, process, and examples of vulnerabilities we're particularly interested in. +🏄‍♂️ Transition to Mainnet Heads up, beach bums! This open policy is specific to our testnet phase. As we paddle towards mainnet, we'll be updating our security policy to ensure we're ready for the big leagues. Stay tuned for updates! - Stay groovy, stay secure! Slide on board, dudes! 🏄‍♂️🌊🛹 From 809bcc52785828c2bfc85254a280ec9c7dee5a5b Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 13:41:57 +1200 Subject: [PATCH 33/40] Update SECURITY.md --- SECURITY.md | 54 +++++++++++++++++++++++++++++++++++------------------ 1 file changed, 36 insertions(+), 18 deletions(-) diff --git a/SECURITY.md b/SECURITY.md index 34db6511..e086cfac 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -13,36 +13,54 @@ The SLIDE SDK has been audited by Oak Security. You can view the full audit repo | Main Branch | 🏄‍♀️ 🛝 [v1.0.0](https://github.com/LandslideNetwork/slide-sdk/releases/tag/v1.0.0) | Security vulnerabilities should be reported if they can be reproduced on either the latest release or the main branch. -🕵️‍♂️ Calling All Haters with Benefits! + +## 🕵️‍♂️ Calling All Haters with Benefits! + Found a bug? Don't just hate, participate! Here's how you can help us hang ten and keep Slide SDK secure: -Public Reporting: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. -Sensitive Issues: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@landslidelabs.org with the subject "Confidential Hater's Bug Report: [Brief Description]". -Details, dude: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. -Collaboration: Let's ride this wave together. We might need more info, so stay tuned and be ready to dive deeper into the issue with us. -Responsible Disclosure: For email reports, keep it on the down-low until we give the all-clear. For public issues, we'll work together in the open, but avoid sharing exploit details that could be misused. +1. **Public Reporting**: Since we're riding the testnet waves, we're open to public vulnerability reports. Feel free to open an issue on our GitHub repo with the tag [SECURITY]. This helps us build a transparent and collaborative security culture. +2. **Sensitive Issues**: For vulnerabilities that might have severe implications even on testnet (like potential economic exploits or privacy breaches), please email us at security@landslidelabs.org with the subject "Confidential Hater's Bug Report: [Brief Description]". +3. **Details, dude**: Whether public or private, give us the 411 on the bug. Include reproduction steps and all the juicy details. +4. **Collaboration**: Let's ride this wave together. We might need more info, so stay tuned and be ready to dive deeper into the issue with us. +5. **Responsible Disclosure**: For email reports, keep it on the down-low until we give the all-clear. For public issues, we'll work together in the open, but avoid sharing exploit details that could be misused. Remember, while we're stoked about open collaboration, we reserve the right to remove or edit any reports that we feel could pose an immediate risk to our gnarly community. -🏆 Rewards for Rad Haters + +## 🏆 Rewards for Rad Haters + For verified, radical bug finds, we're dishing out SLIDE tokens faster than a surfer catches a wave! The bigger the wipeout you help us avoid, the more tokens you'll slide into. -Bug SeverityRewardCritical$10,000 in SLIDE + 🏆High$5,000 in SLIDE + 🥈Medium$2,500 in SLIDE + 🥉Low$1,000 in SLIDE + 🤙 -🤙 Surfer's Code of Conduct + +| Bug Severity | Reward | +|--------------|----------------------------| +| Critical | $10,000 in SLIDE + 🏆 | +| High | $5,000 in SLIDE + 🥈 | +| Medium | $2,500 in SLIDE + 🥉 | +| Low | $1,000 in SLIDE + 🤙 | + +## 🤙 Surfer's Code of Conduct + We require all our rad researchers to: -Abide by this policy and be mindful about sharing vulnerability info responsibly. -Make every effort to avoid privacy violations, disruption to our gnarly systems, and destruction of data. -Keep vulnerability info confidential if reported via email, until we've caught and surfed that bug. -Avoid posting personally identifiable information, privately or publicly. +- Abide by this policy and be mindful about sharing vulnerability info responsibly. +- Make every effort to avoid privacy violations, disruption to our gnarly systems, and destruction of data. +- Keep vulnerability info confidential if reported via email, until we've caught and surfed that bug. +- Avoid posting personally identifiable information, privately or publicly. If you follow these guidelines when reporting an issue to us, we commit to: -Not pursue or support any legal action related to your research on this vulnerability. -Work with you to understand, resolve, and ultimately disclose the issue in a timely fashion. +- Not pursue or support any legal action related to your research on this vulnerability. +- Work with you to understand, resolve, and ultimately disclose the issue in a timely fashion. + +## 🚫 No Bad Vibes Zone -🚫 No Bad Vibes Zone While we love our Haters (with Benefits), we keep it cool here. Hate speech or any form of discrimination won't be tolerated and will be wiped out faster than a kook on a big wave. Let's keep our community respectful and inclusive dudes! -🌴 More Info + +## 🌴 More Info + As we continue to ride the testnet waves, we're constantly improving our security processes. Stay tuned for more detailed information on our disclosure timeline, process, and examples of vulnerabilities we're particularly interested in. -🏄‍♂️ Transition to Mainnet + +## 🏄‍♂️ Transition to Mainnet + Heads up, beach bums! This open policy is specific to our testnet phase. As we paddle towards mainnet, we'll be updating our security policy to ensure we're ready for the big leagues. Stay tuned for updates! + Stay groovy, stay secure! Slide on board, dudes! 🏄‍♂️🌊🛹 From 554fc0d4a57ef500d697ce0626ef9f3a82e1c8db Mon Sep 17 00:00:00 2001 From: Nathan Windsor Date: Sat, 21 Sep 2024 14:08:03 +1200 Subject: [PATCH 34/40] Update LICENSE --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index f075a196..e28d4963 100644 --- a/LICENSE +++ b/LICENSE @@ -9,7 +9,7 @@ Parameters Licensor: Gaia Labs LTD -Licensed Work: Slide SDK V0.1 / LandslideVM +Licensed Work: Slide SDK V1.0.0 / LandslideVM The Licensed Work is (c) 2024 Gaia Labs LTD Additional Use Grant: Any uses listed and defined at From bcf37b976eca84f95efbf1892f10121fb19db296 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Fri, 19 Jul 2024 11:12:05 +0300 Subject: [PATCH 35/40] Add golint to GitHub Actions workflow for Go code linting --- .github/workflows/go.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 59f7cc68..8ef70013 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -41,5 +41,8 @@ jobs: with: version: v1.60 + - name: Run golint + run: golint ./... + - name: Test run: go test -race -vet=off -v ./... From e9ef0858e5185a65e47a46605f9eac88b60b2bb1 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Fri, 19 Jul 2024 16:32:23 +0300 Subject: [PATCH 36/40] ignore incomplete comment, fix namings for golint --- .github/workflows/go.yml | 2 +- example/wasm/main.go | 1 - grpcutils/client.go | 4 +- grpcutils/util.go | 2 +- localhost:8081/lib/godoc/godocs.js | 688 ++ localhost:8081/lib/godoc/jquery.js | 2 + localhost:8081/lib/godoc/style.css | 897 ++ .../landslidevm/database/index.html | 681 ++ .../landslidevm/example/index.html | 131 + .../landslidevm/example/kvstore/index.html | 102 + .../landslidevm/example/wasm/index.html | 102 + .../landslidevm/grpcutils/index.html | 671 ++ .../landslidevm/http/conn/index.html | 468 + .../landslidevm/http/index.html | 478 + .../landslidevm/http/reader/index.html | 288 + .../http/responsewriter/index.html | 417 + .../landslidevm/http/writer/index.html | 288 + .../consideritdone/landslidevm/index.html | 649 ++ .../landslidevm/jsonrpc/index.html | 308 + .../landslidevm/proto/http/index.html | 2412 +++++ .../proto/http/responsewriter/index.html | 1186 +++ .../landslidevm/proto/index.html | 230 + .../landslidevm/proto/io/index.html | 131 + .../landslidevm/proto/io/reader/index.html | 635 ++ .../landslidevm/proto/io/writer/index.html | 637 ++ .../landslidevm/proto/messenger/index.html | 738 ++ .../landslidevm/proto/net/conn/index.html | 1152 +++ .../landslidevm/proto/net/index.html | 120 + .../landslidevm/proto/rpcdb/index.html | 3745 ++++++++ .../landslidevm/proto/vm/index.html | 8487 +++++++++++++++++ .../landslidevm/proto/vm/runtime/index.html | 514 + .../landslidevm/utils/cache/index.html | 678 ++ .../landslidevm/utils/cb58/index.html | 211 + .../landslidevm/utils/hashing/index.html | 460 + .../landslidevm/utils/ids/index.html | 482 + .../landslidevm/utils/index.html | 422 + .../utils/linkedhashmap/index.html | 284 + .../landslidevm/utils/wrappers/index.html | 667 ++ .../consideritdone/landslidevm/vm/index.html | 1445 +++ .../landslidevm/vm/types/block/index.html | 179 + .../landslidevm/vm/types/closer/index.html | 228 + .../landslidevm/vm/types/commit/index.html | 179 + .../landslidevm/vm/types/index.html | 554 ++ .../landslidevm/vm/types/state/index.html | 1246 +++ utils/linkedhashmap/iterator.go | 2 +- utils/sorting.go | 12 +- vm/rpc.go | 2 +- 47 files changed, 33204 insertions(+), 13 deletions(-) create mode 100644 localhost:8081/lib/godoc/godocs.js create mode 100644 localhost:8081/lib/godoc/jquery.js create mode 100644 localhost:8081/lib/godoc/style.css create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html create mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 8ef70013..ca30dcb5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -42,7 +42,7 @@ jobs: version: v1.60 - name: Run golint - run: golint ./... + run: golint ./... | grep -v "should have comment or be unexported" - name: Test run: go test -race -vet=off -v ./... diff --git a/example/wasm/main.go b/example/wasm/main.go index bb511c44..e65e2720 100644 --- a/example/wasm/main.go +++ b/example/wasm/main.go @@ -74,7 +74,6 @@ func WasmCreator() vm.AppCreator { appCfg AppConfig ) vmCfg.VMConfig.SetDefaults() - if len(config.ConfigBytes) > 0 { if err := json.Unmarshal(config.ConfigBytes, &vmCfg); err != nil { return nil, fmt.Errorf("failed to unmarshal config %s: %w", string(config.ConfigBytes), err) diff --git a/grpcutils/client.go b/grpcutils/client.go index 3a66d34d..17266120 100644 --- a/grpcutils/client.go +++ b/grpcutils/client.go @@ -51,7 +51,7 @@ var DefaultDialOptions = []grpc.DialOption{ grpc.WithTransportCredentials(insecure.NewCredentials()), } -// gRPC clients created from this ClientConn will wait forever for the Server to +// Dial gRPC clients created from this ClientConn will wait forever for the Server to // become Ready. If you desire a dial timeout ensure context is properly plumbed // to the client and use context.WithTimeout. // @@ -67,7 +67,7 @@ type DialOptions struct { opts []grpc.DialOption } -// append(DefaultDialOptions, ...) will always allocate a new slice and will +// newDialOpts append(DefaultDialOptions, ...) will always allocate a new slice and will // not overwrite any potential data that may have previously been appended to // DefaultServerOptions https://go.dev/ref/spec#Composite_literals func newDialOpts(opts ...DialOption) []grpc.DialOption { diff --git a/grpcutils/util.go b/grpcutils/util.go index b597b084..2980ff14 100644 --- a/grpcutils/util.go +++ b/grpcutils/util.go @@ -24,7 +24,7 @@ func Errorf(code int, tmpl string, args ...interface{}) error { }) } -// GetGRPCErrorFromHTTPRespone takes an HandleSimpleHTTPResponse as input and returns a gRPC error. +// GetGRPCErrorFromHTTPResponse takes an HandleSimpleHTTPResponse as input and returns a gRPC error. func GetGRPCErrorFromHTTPResponse(resp *httppb.HandleSimpleHTTPResponse) error { a, err := anypb.New(resp) if err != nil { diff --git a/localhost:8081/lib/godoc/godocs.js b/localhost:8081/lib/godoc/godocs.js new file mode 100644 index 00000000..7f02ba24 --- /dev/null +++ b/localhost:8081/lib/godoc/godocs.js @@ -0,0 +1,688 @@ +// Copyright 2012 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* A little code to ease navigation of these documents. + * + * On window load we: + * + Generate a table of contents (generateTOC) + * + Bind foldable sections (bindToggles) + * + Bind links to foldable sections (bindToggleLinks) + */ + +(function() { + 'use strict'; + + // Mobile-friendly topbar menu + $(function() { + var menu = $('#menu'); + var menuButton = $('#menu-button'); + var menuButtonArrow = $('#menu-button-arrow'); + menuButton.click(function(event) { + menu.toggleClass('menu-visible'); + menuButtonArrow.toggleClass('vertical-flip'); + event.preventDefault(); + return false; + }); + }); + + /* Generates a table of contents: looks for h2 and h3 elements and generates + * links. "Decorates" the element with id=="nav" with this table of contents. + */ + function generateTOC() { + if ($('#manual-nav').length > 0) { + return; + } + + // For search, we send the toc precomputed from server-side. + // TODO: Ideally, this should always be precomputed for all pages, but then + // we need to do HTML parsing on the server-side. + if (location.pathname === '/search') { + return; + } + + var nav = $('#nav'); + if (nav.length === 0) { + return; + } + + var toc_items = []; + $(nav) + .nextAll('h2, h3') + .each(function() { + var node = this; + if (node.id == '') node.id = 'tmp_' + toc_items.length; + var link = $('') + .attr('href', '#' + node.id) + .text($(node).text()); + var item; + if ($(node).is('h2')) { + item = $('
'); + } else { + // h3 + item = $('
'); + } + item.append(link); + toc_items.push(item); + }); + if (toc_items.length <= 1) { + return; + } + var dl1 = $('
'); + var dl2 = $('
'); + + var split_index = toc_items.length / 2 + 1; + if (split_index < 8) { + split_index = toc_items.length; + } + for (var i = 0; i < split_index; i++) { + dl1.append(toc_items[i]); + } + for (; /* keep using i */ i < toc_items.length; i++) { + dl2.append(toc_items[i]); + } + + var tocTable = $('').appendTo(nav); + var tocBody = $('').appendTo(tocTable); + var tocRow = $('').appendTo(tocBody); + + // 1st column + $(']","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"
') + .appendTo(tocRow) + .append(dl1); + // 2nd column + $('') + .appendTo(tocRow) + .append(dl2); + } + + function bindToggle(el) { + $('.toggleButton', el).click(function() { + if ($(this).closest('.toggle, .toggleVisible')[0] != el) { + // Only trigger the closest toggle header. + return; + } + + if ($(el).is('.toggle')) { + $(el) + .addClass('toggleVisible') + .removeClass('toggle'); + } else { + $(el) + .addClass('toggle') + .removeClass('toggleVisible'); + } + }); + } + + function bindToggles(selector) { + $(selector).each(function(i, el) { + bindToggle(el); + }); + } + + function bindToggleLink(el, prefix) { + $(el).click(function() { + var href = $(el).attr('href'); + var i = href.indexOf('#' + prefix); + if (i < 0) { + return; + } + var id = '#' + prefix + href.slice(i + 1 + prefix.length); + if ($(id).is('.toggle')) { + $(id) + .find('.toggleButton') + .first() + .click(); + } + }); + } + function bindToggleLinks(selector, prefix) { + $(selector).each(function(i, el) { + bindToggleLink(el, prefix); + }); + } + + function setupDropdownPlayground() { + if (!$('#page').is('.wide')) { + return; // don't show on front page + } + var button = $('#playgroundButton'); + var div = $('#playground'); + var setup = false; + button.toggle( + function() { + button.addClass('active'); + div.show(); + if (setup) { + return; + } + setup = true; + playground({ + codeEl: $('.code', div), + outputEl: $('.output', div), + runEl: $('.run', div), + fmtEl: $('.fmt', div), + shareEl: $('.share', div), + shareRedirect: '//play.golang.org/p/', + }); + }, + function() { + button.removeClass('active'); + div.hide(); + } + ); + $('#menu').css('min-width', '+=60'); + + // Hide inline playground if we click somewhere on the page. + // This is needed in mobile devices, where the "Play" button + // is not clickable once the playground opens up. + $('#page').click(function() { + if (button.hasClass('active')) { + button.click(); + } + }); + } + + function setupInlinePlayground() { + 'use strict'; + // Set up playground when each element is toggled. + $('div.play').each(function(i, el) { + // Set up playground for this example. + var setup = function() { + var code = $('.code', el); + playground({ + codeEl: code, + outputEl: $('.output', el), + runEl: $('.run', el), + fmtEl: $('.fmt', el), + shareEl: $('.share', el), + shareRedirect: '//play.golang.org/p/', + }); + + // Make the code textarea resize to fit content. + var resize = function() { + code.height(0); + var h = code[0].scrollHeight; + code.height(h + 20); // minimize bouncing. + code.closest('.input').height(h); + }; + code.on('keydown', resize); + code.on('keyup', resize); + code.keyup(); // resize now. + }; + + // If example already visible, set up playground now. + if ($(el).is(':visible')) { + setup(); + return; + } + + // Otherwise, set up playground when example is expanded. + var built = false; + $(el) + .closest('.toggle') + .click(function() { + // Only set up once. + if (!built) { + setup(); + built = true; + } + }); + }); + } + + // fixFocus tries to put focus to div#page so that keyboard navigation works. + function fixFocus() { + var page = $('div#page'); + var topbar = $('div#topbar'); + page.css('outline', 0); // disable outline when focused + page.attr('tabindex', -1); // and set tabindex so that it is focusable + $(window) + .resize(function(evt) { + // only focus page when the topbar is at fixed position (that is, it's in + // front of page, and keyboard event will go to the former by default.) + // by focusing page, keyboard event will go to page so that up/down arrow, + // space, etc. will work as expected. + if (topbar.css('position') == 'fixed') page.focus(); + }) + .resize(); + } + + function toggleHash() { + var id = window.location.hash.substring(1); + // Open all of the toggles for a particular hash. + var els = $( + document.getElementById(id), + $('a[name]').filter(function() { + return $(this).attr('name') == id; + }) + ); + + while (els.length) { + for (var i = 0; i < els.length; i++) { + var el = $(els[i]); + if (el.is('.toggle')) { + el.find('.toggleButton') + .first() + .click(); + } + } + els = el.parent(); + } + } + + function personalizeInstallInstructions() { + var prefix = '?download='; + var s = window.location.search; + if (s.indexOf(prefix) != 0) { + // No 'download' query string; detect "test" instructions from User Agent. + if (navigator.platform.indexOf('Win') != -1) { + $('.testUnix').hide(); + $('.testWindows').show(); + } else { + $('.testUnix').show(); + $('.testWindows').hide(); + } + return; + } + + var filename = s.substr(prefix.length); + var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/; + var m = filenameRE.exec(filename); + if (!m) { + // Can't interpret file name; bail. + return; + } + $('.downloadFilename').text(filename); + $('.hideFromDownload').hide(); + + var os = m[3]; + var ext = m[6]; + if (ext != 'tar.gz') { + $('#tarballInstructions').hide(); + } + if (os != 'darwin' || ext != 'pkg') { + $('#darwinPackageInstructions').hide(); + } + if (os != 'windows') { + $('#windowsInstructions').hide(); + $('.testUnix').show(); + $('.testWindows').hide(); + } else { + if (ext != 'msi') { + $('#windowsInstallerInstructions').hide(); + } + if (ext != 'zip') { + $('#windowsZipInstructions').hide(); + } + $('.testUnix').hide(); + $('.testWindows').show(); + } + + var download = 'https://dl.google.com/go/' + filename; + + var message = $( + '

' + + 'Your download should begin shortly. ' + + 'If it does not, click this link.

' + ); + message.find('a').attr('href', download); + message.insertAfter('#nav'); + + window.location = download; + } + + function updateVersionTags() { + var v = window.goVersion; + if (/^go[0-9.]+$/.test(v)) { + $('.versionTag') + .empty() + .text(v); + $('.whereTag').hide(); + } + } + + function addPermalinks() { + function addPermalink(source, parent) { + var id = source.attr('id'); + if (id == '' || id.indexOf('tmp_') === 0) { + // Auto-generated permalink. + return; + } + if (parent.find('> .permalink').length) { + // Already attached. + return; + } + parent + .append(' ') + .append($("").attr('href', '#' + id)); + } + + $('#page .container') + .find('h2[id], h3[id]') + .each(function() { + var el = $(this); + addPermalink(el, el); + }); + + $('#page .container') + .find('dl[id]') + .each(function() { + var el = $(this); + // Add the anchor to the "dt" element. + addPermalink(el, el.find('> dt').first()); + }); + } + + $('.js-expandAll').click(function() { + if ($(this).hasClass('collapsed')) { + toggleExamples('toggle'); + $(this).text('(Collapse All)'); + } else { + toggleExamples('toggleVisible'); + $(this).text('(Expand All)'); + } + $(this).toggleClass('collapsed'); + }); + + function toggleExamples(className) { + // We need to explicitly iterate through divs starting with "example_" + // to avoid toggling Overview and Index collapsibles. + $("[id^='example_']").each(function() { + // Check for state and click it only if required. + if ($(this).hasClass(className)) { + $(this) + .find('.toggleButton') + .first() + .click(); + } + }); + } + + $(document).ready(function() { + generateTOC(); + addPermalinks(); + bindToggles('.toggle'); + bindToggles('.toggleVisible'); + bindToggleLinks('.exampleLink', 'example_'); + bindToggleLinks('.overviewLink', ''); + bindToggleLinks('.examplesLink', ''); + bindToggleLinks('.indexLink', ''); + setupDropdownPlayground(); + setupInlinePlayground(); + fixFocus(); + setupTypeInfo(); + setupCallgraphs(); + toggleHash(); + personalizeInstallInstructions(); + updateVersionTags(); + + // godoc.html defines window.initFuncs in the tag, and root.html and + // codewalk.js push their on-page-ready functions to the list. + // We execute those functions here, to avoid loading jQuery until the page + // content is loaded. + for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i](); + }); + + // -- analysis --------------------------------------------------------- + + // escapeHTML returns HTML for s, with metacharacters quoted. + // It is safe for use in both elements and attributes + // (unlike the "set innerText, read innerHTML" trick). + function escapeHTML(s) { + return s + .replace(/&/g, '&') + .replace(/\"/g, '"') + .replace(/\'/g, ''') + .replace(//g, '>'); + } + + // makeAnchor returns HTML for an element, given an anchorJSON object. + function makeAnchor(json) { + var html = escapeHTML(json.Text); + if (json.Href != '') { + html = "" + html + ''; + } + return html; + } + + function showLowFrame(html) { + var lowframe = document.getElementById('lowframe'); + lowframe.style.height = '200px'; + lowframe.innerHTML = + "

" + + html + + '

\n' + + "
"; + } + + document.hideLowFrame = function() { + var lowframe = document.getElementById('lowframe'); + lowframe.style.height = '0px'; + }; + + // onClickCallers is the onclick action for the 'func' tokens of a + // function declaration. + document.onClickCallers = function(index) { + var data = document.ANALYSIS_DATA[index]; + if (data.Callers.length == 1 && data.Callers[0].Sites.length == 1) { + document.location = data.Callers[0].Sites[0].Href; // jump to sole caller + return; + } + + var html = + 'Callers of ' + escapeHTML(data.Callee) + ':
\n'; + for (var i = 0; i < data.Callers.length; i++) { + var caller = data.Callers[i]; + html += '' + escapeHTML(caller.Func) + ''; + var sites = caller.Sites; + if (sites != null && sites.length > 0) { + html += ' at line '; + for (var j = 0; j < sites.length; j++) { + if (j > 0) { + html += ', '; + } + html += '' + makeAnchor(sites[j]) + ''; + } + } + html += '
\n'; + } + showLowFrame(html); + }; + + // onClickCallees is the onclick action for the '(' token of a function call. + document.onClickCallees = function(index) { + var data = document.ANALYSIS_DATA[index]; + if (data.Callees.length == 1) { + document.location = data.Callees[0].Href; // jump to sole callee + return; + } + + var html = 'Callees of this ' + escapeHTML(data.Descr) + ':
\n'; + for (var i = 0; i < data.Callees.length; i++) { + html += '' + makeAnchor(data.Callees[i]) + '
\n'; + } + showLowFrame(html); + }; + + // onClickTypeInfo is the onclick action for identifiers declaring a named type. + document.onClickTypeInfo = function(index) { + var data = document.ANALYSIS_DATA[index]; + var html = + 'Type ' + + data.Name + + ': ' + + '      (size=' + + data.Size + + ', align=' + + data.Align + + ')
\n'; + html += implementsHTML(data); + html += methodsetHTML(data); + showLowFrame(html); + }; + + // implementsHTML returns HTML for the implements relation of the + // specified TypeInfoJSON value. + function implementsHTML(info) { + var html = ''; + if (info.ImplGroups != null) { + for (var i = 0; i < info.ImplGroups.length; i++) { + var group = info.ImplGroups[i]; + var x = '' + escapeHTML(group.Descr) + ' '; + for (var j = 0; j < group.Facts.length; j++) { + var fact = group.Facts[j]; + var y = '' + makeAnchor(fact.Other) + ''; + if (fact.ByKind != null) { + html += escapeHTML(fact.ByKind) + ' type ' + y + ' implements ' + x; + } else { + html += x + ' implements ' + y; + } + html += '
\n'; + } + } + } + return html; + } + + // methodsetHTML returns HTML for the methodset of the specified + // TypeInfoJSON value. + function methodsetHTML(info) { + var html = ''; + if (info.Methods != null) { + for (var i = 0; i < info.Methods.length; i++) { + html += '' + makeAnchor(info.Methods[i]) + '
\n'; + } + } + return html; + } + + // onClickComm is the onclick action for channel "make" and "<-" + // send/receive tokens. + document.onClickComm = function(index) { + var ops = document.ANALYSIS_DATA[index].Ops; + if (ops.length == 1) { + document.location = ops[0].Op.Href; // jump to sole element + return; + } + + var html = 'Operations on this channel:
\n'; + for (var i = 0; i < ops.length; i++) { + html += + makeAnchor(ops[i].Op) + + ' by ' + + escapeHTML(ops[i].Fn) + + '
\n'; + } + if (ops.length == 0) { + html += '(none)
\n'; + } + showLowFrame(html); + }; + + $(window).load(function() { + // Scroll window so that first selection is visible. + // (This means we don't need to emit id='L%d' spans for each line.) + // TODO(adonovan): ideally, scroll it so that it's under the pointer, + // but I don't know how to get the pointer y coordinate. + var elts = document.getElementsByClassName('selection'); + if (elts.length > 0) { + elts[0].scrollIntoView(); + } + }); + + // setupTypeInfo populates the "Implements" and "Method set" toggle for + // each type in the package doc. + function setupTypeInfo() { + for (var i in document.ANALYSIS_DATA) { + var data = document.ANALYSIS_DATA[i]; + + var el = document.getElementById('implements-' + i); + if (el != null) { + // el != null => data is TypeInfoJSON. + if (data.ImplGroups != null) { + el.innerHTML = implementsHTML(data); + el.parentNode.parentNode.style.display = 'block'; + } + } + + var el = document.getElementById('methodset-' + i); + if (el != null) { + // el != null => data is TypeInfoJSON. + if (data.Methods != null) { + el.innerHTML = methodsetHTML(data); + el.parentNode.parentNode.style.display = 'block'; + } + } + } + } + + function setupCallgraphs() { + if (document.CALLGRAPH == null) { + return; + } + document.getElementById('pkg-callgraph').style.display = 'block'; + + var treeviews = document.getElementsByClassName('treeview'); + for (var i = 0; i < treeviews.length; i++) { + var tree = treeviews[i]; + if (tree.id == null || tree.id.indexOf('callgraph-') != 0) { + continue; + } + var id = tree.id.substring('callgraph-'.length); + $(tree).treeview({ collapsed: true, animated: 'fast' }); + document.cgAddChildren(tree, tree, [id]); + tree.parentNode.parentNode.style.display = 'block'; + } + } + + document.cgAddChildren = function(tree, ul, indices) { + if (indices != null) { + for (var i = 0; i < indices.length; i++) { + var li = cgAddChild(tree, ul, document.CALLGRAPH[indices[i]]); + if (i == indices.length - 1) { + $(li).addClass('last'); + } + } + } + $(tree).treeview({ animated: 'fast', add: ul }); + }; + + // cgAddChild adds an
  • element for document.CALLGRAPH node cgn to + // the parent
      element ul. tree is the tree's root
        element. + function cgAddChild(tree, ul, cgn) { + var li = document.createElement('li'); + ul.appendChild(li); + li.className = 'closed'; + + var code = document.createElement('code'); + + if (cgn.Callees != null) { + $(li).addClass('expandable'); + + // Event handlers and innerHTML updates don't play nicely together, + // hence all this explicit DOM manipulation. + var hitarea = document.createElement('div'); + hitarea.className = 'hitarea expandable-hitarea'; + li.appendChild(hitarea); + + li.appendChild(code); + + var childUL = document.createElement('ul'); + li.appendChild(childUL); + childUL.setAttribute('style', 'display: none;'); + + var onClick = function() { + document.cgAddChildren(tree, childUL, cgn.Callees); + hitarea.removeEventListener('click', onClick); + }; + hitarea.addEventListener('click', onClick); + } else { + li.appendChild(code); + } + code.innerHTML += ' ' + makeAnchor(cgn.Func); + return li; + } +})(); diff --git a/localhost:8081/lib/godoc/jquery.js b/localhost:8081/lib/godoc/jquery.js new file mode 100644 index 00000000..bc3fbc81 --- /dev/null +++ b/localhost:8081/lib/godoc/jquery.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
        a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
        t
        ",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
        ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
        ",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

        ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/
  • ","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
    ","
    "]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
    ").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/localhost:8081/lib/godoc/style.css b/localhost:8081/lib/godoc/style.css new file mode 100644 index 00000000..d2c9706f --- /dev/null +++ b/localhost:8081/lib/godoc/style.css @@ -0,0 +1,897 @@ +body { + margin: 0; + font-family: Arial, sans-serif; + background-color: #fff; + line-height: 1.3; + text-align: center; + color: #222; +} +textarea { + /* Inherit text color from body avoiding illegible text in the case where the + * user has inverted the browsers custom text and background colors. */ + color: inherit; +} +pre, +code { + font-family: Menlo, monospace; + font-size: 0.875rem; +} +pre { + line-height: 1.4; + overflow-x: auto; +} +pre .comment { + color: #006600; +} +pre .highlight, +pre .highlight-comment, +pre .selection-highlight, +pre .selection-highlight-comment { + background: #ffff00; +} +pre .selection, +pre .selection-comment { + background: #ff9632; +} +pre .ln { + color: #999; + background: #efefef; +} +.ln { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + + /* Ensure 8 characters in the document - which due to floating + * point rendering issues, might have a width of less than 1 each - are 8 + * characters wide, so a tab in the 9th position indents properly. See + * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091 + * for more information. */ + display: inline-block; + width: 8ch; +} + +.search-nav { + margin-left: 1.25rem; + font-size: 0.875rem; + column-gap: 1.25rem; + column-fill: auto; + column-width: 14rem; +} + +.search-nav .indent { + margin-left: 1.25rem; +} + +a, +.exampleHeading .text, +.expandAll { + color: #375eab; + text-decoration: none; +} +a:hover, +.exampleHeading .text:hover, +.expandAll:hover { + text-decoration: underline; +} +.article a { + text-decoration: underline; +} +.article .title a { + text-decoration: none; +} + +.permalink { + display: none; +} +:hover > .permalink { + display: inline; +} + +p, +li { + max-width: 50rem; + word-wrap: break-word; +} +p, +pre, +ul, +ol { + margin: 1.25rem; +} +pre { + background: #efefef; + padding: 0.625rem; + border-radius: 0.3125rem; +} + +h1, +h2, +h3, +h4, +.rootHeading { + margin: 1.25rem 0 1.25rem; + padding: 0; + color: #375eab; + font-weight: bold; +} +h1 { + font-size: 1.75rem; + line-height: 1; +} +h1 .text-muted { + color: #777; +} +h2 { + font-size: 1.25rem; + background: #e0ebf5; + padding: 0.5rem; + line-height: 1.25; + font-weight: normal; + overflow: auto; + overflow-wrap: break-word; +} +h2 a { + font-weight: bold; +} +h3 { + font-size: 1.25rem; + line-height: 1.25; + overflow: auto; + overflow-wrap: break-word; +} +h3, +h4 { + margin: 1.25rem 0.3125rem; +} +h4 { + font-size: 1rem; +} +.rootHeading { + font-size: 1.25rem; + margin: 0; +} + +h2 > span, +h3 > span { + float: right; + margin: 0 25px 0 0; + font-weight: normal; + color: #5279c7; +} + +dl { + margin: 1.25rem; +} +dd { + margin: 0 0 0 1.25rem; +} +dl, +dd { + font-size: 0.875rem; +} +div#nav table td { + vertical-align: top; +} + +#pkg-index h3 { + font-size: 1rem; +} +.pkg-dir { + padding: 0 0.625rem; +} +.pkg-dir table { + border-collapse: collapse; + border-spacing: 0; +} +.pkg-name { + padding-right: 0.625rem; +} +.alert { + color: #aa0000; +} + +.top-heading { + float: left; + padding: 1.313rem 0; + font-size: 1.25rem; + font-weight: normal; +} +.top-heading a { + color: #222; + text-decoration: none; +} + +#pkg-examples h3 { + float: left; +} + +#pkg-examples dl { + clear: both; +} + +.expandAll { + cursor: pointer; + float: left; + margin: 1.25rem 0; +} + +div#topbar { + background: #e0ebf5; + height: 4rem; + overflow: hidden; +} + +div#page { + width: 100%; +} +div#page > .container, +div#topbar > .container { + text-align: left; + margin-left: auto; + margin-right: auto; + padding: 0 1.25rem; +} +div#topbar > .container, +div#page > .container { + max-width: 59.38rem; +} +div#page.wide > .container, +div#topbar.wide > .container { + max-width: none; +} +div#plusone { + float: right; + clear: right; + margin-top: 0.3125rem; +} + +div#footer { + text-align: center; + color: #666; + font-size: 0.875rem; + margin: 2.5rem 0; +} + +div#menu > a, +input#search, +div#learn .buttons a, +div.play .buttons a, +div#blog .read a, +#menu-button { + padding: 0.625rem; + + text-decoration: none; + font-size: 1rem; + border-radius: 0.3125rem; +} +div#playground .buttons a, +div#menu > a, +input#search, +#menu-button { + border: 0.0625rem solid #375eab; +} +div#playground .buttons a, +div#menu > a, +#menu-button { + color: white; + background: #375eab; +} +#playgroundButton.active { + background: white; + color: #375eab; +} +a#start, +div#learn .buttons a, +div.play .buttons a, +div#blog .read a { + color: #222; + border: 0.0625rem solid #375eab; + background: #e0ebf5; +} +.download { + width: 9.375rem; +} + +div#menu { + text-align: right; + padding: 0.625rem; + white-space: nowrap; + max-height: 0; + -moz-transition: max-height 0.25s linear; + transition: max-height 0.25s linear; + width: 100%; +} +div#menu.menu-visible { + max-height: 31.25rem; +} +div#menu > a, +#menu-button { + margin: 0.625rem 0.125rem; + padding: 0.625rem; +} +::-webkit-input-placeholder { + color: #7f7f7f; + opacity: 1; +} +::placeholder { + color: #7f7f7f; + opacity: 1; +} +#menu .search-box { + display: inline-flex; + width: 8.75rem; +} +input#search { + background: white; + color: #222; + box-sizing: border-box; + -webkit-appearance: none; + border-top-right-radius: 0; + border-bottom-right-radius: 0; + border-right: 0; + margin-right: 0; + flex-grow: 1; + max-width: 100%; + min-width: 5.625rem; +} +input#search:-webkit-search-decoration { + -webkit-appearance: none; +} +input#search:-moz-ui-invalid { + box-shadow: unset; +} +input#search + button { + display: inline; + font-size: 1em; + background-color: #375eab; + color: white; + border: 0.0625rem solid #375eab; + border-top-left-radius: 0; + border-top-right-radius: 0.3125rem; + border-bottom-left-radius: 0; + border-bottom-right-radius: 0.3125rem; + margin-left: 0; + cursor: pointer; +} +input#search + button span { + display: flex; +} +input#search + button svg { + fill: white; +} + +#menu-button { + display: none; + position: absolute; + right: 0.3125rem; + top: 0; + margin-right: 0.3125rem; +} +#menu-button-arrow { + display: inline-block; +} +.vertical-flip { + transform: rotate(-180deg); +} + +div.left { + float: left; + clear: left; + margin-right: 2.5%; +} +div.right { + float: right; + clear: right; + margin-left: 2.5%; +} +div.left, +div.right { + width: 45%; +} + +div#learn, +div#about { + padding-top: 1.25rem; +} +div#learn h2, +div#about { + margin: 0; +} +div#about { + font-size: 1.25rem; + margin: 0 auto 1.875rem; +} +a#start { + display: block; + padding: 0.625rem; + + text-align: center; + text-decoration: none; + border-radius: 0.3125rem; +} +a#start .big { + display: block; + font-weight: bold; + font-size: 1.25rem; +} +a#start .desc { + display: block; + font-size: 0.875rem; + font-weight: normal; + margin-top: 0.3125rem; +} + +div#learn .popout { + float: right; + display: block; + cursor: pointer; + font-size: 0.75rem; + background: url(http://localhost:8081/doc/share.png) no-repeat; + background-position: right center; + padding: 0.375rem 1.688rem; +} +div#learn pre, +div#learn textarea { + padding: 0; + margin: 0; + font-family: Menlo, monospace; + font-size: 0.875rem; +} +div#learn .input { + padding: 0.625rem; + margin-top: 0.625rem; + height: 9.375rem; + + border-top-left-radius: 0.3125rem; + border-top-right-radius: 0.3125rem; +} +div#learn .input textarea { + width: 100%; + height: 100%; + border: none; + outline: none; + resize: none; +} +div#learn .output { + border-top: none !important; + + padding: 0.625rem; + height: 3.688rem; + overflow: auto; + + border-bottom-right-radius: 0.3125rem; + border-bottom-left-radius: 0.3125rem; +} +div#learn .output pre { + padding: 0; + border-radius: 0; +} +div#learn .input, +div#learn .input textarea, +div#learn .output, +div#learn .output pre { + background: #ffffd8; +} +div#learn .input, +div#learn .output { + border: 0.0625rem solid #375eab; +} +div#learn .buttons { + float: right; + padding: 1.25rem 0 0.625rem 0; + text-align: right; +} +div#learn .buttons a { + height: 1rem; + margin-left: 0.3125rem; + padding: 0.625rem; +} +div#learn .toys { + margin-top: 0.5rem; +} +div#learn .toys select { + font-size: 0.875rem; + border: 0.0625rem solid #375eab; + margin: 0; +} +div#learn .output .exit { + display: none; +} + +div#video { + max-width: 100%; +} +div#blog, +div#video { + margin-top: 2.5rem; +} +div#blog > a, +div#blog > div, +div#blog > h2, +div#video > a, +div#video > div, +div#video > h2 { + margin-bottom: 0.625rem; +} +div#blog .title, +div#video .title { + display: block; + font-size: 1.25rem; +} +div#blog .when { + color: #666; + font-size: 0.875rem; +} +div#blog .read { + text-align: right; +} + +@supports (--c: 0) { + [style*='--aspect-ratio-padding:'] { + position: relative; + overflow: hidden; + padding-top: var(--aspect-ratio-padding); + } + + [style*='--aspect-ratio-padding:'] > * { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + } +} + +.toggleButton { + cursor: pointer; +} +.toggle > .collapsed { + display: block; +} +.toggle > .expanded { + display: none; +} +.toggleVisible > .collapsed { + display: none; +} +.toggleVisible > .expanded { + display: block; +} + +table.codetable { + margin-left: auto; + margin-right: auto; + border-style: none; +} +table.codetable td { + padding-right: 0.625rem; +} +hr { + border-style: none; + border-top: 0.0625rem solid black; +} + +img.gopher { + float: right; + margin-left: 0.625rem; + margin-top: -2.5rem; + margin-bottom: 0.625rem; + z-index: -1; +} +h2 { + clear: right; +} + +/* example and drop-down playground */ +div.play { + padding: 0 1.25rem 2.5rem 1.25rem; +} +div.play pre, +div.play textarea, +div.play .lines { + padding: 0; + margin: 0; + font-family: Menlo, monospace; + font-size: 0.875rem; +} +div.play .input { + padding: 0.625rem; + margin-top: 0.625rem; + + border-top-left-radius: 0.3125rem; + border-top-right-radius: 0.3125rem; + + overflow: hidden; +} +div.play .input textarea { + width: 100%; + height: 100%; + border: none; + outline: none; + resize: none; + + overflow: hidden; +} +div#playground .input textarea { + overflow: auto; + resize: auto; +} +div.play .output { + border-top: none !important; + + padding: 0.625rem; + max-height: 12.5rem; + overflow: auto; + + border-bottom-right-radius: 0.3125rem; + border-bottom-left-radius: 0.3125rem; +} +div.play .output pre { + padding: 0; + border-radius: 0; +} +div.play .input, +div.play .input textarea, +div.play .output, +div.play .output pre { + background: #ffffd8; +} +div.play .input, +div.play .output { + border: 0.0625rem solid #375eab; +} +div.play .buttons { + float: right; + padding: 1.25rem 0 0.625rem 0; + text-align: right; +} +div.play .buttons a { + height: 1rem; + margin-left: 0.3125rem; + padding: 0.625rem; + cursor: pointer; +} +.output .stderr { + color: #933; +} +.output .system { + color: #999; +} + +/* drop-down playground */ +div#playground { + /* start hidden; revealed by javascript */ + display: none; +} +div#playground { + position: absolute; + top: 3.938rem; + right: 1.25rem; + padding: 0 0.625rem 0.625rem 0.625rem; + z-index: 1; + text-align: left; + background: #e0ebf5; + + border: 0.0625rem solid #b0bbc5; + border-top: none; + + border-bottom-left-radius: 0.3125rem; + border-bottom-right-radius: 0.3125rem; +} +div#playground .code { + width: 32.5rem; + height: 12.5rem; +} +div#playground .output { + height: 6.25rem; +} + +/* Inline runnable snippets (play.js/initPlayground) */ +#content .code pre, +#content .playground pre, +#content .output pre { + margin: 0; + padding: 0; + background: none; + border: none; + outline: 0 solid transparent; + overflow: auto; +} +#content .playground .number, +#content .code .number { + color: #999; +} +#content .code, +#content .playground, +#content .output { + width: auto; + margin: 1.25rem; + padding: 0.625rem; + border-radius: 0.3125rem; +} +#content .code, +#content .playground { + background: #e9e9e9; +} +#content .output { + background: #202020; +} +#content .output .stdout, +#content .output pre { + color: #e6e6e6; +} +#content .output .stderr, +#content .output .error { + color: rgb(244, 74, 63); +} +#content .output .system, +#content .output .exit { + color: rgb(255, 209, 77); +} +#content .buttons { + position: relative; + float: right; + top: -3.125rem; + right: 1.875rem; +} +#content .output .buttons { + top: -3.75rem; + right: 0; + height: 0; +} +#content .buttons .kill { + display: none; + visibility: hidden; +} +a.error { + font-weight: bold; + color: white; + background-color: darkred; + border-bottom-left-radius: 0.25rem; + border-bottom-right-radius: 0.25rem; + border-top-left-radius: 0.25rem; + border-top-right-radius: 0.25rem; + padding: 0.125rem 0.25rem 0.125rem 0.25rem; /* TRBL */ +} + +#heading-narrow { + display: none; +} + +.downloading { + background: #f9f9be; + padding: 0.625rem; + text-align: center; + border-radius: 0.3125rem; +} + +@media (max-width: 58.125em) { + #heading-wide { + display: none; + } + #heading-narrow { + display: block; + } +} + +@media (max-width: 47.5em) { + .container .left, + .container .right { + width: auto; + float: none; + } + + div#about { + max-width: 31.25rem; + text-align: center; + } +} + +@media (min-width: 43.75em) and (max-width: 62.5em) { + div#menu > a { + margin: 0.3125rem 0; + font-size: 0.875rem; + } + + input#search { + font-size: 0.875rem; + } +} + +@media (max-width: 43.75em) { + body { + font-size: 0.9375rem; + } + + div#playground { + left: 0; + right: 0; + } + + pre, + code { + font-size: 0.866rem; + } + + div#page > .container { + padding: 0 0.625rem; + } + + div#topbar { + height: auto; + padding: 0.625rem; + } + + div#topbar > .container { + padding: 0; + } + + #heading-wide { + display: block; + } + #heading-narrow { + display: none; + } + + .top-heading { + float: none; + display: inline-block; + padding: 0.75rem; + } + + div#menu { + padding: 0; + min-width: 0; + text-align: left; + float: left; + } + + div#menu > a { + display: block; + margin-left: 0; + margin-right: 0; + } + + #menu .search-box { + display: flex; + width: 100%; + } + + #menu-button { + display: inline-block; + } + + p, + pre, + ul, + ol { + margin: 0.625rem; + } + + .pkg-synopsis { + display: none; + } + + img.gopher { + display: none; + } +} + +@media (max-width: 30em) { + #heading-wide { + display: none; + } + #heading-narrow { + display: block; + } +} + +@media print { + pre { + background: #fff; + border: 0.0625rem solid #bbb; + white-space: pre-wrap; + } +} diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html new file mode 100644 index 00000000..8977ee0c --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html @@ -0,0 +1,681 @@ + + + + + + + + database - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + + + +
    + + + +
    +
    + + +

    + Package database + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/database"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + +
    Variables
    + + + + +
    type Batch
    + + + +
        func (b *Batch) Close() error
    + + +
        func (b *Batch) Delete(key []byte) error
    + + +
        func (b *Batch) Set(key, value []byte) error
    + + +
        func (b *Batch) Write() error
    + + +
        func (b *Batch) WriteSync() error
    + + + +
    type BatchOp
    + + + + +
    type Database
    + + +
        func New(db rpcdb.DatabaseClient) *Database
    + + + +
        func (db *Database) Close() error
    + + +
        func (db *Database) Delete(key []byte) error
    + + +
        func (db *Database) DeleteSync(key []byte) error
    + + +
        func (db *Database) Get(key []byte) ([]byte, error)
    + + +
        func (db *Database) Has(key []byte) (bool, error)
    + + +
        func (db *Database) Iterator(start, end []byte) (dbm.Iterator, error)
    + + +
        func (db *Database) NewBatch() dbm.Batch
    + + +
        func (db *Database) Print() error
    + + +
        func (db *Database) ReverseIterator(start, end []byte) (dbm.Iterator, error)
    + + +
        func (db *Database) Set(key []byte, value []byte) error
    + + +
        func (db *Database) SetSync(key []byte, value []byte) error
    + + +
        func (db *Database) Stats() map[string]string
    + + + +
    type Iterator
    + + + +
        func (it *Iterator) Close() error
    + + +
        func (it *Iterator) Domain() (start []byte, end []byte)
    + + +
        func (it *Iterator) Error() error
    + + +
        func (it *Iterator) Key() (key []byte)
    + + +
        func (it *Iterator) Next()
    + + +
        func (it *Iterator) Valid() bool
    + + +
        func (it *Iterator) Value() (value []byte)
    + + + +
    +
    + + + + +

    Package files

    +

    + + + batch.go + + database.go + + error.go + + iterator.go + + +

    + +
    +
    + + + + + +

    Variables

    + + +
    var (
    +    ErrClosed      = errors.New("closed")
    +    ErrNotFound    = errors.New("not found")
    +    ErrEnumToError = map[rpcdb.Error]error{
    +        rpcdb.Error_ERROR_CLOSED:    ErrClosed,
    +        rpcdb.Error_ERROR_NOT_FOUND: nil,
    +    }
    +)
    + + + + + + +

    type Batch + + + +

    + +
    type Batch struct {
    +    Ops []BatchOp
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Batch) Close + + + +

    +
    func (b *Batch) Close() error
    + + + + + + +

    func (*Batch) Delete + + + +

    +
    func (b *Batch) Delete(key []byte) error
    + + + + + + +

    func (*Batch) Set + + + +

    +
    func (b *Batch) Set(key, value []byte) error
    + + + + + + +

    func (*Batch) Write + + + +

    +
    func (b *Batch) Write() error
    + + + + + + +

    func (*Batch) WriteSync + + + +

    +
    func (b *Batch) WriteSync() error
    + + + + + + + + +

    type BatchOp + + + +

    + +
    type BatchOp struct {
    +    Key    []byte
    +    Value  []byte
    +    Delete bool
    +}
    +
    + + + + + + + + + + + + + + + +

    type Database + + + +

    + +
    type Database struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func New + + + +

    +
    func New(db rpcdb.DatabaseClient) *Database
    + + + + + + + +

    func (*Database) Close + + + +

    +
    func (db *Database) Close() error
    + + + + + + +

    func (*Database) Delete + + + +

    +
    func (db *Database) Delete(key []byte) error
    + + + + + + +

    func (*Database) DeleteSync + + + +

    +
    func (db *Database) DeleteSync(key []byte) error
    + + + + + + +

    func (*Database) Get + + + +

    +
    func (db *Database) Get(key []byte) ([]byte, error)
    + + + + + + +

    func (*Database) Has + + + +

    +
    func (db *Database) Has(key []byte) (bool, error)
    + + + + + + +

    func (*Database) Iterator + + + +

    +
    func (db *Database) Iterator(start, end []byte) (dbm.Iterator, error)
    + + + + + + +

    func (*Database) NewBatch + + + +

    +
    func (db *Database) NewBatch() dbm.Batch
    + + + + + + +

    func (*Database) Print + + + +

    +
    func (db *Database) Print() error
    + + + + + + +

    func (*Database) ReverseIterator + + + +

    +
    func (db *Database) ReverseIterator(start, end []byte) (dbm.Iterator, error)
    + + + + + + +

    func (*Database) Set + + + +

    +
    func (db *Database) Set(key []byte, value []byte) error
    + + + + + + +

    func (*Database) SetSync + + + +

    +
    func (db *Database) SetSync(key []byte, value []byte) error
    + + + + + + +

    func (*Database) Stats + + + +

    +
    func (db *Database) Stats() map[string]string
    + + + + + + + + +

    type Iterator + + + +

    + +
    type Iterator struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Iterator) Close + + + +

    +
    func (it *Iterator) Close() error
    + + + + + + +

    func (*Iterator) Domain + + + +

    +
    func (it *Iterator) Domain() (start []byte, end []byte)
    + + + + + + +

    func (*Iterator) Error + + + +

    +
    func (it *Iterator) Error() error
    + + + + + + +

    func (*Iterator) Key + + + +

    +
    func (it *Iterator) Key() (key []byte)
    + + + + + + +

    func (*Iterator) Next + + + +

    +
    func (it *Iterator) Next()
    + + + + + + +

    func (*Iterator) Valid + + + +

    +
    func (it *Iterator) Valid() bool
    + + + + + + +

    func (*Iterator) Value + + + +

    +
    func (it *Iterator) Value() (value []byte)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html new file mode 100644 index 00000000..f610765a --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html @@ -0,0 +1,131 @@ + + + + + + + + /src/github.com/consideritdone/landslidevm/example - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + + + +
    + + + +
    +
    + + +

    + Directory /src/github.com/consideritdone/landslidevm/example + +

    + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + kvstore + + +
    + wasm + + +
    + + + + + + + + + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html new file mode 100644 index 00000000..7d9d4352 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html @@ -0,0 +1,102 @@ + + + + + + + + kvstore - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Command kvstore + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html new file mode 100644 index 00000000..f015960f --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html @@ -0,0 +1,102 @@ + + + + + + + + wasm - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Command wasm + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html new file mode 100644 index 00000000..67dfca38 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html @@ -0,0 +1,671 @@ + + + + + + + + grpcutils - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package grpcutils + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/grpcutils"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + +
    Variables
    + + + +
    func Dial(addr string, opts ...DialOption) (*grpc.ClientConn, error)
    + + +
    func EnsureValidResponseCode(code int) int
    + + +
    func Errorf(code int, tmpl string, args ...interface{}) error
    + + +
    func GetGRPCErrorFromHTTPResponse(resp *httppb.HandleSimpleHTTPResponse) error
    + + +
    func GetHTTPHeader(hs http.Header) []*httppb.Element
    + + +
    func GetHTTPResponseFromError(err error) (*httppb.HandleSimpleHTTPResponse, bool)
    + + +
    func MergeHTTPHeader(hs []*httppb.Element, header http.Header)
    + + +
    func NewListener() (net.Listener, error)
    + + +
    func NewServer(opts ...ServerOption) *grpc.Server
    + + +
    func Serve(listener net.Listener, grpcServer *grpc.Server)
    + + +
    func TimestampAsTime(ts *tspb.Timestamp) (time.Time, error)
    + + +
    func TimestampFromTime(time time.Time) *tspb.Timestamp
    + + + +
    type DialOption
    + + +
        func WithChainStreamInterceptor(interceptors ...grpc.StreamClientInterceptor) DialOption
    + + +
        func WithChainUnaryInterceptor(interceptors ...grpc.UnaryClientInterceptor) DialOption
    + + + + +
    type DialOptions
    + + + + +
    type ServerCloser
    + + + +
        func (s *ServerCloser) Add(server *grpc.Server)
    + + +
        func (s *ServerCloser) GracefulStop()
    + + +
        func (s *ServerCloser) Stop()
    + + + +
    type ServerOption
    + + +
        func WithStreamInterceptor(streamInterceptor grpc.StreamServerInterceptor) ServerOption
    + + +
        func WithUnaryInterceptor(unaryInterceptor grpc.UnaryServerInterceptor) ServerOption
    + + + + +
    type ServerOptions
    + + + + +
    +
    + + + + +

    Package files

    +

    + + + client.go + + server.go + + server_closer.go + + util.go + + +

    + +
    +
    + + + + + +

    Variables

    + + +
    var DefaultDialOptions = []grpc.DialOption{
    +    grpc.WithDefaultCallOptions(
    +        grpc.MaxCallRecvMsgSize(math.MaxInt),
    +        grpc.MaxCallSendMsgSize(math.MaxInt),
    +        grpc.WaitForReady(defaultWaitForReady),
    +    ),
    +    grpc.WithKeepaliveParams(keepalive.ClientParameters{
    +        Time:                defaultClientKeepAliveTime,
    +        Timeout:             defaultClientKeepAliveTimeOut,
    +        PermitWithoutStream: defaultPermitWithoutStream,
    +    }),
    +    grpc.WithTransportCredentials(insecure.NewCredentials()),
    +}
    + + +
    var DefaultServerOptions = []grpc.ServerOption{
    +    grpc.MaxRecvMsgSize(math.MaxInt),
    +    grpc.MaxSendMsgSize(math.MaxInt),
    +    grpc.MaxConcurrentStreams(math.MaxUint32),
    +    grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
    +        MinTime:             defaultServerKeepAliveMinTime,
    +        PermitWithoutStream: defaultPermitWithoutStream,
    +    }),
    +    grpc.KeepaliveParams(keepalive.ServerParameters{
    +        Time:    defaultServerKeepAliveInterval,
    +        Timeout: defaultServerKeepAliveTimeout,
    +    }),
    +}
    + + + + + +

    func Dial + + + +

    +
    func Dial(addr string, opts ...DialOption) (*grpc.ClientConn, error)
    +

    gRPC clients created from this ClientConn will wait forever for the Server to +become Ready. If you desire a dial timeout ensure context is properly plumbed +to the client and use context.WithTimeout. +

    Dial returns a gRPC ClientConn with the dial options as defined by +DefaultDialOptions. DialOption can also optionally be passed. + + + + + + + +

    func EnsureValidResponseCode + + + +

    +
    func EnsureValidResponseCode(code int) int
    +

    EnsureValidResponseCode ensures that the response code is valid otherwise it returns 500. + + + + + + + +

    func Errorf + + + +

    +
    func Errorf(code int, tmpl string, args ...interface{}) error
    + + + + + + + +

    func GetGRPCErrorFromHTTPResponse + + + +

    +
    func GetGRPCErrorFromHTTPResponse(resp *httppb.HandleSimpleHTTPResponse) error
    +

    GetGRPCErrorFromHTTPRespone takes an HandleSimpleHTTPResponse as input and returns a gRPC error. + + + + + + + +

    func GetHTTPHeader + + + +

    +
    func GetHTTPHeader(hs http.Header) []*httppb.Element
    +

    GetHTTPHeader takes an http.Header as input and returns a slice of Header. + + + + + + + +

    func GetHTTPResponseFromError + + + +

    +
    func GetHTTPResponseFromError(err error) (*httppb.HandleSimpleHTTPResponse, bool)
    +

    GetHTTPResponseFromError takes an gRPC error as input and returns a gRPC +HandleSimpleHTTPResponse. + + + + + + + +

    func MergeHTTPHeader + + + +

    +
    func MergeHTTPHeader(hs []*httppb.Element, header http.Header)
    +

    MergeHTTPHeader takes a slice of Header and merges with http.Header map. + + + + + + + +

    func NewListener + + + +

    +
    func NewListener() (net.Listener, error)
    +

    NewListener returns a TCP listener listening against the next available port +on the system bound to localhost. + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(opts ...ServerOption) *grpc.Server
    +

    NewServer will return a gRPC server with server options as defined by +DefaultServerOptions. ServerOption can also optionally be passed. + + + + + + + +

    func Serve + + + +

    +
    func Serve(listener net.Listener, grpcServer *grpc.Server)
    +

    Serve will start a gRPC server and block until it errors or is shutdown. + + + + + + + +

    func TimestampAsTime + + + +

    +
    func TimestampAsTime(ts *tspb.Timestamp) (time.Time, error)
    +

    TimestampAsTime validates timestamppb timestamp and returns time.Time. + + + + + + + +

    func TimestampFromTime + + + +

    +
    func TimestampFromTime(time time.Time) *tspb.Timestamp
    +

    TimestampFromTime converts time.Time to a timestamppb timestamp. + + + + + + + + +

    type DialOption + + + +

    + +
    type DialOption func(*DialOptions)
    + + + + + + + + + + + +

    func WithChainStreamInterceptor + + + +

    +
    func WithChainStreamInterceptor(interceptors ...grpc.StreamClientInterceptor) DialOption
    +

    WithChainStreamInterceptor takes a list of stream client interceptors which +are added to the dial options. + + + + + +

    func WithChainUnaryInterceptor + + + +

    +
    func WithChainUnaryInterceptor(interceptors ...grpc.UnaryClientInterceptor) DialOption
    +

    WithChainUnaryInterceptor takes a list of unary client interceptors which +are added to the dial options. + + + + + + + + + +

    type DialOptions + + + +

    +

    DialOptions are options which can be applied to a gRPC client in addition to +the defaults set by DefaultDialOptions. + +

    type DialOptions struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + + + +

    type ServerCloser + + + +

    + +
    type ServerCloser struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ServerCloser) Add + + + +

    +
    func (s *ServerCloser) Add(server *grpc.Server)
    + + + + + + +

    func (*ServerCloser) GracefulStop + + + +

    +
    func (s *ServerCloser) GracefulStop()
    + + + + + + +

    func (*ServerCloser) Stop + + + +

    +
    func (s *ServerCloser) Stop()
    + + + + + + + + +

    type ServerOption + + + +

    +

    ServerOption are options which can be applied to a gRPC server in addition to +the defaults set by DefaultServerOPtions. + +

    type ServerOption func(*ServerOptions)
    + + + + + + + + + + + +

    func WithStreamInterceptor + + + +

    +
    func WithStreamInterceptor(streamInterceptor grpc.StreamServerInterceptor) ServerOption
    +

    WithStreamInterceptor adds a single stream interceptor to the gRPC server +options. + + + + + +

    func WithUnaryInterceptor + + + +

    +
    func WithUnaryInterceptor(unaryInterceptor grpc.UnaryServerInterceptor) ServerOption
    +

    WithUnaryInterceptor adds a single unary interceptor to the gRPC server +options. + + + + + + + + + +

    type ServerOptions + + + +

    + +
    type ServerOptions struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html new file mode 100644 index 00000000..09d6965b --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html @@ -0,0 +1,468 @@ + + + + + + + + conn - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package conn + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/http/conn"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + + +

    type Client + + + +

    +

    Client is an implementation of a connection that talks over RPC. + +

    type Client struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewClient + + + +

    +
    func NewClient(client connpb.ConnClient, local, remote net.Addr, toClose ...io.Closer) *Client
    +

    NewClient returns a connection connected to a remote connection + + + + + + + +

    func (*Client) Close + + + +

    +
    func (c *Client) Close() error
    + + + + + + +

    func (*Client) LocalAddr + + + +

    +
    func (c *Client) LocalAddr() net.Addr
    + + + + + + +

    func (*Client) Read + + + +

    +
    func (c *Client) Read(p []byte) (int, error)
    + + + + + + +

    func (*Client) RemoteAddr + + + +

    +
    func (c *Client) RemoteAddr() net.Addr
    + + + + + + +

    func (*Client) SetDeadline + + + +

    +
    func (c *Client) SetDeadline(t time.Time) error
    + + + + + + +

    func (*Client) SetReadDeadline + + + +

    +
    func (c *Client) SetReadDeadline(t time.Time) error
    + + + + + + +

    func (*Client) SetWriteDeadline + + + +

    +
    func (c *Client) SetWriteDeadline(t time.Time) error
    + + + + + + +

    func (*Client) Write + + + +

    +
    func (c *Client) Write(b []byte) (int, error)
    + + + + + + + + +

    type Server + + + +

    +

    Server is an http.Conn that is managed over RPC. + +

    type Server struct {
    +    connpb.UnsafeConnServer
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(conn net.Conn, closer *grpcutils.ServerCloser) *Server
    +

    NewServer returns an http.Conn managed remotely + + + + + + + +

    func (*Server) Close + + + +

    +
    func (s *Server) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) Read + + + +

    +
    func (s *Server) Read(_ context.Context, req *connpb.ReadRequest) (*connpb.ReadResponse, error)
    + + + + + + +

    func (*Server) SetDeadline + + + +

    +
    func (s *Server) SetDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) SetReadDeadline + + + +

    +
    func (s *Server) SetReadDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) SetWriteDeadline + + + +

    +
    func (s *Server) SetWriteDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) Write + + + +

    +
    func (s *Server) Write(_ context.Context, req *connpb.WriteRequest) (*connpb.WriteResponse, error)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html new file mode 100644 index 00000000..1c9ab126 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html @@ -0,0 +1,478 @@ + + + + + + + + http - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package http + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/http"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + + +

    type Client + + + +

    +

    Client is an http.Handler that talks over RPC. + +

    type Client struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewClient + + + +

    +
    func NewClient(client httppb.HTTPClient) *Client
    +

    NewClient returns an HTTP handler database instance connected to a remote +HTTP handler instance + + + + + + + +

    func (*Client) ServeHTTP + + + +

    +
    func (c *Client) ServeHTTP(w http.ResponseWriter, r *http.Request)
    + + + + + + + + +

    type ResponseWriter + + + +

    + +
    type ResponseWriter struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ResponseWriter) Body + + + +

    +
    func (w *ResponseWriter) Body() *bytes.Buffer
    + + + + + + +

    func (*ResponseWriter) Header + + + +

    +
    func (w *ResponseWriter) Header() http.Header
    + + + + + + +

    func (*ResponseWriter) StatusCode + + + +

    +
    func (w *ResponseWriter) StatusCode() int
    + + + + + + +

    func (*ResponseWriter) Write + + + +

    +
    func (w *ResponseWriter) Write(buf []byte) (int, error)
    + + + + + + +

    func (*ResponseWriter) WriteHeader + + + +

    +
    func (w *ResponseWriter) WriteHeader(code int)
    + + + + + + + + +

    type Server + + + +

    +

    Server is an http.Handler that is managed over RPC. + +

    type Server struct {
    +    httppb.UnsafeHTTPServer
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(handler http.Handler) *Server
    +

    NewServer returns an http.Handler instance managed remotely + + + + + + + +

    func (*Server) Handle + + + +

    +
    func (s *Server) Handle(ctx context.Context, req *httppb.HTTPRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) HandleSimple + + + +

    +
    func (s *Server) HandleSimple(ctx context.Context, r *httppb.HandleSimpleHTTPRequest) (*httppb.HandleSimpleHTTPResponse, error)
    +

    HandleSimple handles http requests over http2 using a simple request response model. +Websockets are not supported. Based on https://www.weave.works/blog/turtles-way-http-grpc/ + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + conn + + +
    + reader + + +
    + responsewriter + + +
    + writer + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html new file mode 100644 index 00000000..fb825af2 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html @@ -0,0 +1,288 @@ + + + + + + + + reader - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package reader + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/http/reader"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + + +

    type Client + + + +

    +

    Client is a reader that talks over RPC. + +

    type Client struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewClient + + + +

    +
    func NewClient(client readerpb.ReaderClient) *Client
    +

    NewClient returns a reader connected to a remote reader + + + + + + + +

    func (*Client) Read + + + +

    +
    func (c *Client) Read(p []byte) (int, error)
    + + + + + + + + +

    type Server + + + +

    +

    Server is an io.Reader that is managed over RPC. + +

    type Server struct {
    +    readerpb.UnsafeReaderServer
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(reader io.Reader) *Server
    +

    NewServer returns an io.Reader instance managed remotely + + + + + + + +

    func (*Server) Read + + + +

    +
    func (s *Server) Read(_ context.Context, req *readerpb.ReadRequest) (*readerpb.ReadResponse, error)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html new file mode 100644 index 00000000..323d506c --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html @@ -0,0 +1,417 @@ + + + + + + + + responsewriter - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package responsewriter + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/http/responsewriter"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + +

    func NewLockedWriter + + + +

    +
    func NewLockedWriter(w http.ResponseWriter) http.ResponseWriter
    + + + + + + + + +

    type Client + + + +

    +

    Client is an http.ResponseWriter that talks over RPC. + +

    type Client struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewClient + + + +

    +
    func NewClient(header http.Header, client responsewriterpb.WriterClient) *Client
    +

    NewClient returns a response writer connected to a remote response writer + + + + + + + +

    func (*Client) Flush + + + +

    +
    func (c *Client) Flush()
    + + + + + + +

    func (*Client) Header + + + +

    +
    func (c *Client) Header() http.Header
    + + + + + + +

    func (*Client) Hijack + + + +

    +
    func (c *Client) Hijack() (net.Conn, *bufio.ReadWriter, error)
    + + + + + + +

    func (*Client) Write + + + +

    +
    func (c *Client) Write(payload []byte) (int, error)
    + + + + + + +

    func (*Client) WriteHeader + + + +

    +
    func (c *Client) WriteHeader(statusCode int)
    + + + + + + + + +

    type Server + + + +

    +

    Server is an http.ResponseWriter that is managed over RPC. + +

    type Server struct {
    +    responsewriterpb.UnsafeWriterServer
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(writer http.ResponseWriter) *Server
    +

    NewServer returns an http.ResponseWriter instance managed remotely + + + + + + + +

    func (*Server) Flush + + + +

    +
    func (s *Server) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + + + + + +

    func (*Server) Hijack + + + +

    +
    func (s *Server) Hijack(context.Context, *emptypb.Empty) (*responsewriterpb.HijackResponse, error)
    + + + + + + +

    func (*Server) Write + + + +

    +
    func (s *Server) Write(
    +    _ context.Context,
    +    req *responsewriterpb.WriteRequest,
    +) (*responsewriterpb.WriteResponse, error)
    + + + + + + +

    func (*Server) WriteHeader + + + +

    +
    func (s *Server) WriteHeader(
    +    _ context.Context,
    +    req *responsewriterpb.WriteHeaderRequest,
    +) (*emptypb.Empty, error)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html new file mode 100644 index 00000000..fd92bccc --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html @@ -0,0 +1,288 @@ + + + + + + + + writer - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package writer + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/http/writer"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + + +

    type Client + + + +

    +

    Client is an io.Writer that talks over RPC. + +

    type Client struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewClient + + + +

    +
    func NewClient(client writerpb.WriterClient) *Client
    +

    NewClient returns a writer connected to a remote writer + + + + + + + +

    func (*Client) Write + + + +

    +
    func (c *Client) Write(p []byte) (int, error)
    + + + + + + + + +

    type Server + + + +

    +

    Server is an http.Handler that is managed over RPC. + +

    type Server struct {
    +    writerpb.UnsafeWriterServer
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewServer + + + +

    +
    func NewServer(writer io.Writer) *Server
    +

    NewServer returns an http.Handler instance managed remotely + + + + + + + +

    func (*Server) Write + + + +

    +
    func (s *Server) Write(_ context.Context, req *writerpb.WriteRequest) (*writerpb.WriteResponse, error)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html new file mode 100644 index 00000000..c598fb27 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html @@ -0,0 +1,649 @@ + + + + + + + + landslidevm - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package landslidevm + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const (
    +    // EngineAddressKey address of the runtime engine server.
    +    EngineAddressKey = "AVALANCHE_VM_RUNTIME_ENGINE_ADDR"
    +)
    + + + +

    Variables

    + + +
    var (
    +    DefaultServerOptions = []grpc.ServerOption{
    +        grpc.MaxRecvMsgSize(defaultMaxRecvMsgSize),
    +        grpc.MaxSendMsgSize(math.MaxInt),
    +        grpc.MaxConcurrentStreams(defaultMaxConcurrentStreams),
    +        grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
    +            MinTime:             defaultServerKeepAliveMinTime,
    +            PermitWithoutStream: defaultPermitWithoutStream,
    +        }),
    +        grpc.KeepaliveParams(keepalive.ServerParameters{
    +            Time:    defaultServerKeepAliveInterval,
    +            Timeout: defaultServerKeepAliveTimeout,
    +        }),
    +    }
    +)
    + + + + + +

    func NewLocalAppCreator + + + +

    +
    func NewLocalAppCreator(app vm.Application) vm.AppCreator
    + + + + + + + +

    func Serve + + + +

    +
    func Serve[T interface {
    +    vm.AppCreator | *vm.LandslideVM
    +}](ctx context.Context, subject T, options ...grpc.ServerOption) error
    + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + database + + +
    + example + + +
    + kvstore + + +
    + wasm + + +
    + grpcutils + + +
    + http + + +
    + conn + + +
    + reader + + +
    + responsewriter + + +
    + writer + + +
    + jsonrpc + + +
    + proto + + +
    + http + + +
    + responsewriter + + +
    + io + + +
    + reader + + +
    + writer + + +
    + messenger + + +
    + net + + +
    + conn + + +
    + rpcdb + + +
    + vm + + +
    + runtime + + +
    + utils + + +
    + cache + + +
    + cb58 + + +
    + hashing + + Package hashing is a generated GoMock package. +
    + ids + + +
    + linkedhashmap + + +
    + wrappers + + +
    + vm + + +
    + types + + +
    + block + + +
    + closer + + +
    + commit + + +
    + state + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html new file mode 100644 index 00000000..6472d8c4 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html @@ -0,0 +1,308 @@ + + + + + + + + jsonrpc - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package jsonrpc + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/jsonrpc"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + +

    func RegisterRPCFuncs + + + +

    +
    func RegisterRPCFuncs(mux *http.ServeMux, funcMap map[string]*RPCFunc, logger log.Logger)
    +

    RegisterRPCFuncs adds a route for each function in the funcMap, as well as +general jsonrpc and websocket handlers for all functions. "result" is the +interface on which the result objects are registered, and is popualted with +every RPCResponse + + + + + + + + +

    type Option + + + +

    + +
    type Option func(*RPCFunc)
    + + + + + + + + + + + +

    func Cacheable + + + +

    +
    func Cacheable(noCacheDefArgs ...string) Option
    +

    Cacheable enables returning a cache control header from RPC functions to +which it is applied. +

    `noCacheDefArgs` is a list of argument names that, if omitted or set to +their defaults when calling the RPC function, will skip the response +caching. + + + + + +

    func Ws + + + +

    +
    func Ws() Option
    +

    Ws enables WebSocket communication. + + + + + + + + + +

    type RPCFunc + + + +

    +

    RPCFunc contains the introspected type information for a function + +

    type RPCFunc struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewRPCFunc + + + +

    +
    func NewRPCFunc(f interface{}, args string, options ...Option) *RPCFunc
    +

    NewRPCFunc wraps a function for introspection. +f is the function, args are comma separated argument names + + + + + +

    func NewWSRPCFunc + + + +

    +
    func NewWSRPCFunc(f interface{}, args string, options ...Option) *RPCFunc
    +

    NewWSRPCFunc wraps a function for introspection and use in the websockets. + + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html new file mode 100644 index 00000000..7694d015 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html @@ -0,0 +1,2412 @@ + + + + + + + + http - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package http + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/http"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterHTTPServer(s grpc.ServiceRegistrar, srv HTTPServer)
    + + + +
    type Certificates
    + + + +
        func (*Certificates) Descriptor() ([]byte, []int)
    + + +
        func (x *Certificates) GetCert() [][]byte
    + + +
        func (*Certificates) ProtoMessage()
    + + +
        func (x *Certificates) ProtoReflect() protoreflect.Message
    + + +
        func (x *Certificates) Reset()
    + + +
        func (x *Certificates) String() string
    + + + +
    type ConnectionState
    + + + +
        func (*ConnectionState) Descriptor() ([]byte, []int)
    + + +
        func (x *ConnectionState) GetCipherSuite() uint32
    + + +
        func (x *ConnectionState) GetDidResume() bool
    + + +
        func (x *ConnectionState) GetHandshakeComplete() bool
    + + +
        func (x *ConnectionState) GetNegotiatedProtocol() string
    + + +
        func (x *ConnectionState) GetOcspResponse() []byte
    + + +
        func (x *ConnectionState) GetPeerCertificates() *Certificates
    + + +
        func (x *ConnectionState) GetServerName() string
    + + +
        func (x *ConnectionState) GetSignedCertificateTimestamps() [][]byte
    + + +
        func (x *ConnectionState) GetVerifiedChains() []*Certificates
    + + +
        func (x *ConnectionState) GetVersion() uint32
    + + +
        func (*ConnectionState) ProtoMessage()
    + + +
        func (x *ConnectionState) ProtoReflect() protoreflect.Message
    + + +
        func (x *ConnectionState) Reset()
    + + +
        func (x *ConnectionState) String() string
    + + + +
    type Element
    + + + +
        func (*Element) Descriptor() ([]byte, []int)
    + + +
        func (x *Element) GetKey() string
    + + +
        func (x *Element) GetValues() []string
    + + +
        func (*Element) ProtoMessage()
    + + +
        func (x *Element) ProtoReflect() protoreflect.Message
    + + +
        func (x *Element) Reset()
    + + +
        func (x *Element) String() string
    + + + +
    type HTTPClient
    + + +
        func NewHTTPClient(cc grpc.ClientConnInterface) HTTPClient
    + + + + +
    type HTTPRequest
    + + + +
        func (*HTTPRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *HTTPRequest) GetRequest() *Request
    + + +
        func (x *HTTPRequest) GetResponseWriter() *ResponseWriter
    + + +
        func (*HTTPRequest) ProtoMessage()
    + + +
        func (x *HTTPRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *HTTPRequest) Reset()
    + + +
        func (x *HTTPRequest) String() string
    + + + +
    type HTTPServer
    + + + + +
    type HandleSimpleHTTPRequest
    + + + +
        func (*HandleSimpleHTTPRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *HandleSimpleHTTPRequest) GetBody() []byte
    + + +
        func (x *HandleSimpleHTTPRequest) GetHeaders() []*Element
    + + +
        func (x *HandleSimpleHTTPRequest) GetMethod() string
    + + +
        func (x *HandleSimpleHTTPRequest) GetUrl() string
    + + +
        func (*HandleSimpleHTTPRequest) ProtoMessage()
    + + +
        func (x *HandleSimpleHTTPRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *HandleSimpleHTTPRequest) Reset()
    + + +
        func (x *HandleSimpleHTTPRequest) String() string
    + + + +
    type HandleSimpleHTTPResponse
    + + + +
        func (*HandleSimpleHTTPResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *HandleSimpleHTTPResponse) GetBody() []byte
    + + +
        func (x *HandleSimpleHTTPResponse) GetCode() int32
    + + +
        func (x *HandleSimpleHTTPResponse) GetHeaders() []*Element
    + + +
        func (*HandleSimpleHTTPResponse) ProtoMessage()
    + + +
        func (x *HandleSimpleHTTPResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *HandleSimpleHTTPResponse) Reset()
    + + +
        func (x *HandleSimpleHTTPResponse) String() string
    + + + +
    type Request
    + + + +
        func (*Request) Descriptor() ([]byte, []int)
    + + +
        func (x *Request) GetBody() []byte
    + + +
        func (x *Request) GetContentLength() int64
    + + +
        func (x *Request) GetForm() []*Element
    + + +
        func (x *Request) GetHeader() []*Element
    + + +
        func (x *Request) GetHost() string
    + + +
        func (x *Request) GetMethod() string
    + + +
        func (x *Request) GetPostForm() []*Element
    + + +
        func (x *Request) GetProto() string
    + + +
        func (x *Request) GetProtoMajor() int32
    + + +
        func (x *Request) GetProtoMinor() int32
    + + +
        func (x *Request) GetRemoteAddr() string
    + + +
        func (x *Request) GetRequestUri() string
    + + +
        func (x *Request) GetTls() *ConnectionState
    + + +
        func (x *Request) GetTrailerKeys() []string
    + + +
        func (x *Request) GetTransferEncoding() []string
    + + +
        func (x *Request) GetUrl() *URL
    + + +
        func (*Request) ProtoMessage()
    + + +
        func (x *Request) ProtoReflect() protoreflect.Message
    + + +
        func (x *Request) Reset()
    + + +
        func (x *Request) String() string
    + + + +
    type ResponseWriter
    + + + +
        func (*ResponseWriter) Descriptor() ([]byte, []int)
    + + +
        func (x *ResponseWriter) GetHeader() []*Element
    + + +
        func (x *ResponseWriter) GetServerAddr() string
    + + +
        func (*ResponseWriter) ProtoMessage()
    + + +
        func (x *ResponseWriter) ProtoReflect() protoreflect.Message
    + + +
        func (x *ResponseWriter) Reset()
    + + +
        func (x *ResponseWriter) String() string
    + + + +
    type URL
    + + + +
        func (*URL) Descriptor() ([]byte, []int)
    + + +
        func (x *URL) GetForceQuery() bool
    + + +
        func (x *URL) GetFragment() string
    + + +
        func (x *URL) GetHost() string
    + + +
        func (x *URL) GetOpaque() string
    + + +
        func (x *URL) GetPath() string
    + + +
        func (x *URL) GetRawPath() string
    + + +
        func (x *URL) GetRawQuery() string
    + + +
        func (x *URL) GetScheme() string
    + + +
        func (x *URL) GetUser() *Userinfo
    + + +
        func (*URL) ProtoMessage()
    + + +
        func (x *URL) ProtoReflect() protoreflect.Message
    + + +
        func (x *URL) Reset()
    + + +
        func (x *URL) String() string
    + + + +
    type UnimplementedHTTPServer
    + + + +
        func (UnimplementedHTTPServer) Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedHTTPServer) HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    + + + +
    type UnsafeHTTPServer
    + + + + +
    type Userinfo
    + + + +
        func (*Userinfo) Descriptor() ([]byte, []int)
    + + +
        func (x *Userinfo) GetPassword() string
    + + +
        func (x *Userinfo) GetPasswordSet() bool
    + + +
        func (x *Userinfo) GetUsername() string
    + + +
        func (*Userinfo) ProtoMessage()
    + + +
        func (x *Userinfo) ProtoReflect() protoreflect.Message
    + + +
        func (x *Userinfo) Reset()
    + + +
        func (x *Userinfo) String() string
    + + + +
    +
    + + + + +

    Package files

    +

    + + + http.pb.go + + http_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    HTTP_Handle_FullMethodName       = "/http.HTTP/Handle"
    +    HTTP_HandleSimple_FullMethodName = "/http.HTTP/HandleSimple"
    +)
    + + + +

    Variables

    + + +
    var File_http_http_proto protoreflect.FileDescriptor
    + +

    HTTP_ServiceDesc is the grpc.ServiceDesc for HTTP service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var HTTP_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "http.HTTP",
    +    HandlerType: (*HTTPServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Handle",
    +            Handler:    _HTTP_Handle_Handler,
    +        },
    +        {
    +            MethodName: "HandleSimple",
    +            Handler:    _HTTP_HandleSimple_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "http/http.proto",
    +}
    + + + + + +

    func RegisterHTTPServer + + + +

    +
    func RegisterHTTPServer(s grpc.ServiceRegistrar, srv HTTPServer)
    + + + + + + + + +

    type Certificates + + + +

    + +
    type Certificates struct {
    +
    +    // cert is the certificate body
    +    Cert [][]byte `protobuf:"bytes,1,rep,name=cert,proto3" json:"cert,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Certificates) Descriptor + + + +

    +
    func (*Certificates) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Certificates.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Certificates) GetCert + + + +

    +
    func (x *Certificates) GetCert() [][]byte
    + + + + + + +

    func (*Certificates) ProtoMessage + + + +

    +
    func (*Certificates) ProtoMessage()
    + + + + + + +

    func (*Certificates) ProtoReflect + + + +

    +
    func (x *Certificates) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Certificates) Reset + + + +

    +
    func (x *Certificates) Reset()
    + + + + + + +

    func (*Certificates) String + + + +

    +
    func (x *Certificates) String() string
    + + + + + + + + +

    type ConnectionState + + + +

    +

    ConnectionState is tls.ConnectionState see: https://pkg.go.dev/crypto/tls#ConnectionState + +

    type ConnectionState struct {
    +
    +    // version is the TLS version used by the connection (e.g. VersionTLS12)
    +    Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    +    // handshake_complete is true if the handshake has concluded
    +    HandshakeComplete bool `protobuf:"varint,2,opt,name=handshake_complete,json=handshakeComplete,proto3" json:"handshake_complete,omitempty"`
    +    // did_resume is true if this connection was successfully resumed from a
    +    // previous session with a session ticket or similar mechanism
    +    DidResume bool `protobuf:"varint,3,opt,name=did_resume,json=didResume,proto3" json:"did_resume,omitempty"`
    +    // cipher_suite is the cipher suite negotiated for the connection
    +    CipherSuite uint32 `protobuf:"varint,4,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"`
    +    // negotiated_protocol is the application protocol negotiated with ALPN
    +    NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"`
    +    // server_name is the value of the Server Name Indication extension sent by
    +    // the client
    +    ServerName string `protobuf:"bytes,6,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
    +    // peer_certificates are the parsed certificates sent by the peer, in the
    +    // order in which they were sent
    +    PeerCertificates *Certificates `protobuf:"bytes,7,opt,name=peer_certificates,json=peerCertificates,proto3" json:"peer_certificates,omitempty"`
    +    // verified_chains is a list of one or more chains where the first element is
    +    // PeerCertificates[0] and the last element is from Config.RootCAs (on the
    +    // client side) or Config.ClientCAs (on the server side).
    +    VerifiedChains []*Certificates `protobuf:"bytes,8,rep,name=verified_chains,json=verifiedChains,proto3" json:"verified_chains,omitempty"`
    +    // signed_certificate_timestamps is a list of SCTs provided by the peer
    +    // through the TLS handshake for the leaf certificate, if any
    +    SignedCertificateTimestamps [][]byte `protobuf:"bytes,9,rep,name=signed_certificate_timestamps,json=signedCertificateTimestamps,proto3" json:"signed_certificate_timestamps,omitempty"`
    +    // ocsp_response is a stapled Online Certificate Status Protocol (OCSP)
    +    // response provided by the peer for the leaf certificate, if any.
    +    OcspResponse []byte `protobuf:"bytes,10,opt,name=ocsp_response,json=ocspResponse,proto3" json:"ocsp_response,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ConnectionState) Descriptor + + + +

    +
    func (*ConnectionState) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ConnectionState.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ConnectionState) GetCipherSuite + + + +

    +
    func (x *ConnectionState) GetCipherSuite() uint32
    + + + + + + +

    func (*ConnectionState) GetDidResume + + + +

    +
    func (x *ConnectionState) GetDidResume() bool
    + + + + + + +

    func (*ConnectionState) GetHandshakeComplete + + + +

    +
    func (x *ConnectionState) GetHandshakeComplete() bool
    + + + + + + +

    func (*ConnectionState) GetNegotiatedProtocol + + + +

    +
    func (x *ConnectionState) GetNegotiatedProtocol() string
    + + + + + + +

    func (*ConnectionState) GetOcspResponse + + + +

    +
    func (x *ConnectionState) GetOcspResponse() []byte
    + + + + + + +

    func (*ConnectionState) GetPeerCertificates + + + +

    +
    func (x *ConnectionState) GetPeerCertificates() *Certificates
    + + + + + + +

    func (*ConnectionState) GetServerName + + + +

    +
    func (x *ConnectionState) GetServerName() string
    + + + + + + +

    func (*ConnectionState) GetSignedCertificateTimestamps + + + +

    +
    func (x *ConnectionState) GetSignedCertificateTimestamps() [][]byte
    + + + + + + +

    func (*ConnectionState) GetVerifiedChains + + + +

    +
    func (x *ConnectionState) GetVerifiedChains() []*Certificates
    + + + + + + +

    func (*ConnectionState) GetVersion + + + +

    +
    func (x *ConnectionState) GetVersion() uint32
    + + + + + + +

    func (*ConnectionState) ProtoMessage + + + +

    +
    func (*ConnectionState) ProtoMessage()
    + + + + + + +

    func (*ConnectionState) ProtoReflect + + + +

    +
    func (x *ConnectionState) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ConnectionState) Reset + + + +

    +
    func (x *ConnectionState) Reset()
    + + + + + + +

    func (*ConnectionState) String + + + +

    +
    func (x *ConnectionState) String() string
    + + + + + + + + +

    type Element + + + +

    + +
    type Element struct {
    +
    +    // key is a element key in a key value pair
    +    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    // values are a list of strings coresponding to the key
    +    Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Element) Descriptor + + + +

    +
    func (*Element) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Element.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Element) GetKey + + + +

    +
    func (x *Element) GetKey() string
    + + + + + + +

    func (*Element) GetValues + + + +

    +
    func (x *Element) GetValues() []string
    + + + + + + +

    func (*Element) ProtoMessage + + + +

    +
    func (*Element) ProtoMessage()
    + + + + + + +

    func (*Element) ProtoReflect + + + +

    +
    func (x *Element) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Element) Reset + + + +

    +
    func (x *Element) Reset()
    + + + + + + +

    func (*Element) String + + + +

    +
    func (x *Element) String() string
    + + + + + + + + +

    type HTTPClient + + + +

    +

    HTTPClient is the client API for HTTP 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 HTTPClient interface {
    +    // Handle wraps http1 over http2 and provides support for websockets by implementing
    +    // net conn and responsewriter in http2.
    +    Handle(ctx context.Context, in *HTTPRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // HandleSimple wraps http1 requests over http2 similar to Handle but only passes headers
    +    // and body bytes. Because the request and response are single protos with no inline
    +    // gRPC servers the CPU cost as well as file descriptor overhead is less
    +    // (no additional goroutines).
    +    HandleSimple(ctx context.Context, in *HandleSimpleHTTPRequest, opts ...grpc.CallOption) (*HandleSimpleHTTPResponse, error)
    +}
    + + + + + + + + + + + +

    func NewHTTPClient + + + +

    +
    func NewHTTPClient(cc grpc.ClientConnInterface) HTTPClient
    + + + + + + + + + +

    type HTTPRequest + + + +

    + +
    type HTTPRequest struct {
    +
    +    // response_writer is used by an HTTP handler to construct an HTTP response
    +    ResponseWriter *ResponseWriter `protobuf:"bytes,1,opt,name=response_writer,json=responseWriter,proto3" json:"response_writer,omitempty"`
    +    // request is an http request
    +    Request *Request `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HTTPRequest) Descriptor + + + +

    +
    func (*HTTPRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HTTPRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HTTPRequest) GetRequest + + + +

    +
    func (x *HTTPRequest) GetRequest() *Request
    + + + + + + +

    func (*HTTPRequest) GetResponseWriter + + + +

    +
    func (x *HTTPRequest) GetResponseWriter() *ResponseWriter
    + + + + + + +

    func (*HTTPRequest) ProtoMessage + + + +

    +
    func (*HTTPRequest) ProtoMessage()
    + + + + + + +

    func (*HTTPRequest) ProtoReflect + + + +

    +
    func (x *HTTPRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HTTPRequest) Reset + + + +

    +
    func (x *HTTPRequest) Reset()
    + + + + + + +

    func (*HTTPRequest) String + + + +

    +
    func (x *HTTPRequest) String() string
    + + + + + + + + +

    type HTTPServer + + + +

    +

    HTTPServer is the server API for HTTP service. +All implementations should embed UnimplementedHTTPServer +for forward compatibility + +

    type HTTPServer interface {
    +    // Handle wraps http1 over http2 and provides support for websockets by implementing
    +    // net conn and responsewriter in http2.
    +    Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    +    // HandleSimple wraps http1 requests over http2 similar to Handle but only passes headers
    +    // and body bytes. Because the request and response are single protos with no inline
    +    // gRPC servers the CPU cost as well as file descriptor overhead is less
    +    // (no additional goroutines).
    +    HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    +}
    + + + + + + + + + + + + + + + +

    type HandleSimpleHTTPRequest + + + +

    + +
    type HandleSimpleHTTPRequest struct {
    +
    +    // method specifies the HTTP method (GET, POST, PUT, etc.)
    +    Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
    +    // url specifies either the URI being requested
    +    Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
    +    // headers contains the request header fields either received
    +    // by the server or to be sent by the client
    +    Headers []*Element `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"`
    +    // body is the request payload in bytes
    +    Body []byte `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HandleSimpleHTTPRequest) Descriptor + + + +

    +
    func (*HandleSimpleHTTPRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HandleSimpleHTTPRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HandleSimpleHTTPRequest) GetBody + + + +

    +
    func (x *HandleSimpleHTTPRequest) GetBody() []byte
    + + + + + + +

    func (*HandleSimpleHTTPRequest) GetHeaders + + + +

    +
    func (x *HandleSimpleHTTPRequest) GetHeaders() []*Element
    + + + + + + +

    func (*HandleSimpleHTTPRequest) GetMethod + + + +

    +
    func (x *HandleSimpleHTTPRequest) GetMethod() string
    + + + + + + +

    func (*HandleSimpleHTTPRequest) GetUrl + + + +

    +
    func (x *HandleSimpleHTTPRequest) GetUrl() string
    + + + + + + +

    func (*HandleSimpleHTTPRequest) ProtoMessage + + + +

    +
    func (*HandleSimpleHTTPRequest) ProtoMessage()
    + + + + + + +

    func (*HandleSimpleHTTPRequest) ProtoReflect + + + +

    +
    func (x *HandleSimpleHTTPRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HandleSimpleHTTPRequest) Reset + + + +

    +
    func (x *HandleSimpleHTTPRequest) Reset()
    + + + + + + +

    func (*HandleSimpleHTTPRequest) String + + + +

    +
    func (x *HandleSimpleHTTPRequest) String() string
    + + + + + + + + +

    type HandleSimpleHTTPResponse + + + +

    + +
    type HandleSimpleHTTPResponse struct {
    +
    +    // code is the response code
    +    Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
    +    // headers contains the request header fields either received
    +    // by the server or to be sent by the client
    +    Headers []*Element `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
    +    // body is the response payload in bytes
    +    Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HandleSimpleHTTPResponse) Descriptor + + + +

    +
    func (*HandleSimpleHTTPResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HandleSimpleHTTPResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HandleSimpleHTTPResponse) GetBody + + + +

    +
    func (x *HandleSimpleHTTPResponse) GetBody() []byte
    + + + + + + +

    func (*HandleSimpleHTTPResponse) GetCode + + + +

    +
    func (x *HandleSimpleHTTPResponse) GetCode() int32
    + + + + + + +

    func (*HandleSimpleHTTPResponse) GetHeaders + + + +

    +
    func (x *HandleSimpleHTTPResponse) GetHeaders() []*Element
    + + + + + + +

    func (*HandleSimpleHTTPResponse) ProtoMessage + + + +

    +
    func (*HandleSimpleHTTPResponse) ProtoMessage()
    + + + + + + +

    func (*HandleSimpleHTTPResponse) ProtoReflect + + + +

    +
    func (x *HandleSimpleHTTPResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HandleSimpleHTTPResponse) Reset + + + +

    +
    func (x *HandleSimpleHTTPResponse) Reset()
    + + + + + + +

    func (*HandleSimpleHTTPResponse) String + + + +

    +
    func (x *HandleSimpleHTTPResponse) String() string
    + + + + + + + + +

    type Request + + + +

    +

    Request is an http.Request see: https://pkg.go.dev/net/http#Request + +

    type Request struct {
    +
    +    // method specifies the HTTP method (GET, POST, PUT, etc.)
    +    Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
    +    // url specifies either the URI being requested (for server requests)
    +    // or the URL to access (for client requests)
    +    Url *URL `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
    +    // proto is the protocol version for incoming server requests
    +    Proto string `protobuf:"bytes,3,opt,name=proto,proto3" json:"proto,omitempty"`
    +    // proto_major is the major version
    +    ProtoMajor int32 `protobuf:"varint,4,opt,name=proto_major,json=protoMajor,proto3" json:"proto_major,omitempty"`
    +    // proto_minor is the minor version
    +    ProtoMinor int32 `protobuf:"varint,5,opt,name=proto_minor,json=protoMinor,proto3" json:"proto_minor,omitempty"`
    +    // header contains the request header fields either received
    +    // by the server or to be sent by the client
    +    Header []*Element `protobuf:"bytes,6,rep,name=header,proto3" json:"header,omitempty"`
    +    // body is the request payload in bytes
    +    Body []byte `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
    +    // content_length records the length of the associated content
    +    ContentLength int64 `protobuf:"varint,8,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
    +    // transfer_encoding lists the transfer encodings from outermost to
    +    // innermost
    +    TransferEncoding []string `protobuf:"bytes,9,rep,name=transfer_encoding,json=transferEncoding,proto3" json:"transfer_encoding,omitempty"`
    +    // host specifies the host on which the URL is sought
    +    Host string `protobuf:"bytes,10,opt,name=host,proto3" json:"host,omitempty"`
    +    // form contains the parsed form data, including both the URL
    +    // field's query parameters and the PATCH, POST, or PUT form data
    +    Form []*Element `protobuf:"bytes,11,rep,name=form,proto3" json:"form,omitempty"`
    +    // post_form contains the parsed form data from PATCH, POST
    +    // or PUT body parameters
    +    PostForm []*Element `protobuf:"bytes,12,rep,name=post_form,json=postForm,proto3" json:"post_form,omitempty"`
    +    // trailer_keys specifies additional headers that are sent after the request
    +    TrailerKeys []string `protobuf:"bytes,13,rep,name=trailer_keys,json=trailerKeys,proto3" json:"trailer_keys,omitempty"`
    +    // remote_addr allows HTTP servers and other software to record
    +    // the network address that sent the request
    +    RemoteAddr string `protobuf:"bytes,14,opt,name=remote_addr,json=remoteAddr,proto3" json:"remote_addr,omitempty"`
    +    // request_uri is the unmodified request-target
    +    RequestUri string `protobuf:"bytes,15,opt,name=request_uri,json=requestUri,proto3" json:"request_uri,omitempty"`
    +    // tls connection state
    +    Tls *ConnectionState `protobuf:"bytes,16,opt,name=tls,proto3" json:"tls,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Request) Descriptor + + + +

    +
    func (*Request) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Request.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Request) GetBody + + + +

    +
    func (x *Request) GetBody() []byte
    + + + + + + +

    func (*Request) GetContentLength + + + +

    +
    func (x *Request) GetContentLength() int64
    + + + + + + +

    func (*Request) GetForm + + + +

    +
    func (x *Request) GetForm() []*Element
    + + + + + + +

    func (*Request) GetHeader + + + +

    +
    func (x *Request) GetHeader() []*Element
    + + + + + + +

    func (*Request) GetHost + + + +

    +
    func (x *Request) GetHost() string
    + + + + + + +

    func (*Request) GetMethod + + + +

    +
    func (x *Request) GetMethod() string
    + + + + + + +

    func (*Request) GetPostForm + + + +

    +
    func (x *Request) GetPostForm() []*Element
    + + + + + + +

    func (*Request) GetProto + + + +

    +
    func (x *Request) GetProto() string
    + + + + + + +

    func (*Request) GetProtoMajor + + + +

    +
    func (x *Request) GetProtoMajor() int32
    + + + + + + +

    func (*Request) GetProtoMinor + + + +

    +
    func (x *Request) GetProtoMinor() int32
    + + + + + + +

    func (*Request) GetRemoteAddr + + + +

    +
    func (x *Request) GetRemoteAddr() string
    + + + + + + +

    func (*Request) GetRequestUri + + + +

    +
    func (x *Request) GetRequestUri() string
    + + + + + + +

    func (*Request) GetTls + + + +

    +
    func (x *Request) GetTls() *ConnectionState
    + + + + + + +

    func (*Request) GetTrailerKeys + + + +

    +
    func (x *Request) GetTrailerKeys() []string
    + + + + + + +

    func (*Request) GetTransferEncoding + + + +

    +
    func (x *Request) GetTransferEncoding() []string
    + + + + + + +

    func (*Request) GetUrl + + + +

    +
    func (x *Request) GetUrl() *URL
    + + + + + + +

    func (*Request) ProtoMessage + + + +

    +
    func (*Request) ProtoMessage()
    + + + + + + +

    func (*Request) ProtoReflect + + + +

    +
    func (x *Request) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Request) Reset + + + +

    +
    func (x *Request) Reset()
    + + + + + + +

    func (*Request) String + + + +

    +
    func (x *Request) String() string
    + + + + + + + + +

    type ResponseWriter + + + +

    + +
    type ResponseWriter struct {
    +
    +    // header returns the header map that will be sent by
    +    // WriteHeader.
    +    Header []*Element `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty"`
    +    // server_addr is the address of the gRPC server hosting the Writer service
    +    ServerAddr string `protobuf:"bytes,2,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ResponseWriter) Descriptor + + + +

    +
    func (*ResponseWriter) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ResponseWriter.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ResponseWriter) GetHeader + + + +

    +
    func (x *ResponseWriter) GetHeader() []*Element
    + + + + + + +

    func (*ResponseWriter) GetServerAddr + + + +

    +
    func (x *ResponseWriter) GetServerAddr() string
    + + + + + + +

    func (*ResponseWriter) ProtoMessage + + + +

    +
    func (*ResponseWriter) ProtoMessage()
    + + + + + + +

    func (*ResponseWriter) ProtoReflect + + + +

    +
    func (x *ResponseWriter) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ResponseWriter) Reset + + + +

    +
    func (x *ResponseWriter) Reset()
    + + + + + + +

    func (*ResponseWriter) String + + + +

    +
    func (x *ResponseWriter) String() string
    + + + + + + + + +

    type URL + + + +

    +

    URL is a net.URL see: https://pkg.go.dev/net/url#URL + +

    type URL struct {
    +
    +    // scheme is the url scheme name
    +    Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"`
    +    // opaque is encoded opaque data
    +    Opaque string `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
    +    // user is username and password information
    +    User *Userinfo `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
    +    // host can be in the format host or host:port
    +    Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
    +    // path (relative paths may omit leading slash)
    +    Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"`
    +    // raw_path is encoded path hint (see EscapedPath method)
    +    RawPath string `protobuf:"bytes,6,opt,name=raw_path,json=rawPath,proto3" json:"raw_path,omitempty"`
    +    // force is append a query ('?') even if RawQuery is empty
    +    ForceQuery bool `protobuf:"varint,7,opt,name=force_query,json=forceQuery,proto3" json:"force_query,omitempty"`
    +    // raw_query is encoded query values, without '?'
    +    RawQuery string `protobuf:"bytes,8,opt,name=raw_query,json=rawQuery,proto3" json:"raw_query,omitempty"`
    +    // fragment is fragment for references, without '#'
    +    Fragment string `protobuf:"bytes,9,opt,name=fragment,proto3" json:"fragment,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*URL) Descriptor + + + +

    +
    func (*URL) Descriptor() ([]byte, []int)
    +

    Deprecated: Use URL.ProtoReflect.Descriptor instead. + + + + + + +

    func (*URL) GetForceQuery + + + +

    +
    func (x *URL) GetForceQuery() bool
    + + + + + + +

    func (*URL) GetFragment + + + +

    +
    func (x *URL) GetFragment() string
    + + + + + + +

    func (*URL) GetHost + + + +

    +
    func (x *URL) GetHost() string
    + + + + + + +

    func (*URL) GetOpaque + + + +

    +
    func (x *URL) GetOpaque() string
    + + + + + + +

    func (*URL) GetPath + + + +

    +
    func (x *URL) GetPath() string
    + + + + + + +

    func (*URL) GetRawPath + + + +

    +
    func (x *URL) GetRawPath() string
    + + + + + + +

    func (*URL) GetRawQuery + + + +

    +
    func (x *URL) GetRawQuery() string
    + + + + + + +

    func (*URL) GetScheme + + + +

    +
    func (x *URL) GetScheme() string
    + + + + + + +

    func (*URL) GetUser + + + +

    +
    func (x *URL) GetUser() *Userinfo
    + + + + + + +

    func (*URL) ProtoMessage + + + +

    +
    func (*URL) ProtoMessage()
    + + + + + + +

    func (*URL) ProtoReflect + + + +

    +
    func (x *URL) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*URL) Reset + + + +

    +
    func (x *URL) Reset()
    + + + + + + +

    func (*URL) String + + + +

    +
    func (x *URL) String() string
    + + + + + + + + +

    type UnimplementedHTTPServer + + + +

    +

    UnimplementedHTTPServer should be embedded to have forward compatible implementations. + +

    type UnimplementedHTTPServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedHTTPServer) Handle + + + +

    +
    func (UnimplementedHTTPServer) Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedHTTPServer) HandleSimple + + + +

    +
    func (UnimplementedHTTPServer) HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    + + + + + + + + +

    type UnsafeHTTPServer + + + +

    +

    UnsafeHTTPServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to HTTPServer will +result in compilation errors. + +

    type UnsafeHTTPServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type Userinfo + + + +

    +

    UserInfo is net.Userinfo see: https://pkg.go.dev/net/url#Userinfo + +

    type Userinfo struct {
    +
    +    // username is the username for the user
    +    Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
    +    // password is the password for the user
    +    Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
    +    // password_set is a boolean which is true if the passord is set
    +    PasswordSet bool `protobuf:"varint,3,opt,name=password_set,json=passwordSet,proto3" json:"password_set,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Userinfo) Descriptor + + + +

    +
    func (*Userinfo) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Userinfo.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Userinfo) GetPassword + + + +

    +
    func (x *Userinfo) GetPassword() string
    + + + + + + +

    func (*Userinfo) GetPasswordSet + + + +

    +
    func (x *Userinfo) GetPasswordSet() bool
    + + + + + + +

    func (*Userinfo) GetUsername + + + +

    +
    func (x *Userinfo) GetUsername() string
    + + + + + + +

    func (*Userinfo) ProtoMessage + + + +

    +
    func (*Userinfo) ProtoMessage()
    + + + + + + +

    func (*Userinfo) ProtoReflect + + + +

    +
    func (x *Userinfo) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Userinfo) Reset + + + +

    +
    func (x *Userinfo) Reset()
    + + + + + + +

    func (*Userinfo) String + + + +

    +
    func (x *Userinfo) String() string
    + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + responsewriter + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html new file mode 100644 index 00000000..7a3040e4 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html @@ -0,0 +1,1186 @@ + + + + + + + + responsewriter - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package responsewriter + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/http/responsewriter"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    + + + +
    type Header
    + + + +
        func (*Header) Descriptor() ([]byte, []int)
    + + +
        func (x *Header) GetKey() string
    + + +
        func (x *Header) GetValues() []string
    + + +
        func (*Header) ProtoMessage()
    + + +
        func (x *Header) ProtoReflect() protoreflect.Message
    + + +
        func (x *Header) Reset()
    + + +
        func (x *Header) String() string
    + + + +
    type HijackResponse
    + + + +
        func (*HijackResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *HijackResponse) GetLocalNetwork() string
    + + +
        func (x *HijackResponse) GetLocalString() string
    + + +
        func (x *HijackResponse) GetRemoteNetwork() string
    + + +
        func (x *HijackResponse) GetRemoteString() string
    + + +
        func (x *HijackResponse) GetServerAddr() string
    + + +
        func (*HijackResponse) ProtoMessage()
    + + +
        func (x *HijackResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *HijackResponse) Reset()
    + + +
        func (x *HijackResponse) String() string
    + + + +
    type UnimplementedWriterServer
    + + + +
        func (UnimplementedWriterServer) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + +
        func (UnimplementedWriterServer) Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    + + +
        func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    + + +
        func (UnimplementedWriterServer) WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    + + + +
    type UnsafeWriterServer
    + + + + +
    type WriteHeaderRequest
    + + + +
        func (*WriteHeaderRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteHeaderRequest) GetHeaders() []*Header
    + + +
        func (x *WriteHeaderRequest) GetStatusCode() int32
    + + +
        func (*WriteHeaderRequest) ProtoMessage()
    + + +
        func (x *WriteHeaderRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteHeaderRequest) Reset()
    + + +
        func (x *WriteHeaderRequest) String() string
    + + + +
    type WriteRequest
    + + + +
        func (*WriteRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteRequest) GetHeaders() []*Header
    + + +
        func (x *WriteRequest) GetPayload() []byte
    + + +
        func (*WriteRequest) ProtoMessage()
    + + +
        func (x *WriteRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteRequest) Reset()
    + + +
        func (x *WriteRequest) String() string
    + + + +
    type WriteResponse
    + + + +
        func (*WriteResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteResponse) GetWritten() int32
    + + +
        func (*WriteResponse) ProtoMessage()
    + + +
        func (x *WriteResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteResponse) Reset()
    + + +
        func (x *WriteResponse) String() string
    + + + +
    type WriterClient
    + + +
        func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    + + + + +
    type WriterServer
    + + + + +
    +
    + + + + +

    Package files

    +

    + + + responsewriter.pb.go + + responsewriter_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    Writer_Write_FullMethodName       = "/http.responsewriter.Writer/Write"
    +    Writer_WriteHeader_FullMethodName = "/http.responsewriter.Writer/WriteHeader"
    +    Writer_Flush_FullMethodName       = "/http.responsewriter.Writer/Flush"
    +    Writer_Hijack_FullMethodName      = "/http.responsewriter.Writer/Hijack"
    +)
    + + + +

    Variables

    + + +
    var File_http_responsewriter_responsewriter_proto protoreflect.FileDescriptor
    + +

    Writer_ServiceDesc is the grpc.ServiceDesc for Writer service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Writer_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "http.responsewriter.Writer",
    +    HandlerType: (*WriterServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Write",
    +            Handler:    _Writer_Write_Handler,
    +        },
    +        {
    +            MethodName: "WriteHeader",
    +            Handler:    _Writer_WriteHeader_Handler,
    +        },
    +        {
    +            MethodName: "Flush",
    +            Handler:    _Writer_Flush_Handler,
    +        },
    +        {
    +            MethodName: "Hijack",
    +            Handler:    _Writer_Hijack_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "http/responsewriter/responsewriter.proto",
    +}
    + + + + + +

    func RegisterWriterServer + + + +

    +
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    + + + + + + + + + + +
    type Header struct {
    +
    +    // key is a element key in a key value pair
    +    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    // values are a list of strings coresponding to the key
    +    Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Header) Descriptor + + + +

    +
    func (*Header) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Header.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Header) GetKey + + + +

    +
    func (x *Header) GetKey() string
    + + + + + + +

    func (*Header) GetValues + + + +

    +
    func (x *Header) GetValues() []string
    + + + + + + +

    func (*Header) ProtoMessage + + + +

    +
    func (*Header) ProtoMessage()
    + + + + + + +

    func (*Header) ProtoReflect + + + +

    +
    func (x *Header) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Header) Reset + + + +

    +
    func (x *Header) Reset()
    + + + + + + +

    func (*Header) String + + + +

    +
    func (x *Header) String() string
    + + + + + + + + +

    type HijackResponse + + + +

    + +
    type HijackResponse struct {
    +
    +    // local_network is the name of the network (for example, "tcp", "udp")
    +    LocalNetwork string `protobuf:"bytes,1,opt,name=local_network,json=localNetwork,proto3" json:"local_network,omitempty"`
    +    // local_string is string form of address
    +    LocalString string `protobuf:"bytes,2,opt,name=local_string,json=localString,proto3" json:"local_string,omitempty"`
    +    // remote_network is the name of the network (for example, "tcp", "udp")
    +    RemoteNetwork string `protobuf:"bytes,3,opt,name=remote_network,json=remoteNetwork,proto3" json:"remote_network,omitempty"`
    +    // remote_string is string form of address
    +    RemoteString string `protobuf:"bytes,4,opt,name=remote_string,json=remoteString,proto3" json:"remote_string,omitempty"`
    +    // server_addr is the address of the gRPC server serving the Conn, Reader
    +    // and Writer services which facilitate Hijacking
    +    ServerAddr string `protobuf:"bytes,5,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HijackResponse) Descriptor + + + +

    +
    func (*HijackResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HijackResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HijackResponse) GetLocalNetwork + + + +

    +
    func (x *HijackResponse) GetLocalNetwork() string
    + + + + + + +

    func (*HijackResponse) GetLocalString + + + +

    +
    func (x *HijackResponse) GetLocalString() string
    + + + + + + +

    func (*HijackResponse) GetRemoteNetwork + + + +

    +
    func (x *HijackResponse) GetRemoteNetwork() string
    + + + + + + +

    func (*HijackResponse) GetRemoteString + + + +

    +
    func (x *HijackResponse) GetRemoteString() string
    + + + + + + +

    func (*HijackResponse) GetServerAddr + + + +

    +
    func (x *HijackResponse) GetServerAddr() string
    + + + + + + +

    func (*HijackResponse) ProtoMessage + + + +

    +
    func (*HijackResponse) ProtoMessage()
    + + + + + + +

    func (*HijackResponse) ProtoReflect + + + +

    +
    func (x *HijackResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HijackResponse) Reset + + + +

    +
    func (x *HijackResponse) Reset()
    + + + + + + +

    func (*HijackResponse) String + + + +

    +
    func (x *HijackResponse) String() string
    + + + + + + + + +

    type UnimplementedWriterServer + + + +

    +

    UnimplementedWriterServer should be embedded to have forward compatible implementations. + +

    type UnimplementedWriterServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedWriterServer) Flush + + + +

    +
    func (UnimplementedWriterServer) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedWriterServer) Hijack + + + +

    +
    func (UnimplementedWriterServer) Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    + + + + + + +

    func (UnimplementedWriterServer) Write + + + +

    +
    func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    + + + + + + +

    func (UnimplementedWriterServer) WriteHeader + + + +

    +
    func (UnimplementedWriterServer) WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    + + + + + + + + +

    type UnsafeWriterServer + + + +

    +

    UnsafeWriterServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to WriterServer will +result in compilation errors. + +

    type UnsafeWriterServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type WriteHeaderRequest + + + +

    + +
    type WriteHeaderRequest struct {
    +
    +    // headers represents the key-value pairs in an HTTP header
    +    Headers []*Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
    +    // status_code must be a valid HTTP 1xx-5xx status code
    +    StatusCode int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteHeaderRequest) Descriptor + + + +

    +
    func (*WriteHeaderRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteHeaderRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteHeaderRequest) GetHeaders + + + +

    +
    func (x *WriteHeaderRequest) GetHeaders() []*Header
    + + + + + + +

    func (*WriteHeaderRequest) GetStatusCode + + + +

    +
    func (x *WriteHeaderRequest) GetStatusCode() int32
    + + + + + + +

    func (*WriteHeaderRequest) ProtoMessage + + + +

    +
    func (*WriteHeaderRequest) ProtoMessage()
    + + + + + + +

    func (*WriteHeaderRequest) ProtoReflect + + + +

    +
    func (x *WriteHeaderRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteHeaderRequest) Reset + + + +

    +
    func (x *WriteHeaderRequest) Reset()
    + + + + + + +

    func (*WriteHeaderRequest) String + + + +

    +
    func (x *WriteHeaderRequest) String() string
    + + + + + + + + +

    type WriteRequest + + + +

    + +
    type WriteRequest struct {
    +
    +    // headers represents the key-value pairs in an HTTP header
    +    Headers []*Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
    +    // payload is the write request in bytes
    +    Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteRequest) Descriptor + + + +

    +
    func (*WriteRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteRequest) GetHeaders + + + +

    +
    func (x *WriteRequest) GetHeaders() []*Header
    + + + + + + +

    func (*WriteRequest) GetPayload + + + +

    +
    func (x *WriteRequest) GetPayload() []byte
    + + + + + + +

    func (*WriteRequest) ProtoMessage + + + +

    +
    func (*WriteRequest) ProtoMessage()
    + + + + + + +

    func (*WriteRequest) ProtoReflect + + + +

    +
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteRequest) Reset + + + +

    +
    func (x *WriteRequest) Reset()
    + + + + + + +

    func (*WriteRequest) String + + + +

    +
    func (x *WriteRequest) String() string
    + + + + + + + + +

    type WriteResponse + + + +

    + +
    type WriteResponse struct {
    +
    +    // written is the number of bytes written in body
    +    Written int32 `protobuf:"varint,1,opt,name=written,proto3" json:"written,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteResponse) Descriptor + + + +

    +
    func (*WriteResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteResponse) GetWritten + + + +

    +
    func (x *WriteResponse) GetWritten() int32
    + + + + + + +

    func (*WriteResponse) ProtoMessage + + + +

    +
    func (*WriteResponse) ProtoMessage()
    + + + + + + +

    func (*WriteResponse) ProtoReflect + + + +

    +
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteResponse) Reset + + + +

    +
    func (x *WriteResponse) Reset()
    + + + + + + +

    func (*WriteResponse) String + + + +

    +
    func (x *WriteResponse) String() string
    + + + + + + + + +

    type WriterClient + + + +

    +

    WriterClient is the client API for Writer 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 WriterClient interface {
    +    // Write writes the data to the connection as part of an HTTP reply
    +    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    +    // WriteHeader sends an HTTP response header with the provided
    +    // status code
    +    WriteHeader(ctx context.Context, in *WriteHeaderRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Flush is a no-op
    +    Flush(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Hijack lets the caller take over the connection
    +    Hijack(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HijackResponse, error)
    +}
    + + + + + + + + + + + +

    func NewWriterClient + + + +

    +
    func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    + + + + + + + + + +

    type WriterServer + + + +

    +

    WriterServer is the server API for Writer service. +All implementations should embed UnimplementedWriterServer +for forward compatibility + +

    type WriterServer interface {
    +    // Write writes the data to the connection as part of an HTTP reply
    +    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    +    // WriteHeader sends an HTTP response header with the provided
    +    // status code
    +    WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    +    // Flush is a no-op
    +    Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    +    // Hijack lets the caller take over the connection
    +    Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    +}
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html new file mode 100644 index 00000000..95fc8d22 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html @@ -0,0 +1,230 @@ + + + + + + + + /src/github.com/consideritdone/landslidevm/proto - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Directory /src/github.com/consideritdone/landslidevm/proto + +

    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + http + + +
    + responsewriter + + +
    + io + + +
    + reader + + +
    + writer + + +
    + messenger + + +
    + net + + +
    + conn + + +
    + rpcdb + + +
    + vm + + +
    + runtime + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html new file mode 100644 index 00000000..b84b6478 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html @@ -0,0 +1,131 @@ + + + + + + + + /src/github.com/consideritdone/landslidevm/proto/io - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Directory /src/github.com/consideritdone/landslidevm/proto/io + +

    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + reader + + +
    + writer + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html new file mode 100644 index 00000000..16c7c31e --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html @@ -0,0 +1,635 @@ + + + + + + + + reader - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package reader + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/io/reader"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const (
    +    Reader_Read_FullMethodName = "/io.reader.Reader/Read"
    +)
    + + + +

    Variables

    + + +
    var File_io_reader_reader_proto protoreflect.FileDescriptor
    + +

    Reader_ServiceDesc is the grpc.ServiceDesc for Reader service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Reader_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "io.reader.Reader",
    +    HandlerType: (*ReaderServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Read",
    +            Handler:    _Reader_Read_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "io/reader/reader.proto",
    +}
    + + + + + +

    func RegisterReaderServer + + + +

    +
    func RegisterReaderServer(s grpc.ServiceRegistrar, srv ReaderServer)
    + + + + + + + + +

    type ReadRequest + + + +

    + +
    type ReadRequest struct {
    +
    +    // length is the request in bytes
    +    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ReadRequest) Descriptor + + + +

    +
    func (*ReadRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ReadRequest) GetLength + + + +

    +
    func (x *ReadRequest) GetLength() int32
    + + + + + + +

    func (*ReadRequest) ProtoMessage + + + +

    +
    func (*ReadRequest) ProtoMessage()
    + + + + + + +

    func (*ReadRequest) ProtoReflect + + + +

    +
    func (x *ReadRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ReadRequest) Reset + + + +

    +
    func (x *ReadRequest) Reset()
    + + + + + + +

    func (*ReadRequest) String + + + +

    +
    func (x *ReadRequest) String() string
    + + + + + + + + +

    type ReadResponse + + + +

    + +
    type ReadResponse struct {
    +
    +    // read is the payload in bytes
    +    Read []byte `protobuf:"bytes,1,opt,name=read,proto3" json:"read,omitempty"`
    +    // error is an error message
    +    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ReadResponse) Descriptor + + + +

    +
    func (*ReadResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ReadResponse) GetError + + + +

    +
    func (x *ReadResponse) GetError() string
    + + + + + + +

    func (*ReadResponse) GetRead + + + +

    +
    func (x *ReadResponse) GetRead() []byte
    + + + + + + +

    func (*ReadResponse) ProtoMessage + + + +

    +
    func (*ReadResponse) ProtoMessage()
    + + + + + + +

    func (*ReadResponse) ProtoReflect + + + +

    +
    func (x *ReadResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ReadResponse) Reset + + + +

    +
    func (x *ReadResponse) Reset()
    + + + + + + +

    func (*ReadResponse) String + + + +

    +
    func (x *ReadResponse) String() string
    + + + + + + + + +

    type ReaderClient + + + +

    +

    ReaderClient is the client API for Reader 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 ReaderClient interface {
    +    Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
    +}
    + + + + + + + + + + + +

    func NewReaderClient + + + +

    +
    func NewReaderClient(cc grpc.ClientConnInterface) ReaderClient
    + + + + + + + + + +

    type ReaderServer + + + +

    +

    ReaderServer is the server API for Reader service. +All implementations should embed UnimplementedReaderServer +for forward compatibility + +

    type ReaderServer interface {
    +    Read(context.Context, *ReadRequest) (*ReadResponse, error)
    +}
    + + + + + + + + + + + + + + + +

    type UnimplementedReaderServer + + + +

    +

    UnimplementedReaderServer should be embedded to have forward compatible implementations. + +

    type UnimplementedReaderServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedReaderServer) Read + + + +

    +
    func (UnimplementedReaderServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    + + + + + + + + +

    type UnsafeReaderServer + + + +

    +

    UnsafeReaderServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to ReaderServer will +result in compilation errors. + +

    type UnsafeReaderServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html new file mode 100644 index 00000000..a2cb492e --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html @@ -0,0 +1,637 @@ + + + + + + + + writer - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package writer + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/io/writer"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const (
    +    Writer_Write_FullMethodName = "/io.writer.Writer/Write"
    +)
    + + + +

    Variables

    + + +
    var File_io_writer_writer_proto protoreflect.FileDescriptor
    + +

    Writer_ServiceDesc is the grpc.ServiceDesc for Writer service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Writer_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "io.writer.Writer",
    +    HandlerType: (*WriterServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Write",
    +            Handler:    _Writer_Write_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "io/writer/writer.proto",
    +}
    + + + + + +

    func RegisterWriterServer + + + +

    +
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    + + + + + + + + +

    type UnimplementedWriterServer + + + +

    +

    UnimplementedWriterServer should be embedded to have forward compatible implementations. + +

    type UnimplementedWriterServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedWriterServer) Write + + + +

    +
    func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    + + + + + + + + +

    type UnsafeWriterServer + + + +

    +

    UnsafeWriterServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to WriterServer will +result in compilation errors. + +

    type UnsafeWriterServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type WriteRequest + + + +

    + +
    type WriteRequest struct {
    +
    +    // payload is the write request in bytes
    +    Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteRequest) Descriptor + + + +

    +
    func (*WriteRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteRequest) GetPayload + + + +

    +
    func (x *WriteRequest) GetPayload() []byte
    + + + + + + +

    func (*WriteRequest) ProtoMessage + + + +

    +
    func (*WriteRequest) ProtoMessage()
    + + + + + + +

    func (*WriteRequest) ProtoReflect + + + +

    +
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteRequest) Reset + + + +

    +
    func (x *WriteRequest) Reset()
    + + + + + + +

    func (*WriteRequest) String + + + +

    +
    func (x *WriteRequest) String() string
    + + + + + + + + +

    type WriteResponse + + + +

    + +
    type WriteResponse struct {
    +
    +    // written is the length of payload in bytes
    +    Written int32 `protobuf:"varint,1,opt,name=written,proto3" json:"written,omitempty"`
    +    // error is an error message
    +    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteResponse) Descriptor + + + +

    +
    func (*WriteResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteResponse) GetError + + + +

    +
    func (x *WriteResponse) GetError() string
    + + + + + + +

    func (*WriteResponse) GetWritten + + + +

    +
    func (x *WriteResponse) GetWritten() int32
    + + + + + + +

    func (*WriteResponse) ProtoMessage + + + +

    +
    func (*WriteResponse) ProtoMessage()
    + + + + + + +

    func (*WriteResponse) ProtoReflect + + + +

    +
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteResponse) Reset + + + +

    +
    func (x *WriteResponse) Reset()
    + + + + + + +

    func (*WriteResponse) String + + + +

    +
    func (x *WriteResponse) String() string
    + + + + + + + + +

    type WriterClient + + + +

    +

    WriterClient is the client API for Writer 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 WriterClient interface {
    +    // Write writes len(p) bytes from p to the underlying data stream.
    +    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    +}
    + + + + + + + + + + + +

    func NewWriterClient + + + +

    +
    func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    + + + + + + + + + +

    type WriterServer + + + +

    +

    WriterServer is the server API for Writer service. +All implementations should embed UnimplementedWriterServer +for forward compatibility + +

    type WriterServer interface {
    +    // Write writes len(p) bytes from p to the underlying data stream.
    +    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    +}
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html new file mode 100644 index 00000000..2f988982 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html @@ -0,0 +1,738 @@ + + + + + + + + messenger - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package messenger + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/messenger"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterMessengerServer(s grpc.ServiceRegistrar, srv MessengerServer)
    + + + +
    type Message
    + + + +
        func (Message) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x Message) Enum() *Message
    + + +
        func (Message) EnumDescriptor() ([]byte, []int)
    + + +
        func (x Message) Number() protoreflect.EnumNumber
    + + +
        func (x Message) String() string
    + + +
        func (Message) Type() protoreflect.EnumType
    + + + +
    type MessengerClient
    + + +
        func NewMessengerClient(cc grpc.ClientConnInterface) MessengerClient
    + + + + +
    type MessengerServer
    + + + + +
    type NotifyRequest
    + + + +
        func (*NotifyRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *NotifyRequest) GetMessage() Message
    + + +
        func (*NotifyRequest) ProtoMessage()
    + + +
        func (x *NotifyRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *NotifyRequest) Reset()
    + + +
        func (x *NotifyRequest) String() string
    + + + +
    type NotifyResponse
    + + + +
        func (*NotifyResponse) Descriptor() ([]byte, []int)
    + + +
        func (*NotifyResponse) ProtoMessage()
    + + +
        func (x *NotifyResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *NotifyResponse) Reset()
    + + +
        func (x *NotifyResponse) String() string
    + + + +
    type UnimplementedMessengerServer
    + + + +
        func (UnimplementedMessengerServer) Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    + + + +
    type UnsafeMessengerServer
    + + + + +
    +
    + + + + +

    Package files

    +

    + + + messenger.pb.go + + messenger_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    Messenger_Notify_FullMethodName = "/messenger.Messenger/Notify"
    +)
    + + + +

    Variables

    + +

    Enum value maps for Message. + +

    var (
    +    Message_name = map[int32]string{
    +        0: "MESSAGE_UNSPECIFIED",
    +        1: "MESSAGE_BUILD_BLOCK",
    +        2: "MESSAGE_STATE_SYNC_FINISHED",
    +    }
    +    Message_value = map[string]int32{
    +        "MESSAGE_UNSPECIFIED":         0,
    +        "MESSAGE_BUILD_BLOCK":         1,
    +        "MESSAGE_STATE_SYNC_FINISHED": 2,
    +    }
    +)
    + + +
    var File_messenger_messenger_proto protoreflect.FileDescriptor
    + +

    Messenger_ServiceDesc is the grpc.ServiceDesc for Messenger service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Messenger_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "messenger.Messenger",
    +    HandlerType: (*MessengerServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Notify",
    +            Handler:    _Messenger_Notify_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "messenger/messenger.proto",
    +}
    + + + + + +

    func RegisterMessengerServer + + + +

    +
    func RegisterMessengerServer(s grpc.ServiceRegistrar, srv MessengerServer)
    + + + + + + + + +

    type Message + + + +

    + +
    type Message int32
    + + + +
    const (
    +    Message_MESSAGE_UNSPECIFIED         Message = 0
    +    Message_MESSAGE_BUILD_BLOCK         Message = 1
    +    Message_MESSAGE_STATE_SYNC_FINISHED Message = 2
    +)
    + + + + + + + + + + + + +

    func (Message) Descriptor + + + +

    +
    func (Message) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (Message) Enum + + + +

    +
    func (x Message) Enum() *Message
    + + + + + + +

    func (Message) EnumDescriptor + + + +

    +
    func (Message) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use Message.Descriptor instead. + + + + + + +

    func (Message) Number + + + +

    +
    func (x Message) Number() protoreflect.EnumNumber
    + + + + + + +

    func (Message) String + + + +

    +
    func (x Message) String() string
    + + + + + + +

    func (Message) Type + + + +

    +
    func (Message) Type() protoreflect.EnumType
    + + + + + + + + +

    type MessengerClient + + + +

    +

    MessengerClient is the client API for Messenger 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 MessengerClient interface {
    +    Notify(ctx context.Context, in *NotifyRequest, opts ...grpc.CallOption) (*NotifyResponse, error)
    +}
    + + + + + + + + + + + +

    func NewMessengerClient + + + +

    +
    func NewMessengerClient(cc grpc.ClientConnInterface) MessengerClient
    + + + + + + + + + +

    type MessengerServer + + + +

    +

    MessengerServer is the server API for Messenger service. +All implementations should embed UnimplementedMessengerServer +for forward compatibility + +

    type MessengerServer interface {
    +    Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    +}
    + + + + + + + + + + + + + + + +

    type NotifyRequest + + + +

    + +
    type NotifyRequest struct {
    +    Message Message `protobuf:"varint,1,opt,name=message,proto3,enum=messenger.Message" json:"message,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*NotifyRequest) Descriptor + + + +

    +
    func (*NotifyRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use NotifyRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*NotifyRequest) GetMessage + + + +

    +
    func (x *NotifyRequest) GetMessage() Message
    + + + + + + +

    func (*NotifyRequest) ProtoMessage + + + +

    +
    func (*NotifyRequest) ProtoMessage()
    + + + + + + +

    func (*NotifyRequest) ProtoReflect + + + +

    +
    func (x *NotifyRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*NotifyRequest) Reset + + + +

    +
    func (x *NotifyRequest) Reset()
    + + + + + + +

    func (*NotifyRequest) String + + + +

    +
    func (x *NotifyRequest) String() string
    + + + + + + + + +

    type NotifyResponse + + + +

    + +
    type NotifyResponse struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*NotifyResponse) Descriptor + + + +

    +
    func (*NotifyResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use NotifyResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*NotifyResponse) ProtoMessage + + + +

    +
    func (*NotifyResponse) ProtoMessage()
    + + + + + + +

    func (*NotifyResponse) ProtoReflect + + + +

    +
    func (x *NotifyResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*NotifyResponse) Reset + + + +

    +
    func (x *NotifyResponse) Reset()
    + + + + + + +

    func (*NotifyResponse) String + + + +

    +
    func (x *NotifyResponse) String() string
    + + + + + + + + +

    type UnimplementedMessengerServer + + + +

    +

    UnimplementedMessengerServer should be embedded to have forward compatible implementations. + +

    type UnimplementedMessengerServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedMessengerServer) Notify + + + +

    +
    func (UnimplementedMessengerServer) Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    + + + + + + + + +

    type UnsafeMessengerServer + + + +

    +

    UnsafeMessengerServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to MessengerServer will +result in compilation errors. + +

    type UnsafeMessengerServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html new file mode 100644 index 00000000..3fee68f3 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html @@ -0,0 +1,1152 @@ + + + + + + + + conn - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package conn + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/net/conn"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterConnServer(s grpc.ServiceRegistrar, srv ConnServer)
    + + + +
    type ConnClient
    + + +
        func NewConnClient(cc grpc.ClientConnInterface) ConnClient
    + + + + +
    type ConnServer
    + + + + +
    type ReadRequest
    + + + +
        func (*ReadRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *ReadRequest) GetLength() int32
    + + +
        func (*ReadRequest) ProtoMessage()
    + + +
        func (x *ReadRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *ReadRequest) Reset()
    + + +
        func (x *ReadRequest) String() string
    + + + +
    type ReadResponse
    + + + +
        func (*ReadResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *ReadResponse) GetError() string
    + + +
        func (x *ReadResponse) GetRead() []byte
    + + +
        func (*ReadResponse) ProtoMessage()
    + + +
        func (x *ReadResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *ReadResponse) Reset()
    + + +
        func (x *ReadResponse) String() string
    + + + +
    type SetDeadlineRequest
    + + + +
        func (*SetDeadlineRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *SetDeadlineRequest) GetTime() []byte
    + + +
        func (*SetDeadlineRequest) ProtoMessage()
    + + +
        func (x *SetDeadlineRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *SetDeadlineRequest) Reset()
    + + +
        func (x *SetDeadlineRequest) String() string
    + + + +
    type UnimplementedConnServer
    + + + +
        func (UnimplementedConnServer) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + +
        func (UnimplementedConnServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    + + +
        func (UnimplementedConnServer) SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedConnServer) SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedConnServer) SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedConnServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    + + + +
    type UnsafeConnServer
    + + + + +
    type WriteRequest
    + + + +
        func (*WriteRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteRequest) GetPayload() []byte
    + + +
        func (*WriteRequest) ProtoMessage()
    + + +
        func (x *WriteRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteRequest) Reset()
    + + +
        func (x *WriteRequest) String() string
    + + + +
    type WriteResponse
    + + + +
        func (*WriteResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteResponse) GetError() string
    + + +
        func (x *WriteResponse) GetLength() int32
    + + +
        func (*WriteResponse) ProtoMessage()
    + + +
        func (x *WriteResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteResponse) Reset()
    + + +
        func (x *WriteResponse) String() string
    + + + +
    +
    + + + + +

    Package files

    +

    + + + conn.pb.go + + conn_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    Conn_Read_FullMethodName             = "/net.conn.Conn/Read"
    +    Conn_Write_FullMethodName            = "/net.conn.Conn/Write"
    +    Conn_Close_FullMethodName            = "/net.conn.Conn/Close"
    +    Conn_SetDeadline_FullMethodName      = "/net.conn.Conn/SetDeadline"
    +    Conn_SetReadDeadline_FullMethodName  = "/net.conn.Conn/SetReadDeadline"
    +    Conn_SetWriteDeadline_FullMethodName = "/net.conn.Conn/SetWriteDeadline"
    +)
    + + + +

    Variables

    + +

    Conn_ServiceDesc is the grpc.ServiceDesc for Conn service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Conn_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "net.conn.Conn",
    +    HandlerType: (*ConnServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Read",
    +            Handler:    _Conn_Read_Handler,
    +        },
    +        {
    +            MethodName: "Write",
    +            Handler:    _Conn_Write_Handler,
    +        },
    +        {
    +            MethodName: "Close",
    +            Handler:    _Conn_Close_Handler,
    +        },
    +        {
    +            MethodName: "SetDeadline",
    +            Handler:    _Conn_SetDeadline_Handler,
    +        },
    +        {
    +            MethodName: "SetReadDeadline",
    +            Handler:    _Conn_SetReadDeadline_Handler,
    +        },
    +        {
    +            MethodName: "SetWriteDeadline",
    +            Handler:    _Conn_SetWriteDeadline_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "net/conn/conn.proto",
    +}
    + + +
    var File_net_conn_conn_proto protoreflect.FileDescriptor
    + + + + + +

    func RegisterConnServer + + + +

    +
    func RegisterConnServer(s grpc.ServiceRegistrar, srv ConnServer)
    + + + + + + + + +

    type ConnClient + + + +

    +

    ConnClient is the client API for Conn 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 ConnClient interface {
    +    // Read reads data from the connection.
    +    Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
    +    // Write writes data to the connection.
    +    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    +    // Close closes the connection.
    +    Close(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // SetDeadline sets the read and write deadlines associated
    +    // with the connection.
    +    SetDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // SetReadDeadline sets the deadline for future Read calls
    +    // and any currently-blocked Read call.
    +    SetReadDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // SetWriteDeadline sets the deadline for future Write calls
    +    // and any currently-blocked Write call.
    +    SetWriteDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +}
    + + + + + + + + + + + +

    func NewConnClient + + + +

    +
    func NewConnClient(cc grpc.ClientConnInterface) ConnClient
    + + + + + + + + + +

    type ConnServer + + + +

    +

    ConnServer is the server API for Conn service. +All implementations should embed UnimplementedConnServer +for forward compatibility + +

    type ConnServer interface {
    +    // Read reads data from the connection.
    +    Read(context.Context, *ReadRequest) (*ReadResponse, error)
    +    // Write writes data to the connection.
    +    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    +    // Close closes the connection.
    +    Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    +    // SetDeadline sets the read and write deadlines associated
    +    // with the connection.
    +    SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    +    // SetReadDeadline sets the deadline for future Read calls
    +    // and any currently-blocked Read call.
    +    SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    +    // SetWriteDeadline sets the deadline for future Write calls
    +    // and any currently-blocked Write call.
    +    SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    +}
    + + + + + + + + + + + + + + + +

    type ReadRequest + + + +

    + +
    type ReadRequest struct {
    +
    +    // length of the request in bytes
    +    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ReadRequest) Descriptor + + + +

    +
    func (*ReadRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ReadRequest) GetLength + + + +

    +
    func (x *ReadRequest) GetLength() int32
    + + + + + + +

    func (*ReadRequest) ProtoMessage + + + +

    +
    func (*ReadRequest) ProtoMessage()
    + + + + + + +

    func (*ReadRequest) ProtoReflect + + + +

    +
    func (x *ReadRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ReadRequest) Reset + + + +

    +
    func (x *ReadRequest) Reset()
    + + + + + + +

    func (*ReadRequest) String + + + +

    +
    func (x *ReadRequest) String() string
    + + + + + + + + +

    type ReadResponse + + + +

    + +
    type ReadResponse struct {
    +
    +    // read is the payload in bytes
    +    Read []byte `protobuf:"bytes,1,opt,name=read,proto3" json:"read,omitempty"`
    +    // error is an error message
    +    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ReadResponse) Descriptor + + + +

    +
    func (*ReadResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ReadResponse) GetError + + + +

    +
    func (x *ReadResponse) GetError() string
    + + + + + + +

    func (*ReadResponse) GetRead + + + +

    +
    func (x *ReadResponse) GetRead() []byte
    + + + + + + +

    func (*ReadResponse) ProtoMessage + + + +

    +
    func (*ReadResponse) ProtoMessage()
    + + + + + + +

    func (*ReadResponse) ProtoReflect + + + +

    +
    func (x *ReadResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ReadResponse) Reset + + + +

    +
    func (x *ReadResponse) Reset()
    + + + + + + +

    func (*ReadResponse) String + + + +

    +
    func (x *ReadResponse) String() string
    + + + + + + + + +

    type SetDeadlineRequest + + + +

    + +
    type SetDeadlineRequest struct {
    +
    +    // time represents an instant in time in bytes
    +    Time []byte `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*SetDeadlineRequest) Descriptor + + + +

    +
    func (*SetDeadlineRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use SetDeadlineRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*SetDeadlineRequest) GetTime + + + +

    +
    func (x *SetDeadlineRequest) GetTime() []byte
    + + + + + + +

    func (*SetDeadlineRequest) ProtoMessage + + + +

    +
    func (*SetDeadlineRequest) ProtoMessage()
    + + + + + + +

    func (*SetDeadlineRequest) ProtoReflect + + + +

    +
    func (x *SetDeadlineRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*SetDeadlineRequest) Reset + + + +

    +
    func (x *SetDeadlineRequest) Reset()
    + + + + + + +

    func (*SetDeadlineRequest) String + + + +

    +
    func (x *SetDeadlineRequest) String() string
    + + + + + + + + +

    type UnimplementedConnServer + + + +

    +

    UnimplementedConnServer should be embedded to have forward compatible implementations. + +

    type UnimplementedConnServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedConnServer) Close + + + +

    +
    func (UnimplementedConnServer) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedConnServer) Read + + + +

    +
    func (UnimplementedConnServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    + + + + + + +

    func (UnimplementedConnServer) SetDeadline + + + +

    +
    func (UnimplementedConnServer) SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedConnServer) SetReadDeadline + + + +

    +
    func (UnimplementedConnServer) SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedConnServer) SetWriteDeadline + + + +

    +
    func (UnimplementedConnServer) SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedConnServer) Write + + + +

    +
    func (UnimplementedConnServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    + + + + + + + + +

    type UnsafeConnServer + + + +

    +

    UnsafeConnServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to ConnServer will +result in compilation errors. + +

    type UnsafeConnServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type WriteRequest + + + +

    + +
    type WriteRequest struct {
    +
    +    // payload is the write request in bytes
    +    Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteRequest) Descriptor + + + +

    +
    func (*WriteRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteRequest) GetPayload + + + +

    +
    func (x *WriteRequest) GetPayload() []byte
    + + + + + + +

    func (*WriteRequest) ProtoMessage + + + +

    +
    func (*WriteRequest) ProtoMessage()
    + + + + + + +

    func (*WriteRequest) ProtoReflect + + + +

    +
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteRequest) Reset + + + +

    +
    func (x *WriteRequest) Reset()
    + + + + + + +

    func (*WriteRequest) String + + + +

    +
    func (x *WriteRequest) String() string
    + + + + + + + + +

    type WriteResponse + + + +

    + +
    type WriteResponse struct {
    +
    +    // length of the response in bytes
    +    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    +    // error is an error message
    +    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteResponse) Descriptor + + + +

    +
    func (*WriteResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteResponse) GetError + + + +

    +
    func (x *WriteResponse) GetError() string
    + + + + + + +

    func (*WriteResponse) GetLength + + + +

    +
    func (x *WriteResponse) GetLength() int32
    + + + + + + +

    func (*WriteResponse) ProtoMessage + + + +

    +
    func (*WriteResponse) ProtoMessage()
    + + + + + + +

    func (*WriteResponse) ProtoReflect + + + +

    +
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteResponse) Reset + + + +

    +
    func (x *WriteResponse) Reset()
    + + + + + + +

    func (*WriteResponse) String + + + +

    +
    func (x *WriteResponse) String() string
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html new file mode 100644 index 00000000..ee9434da --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html @@ -0,0 +1,120 @@ + + + + + + + + /src/github.com/consideritdone/landslidevm/proto/net - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Directory /src/github.com/consideritdone/landslidevm/proto/net + +

    + + + + + + + + + + + + + + + + + + + +
    + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + conn + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html new file mode 100644 index 00000000..12b0a565 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html @@ -0,0 +1,3745 @@ + + + + + + + + rpcdb - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package rpcdb + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/rpcdb"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer)
    + + + +
    type CloseRequest
    + + + +
        func (*CloseRequest) Descriptor() ([]byte, []int)
    + + +
        func (*CloseRequest) ProtoMessage()
    + + +
        func (x *CloseRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *CloseRequest) Reset()
    + + +
        func (x *CloseRequest) String() string
    + + + +
    type CloseResponse
    + + + +
        func (*CloseResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *CloseResponse) GetErr() Error
    + + +
        func (*CloseResponse) ProtoMessage()
    + + +
        func (x *CloseResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *CloseResponse) Reset()
    + + +
        func (x *CloseResponse) String() string
    + + + +
    type CompactRequest
    + + + +
        func (*CompactRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *CompactRequest) GetLimit() []byte
    + + +
        func (x *CompactRequest) GetStart() []byte
    + + +
        func (*CompactRequest) ProtoMessage()
    + + +
        func (x *CompactRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *CompactRequest) Reset()
    + + +
        func (x *CompactRequest) String() string
    + + + +
    type CompactResponse
    + + + +
        func (*CompactResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *CompactResponse) GetErr() Error
    + + +
        func (*CompactResponse) ProtoMessage()
    + + +
        func (x *CompactResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *CompactResponse) Reset()
    + + +
        func (x *CompactResponse) String() string
    + + + +
    type DatabaseClient
    + + +
        func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient
    + + + + +
    type DatabaseServer
    + + + + +
    type DeleteRequest
    + + + +
        func (*DeleteRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *DeleteRequest) GetKey() []byte
    + + +
        func (*DeleteRequest) ProtoMessage()
    + + +
        func (x *DeleteRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *DeleteRequest) Reset()
    + + +
        func (x *DeleteRequest) String() string
    + + + +
    type DeleteResponse
    + + + +
        func (*DeleteResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *DeleteResponse) GetErr() Error
    + + +
        func (*DeleteResponse) ProtoMessage()
    + + +
        func (x *DeleteResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *DeleteResponse) Reset()
    + + +
        func (x *DeleteResponse) String() string
    + + + +
    type Error
    + + + +
        func (Error) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x Error) Enum() *Error
    + + +
        func (Error) EnumDescriptor() ([]byte, []int)
    + + +
        func (x Error) Number() protoreflect.EnumNumber
    + + +
        func (x Error) String() string
    + + +
        func (Error) Type() protoreflect.EnumType
    + + + +
    type GetRequest
    + + + +
        func (*GetRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *GetRequest) GetKey() []byte
    + + +
        func (*GetRequest) ProtoMessage()
    + + +
        func (x *GetRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetRequest) Reset()
    + + +
        func (x *GetRequest) String() string
    + + + +
    type GetResponse
    + + + +
        func (*GetResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetResponse) GetErr() Error
    + + +
        func (x *GetResponse) GetValue() []byte
    + + +
        func (*GetResponse) ProtoMessage()
    + + +
        func (x *GetResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetResponse) Reset()
    + + +
        func (x *GetResponse) String() string
    + + + +
    type HasRequest
    + + + +
        func (*HasRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *HasRequest) GetKey() []byte
    + + +
        func (*HasRequest) ProtoMessage()
    + + +
        func (x *HasRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *HasRequest) Reset()
    + + +
        func (x *HasRequest) String() string
    + + + +
    type HasResponse
    + + + +
        func (*HasResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *HasResponse) GetErr() Error
    + + +
        func (x *HasResponse) GetHas() bool
    + + +
        func (*HasResponse) ProtoMessage()
    + + +
        func (x *HasResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *HasResponse) Reset()
    + + +
        func (x *HasResponse) String() string
    + + + +
    type HealthCheckResponse
    + + + +
        func (*HealthCheckResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *HealthCheckResponse) GetDetails() []byte
    + + +
        func (*HealthCheckResponse) ProtoMessage()
    + + +
        func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *HealthCheckResponse) Reset()
    + + +
        func (x *HealthCheckResponse) String() string
    + + + +
    type IteratorErrorRequest
    + + + +
        func (*IteratorErrorRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorErrorRequest) GetId() uint64
    + + +
        func (*IteratorErrorRequest) ProtoMessage()
    + + +
        func (x *IteratorErrorRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorErrorRequest) Reset()
    + + +
        func (x *IteratorErrorRequest) String() string
    + + + +
    type IteratorErrorResponse
    + + + +
        func (*IteratorErrorResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorErrorResponse) GetErr() Error
    + + +
        func (*IteratorErrorResponse) ProtoMessage()
    + + +
        func (x *IteratorErrorResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorErrorResponse) Reset()
    + + +
        func (x *IteratorErrorResponse) String() string
    + + + +
    type IteratorNextRequest
    + + + +
        func (*IteratorNextRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorNextRequest) GetId() uint64
    + + +
        func (*IteratorNextRequest) ProtoMessage()
    + + +
        func (x *IteratorNextRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorNextRequest) Reset()
    + + +
        func (x *IteratorNextRequest) String() string
    + + + +
    type IteratorNextResponse
    + + + +
        func (*IteratorNextResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorNextResponse) GetData() []*PutRequest
    + + +
        func (*IteratorNextResponse) ProtoMessage()
    + + +
        func (x *IteratorNextResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorNextResponse) Reset()
    + + +
        func (x *IteratorNextResponse) String() string
    + + + +
    type IteratorReleaseRequest
    + + + +
        func (*IteratorReleaseRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorReleaseRequest) GetId() uint64
    + + +
        func (*IteratorReleaseRequest) ProtoMessage()
    + + +
        func (x *IteratorReleaseRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorReleaseRequest) Reset()
    + + +
        func (x *IteratorReleaseRequest) String() string
    + + + +
    type IteratorReleaseResponse
    + + + +
        func (*IteratorReleaseResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *IteratorReleaseResponse) GetErr() Error
    + + +
        func (*IteratorReleaseResponse) ProtoMessage()
    + + +
        func (x *IteratorReleaseResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *IteratorReleaseResponse) Reset()
    + + +
        func (x *IteratorReleaseResponse) String() string
    + + + +
    type NewIteratorRequest
    + + + +
        func (*NewIteratorRequest) Descriptor() ([]byte, []int)
    + + +
        func (*NewIteratorRequest) ProtoMessage()
    + + +
        func (x *NewIteratorRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *NewIteratorRequest) Reset()
    + + +
        func (x *NewIteratorRequest) String() string
    + + + +
    type NewIteratorWithStartAndPrefixRequest
    + + + +
        func (*NewIteratorWithStartAndPrefixRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *NewIteratorWithStartAndPrefixRequest) GetPrefix() []byte
    + + +
        func (x *NewIteratorWithStartAndPrefixRequest) GetStart() []byte
    + + +
        func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage()
    + + +
        func (x *NewIteratorWithStartAndPrefixRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *NewIteratorWithStartAndPrefixRequest) Reset()
    + + +
        func (x *NewIteratorWithStartAndPrefixRequest) String() string
    + + + +
    type NewIteratorWithStartAndPrefixResponse
    + + + +
        func (*NewIteratorWithStartAndPrefixResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *NewIteratorWithStartAndPrefixResponse) GetId() uint64
    + + +
        func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage()
    + + +
        func (x *NewIteratorWithStartAndPrefixResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *NewIteratorWithStartAndPrefixResponse) Reset()
    + + +
        func (x *NewIteratorWithStartAndPrefixResponse) String() string
    + + + +
    type PutRequest
    + + + +
        func (*PutRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *PutRequest) GetKey() []byte
    + + +
        func (x *PutRequest) GetValue() []byte
    + + +
        func (*PutRequest) ProtoMessage()
    + + +
        func (x *PutRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *PutRequest) Reset()
    + + +
        func (x *PutRequest) String() string
    + + + +
    type PutResponse
    + + + +
        func (*PutResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *PutResponse) GetErr() Error
    + + +
        func (*PutResponse) ProtoMessage()
    + + +
        func (x *PutResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *PutResponse) Reset()
    + + +
        func (x *PutResponse) String() string
    + + + +
    type UnimplementedDatabaseServer
    + + + +
        func (UnimplementedDatabaseServer) Close(context.Context, *CloseRequest) (*CloseResponse, error)
    + + +
        func (UnimplementedDatabaseServer) Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    + + +
        func (UnimplementedDatabaseServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    + + +
        func (UnimplementedDatabaseServer) Get(context.Context, *GetRequest) (*GetResponse, error)
    + + +
        func (UnimplementedDatabaseServer) Has(context.Context, *HasRequest) (*HasResponse, error)
    + + +
        func (UnimplementedDatabaseServer) HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    + + +
        func (UnimplementedDatabaseServer) IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    + + +
        func (UnimplementedDatabaseServer) IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    + + +
        func (UnimplementedDatabaseServer) IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    + + +
        func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    + + +
        func (UnimplementedDatabaseServer) Put(context.Context, *PutRequest) (*PutResponse, error)
    + + +
        func (UnimplementedDatabaseServer) WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    + + + +
    type UnsafeDatabaseServer
    + + + + +
    type WriteBatchRequest
    + + + +
        func (*WriteBatchRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteBatchRequest) GetDeletes() []*DeleteRequest
    + + +
        func (x *WriteBatchRequest) GetPuts() []*PutRequest
    + + +
        func (*WriteBatchRequest) ProtoMessage()
    + + +
        func (x *WriteBatchRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteBatchRequest) Reset()
    + + +
        func (x *WriteBatchRequest) String() string
    + + + +
    type WriteBatchResponse
    + + + +
        func (*WriteBatchResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *WriteBatchResponse) GetErr() Error
    + + +
        func (*WriteBatchResponse) ProtoMessage()
    + + +
        func (x *WriteBatchResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *WriteBatchResponse) Reset()
    + + +
        func (x *WriteBatchResponse) String() string
    + + + +
    +
    + + + + +

    Package files

    +

    + + + rpcdb.pb.go + + rpcdb_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    Database_Has_FullMethodName                           = "/rpcdb.Database/Has"
    +    Database_Get_FullMethodName                           = "/rpcdb.Database/Get"
    +    Database_Put_FullMethodName                           = "/rpcdb.Database/Put"
    +    Database_Delete_FullMethodName                        = "/rpcdb.Database/Delete"
    +    Database_Compact_FullMethodName                       = "/rpcdb.Database/Compact"
    +    Database_Close_FullMethodName                         = "/rpcdb.Database/Close"
    +    Database_HealthCheck_FullMethodName                   = "/rpcdb.Database/HealthCheck"
    +    Database_WriteBatch_FullMethodName                    = "/rpcdb.Database/WriteBatch"
    +    Database_NewIteratorWithStartAndPrefix_FullMethodName = "/rpcdb.Database/NewIteratorWithStartAndPrefix"
    +    Database_IteratorNext_FullMethodName                  = "/rpcdb.Database/IteratorNext"
    +    Database_IteratorError_FullMethodName                 = "/rpcdb.Database/IteratorError"
    +    Database_IteratorRelease_FullMethodName               = "/rpcdb.Database/IteratorRelease"
    +)
    + + + +

    Variables

    + +

    Enum value maps for Error. + +

    var (
    +    Error_name = map[int32]string{
    +        0: "ERROR_UNSPECIFIED",
    +        1: "ERROR_CLOSED",
    +        2: "ERROR_NOT_FOUND",
    +    }
    +    Error_value = map[string]int32{
    +        "ERROR_UNSPECIFIED": 0,
    +        "ERROR_CLOSED":      1,
    +        "ERROR_NOT_FOUND":   2,
    +    }
    +)
    + +

    Database_ServiceDesc is the grpc.ServiceDesc for Database service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Database_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "rpcdb.Database",
    +    HandlerType: (*DatabaseServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Has",
    +            Handler:    _Database_Has_Handler,
    +        },
    +        {
    +            MethodName: "Get",
    +            Handler:    _Database_Get_Handler,
    +        },
    +        {
    +            MethodName: "Put",
    +            Handler:    _Database_Put_Handler,
    +        },
    +        {
    +            MethodName: "Delete",
    +            Handler:    _Database_Delete_Handler,
    +        },
    +        {
    +            MethodName: "Compact",
    +            Handler:    _Database_Compact_Handler,
    +        },
    +        {
    +            MethodName: "Close",
    +            Handler:    _Database_Close_Handler,
    +        },
    +        {
    +            MethodName: "HealthCheck",
    +            Handler:    _Database_HealthCheck_Handler,
    +        },
    +        {
    +            MethodName: "WriteBatch",
    +            Handler:    _Database_WriteBatch_Handler,
    +        },
    +        {
    +            MethodName: "NewIteratorWithStartAndPrefix",
    +            Handler:    _Database_NewIteratorWithStartAndPrefix_Handler,
    +        },
    +        {
    +            MethodName: "IteratorNext",
    +            Handler:    _Database_IteratorNext_Handler,
    +        },
    +        {
    +            MethodName: "IteratorError",
    +            Handler:    _Database_IteratorError_Handler,
    +        },
    +        {
    +            MethodName: "IteratorRelease",
    +            Handler:    _Database_IteratorRelease_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "rpcdb/rpcdb.proto",
    +}
    + + +
    var File_rpcdb_rpcdb_proto protoreflect.FileDescriptor
    + + + + + +

    func RegisterDatabaseServer + + + +

    +
    func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer)
    + + + + + + + + +

    type CloseRequest + + + +

    + +
    type CloseRequest struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CloseRequest) Descriptor + + + +

    +
    func (*CloseRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CloseRequest) ProtoMessage + + + +

    +
    func (*CloseRequest) ProtoMessage()
    + + + + + + +

    func (*CloseRequest) ProtoReflect + + + +

    +
    func (x *CloseRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CloseRequest) Reset + + + +

    +
    func (x *CloseRequest) Reset()
    + + + + + + +

    func (*CloseRequest) String + + + +

    +
    func (x *CloseRequest) String() string
    + + + + + + + + +

    type CloseResponse + + + +

    + +
    type CloseResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CloseResponse) Descriptor + + + +

    +
    func (*CloseResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CloseResponse) GetErr + + + +

    +
    func (x *CloseResponse) GetErr() Error
    + + + + + + +

    func (*CloseResponse) ProtoMessage + + + +

    +
    func (*CloseResponse) ProtoMessage()
    + + + + + + +

    func (*CloseResponse) ProtoReflect + + + +

    +
    func (x *CloseResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CloseResponse) Reset + + + +

    +
    func (x *CloseResponse) Reset()
    + + + + + + +

    func (*CloseResponse) String + + + +

    +
    func (x *CloseResponse) String() string
    + + + + + + + + +

    type CompactRequest + + + +

    + +
    type CompactRequest struct {
    +    Start []byte `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    +    Limit []byte `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CompactRequest) Descriptor + + + +

    +
    func (*CompactRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CompactRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CompactRequest) GetLimit + + + +

    +
    func (x *CompactRequest) GetLimit() []byte
    + + + + + + +

    func (*CompactRequest) GetStart + + + +

    +
    func (x *CompactRequest) GetStart() []byte
    + + + + + + +

    func (*CompactRequest) ProtoMessage + + + +

    +
    func (*CompactRequest) ProtoMessage()
    + + + + + + +

    func (*CompactRequest) ProtoReflect + + + +

    +
    func (x *CompactRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CompactRequest) Reset + + + +

    +
    func (x *CompactRequest) Reset()
    + + + + + + +

    func (*CompactRequest) String + + + +

    +
    func (x *CompactRequest) String() string
    + + + + + + + + +

    type CompactResponse + + + +

    + +
    type CompactResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CompactResponse) Descriptor + + + +

    +
    func (*CompactResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CompactResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CompactResponse) GetErr + + + +

    +
    func (x *CompactResponse) GetErr() Error
    + + + + + + +

    func (*CompactResponse) ProtoMessage + + + +

    +
    func (*CompactResponse) ProtoMessage()
    + + + + + + +

    func (*CompactResponse) ProtoReflect + + + +

    +
    func (x *CompactResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CompactResponse) Reset + + + +

    +
    func (x *CompactResponse) Reset()
    + + + + + + +

    func (*CompactResponse) String + + + +

    +
    func (x *CompactResponse) String() string
    + + + + + + + + +

    type DatabaseClient + + + +

    +

    DatabaseClient is the client API for Database 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 DatabaseClient interface {
    +    Has(ctx context.Context, in *HasRequest, opts ...grpc.CallOption) (*HasResponse, error)
    +    Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error)
    +    Put(ctx context.Context, in *PutRequest, opts ...grpc.CallOption) (*PutResponse, error)
    +    Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
    +    Compact(ctx context.Context, in *CompactRequest, opts ...grpc.CallOption) (*CompactResponse, error)
    +    Close(ctx context.Context, in *CloseRequest, opts ...grpc.CallOption) (*CloseResponse, error)
    +    HealthCheck(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HealthCheckResponse, error)
    +    WriteBatch(ctx context.Context, in *WriteBatchRequest, opts ...grpc.CallOption) (*WriteBatchResponse, error)
    +    NewIteratorWithStartAndPrefix(ctx context.Context, in *NewIteratorWithStartAndPrefixRequest, opts ...grpc.CallOption) (*NewIteratorWithStartAndPrefixResponse, error)
    +    IteratorNext(ctx context.Context, in *IteratorNextRequest, opts ...grpc.CallOption) (*IteratorNextResponse, error)
    +    IteratorError(ctx context.Context, in *IteratorErrorRequest, opts ...grpc.CallOption) (*IteratorErrorResponse, error)
    +    IteratorRelease(ctx context.Context, in *IteratorReleaseRequest, opts ...grpc.CallOption) (*IteratorReleaseResponse, error)
    +}
    + + + + + + + + + + + +

    func NewDatabaseClient + + + +

    +
    func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient
    + + + + + + + + + +

    type DatabaseServer + + + +

    +

    DatabaseServer is the server API for Database service. +All implementations should embed UnimplementedDatabaseServer +for forward compatibility + +

    type DatabaseServer interface {
    +    Has(context.Context, *HasRequest) (*HasResponse, error)
    +    Get(context.Context, *GetRequest) (*GetResponse, error)
    +    Put(context.Context, *PutRequest) (*PutResponse, error)
    +    Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    +    Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    +    Close(context.Context, *CloseRequest) (*CloseResponse, error)
    +    HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    +    WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    +    NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    +    IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    +    IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    +    IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    +}
    + + + + + + + + + + + + + + + +

    type DeleteRequest + + + +

    + +
    type DeleteRequest struct {
    +    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*DeleteRequest) Descriptor + + + +

    +
    func (*DeleteRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*DeleteRequest) GetKey + + + +

    +
    func (x *DeleteRequest) GetKey() []byte
    + + + + + + +

    func (*DeleteRequest) ProtoMessage + + + +

    +
    func (*DeleteRequest) ProtoMessage()
    + + + + + + +

    func (*DeleteRequest) ProtoReflect + + + +

    +
    func (x *DeleteRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*DeleteRequest) Reset + + + +

    +
    func (x *DeleteRequest) Reset()
    + + + + + + +

    func (*DeleteRequest) String + + + +

    +
    func (x *DeleteRequest) String() string
    + + + + + + + + +

    type DeleteResponse + + + +

    + +
    type DeleteResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*DeleteResponse) Descriptor + + + +

    +
    func (*DeleteResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*DeleteResponse) GetErr + + + +

    +
    func (x *DeleteResponse) GetErr() Error
    + + + + + + +

    func (*DeleteResponse) ProtoMessage + + + +

    +
    func (*DeleteResponse) ProtoMessage()
    + + + + + + +

    func (*DeleteResponse) ProtoReflect + + + +

    +
    func (x *DeleteResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*DeleteResponse) Reset + + + +

    +
    func (x *DeleteResponse) Reset()
    + + + + + + +

    func (*DeleteResponse) String + + + +

    +
    func (x *DeleteResponse) String() string
    + + + + + + + + +

    type Error + + + +

    + +
    type Error int32
    + + + +
    const (
    +    // ERROR_UNSPECIFIED is used to indicate that no error occurred.
    +    Error_ERROR_UNSPECIFIED Error = 0
    +    Error_ERROR_CLOSED      Error = 1
    +    Error_ERROR_NOT_FOUND   Error = 2
    +)
    + + + + + + + + + + + + +

    func (Error) Descriptor + + + +

    +
    func (Error) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (Error) Enum + + + +

    +
    func (x Error) Enum() *Error
    + + + + + + +

    func (Error) EnumDescriptor + + + +

    +
    func (Error) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use Error.Descriptor instead. + + + + + + +

    func (Error) Number + + + +

    +
    func (x Error) Number() protoreflect.EnumNumber
    + + + + + + +

    func (Error) String + + + +

    +
    func (x Error) String() string
    + + + + + + +

    func (Error) Type + + + +

    +
    func (Error) Type() protoreflect.EnumType
    + + + + + + + + +

    type GetRequest + + + +

    + +
    type GetRequest struct {
    +    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetRequest) Descriptor + + + +

    +
    func (*GetRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetRequest) GetKey + + + +

    +
    func (x *GetRequest) GetKey() []byte
    + + + + + + +

    func (*GetRequest) ProtoMessage + + + +

    +
    func (*GetRequest) ProtoMessage()
    + + + + + + +

    func (*GetRequest) ProtoReflect + + + +

    +
    func (x *GetRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetRequest) Reset + + + +

    +
    func (x *GetRequest) Reset()
    + + + + + + +

    func (*GetRequest) String + + + +

    +
    func (x *GetRequest) String() string
    + + + + + + + + +

    type GetResponse + + + +

    + +
    type GetResponse struct {
    +    Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
    +    Err   Error  `protobuf:"varint,2,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetResponse) Descriptor + + + +

    +
    func (*GetResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetResponse) GetErr + + + +

    +
    func (x *GetResponse) GetErr() Error
    + + + + + + +

    func (*GetResponse) GetValue + + + +

    +
    func (x *GetResponse) GetValue() []byte
    + + + + + + +

    func (*GetResponse) ProtoMessage + + + +

    +
    func (*GetResponse) ProtoMessage()
    + + + + + + +

    func (*GetResponse) ProtoReflect + + + +

    +
    func (x *GetResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetResponse) Reset + + + +

    +
    func (x *GetResponse) Reset()
    + + + + + + +

    func (*GetResponse) String + + + +

    +
    func (x *GetResponse) String() string
    + + + + + + + + +

    type HasRequest + + + +

    + +
    type HasRequest struct {
    +    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HasRequest) Descriptor + + + +

    +
    func (*HasRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HasRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HasRequest) GetKey + + + +

    +
    func (x *HasRequest) GetKey() []byte
    + + + + + + +

    func (*HasRequest) ProtoMessage + + + +

    +
    func (*HasRequest) ProtoMessage()
    + + + + + + +

    func (*HasRequest) ProtoReflect + + + +

    +
    func (x *HasRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HasRequest) Reset + + + +

    +
    func (x *HasRequest) Reset()
    + + + + + + +

    func (*HasRequest) String + + + +

    +
    func (x *HasRequest) String() string
    + + + + + + + + +

    type HasResponse + + + +

    + +
    type HasResponse struct {
    +    Has bool  `protobuf:"varint,1,opt,name=has,proto3" json:"has,omitempty"`
    +    Err Error `protobuf:"varint,2,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HasResponse) Descriptor + + + +

    +
    func (*HasResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HasResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HasResponse) GetErr + + + +

    +
    func (x *HasResponse) GetErr() Error
    + + + + + + +

    func (*HasResponse) GetHas + + + +

    +
    func (x *HasResponse) GetHas() bool
    + + + + + + +

    func (*HasResponse) ProtoMessage + + + +

    +
    func (*HasResponse) ProtoMessage()
    + + + + + + +

    func (*HasResponse) ProtoReflect + + + +

    +
    func (x *HasResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HasResponse) Reset + + + +

    +
    func (x *HasResponse) Reset()
    + + + + + + +

    func (*HasResponse) String + + + +

    +
    func (x *HasResponse) String() string
    + + + + + + + + +

    type HealthCheckResponse + + + +

    + +
    type HealthCheckResponse struct {
    +    Details []byte `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HealthCheckResponse) Descriptor + + + +

    +
    func (*HealthCheckResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HealthCheckResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HealthCheckResponse) GetDetails + + + +

    +
    func (x *HealthCheckResponse) GetDetails() []byte
    + + + + + + +

    func (*HealthCheckResponse) ProtoMessage + + + +

    +
    func (*HealthCheckResponse) ProtoMessage()
    + + + + + + +

    func (*HealthCheckResponse) ProtoReflect + + + +

    +
    func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HealthCheckResponse) Reset + + + +

    +
    func (x *HealthCheckResponse) Reset()
    + + + + + + +

    func (*HealthCheckResponse) String + + + +

    +
    func (x *HealthCheckResponse) String() string
    + + + + + + + + +

    type IteratorErrorRequest + + + +

    + +
    type IteratorErrorRequest struct {
    +    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorErrorRequest) Descriptor + + + +

    +
    func (*IteratorErrorRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorErrorRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorErrorRequest) GetId + + + +

    +
    func (x *IteratorErrorRequest) GetId() uint64
    + + + + + + +

    func (*IteratorErrorRequest) ProtoMessage + + + +

    +
    func (*IteratorErrorRequest) ProtoMessage()
    + + + + + + +

    func (*IteratorErrorRequest) ProtoReflect + + + +

    +
    func (x *IteratorErrorRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorErrorRequest) Reset + + + +

    +
    func (x *IteratorErrorRequest) Reset()
    + + + + + + +

    func (*IteratorErrorRequest) String + + + +

    +
    func (x *IteratorErrorRequest) String() string
    + + + + + + + + +

    type IteratorErrorResponse + + + +

    + +
    type IteratorErrorResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorErrorResponse) Descriptor + + + +

    +
    func (*IteratorErrorResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorErrorResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorErrorResponse) GetErr + + + +

    +
    func (x *IteratorErrorResponse) GetErr() Error
    + + + + + + +

    func (*IteratorErrorResponse) ProtoMessage + + + +

    +
    func (*IteratorErrorResponse) ProtoMessage()
    + + + + + + +

    func (*IteratorErrorResponse) ProtoReflect + + + +

    +
    func (x *IteratorErrorResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorErrorResponse) Reset + + + +

    +
    func (x *IteratorErrorResponse) Reset()
    + + + + + + +

    func (*IteratorErrorResponse) String + + + +

    +
    func (x *IteratorErrorResponse) String() string
    + + + + + + + + +

    type IteratorNextRequest + + + +

    + +
    type IteratorNextRequest struct {
    +    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorNextRequest) Descriptor + + + +

    +
    func (*IteratorNextRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorNextRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorNextRequest) GetId + + + +

    +
    func (x *IteratorNextRequest) GetId() uint64
    + + + + + + +

    func (*IteratorNextRequest) ProtoMessage + + + +

    +
    func (*IteratorNextRequest) ProtoMessage()
    + + + + + + +

    func (*IteratorNextRequest) ProtoReflect + + + +

    +
    func (x *IteratorNextRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorNextRequest) Reset + + + +

    +
    func (x *IteratorNextRequest) Reset()
    + + + + + + +

    func (*IteratorNextRequest) String + + + +

    +
    func (x *IteratorNextRequest) String() string
    + + + + + + + + +

    type IteratorNextResponse + + + +

    + +
    type IteratorNextResponse struct {
    +    Data []*PutRequest `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorNextResponse) Descriptor + + + +

    +
    func (*IteratorNextResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorNextResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorNextResponse) GetData + + + +

    +
    func (x *IteratorNextResponse) GetData() []*PutRequest
    + + + + + + +

    func (*IteratorNextResponse) ProtoMessage + + + +

    +
    func (*IteratorNextResponse) ProtoMessage()
    + + + + + + +

    func (*IteratorNextResponse) ProtoReflect + + + +

    +
    func (x *IteratorNextResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorNextResponse) Reset + + + +

    +
    func (x *IteratorNextResponse) Reset()
    + + + + + + +

    func (*IteratorNextResponse) String + + + +

    +
    func (x *IteratorNextResponse) String() string
    + + + + + + + + +

    type IteratorReleaseRequest + + + +

    + +
    type IteratorReleaseRequest struct {
    +    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorReleaseRequest) Descriptor + + + +

    +
    func (*IteratorReleaseRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorReleaseRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorReleaseRequest) GetId + + + +

    +
    func (x *IteratorReleaseRequest) GetId() uint64
    + + + + + + +

    func (*IteratorReleaseRequest) ProtoMessage + + + +

    +
    func (*IteratorReleaseRequest) ProtoMessage()
    + + + + + + +

    func (*IteratorReleaseRequest) ProtoReflect + + + +

    +
    func (x *IteratorReleaseRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorReleaseRequest) Reset + + + +

    +
    func (x *IteratorReleaseRequest) Reset()
    + + + + + + +

    func (*IteratorReleaseRequest) String + + + +

    +
    func (x *IteratorReleaseRequest) String() string
    + + + + + + + + +

    type IteratorReleaseResponse + + + +

    + +
    type IteratorReleaseResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*IteratorReleaseResponse) Descriptor + + + +

    +
    func (*IteratorReleaseResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use IteratorReleaseResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*IteratorReleaseResponse) GetErr + + + +

    +
    func (x *IteratorReleaseResponse) GetErr() Error
    + + + + + + +

    func (*IteratorReleaseResponse) ProtoMessage + + + +

    +
    func (*IteratorReleaseResponse) ProtoMessage()
    + + + + + + +

    func (*IteratorReleaseResponse) ProtoReflect + + + +

    +
    func (x *IteratorReleaseResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*IteratorReleaseResponse) Reset + + + +

    +
    func (x *IteratorReleaseResponse) Reset()
    + + + + + + +

    func (*IteratorReleaseResponse) String + + + +

    +
    func (x *IteratorReleaseResponse) String() string
    + + + + + + + + +

    type NewIteratorRequest + + + +

    + +
    type NewIteratorRequest struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*NewIteratorRequest) Descriptor + + + +

    +
    func (*NewIteratorRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use NewIteratorRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*NewIteratorRequest) ProtoMessage + + + +

    +
    func (*NewIteratorRequest) ProtoMessage()
    + + + + + + +

    func (*NewIteratorRequest) ProtoReflect + + + +

    +
    func (x *NewIteratorRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*NewIteratorRequest) Reset + + + +

    +
    func (x *NewIteratorRequest) Reset()
    + + + + + + +

    func (*NewIteratorRequest) String + + + +

    +
    func (x *NewIteratorRequest) String() string
    + + + + + + + + +

    type NewIteratorWithStartAndPrefixRequest + + + +

    + +
    type NewIteratorWithStartAndPrefixRequest struct {
    +    Start  []byte `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    +    Prefix []byte `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) Descriptor + + + +

    +
    func (*NewIteratorWithStartAndPrefixRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use NewIteratorWithStartAndPrefixRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) GetPrefix + + + +

    +
    func (x *NewIteratorWithStartAndPrefixRequest) GetPrefix() []byte
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) GetStart + + + +

    +
    func (x *NewIteratorWithStartAndPrefixRequest) GetStart() []byte
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage + + + +

    +
    func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage()
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) ProtoReflect + + + +

    +
    func (x *NewIteratorWithStartAndPrefixRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) Reset + + + +

    +
    func (x *NewIteratorWithStartAndPrefixRequest) Reset()
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixRequest) String + + + +

    +
    func (x *NewIteratorWithStartAndPrefixRequest) String() string
    + + + + + + + + +

    type NewIteratorWithStartAndPrefixResponse + + + +

    + +
    type NewIteratorWithStartAndPrefixResponse struct {
    +    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) Descriptor + + + +

    +
    func (*NewIteratorWithStartAndPrefixResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use NewIteratorWithStartAndPrefixResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) GetId + + + +

    +
    func (x *NewIteratorWithStartAndPrefixResponse) GetId() uint64
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage + + + +

    +
    func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage()
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) ProtoReflect + + + +

    +
    func (x *NewIteratorWithStartAndPrefixResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) Reset + + + +

    +
    func (x *NewIteratorWithStartAndPrefixResponse) Reset()
    + + + + + + +

    func (*NewIteratorWithStartAndPrefixResponse) String + + + +

    +
    func (x *NewIteratorWithStartAndPrefixResponse) String() string
    + + + + + + + + +

    type PutRequest + + + +

    + +
    type PutRequest struct {
    +    Key   []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    +    Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*PutRequest) Descriptor + + + +

    +
    func (*PutRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use PutRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*PutRequest) GetKey + + + +

    +
    func (x *PutRequest) GetKey() []byte
    + + + + + + +

    func (*PutRequest) GetValue + + + +

    +
    func (x *PutRequest) GetValue() []byte
    + + + + + + +

    func (*PutRequest) ProtoMessage + + + +

    +
    func (*PutRequest) ProtoMessage()
    + + + + + + +

    func (*PutRequest) ProtoReflect + + + +

    +
    func (x *PutRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*PutRequest) Reset + + + +

    +
    func (x *PutRequest) Reset()
    + + + + + + +

    func (*PutRequest) String + + + +

    +
    func (x *PutRequest) String() string
    + + + + + + + + +

    type PutResponse + + + +

    + +
    type PutResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*PutResponse) Descriptor + + + +

    +
    func (*PutResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use PutResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*PutResponse) GetErr + + + +

    +
    func (x *PutResponse) GetErr() Error
    + + + + + + +

    func (*PutResponse) ProtoMessage + + + +

    +
    func (*PutResponse) ProtoMessage()
    + + + + + + +

    func (*PutResponse) ProtoReflect + + + +

    +
    func (x *PutResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*PutResponse) Reset + + + +

    +
    func (x *PutResponse) Reset()
    + + + + + + +

    func (*PutResponse) String + + + +

    +
    func (x *PutResponse) String() string
    + + + + + + + + +

    type UnimplementedDatabaseServer + + + +

    +

    UnimplementedDatabaseServer should be embedded to have forward compatible implementations. + +

    type UnimplementedDatabaseServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedDatabaseServer) Close + + + +

    +
    func (UnimplementedDatabaseServer) Close(context.Context, *CloseRequest) (*CloseResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) Compact + + + +

    +
    func (UnimplementedDatabaseServer) Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) Delete + + + +

    +
    func (UnimplementedDatabaseServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) Get + + + +

    +
    func (UnimplementedDatabaseServer) Get(context.Context, *GetRequest) (*GetResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) Has + + + +

    +
    func (UnimplementedDatabaseServer) Has(context.Context, *HasRequest) (*HasResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) HealthCheck + + + +

    +
    func (UnimplementedDatabaseServer) HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) IteratorError + + + +

    +
    func (UnimplementedDatabaseServer) IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) IteratorNext + + + +

    +
    func (UnimplementedDatabaseServer) IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) IteratorRelease + + + +

    +
    func (UnimplementedDatabaseServer) IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix + + + +

    +
    func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) Put + + + +

    +
    func (UnimplementedDatabaseServer) Put(context.Context, *PutRequest) (*PutResponse, error)
    + + + + + + +

    func (UnimplementedDatabaseServer) WriteBatch + + + +

    +
    func (UnimplementedDatabaseServer) WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    + + + + + + + + +

    type UnsafeDatabaseServer + + + +

    +

    UnsafeDatabaseServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to DatabaseServer will +result in compilation errors. + +

    type UnsafeDatabaseServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type WriteBatchRequest + + + +

    + +
    type WriteBatchRequest struct {
    +    Puts    []*PutRequest    `protobuf:"bytes,1,rep,name=puts,proto3" json:"puts,omitempty"`
    +    Deletes []*DeleteRequest `protobuf:"bytes,2,rep,name=deletes,proto3" json:"deletes,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteBatchRequest) Descriptor + + + +

    +
    func (*WriteBatchRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteBatchRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteBatchRequest) GetDeletes + + + +

    +
    func (x *WriteBatchRequest) GetDeletes() []*DeleteRequest
    + + + + + + +

    func (*WriteBatchRequest) GetPuts + + + +

    +
    func (x *WriteBatchRequest) GetPuts() []*PutRequest
    + + + + + + +

    func (*WriteBatchRequest) ProtoMessage + + + +

    +
    func (*WriteBatchRequest) ProtoMessage()
    + + + + + + +

    func (*WriteBatchRequest) ProtoReflect + + + +

    +
    func (x *WriteBatchRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteBatchRequest) Reset + + + +

    +
    func (x *WriteBatchRequest) Reset()
    + + + + + + +

    func (*WriteBatchRequest) String + + + +

    +
    func (x *WriteBatchRequest) String() string
    + + + + + + + + +

    type WriteBatchResponse + + + +

    + +
    type WriteBatchResponse struct {
    +    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*WriteBatchResponse) Descriptor + + + +

    +
    func (*WriteBatchResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use WriteBatchResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*WriteBatchResponse) GetErr + + + +

    +
    func (x *WriteBatchResponse) GetErr() Error
    + + + + + + +

    func (*WriteBatchResponse) ProtoMessage + + + +

    +
    func (*WriteBatchResponse) ProtoMessage()
    + + + + + + +

    func (*WriteBatchResponse) ProtoReflect + + + +

    +
    func (x *WriteBatchResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*WriteBatchResponse) Reset + + + +

    +
    func (x *WriteBatchResponse) Reset()
    + + + + + + +

    func (*WriteBatchResponse) String + + + +

    +
    func (x *WriteBatchResponse) String() string
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html new file mode 100644 index 00000000..639533c4 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html @@ -0,0 +1,8487 @@ + + + + + + + + vm - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package vm + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/vm"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + +
    Constants
    + + +
    Variables
    + + + +
    func RegisterVMServer(s grpc.ServiceRegistrar, srv VMServer)
    + + + +
    type AppGossipMsg
    + + + +
        func (*AppGossipMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *AppGossipMsg) GetMsg() []byte
    + + +
        func (x *AppGossipMsg) GetNodeId() []byte
    + + +
        func (*AppGossipMsg) ProtoMessage()
    + + +
        func (x *AppGossipMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *AppGossipMsg) Reset()
    + + +
        func (x *AppGossipMsg) String() string
    + + + +
    type AppRequestFailedMsg
    + + + +
        func (*AppRequestFailedMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *AppRequestFailedMsg) GetErrorCode() int32
    + + +
        func (x *AppRequestFailedMsg) GetErrorMessage() string
    + + +
        func (x *AppRequestFailedMsg) GetNodeId() []byte
    + + +
        func (x *AppRequestFailedMsg) GetRequestId() uint32
    + + +
        func (*AppRequestFailedMsg) ProtoMessage()
    + + +
        func (x *AppRequestFailedMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *AppRequestFailedMsg) Reset()
    + + +
        func (x *AppRequestFailedMsg) String() string
    + + + +
    type AppRequestMsg
    + + + +
        func (*AppRequestMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *AppRequestMsg) GetDeadline() *timestamppb.Timestamp
    + + +
        func (x *AppRequestMsg) GetNodeId() []byte
    + + +
        func (x *AppRequestMsg) GetRequest() []byte
    + + +
        func (x *AppRequestMsg) GetRequestId() uint32
    + + +
        func (*AppRequestMsg) ProtoMessage()
    + + +
        func (x *AppRequestMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *AppRequestMsg) Reset()
    + + +
        func (x *AppRequestMsg) String() string
    + + + +
    type AppResponseMsg
    + + + +
        func (*AppResponseMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *AppResponseMsg) GetNodeId() []byte
    + + +
        func (x *AppResponseMsg) GetRequestId() uint32
    + + +
        func (x *AppResponseMsg) GetResponse() []byte
    + + +
        func (*AppResponseMsg) ProtoMessage()
    + + +
        func (x *AppResponseMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *AppResponseMsg) Reset()
    + + +
        func (x *AppResponseMsg) String() string
    + + + +
    type BatchedParseBlockRequest
    + + + +
        func (*BatchedParseBlockRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *BatchedParseBlockRequest) GetRequest() [][]byte
    + + +
        func (*BatchedParseBlockRequest) ProtoMessage()
    + + +
        func (x *BatchedParseBlockRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *BatchedParseBlockRequest) Reset()
    + + +
        func (x *BatchedParseBlockRequest) String() string
    + + + +
    type BatchedParseBlockResponse
    + + + +
        func (*BatchedParseBlockResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *BatchedParseBlockResponse) GetResponse() []*ParseBlockResponse
    + + +
        func (*BatchedParseBlockResponse) ProtoMessage()
    + + +
        func (x *BatchedParseBlockResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *BatchedParseBlockResponse) Reset()
    + + +
        func (x *BatchedParseBlockResponse) String() string
    + + + +
    type Block
    + + + +
        func (*Block) Descriptor() ([]byte, []int)
    + + +
        func (x *Block) GetBlock() []byte
    + + +
        func (x *Block) GetStatus() Status
    + + +
        func (*Block) ProtoMessage()
    + + +
        func (x *Block) ProtoReflect() protoreflect.Message
    + + +
        func (x *Block) Reset()
    + + +
        func (x *Block) String() string
    + + + +
    type BlockAcceptRequest
    + + + +
        func (*BlockAcceptRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *BlockAcceptRequest) GetId() []byte
    + + +
        func (*BlockAcceptRequest) ProtoMessage()
    + + +
        func (x *BlockAcceptRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *BlockAcceptRequest) Reset()
    + + +
        func (x *BlockAcceptRequest) String() string
    + + + +
    type BlockRejectRequest
    + + + +
        func (*BlockRejectRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *BlockRejectRequest) GetId() []byte
    + + +
        func (*BlockRejectRequest) ProtoMessage()
    + + +
        func (x *BlockRejectRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *BlockRejectRequest) Reset()
    + + +
        func (x *BlockRejectRequest) String() string
    + + + +
    type BlockVerifyRequest
    + + + +
        func (*BlockVerifyRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *BlockVerifyRequest) GetBytes() []byte
    + + +
        func (x *BlockVerifyRequest) GetPChainHeight() uint64
    + + +
        func (*BlockVerifyRequest) ProtoMessage()
    + + +
        func (x *BlockVerifyRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *BlockVerifyRequest) Reset()
    + + +
        func (x *BlockVerifyRequest) String() string
    + + + +
    type BlockVerifyResponse
    + + + +
        func (*BlockVerifyResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *BlockVerifyResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (*BlockVerifyResponse) ProtoMessage()
    + + +
        func (x *BlockVerifyResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *BlockVerifyResponse) Reset()
    + + +
        func (x *BlockVerifyResponse) String() string
    + + + +
    type BuildBlockRequest
    + + + +
        func (*BuildBlockRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *BuildBlockRequest) GetPChainHeight() uint64
    + + +
        func (*BuildBlockRequest) ProtoMessage()
    + + +
        func (x *BuildBlockRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *BuildBlockRequest) Reset()
    + + +
        func (x *BuildBlockRequest) String() string
    + + + +
    type BuildBlockResponse
    + + + +
        func (*BuildBlockResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *BuildBlockResponse) GetBytes() []byte
    + + +
        func (x *BuildBlockResponse) GetHeight() uint64
    + + +
        func (x *BuildBlockResponse) GetId() []byte
    + + +
        func (x *BuildBlockResponse) GetParentId() []byte
    + + +
        func (x *BuildBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (x *BuildBlockResponse) GetVerifyWithContext() bool
    + + +
        func (*BuildBlockResponse) ProtoMessage()
    + + +
        func (x *BuildBlockResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *BuildBlockResponse) Reset()
    + + +
        func (x *BuildBlockResponse) String() string
    + + + +
    type ConnectedRequest
    + + + +
        func (*ConnectedRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *ConnectedRequest) GetMajor() uint32
    + + +
        func (x *ConnectedRequest) GetMinor() uint32
    + + +
        func (x *ConnectedRequest) GetName() string
    + + +
        func (x *ConnectedRequest) GetNodeId() []byte
    + + +
        func (x *ConnectedRequest) GetPatch() uint32
    + + +
        func (*ConnectedRequest) ProtoMessage()
    + + +
        func (x *ConnectedRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *ConnectedRequest) Reset()
    + + +
        func (x *ConnectedRequest) String() string
    + + + +
    type CreateHandlersResponse
    + + + +
        func (*CreateHandlersResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *CreateHandlersResponse) GetHandlers() []*Handler
    + + +
        func (*CreateHandlersResponse) ProtoMessage()
    + + +
        func (x *CreateHandlersResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *CreateHandlersResponse) Reset()
    + + +
        func (x *CreateHandlersResponse) String() string
    + + + +
    type CrossChainAppRequestFailedMsg
    + + + +
        func (*CrossChainAppRequestFailedMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *CrossChainAppRequestFailedMsg) GetChainId() []byte
    + + +
        func (x *CrossChainAppRequestFailedMsg) GetErrorCode() int32
    + + +
        func (x *CrossChainAppRequestFailedMsg) GetErrorMessage() string
    + + +
        func (x *CrossChainAppRequestFailedMsg) GetRequestId() uint32
    + + +
        func (*CrossChainAppRequestFailedMsg) ProtoMessage()
    + + +
        func (x *CrossChainAppRequestFailedMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *CrossChainAppRequestFailedMsg) Reset()
    + + +
        func (x *CrossChainAppRequestFailedMsg) String() string
    + + + +
    type CrossChainAppRequestMsg
    + + + +
        func (*CrossChainAppRequestMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *CrossChainAppRequestMsg) GetChainId() []byte
    + + +
        func (x *CrossChainAppRequestMsg) GetDeadline() *timestamppb.Timestamp
    + + +
        func (x *CrossChainAppRequestMsg) GetRequest() []byte
    + + +
        func (x *CrossChainAppRequestMsg) GetRequestId() uint32
    + + +
        func (*CrossChainAppRequestMsg) ProtoMessage()
    + + +
        func (x *CrossChainAppRequestMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *CrossChainAppRequestMsg) Reset()
    + + +
        func (x *CrossChainAppRequestMsg) String() string
    + + + +
    type CrossChainAppResponseMsg
    + + + +
        func (*CrossChainAppResponseMsg) Descriptor() ([]byte, []int)
    + + +
        func (x *CrossChainAppResponseMsg) GetChainId() []byte
    + + +
        func (x *CrossChainAppResponseMsg) GetRequestId() uint32
    + + +
        func (x *CrossChainAppResponseMsg) GetResponse() []byte
    + + +
        func (*CrossChainAppResponseMsg) ProtoMessage()
    + + +
        func (x *CrossChainAppResponseMsg) ProtoReflect() protoreflect.Message
    + + +
        func (x *CrossChainAppResponseMsg) Reset()
    + + +
        func (x *CrossChainAppResponseMsg) String() string
    + + + +
    type DisconnectedRequest
    + + + +
        func (*DisconnectedRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *DisconnectedRequest) GetNodeId() []byte
    + + +
        func (*DisconnectedRequest) ProtoMessage()
    + + +
        func (x *DisconnectedRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *DisconnectedRequest) Reset()
    + + +
        func (x *DisconnectedRequest) String() string
    + + + +
    type Error
    + + + +
        func (Error) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x Error) Enum() *Error
    + + +
        func (Error) EnumDescriptor() ([]byte, []int)
    + + +
        func (x Error) Number() protoreflect.EnumNumber
    + + +
        func (x Error) String() string
    + + +
        func (Error) Type() protoreflect.EnumType
    + + + +
    type GatherResponse
    + + + +
        func (*GatherResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GatherResponse) GetMetricFamilies() []*_go.MetricFamily
    + + +
        func (*GatherResponse) ProtoMessage()
    + + +
        func (x *GatherResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GatherResponse) Reset()
    + + +
        func (x *GatherResponse) String() string
    + + + +
    type GetAncestorsRequest
    + + + +
        func (*GetAncestorsRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *GetAncestorsRequest) GetBlkId() []byte
    + + +
        func (x *GetAncestorsRequest) GetMaxBlocksNum() int32
    + + +
        func (x *GetAncestorsRequest) GetMaxBlocksRetrivalTime() int64
    + + +
        func (x *GetAncestorsRequest) GetMaxBlocksSize() int32
    + + +
        func (*GetAncestorsRequest) ProtoMessage()
    + + +
        func (x *GetAncestorsRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetAncestorsRequest) Reset()
    + + +
        func (x *GetAncestorsRequest) String() string
    + + + +
    type GetAncestorsResponse
    + + + +
        func (*GetAncestorsResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetAncestorsResponse) GetBlksBytes() [][]byte
    + + +
        func (*GetAncestorsResponse) ProtoMessage()
    + + +
        func (x *GetAncestorsResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetAncestorsResponse) Reset()
    + + +
        func (x *GetAncestorsResponse) String() string
    + + + +
    type GetBlockIDAtHeightRequest
    + + + +
        func (*GetBlockIDAtHeightRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *GetBlockIDAtHeightRequest) GetHeight() uint64
    + + +
        func (*GetBlockIDAtHeightRequest) ProtoMessage()
    + + +
        func (x *GetBlockIDAtHeightRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetBlockIDAtHeightRequest) Reset()
    + + +
        func (x *GetBlockIDAtHeightRequest) String() string
    + + + +
    type GetBlockIDAtHeightResponse
    + + + +
        func (*GetBlockIDAtHeightResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetBlockIDAtHeightResponse) GetBlkId() []byte
    + + +
        func (x *GetBlockIDAtHeightResponse) GetErr() Error
    + + +
        func (*GetBlockIDAtHeightResponse) ProtoMessage()
    + + +
        func (x *GetBlockIDAtHeightResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetBlockIDAtHeightResponse) Reset()
    + + +
        func (x *GetBlockIDAtHeightResponse) String() string
    + + + +
    type GetBlockRequest
    + + + +
        func (*GetBlockRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *GetBlockRequest) GetId() []byte
    + + +
        func (*GetBlockRequest) ProtoMessage()
    + + +
        func (x *GetBlockRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetBlockRequest) Reset()
    + + +
        func (x *GetBlockRequest) String() string
    + + + +
    type GetBlockResponse
    + + + +
        func (*GetBlockResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetBlockResponse) GetBytes() []byte
    + + +
        func (x *GetBlockResponse) GetErr() Error
    + + +
        func (x *GetBlockResponse) GetHeight() uint64
    + + +
        func (x *GetBlockResponse) GetParentId() []byte
    + + +
        func (x *GetBlockResponse) GetStatus() Status
    + + +
        func (x *GetBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (x *GetBlockResponse) GetVerifyWithContext() bool
    + + +
        func (*GetBlockResponse) ProtoMessage()
    + + +
        func (x *GetBlockResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetBlockResponse) Reset()
    + + +
        func (x *GetBlockResponse) String() string
    + + + +
    type GetLastStateSummaryResponse
    + + + +
        func (*GetLastStateSummaryResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetLastStateSummaryResponse) GetBytes() []byte
    + + +
        func (x *GetLastStateSummaryResponse) GetErr() Error
    + + +
        func (x *GetLastStateSummaryResponse) GetHeight() uint64
    + + +
        func (x *GetLastStateSummaryResponse) GetId() []byte
    + + +
        func (*GetLastStateSummaryResponse) ProtoMessage()
    + + +
        func (x *GetLastStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetLastStateSummaryResponse) Reset()
    + + +
        func (x *GetLastStateSummaryResponse) String() string
    + + + +
    type GetOngoingSyncStateSummaryResponse
    + + + +
        func (*GetOngoingSyncStateSummaryResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) GetBytes() []byte
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) GetErr() Error
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) GetHeight() uint64
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) GetId() []byte
    + + +
        func (*GetOngoingSyncStateSummaryResponse) ProtoMessage()
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) Reset()
    + + +
        func (x *GetOngoingSyncStateSummaryResponse) String() string
    + + + +
    type GetStateSummaryRequest
    + + + +
        func (*GetStateSummaryRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *GetStateSummaryRequest) GetHeight() uint64
    + + +
        func (*GetStateSummaryRequest) ProtoMessage()
    + + +
        func (x *GetStateSummaryRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetStateSummaryRequest) Reset()
    + + +
        func (x *GetStateSummaryRequest) String() string
    + + + +
    type GetStateSummaryResponse
    + + + +
        func (*GetStateSummaryResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *GetStateSummaryResponse) GetBytes() []byte
    + + +
        func (x *GetStateSummaryResponse) GetErr() Error
    + + +
        func (x *GetStateSummaryResponse) GetId() []byte
    + + +
        func (*GetStateSummaryResponse) ProtoMessage()
    + + +
        func (x *GetStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *GetStateSummaryResponse) Reset()
    + + +
        func (x *GetStateSummaryResponse) String() string
    + + + +
    type Handler
    + + + +
        func (*Handler) Descriptor() ([]byte, []int)
    + + +
        func (x *Handler) GetPrefix() string
    + + +
        func (x *Handler) GetServerAddr() string
    + + +
        func (*Handler) ProtoMessage()
    + + +
        func (x *Handler) ProtoReflect() protoreflect.Message
    + + +
        func (x *Handler) Reset()
    + + +
        func (x *Handler) String() string
    + + + +
    type HealthResponse
    + + + +
        func (*HealthResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *HealthResponse) GetDetails() []byte
    + + +
        func (*HealthResponse) ProtoMessage()
    + + +
        func (x *HealthResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *HealthResponse) Reset()
    + + +
        func (x *HealthResponse) String() string
    + + + +
    type InitializeRequest
    + + + +
        func (*InitializeRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *InitializeRequest) GetAvaxAssetId() []byte
    + + +
        func (x *InitializeRequest) GetCChainId() []byte
    + + +
        func (x *InitializeRequest) GetChainDataDir() string
    + + +
        func (x *InitializeRequest) GetChainId() []byte
    + + +
        func (x *InitializeRequest) GetConfigBytes() []byte
    + + +
        func (x *InitializeRequest) GetDbServerAddr() string
    + + +
        func (x *InitializeRequest) GetGenesisBytes() []byte
    + + +
        func (x *InitializeRequest) GetNetworkId() uint32
    + + +
        func (x *InitializeRequest) GetNodeId() []byte
    + + +
        func (x *InitializeRequest) GetPublicKey() []byte
    + + +
        func (x *InitializeRequest) GetServerAddr() string
    + + +
        func (x *InitializeRequest) GetSubnetId() []byte
    + + +
        func (x *InitializeRequest) GetUpgradeBytes() []byte
    + + +
        func (x *InitializeRequest) GetXChainId() []byte
    + + +
        func (*InitializeRequest) ProtoMessage()
    + + +
        func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *InitializeRequest) Reset()
    + + +
        func (x *InitializeRequest) String() string
    + + + +
    type InitializeResponse
    + + + +
        func (*InitializeResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *InitializeResponse) GetBytes() []byte
    + + +
        func (x *InitializeResponse) GetHeight() uint64
    + + +
        func (x *InitializeResponse) GetLastAcceptedId() []byte
    + + +
        func (x *InitializeResponse) GetLastAcceptedParentId() []byte
    + + +
        func (x *InitializeResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (*InitializeResponse) ProtoMessage()
    + + +
        func (x *InitializeResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *InitializeResponse) Reset()
    + + +
        func (x *InitializeResponse) String() string
    + + + +
    type ParseBlockRequest
    + + + +
        func (*ParseBlockRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *ParseBlockRequest) GetBytes() []byte
    + + +
        func (*ParseBlockRequest) ProtoMessage()
    + + +
        func (x *ParseBlockRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *ParseBlockRequest) Reset()
    + + +
        func (x *ParseBlockRequest) String() string
    + + + +
    type ParseBlockResponse
    + + + +
        func (*ParseBlockResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *ParseBlockResponse) GetHeight() uint64
    + + +
        func (x *ParseBlockResponse) GetId() []byte
    + + +
        func (x *ParseBlockResponse) GetParentId() []byte
    + + +
        func (x *ParseBlockResponse) GetStatus() Status
    + + +
        func (x *ParseBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (x *ParseBlockResponse) GetVerifyWithContext() bool
    + + +
        func (*ParseBlockResponse) ProtoMessage()
    + + +
        func (x *ParseBlockResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *ParseBlockResponse) Reset()
    + + +
        func (x *ParseBlockResponse) String() string
    + + + +
    type ParseStateSummaryRequest
    + + + +
        func (*ParseStateSummaryRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *ParseStateSummaryRequest) GetBytes() []byte
    + + +
        func (*ParseStateSummaryRequest) ProtoMessage()
    + + +
        func (x *ParseStateSummaryRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *ParseStateSummaryRequest) Reset()
    + + +
        func (x *ParseStateSummaryRequest) String() string
    + + + +
    type ParseStateSummaryResponse
    + + + +
        func (*ParseStateSummaryResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *ParseStateSummaryResponse) GetErr() Error
    + + +
        func (x *ParseStateSummaryResponse) GetHeight() uint64
    + + +
        func (x *ParseStateSummaryResponse) GetId() []byte
    + + +
        func (*ParseStateSummaryResponse) ProtoMessage()
    + + +
        func (x *ParseStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *ParseStateSummaryResponse) Reset()
    + + +
        func (x *ParseStateSummaryResponse) String() string
    + + + +
    type SetPreferenceRequest
    + + + +
        func (*SetPreferenceRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *SetPreferenceRequest) GetId() []byte
    + + +
        func (*SetPreferenceRequest) ProtoMessage()
    + + +
        func (x *SetPreferenceRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *SetPreferenceRequest) Reset()
    + + +
        func (x *SetPreferenceRequest) String() string
    + + + +
    type SetStateRequest
    + + + +
        func (*SetStateRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *SetStateRequest) GetState() State
    + + +
        func (*SetStateRequest) ProtoMessage()
    + + +
        func (x *SetStateRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *SetStateRequest) Reset()
    + + +
        func (x *SetStateRequest) String() string
    + + + +
    type SetStateResponse
    + + + +
        func (*SetStateResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *SetStateResponse) GetBytes() []byte
    + + +
        func (x *SetStateResponse) GetHeight() uint64
    + + +
        func (x *SetStateResponse) GetLastAcceptedId() []byte
    + + +
        func (x *SetStateResponse) GetLastAcceptedParentId() []byte
    + + +
        func (x *SetStateResponse) GetTimestamp() *timestamppb.Timestamp
    + + +
        func (*SetStateResponse) ProtoMessage()
    + + +
        func (x *SetStateResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *SetStateResponse) Reset()
    + + +
        func (x *SetStateResponse) String() string
    + + + +
    type State
    + + + +
        func (State) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x State) Enum() *State
    + + +
        func (State) EnumDescriptor() ([]byte, []int)
    + + +
        func (x State) Number() protoreflect.EnumNumber
    + + +
        func (x State) String() string
    + + +
        func (State) Type() protoreflect.EnumType
    + + + +
    type StateSummaryAcceptRequest
    + + + +
        func (*StateSummaryAcceptRequest) Descriptor() ([]byte, []int)
    + + +
        func (x *StateSummaryAcceptRequest) GetBytes() []byte
    + + +
        func (*StateSummaryAcceptRequest) ProtoMessage()
    + + +
        func (x *StateSummaryAcceptRequest) ProtoReflect() protoreflect.Message
    + + +
        func (x *StateSummaryAcceptRequest) Reset()
    + + +
        func (x *StateSummaryAcceptRequest) String() string
    + + + +
    type StateSummaryAcceptResponse
    + + + +
        func (*StateSummaryAcceptResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *StateSummaryAcceptResponse) GetErr() Error
    + + +
        func (x *StateSummaryAcceptResponse) GetMode() StateSummaryAcceptResponse_Mode
    + + +
        func (*StateSummaryAcceptResponse) ProtoMessage()
    + + +
        func (x *StateSummaryAcceptResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *StateSummaryAcceptResponse) Reset()
    + + +
        func (x *StateSummaryAcceptResponse) String() string
    + + + +
    type StateSummaryAcceptResponse_Mode
    + + + +
        func (StateSummaryAcceptResponse_Mode) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x StateSummaryAcceptResponse_Mode) Enum() *StateSummaryAcceptResponse_Mode
    + + +
        func (StateSummaryAcceptResponse_Mode) EnumDescriptor() ([]byte, []int)
    + + +
        func (x StateSummaryAcceptResponse_Mode) Number() protoreflect.EnumNumber
    + + +
        func (x StateSummaryAcceptResponse_Mode) String() string
    + + +
        func (StateSummaryAcceptResponse_Mode) Type() protoreflect.EnumType
    + + + +
    type StateSyncEnabledResponse
    + + + +
        func (*StateSyncEnabledResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *StateSyncEnabledResponse) GetEnabled() bool
    + + +
        func (x *StateSyncEnabledResponse) GetErr() Error
    + + +
        func (*StateSyncEnabledResponse) ProtoMessage()
    + + +
        func (x *StateSyncEnabledResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *StateSyncEnabledResponse) Reset()
    + + +
        func (x *StateSyncEnabledResponse) String() string
    + + + +
    type Status
    + + + +
        func (Status) Descriptor() protoreflect.EnumDescriptor
    + + +
        func (x Status) Enum() *Status
    + + +
        func (Status) EnumDescriptor() ([]byte, []int)
    + + +
        func (x Status) Number() protoreflect.EnumNumber
    + + +
        func (x Status) String() string
    + + +
        func (Status) Type() protoreflect.EnumType
    + + + +
    type UnimplementedVMServer
    + + + +
        func (UnimplementedVMServer) AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    + + +
        func (UnimplementedVMServer) BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    + + +
        func (UnimplementedVMServer) BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    + + +
        func (UnimplementedVMServer) Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    + + +
        func (UnimplementedVMServer) CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    + + +
        func (UnimplementedVMServer) GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    + + +
        func (UnimplementedVMServer) GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    + + +
        func (UnimplementedVMServer) GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    + + +
        func (UnimplementedVMServer) GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    + + +
        func (UnimplementedVMServer) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    + + +
        func (UnimplementedVMServer) GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    + + +
        func (UnimplementedVMServer) Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    + + +
        func (UnimplementedVMServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    + + +
        func (UnimplementedVMServer) ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    + + +
        func (UnimplementedVMServer) ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    + + +
        func (UnimplementedVMServer) SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    + + +
        func (UnimplementedVMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + +
        func (UnimplementedVMServer) StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    + + +
        func (UnimplementedVMServer) StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    + + +
        func (UnimplementedVMServer) Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    + + + +
    type UnsafeVMServer
    + + + + +
    type VMClient
    + + +
        func NewVMClient(cc grpc.ClientConnInterface) VMClient
    + + + + +
    type VMServer
    + + + + +
    type VersionResponse
    + + + +
        func (*VersionResponse) Descriptor() ([]byte, []int)
    + + +
        func (x *VersionResponse) GetVersion() string
    + + +
        func (*VersionResponse) ProtoMessage()
    + + +
        func (x *VersionResponse) ProtoReflect() protoreflect.Message
    + + +
        func (x *VersionResponse) Reset()
    + + +
        func (x *VersionResponse) String() string
    + + + +
    +
    + + + + +

    Package files

    +

    + + + landslidevm.pb.go + + landslidevm_grpc.pb.go + + +

    + +
    +
    + + + + +

    Constants

    + + +
    const (
    +    VM_Initialize_FullMethodName                 = "/vm.VM/Initialize"
    +    VM_SetState_FullMethodName                   = "/vm.VM/SetState"
    +    VM_Shutdown_FullMethodName                   = "/vm.VM/Shutdown"
    +    VM_CreateHandlers_FullMethodName             = "/vm.VM/CreateHandlers"
    +    VM_Connected_FullMethodName                  = "/vm.VM/Connected"
    +    VM_Disconnected_FullMethodName               = "/vm.VM/Disconnected"
    +    VM_BuildBlock_FullMethodName                 = "/vm.VM/BuildBlock"
    +    VM_ParseBlock_FullMethodName                 = "/vm.VM/ParseBlock"
    +    VM_GetBlock_FullMethodName                   = "/vm.VM/GetBlock"
    +    VM_SetPreference_FullMethodName              = "/vm.VM/SetPreference"
    +    VM_Health_FullMethodName                     = "/vm.VM/Health"
    +    VM_Version_FullMethodName                    = "/vm.VM/Version"
    +    VM_AppRequest_FullMethodName                 = "/vm.VM/AppRequest"
    +    VM_AppRequestFailed_FullMethodName           = "/vm.VM/AppRequestFailed"
    +    VM_AppResponse_FullMethodName                = "/vm.VM/AppResponse"
    +    VM_AppGossip_FullMethodName                  = "/vm.VM/AppGossip"
    +    VM_Gather_FullMethodName                     = "/vm.VM/Gather"
    +    VM_CrossChainAppRequest_FullMethodName       = "/vm.VM/CrossChainAppRequest"
    +    VM_CrossChainAppRequestFailed_FullMethodName = "/vm.VM/CrossChainAppRequestFailed"
    +    VM_CrossChainAppResponse_FullMethodName      = "/vm.VM/CrossChainAppResponse"
    +    VM_GetAncestors_FullMethodName               = "/vm.VM/GetAncestors"
    +    VM_BatchedParseBlock_FullMethodName          = "/vm.VM/BatchedParseBlock"
    +    VM_GetBlockIDAtHeight_FullMethodName         = "/vm.VM/GetBlockIDAtHeight"
    +    VM_StateSyncEnabled_FullMethodName           = "/vm.VM/StateSyncEnabled"
    +    VM_GetOngoingSyncStateSummary_FullMethodName = "/vm.VM/GetOngoingSyncStateSummary"
    +    VM_GetLastStateSummary_FullMethodName        = "/vm.VM/GetLastStateSummary"
    +    VM_ParseStateSummary_FullMethodName          = "/vm.VM/ParseStateSummary"
    +    VM_GetStateSummary_FullMethodName            = "/vm.VM/GetStateSummary"
    +    VM_BlockVerify_FullMethodName                = "/vm.VM/BlockVerify"
    +    VM_BlockAccept_FullMethodName                = "/vm.VM/BlockAccept"
    +    VM_BlockReject_FullMethodName                = "/vm.VM/BlockReject"
    +    VM_StateSummaryAccept_FullMethodName         = "/vm.VM/StateSummaryAccept"
    +)
    + + + +

    Variables

    + +

    Enum value maps for State. + +

    var (
    +    State_name = map[int32]string{
    +        0: "STATE_UNSPECIFIED",
    +        1: "STATE_STATE_SYNCING",
    +        2: "STATE_BOOTSTRAPPING",
    +        3: "STATE_NORMAL_OP",
    +    }
    +    State_value = map[string]int32{
    +        "STATE_UNSPECIFIED":   0,
    +        "STATE_STATE_SYNCING": 1,
    +        "STATE_BOOTSTRAPPING": 2,
    +        "STATE_NORMAL_OP":     3,
    +    }
    +)
    + +

    Enum value maps for Status. + +

    var (
    +    Status_name = map[int32]string{
    +        0: "STATUS_UNSPECIFIED",
    +        1: "STATUS_PROCESSING",
    +        2: "STATUS_REJECTED",
    +        3: "STATUS_ACCEPTED",
    +    }
    +    Status_value = map[string]int32{
    +        "STATUS_UNSPECIFIED": 0,
    +        "STATUS_PROCESSING":  1,
    +        "STATUS_REJECTED":    2,
    +        "STATUS_ACCEPTED":    3,
    +    }
    +)
    + +

    Enum value maps for Error. + +

    var (
    +    Error_name = map[int32]string{
    +        0: "ERROR_UNSPECIFIED",
    +        1: "ERROR_CLOSED",
    +        2: "ERROR_NOT_FOUND",
    +        3: "ERROR_STATE_SYNC_NOT_IMPLEMENTED",
    +    }
    +    Error_value = map[string]int32{
    +        "ERROR_UNSPECIFIED":                0,
    +        "ERROR_CLOSED":                     1,
    +        "ERROR_NOT_FOUND":                  2,
    +        "ERROR_STATE_SYNC_NOT_IMPLEMENTED": 3,
    +    }
    +)
    + +

    Enum value maps for StateSummaryAcceptResponse_Mode. + +

    var (
    +    StateSummaryAcceptResponse_Mode_name = map[int32]string{
    +        0: "MODE_UNSPECIFIED",
    +        1: "MODE_SKIPPED",
    +        2: "MODE_STATIC",
    +        3: "MODE_DYNAMIC",
    +    }
    +    StateSummaryAcceptResponse_Mode_value = map[string]int32{
    +        "MODE_UNSPECIFIED": 0,
    +        "MODE_SKIPPED":     1,
    +        "MODE_STATIC":      2,
    +        "MODE_DYNAMIC":     3,
    +    }
    +)
    + + +
    var File_vm_landslidevm_proto protoreflect.FileDescriptor
    + +

    VM_ServiceDesc is the grpc.ServiceDesc for VM service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var VM_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "vm.VM",
    +    HandlerType: (*VMServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Initialize",
    +            Handler:    _VM_Initialize_Handler,
    +        },
    +        {
    +            MethodName: "SetState",
    +            Handler:    _VM_SetState_Handler,
    +        },
    +        {
    +            MethodName: "Shutdown",
    +            Handler:    _VM_Shutdown_Handler,
    +        },
    +        {
    +            MethodName: "CreateHandlers",
    +            Handler:    _VM_CreateHandlers_Handler,
    +        },
    +        {
    +            MethodName: "Connected",
    +            Handler:    _VM_Connected_Handler,
    +        },
    +        {
    +            MethodName: "Disconnected",
    +            Handler:    _VM_Disconnected_Handler,
    +        },
    +        {
    +            MethodName: "BuildBlock",
    +            Handler:    _VM_BuildBlock_Handler,
    +        },
    +        {
    +            MethodName: "ParseBlock",
    +            Handler:    _VM_ParseBlock_Handler,
    +        },
    +        {
    +            MethodName: "GetBlock",
    +            Handler:    _VM_GetBlock_Handler,
    +        },
    +        {
    +            MethodName: "SetPreference",
    +            Handler:    _VM_SetPreference_Handler,
    +        },
    +        {
    +            MethodName: "Health",
    +            Handler:    _VM_Health_Handler,
    +        },
    +        {
    +            MethodName: "Version",
    +            Handler:    _VM_Version_Handler,
    +        },
    +        {
    +            MethodName: "AppRequest",
    +            Handler:    _VM_AppRequest_Handler,
    +        },
    +        {
    +            MethodName: "AppRequestFailed",
    +            Handler:    _VM_AppRequestFailed_Handler,
    +        },
    +        {
    +            MethodName: "AppResponse",
    +            Handler:    _VM_AppResponse_Handler,
    +        },
    +        {
    +            MethodName: "AppGossip",
    +            Handler:    _VM_AppGossip_Handler,
    +        },
    +        {
    +            MethodName: "Gather",
    +            Handler:    _VM_Gather_Handler,
    +        },
    +        {
    +            MethodName: "CrossChainAppRequest",
    +            Handler:    _VM_CrossChainAppRequest_Handler,
    +        },
    +        {
    +            MethodName: "CrossChainAppRequestFailed",
    +            Handler:    _VM_CrossChainAppRequestFailed_Handler,
    +        },
    +        {
    +            MethodName: "CrossChainAppResponse",
    +            Handler:    _VM_CrossChainAppResponse_Handler,
    +        },
    +        {
    +            MethodName: "GetAncestors",
    +            Handler:    _VM_GetAncestors_Handler,
    +        },
    +        {
    +            MethodName: "BatchedParseBlock",
    +            Handler:    _VM_BatchedParseBlock_Handler,
    +        },
    +        {
    +            MethodName: "GetBlockIDAtHeight",
    +            Handler:    _VM_GetBlockIDAtHeight_Handler,
    +        },
    +        {
    +            MethodName: "StateSyncEnabled",
    +            Handler:    _VM_StateSyncEnabled_Handler,
    +        },
    +        {
    +            MethodName: "GetOngoingSyncStateSummary",
    +            Handler:    _VM_GetOngoingSyncStateSummary_Handler,
    +        },
    +        {
    +            MethodName: "GetLastStateSummary",
    +            Handler:    _VM_GetLastStateSummary_Handler,
    +        },
    +        {
    +            MethodName: "ParseStateSummary",
    +            Handler:    _VM_ParseStateSummary_Handler,
    +        },
    +        {
    +            MethodName: "GetStateSummary",
    +            Handler:    _VM_GetStateSummary_Handler,
    +        },
    +        {
    +            MethodName: "BlockVerify",
    +            Handler:    _VM_BlockVerify_Handler,
    +        },
    +        {
    +            MethodName: "BlockAccept",
    +            Handler:    _VM_BlockAccept_Handler,
    +        },
    +        {
    +            MethodName: "BlockReject",
    +            Handler:    _VM_BlockReject_Handler,
    +        },
    +        {
    +            MethodName: "StateSummaryAccept",
    +            Handler:    _VM_StateSummaryAccept_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "vm/landslidevm.proto",
    +}
    + + + + + +

    func RegisterVMServer + + + +

    +
    func RegisterVMServer(s grpc.ServiceRegistrar, srv VMServer)
    + + + + + + + + +

    type AppGossipMsg + + + +

    + +
    type AppGossipMsg struct {
    +
    +    // The node that sent us a gossip message
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // The message body
    +    Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*AppGossipMsg) Descriptor + + + +

    +
    func (*AppGossipMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use AppGossipMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*AppGossipMsg) GetMsg + + + +

    +
    func (x *AppGossipMsg) GetMsg() []byte
    + + + + + + +

    func (*AppGossipMsg) GetNodeId + + + +

    +
    func (x *AppGossipMsg) GetNodeId() []byte
    + + + + + + +

    func (*AppGossipMsg) ProtoMessage + + + +

    +
    func (*AppGossipMsg) ProtoMessage()
    + + + + + + +

    func (*AppGossipMsg) ProtoReflect + + + +

    +
    func (x *AppGossipMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*AppGossipMsg) Reset + + + +

    +
    func (x *AppGossipMsg) Reset()
    + + + + + + +

    func (*AppGossipMsg) String + + + +

    +
    func (x *AppGossipMsg) String() string
    + + + + + + + + +

    type AppRequestFailedMsg + + + +

    + +
    type AppRequestFailedMsg struct {
    +
    +    // The node that we failed to get a response from
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // The ID of the request we sent and didn't get a response to
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // Application-defined error code
    +    ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
    +    // Application-defined error message
    +    ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*AppRequestFailedMsg) Descriptor + + + +

    +
    func (*AppRequestFailedMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use AppRequestFailedMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*AppRequestFailedMsg) GetErrorCode + + + +

    +
    func (x *AppRequestFailedMsg) GetErrorCode() int32
    + + + + + + +

    func (*AppRequestFailedMsg) GetErrorMessage + + + +

    +
    func (x *AppRequestFailedMsg) GetErrorMessage() string
    + + + + + + +

    func (*AppRequestFailedMsg) GetNodeId + + + +

    +
    func (x *AppRequestFailedMsg) GetNodeId() []byte
    + + + + + + +

    func (*AppRequestFailedMsg) GetRequestId + + + +

    +
    func (x *AppRequestFailedMsg) GetRequestId() uint32
    + + + + + + +

    func (*AppRequestFailedMsg) ProtoMessage + + + +

    +
    func (*AppRequestFailedMsg) ProtoMessage()
    + + + + + + +

    func (*AppRequestFailedMsg) ProtoReflect + + + +

    +
    func (x *AppRequestFailedMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*AppRequestFailedMsg) Reset + + + +

    +
    func (x *AppRequestFailedMsg) Reset()
    + + + + + + +

    func (*AppRequestFailedMsg) String + + + +

    +
    func (x *AppRequestFailedMsg) String() string
    + + + + + + + + +

    type AppRequestMsg + + + +

    + +
    type AppRequestMsg struct {
    +
    +    // The node that sent us this request
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // The ID of this request
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // deadline for this request
    +    Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
    +    // The request body
    +    Request []byte `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*AppRequestMsg) Descriptor + + + +

    +
    func (*AppRequestMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use AppRequestMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*AppRequestMsg) GetDeadline + + + +

    +
    func (x *AppRequestMsg) GetDeadline() *timestamppb.Timestamp
    + + + + + + +

    func (*AppRequestMsg) GetNodeId + + + +

    +
    func (x *AppRequestMsg) GetNodeId() []byte
    + + + + + + +

    func (*AppRequestMsg) GetRequest + + + +

    +
    func (x *AppRequestMsg) GetRequest() []byte
    + + + + + + +

    func (*AppRequestMsg) GetRequestId + + + +

    +
    func (x *AppRequestMsg) GetRequestId() uint32
    + + + + + + +

    func (*AppRequestMsg) ProtoMessage + + + +

    +
    func (*AppRequestMsg) ProtoMessage()
    + + + + + + +

    func (*AppRequestMsg) ProtoReflect + + + +

    +
    func (x *AppRequestMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*AppRequestMsg) Reset + + + +

    +
    func (x *AppRequestMsg) Reset()
    + + + + + + +

    func (*AppRequestMsg) String + + + +

    +
    func (x *AppRequestMsg) String() string
    + + + + + + + + +

    type AppResponseMsg + + + +

    + +
    type AppResponseMsg struct {
    +
    +    // The node that we got a response from
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // Request ID of request that this is in response to
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // The response body
    +    Response []byte `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*AppResponseMsg) Descriptor + + + +

    +
    func (*AppResponseMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use AppResponseMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*AppResponseMsg) GetNodeId + + + +

    +
    func (x *AppResponseMsg) GetNodeId() []byte
    + + + + + + +

    func (*AppResponseMsg) GetRequestId + + + +

    +
    func (x *AppResponseMsg) GetRequestId() uint32
    + + + + + + +

    func (*AppResponseMsg) GetResponse + + + +

    +
    func (x *AppResponseMsg) GetResponse() []byte
    + + + + + + +

    func (*AppResponseMsg) ProtoMessage + + + +

    +
    func (*AppResponseMsg) ProtoMessage()
    + + + + + + +

    func (*AppResponseMsg) ProtoReflect + + + +

    +
    func (x *AppResponseMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*AppResponseMsg) Reset + + + +

    +
    func (x *AppResponseMsg) Reset()
    + + + + + + +

    func (*AppResponseMsg) String + + + +

    +
    func (x *AppResponseMsg) String() string
    + + + + + + + + +

    type BatchedParseBlockRequest + + + +

    + +
    type BatchedParseBlockRequest struct {
    +    Request [][]byte `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BatchedParseBlockRequest) Descriptor + + + +

    +
    func (*BatchedParseBlockRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BatchedParseBlockRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BatchedParseBlockRequest) GetRequest + + + +

    +
    func (x *BatchedParseBlockRequest) GetRequest() [][]byte
    + + + + + + +

    func (*BatchedParseBlockRequest) ProtoMessage + + + +

    +
    func (*BatchedParseBlockRequest) ProtoMessage()
    + + + + + + +

    func (*BatchedParseBlockRequest) ProtoReflect + + + +

    +
    func (x *BatchedParseBlockRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BatchedParseBlockRequest) Reset + + + +

    +
    func (x *BatchedParseBlockRequest) Reset()
    + + + + + + +

    func (*BatchedParseBlockRequest) String + + + +

    +
    func (x *BatchedParseBlockRequest) String() string
    + + + + + + + + +

    type BatchedParseBlockResponse + + + +

    + +
    type BatchedParseBlockResponse struct {
    +    Response []*ParseBlockResponse `protobuf:"bytes,1,rep,name=response,proto3" json:"response,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BatchedParseBlockResponse) Descriptor + + + +

    +
    func (*BatchedParseBlockResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BatchedParseBlockResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BatchedParseBlockResponse) GetResponse + + + +

    +
    func (x *BatchedParseBlockResponse) GetResponse() []*ParseBlockResponse
    + + + + + + +

    func (*BatchedParseBlockResponse) ProtoMessage + + + +

    +
    func (*BatchedParseBlockResponse) ProtoMessage()
    + + + + + + +

    func (*BatchedParseBlockResponse) ProtoReflect + + + +

    +
    func (x *BatchedParseBlockResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BatchedParseBlockResponse) Reset + + + +

    +
    func (x *BatchedParseBlockResponse) Reset()
    + + + + + + +

    func (*BatchedParseBlockResponse) String + + + +

    +
    func (x *BatchedParseBlockResponse) String() string
    + + + + + + + + +

    type Block + + + +

    + +
    type Block struct {
    +    Block  []byte `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
    +    Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Block) Descriptor + + + +

    +
    func (*Block) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Block.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Block) GetBlock + + + +

    +
    func (x *Block) GetBlock() []byte
    + + + + + + +

    func (*Block) GetStatus + + + +

    +
    func (x *Block) GetStatus() Status
    + + + + + + +

    func (*Block) ProtoMessage + + + +

    +
    func (*Block) ProtoMessage()
    + + + + + + +

    func (*Block) ProtoReflect + + + +

    +
    func (x *Block) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Block) Reset + + + +

    +
    func (x *Block) Reset()
    + + + + + + +

    func (*Block) String + + + +

    +
    func (x *Block) String() string
    + + + + + + + + +

    type BlockAcceptRequest + + + +

    + +
    type BlockAcceptRequest struct {
    +    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BlockAcceptRequest) Descriptor + + + +

    +
    func (*BlockAcceptRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BlockAcceptRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BlockAcceptRequest) GetId + + + +

    +
    func (x *BlockAcceptRequest) GetId() []byte
    + + + + + + +

    func (*BlockAcceptRequest) ProtoMessage + + + +

    +
    func (*BlockAcceptRequest) ProtoMessage()
    + + + + + + +

    func (*BlockAcceptRequest) ProtoReflect + + + +

    +
    func (x *BlockAcceptRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BlockAcceptRequest) Reset + + + +

    +
    func (x *BlockAcceptRequest) Reset()
    + + + + + + +

    func (*BlockAcceptRequest) String + + + +

    +
    func (x *BlockAcceptRequest) String() string
    + + + + + + + + +

    type BlockRejectRequest + + + +

    + +
    type BlockRejectRequest struct {
    +    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BlockRejectRequest) Descriptor + + + +

    +
    func (*BlockRejectRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BlockRejectRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BlockRejectRequest) GetId + + + +

    +
    func (x *BlockRejectRequest) GetId() []byte
    + + + + + + +

    func (*BlockRejectRequest) ProtoMessage + + + +

    +
    func (*BlockRejectRequest) ProtoMessage()
    + + + + + + +

    func (*BlockRejectRequest) ProtoReflect + + + +

    +
    func (x *BlockRejectRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BlockRejectRequest) Reset + + + +

    +
    func (x *BlockRejectRequest) Reset()
    + + + + + + +

    func (*BlockRejectRequest) String + + + +

    +
    func (x *BlockRejectRequest) String() string
    + + + + + + + + +

    type BlockVerifyRequest + + + +

    + +
    type BlockVerifyRequest struct {
    +    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    // If set, the VM server casts the block to a [block.WithVerifyContext] and
    +    // calls [VerifyWithContext] instead of [Verify].
    +    PChainHeight *uint64 `protobuf:"varint,2,opt,name=p_chain_height,json=pChainHeight,proto3,oneof" json:"p_chain_height,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BlockVerifyRequest) Descriptor + + + +

    +
    func (*BlockVerifyRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BlockVerifyRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BlockVerifyRequest) GetBytes + + + +

    +
    func (x *BlockVerifyRequest) GetBytes() []byte
    + + + + + + +

    func (*BlockVerifyRequest) GetPChainHeight + + + +

    +
    func (x *BlockVerifyRequest) GetPChainHeight() uint64
    + + + + + + +

    func (*BlockVerifyRequest) ProtoMessage + + + +

    +
    func (*BlockVerifyRequest) ProtoMessage()
    + + + + + + +

    func (*BlockVerifyRequest) ProtoReflect + + + +

    +
    func (x *BlockVerifyRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BlockVerifyRequest) Reset + + + +

    +
    func (x *BlockVerifyRequest) Reset()
    + + + + + + +

    func (*BlockVerifyRequest) String + + + +

    +
    func (x *BlockVerifyRequest) String() string
    + + + + + + + + +

    type BlockVerifyResponse + + + +

    + +
    type BlockVerifyResponse struct {
    +    Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BlockVerifyResponse) Descriptor + + + +

    +
    func (*BlockVerifyResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BlockVerifyResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BlockVerifyResponse) GetTimestamp + + + +

    +
    func (x *BlockVerifyResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*BlockVerifyResponse) ProtoMessage + + + +

    +
    func (*BlockVerifyResponse) ProtoMessage()
    + + + + + + +

    func (*BlockVerifyResponse) ProtoReflect + + + +

    +
    func (x *BlockVerifyResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BlockVerifyResponse) Reset + + + +

    +
    func (x *BlockVerifyResponse) Reset()
    + + + + + + +

    func (*BlockVerifyResponse) String + + + +

    +
    func (x *BlockVerifyResponse) String() string
    + + + + + + + + +

    type BuildBlockRequest + + + +

    + +
    type BuildBlockRequest struct {
    +    PChainHeight *uint64 `protobuf:"varint,1,opt,name=p_chain_height,json=pChainHeight,proto3,oneof" json:"p_chain_height,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BuildBlockRequest) Descriptor + + + +

    +
    func (*BuildBlockRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BuildBlockRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BuildBlockRequest) GetPChainHeight + + + +

    +
    func (x *BuildBlockRequest) GetPChainHeight() uint64
    + + + + + + +

    func (*BuildBlockRequest) ProtoMessage + + + +

    +
    func (*BuildBlockRequest) ProtoMessage()
    + + + + + + +

    func (*BuildBlockRequest) ProtoReflect + + + +

    +
    func (x *BuildBlockRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BuildBlockRequest) Reset + + + +

    +
    func (x *BuildBlockRequest) Reset()
    + + + + + + +

    func (*BuildBlockRequest) String + + + +

    +
    func (x *BuildBlockRequest) String() string
    + + + + + + + + +

    type BuildBlockResponse + + + +

    +

    Note: The status of a freshly built block is assumed to be Processing. + +

    type BuildBlockResponse struct {
    +    Id                []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    ParentId          []byte                 `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    +    Bytes             []byte                 `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Height            uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    +    Timestamp         *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    VerifyWithContext bool                   `protobuf:"varint,6,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*BuildBlockResponse) Descriptor + + + +

    +
    func (*BuildBlockResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use BuildBlockResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*BuildBlockResponse) GetBytes + + + +

    +
    func (x *BuildBlockResponse) GetBytes() []byte
    + + + + + + +

    func (*BuildBlockResponse) GetHeight + + + +

    +
    func (x *BuildBlockResponse) GetHeight() uint64
    + + + + + + +

    func (*BuildBlockResponse) GetId + + + +

    +
    func (x *BuildBlockResponse) GetId() []byte
    + + + + + + +

    func (*BuildBlockResponse) GetParentId + + + +

    +
    func (x *BuildBlockResponse) GetParentId() []byte
    + + + + + + +

    func (*BuildBlockResponse) GetTimestamp + + + +

    +
    func (x *BuildBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*BuildBlockResponse) GetVerifyWithContext + + + +

    +
    func (x *BuildBlockResponse) GetVerifyWithContext() bool
    + + + + + + +

    func (*BuildBlockResponse) ProtoMessage + + + +

    +
    func (*BuildBlockResponse) ProtoMessage()
    + + + + + + +

    func (*BuildBlockResponse) ProtoReflect + + + +

    +
    func (x *BuildBlockResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*BuildBlockResponse) Reset + + + +

    +
    func (x *BuildBlockResponse) Reset()
    + + + + + + +

    func (*BuildBlockResponse) String + + + +

    +
    func (x *BuildBlockResponse) String() string
    + + + + + + + + +

    type ConnectedRequest + + + +

    + +
    type ConnectedRequest struct {
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // Client name (e.g avalanchego)
    +    Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    +    // Client semantic version
    +    Major uint32 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"`
    +    Minor uint32 `protobuf:"varint,4,opt,name=minor,proto3" json:"minor,omitempty"`
    +    Patch uint32 `protobuf:"varint,5,opt,name=patch,proto3" json:"patch,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ConnectedRequest) Descriptor + + + +

    +
    func (*ConnectedRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ConnectedRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ConnectedRequest) GetMajor + + + +

    +
    func (x *ConnectedRequest) GetMajor() uint32
    + + + + + + +

    func (*ConnectedRequest) GetMinor + + + +

    +
    func (x *ConnectedRequest) GetMinor() uint32
    + + + + + + +

    func (*ConnectedRequest) GetName + + + +

    +
    func (x *ConnectedRequest) GetName() string
    + + + + + + +

    func (*ConnectedRequest) GetNodeId + + + +

    +
    func (x *ConnectedRequest) GetNodeId() []byte
    + + + + + + +

    func (*ConnectedRequest) GetPatch + + + +

    +
    func (x *ConnectedRequest) GetPatch() uint32
    + + + + + + +

    func (*ConnectedRequest) ProtoMessage + + + +

    +
    func (*ConnectedRequest) ProtoMessage()
    + + + + + + +

    func (*ConnectedRequest) ProtoReflect + + + +

    +
    func (x *ConnectedRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ConnectedRequest) Reset + + + +

    +
    func (x *ConnectedRequest) Reset()
    + + + + + + +

    func (*ConnectedRequest) String + + + +

    +
    func (x *ConnectedRequest) String() string
    + + + + + + + + +

    type CreateHandlersResponse + + + +

    + +
    type CreateHandlersResponse struct {
    +    Handlers []*Handler `protobuf:"bytes,1,rep,name=handlers,proto3" json:"handlers,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CreateHandlersResponse) Descriptor + + + +

    +
    func (*CreateHandlersResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CreateHandlersResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CreateHandlersResponse) GetHandlers + + + +

    +
    func (x *CreateHandlersResponse) GetHandlers() []*Handler
    + + + + + + +

    func (*CreateHandlersResponse) ProtoMessage + + + +

    +
    func (*CreateHandlersResponse) ProtoMessage()
    + + + + + + +

    func (*CreateHandlersResponse) ProtoReflect + + + +

    +
    func (x *CreateHandlersResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CreateHandlersResponse) Reset + + + +

    +
    func (x *CreateHandlersResponse) Reset()
    + + + + + + +

    func (*CreateHandlersResponse) String + + + +

    +
    func (x *CreateHandlersResponse) String() string
    + + + + + + + + +

    type CrossChainAppRequestFailedMsg + + + +

    + +
    type CrossChainAppRequestFailedMsg struct {
    +
    +    // The chain that we failed to get a response from
    +    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    +    // The ID of the request we sent and didn't get a response to
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // Application-defined error code
    +    ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
    +    // Application-defined error message
    +    ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CrossChainAppRequestFailedMsg) Descriptor + + + +

    +
    func (*CrossChainAppRequestFailedMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CrossChainAppRequestFailedMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CrossChainAppRequestFailedMsg) GetChainId + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) GetChainId() []byte
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) GetErrorCode + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) GetErrorCode() int32
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) GetErrorMessage + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) GetErrorMessage() string
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) GetRequestId + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) GetRequestId() uint32
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) ProtoMessage + + + +

    +
    func (*CrossChainAppRequestFailedMsg) ProtoMessage()
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) ProtoReflect + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) Reset + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) Reset()
    + + + + + + +

    func (*CrossChainAppRequestFailedMsg) String + + + +

    +
    func (x *CrossChainAppRequestFailedMsg) String() string
    + + + + + + + + +

    type CrossChainAppRequestMsg + + + +

    + +
    type CrossChainAppRequestMsg struct {
    +
    +    // The chain that sent us this request
    +    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    +    // The ID of this request
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // deadline for this request
    +    Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
    +    // The request body
    +    Request []byte `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CrossChainAppRequestMsg) Descriptor + + + +

    +
    func (*CrossChainAppRequestMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CrossChainAppRequestMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CrossChainAppRequestMsg) GetChainId + + + +

    +
    func (x *CrossChainAppRequestMsg) GetChainId() []byte
    + + + + + + +

    func (*CrossChainAppRequestMsg) GetDeadline + + + +

    +
    func (x *CrossChainAppRequestMsg) GetDeadline() *timestamppb.Timestamp
    + + + + + + +

    func (*CrossChainAppRequestMsg) GetRequest + + + +

    +
    func (x *CrossChainAppRequestMsg) GetRequest() []byte
    + + + + + + +

    func (*CrossChainAppRequestMsg) GetRequestId + + + +

    +
    func (x *CrossChainAppRequestMsg) GetRequestId() uint32
    + + + + + + +

    func (*CrossChainAppRequestMsg) ProtoMessage + + + +

    +
    func (*CrossChainAppRequestMsg) ProtoMessage()
    + + + + + + +

    func (*CrossChainAppRequestMsg) ProtoReflect + + + +

    +
    func (x *CrossChainAppRequestMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CrossChainAppRequestMsg) Reset + + + +

    +
    func (x *CrossChainAppRequestMsg) Reset()
    + + + + + + +

    func (*CrossChainAppRequestMsg) String + + + +

    +
    func (x *CrossChainAppRequestMsg) String() string
    + + + + + + + + +

    type CrossChainAppResponseMsg + + + +

    + +
    type CrossChainAppResponseMsg struct {
    +
    +    // The chain that we got a response from
    +    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    +    // Request ID of request that this is in response to
    +    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    +    // The response body
    +    Response []byte `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*CrossChainAppResponseMsg) Descriptor + + + +

    +
    func (*CrossChainAppResponseMsg) Descriptor() ([]byte, []int)
    +

    Deprecated: Use CrossChainAppResponseMsg.ProtoReflect.Descriptor instead. + + + + + + +

    func (*CrossChainAppResponseMsg) GetChainId + + + +

    +
    func (x *CrossChainAppResponseMsg) GetChainId() []byte
    + + + + + + +

    func (*CrossChainAppResponseMsg) GetRequestId + + + +

    +
    func (x *CrossChainAppResponseMsg) GetRequestId() uint32
    + + + + + + +

    func (*CrossChainAppResponseMsg) GetResponse + + + +

    +
    func (x *CrossChainAppResponseMsg) GetResponse() []byte
    + + + + + + +

    func (*CrossChainAppResponseMsg) ProtoMessage + + + +

    +
    func (*CrossChainAppResponseMsg) ProtoMessage()
    + + + + + + +

    func (*CrossChainAppResponseMsg) ProtoReflect + + + +

    +
    func (x *CrossChainAppResponseMsg) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*CrossChainAppResponseMsg) Reset + + + +

    +
    func (x *CrossChainAppResponseMsg) Reset()
    + + + + + + +

    func (*CrossChainAppResponseMsg) String + + + +

    +
    func (x *CrossChainAppResponseMsg) String() string
    + + + + + + + + +

    type DisconnectedRequest + + + +

    + +
    type DisconnectedRequest struct {
    +    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*DisconnectedRequest) Descriptor + + + +

    +
    func (*DisconnectedRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use DisconnectedRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*DisconnectedRequest) GetNodeId + + + +

    +
    func (x *DisconnectedRequest) GetNodeId() []byte
    + + + + + + +

    func (*DisconnectedRequest) ProtoMessage + + + +

    +
    func (*DisconnectedRequest) ProtoMessage()
    + + + + + + +

    func (*DisconnectedRequest) ProtoReflect + + + +

    +
    func (x *DisconnectedRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*DisconnectedRequest) Reset + + + +

    +
    func (x *DisconnectedRequest) Reset()
    + + + + + + +

    func (*DisconnectedRequest) String + + + +

    +
    func (x *DisconnectedRequest) String() string
    + + + + + + + + +

    type Error + + + +

    + +
    type Error int32
    + + + +
    const (
    +    // ERROR_UNSPECIFIED is used to indicate that no error occurred.
    +    Error_ERROR_UNSPECIFIED                Error = 0
    +    Error_ERROR_CLOSED                     Error = 1
    +    Error_ERROR_NOT_FOUND                  Error = 2
    +    Error_ERROR_STATE_SYNC_NOT_IMPLEMENTED Error = 3
    +)
    + + + + + + + + + + + + +

    func (Error) Descriptor + + + +

    +
    func (Error) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (Error) Enum + + + +

    +
    func (x Error) Enum() *Error
    + + + + + + +

    func (Error) EnumDescriptor + + + +

    +
    func (Error) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use Error.Descriptor instead. + + + + + + +

    func (Error) Number + + + +

    +
    func (x Error) Number() protoreflect.EnumNumber
    + + + + + + +

    func (Error) String + + + +

    +
    func (x Error) String() string
    + + + + + + +

    func (Error) Type + + + +

    +
    func (Error) Type() protoreflect.EnumType
    + + + + + + + + +

    type GatherResponse + + + +

    + +
    type GatherResponse struct {
    +    MetricFamilies []*_go.MetricFamily `protobuf:"bytes,1,rep,name=metric_families,json=metricFamilies,proto3" json:"metric_families,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GatherResponse) Descriptor + + + +

    +
    func (*GatherResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GatherResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GatherResponse) GetMetricFamilies + + + +

    +
    func (x *GatherResponse) GetMetricFamilies() []*_go.MetricFamily
    + + + + + + +

    func (*GatherResponse) ProtoMessage + + + +

    +
    func (*GatherResponse) ProtoMessage()
    + + + + + + +

    func (*GatherResponse) ProtoReflect + + + +

    +
    func (x *GatherResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GatherResponse) Reset + + + +

    +
    func (x *GatherResponse) Reset()
    + + + + + + +

    func (*GatherResponse) String + + + +

    +
    func (x *GatherResponse) String() string
    + + + + + + + + +

    type GetAncestorsRequest + + + +

    + +
    type GetAncestorsRequest struct {
    +    BlkId                 []byte `protobuf:"bytes,1,opt,name=blk_id,json=blkId,proto3" json:"blk_id,omitempty"`
    +    MaxBlocksNum          int32  `protobuf:"varint,2,opt,name=max_blocks_num,json=maxBlocksNum,proto3" json:"max_blocks_num,omitempty"`
    +    MaxBlocksSize         int32  `protobuf:"varint,3,opt,name=max_blocks_size,json=maxBlocksSize,proto3" json:"max_blocks_size,omitempty"`
    +    MaxBlocksRetrivalTime int64  `protobuf:"varint,4,opt,name=max_blocks_retrival_time,json=maxBlocksRetrivalTime,proto3" json:"max_blocks_retrival_time,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetAncestorsRequest) Descriptor + + + +

    +
    func (*GetAncestorsRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetAncestorsRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetAncestorsRequest) GetBlkId + + + +

    +
    func (x *GetAncestorsRequest) GetBlkId() []byte
    + + + + + + +

    func (*GetAncestorsRequest) GetMaxBlocksNum + + + +

    +
    func (x *GetAncestorsRequest) GetMaxBlocksNum() int32
    + + + + + + +

    func (*GetAncestorsRequest) GetMaxBlocksRetrivalTime + + + +

    +
    func (x *GetAncestorsRequest) GetMaxBlocksRetrivalTime() int64
    + + + + + + +

    func (*GetAncestorsRequest) GetMaxBlocksSize + + + +

    +
    func (x *GetAncestorsRequest) GetMaxBlocksSize() int32
    + + + + + + +

    func (*GetAncestorsRequest) ProtoMessage + + + +

    +
    func (*GetAncestorsRequest) ProtoMessage()
    + + + + + + +

    func (*GetAncestorsRequest) ProtoReflect + + + +

    +
    func (x *GetAncestorsRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetAncestorsRequest) Reset + + + +

    +
    func (x *GetAncestorsRequest) Reset()
    + + + + + + +

    func (*GetAncestorsRequest) String + + + +

    +
    func (x *GetAncestorsRequest) String() string
    + + + + + + + + +

    type GetAncestorsResponse + + + +

    + +
    type GetAncestorsResponse struct {
    +    BlksBytes [][]byte `protobuf:"bytes,1,rep,name=blks_bytes,json=blksBytes,proto3" json:"blks_bytes,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetAncestorsResponse) Descriptor + + + +

    +
    func (*GetAncestorsResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetAncestorsResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetAncestorsResponse) GetBlksBytes + + + +

    +
    func (x *GetAncestorsResponse) GetBlksBytes() [][]byte
    + + + + + + +

    func (*GetAncestorsResponse) ProtoMessage + + + +

    +
    func (*GetAncestorsResponse) ProtoMessage()
    + + + + + + +

    func (*GetAncestorsResponse) ProtoReflect + + + +

    +
    func (x *GetAncestorsResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetAncestorsResponse) Reset + + + +

    +
    func (x *GetAncestorsResponse) Reset()
    + + + + + + +

    func (*GetAncestorsResponse) String + + + +

    +
    func (x *GetAncestorsResponse) String() string
    + + + + + + + + +

    type GetBlockIDAtHeightRequest + + + +

    + +
    type GetBlockIDAtHeightRequest struct {
    +    Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetBlockIDAtHeightRequest) Descriptor + + + +

    +
    func (*GetBlockIDAtHeightRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetBlockIDAtHeightRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetBlockIDAtHeightRequest) GetHeight + + + +

    +
    func (x *GetBlockIDAtHeightRequest) GetHeight() uint64
    + + + + + + +

    func (*GetBlockIDAtHeightRequest) ProtoMessage + + + +

    +
    func (*GetBlockIDAtHeightRequest) ProtoMessage()
    + + + + + + +

    func (*GetBlockIDAtHeightRequest) ProtoReflect + + + +

    +
    func (x *GetBlockIDAtHeightRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetBlockIDAtHeightRequest) Reset + + + +

    +
    func (x *GetBlockIDAtHeightRequest) Reset()
    + + + + + + +

    func (*GetBlockIDAtHeightRequest) String + + + +

    +
    func (x *GetBlockIDAtHeightRequest) String() string
    + + + + + + + + +

    type GetBlockIDAtHeightResponse + + + +

    + +
    type GetBlockIDAtHeightResponse struct {
    +    BlkId []byte `protobuf:"bytes,1,opt,name=blk_id,json=blkId,proto3" json:"blk_id,omitempty"`
    +    Err   Error  `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetBlockIDAtHeightResponse) Descriptor + + + +

    +
    func (*GetBlockIDAtHeightResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetBlockIDAtHeightResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetBlockIDAtHeightResponse) GetBlkId + + + +

    +
    func (x *GetBlockIDAtHeightResponse) GetBlkId() []byte
    + + + + + + +

    func (*GetBlockIDAtHeightResponse) GetErr + + + +

    +
    func (x *GetBlockIDAtHeightResponse) GetErr() Error
    + + + + + + +

    func (*GetBlockIDAtHeightResponse) ProtoMessage + + + +

    +
    func (*GetBlockIDAtHeightResponse) ProtoMessage()
    + + + + + + +

    func (*GetBlockIDAtHeightResponse) ProtoReflect + + + +

    +
    func (x *GetBlockIDAtHeightResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetBlockIDAtHeightResponse) Reset + + + +

    +
    func (x *GetBlockIDAtHeightResponse) Reset()
    + + + + + + +

    func (*GetBlockIDAtHeightResponse) String + + + +

    +
    func (x *GetBlockIDAtHeightResponse) String() string
    + + + + + + + + +

    type GetBlockRequest + + + +

    + +
    type GetBlockRequest struct {
    +    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetBlockRequest) Descriptor + + + +

    +
    func (*GetBlockRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetBlockRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetBlockRequest) GetId + + + +

    +
    func (x *GetBlockRequest) GetId() []byte
    + + + + + + +

    func (*GetBlockRequest) ProtoMessage + + + +

    +
    func (*GetBlockRequest) ProtoMessage()
    + + + + + + +

    func (*GetBlockRequest) ProtoReflect + + + +

    +
    func (x *GetBlockRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetBlockRequest) Reset + + + +

    +
    func (x *GetBlockRequest) Reset()
    + + + + + + +

    func (*GetBlockRequest) String + + + +

    +
    func (x *GetBlockRequest) String() string
    + + + + + + + + +

    type GetBlockResponse + + + +

    + +
    type GetBlockResponse struct {
    +    ParentId  []byte                 `protobuf:"bytes,1,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    +    Bytes     []byte                 `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Status    Status                 `protobuf:"varint,3,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    +    Height    uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    +    Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    // used to propagate database.ErrNotFound through RPC
    +    Err               Error `protobuf:"varint,6,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    VerifyWithContext bool  `protobuf:"varint,7,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetBlockResponse) Descriptor + + + +

    +
    func (*GetBlockResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetBlockResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetBlockResponse) GetBytes + + + +

    +
    func (x *GetBlockResponse) GetBytes() []byte
    + + + + + + +

    func (*GetBlockResponse) GetErr + + + +

    +
    func (x *GetBlockResponse) GetErr() Error
    + + + + + + +

    func (*GetBlockResponse) GetHeight + + + +

    +
    func (x *GetBlockResponse) GetHeight() uint64
    + + + + + + +

    func (*GetBlockResponse) GetParentId + + + +

    +
    func (x *GetBlockResponse) GetParentId() []byte
    + + + + + + +

    func (*GetBlockResponse) GetStatus + + + +

    +
    func (x *GetBlockResponse) GetStatus() Status
    + + + + + + +

    func (*GetBlockResponse) GetTimestamp + + + +

    +
    func (x *GetBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*GetBlockResponse) GetVerifyWithContext + + + +

    +
    func (x *GetBlockResponse) GetVerifyWithContext() bool
    + + + + + + +

    func (*GetBlockResponse) ProtoMessage + + + +

    +
    func (*GetBlockResponse) ProtoMessage()
    + + + + + + +

    func (*GetBlockResponse) ProtoReflect + + + +

    +
    func (x *GetBlockResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetBlockResponse) Reset + + + +

    +
    func (x *GetBlockResponse) Reset()
    + + + + + + +

    func (*GetBlockResponse) String + + + +

    +
    func (x *GetBlockResponse) String() string
    + + + + + + + + +

    type GetLastStateSummaryResponse + + + +

    + +
    type GetLastStateSummaryResponse struct {
    +    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    +    Bytes  []byte `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Err    Error  `protobuf:"varint,4,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetLastStateSummaryResponse) Descriptor + + + +

    +
    func (*GetLastStateSummaryResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetLastStateSummaryResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetLastStateSummaryResponse) GetBytes + + + +

    +
    func (x *GetLastStateSummaryResponse) GetBytes() []byte
    + + + + + + +

    func (*GetLastStateSummaryResponse) GetErr + + + +

    +
    func (x *GetLastStateSummaryResponse) GetErr() Error
    + + + + + + +

    func (*GetLastStateSummaryResponse) GetHeight + + + +

    +
    func (x *GetLastStateSummaryResponse) GetHeight() uint64
    + + + + + + +

    func (*GetLastStateSummaryResponse) GetId + + + +

    +
    func (x *GetLastStateSummaryResponse) GetId() []byte
    + + + + + + +

    func (*GetLastStateSummaryResponse) ProtoMessage + + + +

    +
    func (*GetLastStateSummaryResponse) ProtoMessage()
    + + + + + + +

    func (*GetLastStateSummaryResponse) ProtoReflect + + + +

    +
    func (x *GetLastStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetLastStateSummaryResponse) Reset + + + +

    +
    func (x *GetLastStateSummaryResponse) Reset()
    + + + + + + +

    func (*GetLastStateSummaryResponse) String + + + +

    +
    func (x *GetLastStateSummaryResponse) String() string
    + + + + + + + + +

    type GetOngoingSyncStateSummaryResponse + + + +

    + +
    type GetOngoingSyncStateSummaryResponse struct {
    +    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    +    Bytes  []byte `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Err    Error  `protobuf:"varint,4,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) Descriptor + + + +

    +
    func (*GetOngoingSyncStateSummaryResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetOngoingSyncStateSummaryResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) GetBytes + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) GetBytes() []byte
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) GetErr + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) GetErr() Error
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) GetHeight + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) GetHeight() uint64
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) GetId + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) GetId() []byte
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) ProtoMessage + + + +

    +
    func (*GetOngoingSyncStateSummaryResponse) ProtoMessage()
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) ProtoReflect + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) Reset + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) Reset()
    + + + + + + +

    func (*GetOngoingSyncStateSummaryResponse) String + + + +

    +
    func (x *GetOngoingSyncStateSummaryResponse) String() string
    + + + + + + + + +

    type GetStateSummaryRequest + + + +

    + +
    type GetStateSummaryRequest struct {
    +    Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetStateSummaryRequest) Descriptor + + + +

    +
    func (*GetStateSummaryRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetStateSummaryRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetStateSummaryRequest) GetHeight + + + +

    +
    func (x *GetStateSummaryRequest) GetHeight() uint64
    + + + + + + +

    func (*GetStateSummaryRequest) ProtoMessage + + + +

    +
    func (*GetStateSummaryRequest) ProtoMessage()
    + + + + + + +

    func (*GetStateSummaryRequest) ProtoReflect + + + +

    +
    func (x *GetStateSummaryRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetStateSummaryRequest) Reset + + + +

    +
    func (x *GetStateSummaryRequest) Reset()
    + + + + + + +

    func (*GetStateSummaryRequest) String + + + +

    +
    func (x *GetStateSummaryRequest) String() string
    + + + + + + + + +

    type GetStateSummaryResponse + + + +

    + +
    type GetStateSummaryResponse struct {
    +    Id    []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    Bytes []byte `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Err   Error  `protobuf:"varint,3,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*GetStateSummaryResponse) Descriptor + + + +

    +
    func (*GetStateSummaryResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use GetStateSummaryResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*GetStateSummaryResponse) GetBytes + + + +

    +
    func (x *GetStateSummaryResponse) GetBytes() []byte
    + + + + + + +

    func (*GetStateSummaryResponse) GetErr + + + +

    +
    func (x *GetStateSummaryResponse) GetErr() Error
    + + + + + + +

    func (*GetStateSummaryResponse) GetId + + + +

    +
    func (x *GetStateSummaryResponse) GetId() []byte
    + + + + + + +

    func (*GetStateSummaryResponse) ProtoMessage + + + +

    +
    func (*GetStateSummaryResponse) ProtoMessage()
    + + + + + + +

    func (*GetStateSummaryResponse) ProtoReflect + + + +

    +
    func (x *GetStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*GetStateSummaryResponse) Reset + + + +

    +
    func (x *GetStateSummaryResponse) Reset()
    + + + + + + +

    func (*GetStateSummaryResponse) String + + + +

    +
    func (x *GetStateSummaryResponse) String() string
    + + + + + + + + +

    type Handler + + + +

    + +
    type Handler struct {
    +    Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
    +    // server_addr is the address of the gRPC server which serves the
    +    // HTTP service
    +    ServerAddr string `protobuf:"bytes,2,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Handler) Descriptor + + + +

    +
    func (*Handler) Descriptor() ([]byte, []int)
    +

    Deprecated: Use Handler.ProtoReflect.Descriptor instead. + + + + + + +

    func (*Handler) GetPrefix + + + +

    +
    func (x *Handler) GetPrefix() string
    + + + + + + +

    func (*Handler) GetServerAddr + + + +

    +
    func (x *Handler) GetServerAddr() string
    + + + + + + +

    func (*Handler) ProtoMessage + + + +

    +
    func (*Handler) ProtoMessage()
    + + + + + + +

    func (*Handler) ProtoReflect + + + +

    +
    func (x *Handler) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*Handler) Reset + + + +

    +
    func (x *Handler) Reset()
    + + + + + + +

    func (*Handler) String + + + +

    +
    func (x *Handler) String() string
    + + + + + + + + +

    type HealthResponse + + + +

    + +
    type HealthResponse struct {
    +    Details []byte `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*HealthResponse) Descriptor + + + +

    +
    func (*HealthResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use HealthResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*HealthResponse) GetDetails + + + +

    +
    func (x *HealthResponse) GetDetails() []byte
    + + + + + + +

    func (*HealthResponse) ProtoMessage + + + +

    +
    func (*HealthResponse) ProtoMessage()
    + + + + + + +

    func (*HealthResponse) ProtoReflect + + + +

    +
    func (x *HealthResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*HealthResponse) Reset + + + +

    +
    func (x *HealthResponse) Reset()
    + + + + + + +

    func (*HealthResponse) String + + + +

    +
    func (x *HealthResponse) String() string
    + + + + + + + + +

    type InitializeRequest + + + +

    + +
    type InitializeRequest struct {
    +    NetworkId uint32 `protobuf:"varint,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
    +    SubnetId  []byte `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
    +    ChainId   []byte `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    +    NodeId    []byte `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    +    // public_key is the BLS public key that would correspond with any signatures
    +    // produced by the warp messaging signer
    +    PublicKey    []byte `protobuf:"bytes,5,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
    +    XChainId     []byte `protobuf:"bytes,6,opt,name=x_chain_id,json=xChainId,proto3" json:"x_chain_id,omitempty"`
    +    CChainId     []byte `protobuf:"bytes,7,opt,name=c_chain_id,json=cChainId,proto3" json:"c_chain_id,omitempty"`
    +    AvaxAssetId  []byte `protobuf:"bytes,8,opt,name=avax_asset_id,json=avaxAssetId,proto3" json:"avax_asset_id,omitempty"`
    +    ChainDataDir string `protobuf:"bytes,9,opt,name=chain_data_dir,json=chainDataDir,proto3" json:"chain_data_dir,omitempty"`
    +    GenesisBytes []byte `protobuf:"bytes,10,opt,name=genesis_bytes,json=genesisBytes,proto3" json:"genesis_bytes,omitempty"`
    +    UpgradeBytes []byte `protobuf:"bytes,11,opt,name=upgrade_bytes,json=upgradeBytes,proto3" json:"upgrade_bytes,omitempty"`
    +    ConfigBytes  []byte `protobuf:"bytes,12,opt,name=config_bytes,json=configBytes,proto3" json:"config_bytes,omitempty"`
    +    DbServerAddr string `protobuf:"bytes,13,opt,name=db_server_addr,json=dbServerAddr,proto3" json:"db_server_addr,omitempty"`
    +    // server_addr is the address of the gRPC server which serves
    +    // the messenger, keystore, shared memory, blockchain alias,
    +    // subnet alias, and appSender services
    +    ServerAddr string `protobuf:"bytes,14,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*InitializeRequest) Descriptor + + + +

    +
    func (*InitializeRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*InitializeRequest) GetAvaxAssetId + + + +

    +
    func (x *InitializeRequest) GetAvaxAssetId() []byte
    + + + + + + +

    func (*InitializeRequest) GetCChainId + + + +

    +
    func (x *InitializeRequest) GetCChainId() []byte
    + + + + + + +

    func (*InitializeRequest) GetChainDataDir + + + +

    +
    func (x *InitializeRequest) GetChainDataDir() string
    + + + + + + +

    func (*InitializeRequest) GetChainId + + + +

    +
    func (x *InitializeRequest) GetChainId() []byte
    + + + + + + +

    func (*InitializeRequest) GetConfigBytes + + + +

    +
    func (x *InitializeRequest) GetConfigBytes() []byte
    + + + + + + +

    func (*InitializeRequest) GetDbServerAddr + + + +

    +
    func (x *InitializeRequest) GetDbServerAddr() string
    + + + + + + +

    func (*InitializeRequest) GetGenesisBytes + + + +

    +
    func (x *InitializeRequest) GetGenesisBytes() []byte
    + + + + + + +

    func (*InitializeRequest) GetNetworkId + + + +

    +
    func (x *InitializeRequest) GetNetworkId() uint32
    + + + + + + +

    func (*InitializeRequest) GetNodeId + + + +

    +
    func (x *InitializeRequest) GetNodeId() []byte
    + + + + + + +

    func (*InitializeRequest) GetPublicKey + + + +

    +
    func (x *InitializeRequest) GetPublicKey() []byte
    + + + + + + +

    func (*InitializeRequest) GetServerAddr + + + +

    +
    func (x *InitializeRequest) GetServerAddr() string
    + + + + + + +

    func (*InitializeRequest) GetSubnetId + + + +

    +
    func (x *InitializeRequest) GetSubnetId() []byte
    + + + + + + +

    func (*InitializeRequest) GetUpgradeBytes + + + +

    +
    func (x *InitializeRequest) GetUpgradeBytes() []byte
    + + + + + + +

    func (*InitializeRequest) GetXChainId + + + +

    +
    func (x *InitializeRequest) GetXChainId() []byte
    + + + + + + +

    func (*InitializeRequest) ProtoMessage + + + +

    +
    func (*InitializeRequest) ProtoMessage()
    + + + + + + +

    func (*InitializeRequest) ProtoReflect + + + +

    +
    func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*InitializeRequest) Reset + + + +

    +
    func (x *InitializeRequest) Reset()
    + + + + + + +

    func (*InitializeRequest) String + + + +

    +
    func (x *InitializeRequest) String() string
    + + + + + + + + +

    type InitializeResponse + + + +

    + +
    type InitializeResponse struct {
    +    LastAcceptedId       []byte                 `protobuf:"bytes,1,opt,name=last_accepted_id,json=lastAcceptedId,proto3" json:"last_accepted_id,omitempty"`
    +    LastAcceptedParentId []byte                 `protobuf:"bytes,2,opt,name=last_accepted_parent_id,json=lastAcceptedParentId,proto3" json:"last_accepted_parent_id,omitempty"`
    +    Height               uint64                 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
    +    Bytes                []byte                 `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Timestamp            *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*InitializeResponse) Descriptor + + + +

    +
    func (*InitializeResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use InitializeResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*InitializeResponse) GetBytes + + + +

    +
    func (x *InitializeResponse) GetBytes() []byte
    + + + + + + +

    func (*InitializeResponse) GetHeight + + + +

    +
    func (x *InitializeResponse) GetHeight() uint64
    + + + + + + +

    func (*InitializeResponse) GetLastAcceptedId + + + +

    +
    func (x *InitializeResponse) GetLastAcceptedId() []byte
    + + + + + + +

    func (*InitializeResponse) GetLastAcceptedParentId + + + +

    +
    func (x *InitializeResponse) GetLastAcceptedParentId() []byte
    + + + + + + +

    func (*InitializeResponse) GetTimestamp + + + +

    +
    func (x *InitializeResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*InitializeResponse) ProtoMessage + + + +

    +
    func (*InitializeResponse) ProtoMessage()
    + + + + + + +

    func (*InitializeResponse) ProtoReflect + + + +

    +
    func (x *InitializeResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*InitializeResponse) Reset + + + +

    +
    func (x *InitializeResponse) Reset()
    + + + + + + +

    func (*InitializeResponse) String + + + +

    +
    func (x *InitializeResponse) String() string
    + + + + + + + + +

    type ParseBlockRequest + + + +

    + +
    type ParseBlockRequest struct {
    +    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ParseBlockRequest) Descriptor + + + +

    +
    func (*ParseBlockRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ParseBlockRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ParseBlockRequest) GetBytes + + + +

    +
    func (x *ParseBlockRequest) GetBytes() []byte
    + + + + + + +

    func (*ParseBlockRequest) ProtoMessage + + + +

    +
    func (*ParseBlockRequest) ProtoMessage()
    + + + + + + +

    func (*ParseBlockRequest) ProtoReflect + + + +

    +
    func (x *ParseBlockRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ParseBlockRequest) Reset + + + +

    +
    func (x *ParseBlockRequest) Reset()
    + + + + + + +

    func (*ParseBlockRequest) String + + + +

    +
    func (x *ParseBlockRequest) String() string
    + + + + + + + + +

    type ParseBlockResponse + + + +

    + +
    type ParseBlockResponse struct {
    +    Id                []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    ParentId          []byte                 `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    +    Status            Status                 `protobuf:"varint,3,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    +    Height            uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    +    Timestamp         *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    VerifyWithContext bool                   `protobuf:"varint,6,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ParseBlockResponse) Descriptor + + + +

    +
    func (*ParseBlockResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ParseBlockResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ParseBlockResponse) GetHeight + + + +

    +
    func (x *ParseBlockResponse) GetHeight() uint64
    + + + + + + +

    func (*ParseBlockResponse) GetId + + + +

    +
    func (x *ParseBlockResponse) GetId() []byte
    + + + + + + +

    func (*ParseBlockResponse) GetParentId + + + +

    +
    func (x *ParseBlockResponse) GetParentId() []byte
    + + + + + + +

    func (*ParseBlockResponse) GetStatus + + + +

    +
    func (x *ParseBlockResponse) GetStatus() Status
    + + + + + + +

    func (*ParseBlockResponse) GetTimestamp + + + +

    +
    func (x *ParseBlockResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*ParseBlockResponse) GetVerifyWithContext + + + +

    +
    func (x *ParseBlockResponse) GetVerifyWithContext() bool
    + + + + + + +

    func (*ParseBlockResponse) ProtoMessage + + + +

    +
    func (*ParseBlockResponse) ProtoMessage()
    + + + + + + +

    func (*ParseBlockResponse) ProtoReflect + + + +

    +
    func (x *ParseBlockResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ParseBlockResponse) Reset + + + +

    +
    func (x *ParseBlockResponse) Reset()
    + + + + + + +

    func (*ParseBlockResponse) String + + + +

    +
    func (x *ParseBlockResponse) String() string
    + + + + + + + + +

    type ParseStateSummaryRequest + + + +

    + +
    type ParseStateSummaryRequest struct {
    +    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ParseStateSummaryRequest) Descriptor + + + +

    +
    func (*ParseStateSummaryRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ParseStateSummaryRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ParseStateSummaryRequest) GetBytes + + + +

    +
    func (x *ParseStateSummaryRequest) GetBytes() []byte
    + + + + + + +

    func (*ParseStateSummaryRequest) ProtoMessage + + + +

    +
    func (*ParseStateSummaryRequest) ProtoMessage()
    + + + + + + +

    func (*ParseStateSummaryRequest) ProtoReflect + + + +

    +
    func (x *ParseStateSummaryRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ParseStateSummaryRequest) Reset + + + +

    +
    func (x *ParseStateSummaryRequest) Reset()
    + + + + + + +

    func (*ParseStateSummaryRequest) String + + + +

    +
    func (x *ParseStateSummaryRequest) String() string
    + + + + + + + + +

    type ParseStateSummaryResponse + + + +

    + +
    type ParseStateSummaryResponse struct {
    +    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    +    Err    Error  `protobuf:"varint,3,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*ParseStateSummaryResponse) Descriptor + + + +

    +
    func (*ParseStateSummaryResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use ParseStateSummaryResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*ParseStateSummaryResponse) GetErr + + + +

    +
    func (x *ParseStateSummaryResponse) GetErr() Error
    + + + + + + +

    func (*ParseStateSummaryResponse) GetHeight + + + +

    +
    func (x *ParseStateSummaryResponse) GetHeight() uint64
    + + + + + + +

    func (*ParseStateSummaryResponse) GetId + + + +

    +
    func (x *ParseStateSummaryResponse) GetId() []byte
    + + + + + + +

    func (*ParseStateSummaryResponse) ProtoMessage + + + +

    +
    func (*ParseStateSummaryResponse) ProtoMessage()
    + + + + + + +

    func (*ParseStateSummaryResponse) ProtoReflect + + + +

    +
    func (x *ParseStateSummaryResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*ParseStateSummaryResponse) Reset + + + +

    +
    func (x *ParseStateSummaryResponse) Reset()
    + + + + + + +

    func (*ParseStateSummaryResponse) String + + + +

    +
    func (x *ParseStateSummaryResponse) String() string
    + + + + + + + + +

    type SetPreferenceRequest + + + +

    + +
    type SetPreferenceRequest struct {
    +    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*SetPreferenceRequest) Descriptor + + + +

    +
    func (*SetPreferenceRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use SetPreferenceRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*SetPreferenceRequest) GetId + + + +

    +
    func (x *SetPreferenceRequest) GetId() []byte
    + + + + + + +

    func (*SetPreferenceRequest) ProtoMessage + + + +

    +
    func (*SetPreferenceRequest) ProtoMessage()
    + + + + + + +

    func (*SetPreferenceRequest) ProtoReflect + + + +

    +
    func (x *SetPreferenceRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*SetPreferenceRequest) Reset + + + +

    +
    func (x *SetPreferenceRequest) Reset()
    + + + + + + +

    func (*SetPreferenceRequest) String + + + +

    +
    func (x *SetPreferenceRequest) String() string
    + + + + + + + + +

    type SetStateRequest + + + +

    + +
    type SetStateRequest struct {
    +    State State `protobuf:"varint,1,opt,name=state,proto3,enum=vm.State" json:"state,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*SetStateRequest) Descriptor + + + +

    +
    func (*SetStateRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use SetStateRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*SetStateRequest) GetState + + + +

    +
    func (x *SetStateRequest) GetState() State
    + + + + + + +

    func (*SetStateRequest) ProtoMessage + + + +

    +
    func (*SetStateRequest) ProtoMessage()
    + + + + + + +

    func (*SetStateRequest) ProtoReflect + + + +

    +
    func (x *SetStateRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*SetStateRequest) Reset + + + +

    +
    func (x *SetStateRequest) Reset()
    + + + + + + +

    func (*SetStateRequest) String + + + +

    +
    func (x *SetStateRequest) String() string
    + + + + + + + + +

    type SetStateResponse + + + +

    + +
    type SetStateResponse struct {
    +    LastAcceptedId       []byte                 `protobuf:"bytes,1,opt,name=last_accepted_id,json=lastAcceptedId,proto3" json:"last_accepted_id,omitempty"`
    +    LastAcceptedParentId []byte                 `protobuf:"bytes,2,opt,name=last_accepted_parent_id,json=lastAcceptedParentId,proto3" json:"last_accepted_parent_id,omitempty"`
    +    Height               uint64                 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
    +    Bytes                []byte                 `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    Timestamp            *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*SetStateResponse) Descriptor + + + +

    +
    func (*SetStateResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use SetStateResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*SetStateResponse) GetBytes + + + +

    +
    func (x *SetStateResponse) GetBytes() []byte
    + + + + + + +

    func (*SetStateResponse) GetHeight + + + +

    +
    func (x *SetStateResponse) GetHeight() uint64
    + + + + + + +

    func (*SetStateResponse) GetLastAcceptedId + + + +

    +
    func (x *SetStateResponse) GetLastAcceptedId() []byte
    + + + + + + +

    func (*SetStateResponse) GetLastAcceptedParentId + + + +

    +
    func (x *SetStateResponse) GetLastAcceptedParentId() []byte
    + + + + + + +

    func (*SetStateResponse) GetTimestamp + + + +

    +
    func (x *SetStateResponse) GetTimestamp() *timestamppb.Timestamp
    + + + + + + +

    func (*SetStateResponse) ProtoMessage + + + +

    +
    func (*SetStateResponse) ProtoMessage()
    + + + + + + +

    func (*SetStateResponse) ProtoReflect + + + +

    +
    func (x *SetStateResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*SetStateResponse) Reset + + + +

    +
    func (x *SetStateResponse) Reset()
    + + + + + + +

    func (*SetStateResponse) String + + + +

    +
    func (x *SetStateResponse) String() string
    + + + + + + + + +

    type State + + + +

    + +
    type State int32
    + + + +
    const (
    +    State_STATE_UNSPECIFIED   State = 0
    +    State_STATE_STATE_SYNCING State = 1
    +    State_STATE_BOOTSTRAPPING State = 2
    +    State_STATE_NORMAL_OP     State = 3
    +)
    + + + + + + + + + + + + +

    func (State) Descriptor + + + +

    +
    func (State) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (State) Enum + + + +

    +
    func (x State) Enum() *State
    + + + + + + +

    func (State) EnumDescriptor + + + +

    +
    func (State) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use State.Descriptor instead. + + + + + + +

    func (State) Number + + + +

    +
    func (x State) Number() protoreflect.EnumNumber
    + + + + + + +

    func (State) String + + + +

    +
    func (x State) String() string
    + + + + + + +

    func (State) Type + + + +

    +
    func (State) Type() protoreflect.EnumType
    + + + + + + + + +

    type StateSummaryAcceptRequest + + + +

    + +
    type StateSummaryAcceptRequest struct {
    +    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*StateSummaryAcceptRequest) Descriptor + + + +

    +
    func (*StateSummaryAcceptRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use StateSummaryAcceptRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*StateSummaryAcceptRequest) GetBytes + + + +

    +
    func (x *StateSummaryAcceptRequest) GetBytes() []byte
    + + + + + + +

    func (*StateSummaryAcceptRequest) ProtoMessage + + + +

    +
    func (*StateSummaryAcceptRequest) ProtoMessage()
    + + + + + + +

    func (*StateSummaryAcceptRequest) ProtoReflect + + + +

    +
    func (x *StateSummaryAcceptRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*StateSummaryAcceptRequest) Reset + + + +

    +
    func (x *StateSummaryAcceptRequest) Reset()
    + + + + + + +

    func (*StateSummaryAcceptRequest) String + + + +

    +
    func (x *StateSummaryAcceptRequest) String() string
    + + + + + + + + +

    type StateSummaryAcceptResponse + + + +

    + +
    type StateSummaryAcceptResponse struct {
    +    Mode StateSummaryAcceptResponse_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=vm.StateSummaryAcceptResponse_Mode" json:"mode,omitempty"`
    +    Err  Error                           `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*StateSummaryAcceptResponse) Descriptor + + + +

    +
    func (*StateSummaryAcceptResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use StateSummaryAcceptResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*StateSummaryAcceptResponse) GetErr + + + +

    +
    func (x *StateSummaryAcceptResponse) GetErr() Error
    + + + + + + +

    func (*StateSummaryAcceptResponse) GetMode + + + +

    +
    func (x *StateSummaryAcceptResponse) GetMode() StateSummaryAcceptResponse_Mode
    + + + + + + +

    func (*StateSummaryAcceptResponse) ProtoMessage + + + +

    +
    func (*StateSummaryAcceptResponse) ProtoMessage()
    + + + + + + +

    func (*StateSummaryAcceptResponse) ProtoReflect + + + +

    +
    func (x *StateSummaryAcceptResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*StateSummaryAcceptResponse) Reset + + + +

    +
    func (x *StateSummaryAcceptResponse) Reset()
    + + + + + + +

    func (*StateSummaryAcceptResponse) String + + + +

    +
    func (x *StateSummaryAcceptResponse) String() string
    + + + + + + + + +

    type StateSummaryAcceptResponse_Mode + + + +

    + +
    type StateSummaryAcceptResponse_Mode int32
    + + + +
    const (
    +    StateSummaryAcceptResponse_MODE_UNSPECIFIED StateSummaryAcceptResponse_Mode = 0
    +    StateSummaryAcceptResponse_MODE_SKIPPED     StateSummaryAcceptResponse_Mode = 1
    +    StateSummaryAcceptResponse_MODE_STATIC      StateSummaryAcceptResponse_Mode = 2
    +    StateSummaryAcceptResponse_MODE_DYNAMIC     StateSummaryAcceptResponse_Mode = 3
    +)
    + + + + + + + + + + + + +

    func (StateSummaryAcceptResponse_Mode) Descriptor + + + +

    +
    func (StateSummaryAcceptResponse_Mode) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (StateSummaryAcceptResponse_Mode) Enum + + + +

    +
    func (x StateSummaryAcceptResponse_Mode) Enum() *StateSummaryAcceptResponse_Mode
    + + + + + + +

    func (StateSummaryAcceptResponse_Mode) EnumDescriptor + + + +

    +
    func (StateSummaryAcceptResponse_Mode) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use StateSummaryAcceptResponse_Mode.Descriptor instead. + + + + + + +

    func (StateSummaryAcceptResponse_Mode) Number + + + +

    +
    func (x StateSummaryAcceptResponse_Mode) Number() protoreflect.EnumNumber
    + + + + + + +

    func (StateSummaryAcceptResponse_Mode) String + + + +

    +
    func (x StateSummaryAcceptResponse_Mode) String() string
    + + + + + + +

    func (StateSummaryAcceptResponse_Mode) Type + + + +

    +
    func (StateSummaryAcceptResponse_Mode) Type() protoreflect.EnumType
    + + + + + + + + +

    type StateSyncEnabledResponse + + + +

    + +
    type StateSyncEnabledResponse struct {
    +    Enabled bool  `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
    +    Err     Error `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*StateSyncEnabledResponse) Descriptor + + + +

    +
    func (*StateSyncEnabledResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use StateSyncEnabledResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*StateSyncEnabledResponse) GetEnabled + + + +

    +
    func (x *StateSyncEnabledResponse) GetEnabled() bool
    + + + + + + +

    func (*StateSyncEnabledResponse) GetErr + + + +

    +
    func (x *StateSyncEnabledResponse) GetErr() Error
    + + + + + + +

    func (*StateSyncEnabledResponse) ProtoMessage + + + +

    +
    func (*StateSyncEnabledResponse) ProtoMessage()
    + + + + + + +

    func (*StateSyncEnabledResponse) ProtoReflect + + + +

    +
    func (x *StateSyncEnabledResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*StateSyncEnabledResponse) Reset + + + +

    +
    func (x *StateSyncEnabledResponse) Reset()
    + + + + + + +

    func (*StateSyncEnabledResponse) String + + + +

    +
    func (x *StateSyncEnabledResponse) String() string
    + + + + + + + + +

    type Status + + + +

    + +
    type Status int32
    + + + +
    const (
    +    Status_STATUS_UNSPECIFIED Status = 0
    +    Status_STATUS_PROCESSING  Status = 1
    +    Status_STATUS_REJECTED    Status = 2
    +    Status_STATUS_ACCEPTED    Status = 3
    +)
    + + + + + + + + + + + + +

    func (Status) Descriptor + + + +

    +
    func (Status) Descriptor() protoreflect.EnumDescriptor
    + + + + + + +

    func (Status) Enum + + + +

    +
    func (x Status) Enum() *Status
    + + + + + + +

    func (Status) EnumDescriptor + + + +

    +
    func (Status) EnumDescriptor() ([]byte, []int)
    +

    Deprecated: Use Status.Descriptor instead. + + + + + + +

    func (Status) Number + + + +

    +
    func (x Status) Number() protoreflect.EnumNumber
    + + + + + + +

    func (Status) String + + + +

    +
    func (x Status) String() string
    + + + + + + +

    func (Status) Type + + + +

    +
    func (Status) Type() protoreflect.EnumType
    + + + + + + + + +

    type UnimplementedVMServer + + + +

    +

    UnimplementedVMServer should be embedded to have forward compatible implementations. + +

    type UnimplementedVMServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedVMServer) AppGossip + + + +

    +
    func (UnimplementedVMServer) AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) AppRequest + + + +

    +
    func (UnimplementedVMServer) AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) AppRequestFailed + + + +

    +
    func (UnimplementedVMServer) AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) AppResponse + + + +

    +
    func (UnimplementedVMServer) AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) BatchedParseBlock + + + +

    +
    func (UnimplementedVMServer) BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) BlockAccept + + + +

    +
    func (UnimplementedVMServer) BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) BlockReject + + + +

    +
    func (UnimplementedVMServer) BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) BlockVerify + + + +

    +
    func (UnimplementedVMServer) BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) BuildBlock + + + +

    +
    func (UnimplementedVMServer) BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) Connected + + + +

    +
    func (UnimplementedVMServer) Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) CreateHandlers + + + +

    +
    func (UnimplementedVMServer) CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) CrossChainAppRequest + + + +

    +
    func (UnimplementedVMServer) CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) CrossChainAppRequestFailed + + + +

    +
    func (UnimplementedVMServer) CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) CrossChainAppResponse + + + +

    +
    func (UnimplementedVMServer) CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) Disconnected + + + +

    +
    func (UnimplementedVMServer) Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) Gather + + + +

    +
    func (UnimplementedVMServer) Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetAncestors + + + +

    +
    func (UnimplementedVMServer) GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetBlock + + + +

    +
    func (UnimplementedVMServer) GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetBlockIDAtHeight + + + +

    +
    func (UnimplementedVMServer) GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetLastStateSummary + + + +

    +
    func (UnimplementedVMServer) GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetOngoingSyncStateSummary + + + +

    +
    func (UnimplementedVMServer) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) GetStateSummary + + + +

    +
    func (UnimplementedVMServer) GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) Health + + + +

    +
    func (UnimplementedVMServer) Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) Initialize + + + +

    +
    func (UnimplementedVMServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) ParseBlock + + + +

    +
    func (UnimplementedVMServer) ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) ParseStateSummary + + + +

    +
    func (UnimplementedVMServer) ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) SetPreference + + + +

    +
    func (UnimplementedVMServer) SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) SetState + + + +

    +
    func (UnimplementedVMServer) SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) Shutdown + + + +

    +
    func (UnimplementedVMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + + + + + +

    func (UnimplementedVMServer) StateSummaryAccept + + + +

    +
    func (UnimplementedVMServer) StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) StateSyncEnabled + + + +

    +
    func (UnimplementedVMServer) StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    + + + + + + +

    func (UnimplementedVMServer) Version + + + +

    +
    func (UnimplementedVMServer) Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    + + + + + + + + +

    type UnsafeVMServer + + + +

    +

    UnsafeVMServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to VMServer will +result in compilation errors. + +

    type UnsafeVMServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + +

    type VMClient + + + +

    +

    VMClient is the client API for VM 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 VMClient interface {
    +    // ChainVM
    +    //
    +    // Initialize this VM.
    +    Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error)
    +    // SetState communicates to VM its next state it starts
    +    SetState(ctx context.Context, in *SetStateRequest, opts ...grpc.CallOption) (*SetStateResponse, error)
    +    // Shutdown is called when the node is shutting down.
    +    Shutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Creates the HTTP handlers for custom chain network calls.
    +    CreateHandlers(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CreateHandlersResponse, error)
    +    Connected(ctx context.Context, in *ConnectedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    Disconnected(ctx context.Context, in *DisconnectedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Attempt to create a new block from data contained in the VM.
    +    BuildBlock(ctx context.Context, in *BuildBlockRequest, opts ...grpc.CallOption) (*BuildBlockResponse, error)
    +    // Attempt to create a block from a stream of bytes.
    +    ParseBlock(ctx context.Context, in *ParseBlockRequest, opts ...grpc.CallOption) (*ParseBlockResponse, error)
    +    // Attempt to load a block.
    +    GetBlock(ctx context.Context, in *GetBlockRequest, opts ...grpc.CallOption) (*GetBlockResponse, error)
    +    // Notify the VM of the currently preferred block.
    +    SetPreference(ctx context.Context, in *SetPreferenceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Attempt to verify the health of the VM.
    +    Health(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HealthResponse, error)
    +    // Version returns the version of the VM.
    +    Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error)
    +    // Notify this engine of a request for data from [nodeID].
    +    AppRequest(ctx context.Context, in *AppRequestMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Notify this engine that an AppRequest message it sent to [nodeID] with
    +    // request ID [requestID] failed.
    +    AppRequestFailed(ctx context.Context, in *AppRequestFailedMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Notify this engine of a response to the AppRequest message it sent to
    +    // [nodeID] with request ID [requestID].
    +    AppResponse(ctx context.Context, in *AppResponseMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Notify this engine of a gossip message from [nodeID].
    +    AppGossip(ctx context.Context, in *AppGossipMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // Attempts to gather metrics from a VM.
    +    Gather(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GatherResponse, error)
    +    CrossChainAppRequest(ctx context.Context, in *CrossChainAppRequestMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    CrossChainAppRequestFailed(ctx context.Context, in *CrossChainAppRequestFailedMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    CrossChainAppResponse(ctx context.Context, in *CrossChainAppResponseMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // BatchedChainVM
    +    GetAncestors(ctx context.Context, in *GetAncestorsRequest, opts ...grpc.CallOption) (*GetAncestorsResponse, error)
    +    BatchedParseBlock(ctx context.Context, in *BatchedParseBlockRequest, opts ...grpc.CallOption) (*BatchedParseBlockResponse, error)
    +    // HeightIndexedChainVM
    +    GetBlockIDAtHeight(ctx context.Context, in *GetBlockIDAtHeightRequest, opts ...grpc.CallOption) (*GetBlockIDAtHeightResponse, error)
    +    // StateSyncableVM
    +    //
    +    // StateSyncEnabled indicates whether the state sync is enabled for this VM.
    +    StateSyncEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*StateSyncEnabledResponse, error)
    +    // GetOngoingSyncStateSummary returns an in-progress state summary if it exists.
    +    GetOngoingSyncStateSummary(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetOngoingSyncStateSummaryResponse, error)
    +    // GetLastStateSummary returns the latest state summary.
    +    GetLastStateSummary(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLastStateSummaryResponse, error)
    +    // ParseStateSummary parses a state summary out of [summaryBytes].
    +    ParseStateSummary(ctx context.Context, in *ParseStateSummaryRequest, opts ...grpc.CallOption) (*ParseStateSummaryResponse, error)
    +    // GetStateSummary retrieves the state summary that was generated at height
    +    // [summaryHeight].
    +    GetStateSummary(ctx context.Context, in *GetStateSummaryRequest, opts ...grpc.CallOption) (*GetStateSummaryResponse, error)
    +    // Block
    +    BlockVerify(ctx context.Context, in *BlockVerifyRequest, opts ...grpc.CallOption) (*BlockVerifyResponse, error)
    +    BlockAccept(ctx context.Context, in *BlockAcceptRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    BlockReject(ctx context.Context, in *BlockRejectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +    // StateSummary
    +    StateSummaryAccept(ctx context.Context, in *StateSummaryAcceptRequest, opts ...grpc.CallOption) (*StateSummaryAcceptResponse, error)
    +}
    + + + + + + + + + + + +

    func NewVMClient + + + +

    +
    func NewVMClient(cc grpc.ClientConnInterface) VMClient
    + + + + + + + + + +

    type VMServer + + + +

    +

    VMServer is the server API for VM service. +All implementations should embed UnimplementedVMServer +for forward compatibility + +

    type VMServer interface {
    +    // ChainVM
    +    //
    +    // Initialize this VM.
    +    Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    +    // SetState communicates to VM its next state it starts
    +    SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    +    // Shutdown is called when the node is shutting down.
    +    Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    +    // Creates the HTTP handlers for custom chain network calls.
    +    CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    +    Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    +    Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    +    // Attempt to create a new block from data contained in the VM.
    +    BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    +    // Attempt to create a block from a stream of bytes.
    +    ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    +    // Attempt to load a block.
    +    GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    +    // Notify the VM of the currently preferred block.
    +    SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    +    // Attempt to verify the health of the VM.
    +    Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    +    // Version returns the version of the VM.
    +    Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    +    // Notify this engine of a request for data from [nodeID].
    +    AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    +    // Notify this engine that an AppRequest message it sent to [nodeID] with
    +    // request ID [requestID] failed.
    +    AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    +    // Notify this engine of a response to the AppRequest message it sent to
    +    // [nodeID] with request ID [requestID].
    +    AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    +    // Notify this engine of a gossip message from [nodeID].
    +    AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    +    // Attempts to gather metrics from a VM.
    +    Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    +    CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    +    CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    +    CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    +    // BatchedChainVM
    +    GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    +    BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    +    // HeightIndexedChainVM
    +    GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    +    // StateSyncableVM
    +    //
    +    // StateSyncEnabled indicates whether the state sync is enabled for this VM.
    +    StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    +    // GetOngoingSyncStateSummary returns an in-progress state summary if it exists.
    +    GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    +    // GetLastStateSummary returns the latest state summary.
    +    GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    +    // ParseStateSummary parses a state summary out of [summaryBytes].
    +    ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    +    // GetStateSummary retrieves the state summary that was generated at height
    +    // [summaryHeight].
    +    GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    +    // Block
    +    BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    +    BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    +    BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    +    // StateSummary
    +    StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    +}
    + + + + + + + + + + + + + + + +

    type VersionResponse + + + +

    + +
    type VersionResponse struct {
    +    Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*VersionResponse) Descriptor + + + +

    +
    func (*VersionResponse) Descriptor() ([]byte, []int)
    +

    Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. + + + + + + +

    func (*VersionResponse) GetVersion + + + +

    +
    func (x *VersionResponse) GetVersion() string
    + + + + + + +

    func (*VersionResponse) ProtoMessage + + + +

    +
    func (*VersionResponse) ProtoMessage()
    + + + + + + +

    func (*VersionResponse) ProtoReflect + + + +

    +
    func (x *VersionResponse) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*VersionResponse) Reset + + + +

    +
    func (x *VersionResponse) Reset()
    + + + + + + +

    func (*VersionResponse) String + + + +

    +
    func (x *VersionResponse) String() string
    + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + runtime + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html new file mode 100644 index 00000000..f7765ae2 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html @@ -0,0 +1,514 @@ + + + + + + + + runtime - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package runtime + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/proto/vm/runtime"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const (
    +    Runtime_Initialize_FullMethodName = "/vm.runtime.Runtime/Initialize"
    +)
    + + + +

    Variables

    + + +
    var File_vm_runtime_runtime_proto protoreflect.FileDescriptor
    + +

    Runtime_ServiceDesc is the grpc.ServiceDesc for Runtime service. +It's only intended for direct use with grpc.RegisterService, +and not to be introspected or modified (even as a copy) + +

    var Runtime_ServiceDesc = grpc.ServiceDesc{
    +    ServiceName: "vm.runtime.Runtime",
    +    HandlerType: (*RuntimeServer)(nil),
    +    Methods: []grpc.MethodDesc{
    +        {
    +            MethodName: "Initialize",
    +            Handler:    _Runtime_Initialize_Handler,
    +        },
    +    },
    +    Streams:  []grpc.StreamDesc{},
    +    Metadata: "vm/runtime/runtime.proto",
    +}
    + + + + + +

    func RegisterRuntimeServer + + + +

    +
    func RegisterRuntimeServer(s grpc.ServiceRegistrar, srv RuntimeServer)
    + + + + + + + + +

    type InitializeRequest + + + +

    + +
    type InitializeRequest struct {
    +
    +    // ProtocolVersion is used to identify incompatibilities with AvalancheGo and a VM.
    +    ProtocolVersion uint32 `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
    +    // Address of the gRPC server endpoint serving the handshake logic.
    +    // Example: 127.0.0.1:50001
    +    Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*InitializeRequest) Descriptor + + + +

    +
    func (*InitializeRequest) Descriptor() ([]byte, []int)
    +

    Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. + + + + + + +

    func (*InitializeRequest) GetAddr + + + +

    +
    func (x *InitializeRequest) GetAddr() string
    + + + + + + +

    func (*InitializeRequest) GetProtocolVersion + + + +

    +
    func (x *InitializeRequest) GetProtocolVersion() uint32
    + + + + + + +

    func (*InitializeRequest) ProtoMessage + + + +

    +
    func (*InitializeRequest) ProtoMessage()
    + + + + + + +

    func (*InitializeRequest) ProtoReflect + + + +

    +
    func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    + + + + + + +

    func (*InitializeRequest) Reset + + + +

    +
    func (x *InitializeRequest) Reset()
    + + + + + + +

    func (*InitializeRequest) String + + + +

    +
    func (x *InitializeRequest) String() string
    + + + + + + + + +

    type RuntimeClient + + + +

    +

    RuntimeClient is the client API for Runtime 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 RuntimeClient interface {
    +    // Initialize a VM Runtime.
    +    Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    +}
    + + + + + + + + + + + +

    func NewRuntimeClient + + + +

    +
    func NewRuntimeClient(cc grpc.ClientConnInterface) RuntimeClient
    + + + + + + + + + +

    type RuntimeServer + + + +

    +

    RuntimeServer is the server API for Runtime service. +All implementations should embed UnimplementedRuntimeServer +for forward compatibility + +

    type RuntimeServer interface {
    +    // Initialize a VM Runtime.
    +    Initialize(context.Context, *InitializeRequest) (*emptypb.Empty, error)
    +}
    + + + + + + + + + + + + + + + +

    type UnimplementedRuntimeServer + + + +

    +

    UnimplementedRuntimeServer should be embedded to have forward compatible implementations. + +

    type UnimplementedRuntimeServer struct {
    +}
    +
    + + + + + + + + + + + + + +

    func (UnimplementedRuntimeServer) Initialize + + + +

    +
    func (UnimplementedRuntimeServer) Initialize(context.Context, *InitializeRequest) (*emptypb.Empty, error)
    + + + + + + + + +

    type UnsafeRuntimeServer + + + +

    +

    UnsafeRuntimeServer may be embedded to opt out of forward compatibility for this service. +Use of this interface is not recommended, as added methods to RuntimeServer will +result in compilation errors. + +

    type UnsafeRuntimeServer interface {
    +    // contains filtered or unexported methods
    +}
    + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html new file mode 100644 index 00000000..70462609 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html @@ -0,0 +1,678 @@ + + + + + + + + cache - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package cache + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/cache"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const TestIntSize = ids.IDLen + 8
    + + + +

    Variables

    + +

    CacherTests is a list of all Cacher tests + +

    var CacherTests = []struct {
    +    Size int
    +    Func func(t *testing.T, c Cacher[ids.ID, int64])
    +}{
    +    {Size: 1, Func: TestBasic},
    +    {Size: 2, Func: TestEviction},
    +}
    + + + + + +

    func TestBasic + + + +

    +
    func TestBasic(t *testing.T, cache Cacher[ids.ID, int64])
    + + + + + + + +

    func TestEviction + + + +

    +
    func TestEviction(t *testing.T, cache Cacher[ids.ID, int64])
    + + + + + + + +

    func TestIntSizeFunc + + + +

    +
    func TestIntSizeFunc(ids.ID, int64) int
    + + + + + + + + +

    type Cacher + + + +

    +

    Cacher acts as a best effort key value store. + +

    type Cacher[K comparable, V any] interface {
    +    // Put inserts an element into the cache. If space is required, elements will
    +    // be evicted.
    +    Put(key K, value V)
    +
    +    // Get returns the entry in the cache with the key specified, if no value
    +    // exists, false is returned.
    +    Get(key K) (V, bool)
    +
    +    // Evict removes the specified entry from the cache
    +    Evict(key K)
    +
    +    // Flush removes all entries from the cache
    +    Flush()
    +
    +    // Returns the number of elements currently in the cache
    +    Len() int
    +
    +    // Returns fraction of cache currently filled (0 --> 1)
    +    PortionFilled() float64
    +}
    + + + + + + + + + + + +

    func NewSizedLRU + + + +

    +
    func NewSizedLRU[K comparable, V any](maxSize int, size func(K, V) int) Cacher[K, V]
    + + + + + + + + + +

    type Deduplicator + + + +

    +

    Deduplicator acts as a best effort deduplication service + +

    type Deduplicator[K comparable, V Evictable[K]] interface {
    +    // Deduplicate returns either the provided value, or a previously provided
    +    // value with the same ID that hasn't yet been evicted
    +    Deduplicate(V) V
    +
    +    // Flush removes all entries from the cache
    +    Flush()
    +}
    + + + + + + + + + + + + + + + +

    type Empty + + + +

    + +
    type Empty[K any, V any] struct{}
    +
    + + + + + + + + + + + + + +

    func (*Empty[K, _]) Evict + + + +

    +
    func (*Empty[K, _]) Evict(K)
    + + + + + + +

    func (*Empty[_, _]) Flush + + + +

    +
    func (*Empty[_, _]) Flush()
    + + + + + + +

    func (*Empty[K, V]) Get + + + +

    +
    func (*Empty[K, V]) Get(K) (V, bool)
    + + + + + + +

    func (*Empty[_, _]) Len + + + +

    +
    func (*Empty[_, _]) Len() int
    + + + + + + +

    func (*Empty[_, _]) PortionFilled + + + +

    +
    func (*Empty[_, _]) PortionFilled() float64
    + + + + + + +

    func (*Empty[K, V]) Put + + + +

    +
    func (*Empty[K, V]) Put(K, V)
    + + + + + + + + +

    type Evictable + + + +

    +

    Evictable allows the object to be notified when it is evicted + +

    type Evictable[K comparable] interface {
    +    Key() K
    +    Evict()
    +}
    + + + + + + + + + + + + + + + +

    type EvictableLRU + + + +

    +

    EvictableLRU is an LRU cache that notifies the objects when they are evicted. + +

    type EvictableLRU[K comparable, _ Evictable[K]] struct {
    +    Size int
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*EvictableLRU[_, V]) Deduplicate + + + +

    +
    func (c *EvictableLRU[_, V]) Deduplicate(value V) V
    + + + + + + +

    func (*EvictableLRU[_, _]) Flush + + + +

    +
    func (c *EvictableLRU[_, _]) Flush()
    + + + + + + + + +

    type LRU + + + +

    +

    LRU is a key value store with bounded size. If the size is attempted to be +exceeded, then an element is removed from the cache before the insertion is +done, based on evicting the least recently used value. + +

    type LRU[K comparable, V any] struct {
    +
    +    // If set to <= 0, will be set internally to 1.
    +    Size int
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*LRU[K, _]) Evict + + + +

    +
    func (c *LRU[K, _]) Evict(key K)
    + + + + + + +

    func (*LRU[_, _]) Flush + + + +

    +
    func (c *LRU[_, _]) Flush()
    + + + + + + +

    func (*LRU[K, V]) Get + + + +

    +
    func (c *LRU[K, V]) Get(key K) (V, bool)
    + + + + + + +

    func (*LRU[_, _]) Len + + + +

    +
    func (c *LRU[_, _]) Len() int
    + + + + + + +

    func (*LRU[_, _]) PortionFilled + + + +

    +
    func (c *LRU[_, _]) PortionFilled() float64
    + + + + + + +

    func (*LRU[K, V]) Put + + + +

    +
    func (c *LRU[K, V]) Put(key K, value V)
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html new file mode 100644 index 00000000..1e24ffcc --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html @@ -0,0 +1,211 @@ + + + + + + + + cb58 - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package cb58 + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/cb58"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + + + + + + +

    Package files

    +

    + + + cb58.go + + +

    + +
    +
    + + + + + +

    Variables

    + + +
    var (
    +    ErrBase58Decoding  = errors.New("base58 decoding error")
    +    ErrMissingChecksum = errors.New("input string is smaller than the checksum size")
    +    ErrBadChecksum     = errors.New("invalid input checksum")
    +)
    + + + + + +

    func Decode + + + +

    +
    func Decode(str string) ([]byte, error)
    +

    Decode [str] to bytes from cb58. + + + + + + + +

    func Encode + + + +

    +
    func Encode(bytes []byte) (string, error)
    +

    Encode bytes to a string using cb58 format. +bytes may be nil, in which case it will be treated the same as an empty +slice. + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html new file mode 100644 index 00000000..7f43c4ee --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html @@ -0,0 +1,460 @@ + + + + + + + + hashing - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package hashing + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/hashing"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    +

    Package hashing is a generated GoMock package. + + +

    +
    + + + + + + +

    Constants

    + + +
    const (
    +    HashLen = sha256.Size
    +)
    + + + +

    Variables

    + + +
    var ErrInvalidHashLen = errors.New("invalid hash length")
    + + + + + +

    func Checksum + + + +

    +
    func Checksum(bytes []byte, length int) []byte
    +

    Checksum creates a checksum of [length] bytes from the 256 bit hash of the +byte slice. +

    Returns: the lower [length] bytes of the hash +Panics if length > 32. + + + + + + + +

    func ComputeHash256 + + + +

    +
    func ComputeHash256(buf []byte) []byte
    +

    ComputeHash256 computes a cryptographically strong 256 bit hash of the input +byte slice. + + + + + + + +

    func ComputeHash256Ranges + + + +

    +
    func ComputeHash256Ranges(buf []byte, ranges [][2]int) []byte
    +

    ComputeHash256Ranges computes a cryptographically strong 256 bit hash of the input +byte slice in the ranges specified. +Example: +ComputeHash256Ranges({1, 2, 4, 8, 16}, {{1, 2}, {3, 5}}) is equivalent to +ComputeHash256({2, 8, 16}). + + + + + + + + +

    type Hash256 + + + +

    +

    Hash256 A 256 bit long hash value. + +

    type Hash256 = [HashLen]byte
    + + + + + + + + + + + +

    func ComputeHash256Array + + + +

    +
    func ComputeHash256Array(buf []byte) Hash256
    +

    ComputeHash256Array computes a cryptographically strong 256 bit hash of the +input byte slice. + + + + + +

    func ToHash256 + + + +

    +
    func ToHash256(bytes []byte) (Hash256, error)
    + + + + + + + + + +

    type Hasher + + + +

    +

    Hasher is an interface to compute a hash value. + +

    type Hasher interface {
    +    // Hash takes a string and computes its hash value.
    +    // Values must be computed deterministically.
    +    Hash([]byte) uint64
    +}
    + + + + + + + + + + + + + + + +

    type MockHasher + + + +

    +

    MockHasher is a mock of Hasher interface. + +

    type MockHasher struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewMockHasher + + + +

    +
    func NewMockHasher(ctrl *gomock.Controller) *MockHasher
    +

    NewMockHasher creates a new mock instance. + + + + + + + +

    func (*MockHasher) EXPECT + + + +

    +
    func (m *MockHasher) EXPECT() *MockHasherMockRecorder
    +

    EXPECT returns an object that allows the caller to indicate expected use. + + + + + + +

    func (*MockHasher) Hash + + + +

    +
    func (m *MockHasher) Hash(arg0 []byte) uint64
    +

    Hash mocks base method. + + + + + + + + +

    type MockHasherMockRecorder + + + +

    +

    MockHasherMockRecorder is the mock recorder for MockHasher. + +

    type MockHasherMockRecorder struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*MockHasherMockRecorder) Hash + + + +

    +
    func (mr *MockHasherMockRecorder) Hash(arg0 any) *gomock.Call
    +

    Hash indicates an expected call of Hash. + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html new file mode 100644 index 00000000..9a17db96 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html @@ -0,0 +1,482 @@ + + + + + + + + ids - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package ids + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/ids"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + +

    BitsPerByte is the number of bits per byte + +

    const BitsPerByte = 8
    + + +
    const (
    +    IDLen = 32
    +)
    + +

    NumBits is the number of bits this patricia tree manages + +

    const NumBits = 256
    + + + +

    Variables

    + + +
    var (
    +    // Empty is a useful all zero value
    +    Empty = ID{}
    +)
    + + + + + +

    func EqualSubset + + + +

    +
    func EqualSubset(start, stop int, id1, id2 ID) bool
    +

    EqualSubset takes in two indices and two ids and returns if the ids are +equal from bit start to bit end (non-inclusive). Bit indices are defined as: +[7 6 5 4 3 2 1 0] [15 14 13 12 11 10 9 8] ... [255 254 253 252 251 250 249 248] +Where index 7 is the MSB of byte 0. + + + + + + + +

    func FirstDifferenceSubset + + + +

    +
    func FirstDifferenceSubset(start, stop int, id1, id2 ID) (int, bool)
    +

    FirstDifferenceSubset takes in two indices and two ids and returns the index +of the first difference between the ids inside bit start to bit end +(non-inclusive). Bit indices are defined above + + + + + + + + +

    type ID + + + +

    +

    ID wraps a 32 byte hash used as an identifier + +

    type ID [IDLen]byte
    + + + + + + + + + + + +

    func FromString + + + +

    +
    func FromString(idStr string) (ID, error)
    +

    FromString is the inverse of ID.String() + + + + + +

    func FromStringOrPanic + + + +

    +
    func FromStringOrPanic(idStr string) ID
    +

    FromStringOrPanic is the same as FromString, but will panic on error + + + + + +

    func GenerateTestID + + + +

    +
    func GenerateTestID() ID
    +

    GenerateTestID returns a new ID that should only be used for testing + + + + + +

    func ToID + + + +

    +
    func ToID(bytes []byte) (ID, error)
    +

    ToID attempt to convert a byte slice into an id + + + + + + + +

    func (ID) Bit + + + +

    +
    func (id ID) Bit(i uint) int
    +

    Bit returns the bit value at the ith index of the byte array. Returns 0 or 1 + + + + + + +

    func (ID) Compare + + + +

    +
    func (id ID) Compare(other ID) int
    + + + + + + +

    func (ID) Hex + + + +

    +
    func (id ID) Hex() string
    +

    Hex returns a hex encoded string of this id. + + + + + + +

    func (ID) MarshalJSON + + + +

    +
    func (id ID) MarshalJSON() ([]byte, error)
    + + + + + + +

    func (ID) MarshalText + + + +

    +
    func (id ID) MarshalText() ([]byte, error)
    + + + + + + +

    func (ID) Prefix + + + +

    +
    func (id ID) Prefix(prefixes ...uint64) ID
    +

    Prefix this id to create a more selective id. This can be used to store +multiple values under the same key. For example: +prefix1(id) -> confidence +prefix2(id) -> vertex +This will return a new id and not modify the original id. + + + + + + +

    func (ID) String + + + +

    +
    func (id ID) String() string
    + + + + + + +

    func (*ID) UnmarshalJSON + + + +

    +
    func (id *ID) UnmarshalJSON(b []byte) error
    + + + + + + +

    func (*ID) UnmarshalText + + + +

    +
    func (id *ID) UnmarshalText(text []byte) error
    + + + + + + +

    func (ID) XOR + + + +

    +
    func (id ID) XOR(other ID) ID
    +

    XOR this id and the provided id and return the resulting id. +

    Note: this id is not modified. + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html new file mode 100644 index 00000000..b43f59d2 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html @@ -0,0 +1,422 @@ + + + + + + + + utils - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package utils + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + + + + + +

    func IsSortedAndUnique + + + +

    +
    func IsSortedAndUnique[T Sortable[T]](s []T) bool
    +

    Returns true iff the elements in [s] are unique and sorted. + + + + + + + +

    func IsSortedAndUniqueByHash + + + +

    +
    func IsSortedAndUniqueByHash[T ~[]byte](s []T) bool
    +

    Returns true iff the elements in [s] are unique and sorted +based by their hashes. + + + + + + + +

    func IsSortedAndUniqueOrdered + + + +

    +
    func IsSortedAndUniqueOrdered[T cmp.Ordered](s []T) bool
    +

    Returns true iff the elements in [s] are unique and sorted. + + + + + + + +

    func IsSortedBytes + + + +

    +
    func IsSortedBytes[T ~[]byte](s []T) bool
    +

    Returns true iff the elements in [s] are sorted. + + + + + + + +

    func Sort + + + +

    +
    func Sort[T Sortable[T]](s []T)
    +

    Sorts the elements of [s]. + + + + + + + +

    func SortByHash + + + +

    +
    func SortByHash[T ~[]byte](s []T)
    +

    Sorts the elements of [s] based on their hashes. + + + + + + + +

    func Zero + + + +

    +
    func Zero[T any]() T
    +

    Zero Returns a new instance of a T. + + + + + + + +

    func ZeroSlice + + + +

    +
    func ZeroSlice[T any](s []T)
    +

    ZeroSlice sets all values of the provided slice to the type's zero value. +

    This can be useful to ensure that the garbage collector doesn't hold +references to values that are no longer desired. + + + + + + + + +

    type Sortable + + + +

    + +
    type Sortable[T any] interface {
    +    Compare(T) int
    +}
    + + + + + + + + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + cache + + +
    + cb58 + + +
    + hashing + + Package hashing is a generated GoMock package. +
    + ids + + +
    + linkedhashmap + + +
    + wrappers + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html new file mode 100644 index 00000000..077f561a --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html @@ -0,0 +1,284 @@ + + + + + + + + linkedhashmap - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package linkedhashmap + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/linkedhashmap"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + + + + +
    type Hashmap
    + + + + +
    type Iter
    + + + + +
    type LinkedHashmap
    + + +
        func New[K comparable, V any]() LinkedHashmap[K, V]
    + + + + +
    +
    + + + + +

    Package files

    +

    + + + iterator.go + + linkedhashmap.go + + +

    + +
    +
    + + + + + + + + + +

    type Hashmap + + + +

    +

    Hashmap provides an O(1) mapping from a comparable key to any value. +Comparable is defined by https://golang.org/ref/spec#Comparison_operators. + +

    type Hashmap[K, V any] interface {
    +    Put(key K, val V)
    +    Get(key K) (val V, exists bool)
    +    Delete(key K) (deleted bool)
    +    Len() int
    +}
    + + + + + + + + + + + + + + + +

    type Iter + + + +

    +

    Iterates over the keys and values in a LinkedHashmap +from oldest to newest elements. +Assumes the underlying LinkedHashmap is not modified while +the iterator is in use, except to delete elements that +have already been iterated over. + +

    type Iter[K, V any] interface {
    +    Next() bool
    +    Key() K
    +    Value() V
    +}
    + + + + + + + + + + + + + + + +

    type LinkedHashmap + + + +

    +

    LinkedHashmap is a hashmap that keeps track of the oldest pairing an the +newest pairing. + +

    type LinkedHashmap[K, V any] interface {
    +    Hashmap[K, V]
    +
    +    Oldest() (key K, val V, exists bool)
    +    Newest() (key K, val V, exists bool)
    +    NewIterator() Iter[K, V]
    +}
    + + + + + + + + + + + +

    func New + + + +

    +
    func New[K comparable, V any]() LinkedHashmap[K, V]
    + + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html new file mode 100644 index 00000000..9c43e976 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html @@ -0,0 +1,667 @@ + + + + + + + + wrappers - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package wrappers + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/utils/wrappers"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + + + + + + +

    Constants

    + + +
    const (
    +    MaxStringLen = math.MaxUint16
    +
    +    // ByteLen is the number of bytes per byte...
    +    ByteLen = 1
    +    // ShortLen is the number of bytes per short
    +    ShortLen = 2
    +    // IntLen is the number of bytes per int
    +    IntLen = 4
    +    // LongLen is the number of bytes per long
    +    LongLen = 8
    +    // BoolLen is the number of bytes per bool
    +    BoolLen = 1
    +)
    + + + +

    Variables

    + + +
    var (
    +    ErrInsufficientLength = errors.New("packer has insufficient length for input")
    +)
    + + + + + +

    func StringLen + + + +

    +
    func StringLen(str string) int
    + + + + + + + + +

    type Closer + + + +

    +

    Closer is a nice utility for closing a group of objects while reporting an +error if one occurs. + +

    type Closer struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Closer) Add + + + +

    +
    func (c *Closer) Add(closer io.Closer)
    +

    Add a new object to be closed. + + + + + + +

    func (*Closer) Close + + + +

    +
    func (c *Closer) Close() error
    +

    Close closes each of the closers add to [c] and returns the first error +that occurs or nil if no error occurs. + + + + + + + + +

    type Errs + + + +

    + +
    type Errs struct{ Err error }
    +
    + + + + + + + + + + + + + +

    func (*Errs) Add + + + +

    +
    func (errs *Errs) Add(errors ...error)
    + + + + + + +

    func (*Errs) Errored + + + +

    +
    func (errs *Errs) Errored() bool
    + + + + + + + + +

    type Packer + + + +

    +

    Packer packs and unpacks a byte array from/to standard values + +

    type Packer struct {
    +    Errs
    +
    +    // The largest allowed size of expanding the byte array
    +    MaxSize int
    +    // The current byte array
    +    Bytes []byte
    +    // The offset that is being written to in the byte array
    +    Offset int
    +}
    +
    + + + + + + + + + + + + + +

    func (*Packer) PackBool + + + +

    +
    func (p *Packer) PackBool(b bool)
    +

    PackBool packs a bool into the byte array + + + + + + +

    func (*Packer) PackByte + + + +

    +
    func (p *Packer) PackByte(val byte)
    +

    PackByte append a byte to the byte array + + + + + + +

    func (*Packer) PackBytes + + + +

    +
    func (p *Packer) PackBytes(bytes []byte)
    +

    PackBytes append a byte slice to the byte array + + + + + + +

    func (*Packer) PackFixedBytes + + + +

    +
    func (p *Packer) PackFixedBytes(bytes []byte)
    +

    PackFixedBytes append a byte slice, with no length descriptor to the byte +array + + + + + + +

    func (*Packer) PackInt + + + +

    +
    func (p *Packer) PackInt(val uint32)
    +

    PackInt append an int to the byte array + + + + + + +

    func (*Packer) PackLong + + + +

    +
    func (p *Packer) PackLong(val uint64)
    +

    PackLong append a long to the byte array + + + + + + +

    func (*Packer) PackShort + + + +

    +
    func (p *Packer) PackShort(val uint16)
    +

    PackShort append a short to the byte array + + + + + + +

    func (*Packer) PackStr + + + +

    +
    func (p *Packer) PackStr(str string)
    +

    PackStr append a string to the byte array + + + + + + +

    func (*Packer) UnpackBool + + + +

    +
    func (p *Packer) UnpackBool() bool
    +

    UnpackBool unpacks a bool from the byte array + + + + + + +

    func (*Packer) UnpackByte + + + +

    +
    func (p *Packer) UnpackByte() byte
    +

    UnpackByte unpack a byte from the byte array + + + + + + +

    func (*Packer) UnpackBytes + + + +

    +
    func (p *Packer) UnpackBytes() []byte
    +

    UnpackBytes unpack a byte slice from the byte array + + + + + + +

    func (*Packer) UnpackFixedBytes + + + +

    +
    func (p *Packer) UnpackFixedBytes(size int) []byte
    +

    UnpackFixedBytes unpack a byte slice, with no length descriptor from the byte +array + + + + + + +

    func (*Packer) UnpackInt + + + +

    +
    func (p *Packer) UnpackInt() uint32
    +

    UnpackInt unpack an int from the byte array + + + + + + +

    func (*Packer) UnpackLimitedBytes + + + +

    +
    func (p *Packer) UnpackLimitedBytes(limit uint32) []byte
    +

    UnpackLimitedBytes unpacks a byte slice. If the size of the slice is greater +than [limit], adds [errOversized] to the packer and returns nil. + + + + + + +

    func (*Packer) UnpackLimitedStr + + + +

    +
    func (p *Packer) UnpackLimitedStr(limit uint16) string
    +

    UnpackLimitedStr unpacks a string. If the size of the string is greater than +[limit], adds [errOversized] to the packer and returns the empty string. + + + + + + +

    func (*Packer) UnpackLong + + + +

    +
    func (p *Packer) UnpackLong() uint64
    +

    UnpackLong unpack a long from the byte array + + + + + + +

    func (*Packer) UnpackShort + + + +

    +
    func (p *Packer) UnpackShort() uint16
    +

    UnpackShort unpack a short from the byte array + + + + + + +

    func (*Packer) UnpackStr + + + +

    +
    func (p *Packer) UnpackStr() string
    +

    UnpackStr unpacks a string from the byte array + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html new file mode 100644 index 00000000..fbac33ee --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html @@ -0,0 +1,1445 @@ + + + + + + + + vm - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package vm + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + +
    Variables
    + + + +
    func WithClientConn(clientConn grpc.ClientConnInterface) func(vm *LandslideVM)
    + + +
    func WithOptClientConn(clientConn *grpc.ClientConn) func(vm *LandslideVM)
    + + + +
    type AppCreator
    + + + + +
    type AppCreatorOpts
    + + + + +
    type Application
    + + + + +
    type LandslideVM
    + + +
        func New(creator AppCreator) *LandslideVM
    + + +
        func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM)) *LandslideVM
    + + + +
        func (vm *LandslideVM) AppGossip(context.Context, *vmpb.AppGossipMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) AppRequest(context.Context, *vmpb.AppRequestMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) AppRequestFailed(context.Context, *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) AppResponse(context.Context, *vmpb.AppResponseMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) BatchedParseBlock(ctx context.Context, req *vmpb.BatchedParseBlockRequest) (*vmpb.BatchedParseBlockResponse, error)
    + + +
        func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
    + + +
        func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
    + + +
        func (vm *LandslideVM) CanShutdown() bool
    + + +
        func (vm *LandslideVM) Connected(context.Context, *vmpb.ConnectedRequest) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) CreateHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateHandlersResponse, error)
    + + +
        func (vm *LandslideVM) CrossChainAppRequest(context.Context, *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) CrossChainAppRequestFailed(context.Context, *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) CrossChainAppResponse(context.Context, *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) Disconnected(context.Context, *vmpb.DisconnectedRequest) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) Gather(context.Context, *emptypb.Empty) (*vmpb.GatherResponse, error)
    + + +
        func (vm *LandslideVM) GetAncestors(context.Context, *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
    + + +
        func (vm *LandslideVM) GetBlock(_ context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
    + + +
        func (vm *LandslideVM) GetBlockIDAtHeight(_ context.Context, req *vmpb.GetBlockIDAtHeightRequest) (*vmpb.GetBlockIDAtHeightResponse, error)
    + + +
        func (vm *LandslideVM) GetLastStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetLastStateSummaryResponse, error)
    + + +
        func (vm *LandslideVM) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetOngoingSyncStateSummaryResponse, error)
    + + +
        func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryRequest) (*vmpb.GetStateSummaryResponse, error)
    + + +
        func (vm *LandslideVM) Health(ctx context.Context, in *emptypb.Empty) (*vmpb.HealthResponse, error)
    + + +
        func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
    + + +
        func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
    + + +
        func (vm *LandslideVM) ParseStateSummary(context.Context, *vmpb.ParseStateSummaryRequest) (*vmpb.ParseStateSummaryResponse, error)
    + + +
        func (vm *LandslideVM) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) SetState(_ context.Context, req *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
    + + +
        func (vm *LandslideVM) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    + + +
        func (vm *LandslideVM) StateSummaryAccept(context.Context, *vmpb.StateSummaryAcceptRequest) (*vmpb.StateSummaryAcceptResponse, error)
    + + +
        func (vm *LandslideVM) StateSyncEnabled(context.Context, *emptypb.Empty) (*vmpb.StateSyncEnabledResponse, error)
    + + +
        func (vm *LandslideVM) Version(context.Context, *emptypb.Empty) (*vmpb.VersionResponse, error)
    + + + +
    type RPC
    + + +
        func NewRPC(vm *LandslideVM) *RPC
    + + + +
        func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error)
    + + +
        func (rpc *RPC) ABCIQuery(_ *rpctypes.Context, path string, data tmbytes.HexBytes, height int64, prove bool) (*ctypes.ResultABCIQuery, error)
    + + +
        func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error)
    + + +
        func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlock, error)
    + + +
        func (rpc *RPC) BlockResults(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlockResults, error)
    + + +
        func (rpc *RPC) BlockSearch(ctx *rpctypes.Context, query string, pagePtr, perPagePtr *int, orderBy string) (*ctypes.ResultBlockSearch, error)
    + + +
        func (rpc *RPC) BlockchainInfo(_ *rpctypes.Context, minHeight, maxHeight int64) (*ctypes.ResultBlockchainInfo, error)
    + + +
        func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    + + +
        func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error)
    + + +
        func (rpc *RPC) BroadcastTxSync(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    + + +
        func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx, error)
    + + +
        func (rpc *RPC) Commit(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultCommit, error)
    + + +
        func (rpc *RPC) ConsensusParams(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultConsensusParams, error)
    + + +
        func (rpc *RPC) DumpConsensusState(_ *rpctypes.Context) (*ctypes.ResultDumpConsensusState, error)
    + + +
        func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error)
    + + +
        func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultGenesisChunk, error)
    + + +
        func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusState, error)
    + + +
        func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error)
    + + +
        func (rpc *RPC) NetInfo(_ *rpctypes.Context) (*ctypes.ResultNetInfo, error)
    + + +
        func (rpc *RPC) NumUnconfirmedTxs(*rpctypes.Context) (*ctypes.ResultUnconfirmedTxs, error)
    + + +
        func (rpc *RPC) Routes() map[string]*jsonrpc.RPCFunc
    + + +
        func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error)
    + + +
        func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error)
    + + +
        func (rpc *RPC) TxSearch(ctx *rpctypes.Context, query string, prove bool, pagePtr, perPagePtr *int, orderBy string) (*ctypes.ResultTxSearch, error)
    + + +
        func (rpc *RPC) UnconfirmedTxs(_ *rpctypes.Context, limitPtr *int) (*ctypes.ResultUnconfirmedTxs, error)
    + + +
        func (rpc *RPC) Validators(_ *rpctypes.Context, heightPtr *int64, pagePtr, perPagePtr *int) (*ctypes.ResultValidators, error)
    + + + +
    +
    + + + + +

    Package files

    +

    + + + rpc.go + + vm.go + + +

    + +
    +
    + + + + + +

    Variables

    + + +
    var (
    +    Version = "0.0.0"
    +
    +    ErrNotFound     = errors.New("not found")
    +    ErrUnknownState = errors.New("unknown state")
    +)
    + + + + + +

    func WithClientConn + + + +

    +
    func WithClientConn(clientConn grpc.ClientConnInterface) func(vm *LandslideVM)
    +

    WithClientConn sets the client connection for the VM. + + + + + + + +

    func WithOptClientConn + + + +

    +
    func WithOptClientConn(clientConn *grpc.ClientConn) func(vm *LandslideVM)
    +

    WithOptClientConn sets the optional client connection for the VM. +it overrides the client connection set by WithClientConn. + + + + + + + + +

    type AppCreator + + + +

    + +
    type AppCreator func(*AppCreatorOpts) (Application, error)
    + + + + + + + + + + + + + + + +

    type AppCreatorOpts + + + +

    + +
    type AppCreatorOpts struct {
    +    NetworkID    uint32
    +    SubnetID     []byte
    +    ChainID      []byte
    +    NodeID       []byte
    +    PublicKey    []byte
    +    XChainID     []byte
    +    CChainID     []byte
    +    AvaxAssetID  []byte
    +    GenesisBytes []byte
    +    UpgradeBytes []byte
    +    ConfigBytes  []byte
    +    Config       *vmtypes.Config
    +    ChainDataDir string
    +}
    +
    + + + + + + + + + + + + + + + +

    type Application + + + +

    + +
    type Application = abcitypes.Application
    + + + + + + + + + + + + + + + +

    type LandslideVM + + + +

    + +
    type LandslideVM struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func New + + + +

    +
    func New(creator AppCreator) *LandslideVM
    + + + + + +

    func NewViaDB + + + +

    +
    func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM)) *LandslideVM
    + + + + + + + +

    func (*LandslideVM) AppGossip + + + +

    +
    func (vm *LandslideVM) AppGossip(context.Context, *vmpb.AppGossipMsg) (*emptypb.Empty, error)
    +

    AppGossip notify this engine of a gossip message from [nodeID]. + + + + + + +

    func (*LandslideVM) AppRequest + + + +

    +
    func (vm *LandslideVM) AppRequest(context.Context, *vmpb.AppRequestMsg) (*emptypb.Empty, error)
    +

    AppRequest notify this engine of a request for data from [nodeID]. + + + + + + +

    func (*LandslideVM) AppRequestFailed + + + +

    +
    func (vm *LandslideVM) AppRequestFailed(context.Context, *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)
    +

    AppRequestFailed notify this engine that an AppRequest message it sent to [nodeID] with +request ID [requestID] failed. + + + + + + +

    func (*LandslideVM) AppResponse + + + +

    +
    func (vm *LandslideVM) AppResponse(context.Context, *vmpb.AppResponseMsg) (*emptypb.Empty, error)
    +

    AppResponse notify this engine of a response to the AppRequest message it sent to +[nodeID] with request ID [requestID]. + + + + + + +

    func (*LandslideVM) BatchedParseBlock + + + +

    +
    func (vm *LandslideVM) BatchedParseBlock(ctx context.Context, req *vmpb.BatchedParseBlockRequest) (*vmpb.BatchedParseBlockResponse, error)
    + + + + + + +

    func (*LandslideVM) BlockAccept + + + +

    +
    func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)
    +

    BlockAccept notifies the VM that a block has been accepted. +This is a critical method and should not be exposed publicly. + + + + + + +

    func (*LandslideVM) BlockReject + + + +

    +
    func (vm *LandslideVM) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) BlockVerify + + + +

    +
    func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
    + + + + + + +

    func (*LandslideVM) BuildBlock + + + +

    +
    func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
    +

    BuildBlock attempts to create a new block from data contained in the VM. +This method should be restricted to the AvalancheGo node. + + + + + + +

    func (*LandslideVM) CanShutdown + + + +

    +
    func (vm *LandslideVM) CanShutdown() bool
    +

    CanShutdown lets known when vm ready to shutting down + + + + + + +

    func (*LandslideVM) Connected + + + +

    +
    func (vm *LandslideVM) Connected(context.Context, *vmpb.ConnectedRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) CreateHandlers + + + +

    +
    func (vm *LandslideVM) CreateHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateHandlersResponse, error)
    +

    CreateHandlers creates the HTTP handlers for custom chain network calls. + + + + + + +

    func (*LandslideVM) CrossChainAppRequest + + + +

    +
    func (vm *LandslideVM) CrossChainAppRequest(context.Context, *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) CrossChainAppRequestFailed + + + +

    +
    func (vm *LandslideVM) CrossChainAppRequestFailed(context.Context, *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) CrossChainAppResponse + + + +

    +
    func (vm *LandslideVM) CrossChainAppResponse(context.Context, *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) Disconnected + + + +

    +
    func (vm *LandslideVM) Disconnected(context.Context, *vmpb.DisconnectedRequest) (*emptypb.Empty, error)
    + + + + + + +

    func (*LandslideVM) Gather + + + +

    +
    func (vm *LandslideVM) Gather(context.Context, *emptypb.Empty) (*vmpb.GatherResponse, error)
    +

    Gather attempts to gather metrics from a VM. + + + + + + +

    func (*LandslideVM) GetAncestors + + + +

    +
    func (vm *LandslideVM) GetAncestors(context.Context, *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
    + + + + + + +

    func (*LandslideVM) GetBlock + + + +

    +
    func (vm *LandslideVM) GetBlock(_ context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
    +

    GetBlock attempt to load a block. + + + + + + +

    func (*LandslideVM) GetBlockIDAtHeight + + + +

    +
    func (vm *LandslideVM) GetBlockIDAtHeight(_ context.Context, req *vmpb.GetBlockIDAtHeightRequest) (*vmpb.GetBlockIDAtHeightResponse, error)
    + + + + + + +

    func (*LandslideVM) GetLastStateSummary + + + +

    +
    func (vm *LandslideVM) GetLastStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetLastStateSummaryResponse, error)
    +

    GetLastStateSummary returns the latest state summary. + + + + + + +

    func (*LandslideVM) GetOngoingSyncStateSummary + + + +

    +
    func (vm *LandslideVM) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetOngoingSyncStateSummaryResponse, error)
    +

    GetOngoingSyncStateSummary returns an in-progress state summary if it exists. + + + + + + +

    func (*LandslideVM) GetStateSummary + + + +

    +
    func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryRequest) (*vmpb.GetStateSummaryResponse, error)
    +

    GetStateSummary retrieves the state summary that was generated at height +[summaryHeight]. + + + + + + +

    func (*LandslideVM) Health + + + +

    +
    func (vm *LandslideVM) Health(ctx context.Context, in *emptypb.Empty) (*vmpb.HealthResponse, error)
    +

    Health attempt to verify the health of the VM. + + + + + + +

    func (*LandslideVM) Initialize + + + +

    +
    func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
    +

    Initialize initializes the VM. +This method should only be accessible by the AvalancheGo node and not exposed publicly. + + + + + + +

    func (*LandslideVM) ParseBlock + + + +

    +
    func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
    +

    ParseBlock attempt to create a block from a stream of bytes. + + + + + + +

    func (*LandslideVM) ParseStateSummary + + + +

    +
    func (vm *LandslideVM) ParseStateSummary(context.Context, *vmpb.ParseStateSummaryRequest) (*vmpb.ParseStateSummaryResponse, error)
    +

    ParseStateSummary parses a state summary out of [summaryBytes]. + + + + + + +

    func (*LandslideVM) SetPreference + + + +

    +
    func (vm *LandslideVM) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)
    +

    SetPreference notify the VM of the currently preferred block. + + + + + + +

    func (*LandslideVM) SetState + + + +

    +
    func (vm *LandslideVM) SetState(_ context.Context, req *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
    +

    SetState communicates to VM its next state it starts + + + + + + +

    func (*LandslideVM) Shutdown + + + +

    +
    func (vm *LandslideVM) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    +

    Shutdown is called when the node is shutting down. + + + + + + +

    func (*LandslideVM) StateSummaryAccept + + + +

    +
    func (vm *LandslideVM) StateSummaryAccept(context.Context, *vmpb.StateSummaryAcceptRequest) (*vmpb.StateSummaryAcceptResponse, error)
    + + + + + + +

    func (*LandslideVM) StateSyncEnabled + + + +

    +
    func (vm *LandslideVM) StateSyncEnabled(context.Context, *emptypb.Empty) (*vmpb.StateSyncEnabledResponse, error)
    +

    StateSyncEnabled indicates whether the state sync is enabled for this VM. + + + + + + +

    func (*LandslideVM) Version + + + +

    +
    func (vm *LandslideVM) Version(context.Context, *emptypb.Empty) (*vmpb.VersionResponse, error)
    +

    Version returns the version of the VM. + + + + + + + + +

    type RPC + + + +

    + +
    type RPC struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewRPC + + + +

    +
    func NewRPC(vm *LandslideVM) *RPC
    + + + + + + + +

    func (*RPC) ABCIInfo + + + +

    +
    func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error)
    +

    ABCIInfo returns the latest information about the application. + + + + + + +

    func (*RPC) ABCIQuery + + + +

    +
    func (rpc *RPC) ABCIQuery(
    +    _ *rpctypes.Context,
    +    path string,
    +    data tmbytes.HexBytes,
    +    height int64,
    +    prove bool,
    +) (*ctypes.ResultABCIQuery, error)
    +

    ABCIQuery queries the application for some information. + + + + + + +

    func (*RPC) Block + + + +

    +
    func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error)
    + + + + + + +

    func (*RPC) BlockByHash + + + +

    +
    func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlock, error)
    + + + + + + +

    func (*RPC) BlockResults + + + +

    +
    func (rpc *RPC) BlockResults(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlockResults, error)
    + + + + + + +

    func (*RPC) BlockSearch + + + +

    +
    func (rpc *RPC) BlockSearch(
    +    ctx *rpctypes.Context,
    +    query string,
    +    pagePtr, perPagePtr *int,
    +    orderBy string,
    +) (*ctypes.ResultBlockSearch, error)
    + + + + + + +

    func (*RPC) BlockchainInfo + + + +

    +
    func (rpc *RPC) BlockchainInfo(
    +    _ *rpctypes.Context,
    +    minHeight, maxHeight int64,
    +) (*ctypes.ResultBlockchainInfo, error)
    + + + + + + +

    func (*RPC) BroadcastTxAsync + + + +

    +
    func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    + + + + + + +

    func (*RPC) BroadcastTxCommit + + + +

    +
    func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error)
    + + + + + + +

    func (*RPC) BroadcastTxSync + + + +

    +
    func (rpc *RPC) BroadcastTxSync(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    +

    BroadcastTxSync returns with the response from CheckTx. Does not wait for +the transaction result. +More: https://docs.cometbft.com/v0.38.x/rpc/#/Tx/broadcast_tx_sync + + + + + + +

    func (*RPC) CheckTx + + + +

    +
    func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx, error)
    +

    CheckTx checks the transaction without executing it. The transaction won't +be added to the mempool either. + + + + + + +

    func (*RPC) Commit + + + +

    +
    func (rpc *RPC) Commit(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultCommit, error)
    + + + + + + +

    func (*RPC) ConsensusParams + + + +

    +
    func (rpc *RPC) ConsensusParams(
    +    _ *rpctypes.Context,
    +    heightPtr *int64,
    +) (*ctypes.ResultConsensusParams, error)
    + + + + + + +

    func (*RPC) DumpConsensusState + + + +

    +
    func (rpc *RPC) DumpConsensusState(_ *rpctypes.Context) (*ctypes.ResultDumpConsensusState, error)
    +

    DumpConsensusState - we doesn't have consensusState + + + + + + +

    func (*RPC) Genesis + + + +

    +
    func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error)
    + + + + + + +

    func (*RPC) GenesisChunked + + + +

    +
    func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultGenesisChunk, error)
    + + + + + + +

    func (*RPC) GetConsensusState + + + +

    +
    func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusState, error)
    +

    GetConsensusState - we doesn't have consensusState + + + + + + +

    func (*RPC) Health + + + +

    +
    func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error)
    + + + + + + +

    func (*RPC) NetInfo + + + +

    +
    func (rpc *RPC) NetInfo(_ *rpctypes.Context) (*ctypes.ResultNetInfo, error)
    +

    NetInfo - no peers, because it's vm + + + + + + +

    func (*RPC) NumUnconfirmedTxs + + + +

    +
    func (rpc *RPC) NumUnconfirmedTxs(*rpctypes.Context) (*ctypes.ResultUnconfirmedTxs, error)
    +

    NumUnconfirmedTxs gets number of unconfirmed transactions. + + + + + + +

    func (*RPC) Routes + + + +

    +
    func (rpc *RPC) Routes() map[string]*jsonrpc.RPCFunc
    + + + + + + +

    func (*RPC) Status + + + +

    +
    func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error)
    + + + + + + +

    func (*RPC) Tx + + + +

    +
    func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error)
    + + + + + + +

    func (*RPC) TxSearch + + + +

    +
    func (rpc *RPC) TxSearch(
    +    ctx *rpctypes.Context,
    +    query string,
    +    prove bool,
    +    pagePtr, perPagePtr *int,
    +    orderBy string,
    +) (*ctypes.ResultTxSearch, error)
    +

    TxSearch defines a method to search for a paginated set of transactions by +transaction event search criteria. + + + + + + +

    func (*RPC) UnconfirmedTxs + + + +

    +
    func (rpc *RPC) UnconfirmedTxs(_ *rpctypes.Context, limitPtr *int) (*ctypes.ResultUnconfirmedTxs, error)
    +

    UnconfirmedTxs gets unconfirmed transactions (maximum ?limit entries) +including their number. + + + + + + +

    func (*RPC) Validators + + + +

    +
    func (rpc *RPC) Validators(
    +    _ *rpctypes.Context,
    +    heightPtr *int64,
    +    pagePtr, perPagePtr *int,
    +) (*ctypes.ResultValidators, error)
    +

    Validators fetches and verifies validators. + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + types + + +
    + block + + +
    + closer + + +
    + commit + + +
    + state + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html new file mode 100644 index 00000000..84d000e9 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html @@ -0,0 +1,179 @@ + + + + + + + + block - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package block + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm/types/block"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + + + + + + +

    Package files

    +

    + + + block.go + + +

    + +
    +
    + + + + + + + + +

    func ParentHash + + + +

    +
    func ParentHash(block *types.Block) [32]byte
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html new file mode 100644 index 00000000..03f6d436 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html @@ -0,0 +1,228 @@ + + + + + + + + closer - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package closer + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm/types/closer"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + + + + +
    type Closer
    + + + +
        func (c *Closer) Add(closer io.Closer)
    + + +
        func (c *Closer) Close() error
    + + + +
    +
    + + + + +

    Package files

    +

    + + + closer.go + + +

    + +
    +
    + + + + + + + + + +

    type Closer + + + +

    +

    Closer is a nice utility for closing a group of objects while reporting an +error if one occurs. + +

    type Closer struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + + + +

    func (*Closer) Add + + + +

    +
    func (c *Closer) Add(closer io.Closer)
    +

    Add a new object to be closed. + + + + + + +

    func (*Closer) Close + + + +

    +
    func (c *Closer) Close() error
    +

    Close closes each of the closers add to [c] and returns the first error +that occurs or nil if no error occurs. + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html new file mode 100644 index 00000000..f71ca6bc --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html @@ -0,0 +1,179 @@ + + + + + + + + commit - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package commit + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm/types/commit"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + + +
    + + + + + + + + +

    func MakeCommit + + + +

    +
    func MakeCommit(height int64, timestamp time.Time, validators *types.ValidatorSet, blockID types.BlockID) *types.Commit
    + + + + + + + + + + + + + + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html new file mode 100644 index 00000000..464c78e7 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html @@ -0,0 +1,554 @@ + + + + + + + + types - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package types + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm/types"
    +
    +
    +
    Overview
    +
    Index
    + + +
    Subdirectories
    + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + + +
    + + + + + + + + +

    func Zero + + + +

    +
    func Zero[T any]() T
    +

    Zero returns a new instance of a T. + + + + + + + +

    func ZeroSlice + + + +

    +
    func ZeroSlice[T any](s []T)
    +

    ZeroSlice sets all values of the provided slice to the type's zero value. +

    This can be useful to ensure that the garbage collector doesn't hold +references to values that are no longer desired. + + + + + + + + +

    type Atomic + + + +

    + +
    type Atomic[T any] struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewAtomic + + + +

    +
    func NewAtomic[T any](value T) *Atomic[T]
    + + + + + + + +

    func (*Atomic[T]) Get + + + +

    +
    func (a *Atomic[T]) Get() T
    + + + + + + +

    func (*Atomic[T]) Set + + + +

    +
    func (a *Atomic[T]) Set(value T)
    + + + + + + + + +

    type BlockParams + + + +

    +

    BlockParams contains the consensus critical parameters for a block. + +

    type BlockParams struct {
    +    MaxBytes int64 `json:"max_bytes"`
    +    MaxGas   int64 `json:"max_gas"`
    +}
    +
    + + + + + + + + + + + + + + + +

    type Config + + + +

    + +
    type Config struct {
    +    VMConfig  VMConfig        `json:"vm_config"`
    +    AppConfig json.RawMessage `json:"app_config"`
    +}
    +
    + + + + + + + + + + + + + + + +

    type ConsensusParams + + + +

    +

    ConsensusParams contains consensus critical parameters that determine the +validity of blocks. + +

    type ConsensusParams struct {
    +    Block    BlockParams    `json:"block"`
    +    Evidence EvidenceParams `json:"evidence"`
    +}
    +
    + + + + + + + + + + + + + +

    func (*ConsensusParams) Validate + + + +

    +
    func (c *ConsensusParams) Validate() error
    +

    Validate returns an error if this is an invalid config. + + + + + + + + +

    type EvidenceParams + + + +

    +

    EvidenceParams contains the consensus critical parameters for evidence. + +

    type EvidenceParams struct {
    +    MaxBytes int64 `json:"max_bytes"`
    +}
    +
    + + + + + + + + + + + + + + + +

    type VMConfig + + + +

    +

    VMConfig contains the configuration of the VM. + +

    type VMConfig struct {
    +    NetworkName               string          `json:"network_name"`
    +    TimeoutBroadcastTxCommit  uint16          `json:"timeout_broadcast_tx_commit"`
    +    ConsensusParams           ConsensusParams `json:"consensus_params"`
    +    MaxSubscriptionClients    int             `json:"max_subscription_clients"`
    +    MaxSubscriptionsPerClient int             `json:"max_subscriptions_per_client"`
    +}
    +
    + + + + + + + + + + + + + +

    func (*VMConfig) SetDefaults + + + +

    +
    func (c *VMConfig) SetDefaults()
    +

    SetDefaults sets the default values for the config. + + + + + + +

    func (*VMConfig) Validate + + + +

    +
    func (c *VMConfig) Validate() error
    +

    Validate returns an error if this is an invalid config. + + + + + + + + + + + + + + + + +

    Subdirectories

    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    NameSynopsis
    ..
    + block + + +
    + closer + + +
    + commit + + +
    + state + + +
    +
    + + + + + +
    +
    + + diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html new file mode 100644 index 00000000..dfa5baa1 --- /dev/null +++ b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html @@ -0,0 +1,1246 @@ + + + + + + + + state - Go Documentation Server + + + + + + + + + + + + + +
    +... +
    + +
    + + + +
    + +
    + +
    + + + +
    +
    + + +

    + Package state + +

    + + + + + + + + + + + + + + + + + +
    +
    +
    import "github.com/consideritdone/landslidevm/vm/types/state"
    +
    +
    +
    Overview
    +
    Index
    + + +
    +
    + +
    + +
    +

    Overview ▾

    + + +
    +
    + +
    + +
    +

    Index ▾

    + + +
    +
    + + +
    Variables
    + + + +
    func BuildExtendedCommitInfo(ec *types.ExtendedCommit, valSet *types.ValidatorSet, initialHeight int64, ap types.ABCIParams) abci.ExtendedCommitInfo
    + + +
    func BuildLastCommitInfo(block *types.Block, lastValSet *types.ValidatorSet, initialHeight int64) abci.CommitInfo
    + + +
    func DecodeBlock(data []byte) (*types.Block, error)
    + + +
    func DecodeBlockWithStatus(data []byte) (*types.Block, vm.Status, error)
    + + +
    func EncodeBlock(block *types.Block) ([]byte, error)
    + + +
    func EncodeBlockWithStatus(blk *types.Block, status vm.Status) ([]byte, error)
    + + +
    func ExecCommitBlock(appConnConsensus proxy.AppConnConsensus, block *types.Block, logger log.Logger, store statetypes.Store, initialHeight int64) ([]byte, error)
    + + +
    func MedianTime(commit *types.Commit, validators *types.ValidatorSet) time.Time
    + + +
    func TxPostCheck(state state.State) mempl.PostCheckFunc
    + + +
    func TxPreCheck(state state.State) mempl.PreCheckFunc
    + + +
    func ValidateBlock(state state.State, block *types.Block) error
    + + + +
    type BlockExecutor
    + + +
        func NewBlockExecutor(stateStore statetypes.Store, logger log.Logger, proxyApp proxy.AppConnConsensus, mempool mempool.Mempool, blockStore statetypes.BlockStore, blockMaxBytes int64, blockMaxGas int64, evidenceMaxBytes int64, options ...BlockExecutorOption) *BlockExecutor
    + + + +
        func (blockExec *BlockExecutor) ApplyBlock(state statetypes.State, blockID types.BlockID, block *types.Block) (statetypes.State, error)
    + + +
        func (blockExec *BlockExecutor) Commit(state statetypes.State, block *types.Block, abciResponse *abci.ResponseFinalizeBlock) (int64, error)
    + + +
        func (blockExec *BlockExecutor) CreateProposalBlock(ctx context.Context, height int64, state statetypes.State, lastExtCommit *types.ExtendedCommit, proposerAddr []byte) (*types.Block, error)
    + + +
        func (blockExec *BlockExecutor) ExtendVote(ctx context.Context, vote *types.Vote, block *types.Block, state statetypes.State) ([]byte, error)
    + + +
        func (blockExec *BlockExecutor) ProcessProposal(block *types.Block, state statetypes.State) (bool, error)
    + + +
        func (blockExec *BlockExecutor) SetEventBus(eventBus types.BlockEventPublisher)
    + + +
        func (blockExec *BlockExecutor) Store() statetypes.Store
    + + +
        func (blockExec *BlockExecutor) ValidateBlock(state statetypes.State, block *types.Block) error
    + + +
        func (blockExec *BlockExecutor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) error
    + + + +
    type BlockExecutorOption
    + + +
        func BlockExecutorWithMetrics(metrics *statetypes.Metrics) BlockExecutorOption
    + + + + +
    type ErrAppBlockHeightTooHigh
    + + + +
        func (e ErrAppBlockHeightTooHigh) Error() string
    + + + +
    type ErrAppBlockHeightTooLow
    + + + +
        func (e ErrAppBlockHeightTooLow) Error() string
    + + + +
    type ErrBlockHashMismatch
    + + + +
        func (e ErrBlockHashMismatch) Error() string
    + + + +
    type ErrInvalidBlock
    + + + + +
    type ErrLastStateMismatch
    + + + +
        func (e ErrLastStateMismatch) Error() string
    + + + +
    type ErrNoABCIResponsesForHeight
    + + + +
        func (e ErrNoABCIResponsesForHeight) Error() string
    + + + +
    type ErrNoConsensusParamsForHeight
    + + + +
        func (e ErrNoConsensusParamsForHeight) Error() string
    + + + +
    type ErrNoValSetForHeight
    + + + +
        func (e ErrNoValSetForHeight) Error() string
    + + + +
    type ErrProxyAppConn
    + + + + +
    type ErrStateMismatch
    + + + +
        func (e ErrStateMismatch) Error() string
    + + + +
    type ErrUnknownBlock
    + + + +
        func (e ErrUnknownBlock) Error() string
    + + + +
    type WrappedBlock
    + + + + +
    type WrappedBlocksStorage
    + + +
        func NewWrappedBlocksStorage() *WrappedBlocksStorage
    + + + +
        func (s *WrappedBlocksStorage) Flush()
    + + +
        func (s *WrappedBlocksStorage) GetCachedBlock(blkID ids.ID) (*WrappedBlock, bool)
    + + + +
    +
    + + + + +

    Package files

    +

    + + + error.go + + executor.go + + tx_filter.go + + utils.go + + wrapped_block.go + + +

    + +
    +
    + + + + + +

    Variables

    + + +
    var ErrFinalizeBlockResponsesNotPersisted = errors.New("node is not persisting finalize block responses")
    + + + + + +

    func BuildExtendedCommitInfo + + + +

    +
    func BuildExtendedCommitInfo(ec *types.ExtendedCommit, valSet *types.ValidatorSet, initialHeight int64, ap types.ABCIParams) abci.ExtendedCommitInfo
    +

    BuildExtendedCommitInfo builds an ExtendedCommitInfo from the given block and validator set. +If you want to load the validator set from the store instead of providing it, +use buildExtendedCommitInfoFromStore. + + + + + + + +

    func BuildLastCommitInfo + + + +

    +
    func BuildLastCommitInfo(block *types.Block, lastValSet *types.ValidatorSet, initialHeight int64) abci.CommitInfo
    +

    BuildLastCommitInfo builds a CommitInfo from the given block and validator set. +If you want to load the validator set from the store instead of providing it, +use buildLastCommitInfoFromStore. + + + + + + + +

    func DecodeBlock + + + +

    +
    func DecodeBlock(data []byte) (*types.Block, error)
    + + + + + + + +

    func DecodeBlockWithStatus + + + +

    +
    func DecodeBlockWithStatus(data []byte) (*types.Block, vm.Status, error)
    + + + + + + + +

    func EncodeBlock + + + +

    +
    func EncodeBlock(block *types.Block) ([]byte, error)
    + + + + + + + +

    func EncodeBlockWithStatus + + + +

    +
    func EncodeBlockWithStatus(blk *types.Block, status vm.Status) ([]byte, error)
    + + + + + + + +

    func ExecCommitBlock + + + +

    +
    func ExecCommitBlock(
    +    appConnConsensus proxy.AppConnConsensus,
    +    block *types.Block,
    +    logger log.Logger,
    +    store statetypes.Store,
    +    initialHeight int64,
    +) ([]byte, error)
    +

    ExecCommitBlock executes and commits a block on the proxyApp without validating or mutating the state. +It returns the application root hash (result of abci.Commit). + + + + + + + +

    func MedianTime + + + +

    +
    func MedianTime(commit *types.Commit, validators *types.ValidatorSet) time.Time
    +

    MedianTime computes a median time for a given Commit (based on Timestamp field of votes messages) and the +corresponding validator set. The computed time is always between timestamps of +the votes sent by honest processes, i.e., a faulty processes can not arbitrarily increase or decrease the +computed value. + + + + + + + +

    func TxPostCheck + + + +

    +
    func TxPostCheck(state state.State) mempl.PostCheckFunc
    +

    TxPostCheck returns a function to filter transactions after processing. +The function limits the gas wanted by a transaction to the block's maximum total gas. + + + + + + + +

    func TxPreCheck + + + +

    +
    func TxPreCheck(state state.State) mempl.PreCheckFunc
    +

    TxPreCheck returns a function to filter transactions before processing. +The function limits the size of a transaction to the block's maximum data size. + + + + + + + +

    func ValidateBlock + + + +

    +
    func ValidateBlock(state state.State, block *types.Block) error
    + + + + + + + + +

    type BlockExecutor + + + +

    +

    BlockExecutor provides the context and accessories for properly executing a block. + +

    type BlockExecutor struct {
    +    // contains filtered or unexported fields
    +}
    +
    + + + + + + + + + + + +

    func NewBlockExecutor + + + +

    +
    func NewBlockExecutor(
    +    stateStore statetypes.Store,
    +    logger log.Logger,
    +    proxyApp proxy.AppConnConsensus,
    +    mempool mempool.Mempool,
    +    blockStore statetypes.BlockStore,
    +    blockMaxBytes int64,
    +    blockMaxGas int64,
    +    evidenceMaxBytes int64,
    +    options ...BlockExecutorOption,
    +
    +) *BlockExecutor
    +

    NewBlockExecutor returns a new BlockExecutor with a NopEventBus. +Call SetEventBus to provide one. + + + + + + + +

    func (*BlockExecutor) ApplyBlock + + + +

    +
    func (blockExec *BlockExecutor) ApplyBlock(
    +    state statetypes.State, blockID types.BlockID, block *types.Block,
    +) (statetypes.State, error)
    +

    ApplyBlock validates the block against the state, executes it against the app, +fires the relevant events, commits the app, and saves the new state and responses. +It returns the new state. +It's the only function that needs to be called +from outside this package to process and commit an entire block. +It takes a blockID to avoid recomputing the parts hash. + + + + + + +

    func (*BlockExecutor) Commit + + + +

    +
    func (blockExec *BlockExecutor) Commit(
    +    state statetypes.State,
    +    block *types.Block,
    +    abciResponse *abci.ResponseFinalizeBlock,
    +) (int64, error)
    +

    Commit locks the mempool, runs the ABCI Commit message, and updates the +mempool. +It returns the result of calling abci.Commit which is the height to retain (if any)). +The application is expected to have persisted its state (if any) before returning +from the ABCI Commit call. This is the only place where the application should +persist its statetypes. +The Mempool must be locked during commit and update because state is +typically reset on Commit and old txs must be replayed against committed +state before new txs are run in the mempool, lest they be invalid. + + + + + + +

    func (*BlockExecutor) CreateProposalBlock + + + +

    +
    func (blockExec *BlockExecutor) CreateProposalBlock(
    +    ctx context.Context,
    +    height int64,
    +    state statetypes.State,
    +    lastExtCommit *types.ExtendedCommit,
    +    proposerAddr []byte,
    +) (*types.Block, error)
    +

    CreateProposalBlock calls statetypes.MakeBlock with evidence from the evpool +and txs from the mempool. The max bytes must be big enough to fit the commit. +The block space is first allocated to outstanding evidence. +The rest is given to txs, up to the max gas. +

    Contract: application will not return more bytes than are sent over the wire. + + + + + + +

    func (*BlockExecutor) ExtendVote + + + +

    +
    func (blockExec *BlockExecutor) ExtendVote(
    +    ctx context.Context,
    +    vote *types.Vote,
    +    block *types.Block,
    +    state statetypes.State,
    +) ([]byte, error)
    + + + + + + +

    func (*BlockExecutor) ProcessProposal + + + +

    +
    func (blockExec *BlockExecutor) ProcessProposal(
    +    block *types.Block,
    +    state statetypes.State,
    +) (bool, error)
    +

    ProcessProposal is called whenever a node receives a complete proposal. + + + + + + +

    func (*BlockExecutor) SetEventBus + + + +

    +
    func (blockExec *BlockExecutor) SetEventBus(eventBus types.BlockEventPublisher)
    +

    SetEventBus - sets the event bus for publishing block related events. +If not called, it defaults to types.NopEventBus. + + + + + + +

    func (*BlockExecutor) Store + + + +

    +
    func (blockExec *BlockExecutor) Store() statetypes.Store
    + + + + + + +

    func (*BlockExecutor) ValidateBlock + + + +

    +
    func (blockExec *BlockExecutor) ValidateBlock(state statetypes.State, block *types.Block) error
    +

    ValidateBlock validates the given block against the given state. +If the block is invalid, it returns an error. +Validation does not mutate state, but does require historical information from the stateDB, +ie. to verify evidence from a validator at an old height. + + + + + + +

    func (*BlockExecutor) VerifyVoteExtension + + + +

    +
    func (blockExec *BlockExecutor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) error
    + + + + + + + + +

    type BlockExecutorOption + + + +

    + +
    type BlockExecutorOption func(executor *BlockExecutor)
    + + + + + + + + + + + +

    func BlockExecutorWithMetrics + + + +

    +
    func BlockExecutorWithMetrics(metrics *statetypes.Metrics) BlockExecutorOption
    + + + + + + + + + +

    type ErrAppBlockHeightTooHigh + + + +

    + +
    type ErrAppBlockHeightTooHigh struct {
    +    CoreHeight int64
    +    AppHeight  int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrAppBlockHeightTooHigh) Error + + + +

    +
    func (e ErrAppBlockHeightTooHigh) Error() string
    + + + + + + + + +

    type ErrAppBlockHeightTooLow + + + +

    + +
    type ErrAppBlockHeightTooLow struct {
    +    AppHeight int64
    +    StoreBase int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrAppBlockHeightTooLow) Error + + + +

    +
    func (e ErrAppBlockHeightTooLow) Error() string
    + + + + + + + + +

    type ErrBlockHashMismatch + + + +

    + +
    type ErrBlockHashMismatch struct {
    +    CoreHash []byte
    +    AppHash  []byte
    +    Height   int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrBlockHashMismatch) Error + + + +

    +
    func (e ErrBlockHashMismatch) Error() string
    + + + + + + + + +

    type ErrInvalidBlock + + + +

    + +
    type ErrInvalidBlock error
    + + + + + + + + + + + + + + + +

    type ErrLastStateMismatch + + + +

    + +
    type ErrLastStateMismatch struct {
    +    Height int64
    +    Core   []byte
    +    App    []byte
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrLastStateMismatch) Error + + + +

    +
    func (e ErrLastStateMismatch) Error() string
    + + + + + + + + +

    type ErrNoABCIResponsesForHeight + + + +

    + +
    type ErrNoABCIResponsesForHeight struct {
    +    Height int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrNoABCIResponsesForHeight) Error + + + +

    +
    func (e ErrNoABCIResponsesForHeight) Error() string
    + + + + + + + + +

    type ErrNoConsensusParamsForHeight + + + +

    + +
    type ErrNoConsensusParamsForHeight struct {
    +    Height int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrNoConsensusParamsForHeight) Error + + + +

    +
    func (e ErrNoConsensusParamsForHeight) Error() string
    + + + + + + + + +

    type ErrNoValSetForHeight + + + +

    + +
    type ErrNoValSetForHeight struct {
    +    Height int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrNoValSetForHeight) Error + + + +

    +
    func (e ErrNoValSetForHeight) Error() string
    + + + + + + + + +

    type ErrProxyAppConn + + + +

    + +
    type ErrProxyAppConn error
    + + + + + + + + + + + + + + + +

    type ErrStateMismatch + + + +

    + +
    type ErrStateMismatch struct {
    +    Got      *state.State
    +    Expected *state.State
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrStateMismatch) Error + + + +

    +
    func (e ErrStateMismatch) Error() string
    + + + + + + + + +

    type ErrUnknownBlock + + + +

    + +
    type ErrUnknownBlock struct {
    +    Height int64
    +}
    +
    + + + + + + + + + + + + + +

    func (ErrUnknownBlock) Error + + + +

    +
    func (e ErrUnknownBlock) Error() string
    + + + + + + + + +

    type WrappedBlock + + + +

    + +
    type WrappedBlock struct {
    +    // block is the block this wrapper is wrapping
    +    Block *types.Block
    +    // status is the status of the block
    +    Status vm.Status
    +}
    +
    + + + + + + + + + + + + + + + +

    type WrappedBlocksStorage + + + +

    + +
    type WrappedBlocksStorage struct {
    +    // verifiedBlocks is a map of blocks that have been verified and are
    +    // therefore currently in consensus.
    +    VerifiedBlocks map[ids.ID]*WrappedBlock
    +    // decidedBlocks is an LRU cache of decided blocks.
    +    // the block for which the Accept/Reject function was called
    +    DecidedBlocks cache.Cacher[ids.ID, *WrappedBlock]
    +    // unverifiedBlocks is an LRU cache of blocks with status processing
    +    // that have not yet passed verification.
    +    UnverifiedBlocks cache.Cacher[ids.ID, *WrappedBlock]
    +    // missingBlocks is an LRU cache of missing blocks
    +    MissingBlocks cache.Cacher[ids.ID, struct{}]
    +    // string([byte repr. of block]) --> the block's ID
    +    BytesToIDCache cache.Cacher[string, ids.ID]
    +}
    +
    + + + + + + + + + + + +

    func NewWrappedBlocksStorage + + + +

    +
    func NewWrappedBlocksStorage() *WrappedBlocksStorage
    + + + + + + + +

    func (*WrappedBlocksStorage) Flush + + + +

    +
    func (s *WrappedBlocksStorage) Flush()
    +

    Flush each block cache + + + + + + +

    func (*WrappedBlocksStorage) GetCachedBlock + + + +

    +
    func (s *WrappedBlocksStorage) GetCachedBlock(blkID ids.ID) (*WrappedBlock, bool)
    +

    GetCachedBlock checks the caches for [blkID] by priority. Returning +true if [blkID] is found in one of the caches. + + + + + + + + + + + + + + + + +

    + +
    +
    + + diff --git a/utils/linkedhashmap/iterator.go b/utils/linkedhashmap/iterator.go index 79f52e51..80681b0b 100644 --- a/utils/linkedhashmap/iterator.go +++ b/utils/linkedhashmap/iterator.go @@ -8,7 +8,7 @@ import ( var _ Iter[int, struct{}] = (*iterator[int, struct{}])(nil) -// Iterates over the keys and values in a LinkedHashmap +// Iter Iterates over the keys and values in a LinkedHashmap // from oldest to newest elements. // Assumes the underlying LinkedHashmap is not modified while // the iterator is in use, except to delete elements that diff --git a/utils/sorting.go b/utils/sorting.go index a73ce9e2..ff955fda 100644 --- a/utils/sorting.go +++ b/utils/sorting.go @@ -14,12 +14,12 @@ type Sortable[T any] interface { Compare(T) int } -// Sorts the elements of [s]. +// Sort sorts the elements of [s]. func Sort[T Sortable[T]](s []T) { slices.SortFunc(s, T.Compare) } -// Sorts the elements of [s] based on their hashes. +// SortByHash sorts the elements of [s] based on their hashes. func SortByHash[T ~[]byte](s []T) { slices.SortFunc(s, func(i, j T) int { iHash := hashing.ComputeHash256(i) @@ -28,7 +28,7 @@ func SortByHash[T ~[]byte](s []T) { }) } -// Returns true iff the elements in [s] are sorted. +// IsSortedBytes returns true iff the elements in [s] are sorted. func IsSortedBytes[T ~[]byte](s []T) bool { for i := 0; i < len(s)-1; i++ { if bytes.Compare(s[i], s[i+1]) == 1 { @@ -38,7 +38,7 @@ func IsSortedBytes[T ~[]byte](s []T) bool { return true } -// Returns true iff the elements in [s] are unique and sorted. +// IsSortedAndUnique returns true iff the elements in [s] are unique and sorted. func IsSortedAndUnique[T Sortable[T]](s []T) bool { for i := 0; i < len(s)-1; i++ { if s[i].Compare(s[i+1]) >= 0 { @@ -48,7 +48,7 @@ func IsSortedAndUnique[T Sortable[T]](s []T) bool { return true } -// Returns true iff the elements in [s] are unique and sorted. +// IsSortedAndUniqueOrdered returns true iff the elements in [s] are unique and sorted. func IsSortedAndUniqueOrdered[T cmp.Ordered](s []T) bool { for i := 0; i < len(s)-1; i++ { if s[i] >= s[i+1] { @@ -58,7 +58,7 @@ func IsSortedAndUniqueOrdered[T cmp.Ordered](s []T) bool { return true } -// Returns true iff the elements in [s] are unique and sorted +// IsSortedAndUniqueByHash returns true iff the elements in [s] are unique and sorted // based by their hashes. func IsSortedAndUniqueByHash[T ~[]byte](s []T) bool { if len(s) <= 1 { diff --git a/vm/rpc.go b/vm/rpc.go index 1e12f57a..1675209e 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -399,7 +399,7 @@ func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error) { return &ctypes.ResultHealth{}, nil } -// bsHeight can be either latest committed or uncommitted (+1) height. +// getHeight bsHeight can be either latest committed or uncommitted (+1) height. func getHeight(bs *store.BlockStore, heightPtr *int64) (int64, error) { if heightPtr == nil { return bs.Height(), nil From d3fa5c96ea1a0083756e328ff1481009ced24e70 Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Fri, 19 Jul 2024 16:39:57 +0300 Subject: [PATCH 37/40] supressing all warnigs with comments --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index ca30dcb5..31c046f2 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -42,7 +42,7 @@ jobs: version: v1.60 - name: Run golint - run: golint ./... | grep -v "should have comment or be unexported" + run: golint ./... | grep -v "should have comment" - name: Test run: go test -race -vet=off -v ./... From 0273b7b5b5ad024ca47d61f954c80c499be66ffd Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Fri, 19 Jul 2024 21:26:33 +0300 Subject: [PATCH 38/40] supressing all warnigs with comments --- .github/workflows/go.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index 31c046f2..ca30dcb5 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -42,7 +42,7 @@ jobs: version: v1.60 - name: Run golint - run: golint ./... | grep -v "should have comment" + run: golint ./... | grep -v "should have comment or be unexported" - name: Test run: go test -race -vet=off -v ./... From 239fa476153d109652ffd7fca2433f582115c5ef Mon Sep 17 00:00:00 2001 From: Vasyl Naumenko Date: Mon, 22 Jul 2024 13:26:26 +0300 Subject: [PATCH 39/40] using of golangci-lint --- .github/workflows/go.yml | 4 ++-- .golangci.yml | 4 ++-- vm/rpc.go | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml index ca30dcb5..63c72b97 100644 --- a/.github/workflows/go.yml +++ b/.github/workflows/go.yml @@ -41,8 +41,8 @@ jobs: with: version: v1.60 - - name: Run golint - run: golint ./... | grep -v "should have comment or be unexported" + - name: Run golangci-lint + run: golangci-lint run ./... - name: Test run: go test -race -vet=off -v ./... diff --git a/.golangci.yml b/.golangci.yml index d61f6395..5a06b6b5 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -256,7 +256,7 @@ linters: # - funlen # tool for detection of long functions - gocheckcompilerdirectives # validates go compiler directive comments (//go:) # - gochecknoglobals # checks that no global variables exist -# - gochecknoinits # checks that no init functions are present in Go code +# - gochecknoinits # checks that no init functions are present in Go code) - gochecksumtype # checks exhaustiveness on Go "sum types" # - gocognit # computes and checks the cognitive complexity of functions - goconst # finds repeated strings that could be replaced by a constant @@ -364,4 +364,4 @@ issues: - goconst - gosec - noctx - - wrapcheck \ No newline at end of file + - wrapcheck diff --git a/vm/rpc.go b/vm/rpc.go index 1675209e..79efcfb4 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -387,7 +387,7 @@ func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusS func (rpc *RPC) ConsensusParams( _ *rpctypes.Context, - heightPtr *int64, + _ *int64, ) (*ctypes.ResultConsensusParams, error) { return &ctypes.ResultConsensusParams{ BlockHeight: rpc.vm.blockStore.Height(), @@ -450,7 +450,7 @@ func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlo return &ctypes.ResultBlock{BlockID: blockMeta.BlockID, Block: block}, nil } -func (rpc *RPC) BlockResults(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlockResults, error) { +func (rpc *RPC) BlockResults(_ *rpctypes.Context, _ *int64) (*ctypes.ResultBlockResults, error) { // height, err := getHeight(rpc.vm.blockStore, args.Height) // if err != nil { // return err From c3a3c3ad55cb097dc37b9047d394dc8260341140 Mon Sep 17 00:00:00 2001 From: Ivan Sukach Date: Mon, 29 Jul 2024 10:41:24 +0200 Subject: [PATCH 40/40] add comments for exported methods of RPC --- localhost:8081/lib/godoc/godocs.js | 688 -- localhost:8081/lib/godoc/jquery.js | 2 - localhost:8081/lib/godoc/style.css | 897 -- .../landslidevm/database/index.html | 681 -- .../landslidevm/example/index.html | 131 - .../landslidevm/example/kvstore/index.html | 102 - .../landslidevm/example/wasm/index.html | 102 - .../landslidevm/grpcutils/index.html | 671 -- .../landslidevm/http/conn/index.html | 468 - .../landslidevm/http/index.html | 478 - .../landslidevm/http/reader/index.html | 288 - .../http/responsewriter/index.html | 417 - .../landslidevm/http/writer/index.html | 288 - .../consideritdone/landslidevm/index.html | 649 -- .../landslidevm/jsonrpc/index.html | 308 - .../landslidevm/proto/http/index.html | 2412 ----- .../proto/http/responsewriter/index.html | 1186 --- .../landslidevm/proto/index.html | 230 - .../landslidevm/proto/io/index.html | 131 - .../landslidevm/proto/io/reader/index.html | 635 -- .../landslidevm/proto/io/writer/index.html | 637 -- .../landslidevm/proto/messenger/index.html | 738 -- .../landslidevm/proto/net/conn/index.html | 1152 --- .../landslidevm/proto/net/index.html | 120 - .../landslidevm/proto/rpcdb/index.html | 3745 -------- .../landslidevm/proto/vm/index.html | 8487 ----------------- .../landslidevm/proto/vm/runtime/index.html | 514 - .../landslidevm/utils/cache/index.html | 678 -- .../landslidevm/utils/cb58/index.html | 211 - .../landslidevm/utils/hashing/index.html | 460 - .../landslidevm/utils/ids/index.html | 482 - .../landslidevm/utils/index.html | 422 - .../utils/linkedhashmap/index.html | 284 - .../landslidevm/utils/wrappers/index.html | 667 -- .../consideritdone/landslidevm/vm/index.html | 1445 --- .../landslidevm/vm/types/block/index.html | 179 - .../landslidevm/vm/types/closer/index.html | 228 - .../landslidevm/vm/types/commit/index.html | 179 - .../landslidevm/vm/types/index.html | 554 -- .../landslidevm/vm/types/state/index.html | 1246 --- vm/rpc.go | 44 +- 41 files changed, 41 insertions(+), 33195 deletions(-) delete mode 100644 localhost:8081/lib/godoc/godocs.js delete mode 100644 localhost:8081/lib/godoc/jquery.js delete mode 100644 localhost:8081/lib/godoc/style.css delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html delete mode 100644 localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html diff --git a/localhost:8081/lib/godoc/godocs.js b/localhost:8081/lib/godoc/godocs.js deleted file mode 100644 index 7f02ba24..00000000 --- a/localhost:8081/lib/godoc/godocs.js +++ /dev/null @@ -1,688 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -/* A little code to ease navigation of these documents. - * - * On window load we: - * + Generate a table of contents (generateTOC) - * + Bind foldable sections (bindToggles) - * + Bind links to foldable sections (bindToggleLinks) - */ - -(function() { - 'use strict'; - - // Mobile-friendly topbar menu - $(function() { - var menu = $('#menu'); - var menuButton = $('#menu-button'); - var menuButtonArrow = $('#menu-button-arrow'); - menuButton.click(function(event) { - menu.toggleClass('menu-visible'); - menuButtonArrow.toggleClass('vertical-flip'); - event.preventDefault(); - return false; - }); - }); - - /* Generates a table of contents: looks for h2 and h3 elements and generates - * links. "Decorates" the element with id=="nav" with this table of contents. - */ - function generateTOC() { - if ($('#manual-nav').length > 0) { - return; - } - - // For search, we send the toc precomputed from server-side. - // TODO: Ideally, this should always be precomputed for all pages, but then - // we need to do HTML parsing on the server-side. - if (location.pathname === '/search') { - return; - } - - var nav = $('#nav'); - if (nav.length === 0) { - return; - } - - var toc_items = []; - $(nav) - .nextAll('h2, h3') - .each(function() { - var node = this; - if (node.id == '') node.id = 'tmp_' + toc_items.length; - var link = $('') - .attr('href', '#' + node.id) - .text($(node).text()); - var item; - if ($(node).is('h2')) { - item = $('
    '); - } else { - // h3 - item = $('
    '); - } - item.append(link); - toc_items.push(item); - }); - if (toc_items.length <= 1) { - return; - } - var dl1 = $('
    '); - var dl2 = $('
    '); - - var split_index = toc_items.length / 2 + 1; - if (split_index < 8) { - split_index = toc_items.length; - } - for (var i = 0; i < split_index; i++) { - dl1.append(toc_items[i]); - } - for (; /* keep using i */ i < toc_items.length; i++) { - dl2.append(toc_items[i]); - } - - var tocTable = $('').appendTo(nav); - var tocBody = $('').appendTo(tocTable); - var tocRow = $('').appendTo(tocBody); - - // 1st column - $(']","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
    ","
    "],thead:[1,"
    ') - .appendTo(tocRow) - .append(dl1); - // 2nd column - $('') - .appendTo(tocRow) - .append(dl2); - } - - function bindToggle(el) { - $('.toggleButton', el).click(function() { - if ($(this).closest('.toggle, .toggleVisible')[0] != el) { - // Only trigger the closest toggle header. - return; - } - - if ($(el).is('.toggle')) { - $(el) - .addClass('toggleVisible') - .removeClass('toggle'); - } else { - $(el) - .addClass('toggle') - .removeClass('toggleVisible'); - } - }); - } - - function bindToggles(selector) { - $(selector).each(function(i, el) { - bindToggle(el); - }); - } - - function bindToggleLink(el, prefix) { - $(el).click(function() { - var href = $(el).attr('href'); - var i = href.indexOf('#' + prefix); - if (i < 0) { - return; - } - var id = '#' + prefix + href.slice(i + 1 + prefix.length); - if ($(id).is('.toggle')) { - $(id) - .find('.toggleButton') - .first() - .click(); - } - }); - } - function bindToggleLinks(selector, prefix) { - $(selector).each(function(i, el) { - bindToggleLink(el, prefix); - }); - } - - function setupDropdownPlayground() { - if (!$('#page').is('.wide')) { - return; // don't show on front page - } - var button = $('#playgroundButton'); - var div = $('#playground'); - var setup = false; - button.toggle( - function() { - button.addClass('active'); - div.show(); - if (setup) { - return; - } - setup = true; - playground({ - codeEl: $('.code', div), - outputEl: $('.output', div), - runEl: $('.run', div), - fmtEl: $('.fmt', div), - shareEl: $('.share', div), - shareRedirect: '//play.golang.org/p/', - }); - }, - function() { - button.removeClass('active'); - div.hide(); - } - ); - $('#menu').css('min-width', '+=60'); - - // Hide inline playground if we click somewhere on the page. - // This is needed in mobile devices, where the "Play" button - // is not clickable once the playground opens up. - $('#page').click(function() { - if (button.hasClass('active')) { - button.click(); - } - }); - } - - function setupInlinePlayground() { - 'use strict'; - // Set up playground when each element is toggled. - $('div.play').each(function(i, el) { - // Set up playground for this example. - var setup = function() { - var code = $('.code', el); - playground({ - codeEl: code, - outputEl: $('.output', el), - runEl: $('.run', el), - fmtEl: $('.fmt', el), - shareEl: $('.share', el), - shareRedirect: '//play.golang.org/p/', - }); - - // Make the code textarea resize to fit content. - var resize = function() { - code.height(0); - var h = code[0].scrollHeight; - code.height(h + 20); // minimize bouncing. - code.closest('.input').height(h); - }; - code.on('keydown', resize); - code.on('keyup', resize); - code.keyup(); // resize now. - }; - - // If example already visible, set up playground now. - if ($(el).is(':visible')) { - setup(); - return; - } - - // Otherwise, set up playground when example is expanded. - var built = false; - $(el) - .closest('.toggle') - .click(function() { - // Only set up once. - if (!built) { - setup(); - built = true; - } - }); - }); - } - - // fixFocus tries to put focus to div#page so that keyboard navigation works. - function fixFocus() { - var page = $('div#page'); - var topbar = $('div#topbar'); - page.css('outline', 0); // disable outline when focused - page.attr('tabindex', -1); // and set tabindex so that it is focusable - $(window) - .resize(function(evt) { - // only focus page when the topbar is at fixed position (that is, it's in - // front of page, and keyboard event will go to the former by default.) - // by focusing page, keyboard event will go to page so that up/down arrow, - // space, etc. will work as expected. - if (topbar.css('position') == 'fixed') page.focus(); - }) - .resize(); - } - - function toggleHash() { - var id = window.location.hash.substring(1); - // Open all of the toggles for a particular hash. - var els = $( - document.getElementById(id), - $('a[name]').filter(function() { - return $(this).attr('name') == id; - }) - ); - - while (els.length) { - for (var i = 0; i < els.length; i++) { - var el = $(els[i]); - if (el.is('.toggle')) { - el.find('.toggleButton') - .first() - .click(); - } - } - els = el.parent(); - } - } - - function personalizeInstallInstructions() { - var prefix = '?download='; - var s = window.location.search; - if (s.indexOf(prefix) != 0) { - // No 'download' query string; detect "test" instructions from User Agent. - if (navigator.platform.indexOf('Win') != -1) { - $('.testUnix').hide(); - $('.testWindows').show(); - } else { - $('.testUnix').show(); - $('.testWindows').hide(); - } - return; - } - - var filename = s.substr(prefix.length); - var filenameRE = /^go1\.\d+(\.\d+)?([a-z0-9]+)?\.([a-z0-9]+)(-[a-z0-9]+)?(-osx10\.[68])?\.([a-z.]+)$/; - var m = filenameRE.exec(filename); - if (!m) { - // Can't interpret file name; bail. - return; - } - $('.downloadFilename').text(filename); - $('.hideFromDownload').hide(); - - var os = m[3]; - var ext = m[6]; - if (ext != 'tar.gz') { - $('#tarballInstructions').hide(); - } - if (os != 'darwin' || ext != 'pkg') { - $('#darwinPackageInstructions').hide(); - } - if (os != 'windows') { - $('#windowsInstructions').hide(); - $('.testUnix').show(); - $('.testWindows').hide(); - } else { - if (ext != 'msi') { - $('#windowsInstallerInstructions').hide(); - } - if (ext != 'zip') { - $('#windowsZipInstructions').hide(); - } - $('.testUnix').hide(); - $('.testWindows').show(); - } - - var download = 'https://dl.google.com/go/' + filename; - - var message = $( - '

    ' + - 'Your download should begin shortly. ' + - 'If it does not, click this link.

    ' - ); - message.find('a').attr('href', download); - message.insertAfter('#nav'); - - window.location = download; - } - - function updateVersionTags() { - var v = window.goVersion; - if (/^go[0-9.]+$/.test(v)) { - $('.versionTag') - .empty() - .text(v); - $('.whereTag').hide(); - } - } - - function addPermalinks() { - function addPermalink(source, parent) { - var id = source.attr('id'); - if (id == '' || id.indexOf('tmp_') === 0) { - // Auto-generated permalink. - return; - } - if (parent.find('> .permalink').length) { - // Already attached. - return; - } - parent - .append(' ') - .append($("").attr('href', '#' + id)); - } - - $('#page .container') - .find('h2[id], h3[id]') - .each(function() { - var el = $(this); - addPermalink(el, el); - }); - - $('#page .container') - .find('dl[id]') - .each(function() { - var el = $(this); - // Add the anchor to the "dt" element. - addPermalink(el, el.find('> dt').first()); - }); - } - - $('.js-expandAll').click(function() { - if ($(this).hasClass('collapsed')) { - toggleExamples('toggle'); - $(this).text('(Collapse All)'); - } else { - toggleExamples('toggleVisible'); - $(this).text('(Expand All)'); - } - $(this).toggleClass('collapsed'); - }); - - function toggleExamples(className) { - // We need to explicitly iterate through divs starting with "example_" - // to avoid toggling Overview and Index collapsibles. - $("[id^='example_']").each(function() { - // Check for state and click it only if required. - if ($(this).hasClass(className)) { - $(this) - .find('.toggleButton') - .first() - .click(); - } - }); - } - - $(document).ready(function() { - generateTOC(); - addPermalinks(); - bindToggles('.toggle'); - bindToggles('.toggleVisible'); - bindToggleLinks('.exampleLink', 'example_'); - bindToggleLinks('.overviewLink', ''); - bindToggleLinks('.examplesLink', ''); - bindToggleLinks('.indexLink', ''); - setupDropdownPlayground(); - setupInlinePlayground(); - fixFocus(); - setupTypeInfo(); - setupCallgraphs(); - toggleHash(); - personalizeInstallInstructions(); - updateVersionTags(); - - // godoc.html defines window.initFuncs in the tag, and root.html and - // codewalk.js push their on-page-ready functions to the list. - // We execute those functions here, to avoid loading jQuery until the page - // content is loaded. - for (var i = 0; i < window.initFuncs.length; i++) window.initFuncs[i](); - }); - - // -- analysis --------------------------------------------------------- - - // escapeHTML returns HTML for s, with metacharacters quoted. - // It is safe for use in both elements and attributes - // (unlike the "set innerText, read innerHTML" trick). - function escapeHTML(s) { - return s - .replace(/&/g, '&') - .replace(/\"/g, '"') - .replace(/\'/g, ''') - .replace(//g, '>'); - } - - // makeAnchor returns HTML for an element, given an anchorJSON object. - function makeAnchor(json) { - var html = escapeHTML(json.Text); - if (json.Href != '') { - html = "" + html + ''; - } - return html; - } - - function showLowFrame(html) { - var lowframe = document.getElementById('lowframe'); - lowframe.style.height = '200px'; - lowframe.innerHTML = - "

    " + - html + - '

    \n' + - "
    "; - } - - document.hideLowFrame = function() { - var lowframe = document.getElementById('lowframe'); - lowframe.style.height = '0px'; - }; - - // onClickCallers is the onclick action for the 'func' tokens of a - // function declaration. - document.onClickCallers = function(index) { - var data = document.ANALYSIS_DATA[index]; - if (data.Callers.length == 1 && data.Callers[0].Sites.length == 1) { - document.location = data.Callers[0].Sites[0].Href; // jump to sole caller - return; - } - - var html = - 'Callers of ' + escapeHTML(data.Callee) + ':
    \n'; - for (var i = 0; i < data.Callers.length; i++) { - var caller = data.Callers[i]; - html += '' + escapeHTML(caller.Func) + ''; - var sites = caller.Sites; - if (sites != null && sites.length > 0) { - html += ' at line '; - for (var j = 0; j < sites.length; j++) { - if (j > 0) { - html += ', '; - } - html += '' + makeAnchor(sites[j]) + ''; - } - } - html += '
    \n'; - } - showLowFrame(html); - }; - - // onClickCallees is the onclick action for the '(' token of a function call. - document.onClickCallees = function(index) { - var data = document.ANALYSIS_DATA[index]; - if (data.Callees.length == 1) { - document.location = data.Callees[0].Href; // jump to sole callee - return; - } - - var html = 'Callees of this ' + escapeHTML(data.Descr) + ':
    \n'; - for (var i = 0; i < data.Callees.length; i++) { - html += '' + makeAnchor(data.Callees[i]) + '
    \n'; - } - showLowFrame(html); - }; - - // onClickTypeInfo is the onclick action for identifiers declaring a named type. - document.onClickTypeInfo = function(index) { - var data = document.ANALYSIS_DATA[index]; - var html = - 'Type ' + - data.Name + - ': ' + - '      (size=' + - data.Size + - ', align=' + - data.Align + - ')
    \n'; - html += implementsHTML(data); - html += methodsetHTML(data); - showLowFrame(html); - }; - - // implementsHTML returns HTML for the implements relation of the - // specified TypeInfoJSON value. - function implementsHTML(info) { - var html = ''; - if (info.ImplGroups != null) { - for (var i = 0; i < info.ImplGroups.length; i++) { - var group = info.ImplGroups[i]; - var x = '' + escapeHTML(group.Descr) + ' '; - for (var j = 0; j < group.Facts.length; j++) { - var fact = group.Facts[j]; - var y = '' + makeAnchor(fact.Other) + ''; - if (fact.ByKind != null) { - html += escapeHTML(fact.ByKind) + ' type ' + y + ' implements ' + x; - } else { - html += x + ' implements ' + y; - } - html += '
    \n'; - } - } - } - return html; - } - - // methodsetHTML returns HTML for the methodset of the specified - // TypeInfoJSON value. - function methodsetHTML(info) { - var html = ''; - if (info.Methods != null) { - for (var i = 0; i < info.Methods.length; i++) { - html += '' + makeAnchor(info.Methods[i]) + '
    \n'; - } - } - return html; - } - - // onClickComm is the onclick action for channel "make" and "<-" - // send/receive tokens. - document.onClickComm = function(index) { - var ops = document.ANALYSIS_DATA[index].Ops; - if (ops.length == 1) { - document.location = ops[0].Op.Href; // jump to sole element - return; - } - - var html = 'Operations on this channel:
    \n'; - for (var i = 0; i < ops.length; i++) { - html += - makeAnchor(ops[i].Op) + - ' by ' + - escapeHTML(ops[i].Fn) + - '
    \n'; - } - if (ops.length == 0) { - html += '(none)
    \n'; - } - showLowFrame(html); - }; - - $(window).load(function() { - // Scroll window so that first selection is visible. - // (This means we don't need to emit id='L%d' spans for each line.) - // TODO(adonovan): ideally, scroll it so that it's under the pointer, - // but I don't know how to get the pointer y coordinate. - var elts = document.getElementsByClassName('selection'); - if (elts.length > 0) { - elts[0].scrollIntoView(); - } - }); - - // setupTypeInfo populates the "Implements" and "Method set" toggle for - // each type in the package doc. - function setupTypeInfo() { - for (var i in document.ANALYSIS_DATA) { - var data = document.ANALYSIS_DATA[i]; - - var el = document.getElementById('implements-' + i); - if (el != null) { - // el != null => data is TypeInfoJSON. - if (data.ImplGroups != null) { - el.innerHTML = implementsHTML(data); - el.parentNode.parentNode.style.display = 'block'; - } - } - - var el = document.getElementById('methodset-' + i); - if (el != null) { - // el != null => data is TypeInfoJSON. - if (data.Methods != null) { - el.innerHTML = methodsetHTML(data); - el.parentNode.parentNode.style.display = 'block'; - } - } - } - } - - function setupCallgraphs() { - if (document.CALLGRAPH == null) { - return; - } - document.getElementById('pkg-callgraph').style.display = 'block'; - - var treeviews = document.getElementsByClassName('treeview'); - for (var i = 0; i < treeviews.length; i++) { - var tree = treeviews[i]; - if (tree.id == null || tree.id.indexOf('callgraph-') != 0) { - continue; - } - var id = tree.id.substring('callgraph-'.length); - $(tree).treeview({ collapsed: true, animated: 'fast' }); - document.cgAddChildren(tree, tree, [id]); - tree.parentNode.parentNode.style.display = 'block'; - } - } - - document.cgAddChildren = function(tree, ul, indices) { - if (indices != null) { - for (var i = 0; i < indices.length; i++) { - var li = cgAddChild(tree, ul, document.CALLGRAPH[indices[i]]); - if (i == indices.length - 1) { - $(li).addClass('last'); - } - } - } - $(tree).treeview({ animated: 'fast', add: ul }); - }; - - // cgAddChild adds an
  • element for document.CALLGRAPH node cgn to - // the parent
      element ul. tree is the tree's root
        element. - function cgAddChild(tree, ul, cgn) { - var li = document.createElement('li'); - ul.appendChild(li); - li.className = 'closed'; - - var code = document.createElement('code'); - - if (cgn.Callees != null) { - $(li).addClass('expandable'); - - // Event handlers and innerHTML updates don't play nicely together, - // hence all this explicit DOM manipulation. - var hitarea = document.createElement('div'); - hitarea.className = 'hitarea expandable-hitarea'; - li.appendChild(hitarea); - - li.appendChild(code); - - var childUL = document.createElement('ul'); - li.appendChild(childUL); - childUL.setAttribute('style', 'display: none;'); - - var onClick = function() { - document.cgAddChildren(tree, childUL, cgn.Callees); - hitarea.removeEventListener('click', onClick); - }; - hitarea.addEventListener('click', onClick); - } else { - li.appendChild(code); - } - code.innerHTML += ' ' + makeAnchor(cgn.Func); - return li; - } -})(); diff --git a/localhost:8081/lib/godoc/jquery.js b/localhost:8081/lib/godoc/jquery.js deleted file mode 100644 index bc3fbc81..00000000 --- a/localhost:8081/lib/godoc/jquery.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! jQuery v1.8.2 jquery.com | jquery.org/license */ -(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
        a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
        t
        ",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
        ",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
        ",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

        ",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/
  • ","
    "],tr:[2,"","
    "],td:[3,"","
    "],col:[2,"","
    "],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
    ","
    "]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
    ").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/localhost:8081/lib/godoc/style.css b/localhost:8081/lib/godoc/style.css deleted file mode 100644 index d2c9706f..00000000 --- a/localhost:8081/lib/godoc/style.css +++ /dev/null @@ -1,897 +0,0 @@ -body { - margin: 0; - font-family: Arial, sans-serif; - background-color: #fff; - line-height: 1.3; - text-align: center; - color: #222; -} -textarea { - /* Inherit text color from body avoiding illegible text in the case where the - * user has inverted the browsers custom text and background colors. */ - color: inherit; -} -pre, -code { - font-family: Menlo, monospace; - font-size: 0.875rem; -} -pre { - line-height: 1.4; - overflow-x: auto; -} -pre .comment { - color: #006600; -} -pre .highlight, -pre .highlight-comment, -pre .selection-highlight, -pre .selection-highlight-comment { - background: #ffff00; -} -pre .selection, -pre .selection-comment { - background: #ff9632; -} -pre .ln { - color: #999; - background: #efefef; -} -.ln { - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - - /* Ensure 8 characters in the document - which due to floating - * point rendering issues, might have a width of less than 1 each - are 8 - * characters wide, so a tab in the 9th position indents properly. See - * https://github.com/webcompat/web-bugs/issues/17530#issuecomment-402675091 - * for more information. */ - display: inline-block; - width: 8ch; -} - -.search-nav { - margin-left: 1.25rem; - font-size: 0.875rem; - column-gap: 1.25rem; - column-fill: auto; - column-width: 14rem; -} - -.search-nav .indent { - margin-left: 1.25rem; -} - -a, -.exampleHeading .text, -.expandAll { - color: #375eab; - text-decoration: none; -} -a:hover, -.exampleHeading .text:hover, -.expandAll:hover { - text-decoration: underline; -} -.article a { - text-decoration: underline; -} -.article .title a { - text-decoration: none; -} - -.permalink { - display: none; -} -:hover > .permalink { - display: inline; -} - -p, -li { - max-width: 50rem; - word-wrap: break-word; -} -p, -pre, -ul, -ol { - margin: 1.25rem; -} -pre { - background: #efefef; - padding: 0.625rem; - border-radius: 0.3125rem; -} - -h1, -h2, -h3, -h4, -.rootHeading { - margin: 1.25rem 0 1.25rem; - padding: 0; - color: #375eab; - font-weight: bold; -} -h1 { - font-size: 1.75rem; - line-height: 1; -} -h1 .text-muted { - color: #777; -} -h2 { - font-size: 1.25rem; - background: #e0ebf5; - padding: 0.5rem; - line-height: 1.25; - font-weight: normal; - overflow: auto; - overflow-wrap: break-word; -} -h2 a { - font-weight: bold; -} -h3 { - font-size: 1.25rem; - line-height: 1.25; - overflow: auto; - overflow-wrap: break-word; -} -h3, -h4 { - margin: 1.25rem 0.3125rem; -} -h4 { - font-size: 1rem; -} -.rootHeading { - font-size: 1.25rem; - margin: 0; -} - -h2 > span, -h3 > span { - float: right; - margin: 0 25px 0 0; - font-weight: normal; - color: #5279c7; -} - -dl { - margin: 1.25rem; -} -dd { - margin: 0 0 0 1.25rem; -} -dl, -dd { - font-size: 0.875rem; -} -div#nav table td { - vertical-align: top; -} - -#pkg-index h3 { - font-size: 1rem; -} -.pkg-dir { - padding: 0 0.625rem; -} -.pkg-dir table { - border-collapse: collapse; - border-spacing: 0; -} -.pkg-name { - padding-right: 0.625rem; -} -.alert { - color: #aa0000; -} - -.top-heading { - float: left; - padding: 1.313rem 0; - font-size: 1.25rem; - font-weight: normal; -} -.top-heading a { - color: #222; - text-decoration: none; -} - -#pkg-examples h3 { - float: left; -} - -#pkg-examples dl { - clear: both; -} - -.expandAll { - cursor: pointer; - float: left; - margin: 1.25rem 0; -} - -div#topbar { - background: #e0ebf5; - height: 4rem; - overflow: hidden; -} - -div#page { - width: 100%; -} -div#page > .container, -div#topbar > .container { - text-align: left; - margin-left: auto; - margin-right: auto; - padding: 0 1.25rem; -} -div#topbar > .container, -div#page > .container { - max-width: 59.38rem; -} -div#page.wide > .container, -div#topbar.wide > .container { - max-width: none; -} -div#plusone { - float: right; - clear: right; - margin-top: 0.3125rem; -} - -div#footer { - text-align: center; - color: #666; - font-size: 0.875rem; - margin: 2.5rem 0; -} - -div#menu > a, -input#search, -div#learn .buttons a, -div.play .buttons a, -div#blog .read a, -#menu-button { - padding: 0.625rem; - - text-decoration: none; - font-size: 1rem; - border-radius: 0.3125rem; -} -div#playground .buttons a, -div#menu > a, -input#search, -#menu-button { - border: 0.0625rem solid #375eab; -} -div#playground .buttons a, -div#menu > a, -#menu-button { - color: white; - background: #375eab; -} -#playgroundButton.active { - background: white; - color: #375eab; -} -a#start, -div#learn .buttons a, -div.play .buttons a, -div#blog .read a { - color: #222; - border: 0.0625rem solid #375eab; - background: #e0ebf5; -} -.download { - width: 9.375rem; -} - -div#menu { - text-align: right; - padding: 0.625rem; - white-space: nowrap; - max-height: 0; - -moz-transition: max-height 0.25s linear; - transition: max-height 0.25s linear; - width: 100%; -} -div#menu.menu-visible { - max-height: 31.25rem; -} -div#menu > a, -#menu-button { - margin: 0.625rem 0.125rem; - padding: 0.625rem; -} -::-webkit-input-placeholder { - color: #7f7f7f; - opacity: 1; -} -::placeholder { - color: #7f7f7f; - opacity: 1; -} -#menu .search-box { - display: inline-flex; - width: 8.75rem; -} -input#search { - background: white; - color: #222; - box-sizing: border-box; - -webkit-appearance: none; - border-top-right-radius: 0; - border-bottom-right-radius: 0; - border-right: 0; - margin-right: 0; - flex-grow: 1; - max-width: 100%; - min-width: 5.625rem; -} -input#search:-webkit-search-decoration { - -webkit-appearance: none; -} -input#search:-moz-ui-invalid { - box-shadow: unset; -} -input#search + button { - display: inline; - font-size: 1em; - background-color: #375eab; - color: white; - border: 0.0625rem solid #375eab; - border-top-left-radius: 0; - border-top-right-radius: 0.3125rem; - border-bottom-left-radius: 0; - border-bottom-right-radius: 0.3125rem; - margin-left: 0; - cursor: pointer; -} -input#search + button span { - display: flex; -} -input#search + button svg { - fill: white; -} - -#menu-button { - display: none; - position: absolute; - right: 0.3125rem; - top: 0; - margin-right: 0.3125rem; -} -#menu-button-arrow { - display: inline-block; -} -.vertical-flip { - transform: rotate(-180deg); -} - -div.left { - float: left; - clear: left; - margin-right: 2.5%; -} -div.right { - float: right; - clear: right; - margin-left: 2.5%; -} -div.left, -div.right { - width: 45%; -} - -div#learn, -div#about { - padding-top: 1.25rem; -} -div#learn h2, -div#about { - margin: 0; -} -div#about { - font-size: 1.25rem; - margin: 0 auto 1.875rem; -} -a#start { - display: block; - padding: 0.625rem; - - text-align: center; - text-decoration: none; - border-radius: 0.3125rem; -} -a#start .big { - display: block; - font-weight: bold; - font-size: 1.25rem; -} -a#start .desc { - display: block; - font-size: 0.875rem; - font-weight: normal; - margin-top: 0.3125rem; -} - -div#learn .popout { - float: right; - display: block; - cursor: pointer; - font-size: 0.75rem; - background: url(http://localhost:8081/doc/share.png) no-repeat; - background-position: right center; - padding: 0.375rem 1.688rem; -} -div#learn pre, -div#learn textarea { - padding: 0; - margin: 0; - font-family: Menlo, monospace; - font-size: 0.875rem; -} -div#learn .input { - padding: 0.625rem; - margin-top: 0.625rem; - height: 9.375rem; - - border-top-left-radius: 0.3125rem; - border-top-right-radius: 0.3125rem; -} -div#learn .input textarea { - width: 100%; - height: 100%; - border: none; - outline: none; - resize: none; -} -div#learn .output { - border-top: none !important; - - padding: 0.625rem; - height: 3.688rem; - overflow: auto; - - border-bottom-right-radius: 0.3125rem; - border-bottom-left-radius: 0.3125rem; -} -div#learn .output pre { - padding: 0; - border-radius: 0; -} -div#learn .input, -div#learn .input textarea, -div#learn .output, -div#learn .output pre { - background: #ffffd8; -} -div#learn .input, -div#learn .output { - border: 0.0625rem solid #375eab; -} -div#learn .buttons { - float: right; - padding: 1.25rem 0 0.625rem 0; - text-align: right; -} -div#learn .buttons a { - height: 1rem; - margin-left: 0.3125rem; - padding: 0.625rem; -} -div#learn .toys { - margin-top: 0.5rem; -} -div#learn .toys select { - font-size: 0.875rem; - border: 0.0625rem solid #375eab; - margin: 0; -} -div#learn .output .exit { - display: none; -} - -div#video { - max-width: 100%; -} -div#blog, -div#video { - margin-top: 2.5rem; -} -div#blog > a, -div#blog > div, -div#blog > h2, -div#video > a, -div#video > div, -div#video > h2 { - margin-bottom: 0.625rem; -} -div#blog .title, -div#video .title { - display: block; - font-size: 1.25rem; -} -div#blog .when { - color: #666; - font-size: 0.875rem; -} -div#blog .read { - text-align: right; -} - -@supports (--c: 0) { - [style*='--aspect-ratio-padding:'] { - position: relative; - overflow: hidden; - padding-top: var(--aspect-ratio-padding); - } - - [style*='--aspect-ratio-padding:'] > * { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - } -} - -.toggleButton { - cursor: pointer; -} -.toggle > .collapsed { - display: block; -} -.toggle > .expanded { - display: none; -} -.toggleVisible > .collapsed { - display: none; -} -.toggleVisible > .expanded { - display: block; -} - -table.codetable { - margin-left: auto; - margin-right: auto; - border-style: none; -} -table.codetable td { - padding-right: 0.625rem; -} -hr { - border-style: none; - border-top: 0.0625rem solid black; -} - -img.gopher { - float: right; - margin-left: 0.625rem; - margin-top: -2.5rem; - margin-bottom: 0.625rem; - z-index: -1; -} -h2 { - clear: right; -} - -/* example and drop-down playground */ -div.play { - padding: 0 1.25rem 2.5rem 1.25rem; -} -div.play pre, -div.play textarea, -div.play .lines { - padding: 0; - margin: 0; - font-family: Menlo, monospace; - font-size: 0.875rem; -} -div.play .input { - padding: 0.625rem; - margin-top: 0.625rem; - - border-top-left-radius: 0.3125rem; - border-top-right-radius: 0.3125rem; - - overflow: hidden; -} -div.play .input textarea { - width: 100%; - height: 100%; - border: none; - outline: none; - resize: none; - - overflow: hidden; -} -div#playground .input textarea { - overflow: auto; - resize: auto; -} -div.play .output { - border-top: none !important; - - padding: 0.625rem; - max-height: 12.5rem; - overflow: auto; - - border-bottom-right-radius: 0.3125rem; - border-bottom-left-radius: 0.3125rem; -} -div.play .output pre { - padding: 0; - border-radius: 0; -} -div.play .input, -div.play .input textarea, -div.play .output, -div.play .output pre { - background: #ffffd8; -} -div.play .input, -div.play .output { - border: 0.0625rem solid #375eab; -} -div.play .buttons { - float: right; - padding: 1.25rem 0 0.625rem 0; - text-align: right; -} -div.play .buttons a { - height: 1rem; - margin-left: 0.3125rem; - padding: 0.625rem; - cursor: pointer; -} -.output .stderr { - color: #933; -} -.output .system { - color: #999; -} - -/* drop-down playground */ -div#playground { - /* start hidden; revealed by javascript */ - display: none; -} -div#playground { - position: absolute; - top: 3.938rem; - right: 1.25rem; - padding: 0 0.625rem 0.625rem 0.625rem; - z-index: 1; - text-align: left; - background: #e0ebf5; - - border: 0.0625rem solid #b0bbc5; - border-top: none; - - border-bottom-left-radius: 0.3125rem; - border-bottom-right-radius: 0.3125rem; -} -div#playground .code { - width: 32.5rem; - height: 12.5rem; -} -div#playground .output { - height: 6.25rem; -} - -/* Inline runnable snippets (play.js/initPlayground) */ -#content .code pre, -#content .playground pre, -#content .output pre { - margin: 0; - padding: 0; - background: none; - border: none; - outline: 0 solid transparent; - overflow: auto; -} -#content .playground .number, -#content .code .number { - color: #999; -} -#content .code, -#content .playground, -#content .output { - width: auto; - margin: 1.25rem; - padding: 0.625rem; - border-radius: 0.3125rem; -} -#content .code, -#content .playground { - background: #e9e9e9; -} -#content .output { - background: #202020; -} -#content .output .stdout, -#content .output pre { - color: #e6e6e6; -} -#content .output .stderr, -#content .output .error { - color: rgb(244, 74, 63); -} -#content .output .system, -#content .output .exit { - color: rgb(255, 209, 77); -} -#content .buttons { - position: relative; - float: right; - top: -3.125rem; - right: 1.875rem; -} -#content .output .buttons { - top: -3.75rem; - right: 0; - height: 0; -} -#content .buttons .kill { - display: none; - visibility: hidden; -} -a.error { - font-weight: bold; - color: white; - background-color: darkred; - border-bottom-left-radius: 0.25rem; - border-bottom-right-radius: 0.25rem; - border-top-left-radius: 0.25rem; - border-top-right-radius: 0.25rem; - padding: 0.125rem 0.25rem 0.125rem 0.25rem; /* TRBL */ -} - -#heading-narrow { - display: none; -} - -.downloading { - background: #f9f9be; - padding: 0.625rem; - text-align: center; - border-radius: 0.3125rem; -} - -@media (max-width: 58.125em) { - #heading-wide { - display: none; - } - #heading-narrow { - display: block; - } -} - -@media (max-width: 47.5em) { - .container .left, - .container .right { - width: auto; - float: none; - } - - div#about { - max-width: 31.25rem; - text-align: center; - } -} - -@media (min-width: 43.75em) and (max-width: 62.5em) { - div#menu > a { - margin: 0.3125rem 0; - font-size: 0.875rem; - } - - input#search { - font-size: 0.875rem; - } -} - -@media (max-width: 43.75em) { - body { - font-size: 0.9375rem; - } - - div#playground { - left: 0; - right: 0; - } - - pre, - code { - font-size: 0.866rem; - } - - div#page > .container { - padding: 0 0.625rem; - } - - div#topbar { - height: auto; - padding: 0.625rem; - } - - div#topbar > .container { - padding: 0; - } - - #heading-wide { - display: block; - } - #heading-narrow { - display: none; - } - - .top-heading { - float: none; - display: inline-block; - padding: 0.75rem; - } - - div#menu { - padding: 0; - min-width: 0; - text-align: left; - float: left; - } - - div#menu > a { - display: block; - margin-left: 0; - margin-right: 0; - } - - #menu .search-box { - display: flex; - width: 100%; - } - - #menu-button { - display: inline-block; - } - - p, - pre, - ul, - ol { - margin: 0.625rem; - } - - .pkg-synopsis { - display: none; - } - - img.gopher { - display: none; - } -} - -@media (max-width: 30em) { - #heading-wide { - display: none; - } - #heading-narrow { - display: block; - } -} - -@media print { - pre { - background: #fff; - border: 0.0625rem solid #bbb; - white-space: pre-wrap; - } -} diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html deleted file mode 100644 index 8977ee0c..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/database/index.html +++ /dev/null @@ -1,681 +0,0 @@ - - - - - - - - database - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - - - -
    - - - -
    -
    - - -

    - Package database - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/database"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - -
    Variables
    - - - - -
    type Batch
    - - - -
        func (b *Batch) Close() error
    - - -
        func (b *Batch) Delete(key []byte) error
    - - -
        func (b *Batch) Set(key, value []byte) error
    - - -
        func (b *Batch) Write() error
    - - -
        func (b *Batch) WriteSync() error
    - - - -
    type BatchOp
    - - - - -
    type Database
    - - -
        func New(db rpcdb.DatabaseClient) *Database
    - - - -
        func (db *Database) Close() error
    - - -
        func (db *Database) Delete(key []byte) error
    - - -
        func (db *Database) DeleteSync(key []byte) error
    - - -
        func (db *Database) Get(key []byte) ([]byte, error)
    - - -
        func (db *Database) Has(key []byte) (bool, error)
    - - -
        func (db *Database) Iterator(start, end []byte) (dbm.Iterator, error)
    - - -
        func (db *Database) NewBatch() dbm.Batch
    - - -
        func (db *Database) Print() error
    - - -
        func (db *Database) ReverseIterator(start, end []byte) (dbm.Iterator, error)
    - - -
        func (db *Database) Set(key []byte, value []byte) error
    - - -
        func (db *Database) SetSync(key []byte, value []byte) error
    - - -
        func (db *Database) Stats() map[string]string
    - - - -
    type Iterator
    - - - -
        func (it *Iterator) Close() error
    - - -
        func (it *Iterator) Domain() (start []byte, end []byte)
    - - -
        func (it *Iterator) Error() error
    - - -
        func (it *Iterator) Key() (key []byte)
    - - -
        func (it *Iterator) Next()
    - - -
        func (it *Iterator) Valid() bool
    - - -
        func (it *Iterator) Value() (value []byte)
    - - - -
    -
    - - - - -

    Package files

    -

    - - - batch.go - - database.go - - error.go - - iterator.go - - -

    - -
    -
    - - - - - -

    Variables

    - - -
    var (
    -    ErrClosed      = errors.New("closed")
    -    ErrNotFound    = errors.New("not found")
    -    ErrEnumToError = map[rpcdb.Error]error{
    -        rpcdb.Error_ERROR_CLOSED:    ErrClosed,
    -        rpcdb.Error_ERROR_NOT_FOUND: nil,
    -    }
    -)
    - - - - - - -

    type Batch - - - -

    - -
    type Batch struct {
    -    Ops []BatchOp
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Batch) Close - - - -

    -
    func (b *Batch) Close() error
    - - - - - - -

    func (*Batch) Delete - - - -

    -
    func (b *Batch) Delete(key []byte) error
    - - - - - - -

    func (*Batch) Set - - - -

    -
    func (b *Batch) Set(key, value []byte) error
    - - - - - - -

    func (*Batch) Write - - - -

    -
    func (b *Batch) Write() error
    - - - - - - -

    func (*Batch) WriteSync - - - -

    -
    func (b *Batch) WriteSync() error
    - - - - - - - - -

    type BatchOp - - - -

    - -
    type BatchOp struct {
    -    Key    []byte
    -    Value  []byte
    -    Delete bool
    -}
    -
    - - - - - - - - - - - - - - - -

    type Database - - - -

    - -
    type Database struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func New - - - -

    -
    func New(db rpcdb.DatabaseClient) *Database
    - - - - - - - -

    func (*Database) Close - - - -

    -
    func (db *Database) Close() error
    - - - - - - -

    func (*Database) Delete - - - -

    -
    func (db *Database) Delete(key []byte) error
    - - - - - - -

    func (*Database) DeleteSync - - - -

    -
    func (db *Database) DeleteSync(key []byte) error
    - - - - - - -

    func (*Database) Get - - - -

    -
    func (db *Database) Get(key []byte) ([]byte, error)
    - - - - - - -

    func (*Database) Has - - - -

    -
    func (db *Database) Has(key []byte) (bool, error)
    - - - - - - -

    func (*Database) Iterator - - - -

    -
    func (db *Database) Iterator(start, end []byte) (dbm.Iterator, error)
    - - - - - - -

    func (*Database) NewBatch - - - -

    -
    func (db *Database) NewBatch() dbm.Batch
    - - - - - - -

    func (*Database) Print - - - -

    -
    func (db *Database) Print() error
    - - - - - - -

    func (*Database) ReverseIterator - - - -

    -
    func (db *Database) ReverseIterator(start, end []byte) (dbm.Iterator, error)
    - - - - - - -

    func (*Database) Set - - - -

    -
    func (db *Database) Set(key []byte, value []byte) error
    - - - - - - -

    func (*Database) SetSync - - - -

    -
    func (db *Database) SetSync(key []byte, value []byte) error
    - - - - - - -

    func (*Database) Stats - - - -

    -
    func (db *Database) Stats() map[string]string
    - - - - - - - - -

    type Iterator - - - -

    - -
    type Iterator struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Iterator) Close - - - -

    -
    func (it *Iterator) Close() error
    - - - - - - -

    func (*Iterator) Domain - - - -

    -
    func (it *Iterator) Domain() (start []byte, end []byte)
    - - - - - - -

    func (*Iterator) Error - - - -

    -
    func (it *Iterator) Error() error
    - - - - - - -

    func (*Iterator) Key - - - -

    -
    func (it *Iterator) Key() (key []byte)
    - - - - - - -

    func (*Iterator) Next - - - -

    -
    func (it *Iterator) Next()
    - - - - - - -

    func (*Iterator) Valid - - - -

    -
    func (it *Iterator) Valid() bool
    - - - - - - -

    func (*Iterator) Value - - - -

    -
    func (it *Iterator) Value() (value []byte)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html deleted file mode 100644 index f610765a..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - /src/github.com/consideritdone/landslidevm/example - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - - - -
    - - - -
    -
    - - -

    - Directory /src/github.com/consideritdone/landslidevm/example - -

    - - - - - - - - - - - - - - - - - - - -
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - kvstore - - -
    - wasm - - -
    - - - - - - - - - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html deleted file mode 100644 index 7d9d4352..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/kvstore/index.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - kvstore - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Command kvstore - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html deleted file mode 100644 index f015960f..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/example/wasm/index.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - - - wasm - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Command wasm - -

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html deleted file mode 100644 index 67dfca38..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/grpcutils/index.html +++ /dev/null @@ -1,671 +0,0 @@ - - - - - - - - grpcutils - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package grpcutils - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/grpcutils"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - -
    Variables
    - - - -
    func Dial(addr string, opts ...DialOption) (*grpc.ClientConn, error)
    - - -
    func EnsureValidResponseCode(code int) int
    - - -
    func Errorf(code int, tmpl string, args ...interface{}) error
    - - -
    func GetGRPCErrorFromHTTPResponse(resp *httppb.HandleSimpleHTTPResponse) error
    - - -
    func GetHTTPHeader(hs http.Header) []*httppb.Element
    - - -
    func GetHTTPResponseFromError(err error) (*httppb.HandleSimpleHTTPResponse, bool)
    - - -
    func MergeHTTPHeader(hs []*httppb.Element, header http.Header)
    - - -
    func NewListener() (net.Listener, error)
    - - -
    func NewServer(opts ...ServerOption) *grpc.Server
    - - -
    func Serve(listener net.Listener, grpcServer *grpc.Server)
    - - -
    func TimestampAsTime(ts *tspb.Timestamp) (time.Time, error)
    - - -
    func TimestampFromTime(time time.Time) *tspb.Timestamp
    - - - -
    type DialOption
    - - -
        func WithChainStreamInterceptor(interceptors ...grpc.StreamClientInterceptor) DialOption
    - - -
        func WithChainUnaryInterceptor(interceptors ...grpc.UnaryClientInterceptor) DialOption
    - - - - -
    type DialOptions
    - - - - -
    type ServerCloser
    - - - -
        func (s *ServerCloser) Add(server *grpc.Server)
    - - -
        func (s *ServerCloser) GracefulStop()
    - - -
        func (s *ServerCloser) Stop()
    - - - -
    type ServerOption
    - - -
        func WithStreamInterceptor(streamInterceptor grpc.StreamServerInterceptor) ServerOption
    - - -
        func WithUnaryInterceptor(unaryInterceptor grpc.UnaryServerInterceptor) ServerOption
    - - - - -
    type ServerOptions
    - - - - -
    -
    - - - - -

    Package files

    -

    - - - client.go - - server.go - - server_closer.go - - util.go - - -

    - -
    -
    - - - - - -

    Variables

    - - -
    var DefaultDialOptions = []grpc.DialOption{
    -    grpc.WithDefaultCallOptions(
    -        grpc.MaxCallRecvMsgSize(math.MaxInt),
    -        grpc.MaxCallSendMsgSize(math.MaxInt),
    -        grpc.WaitForReady(defaultWaitForReady),
    -    ),
    -    grpc.WithKeepaliveParams(keepalive.ClientParameters{
    -        Time:                defaultClientKeepAliveTime,
    -        Timeout:             defaultClientKeepAliveTimeOut,
    -        PermitWithoutStream: defaultPermitWithoutStream,
    -    }),
    -    grpc.WithTransportCredentials(insecure.NewCredentials()),
    -}
    - - -
    var DefaultServerOptions = []grpc.ServerOption{
    -    grpc.MaxRecvMsgSize(math.MaxInt),
    -    grpc.MaxSendMsgSize(math.MaxInt),
    -    grpc.MaxConcurrentStreams(math.MaxUint32),
    -    grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
    -        MinTime:             defaultServerKeepAliveMinTime,
    -        PermitWithoutStream: defaultPermitWithoutStream,
    -    }),
    -    grpc.KeepaliveParams(keepalive.ServerParameters{
    -        Time:    defaultServerKeepAliveInterval,
    -        Timeout: defaultServerKeepAliveTimeout,
    -    }),
    -}
    - - - - - -

    func Dial - - - -

    -
    func Dial(addr string, opts ...DialOption) (*grpc.ClientConn, error)
    -

    gRPC clients created from this ClientConn will wait forever for the Server to -become Ready. If you desire a dial timeout ensure context is properly plumbed -to the client and use context.WithTimeout. -

    Dial returns a gRPC ClientConn with the dial options as defined by -DefaultDialOptions. DialOption can also optionally be passed. - - - - - - - -

    func EnsureValidResponseCode - - - -

    -
    func EnsureValidResponseCode(code int) int
    -

    EnsureValidResponseCode ensures that the response code is valid otherwise it returns 500. - - - - - - - -

    func Errorf - - - -

    -
    func Errorf(code int, tmpl string, args ...interface{}) error
    - - - - - - - -

    func GetGRPCErrorFromHTTPResponse - - - -

    -
    func GetGRPCErrorFromHTTPResponse(resp *httppb.HandleSimpleHTTPResponse) error
    -

    GetGRPCErrorFromHTTPRespone takes an HandleSimpleHTTPResponse as input and returns a gRPC error. - - - - - - - -

    func GetHTTPHeader - - - -

    -
    func GetHTTPHeader(hs http.Header) []*httppb.Element
    -

    GetHTTPHeader takes an http.Header as input and returns a slice of Header. - - - - - - - -

    func GetHTTPResponseFromError - - - -

    -
    func GetHTTPResponseFromError(err error) (*httppb.HandleSimpleHTTPResponse, bool)
    -

    GetHTTPResponseFromError takes an gRPC error as input and returns a gRPC -HandleSimpleHTTPResponse. - - - - - - - -

    func MergeHTTPHeader - - - -

    -
    func MergeHTTPHeader(hs []*httppb.Element, header http.Header)
    -

    MergeHTTPHeader takes a slice of Header and merges with http.Header map. - - - - - - - -

    func NewListener - - - -

    -
    func NewListener() (net.Listener, error)
    -

    NewListener returns a TCP listener listening against the next available port -on the system bound to localhost. - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(opts ...ServerOption) *grpc.Server
    -

    NewServer will return a gRPC server with server options as defined by -DefaultServerOptions. ServerOption can also optionally be passed. - - - - - - - -

    func Serve - - - -

    -
    func Serve(listener net.Listener, grpcServer *grpc.Server)
    -

    Serve will start a gRPC server and block until it errors or is shutdown. - - - - - - - -

    func TimestampAsTime - - - -

    -
    func TimestampAsTime(ts *tspb.Timestamp) (time.Time, error)
    -

    TimestampAsTime validates timestamppb timestamp and returns time.Time. - - - - - - - -

    func TimestampFromTime - - - -

    -
    func TimestampFromTime(time time.Time) *tspb.Timestamp
    -

    TimestampFromTime converts time.Time to a timestamppb timestamp. - - - - - - - - -

    type DialOption - - - -

    - -
    type DialOption func(*DialOptions)
    - - - - - - - - - - - -

    func WithChainStreamInterceptor - - - -

    -
    func WithChainStreamInterceptor(interceptors ...grpc.StreamClientInterceptor) DialOption
    -

    WithChainStreamInterceptor takes a list of stream client interceptors which -are added to the dial options. - - - - - -

    func WithChainUnaryInterceptor - - - -

    -
    func WithChainUnaryInterceptor(interceptors ...grpc.UnaryClientInterceptor) DialOption
    -

    WithChainUnaryInterceptor takes a list of unary client interceptors which -are added to the dial options. - - - - - - - - - -

    type DialOptions - - - -

    -

    DialOptions are options which can be applied to a gRPC client in addition to -the defaults set by DefaultDialOptions. - -

    type DialOptions struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - - - -

    type ServerCloser - - - -

    - -
    type ServerCloser struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ServerCloser) Add - - - -

    -
    func (s *ServerCloser) Add(server *grpc.Server)
    - - - - - - -

    func (*ServerCloser) GracefulStop - - - -

    -
    func (s *ServerCloser) GracefulStop()
    - - - - - - -

    func (*ServerCloser) Stop - - - -

    -
    func (s *ServerCloser) Stop()
    - - - - - - - - -

    type ServerOption - - - -

    -

    ServerOption are options which can be applied to a gRPC server in addition to -the defaults set by DefaultServerOPtions. - -

    type ServerOption func(*ServerOptions)
    - - - - - - - - - - - -

    func WithStreamInterceptor - - - -

    -
    func WithStreamInterceptor(streamInterceptor grpc.StreamServerInterceptor) ServerOption
    -

    WithStreamInterceptor adds a single stream interceptor to the gRPC server -options. - - - - - -

    func WithUnaryInterceptor - - - -

    -
    func WithUnaryInterceptor(unaryInterceptor grpc.UnaryServerInterceptor) ServerOption
    -

    WithUnaryInterceptor adds a single unary interceptor to the gRPC server -options. - - - - - - - - - -

    type ServerOptions - - - -

    - -
    type ServerOptions struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html deleted file mode 100644 index 09d6965b..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/conn/index.html +++ /dev/null @@ -1,468 +0,0 @@ - - - - - - - - conn - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package conn - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/http/conn"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - - -

    type Client - - - -

    -

    Client is an implementation of a connection that talks over RPC. - -

    type Client struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewClient - - - -

    -
    func NewClient(client connpb.ConnClient, local, remote net.Addr, toClose ...io.Closer) *Client
    -

    NewClient returns a connection connected to a remote connection - - - - - - - -

    func (*Client) Close - - - -

    -
    func (c *Client) Close() error
    - - - - - - -

    func (*Client) LocalAddr - - - -

    -
    func (c *Client) LocalAddr() net.Addr
    - - - - - - -

    func (*Client) Read - - - -

    -
    func (c *Client) Read(p []byte) (int, error)
    - - - - - - -

    func (*Client) RemoteAddr - - - -

    -
    func (c *Client) RemoteAddr() net.Addr
    - - - - - - -

    func (*Client) SetDeadline - - - -

    -
    func (c *Client) SetDeadline(t time.Time) error
    - - - - - - -

    func (*Client) SetReadDeadline - - - -

    -
    func (c *Client) SetReadDeadline(t time.Time) error
    - - - - - - -

    func (*Client) SetWriteDeadline - - - -

    -
    func (c *Client) SetWriteDeadline(t time.Time) error
    - - - - - - -

    func (*Client) Write - - - -

    -
    func (c *Client) Write(b []byte) (int, error)
    - - - - - - - - -

    type Server - - - -

    -

    Server is an http.Conn that is managed over RPC. - -

    type Server struct {
    -    connpb.UnsafeConnServer
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(conn net.Conn, closer *grpcutils.ServerCloser) *Server
    -

    NewServer returns an http.Conn managed remotely - - - - - - - -

    func (*Server) Close - - - -

    -
    func (s *Server) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) Read - - - -

    -
    func (s *Server) Read(_ context.Context, req *connpb.ReadRequest) (*connpb.ReadResponse, error)
    - - - - - - -

    func (*Server) SetDeadline - - - -

    -
    func (s *Server) SetDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) SetReadDeadline - - - -

    -
    func (s *Server) SetReadDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) SetWriteDeadline - - - -

    -
    func (s *Server) SetWriteDeadline(_ context.Context, req *connpb.SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) Write - - - -

    -
    func (s *Server) Write(_ context.Context, req *connpb.WriteRequest) (*connpb.WriteResponse, error)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html deleted file mode 100644 index 1c9ab126..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/index.html +++ /dev/null @@ -1,478 +0,0 @@ - - - - - - - - http - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package http - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/http"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - - -

    type Client - - - -

    -

    Client is an http.Handler that talks over RPC. - -

    type Client struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewClient - - - -

    -
    func NewClient(client httppb.HTTPClient) *Client
    -

    NewClient returns an HTTP handler database instance connected to a remote -HTTP handler instance - - - - - - - -

    func (*Client) ServeHTTP - - - -

    -
    func (c *Client) ServeHTTP(w http.ResponseWriter, r *http.Request)
    - - - - - - - - -

    type ResponseWriter - - - -

    - -
    type ResponseWriter struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ResponseWriter) Body - - - -

    -
    func (w *ResponseWriter) Body() *bytes.Buffer
    - - - - - - -

    func (*ResponseWriter) Header - - - -

    -
    func (w *ResponseWriter) Header() http.Header
    - - - - - - -

    func (*ResponseWriter) StatusCode - - - -

    -
    func (w *ResponseWriter) StatusCode() int
    - - - - - - -

    func (*ResponseWriter) Write - - - -

    -
    func (w *ResponseWriter) Write(buf []byte) (int, error)
    - - - - - - -

    func (*ResponseWriter) WriteHeader - - - -

    -
    func (w *ResponseWriter) WriteHeader(code int)
    - - - - - - - - -

    type Server - - - -

    -

    Server is an http.Handler that is managed over RPC. - -

    type Server struct {
    -    httppb.UnsafeHTTPServer
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(handler http.Handler) *Server
    -

    NewServer returns an http.Handler instance managed remotely - - - - - - - -

    func (*Server) Handle - - - -

    -
    func (s *Server) Handle(ctx context.Context, req *httppb.HTTPRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) HandleSimple - - - -

    -
    func (s *Server) HandleSimple(ctx context.Context, r *httppb.HandleSimpleHTTPRequest) (*httppb.HandleSimpleHTTPResponse, error)
    -

    HandleSimple handles http requests over http2 using a simple request response model. -Websockets are not supported. Based on https://www.weave.works/blog/turtles-way-http-grpc/ - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - conn - - -
    - reader - - -
    - responsewriter - - -
    - writer - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html deleted file mode 100644 index fb825af2..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/reader/index.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - reader - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package reader - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/http/reader"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - - -

    type Client - - - -

    -

    Client is a reader that talks over RPC. - -

    type Client struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewClient - - - -

    -
    func NewClient(client readerpb.ReaderClient) *Client
    -

    NewClient returns a reader connected to a remote reader - - - - - - - -

    func (*Client) Read - - - -

    -
    func (c *Client) Read(p []byte) (int, error)
    - - - - - - - - -

    type Server - - - -

    -

    Server is an io.Reader that is managed over RPC. - -

    type Server struct {
    -    readerpb.UnsafeReaderServer
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(reader io.Reader) *Server
    -

    NewServer returns an io.Reader instance managed remotely - - - - - - - -

    func (*Server) Read - - - -

    -
    func (s *Server) Read(_ context.Context, req *readerpb.ReadRequest) (*readerpb.ReadResponse, error)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html deleted file mode 100644 index 323d506c..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/responsewriter/index.html +++ /dev/null @@ -1,417 +0,0 @@ - - - - - - - - responsewriter - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package responsewriter - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/http/responsewriter"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - -

    func NewLockedWriter - - - -

    -
    func NewLockedWriter(w http.ResponseWriter) http.ResponseWriter
    - - - - - - - - -

    type Client - - - -

    -

    Client is an http.ResponseWriter that talks over RPC. - -

    type Client struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewClient - - - -

    -
    func NewClient(header http.Header, client responsewriterpb.WriterClient) *Client
    -

    NewClient returns a response writer connected to a remote response writer - - - - - - - -

    func (*Client) Flush - - - -

    -
    func (c *Client) Flush()
    - - - - - - -

    func (*Client) Header - - - -

    -
    func (c *Client) Header() http.Header
    - - - - - - -

    func (*Client) Hijack - - - -

    -
    func (c *Client) Hijack() (net.Conn, *bufio.ReadWriter, error)
    - - - - - - -

    func (*Client) Write - - - -

    -
    func (c *Client) Write(payload []byte) (int, error)
    - - - - - - -

    func (*Client) WriteHeader - - - -

    -
    func (c *Client) WriteHeader(statusCode int)
    - - - - - - - - -

    type Server - - - -

    -

    Server is an http.ResponseWriter that is managed over RPC. - -

    type Server struct {
    -    responsewriterpb.UnsafeWriterServer
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(writer http.ResponseWriter) *Server
    -

    NewServer returns an http.ResponseWriter instance managed remotely - - - - - - - -

    func (*Server) Flush - - - -

    -
    func (s *Server) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - - - - - -

    func (*Server) Hijack - - - -

    -
    func (s *Server) Hijack(context.Context, *emptypb.Empty) (*responsewriterpb.HijackResponse, error)
    - - - - - - -

    func (*Server) Write - - - -

    -
    func (s *Server) Write(
    -    _ context.Context,
    -    req *responsewriterpb.WriteRequest,
    -) (*responsewriterpb.WriteResponse, error)
    - - - - - - -

    func (*Server) WriteHeader - - - -

    -
    func (s *Server) WriteHeader(
    -    _ context.Context,
    -    req *responsewriterpb.WriteHeaderRequest,
    -) (*emptypb.Empty, error)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html deleted file mode 100644 index fd92bccc..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/http/writer/index.html +++ /dev/null @@ -1,288 +0,0 @@ - - - - - - - - writer - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package writer - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/http/writer"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - - -

    type Client - - - -

    -

    Client is an io.Writer that talks over RPC. - -

    type Client struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewClient - - - -

    -
    func NewClient(client writerpb.WriterClient) *Client
    -

    NewClient returns a writer connected to a remote writer - - - - - - - -

    func (*Client) Write - - - -

    -
    func (c *Client) Write(p []byte) (int, error)
    - - - - - - - - -

    type Server - - - -

    -

    Server is an http.Handler that is managed over RPC. - -

    type Server struct {
    -    writerpb.UnsafeWriterServer
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewServer - - - -

    -
    func NewServer(writer io.Writer) *Server
    -

    NewServer returns an http.Handler instance managed remotely - - - - - - - -

    func (*Server) Write - - - -

    -
    func (s *Server) Write(_ context.Context, req *writerpb.WriteRequest) (*writerpb.WriteResponse, error)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html deleted file mode 100644 index c598fb27..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/index.html +++ /dev/null @@ -1,649 +0,0 @@ - - - - - - - - landslidevm - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package landslidevm - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const (
    -    // EngineAddressKey address of the runtime engine server.
    -    EngineAddressKey = "AVALANCHE_VM_RUNTIME_ENGINE_ADDR"
    -)
    - - - -

    Variables

    - - -
    var (
    -    DefaultServerOptions = []grpc.ServerOption{
    -        grpc.MaxRecvMsgSize(defaultMaxRecvMsgSize),
    -        grpc.MaxSendMsgSize(math.MaxInt),
    -        grpc.MaxConcurrentStreams(defaultMaxConcurrentStreams),
    -        grpc.KeepaliveEnforcementPolicy(keepalive.EnforcementPolicy{
    -            MinTime:             defaultServerKeepAliveMinTime,
    -            PermitWithoutStream: defaultPermitWithoutStream,
    -        }),
    -        grpc.KeepaliveParams(keepalive.ServerParameters{
    -            Time:    defaultServerKeepAliveInterval,
    -            Timeout: defaultServerKeepAliveTimeout,
    -        }),
    -    }
    -)
    - - - - - -

    func NewLocalAppCreator - - - -

    -
    func NewLocalAppCreator(app vm.Application) vm.AppCreator
    - - - - - - - -

    func Serve - - - -

    -
    func Serve[T interface {
    -    vm.AppCreator | *vm.LandslideVM
    -}](ctx context.Context, subject T, options ...grpc.ServerOption) error
    - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - database - - -
    - example - - -
    - kvstore - - -
    - wasm - - -
    - grpcutils - - -
    - http - - -
    - conn - - -
    - reader - - -
    - responsewriter - - -
    - writer - - -
    - jsonrpc - - -
    - proto - - -
    - http - - -
    - responsewriter - - -
    - io - - -
    - reader - - -
    - writer - - -
    - messenger - - -
    - net - - -
    - conn - - -
    - rpcdb - - -
    - vm - - -
    - runtime - - -
    - utils - - -
    - cache - - -
    - cb58 - - -
    - hashing - - Package hashing is a generated GoMock package. -
    - ids - - -
    - linkedhashmap - - -
    - wrappers - - -
    - vm - - -
    - types - - -
    - block - - -
    - closer - - -
    - commit - - -
    - state - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html deleted file mode 100644 index 6472d8c4..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/jsonrpc/index.html +++ /dev/null @@ -1,308 +0,0 @@ - - - - - - - - jsonrpc - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package jsonrpc - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/jsonrpc"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - -

    func RegisterRPCFuncs - - - -

    -
    func RegisterRPCFuncs(mux *http.ServeMux, funcMap map[string]*RPCFunc, logger log.Logger)
    -

    RegisterRPCFuncs adds a route for each function in the funcMap, as well as -general jsonrpc and websocket handlers for all functions. "result" is the -interface on which the result objects are registered, and is popualted with -every RPCResponse - - - - - - - - -

    type Option - - - -

    - -
    type Option func(*RPCFunc)
    - - - - - - - - - - - -

    func Cacheable - - - -

    -
    func Cacheable(noCacheDefArgs ...string) Option
    -

    Cacheable enables returning a cache control header from RPC functions to -which it is applied. -

    `noCacheDefArgs` is a list of argument names that, if omitted or set to -their defaults when calling the RPC function, will skip the response -caching. - - - - - -

    func Ws - - - -

    -
    func Ws() Option
    -

    Ws enables WebSocket communication. - - - - - - - - - -

    type RPCFunc - - - -

    -

    RPCFunc contains the introspected type information for a function - -

    type RPCFunc struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewRPCFunc - - - -

    -
    func NewRPCFunc(f interface{}, args string, options ...Option) *RPCFunc
    -

    NewRPCFunc wraps a function for introspection. -f is the function, args are comma separated argument names - - - - - -

    func NewWSRPCFunc - - - -

    -
    func NewWSRPCFunc(f interface{}, args string, options ...Option) *RPCFunc
    -

    NewWSRPCFunc wraps a function for introspection and use in the websockets. - - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html deleted file mode 100644 index 7694d015..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/index.html +++ /dev/null @@ -1,2412 +0,0 @@ - - - - - - - - http - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package http - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/http"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterHTTPServer(s grpc.ServiceRegistrar, srv HTTPServer)
    - - - -
    type Certificates
    - - - -
        func (*Certificates) Descriptor() ([]byte, []int)
    - - -
        func (x *Certificates) GetCert() [][]byte
    - - -
        func (*Certificates) ProtoMessage()
    - - -
        func (x *Certificates) ProtoReflect() protoreflect.Message
    - - -
        func (x *Certificates) Reset()
    - - -
        func (x *Certificates) String() string
    - - - -
    type ConnectionState
    - - - -
        func (*ConnectionState) Descriptor() ([]byte, []int)
    - - -
        func (x *ConnectionState) GetCipherSuite() uint32
    - - -
        func (x *ConnectionState) GetDidResume() bool
    - - -
        func (x *ConnectionState) GetHandshakeComplete() bool
    - - -
        func (x *ConnectionState) GetNegotiatedProtocol() string
    - - -
        func (x *ConnectionState) GetOcspResponse() []byte
    - - -
        func (x *ConnectionState) GetPeerCertificates() *Certificates
    - - -
        func (x *ConnectionState) GetServerName() string
    - - -
        func (x *ConnectionState) GetSignedCertificateTimestamps() [][]byte
    - - -
        func (x *ConnectionState) GetVerifiedChains() []*Certificates
    - - -
        func (x *ConnectionState) GetVersion() uint32
    - - -
        func (*ConnectionState) ProtoMessage()
    - - -
        func (x *ConnectionState) ProtoReflect() protoreflect.Message
    - - -
        func (x *ConnectionState) Reset()
    - - -
        func (x *ConnectionState) String() string
    - - - -
    type Element
    - - - -
        func (*Element) Descriptor() ([]byte, []int)
    - - -
        func (x *Element) GetKey() string
    - - -
        func (x *Element) GetValues() []string
    - - -
        func (*Element) ProtoMessage()
    - - -
        func (x *Element) ProtoReflect() protoreflect.Message
    - - -
        func (x *Element) Reset()
    - - -
        func (x *Element) String() string
    - - - -
    type HTTPClient
    - - -
        func NewHTTPClient(cc grpc.ClientConnInterface) HTTPClient
    - - - - -
    type HTTPRequest
    - - - -
        func (*HTTPRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *HTTPRequest) GetRequest() *Request
    - - -
        func (x *HTTPRequest) GetResponseWriter() *ResponseWriter
    - - -
        func (*HTTPRequest) ProtoMessage()
    - - -
        func (x *HTTPRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *HTTPRequest) Reset()
    - - -
        func (x *HTTPRequest) String() string
    - - - -
    type HTTPServer
    - - - - -
    type HandleSimpleHTTPRequest
    - - - -
        func (*HandleSimpleHTTPRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *HandleSimpleHTTPRequest) GetBody() []byte
    - - -
        func (x *HandleSimpleHTTPRequest) GetHeaders() []*Element
    - - -
        func (x *HandleSimpleHTTPRequest) GetMethod() string
    - - -
        func (x *HandleSimpleHTTPRequest) GetUrl() string
    - - -
        func (*HandleSimpleHTTPRequest) ProtoMessage()
    - - -
        func (x *HandleSimpleHTTPRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *HandleSimpleHTTPRequest) Reset()
    - - -
        func (x *HandleSimpleHTTPRequest) String() string
    - - - -
    type HandleSimpleHTTPResponse
    - - - -
        func (*HandleSimpleHTTPResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *HandleSimpleHTTPResponse) GetBody() []byte
    - - -
        func (x *HandleSimpleHTTPResponse) GetCode() int32
    - - -
        func (x *HandleSimpleHTTPResponse) GetHeaders() []*Element
    - - -
        func (*HandleSimpleHTTPResponse) ProtoMessage()
    - - -
        func (x *HandleSimpleHTTPResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *HandleSimpleHTTPResponse) Reset()
    - - -
        func (x *HandleSimpleHTTPResponse) String() string
    - - - -
    type Request
    - - - -
        func (*Request) Descriptor() ([]byte, []int)
    - - -
        func (x *Request) GetBody() []byte
    - - -
        func (x *Request) GetContentLength() int64
    - - -
        func (x *Request) GetForm() []*Element
    - - -
        func (x *Request) GetHeader() []*Element
    - - -
        func (x *Request) GetHost() string
    - - -
        func (x *Request) GetMethod() string
    - - -
        func (x *Request) GetPostForm() []*Element
    - - -
        func (x *Request) GetProto() string
    - - -
        func (x *Request) GetProtoMajor() int32
    - - -
        func (x *Request) GetProtoMinor() int32
    - - -
        func (x *Request) GetRemoteAddr() string
    - - -
        func (x *Request) GetRequestUri() string
    - - -
        func (x *Request) GetTls() *ConnectionState
    - - -
        func (x *Request) GetTrailerKeys() []string
    - - -
        func (x *Request) GetTransferEncoding() []string
    - - -
        func (x *Request) GetUrl() *URL
    - - -
        func (*Request) ProtoMessage()
    - - -
        func (x *Request) ProtoReflect() protoreflect.Message
    - - -
        func (x *Request) Reset()
    - - -
        func (x *Request) String() string
    - - - -
    type ResponseWriter
    - - - -
        func (*ResponseWriter) Descriptor() ([]byte, []int)
    - - -
        func (x *ResponseWriter) GetHeader() []*Element
    - - -
        func (x *ResponseWriter) GetServerAddr() string
    - - -
        func (*ResponseWriter) ProtoMessage()
    - - -
        func (x *ResponseWriter) ProtoReflect() protoreflect.Message
    - - -
        func (x *ResponseWriter) Reset()
    - - -
        func (x *ResponseWriter) String() string
    - - - -
    type URL
    - - - -
        func (*URL) Descriptor() ([]byte, []int)
    - - -
        func (x *URL) GetForceQuery() bool
    - - -
        func (x *URL) GetFragment() string
    - - -
        func (x *URL) GetHost() string
    - - -
        func (x *URL) GetOpaque() string
    - - -
        func (x *URL) GetPath() string
    - - -
        func (x *URL) GetRawPath() string
    - - -
        func (x *URL) GetRawQuery() string
    - - -
        func (x *URL) GetScheme() string
    - - -
        func (x *URL) GetUser() *Userinfo
    - - -
        func (*URL) ProtoMessage()
    - - -
        func (x *URL) ProtoReflect() protoreflect.Message
    - - -
        func (x *URL) Reset()
    - - -
        func (x *URL) String() string
    - - - -
    type UnimplementedHTTPServer
    - - - -
        func (UnimplementedHTTPServer) Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedHTTPServer) HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    - - - -
    type UnsafeHTTPServer
    - - - - -
    type Userinfo
    - - - -
        func (*Userinfo) Descriptor() ([]byte, []int)
    - - -
        func (x *Userinfo) GetPassword() string
    - - -
        func (x *Userinfo) GetPasswordSet() bool
    - - -
        func (x *Userinfo) GetUsername() string
    - - -
        func (*Userinfo) ProtoMessage()
    - - -
        func (x *Userinfo) ProtoReflect() protoreflect.Message
    - - -
        func (x *Userinfo) Reset()
    - - -
        func (x *Userinfo) String() string
    - - - -
    -
    - - - - -

    Package files

    -

    - - - http.pb.go - - http_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    HTTP_Handle_FullMethodName       = "/http.HTTP/Handle"
    -    HTTP_HandleSimple_FullMethodName = "/http.HTTP/HandleSimple"
    -)
    - - - -

    Variables

    - - -
    var File_http_http_proto protoreflect.FileDescriptor
    - -

    HTTP_ServiceDesc is the grpc.ServiceDesc for HTTP service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var HTTP_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "http.HTTP",
    -    HandlerType: (*HTTPServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Handle",
    -            Handler:    _HTTP_Handle_Handler,
    -        },
    -        {
    -            MethodName: "HandleSimple",
    -            Handler:    _HTTP_HandleSimple_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "http/http.proto",
    -}
    - - - - - -

    func RegisterHTTPServer - - - -

    -
    func RegisterHTTPServer(s grpc.ServiceRegistrar, srv HTTPServer)
    - - - - - - - - -

    type Certificates - - - -

    - -
    type Certificates struct {
    -
    -    // cert is the certificate body
    -    Cert [][]byte `protobuf:"bytes,1,rep,name=cert,proto3" json:"cert,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Certificates) Descriptor - - - -

    -
    func (*Certificates) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Certificates.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Certificates) GetCert - - - -

    -
    func (x *Certificates) GetCert() [][]byte
    - - - - - - -

    func (*Certificates) ProtoMessage - - - -

    -
    func (*Certificates) ProtoMessage()
    - - - - - - -

    func (*Certificates) ProtoReflect - - - -

    -
    func (x *Certificates) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Certificates) Reset - - - -

    -
    func (x *Certificates) Reset()
    - - - - - - -

    func (*Certificates) String - - - -

    -
    func (x *Certificates) String() string
    - - - - - - - - -

    type ConnectionState - - - -

    -

    ConnectionState is tls.ConnectionState see: https://pkg.go.dev/crypto/tls#ConnectionState - -

    type ConnectionState struct {
    -
    -    // version is the TLS version used by the connection (e.g. VersionTLS12)
    -    Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
    -    // handshake_complete is true if the handshake has concluded
    -    HandshakeComplete bool `protobuf:"varint,2,opt,name=handshake_complete,json=handshakeComplete,proto3" json:"handshake_complete,omitempty"`
    -    // did_resume is true if this connection was successfully resumed from a
    -    // previous session with a session ticket or similar mechanism
    -    DidResume bool `protobuf:"varint,3,opt,name=did_resume,json=didResume,proto3" json:"did_resume,omitempty"`
    -    // cipher_suite is the cipher suite negotiated for the connection
    -    CipherSuite uint32 `protobuf:"varint,4,opt,name=cipher_suite,json=cipherSuite,proto3" json:"cipher_suite,omitempty"`
    -    // negotiated_protocol is the application protocol negotiated with ALPN
    -    NegotiatedProtocol string `protobuf:"bytes,5,opt,name=negotiated_protocol,json=negotiatedProtocol,proto3" json:"negotiated_protocol,omitempty"`
    -    // server_name is the value of the Server Name Indication extension sent by
    -    // the client
    -    ServerName string `protobuf:"bytes,6,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
    -    // peer_certificates are the parsed certificates sent by the peer, in the
    -    // order in which they were sent
    -    PeerCertificates *Certificates `protobuf:"bytes,7,opt,name=peer_certificates,json=peerCertificates,proto3" json:"peer_certificates,omitempty"`
    -    // verified_chains is a list of one or more chains where the first element is
    -    // PeerCertificates[0] and the last element is from Config.RootCAs (on the
    -    // client side) or Config.ClientCAs (on the server side).
    -    VerifiedChains []*Certificates `protobuf:"bytes,8,rep,name=verified_chains,json=verifiedChains,proto3" json:"verified_chains,omitempty"`
    -    // signed_certificate_timestamps is a list of SCTs provided by the peer
    -    // through the TLS handshake for the leaf certificate, if any
    -    SignedCertificateTimestamps [][]byte `protobuf:"bytes,9,rep,name=signed_certificate_timestamps,json=signedCertificateTimestamps,proto3" json:"signed_certificate_timestamps,omitempty"`
    -    // ocsp_response is a stapled Online Certificate Status Protocol (OCSP)
    -    // response provided by the peer for the leaf certificate, if any.
    -    OcspResponse []byte `protobuf:"bytes,10,opt,name=ocsp_response,json=ocspResponse,proto3" json:"ocsp_response,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ConnectionState) Descriptor - - - -

    -
    func (*ConnectionState) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ConnectionState.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ConnectionState) GetCipherSuite - - - -

    -
    func (x *ConnectionState) GetCipherSuite() uint32
    - - - - - - -

    func (*ConnectionState) GetDidResume - - - -

    -
    func (x *ConnectionState) GetDidResume() bool
    - - - - - - -

    func (*ConnectionState) GetHandshakeComplete - - - -

    -
    func (x *ConnectionState) GetHandshakeComplete() bool
    - - - - - - -

    func (*ConnectionState) GetNegotiatedProtocol - - - -

    -
    func (x *ConnectionState) GetNegotiatedProtocol() string
    - - - - - - -

    func (*ConnectionState) GetOcspResponse - - - -

    -
    func (x *ConnectionState) GetOcspResponse() []byte
    - - - - - - -

    func (*ConnectionState) GetPeerCertificates - - - -

    -
    func (x *ConnectionState) GetPeerCertificates() *Certificates
    - - - - - - -

    func (*ConnectionState) GetServerName - - - -

    -
    func (x *ConnectionState) GetServerName() string
    - - - - - - -

    func (*ConnectionState) GetSignedCertificateTimestamps - - - -

    -
    func (x *ConnectionState) GetSignedCertificateTimestamps() [][]byte
    - - - - - - -

    func (*ConnectionState) GetVerifiedChains - - - -

    -
    func (x *ConnectionState) GetVerifiedChains() []*Certificates
    - - - - - - -

    func (*ConnectionState) GetVersion - - - -

    -
    func (x *ConnectionState) GetVersion() uint32
    - - - - - - -

    func (*ConnectionState) ProtoMessage - - - -

    -
    func (*ConnectionState) ProtoMessage()
    - - - - - - -

    func (*ConnectionState) ProtoReflect - - - -

    -
    func (x *ConnectionState) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ConnectionState) Reset - - - -

    -
    func (x *ConnectionState) Reset()
    - - - - - - -

    func (*ConnectionState) String - - - -

    -
    func (x *ConnectionState) String() string
    - - - - - - - - -

    type Element - - - -

    - -
    type Element struct {
    -
    -    // key is a element key in a key value pair
    -    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    // values are a list of strings coresponding to the key
    -    Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Element) Descriptor - - - -

    -
    func (*Element) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Element.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Element) GetKey - - - -

    -
    func (x *Element) GetKey() string
    - - - - - - -

    func (*Element) GetValues - - - -

    -
    func (x *Element) GetValues() []string
    - - - - - - -

    func (*Element) ProtoMessage - - - -

    -
    func (*Element) ProtoMessage()
    - - - - - - -

    func (*Element) ProtoReflect - - - -

    -
    func (x *Element) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Element) Reset - - - -

    -
    func (x *Element) Reset()
    - - - - - - -

    func (*Element) String - - - -

    -
    func (x *Element) String() string
    - - - - - - - - -

    type HTTPClient - - - -

    -

    HTTPClient is the client API for HTTP 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 HTTPClient interface {
    -    // Handle wraps http1 over http2 and provides support for websockets by implementing
    -    // net conn and responsewriter in http2.
    -    Handle(ctx context.Context, in *HTTPRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // HandleSimple wraps http1 requests over http2 similar to Handle but only passes headers
    -    // and body bytes. Because the request and response are single protos with no inline
    -    // gRPC servers the CPU cost as well as file descriptor overhead is less
    -    // (no additional goroutines).
    -    HandleSimple(ctx context.Context, in *HandleSimpleHTTPRequest, opts ...grpc.CallOption) (*HandleSimpleHTTPResponse, error)
    -}
    - - - - - - - - - - - -

    func NewHTTPClient - - - -

    -
    func NewHTTPClient(cc grpc.ClientConnInterface) HTTPClient
    - - - - - - - - - -

    type HTTPRequest - - - -

    - -
    type HTTPRequest struct {
    -
    -    // response_writer is used by an HTTP handler to construct an HTTP response
    -    ResponseWriter *ResponseWriter `protobuf:"bytes,1,opt,name=response_writer,json=responseWriter,proto3" json:"response_writer,omitempty"`
    -    // request is an http request
    -    Request *Request `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HTTPRequest) Descriptor - - - -

    -
    func (*HTTPRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HTTPRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HTTPRequest) GetRequest - - - -

    -
    func (x *HTTPRequest) GetRequest() *Request
    - - - - - - -

    func (*HTTPRequest) GetResponseWriter - - - -

    -
    func (x *HTTPRequest) GetResponseWriter() *ResponseWriter
    - - - - - - -

    func (*HTTPRequest) ProtoMessage - - - -

    -
    func (*HTTPRequest) ProtoMessage()
    - - - - - - -

    func (*HTTPRequest) ProtoReflect - - - -

    -
    func (x *HTTPRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HTTPRequest) Reset - - - -

    -
    func (x *HTTPRequest) Reset()
    - - - - - - -

    func (*HTTPRequest) String - - - -

    -
    func (x *HTTPRequest) String() string
    - - - - - - - - -

    type HTTPServer - - - -

    -

    HTTPServer is the server API for HTTP service. -All implementations should embed UnimplementedHTTPServer -for forward compatibility - -

    type HTTPServer interface {
    -    // Handle wraps http1 over http2 and provides support for websockets by implementing
    -    // net conn and responsewriter in http2.
    -    Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    -    // HandleSimple wraps http1 requests over http2 similar to Handle but only passes headers
    -    // and body bytes. Because the request and response are single protos with no inline
    -    // gRPC servers the CPU cost as well as file descriptor overhead is less
    -    // (no additional goroutines).
    -    HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    -}
    - - - - - - - - - - - - - - - -

    type HandleSimpleHTTPRequest - - - -

    - -
    type HandleSimpleHTTPRequest struct {
    -
    -    // method specifies the HTTP method (GET, POST, PUT, etc.)
    -    Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
    -    // url specifies either the URI being requested
    -    Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
    -    // headers contains the request header fields either received
    -    // by the server or to be sent by the client
    -    Headers []*Element `protobuf:"bytes,3,rep,name=headers,proto3" json:"headers,omitempty"`
    -    // body is the request payload in bytes
    -    Body []byte `protobuf:"bytes,4,opt,name=body,proto3" json:"body,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HandleSimpleHTTPRequest) Descriptor - - - -

    -
    func (*HandleSimpleHTTPRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HandleSimpleHTTPRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HandleSimpleHTTPRequest) GetBody - - - -

    -
    func (x *HandleSimpleHTTPRequest) GetBody() []byte
    - - - - - - -

    func (*HandleSimpleHTTPRequest) GetHeaders - - - -

    -
    func (x *HandleSimpleHTTPRequest) GetHeaders() []*Element
    - - - - - - -

    func (*HandleSimpleHTTPRequest) GetMethod - - - -

    -
    func (x *HandleSimpleHTTPRequest) GetMethod() string
    - - - - - - -

    func (*HandleSimpleHTTPRequest) GetUrl - - - -

    -
    func (x *HandleSimpleHTTPRequest) GetUrl() string
    - - - - - - -

    func (*HandleSimpleHTTPRequest) ProtoMessage - - - -

    -
    func (*HandleSimpleHTTPRequest) ProtoMessage()
    - - - - - - -

    func (*HandleSimpleHTTPRequest) ProtoReflect - - - -

    -
    func (x *HandleSimpleHTTPRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HandleSimpleHTTPRequest) Reset - - - -

    -
    func (x *HandleSimpleHTTPRequest) Reset()
    - - - - - - -

    func (*HandleSimpleHTTPRequest) String - - - -

    -
    func (x *HandleSimpleHTTPRequest) String() string
    - - - - - - - - -

    type HandleSimpleHTTPResponse - - - -

    - -
    type HandleSimpleHTTPResponse struct {
    -
    -    // code is the response code
    -    Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"`
    -    // headers contains the request header fields either received
    -    // by the server or to be sent by the client
    -    Headers []*Element `protobuf:"bytes,2,rep,name=headers,proto3" json:"headers,omitempty"`
    -    // body is the response payload in bytes
    -    Body []byte `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HandleSimpleHTTPResponse) Descriptor - - - -

    -
    func (*HandleSimpleHTTPResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HandleSimpleHTTPResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HandleSimpleHTTPResponse) GetBody - - - -

    -
    func (x *HandleSimpleHTTPResponse) GetBody() []byte
    - - - - - - -

    func (*HandleSimpleHTTPResponse) GetCode - - - -

    -
    func (x *HandleSimpleHTTPResponse) GetCode() int32
    - - - - - - -

    func (*HandleSimpleHTTPResponse) GetHeaders - - - -

    -
    func (x *HandleSimpleHTTPResponse) GetHeaders() []*Element
    - - - - - - -

    func (*HandleSimpleHTTPResponse) ProtoMessage - - - -

    -
    func (*HandleSimpleHTTPResponse) ProtoMessage()
    - - - - - - -

    func (*HandleSimpleHTTPResponse) ProtoReflect - - - -

    -
    func (x *HandleSimpleHTTPResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HandleSimpleHTTPResponse) Reset - - - -

    -
    func (x *HandleSimpleHTTPResponse) Reset()
    - - - - - - -

    func (*HandleSimpleHTTPResponse) String - - - -

    -
    func (x *HandleSimpleHTTPResponse) String() string
    - - - - - - - - -

    type Request - - - -

    -

    Request is an http.Request see: https://pkg.go.dev/net/http#Request - -

    type Request struct {
    -
    -    // method specifies the HTTP method (GET, POST, PUT, etc.)
    -    Method string `protobuf:"bytes,1,opt,name=method,proto3" json:"method,omitempty"`
    -    // url specifies either the URI being requested (for server requests)
    -    // or the URL to access (for client requests)
    -    Url *URL `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
    -    // proto is the protocol version for incoming server requests
    -    Proto string `protobuf:"bytes,3,opt,name=proto,proto3" json:"proto,omitempty"`
    -    // proto_major is the major version
    -    ProtoMajor int32 `protobuf:"varint,4,opt,name=proto_major,json=protoMajor,proto3" json:"proto_major,omitempty"`
    -    // proto_minor is the minor version
    -    ProtoMinor int32 `protobuf:"varint,5,opt,name=proto_minor,json=protoMinor,proto3" json:"proto_minor,omitempty"`
    -    // header contains the request header fields either received
    -    // by the server or to be sent by the client
    -    Header []*Element `protobuf:"bytes,6,rep,name=header,proto3" json:"header,omitempty"`
    -    // body is the request payload in bytes
    -    Body []byte `protobuf:"bytes,7,opt,name=body,proto3" json:"body,omitempty"`
    -    // content_length records the length of the associated content
    -    ContentLength int64 `protobuf:"varint,8,opt,name=content_length,json=contentLength,proto3" json:"content_length,omitempty"`
    -    // transfer_encoding lists the transfer encodings from outermost to
    -    // innermost
    -    TransferEncoding []string `protobuf:"bytes,9,rep,name=transfer_encoding,json=transferEncoding,proto3" json:"transfer_encoding,omitempty"`
    -    // host specifies the host on which the URL is sought
    -    Host string `protobuf:"bytes,10,opt,name=host,proto3" json:"host,omitempty"`
    -    // form contains the parsed form data, including both the URL
    -    // field's query parameters and the PATCH, POST, or PUT form data
    -    Form []*Element `protobuf:"bytes,11,rep,name=form,proto3" json:"form,omitempty"`
    -    // post_form contains the parsed form data from PATCH, POST
    -    // or PUT body parameters
    -    PostForm []*Element `protobuf:"bytes,12,rep,name=post_form,json=postForm,proto3" json:"post_form,omitempty"`
    -    // trailer_keys specifies additional headers that are sent after the request
    -    TrailerKeys []string `protobuf:"bytes,13,rep,name=trailer_keys,json=trailerKeys,proto3" json:"trailer_keys,omitempty"`
    -    // remote_addr allows HTTP servers and other software to record
    -    // the network address that sent the request
    -    RemoteAddr string `protobuf:"bytes,14,opt,name=remote_addr,json=remoteAddr,proto3" json:"remote_addr,omitempty"`
    -    // request_uri is the unmodified request-target
    -    RequestUri string `protobuf:"bytes,15,opt,name=request_uri,json=requestUri,proto3" json:"request_uri,omitempty"`
    -    // tls connection state
    -    Tls *ConnectionState `protobuf:"bytes,16,opt,name=tls,proto3" json:"tls,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Request) Descriptor - - - -

    -
    func (*Request) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Request.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Request) GetBody - - - -

    -
    func (x *Request) GetBody() []byte
    - - - - - - -

    func (*Request) GetContentLength - - - -

    -
    func (x *Request) GetContentLength() int64
    - - - - - - -

    func (*Request) GetForm - - - -

    -
    func (x *Request) GetForm() []*Element
    - - - - - - -

    func (*Request) GetHeader - - - -

    -
    func (x *Request) GetHeader() []*Element
    - - - - - - -

    func (*Request) GetHost - - - -

    -
    func (x *Request) GetHost() string
    - - - - - - -

    func (*Request) GetMethod - - - -

    -
    func (x *Request) GetMethod() string
    - - - - - - -

    func (*Request) GetPostForm - - - -

    -
    func (x *Request) GetPostForm() []*Element
    - - - - - - -

    func (*Request) GetProto - - - -

    -
    func (x *Request) GetProto() string
    - - - - - - -

    func (*Request) GetProtoMajor - - - -

    -
    func (x *Request) GetProtoMajor() int32
    - - - - - - -

    func (*Request) GetProtoMinor - - - -

    -
    func (x *Request) GetProtoMinor() int32
    - - - - - - -

    func (*Request) GetRemoteAddr - - - -

    -
    func (x *Request) GetRemoteAddr() string
    - - - - - - -

    func (*Request) GetRequestUri - - - -

    -
    func (x *Request) GetRequestUri() string
    - - - - - - -

    func (*Request) GetTls - - - -

    -
    func (x *Request) GetTls() *ConnectionState
    - - - - - - -

    func (*Request) GetTrailerKeys - - - -

    -
    func (x *Request) GetTrailerKeys() []string
    - - - - - - -

    func (*Request) GetTransferEncoding - - - -

    -
    func (x *Request) GetTransferEncoding() []string
    - - - - - - -

    func (*Request) GetUrl - - - -

    -
    func (x *Request) GetUrl() *URL
    - - - - - - -

    func (*Request) ProtoMessage - - - -

    -
    func (*Request) ProtoMessage()
    - - - - - - -

    func (*Request) ProtoReflect - - - -

    -
    func (x *Request) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Request) Reset - - - -

    -
    func (x *Request) Reset()
    - - - - - - -

    func (*Request) String - - - -

    -
    func (x *Request) String() string
    - - - - - - - - -

    type ResponseWriter - - - -

    - -
    type ResponseWriter struct {
    -
    -    // header returns the header map that will be sent by
    -    // WriteHeader.
    -    Header []*Element `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty"`
    -    // server_addr is the address of the gRPC server hosting the Writer service
    -    ServerAddr string `protobuf:"bytes,2,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ResponseWriter) Descriptor - - - -

    -
    func (*ResponseWriter) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ResponseWriter.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ResponseWriter) GetHeader - - - -

    -
    func (x *ResponseWriter) GetHeader() []*Element
    - - - - - - -

    func (*ResponseWriter) GetServerAddr - - - -

    -
    func (x *ResponseWriter) GetServerAddr() string
    - - - - - - -

    func (*ResponseWriter) ProtoMessage - - - -

    -
    func (*ResponseWriter) ProtoMessage()
    - - - - - - -

    func (*ResponseWriter) ProtoReflect - - - -

    -
    func (x *ResponseWriter) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ResponseWriter) Reset - - - -

    -
    func (x *ResponseWriter) Reset()
    - - - - - - -

    func (*ResponseWriter) String - - - -

    -
    func (x *ResponseWriter) String() string
    - - - - - - - - -

    type URL - - - -

    -

    URL is a net.URL see: https://pkg.go.dev/net/url#URL - -

    type URL struct {
    -
    -    // scheme is the url scheme name
    -    Scheme string `protobuf:"bytes,1,opt,name=scheme,proto3" json:"scheme,omitempty"`
    -    // opaque is encoded opaque data
    -    Opaque string `protobuf:"bytes,2,opt,name=opaque,proto3" json:"opaque,omitempty"`
    -    // user is username and password information
    -    User *Userinfo `protobuf:"bytes,3,opt,name=user,proto3" json:"user,omitempty"`
    -    // host can be in the format host or host:port
    -    Host string `protobuf:"bytes,4,opt,name=host,proto3" json:"host,omitempty"`
    -    // path (relative paths may omit leading slash)
    -    Path string `protobuf:"bytes,5,opt,name=path,proto3" json:"path,omitempty"`
    -    // raw_path is encoded path hint (see EscapedPath method)
    -    RawPath string `protobuf:"bytes,6,opt,name=raw_path,json=rawPath,proto3" json:"raw_path,omitempty"`
    -    // force is append a query ('?') even if RawQuery is empty
    -    ForceQuery bool `protobuf:"varint,7,opt,name=force_query,json=forceQuery,proto3" json:"force_query,omitempty"`
    -    // raw_query is encoded query values, without '?'
    -    RawQuery string `protobuf:"bytes,8,opt,name=raw_query,json=rawQuery,proto3" json:"raw_query,omitempty"`
    -    // fragment is fragment for references, without '#'
    -    Fragment string `protobuf:"bytes,9,opt,name=fragment,proto3" json:"fragment,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*URL) Descriptor - - - -

    -
    func (*URL) Descriptor() ([]byte, []int)
    -

    Deprecated: Use URL.ProtoReflect.Descriptor instead. - - - - - - -

    func (*URL) GetForceQuery - - - -

    -
    func (x *URL) GetForceQuery() bool
    - - - - - - -

    func (*URL) GetFragment - - - -

    -
    func (x *URL) GetFragment() string
    - - - - - - -

    func (*URL) GetHost - - - -

    -
    func (x *URL) GetHost() string
    - - - - - - -

    func (*URL) GetOpaque - - - -

    -
    func (x *URL) GetOpaque() string
    - - - - - - -

    func (*URL) GetPath - - - -

    -
    func (x *URL) GetPath() string
    - - - - - - -

    func (*URL) GetRawPath - - - -

    -
    func (x *URL) GetRawPath() string
    - - - - - - -

    func (*URL) GetRawQuery - - - -

    -
    func (x *URL) GetRawQuery() string
    - - - - - - -

    func (*URL) GetScheme - - - -

    -
    func (x *URL) GetScheme() string
    - - - - - - -

    func (*URL) GetUser - - - -

    -
    func (x *URL) GetUser() *Userinfo
    - - - - - - -

    func (*URL) ProtoMessage - - - -

    -
    func (*URL) ProtoMessage()
    - - - - - - -

    func (*URL) ProtoReflect - - - -

    -
    func (x *URL) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*URL) Reset - - - -

    -
    func (x *URL) Reset()
    - - - - - - -

    func (*URL) String - - - -

    -
    func (x *URL) String() string
    - - - - - - - - -

    type UnimplementedHTTPServer - - - -

    -

    UnimplementedHTTPServer should be embedded to have forward compatible implementations. - -

    type UnimplementedHTTPServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedHTTPServer) Handle - - - -

    -
    func (UnimplementedHTTPServer) Handle(context.Context, *HTTPRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedHTTPServer) HandleSimple - - - -

    -
    func (UnimplementedHTTPServer) HandleSimple(context.Context, *HandleSimpleHTTPRequest) (*HandleSimpleHTTPResponse, error)
    - - - - - - - - -

    type UnsafeHTTPServer - - - -

    -

    UnsafeHTTPServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to HTTPServer will -result in compilation errors. - -

    type UnsafeHTTPServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type Userinfo - - - -

    -

    UserInfo is net.Userinfo see: https://pkg.go.dev/net/url#Userinfo - -

    type Userinfo struct {
    -
    -    // username is the username for the user
    -    Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"`
    -    // password is the password for the user
    -    Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"`
    -    // password_set is a boolean which is true if the passord is set
    -    PasswordSet bool `protobuf:"varint,3,opt,name=password_set,json=passwordSet,proto3" json:"password_set,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Userinfo) Descriptor - - - -

    -
    func (*Userinfo) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Userinfo.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Userinfo) GetPassword - - - -

    -
    func (x *Userinfo) GetPassword() string
    - - - - - - -

    func (*Userinfo) GetPasswordSet - - - -

    -
    func (x *Userinfo) GetPasswordSet() bool
    - - - - - - -

    func (*Userinfo) GetUsername - - - -

    -
    func (x *Userinfo) GetUsername() string
    - - - - - - -

    func (*Userinfo) ProtoMessage - - - -

    -
    func (*Userinfo) ProtoMessage()
    - - - - - - -

    func (*Userinfo) ProtoReflect - - - -

    -
    func (x *Userinfo) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Userinfo) Reset - - - -

    -
    func (x *Userinfo) Reset()
    - - - - - - -

    func (*Userinfo) String - - - -

    -
    func (x *Userinfo) String() string
    - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - responsewriter - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html deleted file mode 100644 index 7a3040e4..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/http/responsewriter/index.html +++ /dev/null @@ -1,1186 +0,0 @@ - - - - - - - - responsewriter - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package responsewriter - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/http/responsewriter"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    - - - -
    type Header
    - - - -
        func (*Header) Descriptor() ([]byte, []int)
    - - -
        func (x *Header) GetKey() string
    - - -
        func (x *Header) GetValues() []string
    - - -
        func (*Header) ProtoMessage()
    - - -
        func (x *Header) ProtoReflect() protoreflect.Message
    - - -
        func (x *Header) Reset()
    - - -
        func (x *Header) String() string
    - - - -
    type HijackResponse
    - - - -
        func (*HijackResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *HijackResponse) GetLocalNetwork() string
    - - -
        func (x *HijackResponse) GetLocalString() string
    - - -
        func (x *HijackResponse) GetRemoteNetwork() string
    - - -
        func (x *HijackResponse) GetRemoteString() string
    - - -
        func (x *HijackResponse) GetServerAddr() string
    - - -
        func (*HijackResponse) ProtoMessage()
    - - -
        func (x *HijackResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *HijackResponse) Reset()
    - - -
        func (x *HijackResponse) String() string
    - - - -
    type UnimplementedWriterServer
    - - - -
        func (UnimplementedWriterServer) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - -
        func (UnimplementedWriterServer) Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    - - -
        func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    - - -
        func (UnimplementedWriterServer) WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    - - - -
    type UnsafeWriterServer
    - - - - -
    type WriteHeaderRequest
    - - - -
        func (*WriteHeaderRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteHeaderRequest) GetHeaders() []*Header
    - - -
        func (x *WriteHeaderRequest) GetStatusCode() int32
    - - -
        func (*WriteHeaderRequest) ProtoMessage()
    - - -
        func (x *WriteHeaderRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteHeaderRequest) Reset()
    - - -
        func (x *WriteHeaderRequest) String() string
    - - - -
    type WriteRequest
    - - - -
        func (*WriteRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteRequest) GetHeaders() []*Header
    - - -
        func (x *WriteRequest) GetPayload() []byte
    - - -
        func (*WriteRequest) ProtoMessage()
    - - -
        func (x *WriteRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteRequest) Reset()
    - - -
        func (x *WriteRequest) String() string
    - - - -
    type WriteResponse
    - - - -
        func (*WriteResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteResponse) GetWritten() int32
    - - -
        func (*WriteResponse) ProtoMessage()
    - - -
        func (x *WriteResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteResponse) Reset()
    - - -
        func (x *WriteResponse) String() string
    - - - -
    type WriterClient
    - - -
        func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    - - - - -
    type WriterServer
    - - - - -
    -
    - - - - -

    Package files

    -

    - - - responsewriter.pb.go - - responsewriter_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    Writer_Write_FullMethodName       = "/http.responsewriter.Writer/Write"
    -    Writer_WriteHeader_FullMethodName = "/http.responsewriter.Writer/WriteHeader"
    -    Writer_Flush_FullMethodName       = "/http.responsewriter.Writer/Flush"
    -    Writer_Hijack_FullMethodName      = "/http.responsewriter.Writer/Hijack"
    -)
    - - - -

    Variables

    - - -
    var File_http_responsewriter_responsewriter_proto protoreflect.FileDescriptor
    - -

    Writer_ServiceDesc is the grpc.ServiceDesc for Writer service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Writer_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "http.responsewriter.Writer",
    -    HandlerType: (*WriterServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Write",
    -            Handler:    _Writer_Write_Handler,
    -        },
    -        {
    -            MethodName: "WriteHeader",
    -            Handler:    _Writer_WriteHeader_Handler,
    -        },
    -        {
    -            MethodName: "Flush",
    -            Handler:    _Writer_Flush_Handler,
    -        },
    -        {
    -            MethodName: "Hijack",
    -            Handler:    _Writer_Hijack_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "http/responsewriter/responsewriter.proto",
    -}
    - - - - - -

    func RegisterWriterServer - - - -

    -
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    - - - - - - - - - - -
    type Header struct {
    -
    -    // key is a element key in a key value pair
    -    Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    // values are a list of strings coresponding to the key
    -    Values []string `protobuf:"bytes,2,rep,name=values,proto3" json:"values,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Header) Descriptor - - - -

    -
    func (*Header) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Header.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Header) GetKey - - - -

    -
    func (x *Header) GetKey() string
    - - - - - - -

    func (*Header) GetValues - - - -

    -
    func (x *Header) GetValues() []string
    - - - - - - -

    func (*Header) ProtoMessage - - - -

    -
    func (*Header) ProtoMessage()
    - - - - - - -

    func (*Header) ProtoReflect - - - -

    -
    func (x *Header) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Header) Reset - - - -

    -
    func (x *Header) Reset()
    - - - - - - -

    func (*Header) String - - - -

    -
    func (x *Header) String() string
    - - - - - - - - -

    type HijackResponse - - - -

    - -
    type HijackResponse struct {
    -
    -    // local_network is the name of the network (for example, "tcp", "udp")
    -    LocalNetwork string `protobuf:"bytes,1,opt,name=local_network,json=localNetwork,proto3" json:"local_network,omitempty"`
    -    // local_string is string form of address
    -    LocalString string `protobuf:"bytes,2,opt,name=local_string,json=localString,proto3" json:"local_string,omitempty"`
    -    // remote_network is the name of the network (for example, "tcp", "udp")
    -    RemoteNetwork string `protobuf:"bytes,3,opt,name=remote_network,json=remoteNetwork,proto3" json:"remote_network,omitempty"`
    -    // remote_string is string form of address
    -    RemoteString string `protobuf:"bytes,4,opt,name=remote_string,json=remoteString,proto3" json:"remote_string,omitempty"`
    -    // server_addr is the address of the gRPC server serving the Conn, Reader
    -    // and Writer services which facilitate Hijacking
    -    ServerAddr string `protobuf:"bytes,5,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HijackResponse) Descriptor - - - -

    -
    func (*HijackResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HijackResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HijackResponse) GetLocalNetwork - - - -

    -
    func (x *HijackResponse) GetLocalNetwork() string
    - - - - - - -

    func (*HijackResponse) GetLocalString - - - -

    -
    func (x *HijackResponse) GetLocalString() string
    - - - - - - -

    func (*HijackResponse) GetRemoteNetwork - - - -

    -
    func (x *HijackResponse) GetRemoteNetwork() string
    - - - - - - -

    func (*HijackResponse) GetRemoteString - - - -

    -
    func (x *HijackResponse) GetRemoteString() string
    - - - - - - -

    func (*HijackResponse) GetServerAddr - - - -

    -
    func (x *HijackResponse) GetServerAddr() string
    - - - - - - -

    func (*HijackResponse) ProtoMessage - - - -

    -
    func (*HijackResponse) ProtoMessage()
    - - - - - - -

    func (*HijackResponse) ProtoReflect - - - -

    -
    func (x *HijackResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HijackResponse) Reset - - - -

    -
    func (x *HijackResponse) Reset()
    - - - - - - -

    func (*HijackResponse) String - - - -

    -
    func (x *HijackResponse) String() string
    - - - - - - - - -

    type UnimplementedWriterServer - - - -

    -

    UnimplementedWriterServer should be embedded to have forward compatible implementations. - -

    type UnimplementedWriterServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedWriterServer) Flush - - - -

    -
    func (UnimplementedWriterServer) Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedWriterServer) Hijack - - - -

    -
    func (UnimplementedWriterServer) Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    - - - - - - -

    func (UnimplementedWriterServer) Write - - - -

    -
    func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    - - - - - - -

    func (UnimplementedWriterServer) WriteHeader - - - -

    -
    func (UnimplementedWriterServer) WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    - - - - - - - - -

    type UnsafeWriterServer - - - -

    -

    UnsafeWriterServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to WriterServer will -result in compilation errors. - -

    type UnsafeWriterServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type WriteHeaderRequest - - - -

    - -
    type WriteHeaderRequest struct {
    -
    -    // headers represents the key-value pairs in an HTTP header
    -    Headers []*Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
    -    // status_code must be a valid HTTP 1xx-5xx status code
    -    StatusCode int32 `protobuf:"varint,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteHeaderRequest) Descriptor - - - -

    -
    func (*WriteHeaderRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteHeaderRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteHeaderRequest) GetHeaders - - - -

    -
    func (x *WriteHeaderRequest) GetHeaders() []*Header
    - - - - - - -

    func (*WriteHeaderRequest) GetStatusCode - - - -

    -
    func (x *WriteHeaderRequest) GetStatusCode() int32
    - - - - - - -

    func (*WriteHeaderRequest) ProtoMessage - - - -

    -
    func (*WriteHeaderRequest) ProtoMessage()
    - - - - - - -

    func (*WriteHeaderRequest) ProtoReflect - - - -

    -
    func (x *WriteHeaderRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteHeaderRequest) Reset - - - -

    -
    func (x *WriteHeaderRequest) Reset()
    - - - - - - -

    func (*WriteHeaderRequest) String - - - -

    -
    func (x *WriteHeaderRequest) String() string
    - - - - - - - - -

    type WriteRequest - - - -

    - -
    type WriteRequest struct {
    -
    -    // headers represents the key-value pairs in an HTTP header
    -    Headers []*Header `protobuf:"bytes,1,rep,name=headers,proto3" json:"headers,omitempty"`
    -    // payload is the write request in bytes
    -    Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteRequest) Descriptor - - - -

    -
    func (*WriteRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteRequest) GetHeaders - - - -

    -
    func (x *WriteRequest) GetHeaders() []*Header
    - - - - - - -

    func (*WriteRequest) GetPayload - - - -

    -
    func (x *WriteRequest) GetPayload() []byte
    - - - - - - -

    func (*WriteRequest) ProtoMessage - - - -

    -
    func (*WriteRequest) ProtoMessage()
    - - - - - - -

    func (*WriteRequest) ProtoReflect - - - -

    -
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteRequest) Reset - - - -

    -
    func (x *WriteRequest) Reset()
    - - - - - - -

    func (*WriteRequest) String - - - -

    -
    func (x *WriteRequest) String() string
    - - - - - - - - -

    type WriteResponse - - - -

    - -
    type WriteResponse struct {
    -
    -    // written is the number of bytes written in body
    -    Written int32 `protobuf:"varint,1,opt,name=written,proto3" json:"written,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteResponse) Descriptor - - - -

    -
    func (*WriteResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteResponse) GetWritten - - - -

    -
    func (x *WriteResponse) GetWritten() int32
    - - - - - - -

    func (*WriteResponse) ProtoMessage - - - -

    -
    func (*WriteResponse) ProtoMessage()
    - - - - - - -

    func (*WriteResponse) ProtoReflect - - - -

    -
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteResponse) Reset - - - -

    -
    func (x *WriteResponse) Reset()
    - - - - - - -

    func (*WriteResponse) String - - - -

    -
    func (x *WriteResponse) String() string
    - - - - - - - - -

    type WriterClient - - - -

    -

    WriterClient is the client API for Writer 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 WriterClient interface {
    -    // Write writes the data to the connection as part of an HTTP reply
    -    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    -    // WriteHeader sends an HTTP response header with the provided
    -    // status code
    -    WriteHeader(ctx context.Context, in *WriteHeaderRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Flush is a no-op
    -    Flush(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Hijack lets the caller take over the connection
    -    Hijack(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HijackResponse, error)
    -}
    - - - - - - - - - - - -

    func NewWriterClient - - - -

    -
    func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    - - - - - - - - - -

    type WriterServer - - - -

    -

    WriterServer is the server API for Writer service. -All implementations should embed UnimplementedWriterServer -for forward compatibility - -

    type WriterServer interface {
    -    // Write writes the data to the connection as part of an HTTP reply
    -    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    -    // WriteHeader sends an HTTP response header with the provided
    -    // status code
    -    WriteHeader(context.Context, *WriteHeaderRequest) (*emptypb.Empty, error)
    -    // Flush is a no-op
    -    Flush(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    -    // Hijack lets the caller take over the connection
    -    Hijack(context.Context, *emptypb.Empty) (*HijackResponse, error)
    -}
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html deleted file mode 100644 index 95fc8d22..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/index.html +++ /dev/null @@ -1,230 +0,0 @@ - - - - - - - - /src/github.com/consideritdone/landslidevm/proto - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Directory /src/github.com/consideritdone/landslidevm/proto - -

    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - http - - -
    - responsewriter - - -
    - io - - -
    - reader - - -
    - writer - - -
    - messenger - - -
    - net - - -
    - conn - - -
    - rpcdb - - -
    - vm - - -
    - runtime - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html deleted file mode 100644 index b84b6478..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/index.html +++ /dev/null @@ -1,131 +0,0 @@ - - - - - - - - /src/github.com/consideritdone/landslidevm/proto/io - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Directory /src/github.com/consideritdone/landslidevm/proto/io - -

    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - reader - - -
    - writer - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html deleted file mode 100644 index 16c7c31e..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/reader/index.html +++ /dev/null @@ -1,635 +0,0 @@ - - - - - - - - reader - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package reader - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/io/reader"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const (
    -    Reader_Read_FullMethodName = "/io.reader.Reader/Read"
    -)
    - - - -

    Variables

    - - -
    var File_io_reader_reader_proto protoreflect.FileDescriptor
    - -

    Reader_ServiceDesc is the grpc.ServiceDesc for Reader service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Reader_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "io.reader.Reader",
    -    HandlerType: (*ReaderServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Read",
    -            Handler:    _Reader_Read_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "io/reader/reader.proto",
    -}
    - - - - - -

    func RegisterReaderServer - - - -

    -
    func RegisterReaderServer(s grpc.ServiceRegistrar, srv ReaderServer)
    - - - - - - - - -

    type ReadRequest - - - -

    - -
    type ReadRequest struct {
    -
    -    // length is the request in bytes
    -    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ReadRequest) Descriptor - - - -

    -
    func (*ReadRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ReadRequest) GetLength - - - -

    -
    func (x *ReadRequest) GetLength() int32
    - - - - - - -

    func (*ReadRequest) ProtoMessage - - - -

    -
    func (*ReadRequest) ProtoMessage()
    - - - - - - -

    func (*ReadRequest) ProtoReflect - - - -

    -
    func (x *ReadRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ReadRequest) Reset - - - -

    -
    func (x *ReadRequest) Reset()
    - - - - - - -

    func (*ReadRequest) String - - - -

    -
    func (x *ReadRequest) String() string
    - - - - - - - - -

    type ReadResponse - - - -

    - -
    type ReadResponse struct {
    -
    -    // read is the payload in bytes
    -    Read []byte `protobuf:"bytes,1,opt,name=read,proto3" json:"read,omitempty"`
    -    // error is an error message
    -    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ReadResponse) Descriptor - - - -

    -
    func (*ReadResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ReadResponse) GetError - - - -

    -
    func (x *ReadResponse) GetError() string
    - - - - - - -

    func (*ReadResponse) GetRead - - - -

    -
    func (x *ReadResponse) GetRead() []byte
    - - - - - - -

    func (*ReadResponse) ProtoMessage - - - -

    -
    func (*ReadResponse) ProtoMessage()
    - - - - - - -

    func (*ReadResponse) ProtoReflect - - - -

    -
    func (x *ReadResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ReadResponse) Reset - - - -

    -
    func (x *ReadResponse) Reset()
    - - - - - - -

    func (*ReadResponse) String - - - -

    -
    func (x *ReadResponse) String() string
    - - - - - - - - -

    type ReaderClient - - - -

    -

    ReaderClient is the client API for Reader 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 ReaderClient interface {
    -    Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
    -}
    - - - - - - - - - - - -

    func NewReaderClient - - - -

    -
    func NewReaderClient(cc grpc.ClientConnInterface) ReaderClient
    - - - - - - - - - -

    type ReaderServer - - - -

    -

    ReaderServer is the server API for Reader service. -All implementations should embed UnimplementedReaderServer -for forward compatibility - -

    type ReaderServer interface {
    -    Read(context.Context, *ReadRequest) (*ReadResponse, error)
    -}
    - - - - - - - - - - - - - - - -

    type UnimplementedReaderServer - - - -

    -

    UnimplementedReaderServer should be embedded to have forward compatible implementations. - -

    type UnimplementedReaderServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedReaderServer) Read - - - -

    -
    func (UnimplementedReaderServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    - - - - - - - - -

    type UnsafeReaderServer - - - -

    -

    UnsafeReaderServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to ReaderServer will -result in compilation errors. - -

    type UnsafeReaderServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html deleted file mode 100644 index a2cb492e..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/io/writer/index.html +++ /dev/null @@ -1,637 +0,0 @@ - - - - - - - - writer - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package writer - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/io/writer"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const (
    -    Writer_Write_FullMethodName = "/io.writer.Writer/Write"
    -)
    - - - -

    Variables

    - - -
    var File_io_writer_writer_proto protoreflect.FileDescriptor
    - -

    Writer_ServiceDesc is the grpc.ServiceDesc for Writer service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Writer_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "io.writer.Writer",
    -    HandlerType: (*WriterServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Write",
    -            Handler:    _Writer_Write_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "io/writer/writer.proto",
    -}
    - - - - - -

    func RegisterWriterServer - - - -

    -
    func RegisterWriterServer(s grpc.ServiceRegistrar, srv WriterServer)
    - - - - - - - - -

    type UnimplementedWriterServer - - - -

    -

    UnimplementedWriterServer should be embedded to have forward compatible implementations. - -

    type UnimplementedWriterServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedWriterServer) Write - - - -

    -
    func (UnimplementedWriterServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    - - - - - - - - -

    type UnsafeWriterServer - - - -

    -

    UnsafeWriterServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to WriterServer will -result in compilation errors. - -

    type UnsafeWriterServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type WriteRequest - - - -

    - -
    type WriteRequest struct {
    -
    -    // payload is the write request in bytes
    -    Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteRequest) Descriptor - - - -

    -
    func (*WriteRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteRequest) GetPayload - - - -

    -
    func (x *WriteRequest) GetPayload() []byte
    - - - - - - -

    func (*WriteRequest) ProtoMessage - - - -

    -
    func (*WriteRequest) ProtoMessage()
    - - - - - - -

    func (*WriteRequest) ProtoReflect - - - -

    -
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteRequest) Reset - - - -

    -
    func (x *WriteRequest) Reset()
    - - - - - - -

    func (*WriteRequest) String - - - -

    -
    func (x *WriteRequest) String() string
    - - - - - - - - -

    type WriteResponse - - - -

    - -
    type WriteResponse struct {
    -
    -    // written is the length of payload in bytes
    -    Written int32 `protobuf:"varint,1,opt,name=written,proto3" json:"written,omitempty"`
    -    // error is an error message
    -    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteResponse) Descriptor - - - -

    -
    func (*WriteResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteResponse) GetError - - - -

    -
    func (x *WriteResponse) GetError() string
    - - - - - - -

    func (*WriteResponse) GetWritten - - - -

    -
    func (x *WriteResponse) GetWritten() int32
    - - - - - - -

    func (*WriteResponse) ProtoMessage - - - -

    -
    func (*WriteResponse) ProtoMessage()
    - - - - - - -

    func (*WriteResponse) ProtoReflect - - - -

    -
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteResponse) Reset - - - -

    -
    func (x *WriteResponse) Reset()
    - - - - - - -

    func (*WriteResponse) String - - - -

    -
    func (x *WriteResponse) String() string
    - - - - - - - - -

    type WriterClient - - - -

    -

    WriterClient is the client API for Writer 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 WriterClient interface {
    -    // Write writes len(p) bytes from p to the underlying data stream.
    -    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    -}
    - - - - - - - - - - - -

    func NewWriterClient - - - -

    -
    func NewWriterClient(cc grpc.ClientConnInterface) WriterClient
    - - - - - - - - - -

    type WriterServer - - - -

    -

    WriterServer is the server API for Writer service. -All implementations should embed UnimplementedWriterServer -for forward compatibility - -

    type WriterServer interface {
    -    // Write writes len(p) bytes from p to the underlying data stream.
    -    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    -}
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html deleted file mode 100644 index 2f988982..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/messenger/index.html +++ /dev/null @@ -1,738 +0,0 @@ - - - - - - - - messenger - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package messenger - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/messenger"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterMessengerServer(s grpc.ServiceRegistrar, srv MessengerServer)
    - - - -
    type Message
    - - - -
        func (Message) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x Message) Enum() *Message
    - - -
        func (Message) EnumDescriptor() ([]byte, []int)
    - - -
        func (x Message) Number() protoreflect.EnumNumber
    - - -
        func (x Message) String() string
    - - -
        func (Message) Type() protoreflect.EnumType
    - - - -
    type MessengerClient
    - - -
        func NewMessengerClient(cc grpc.ClientConnInterface) MessengerClient
    - - - - -
    type MessengerServer
    - - - - -
    type NotifyRequest
    - - - -
        func (*NotifyRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *NotifyRequest) GetMessage() Message
    - - -
        func (*NotifyRequest) ProtoMessage()
    - - -
        func (x *NotifyRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *NotifyRequest) Reset()
    - - -
        func (x *NotifyRequest) String() string
    - - - -
    type NotifyResponse
    - - - -
        func (*NotifyResponse) Descriptor() ([]byte, []int)
    - - -
        func (*NotifyResponse) ProtoMessage()
    - - -
        func (x *NotifyResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *NotifyResponse) Reset()
    - - -
        func (x *NotifyResponse) String() string
    - - - -
    type UnimplementedMessengerServer
    - - - -
        func (UnimplementedMessengerServer) Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    - - - -
    type UnsafeMessengerServer
    - - - - -
    -
    - - - - -

    Package files

    -

    - - - messenger.pb.go - - messenger_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    Messenger_Notify_FullMethodName = "/messenger.Messenger/Notify"
    -)
    - - - -

    Variables

    - -

    Enum value maps for Message. - -

    var (
    -    Message_name = map[int32]string{
    -        0: "MESSAGE_UNSPECIFIED",
    -        1: "MESSAGE_BUILD_BLOCK",
    -        2: "MESSAGE_STATE_SYNC_FINISHED",
    -    }
    -    Message_value = map[string]int32{
    -        "MESSAGE_UNSPECIFIED":         0,
    -        "MESSAGE_BUILD_BLOCK":         1,
    -        "MESSAGE_STATE_SYNC_FINISHED": 2,
    -    }
    -)
    - - -
    var File_messenger_messenger_proto protoreflect.FileDescriptor
    - -

    Messenger_ServiceDesc is the grpc.ServiceDesc for Messenger service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Messenger_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "messenger.Messenger",
    -    HandlerType: (*MessengerServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Notify",
    -            Handler:    _Messenger_Notify_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "messenger/messenger.proto",
    -}
    - - - - - -

    func RegisterMessengerServer - - - -

    -
    func RegisterMessengerServer(s grpc.ServiceRegistrar, srv MessengerServer)
    - - - - - - - - -

    type Message - - - -

    - -
    type Message int32
    - - - -
    const (
    -    Message_MESSAGE_UNSPECIFIED         Message = 0
    -    Message_MESSAGE_BUILD_BLOCK         Message = 1
    -    Message_MESSAGE_STATE_SYNC_FINISHED Message = 2
    -)
    - - - - - - - - - - - - -

    func (Message) Descriptor - - - -

    -
    func (Message) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (Message) Enum - - - -

    -
    func (x Message) Enum() *Message
    - - - - - - -

    func (Message) EnumDescriptor - - - -

    -
    func (Message) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use Message.Descriptor instead. - - - - - - -

    func (Message) Number - - - -

    -
    func (x Message) Number() protoreflect.EnumNumber
    - - - - - - -

    func (Message) String - - - -

    -
    func (x Message) String() string
    - - - - - - -

    func (Message) Type - - - -

    -
    func (Message) Type() protoreflect.EnumType
    - - - - - - - - -

    type MessengerClient - - - -

    -

    MessengerClient is the client API for Messenger 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 MessengerClient interface {
    -    Notify(ctx context.Context, in *NotifyRequest, opts ...grpc.CallOption) (*NotifyResponse, error)
    -}
    - - - - - - - - - - - -

    func NewMessengerClient - - - -

    -
    func NewMessengerClient(cc grpc.ClientConnInterface) MessengerClient
    - - - - - - - - - -

    type MessengerServer - - - -

    -

    MessengerServer is the server API for Messenger service. -All implementations should embed UnimplementedMessengerServer -for forward compatibility - -

    type MessengerServer interface {
    -    Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    -}
    - - - - - - - - - - - - - - - -

    type NotifyRequest - - - -

    - -
    type NotifyRequest struct {
    -    Message Message `protobuf:"varint,1,opt,name=message,proto3,enum=messenger.Message" json:"message,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*NotifyRequest) Descriptor - - - -

    -
    func (*NotifyRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use NotifyRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*NotifyRequest) GetMessage - - - -

    -
    func (x *NotifyRequest) GetMessage() Message
    - - - - - - -

    func (*NotifyRequest) ProtoMessage - - - -

    -
    func (*NotifyRequest) ProtoMessage()
    - - - - - - -

    func (*NotifyRequest) ProtoReflect - - - -

    -
    func (x *NotifyRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*NotifyRequest) Reset - - - -

    -
    func (x *NotifyRequest) Reset()
    - - - - - - -

    func (*NotifyRequest) String - - - -

    -
    func (x *NotifyRequest) String() string
    - - - - - - - - -

    type NotifyResponse - - - -

    - -
    type NotifyResponse struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*NotifyResponse) Descriptor - - - -

    -
    func (*NotifyResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use NotifyResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*NotifyResponse) ProtoMessage - - - -

    -
    func (*NotifyResponse) ProtoMessage()
    - - - - - - -

    func (*NotifyResponse) ProtoReflect - - - -

    -
    func (x *NotifyResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*NotifyResponse) Reset - - - -

    -
    func (x *NotifyResponse) Reset()
    - - - - - - -

    func (*NotifyResponse) String - - - -

    -
    func (x *NotifyResponse) String() string
    - - - - - - - - -

    type UnimplementedMessengerServer - - - -

    -

    UnimplementedMessengerServer should be embedded to have forward compatible implementations. - -

    type UnimplementedMessengerServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedMessengerServer) Notify - - - -

    -
    func (UnimplementedMessengerServer) Notify(context.Context, *NotifyRequest) (*NotifyResponse, error)
    - - - - - - - - -

    type UnsafeMessengerServer - - - -

    -

    UnsafeMessengerServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to MessengerServer will -result in compilation errors. - -

    type UnsafeMessengerServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html deleted file mode 100644 index 3fee68f3..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/conn/index.html +++ /dev/null @@ -1,1152 +0,0 @@ - - - - - - - - conn - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package conn - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/net/conn"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterConnServer(s grpc.ServiceRegistrar, srv ConnServer)
    - - - -
    type ConnClient
    - - -
        func NewConnClient(cc grpc.ClientConnInterface) ConnClient
    - - - - -
    type ConnServer
    - - - - -
    type ReadRequest
    - - - -
        func (*ReadRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *ReadRequest) GetLength() int32
    - - -
        func (*ReadRequest) ProtoMessage()
    - - -
        func (x *ReadRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *ReadRequest) Reset()
    - - -
        func (x *ReadRequest) String() string
    - - - -
    type ReadResponse
    - - - -
        func (*ReadResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *ReadResponse) GetError() string
    - - -
        func (x *ReadResponse) GetRead() []byte
    - - -
        func (*ReadResponse) ProtoMessage()
    - - -
        func (x *ReadResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *ReadResponse) Reset()
    - - -
        func (x *ReadResponse) String() string
    - - - -
    type SetDeadlineRequest
    - - - -
        func (*SetDeadlineRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *SetDeadlineRequest) GetTime() []byte
    - - -
        func (*SetDeadlineRequest) ProtoMessage()
    - - -
        func (x *SetDeadlineRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *SetDeadlineRequest) Reset()
    - - -
        func (x *SetDeadlineRequest) String() string
    - - - -
    type UnimplementedConnServer
    - - - -
        func (UnimplementedConnServer) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - -
        func (UnimplementedConnServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    - - -
        func (UnimplementedConnServer) SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedConnServer) SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedConnServer) SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedConnServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    - - - -
    type UnsafeConnServer
    - - - - -
    type WriteRequest
    - - - -
        func (*WriteRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteRequest) GetPayload() []byte
    - - -
        func (*WriteRequest) ProtoMessage()
    - - -
        func (x *WriteRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteRequest) Reset()
    - - -
        func (x *WriteRequest) String() string
    - - - -
    type WriteResponse
    - - - -
        func (*WriteResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteResponse) GetError() string
    - - -
        func (x *WriteResponse) GetLength() int32
    - - -
        func (*WriteResponse) ProtoMessage()
    - - -
        func (x *WriteResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteResponse) Reset()
    - - -
        func (x *WriteResponse) String() string
    - - - -
    -
    - - - - -

    Package files

    -

    - - - conn.pb.go - - conn_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    Conn_Read_FullMethodName             = "/net.conn.Conn/Read"
    -    Conn_Write_FullMethodName            = "/net.conn.Conn/Write"
    -    Conn_Close_FullMethodName            = "/net.conn.Conn/Close"
    -    Conn_SetDeadline_FullMethodName      = "/net.conn.Conn/SetDeadline"
    -    Conn_SetReadDeadline_FullMethodName  = "/net.conn.Conn/SetReadDeadline"
    -    Conn_SetWriteDeadline_FullMethodName = "/net.conn.Conn/SetWriteDeadline"
    -)
    - - - -

    Variables

    - -

    Conn_ServiceDesc is the grpc.ServiceDesc for Conn service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Conn_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "net.conn.Conn",
    -    HandlerType: (*ConnServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Read",
    -            Handler:    _Conn_Read_Handler,
    -        },
    -        {
    -            MethodName: "Write",
    -            Handler:    _Conn_Write_Handler,
    -        },
    -        {
    -            MethodName: "Close",
    -            Handler:    _Conn_Close_Handler,
    -        },
    -        {
    -            MethodName: "SetDeadline",
    -            Handler:    _Conn_SetDeadline_Handler,
    -        },
    -        {
    -            MethodName: "SetReadDeadline",
    -            Handler:    _Conn_SetReadDeadline_Handler,
    -        },
    -        {
    -            MethodName: "SetWriteDeadline",
    -            Handler:    _Conn_SetWriteDeadline_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "net/conn/conn.proto",
    -}
    - - -
    var File_net_conn_conn_proto protoreflect.FileDescriptor
    - - - - - -

    func RegisterConnServer - - - -

    -
    func RegisterConnServer(s grpc.ServiceRegistrar, srv ConnServer)
    - - - - - - - - -

    type ConnClient - - - -

    -

    ConnClient is the client API for Conn 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 ConnClient interface {
    -    // Read reads data from the connection.
    -    Read(ctx context.Context, in *ReadRequest, opts ...grpc.CallOption) (*ReadResponse, error)
    -    // Write writes data to the connection.
    -    Write(ctx context.Context, in *WriteRequest, opts ...grpc.CallOption) (*WriteResponse, error)
    -    // Close closes the connection.
    -    Close(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // SetDeadline sets the read and write deadlines associated
    -    // with the connection.
    -    SetDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // SetReadDeadline sets the deadline for future Read calls
    -    // and any currently-blocked Read call.
    -    SetReadDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // SetWriteDeadline sets the deadline for future Write calls
    -    // and any currently-blocked Write call.
    -    SetWriteDeadline(ctx context.Context, in *SetDeadlineRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -}
    - - - - - - - - - - - -

    func NewConnClient - - - -

    -
    func NewConnClient(cc grpc.ClientConnInterface) ConnClient
    - - - - - - - - - -

    type ConnServer - - - -

    -

    ConnServer is the server API for Conn service. -All implementations should embed UnimplementedConnServer -for forward compatibility - -

    type ConnServer interface {
    -    // Read reads data from the connection.
    -    Read(context.Context, *ReadRequest) (*ReadResponse, error)
    -    // Write writes data to the connection.
    -    Write(context.Context, *WriteRequest) (*WriteResponse, error)
    -    // Close closes the connection.
    -    Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    -    // SetDeadline sets the read and write deadlines associated
    -    // with the connection.
    -    SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    -    // SetReadDeadline sets the deadline for future Read calls
    -    // and any currently-blocked Read call.
    -    SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    -    // SetWriteDeadline sets the deadline for future Write calls
    -    // and any currently-blocked Write call.
    -    SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    -}
    - - - - - - - - - - - - - - - -

    type ReadRequest - - - -

    - -
    type ReadRequest struct {
    -
    -    // length of the request in bytes
    -    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ReadRequest) Descriptor - - - -

    -
    func (*ReadRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ReadRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ReadRequest) GetLength - - - -

    -
    func (x *ReadRequest) GetLength() int32
    - - - - - - -

    func (*ReadRequest) ProtoMessage - - - -

    -
    func (*ReadRequest) ProtoMessage()
    - - - - - - -

    func (*ReadRequest) ProtoReflect - - - -

    -
    func (x *ReadRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ReadRequest) Reset - - - -

    -
    func (x *ReadRequest) Reset()
    - - - - - - -

    func (*ReadRequest) String - - - -

    -
    func (x *ReadRequest) String() string
    - - - - - - - - -

    type ReadResponse - - - -

    - -
    type ReadResponse struct {
    -
    -    // read is the payload in bytes
    -    Read []byte `protobuf:"bytes,1,opt,name=read,proto3" json:"read,omitempty"`
    -    // error is an error message
    -    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ReadResponse) Descriptor - - - -

    -
    func (*ReadResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ReadResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ReadResponse) GetError - - - -

    -
    func (x *ReadResponse) GetError() string
    - - - - - - -

    func (*ReadResponse) GetRead - - - -

    -
    func (x *ReadResponse) GetRead() []byte
    - - - - - - -

    func (*ReadResponse) ProtoMessage - - - -

    -
    func (*ReadResponse) ProtoMessage()
    - - - - - - -

    func (*ReadResponse) ProtoReflect - - - -

    -
    func (x *ReadResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ReadResponse) Reset - - - -

    -
    func (x *ReadResponse) Reset()
    - - - - - - -

    func (*ReadResponse) String - - - -

    -
    func (x *ReadResponse) String() string
    - - - - - - - - -

    type SetDeadlineRequest - - - -

    - -
    type SetDeadlineRequest struct {
    -
    -    // time represents an instant in time in bytes
    -    Time []byte `protobuf:"bytes,1,opt,name=time,proto3" json:"time,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*SetDeadlineRequest) Descriptor - - - -

    -
    func (*SetDeadlineRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use SetDeadlineRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*SetDeadlineRequest) GetTime - - - -

    -
    func (x *SetDeadlineRequest) GetTime() []byte
    - - - - - - -

    func (*SetDeadlineRequest) ProtoMessage - - - -

    -
    func (*SetDeadlineRequest) ProtoMessage()
    - - - - - - -

    func (*SetDeadlineRequest) ProtoReflect - - - -

    -
    func (x *SetDeadlineRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*SetDeadlineRequest) Reset - - - -

    -
    func (x *SetDeadlineRequest) Reset()
    - - - - - - -

    func (*SetDeadlineRequest) String - - - -

    -
    func (x *SetDeadlineRequest) String() string
    - - - - - - - - -

    type UnimplementedConnServer - - - -

    -

    UnimplementedConnServer should be embedded to have forward compatible implementations. - -

    type UnimplementedConnServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedConnServer) Close - - - -

    -
    func (UnimplementedConnServer) Close(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedConnServer) Read - - - -

    -
    func (UnimplementedConnServer) Read(context.Context, *ReadRequest) (*ReadResponse, error)
    - - - - - - -

    func (UnimplementedConnServer) SetDeadline - - - -

    -
    func (UnimplementedConnServer) SetDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedConnServer) SetReadDeadline - - - -

    -
    func (UnimplementedConnServer) SetReadDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedConnServer) SetWriteDeadline - - - -

    -
    func (UnimplementedConnServer) SetWriteDeadline(context.Context, *SetDeadlineRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedConnServer) Write - - - -

    -
    func (UnimplementedConnServer) Write(context.Context, *WriteRequest) (*WriteResponse, error)
    - - - - - - - - -

    type UnsafeConnServer - - - -

    -

    UnsafeConnServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to ConnServer will -result in compilation errors. - -

    type UnsafeConnServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type WriteRequest - - - -

    - -
    type WriteRequest struct {
    -
    -    // payload is the write request in bytes
    -    Payload []byte `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteRequest) Descriptor - - - -

    -
    func (*WriteRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteRequest) GetPayload - - - -

    -
    func (x *WriteRequest) GetPayload() []byte
    - - - - - - -

    func (*WriteRequest) ProtoMessage - - - -

    -
    func (*WriteRequest) ProtoMessage()
    - - - - - - -

    func (*WriteRequest) ProtoReflect - - - -

    -
    func (x *WriteRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteRequest) Reset - - - -

    -
    func (x *WriteRequest) Reset()
    - - - - - - -

    func (*WriteRequest) String - - - -

    -
    func (x *WriteRequest) String() string
    - - - - - - - - -

    type WriteResponse - - - -

    - -
    type WriteResponse struct {
    -
    -    // length of the response in bytes
    -    Length int32 `protobuf:"varint,1,opt,name=length,proto3" json:"length,omitempty"`
    -    // error is an error message
    -    Error *string `protobuf:"bytes,2,opt,name=error,proto3,oneof" json:"error,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteResponse) Descriptor - - - -

    -
    func (*WriteResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteResponse) GetError - - - -

    -
    func (x *WriteResponse) GetError() string
    - - - - - - -

    func (*WriteResponse) GetLength - - - -

    -
    func (x *WriteResponse) GetLength() int32
    - - - - - - -

    func (*WriteResponse) ProtoMessage - - - -

    -
    func (*WriteResponse) ProtoMessage()
    - - - - - - -

    func (*WriteResponse) ProtoReflect - - - -

    -
    func (x *WriteResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteResponse) Reset - - - -

    -
    func (x *WriteResponse) Reset()
    - - - - - - -

    func (*WriteResponse) String - - - -

    -
    func (x *WriteResponse) String() string
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html deleted file mode 100644 index ee9434da..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/net/index.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - - - /src/github.com/consideritdone/landslidevm/proto/net - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Directory /src/github.com/consideritdone/landslidevm/proto/net - -

    - - - - - - - - - - - - - - - - - - - -
    - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - conn - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html deleted file mode 100644 index 12b0a565..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/rpcdb/index.html +++ /dev/null @@ -1,3745 +0,0 @@ - - - - - - - - rpcdb - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package rpcdb - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/rpcdb"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer)
    - - - -
    type CloseRequest
    - - - -
        func (*CloseRequest) Descriptor() ([]byte, []int)
    - - -
        func (*CloseRequest) ProtoMessage()
    - - -
        func (x *CloseRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *CloseRequest) Reset()
    - - -
        func (x *CloseRequest) String() string
    - - - -
    type CloseResponse
    - - - -
        func (*CloseResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *CloseResponse) GetErr() Error
    - - -
        func (*CloseResponse) ProtoMessage()
    - - -
        func (x *CloseResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *CloseResponse) Reset()
    - - -
        func (x *CloseResponse) String() string
    - - - -
    type CompactRequest
    - - - -
        func (*CompactRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *CompactRequest) GetLimit() []byte
    - - -
        func (x *CompactRequest) GetStart() []byte
    - - -
        func (*CompactRequest) ProtoMessage()
    - - -
        func (x *CompactRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *CompactRequest) Reset()
    - - -
        func (x *CompactRequest) String() string
    - - - -
    type CompactResponse
    - - - -
        func (*CompactResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *CompactResponse) GetErr() Error
    - - -
        func (*CompactResponse) ProtoMessage()
    - - -
        func (x *CompactResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *CompactResponse) Reset()
    - - -
        func (x *CompactResponse) String() string
    - - - -
    type DatabaseClient
    - - -
        func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient
    - - - - -
    type DatabaseServer
    - - - - -
    type DeleteRequest
    - - - -
        func (*DeleteRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *DeleteRequest) GetKey() []byte
    - - -
        func (*DeleteRequest) ProtoMessage()
    - - -
        func (x *DeleteRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *DeleteRequest) Reset()
    - - -
        func (x *DeleteRequest) String() string
    - - - -
    type DeleteResponse
    - - - -
        func (*DeleteResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *DeleteResponse) GetErr() Error
    - - -
        func (*DeleteResponse) ProtoMessage()
    - - -
        func (x *DeleteResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *DeleteResponse) Reset()
    - - -
        func (x *DeleteResponse) String() string
    - - - -
    type Error
    - - - -
        func (Error) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x Error) Enum() *Error
    - - -
        func (Error) EnumDescriptor() ([]byte, []int)
    - - -
        func (x Error) Number() protoreflect.EnumNumber
    - - -
        func (x Error) String() string
    - - -
        func (Error) Type() protoreflect.EnumType
    - - - -
    type GetRequest
    - - - -
        func (*GetRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *GetRequest) GetKey() []byte
    - - -
        func (*GetRequest) ProtoMessage()
    - - -
        func (x *GetRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetRequest) Reset()
    - - -
        func (x *GetRequest) String() string
    - - - -
    type GetResponse
    - - - -
        func (*GetResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetResponse) GetErr() Error
    - - -
        func (x *GetResponse) GetValue() []byte
    - - -
        func (*GetResponse) ProtoMessage()
    - - -
        func (x *GetResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetResponse) Reset()
    - - -
        func (x *GetResponse) String() string
    - - - -
    type HasRequest
    - - - -
        func (*HasRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *HasRequest) GetKey() []byte
    - - -
        func (*HasRequest) ProtoMessage()
    - - -
        func (x *HasRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *HasRequest) Reset()
    - - -
        func (x *HasRequest) String() string
    - - - -
    type HasResponse
    - - - -
        func (*HasResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *HasResponse) GetErr() Error
    - - -
        func (x *HasResponse) GetHas() bool
    - - -
        func (*HasResponse) ProtoMessage()
    - - -
        func (x *HasResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *HasResponse) Reset()
    - - -
        func (x *HasResponse) String() string
    - - - -
    type HealthCheckResponse
    - - - -
        func (*HealthCheckResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *HealthCheckResponse) GetDetails() []byte
    - - -
        func (*HealthCheckResponse) ProtoMessage()
    - - -
        func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *HealthCheckResponse) Reset()
    - - -
        func (x *HealthCheckResponse) String() string
    - - - -
    type IteratorErrorRequest
    - - - -
        func (*IteratorErrorRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorErrorRequest) GetId() uint64
    - - -
        func (*IteratorErrorRequest) ProtoMessage()
    - - -
        func (x *IteratorErrorRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorErrorRequest) Reset()
    - - -
        func (x *IteratorErrorRequest) String() string
    - - - -
    type IteratorErrorResponse
    - - - -
        func (*IteratorErrorResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorErrorResponse) GetErr() Error
    - - -
        func (*IteratorErrorResponse) ProtoMessage()
    - - -
        func (x *IteratorErrorResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorErrorResponse) Reset()
    - - -
        func (x *IteratorErrorResponse) String() string
    - - - -
    type IteratorNextRequest
    - - - -
        func (*IteratorNextRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorNextRequest) GetId() uint64
    - - -
        func (*IteratorNextRequest) ProtoMessage()
    - - -
        func (x *IteratorNextRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorNextRequest) Reset()
    - - -
        func (x *IteratorNextRequest) String() string
    - - - -
    type IteratorNextResponse
    - - - -
        func (*IteratorNextResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorNextResponse) GetData() []*PutRequest
    - - -
        func (*IteratorNextResponse) ProtoMessage()
    - - -
        func (x *IteratorNextResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorNextResponse) Reset()
    - - -
        func (x *IteratorNextResponse) String() string
    - - - -
    type IteratorReleaseRequest
    - - - -
        func (*IteratorReleaseRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorReleaseRequest) GetId() uint64
    - - -
        func (*IteratorReleaseRequest) ProtoMessage()
    - - -
        func (x *IteratorReleaseRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorReleaseRequest) Reset()
    - - -
        func (x *IteratorReleaseRequest) String() string
    - - - -
    type IteratorReleaseResponse
    - - - -
        func (*IteratorReleaseResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *IteratorReleaseResponse) GetErr() Error
    - - -
        func (*IteratorReleaseResponse) ProtoMessage()
    - - -
        func (x *IteratorReleaseResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *IteratorReleaseResponse) Reset()
    - - -
        func (x *IteratorReleaseResponse) String() string
    - - - -
    type NewIteratorRequest
    - - - -
        func (*NewIteratorRequest) Descriptor() ([]byte, []int)
    - - -
        func (*NewIteratorRequest) ProtoMessage()
    - - -
        func (x *NewIteratorRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *NewIteratorRequest) Reset()
    - - -
        func (x *NewIteratorRequest) String() string
    - - - -
    type NewIteratorWithStartAndPrefixRequest
    - - - -
        func (*NewIteratorWithStartAndPrefixRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *NewIteratorWithStartAndPrefixRequest) GetPrefix() []byte
    - - -
        func (x *NewIteratorWithStartAndPrefixRequest) GetStart() []byte
    - - -
        func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage()
    - - -
        func (x *NewIteratorWithStartAndPrefixRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *NewIteratorWithStartAndPrefixRequest) Reset()
    - - -
        func (x *NewIteratorWithStartAndPrefixRequest) String() string
    - - - -
    type NewIteratorWithStartAndPrefixResponse
    - - - -
        func (*NewIteratorWithStartAndPrefixResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *NewIteratorWithStartAndPrefixResponse) GetId() uint64
    - - -
        func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage()
    - - -
        func (x *NewIteratorWithStartAndPrefixResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *NewIteratorWithStartAndPrefixResponse) Reset()
    - - -
        func (x *NewIteratorWithStartAndPrefixResponse) String() string
    - - - -
    type PutRequest
    - - - -
        func (*PutRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *PutRequest) GetKey() []byte
    - - -
        func (x *PutRequest) GetValue() []byte
    - - -
        func (*PutRequest) ProtoMessage()
    - - -
        func (x *PutRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *PutRequest) Reset()
    - - -
        func (x *PutRequest) String() string
    - - - -
    type PutResponse
    - - - -
        func (*PutResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *PutResponse) GetErr() Error
    - - -
        func (*PutResponse) ProtoMessage()
    - - -
        func (x *PutResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *PutResponse) Reset()
    - - -
        func (x *PutResponse) String() string
    - - - -
    type UnimplementedDatabaseServer
    - - - -
        func (UnimplementedDatabaseServer) Close(context.Context, *CloseRequest) (*CloseResponse, error)
    - - -
        func (UnimplementedDatabaseServer) Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    - - -
        func (UnimplementedDatabaseServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    - - -
        func (UnimplementedDatabaseServer) Get(context.Context, *GetRequest) (*GetResponse, error)
    - - -
        func (UnimplementedDatabaseServer) Has(context.Context, *HasRequest) (*HasResponse, error)
    - - -
        func (UnimplementedDatabaseServer) HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    - - -
        func (UnimplementedDatabaseServer) IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    - - -
        func (UnimplementedDatabaseServer) IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    - - -
        func (UnimplementedDatabaseServer) IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    - - -
        func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    - - -
        func (UnimplementedDatabaseServer) Put(context.Context, *PutRequest) (*PutResponse, error)
    - - -
        func (UnimplementedDatabaseServer) WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    - - - -
    type UnsafeDatabaseServer
    - - - - -
    type WriteBatchRequest
    - - - -
        func (*WriteBatchRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteBatchRequest) GetDeletes() []*DeleteRequest
    - - -
        func (x *WriteBatchRequest) GetPuts() []*PutRequest
    - - -
        func (*WriteBatchRequest) ProtoMessage()
    - - -
        func (x *WriteBatchRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteBatchRequest) Reset()
    - - -
        func (x *WriteBatchRequest) String() string
    - - - -
    type WriteBatchResponse
    - - - -
        func (*WriteBatchResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *WriteBatchResponse) GetErr() Error
    - - -
        func (*WriteBatchResponse) ProtoMessage()
    - - -
        func (x *WriteBatchResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *WriteBatchResponse) Reset()
    - - -
        func (x *WriteBatchResponse) String() string
    - - - -
    -
    - - - - -

    Package files

    -

    - - - rpcdb.pb.go - - rpcdb_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    Database_Has_FullMethodName                           = "/rpcdb.Database/Has"
    -    Database_Get_FullMethodName                           = "/rpcdb.Database/Get"
    -    Database_Put_FullMethodName                           = "/rpcdb.Database/Put"
    -    Database_Delete_FullMethodName                        = "/rpcdb.Database/Delete"
    -    Database_Compact_FullMethodName                       = "/rpcdb.Database/Compact"
    -    Database_Close_FullMethodName                         = "/rpcdb.Database/Close"
    -    Database_HealthCheck_FullMethodName                   = "/rpcdb.Database/HealthCheck"
    -    Database_WriteBatch_FullMethodName                    = "/rpcdb.Database/WriteBatch"
    -    Database_NewIteratorWithStartAndPrefix_FullMethodName = "/rpcdb.Database/NewIteratorWithStartAndPrefix"
    -    Database_IteratorNext_FullMethodName                  = "/rpcdb.Database/IteratorNext"
    -    Database_IteratorError_FullMethodName                 = "/rpcdb.Database/IteratorError"
    -    Database_IteratorRelease_FullMethodName               = "/rpcdb.Database/IteratorRelease"
    -)
    - - - -

    Variables

    - -

    Enum value maps for Error. - -

    var (
    -    Error_name = map[int32]string{
    -        0: "ERROR_UNSPECIFIED",
    -        1: "ERROR_CLOSED",
    -        2: "ERROR_NOT_FOUND",
    -    }
    -    Error_value = map[string]int32{
    -        "ERROR_UNSPECIFIED": 0,
    -        "ERROR_CLOSED":      1,
    -        "ERROR_NOT_FOUND":   2,
    -    }
    -)
    - -

    Database_ServiceDesc is the grpc.ServiceDesc for Database service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Database_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "rpcdb.Database",
    -    HandlerType: (*DatabaseServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Has",
    -            Handler:    _Database_Has_Handler,
    -        },
    -        {
    -            MethodName: "Get",
    -            Handler:    _Database_Get_Handler,
    -        },
    -        {
    -            MethodName: "Put",
    -            Handler:    _Database_Put_Handler,
    -        },
    -        {
    -            MethodName: "Delete",
    -            Handler:    _Database_Delete_Handler,
    -        },
    -        {
    -            MethodName: "Compact",
    -            Handler:    _Database_Compact_Handler,
    -        },
    -        {
    -            MethodName: "Close",
    -            Handler:    _Database_Close_Handler,
    -        },
    -        {
    -            MethodName: "HealthCheck",
    -            Handler:    _Database_HealthCheck_Handler,
    -        },
    -        {
    -            MethodName: "WriteBatch",
    -            Handler:    _Database_WriteBatch_Handler,
    -        },
    -        {
    -            MethodName: "NewIteratorWithStartAndPrefix",
    -            Handler:    _Database_NewIteratorWithStartAndPrefix_Handler,
    -        },
    -        {
    -            MethodName: "IteratorNext",
    -            Handler:    _Database_IteratorNext_Handler,
    -        },
    -        {
    -            MethodName: "IteratorError",
    -            Handler:    _Database_IteratorError_Handler,
    -        },
    -        {
    -            MethodName: "IteratorRelease",
    -            Handler:    _Database_IteratorRelease_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "rpcdb/rpcdb.proto",
    -}
    - - -
    var File_rpcdb_rpcdb_proto protoreflect.FileDescriptor
    - - - - - -

    func RegisterDatabaseServer - - - -

    -
    func RegisterDatabaseServer(s grpc.ServiceRegistrar, srv DatabaseServer)
    - - - - - - - - -

    type CloseRequest - - - -

    - -
    type CloseRequest struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CloseRequest) Descriptor - - - -

    -
    func (*CloseRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CloseRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CloseRequest) ProtoMessage - - - -

    -
    func (*CloseRequest) ProtoMessage()
    - - - - - - -

    func (*CloseRequest) ProtoReflect - - - -

    -
    func (x *CloseRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CloseRequest) Reset - - - -

    -
    func (x *CloseRequest) Reset()
    - - - - - - -

    func (*CloseRequest) String - - - -

    -
    func (x *CloseRequest) String() string
    - - - - - - - - -

    type CloseResponse - - - -

    - -
    type CloseResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CloseResponse) Descriptor - - - -

    -
    func (*CloseResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CloseResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CloseResponse) GetErr - - - -

    -
    func (x *CloseResponse) GetErr() Error
    - - - - - - -

    func (*CloseResponse) ProtoMessage - - - -

    -
    func (*CloseResponse) ProtoMessage()
    - - - - - - -

    func (*CloseResponse) ProtoReflect - - - -

    -
    func (x *CloseResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CloseResponse) Reset - - - -

    -
    func (x *CloseResponse) Reset()
    - - - - - - -

    func (*CloseResponse) String - - - -

    -
    func (x *CloseResponse) String() string
    - - - - - - - - -

    type CompactRequest - - - -

    - -
    type CompactRequest struct {
    -    Start []byte `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    -    Limit []byte `protobuf:"bytes,2,opt,name=limit,proto3" json:"limit,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CompactRequest) Descriptor - - - -

    -
    func (*CompactRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CompactRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CompactRequest) GetLimit - - - -

    -
    func (x *CompactRequest) GetLimit() []byte
    - - - - - - -

    func (*CompactRequest) GetStart - - - -

    -
    func (x *CompactRequest) GetStart() []byte
    - - - - - - -

    func (*CompactRequest) ProtoMessage - - - -

    -
    func (*CompactRequest) ProtoMessage()
    - - - - - - -

    func (*CompactRequest) ProtoReflect - - - -

    -
    func (x *CompactRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CompactRequest) Reset - - - -

    -
    func (x *CompactRequest) Reset()
    - - - - - - -

    func (*CompactRequest) String - - - -

    -
    func (x *CompactRequest) String() string
    - - - - - - - - -

    type CompactResponse - - - -

    - -
    type CompactResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CompactResponse) Descriptor - - - -

    -
    func (*CompactResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CompactResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CompactResponse) GetErr - - - -

    -
    func (x *CompactResponse) GetErr() Error
    - - - - - - -

    func (*CompactResponse) ProtoMessage - - - -

    -
    func (*CompactResponse) ProtoMessage()
    - - - - - - -

    func (*CompactResponse) ProtoReflect - - - -

    -
    func (x *CompactResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CompactResponse) Reset - - - -

    -
    func (x *CompactResponse) Reset()
    - - - - - - -

    func (*CompactResponse) String - - - -

    -
    func (x *CompactResponse) String() string
    - - - - - - - - -

    type DatabaseClient - - - -

    -

    DatabaseClient is the client API for Database 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 DatabaseClient interface {
    -    Has(ctx context.Context, in *HasRequest, opts ...grpc.CallOption) (*HasResponse, error)
    -    Get(ctx context.Context, in *GetRequest, opts ...grpc.CallOption) (*GetResponse, error)
    -    Put(ctx context.Context, in *PutRequest, opts ...grpc.CallOption) (*PutResponse, error)
    -    Delete(ctx context.Context, in *DeleteRequest, opts ...grpc.CallOption) (*DeleteResponse, error)
    -    Compact(ctx context.Context, in *CompactRequest, opts ...grpc.CallOption) (*CompactResponse, error)
    -    Close(ctx context.Context, in *CloseRequest, opts ...grpc.CallOption) (*CloseResponse, error)
    -    HealthCheck(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HealthCheckResponse, error)
    -    WriteBatch(ctx context.Context, in *WriteBatchRequest, opts ...grpc.CallOption) (*WriteBatchResponse, error)
    -    NewIteratorWithStartAndPrefix(ctx context.Context, in *NewIteratorWithStartAndPrefixRequest, opts ...grpc.CallOption) (*NewIteratorWithStartAndPrefixResponse, error)
    -    IteratorNext(ctx context.Context, in *IteratorNextRequest, opts ...grpc.CallOption) (*IteratorNextResponse, error)
    -    IteratorError(ctx context.Context, in *IteratorErrorRequest, opts ...grpc.CallOption) (*IteratorErrorResponse, error)
    -    IteratorRelease(ctx context.Context, in *IteratorReleaseRequest, opts ...grpc.CallOption) (*IteratorReleaseResponse, error)
    -}
    - - - - - - - - - - - -

    func NewDatabaseClient - - - -

    -
    func NewDatabaseClient(cc grpc.ClientConnInterface) DatabaseClient
    - - - - - - - - - -

    type DatabaseServer - - - -

    -

    DatabaseServer is the server API for Database service. -All implementations should embed UnimplementedDatabaseServer -for forward compatibility - -

    type DatabaseServer interface {
    -    Has(context.Context, *HasRequest) (*HasResponse, error)
    -    Get(context.Context, *GetRequest) (*GetResponse, error)
    -    Put(context.Context, *PutRequest) (*PutResponse, error)
    -    Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    -    Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    -    Close(context.Context, *CloseRequest) (*CloseResponse, error)
    -    HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    -    WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    -    NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    -    IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    -    IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    -    IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    -}
    - - - - - - - - - - - - - - - -

    type DeleteRequest - - - -

    - -
    type DeleteRequest struct {
    -    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*DeleteRequest) Descriptor - - - -

    -
    func (*DeleteRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use DeleteRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*DeleteRequest) GetKey - - - -

    -
    func (x *DeleteRequest) GetKey() []byte
    - - - - - - -

    func (*DeleteRequest) ProtoMessage - - - -

    -
    func (*DeleteRequest) ProtoMessage()
    - - - - - - -

    func (*DeleteRequest) ProtoReflect - - - -

    -
    func (x *DeleteRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*DeleteRequest) Reset - - - -

    -
    func (x *DeleteRequest) Reset()
    - - - - - - -

    func (*DeleteRequest) String - - - -

    -
    func (x *DeleteRequest) String() string
    - - - - - - - - -

    type DeleteResponse - - - -

    - -
    type DeleteResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*DeleteResponse) Descriptor - - - -

    -
    func (*DeleteResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use DeleteResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*DeleteResponse) GetErr - - - -

    -
    func (x *DeleteResponse) GetErr() Error
    - - - - - - -

    func (*DeleteResponse) ProtoMessage - - - -

    -
    func (*DeleteResponse) ProtoMessage()
    - - - - - - -

    func (*DeleteResponse) ProtoReflect - - - -

    -
    func (x *DeleteResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*DeleteResponse) Reset - - - -

    -
    func (x *DeleteResponse) Reset()
    - - - - - - -

    func (*DeleteResponse) String - - - -

    -
    func (x *DeleteResponse) String() string
    - - - - - - - - -

    type Error - - - -

    - -
    type Error int32
    - - - -
    const (
    -    // ERROR_UNSPECIFIED is used to indicate that no error occurred.
    -    Error_ERROR_UNSPECIFIED Error = 0
    -    Error_ERROR_CLOSED      Error = 1
    -    Error_ERROR_NOT_FOUND   Error = 2
    -)
    - - - - - - - - - - - - -

    func (Error) Descriptor - - - -

    -
    func (Error) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (Error) Enum - - - -

    -
    func (x Error) Enum() *Error
    - - - - - - -

    func (Error) EnumDescriptor - - - -

    -
    func (Error) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use Error.Descriptor instead. - - - - - - -

    func (Error) Number - - - -

    -
    func (x Error) Number() protoreflect.EnumNumber
    - - - - - - -

    func (Error) String - - - -

    -
    func (x Error) String() string
    - - - - - - -

    func (Error) Type - - - -

    -
    func (Error) Type() protoreflect.EnumType
    - - - - - - - - -

    type GetRequest - - - -

    - -
    type GetRequest struct {
    -    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetRequest) Descriptor - - - -

    -
    func (*GetRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetRequest) GetKey - - - -

    -
    func (x *GetRequest) GetKey() []byte
    - - - - - - -

    func (*GetRequest) ProtoMessage - - - -

    -
    func (*GetRequest) ProtoMessage()
    - - - - - - -

    func (*GetRequest) ProtoReflect - - - -

    -
    func (x *GetRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetRequest) Reset - - - -

    -
    func (x *GetRequest) Reset()
    - - - - - - -

    func (*GetRequest) String - - - -

    -
    func (x *GetRequest) String() string
    - - - - - - - - -

    type GetResponse - - - -

    - -
    type GetResponse struct {
    -    Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
    -    Err   Error  `protobuf:"varint,2,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetResponse) Descriptor - - - -

    -
    func (*GetResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetResponse) GetErr - - - -

    -
    func (x *GetResponse) GetErr() Error
    - - - - - - -

    func (*GetResponse) GetValue - - - -

    -
    func (x *GetResponse) GetValue() []byte
    - - - - - - -

    func (*GetResponse) ProtoMessage - - - -

    -
    func (*GetResponse) ProtoMessage()
    - - - - - - -

    func (*GetResponse) ProtoReflect - - - -

    -
    func (x *GetResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetResponse) Reset - - - -

    -
    func (x *GetResponse) Reset()
    - - - - - - -

    func (*GetResponse) String - - - -

    -
    func (x *GetResponse) String() string
    - - - - - - - - -

    type HasRequest - - - -

    - -
    type HasRequest struct {
    -    Key []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HasRequest) Descriptor - - - -

    -
    func (*HasRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HasRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HasRequest) GetKey - - - -

    -
    func (x *HasRequest) GetKey() []byte
    - - - - - - -

    func (*HasRequest) ProtoMessage - - - -

    -
    func (*HasRequest) ProtoMessage()
    - - - - - - -

    func (*HasRequest) ProtoReflect - - - -

    -
    func (x *HasRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HasRequest) Reset - - - -

    -
    func (x *HasRequest) Reset()
    - - - - - - -

    func (*HasRequest) String - - - -

    -
    func (x *HasRequest) String() string
    - - - - - - - - -

    type HasResponse - - - -

    - -
    type HasResponse struct {
    -    Has bool  `protobuf:"varint,1,opt,name=has,proto3" json:"has,omitempty"`
    -    Err Error `protobuf:"varint,2,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HasResponse) Descriptor - - - -

    -
    func (*HasResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HasResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HasResponse) GetErr - - - -

    -
    func (x *HasResponse) GetErr() Error
    - - - - - - -

    func (*HasResponse) GetHas - - - -

    -
    func (x *HasResponse) GetHas() bool
    - - - - - - -

    func (*HasResponse) ProtoMessage - - - -

    -
    func (*HasResponse) ProtoMessage()
    - - - - - - -

    func (*HasResponse) ProtoReflect - - - -

    -
    func (x *HasResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HasResponse) Reset - - - -

    -
    func (x *HasResponse) Reset()
    - - - - - - -

    func (*HasResponse) String - - - -

    -
    func (x *HasResponse) String() string
    - - - - - - - - -

    type HealthCheckResponse - - - -

    - -
    type HealthCheckResponse struct {
    -    Details []byte `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HealthCheckResponse) Descriptor - - - -

    -
    func (*HealthCheckResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HealthCheckResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HealthCheckResponse) GetDetails - - - -

    -
    func (x *HealthCheckResponse) GetDetails() []byte
    - - - - - - -

    func (*HealthCheckResponse) ProtoMessage - - - -

    -
    func (*HealthCheckResponse) ProtoMessage()
    - - - - - - -

    func (*HealthCheckResponse) ProtoReflect - - - -

    -
    func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HealthCheckResponse) Reset - - - -

    -
    func (x *HealthCheckResponse) Reset()
    - - - - - - -

    func (*HealthCheckResponse) String - - - -

    -
    func (x *HealthCheckResponse) String() string
    - - - - - - - - -

    type IteratorErrorRequest - - - -

    - -
    type IteratorErrorRequest struct {
    -    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorErrorRequest) Descriptor - - - -

    -
    func (*IteratorErrorRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorErrorRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorErrorRequest) GetId - - - -

    -
    func (x *IteratorErrorRequest) GetId() uint64
    - - - - - - -

    func (*IteratorErrorRequest) ProtoMessage - - - -

    -
    func (*IteratorErrorRequest) ProtoMessage()
    - - - - - - -

    func (*IteratorErrorRequest) ProtoReflect - - - -

    -
    func (x *IteratorErrorRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorErrorRequest) Reset - - - -

    -
    func (x *IteratorErrorRequest) Reset()
    - - - - - - -

    func (*IteratorErrorRequest) String - - - -

    -
    func (x *IteratorErrorRequest) String() string
    - - - - - - - - -

    type IteratorErrorResponse - - - -

    - -
    type IteratorErrorResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorErrorResponse) Descriptor - - - -

    -
    func (*IteratorErrorResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorErrorResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorErrorResponse) GetErr - - - -

    -
    func (x *IteratorErrorResponse) GetErr() Error
    - - - - - - -

    func (*IteratorErrorResponse) ProtoMessage - - - -

    -
    func (*IteratorErrorResponse) ProtoMessage()
    - - - - - - -

    func (*IteratorErrorResponse) ProtoReflect - - - -

    -
    func (x *IteratorErrorResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorErrorResponse) Reset - - - -

    -
    func (x *IteratorErrorResponse) Reset()
    - - - - - - -

    func (*IteratorErrorResponse) String - - - -

    -
    func (x *IteratorErrorResponse) String() string
    - - - - - - - - -

    type IteratorNextRequest - - - -

    - -
    type IteratorNextRequest struct {
    -    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorNextRequest) Descriptor - - - -

    -
    func (*IteratorNextRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorNextRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorNextRequest) GetId - - - -

    -
    func (x *IteratorNextRequest) GetId() uint64
    - - - - - - -

    func (*IteratorNextRequest) ProtoMessage - - - -

    -
    func (*IteratorNextRequest) ProtoMessage()
    - - - - - - -

    func (*IteratorNextRequest) ProtoReflect - - - -

    -
    func (x *IteratorNextRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorNextRequest) Reset - - - -

    -
    func (x *IteratorNextRequest) Reset()
    - - - - - - -

    func (*IteratorNextRequest) String - - - -

    -
    func (x *IteratorNextRequest) String() string
    - - - - - - - - -

    type IteratorNextResponse - - - -

    - -
    type IteratorNextResponse struct {
    -    Data []*PutRequest `protobuf:"bytes,1,rep,name=data,proto3" json:"data,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorNextResponse) Descriptor - - - -

    -
    func (*IteratorNextResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorNextResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorNextResponse) GetData - - - -

    -
    func (x *IteratorNextResponse) GetData() []*PutRequest
    - - - - - - -

    func (*IteratorNextResponse) ProtoMessage - - - -

    -
    func (*IteratorNextResponse) ProtoMessage()
    - - - - - - -

    func (*IteratorNextResponse) ProtoReflect - - - -

    -
    func (x *IteratorNextResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorNextResponse) Reset - - - -

    -
    func (x *IteratorNextResponse) Reset()
    - - - - - - -

    func (*IteratorNextResponse) String - - - -

    -
    func (x *IteratorNextResponse) String() string
    - - - - - - - - -

    type IteratorReleaseRequest - - - -

    - -
    type IteratorReleaseRequest struct {
    -    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorReleaseRequest) Descriptor - - - -

    -
    func (*IteratorReleaseRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorReleaseRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorReleaseRequest) GetId - - - -

    -
    func (x *IteratorReleaseRequest) GetId() uint64
    - - - - - - -

    func (*IteratorReleaseRequest) ProtoMessage - - - -

    -
    func (*IteratorReleaseRequest) ProtoMessage()
    - - - - - - -

    func (*IteratorReleaseRequest) ProtoReflect - - - -

    -
    func (x *IteratorReleaseRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorReleaseRequest) Reset - - - -

    -
    func (x *IteratorReleaseRequest) Reset()
    - - - - - - -

    func (*IteratorReleaseRequest) String - - - -

    -
    func (x *IteratorReleaseRequest) String() string
    - - - - - - - - -

    type IteratorReleaseResponse - - - -

    - -
    type IteratorReleaseResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*IteratorReleaseResponse) Descriptor - - - -

    -
    func (*IteratorReleaseResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use IteratorReleaseResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*IteratorReleaseResponse) GetErr - - - -

    -
    func (x *IteratorReleaseResponse) GetErr() Error
    - - - - - - -

    func (*IteratorReleaseResponse) ProtoMessage - - - -

    -
    func (*IteratorReleaseResponse) ProtoMessage()
    - - - - - - -

    func (*IteratorReleaseResponse) ProtoReflect - - - -

    -
    func (x *IteratorReleaseResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*IteratorReleaseResponse) Reset - - - -

    -
    func (x *IteratorReleaseResponse) Reset()
    - - - - - - -

    func (*IteratorReleaseResponse) String - - - -

    -
    func (x *IteratorReleaseResponse) String() string
    - - - - - - - - -

    type NewIteratorRequest - - - -

    - -
    type NewIteratorRequest struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*NewIteratorRequest) Descriptor - - - -

    -
    func (*NewIteratorRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use NewIteratorRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*NewIteratorRequest) ProtoMessage - - - -

    -
    func (*NewIteratorRequest) ProtoMessage()
    - - - - - - -

    func (*NewIteratorRequest) ProtoReflect - - - -

    -
    func (x *NewIteratorRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*NewIteratorRequest) Reset - - - -

    -
    func (x *NewIteratorRequest) Reset()
    - - - - - - -

    func (*NewIteratorRequest) String - - - -

    -
    func (x *NewIteratorRequest) String() string
    - - - - - - - - -

    type NewIteratorWithStartAndPrefixRequest - - - -

    - -
    type NewIteratorWithStartAndPrefixRequest struct {
    -    Start  []byte `protobuf:"bytes,1,opt,name=start,proto3" json:"start,omitempty"`
    -    Prefix []byte `protobuf:"bytes,2,opt,name=prefix,proto3" json:"prefix,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) Descriptor - - - -

    -
    func (*NewIteratorWithStartAndPrefixRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use NewIteratorWithStartAndPrefixRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) GetPrefix - - - -

    -
    func (x *NewIteratorWithStartAndPrefixRequest) GetPrefix() []byte
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) GetStart - - - -

    -
    func (x *NewIteratorWithStartAndPrefixRequest) GetStart() []byte
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage - - - -

    -
    func (*NewIteratorWithStartAndPrefixRequest) ProtoMessage()
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) ProtoReflect - - - -

    -
    func (x *NewIteratorWithStartAndPrefixRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) Reset - - - -

    -
    func (x *NewIteratorWithStartAndPrefixRequest) Reset()
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixRequest) String - - - -

    -
    func (x *NewIteratorWithStartAndPrefixRequest) String() string
    - - - - - - - - -

    type NewIteratorWithStartAndPrefixResponse - - - -

    - -
    type NewIteratorWithStartAndPrefixResponse struct {
    -    Id uint64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) Descriptor - - - -

    -
    func (*NewIteratorWithStartAndPrefixResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use NewIteratorWithStartAndPrefixResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) GetId - - - -

    -
    func (x *NewIteratorWithStartAndPrefixResponse) GetId() uint64
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage - - - -

    -
    func (*NewIteratorWithStartAndPrefixResponse) ProtoMessage()
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) ProtoReflect - - - -

    -
    func (x *NewIteratorWithStartAndPrefixResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) Reset - - - -

    -
    func (x *NewIteratorWithStartAndPrefixResponse) Reset()
    - - - - - - -

    func (*NewIteratorWithStartAndPrefixResponse) String - - - -

    -
    func (x *NewIteratorWithStartAndPrefixResponse) String() string
    - - - - - - - - -

    type PutRequest - - - -

    - -
    type PutRequest struct {
    -    Key   []byte `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
    -    Value []byte `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*PutRequest) Descriptor - - - -

    -
    func (*PutRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use PutRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*PutRequest) GetKey - - - -

    -
    func (x *PutRequest) GetKey() []byte
    - - - - - - -

    func (*PutRequest) GetValue - - - -

    -
    func (x *PutRequest) GetValue() []byte
    - - - - - - -

    func (*PutRequest) ProtoMessage - - - -

    -
    func (*PutRequest) ProtoMessage()
    - - - - - - -

    func (*PutRequest) ProtoReflect - - - -

    -
    func (x *PutRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*PutRequest) Reset - - - -

    -
    func (x *PutRequest) Reset()
    - - - - - - -

    func (*PutRequest) String - - - -

    -
    func (x *PutRequest) String() string
    - - - - - - - - -

    type PutResponse - - - -

    - -
    type PutResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*PutResponse) Descriptor - - - -

    -
    func (*PutResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use PutResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*PutResponse) GetErr - - - -

    -
    func (x *PutResponse) GetErr() Error
    - - - - - - -

    func (*PutResponse) ProtoMessage - - - -

    -
    func (*PutResponse) ProtoMessage()
    - - - - - - -

    func (*PutResponse) ProtoReflect - - - -

    -
    func (x *PutResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*PutResponse) Reset - - - -

    -
    func (x *PutResponse) Reset()
    - - - - - - -

    func (*PutResponse) String - - - -

    -
    func (x *PutResponse) String() string
    - - - - - - - - -

    type UnimplementedDatabaseServer - - - -

    -

    UnimplementedDatabaseServer should be embedded to have forward compatible implementations. - -

    type UnimplementedDatabaseServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedDatabaseServer) Close - - - -

    -
    func (UnimplementedDatabaseServer) Close(context.Context, *CloseRequest) (*CloseResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) Compact - - - -

    -
    func (UnimplementedDatabaseServer) Compact(context.Context, *CompactRequest) (*CompactResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) Delete - - - -

    -
    func (UnimplementedDatabaseServer) Delete(context.Context, *DeleteRequest) (*DeleteResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) Get - - - -

    -
    func (UnimplementedDatabaseServer) Get(context.Context, *GetRequest) (*GetResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) Has - - - -

    -
    func (UnimplementedDatabaseServer) Has(context.Context, *HasRequest) (*HasResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) HealthCheck - - - -

    -
    func (UnimplementedDatabaseServer) HealthCheck(context.Context, *emptypb.Empty) (*HealthCheckResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) IteratorError - - - -

    -
    func (UnimplementedDatabaseServer) IteratorError(context.Context, *IteratorErrorRequest) (*IteratorErrorResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) IteratorNext - - - -

    -
    func (UnimplementedDatabaseServer) IteratorNext(context.Context, *IteratorNextRequest) (*IteratorNextResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) IteratorRelease - - - -

    -
    func (UnimplementedDatabaseServer) IteratorRelease(context.Context, *IteratorReleaseRequest) (*IteratorReleaseResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix - - - -

    -
    func (UnimplementedDatabaseServer) NewIteratorWithStartAndPrefix(context.Context, *NewIteratorWithStartAndPrefixRequest) (*NewIteratorWithStartAndPrefixResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) Put - - - -

    -
    func (UnimplementedDatabaseServer) Put(context.Context, *PutRequest) (*PutResponse, error)
    - - - - - - -

    func (UnimplementedDatabaseServer) WriteBatch - - - -

    -
    func (UnimplementedDatabaseServer) WriteBatch(context.Context, *WriteBatchRequest) (*WriteBatchResponse, error)
    - - - - - - - - -

    type UnsafeDatabaseServer - - - -

    -

    UnsafeDatabaseServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to DatabaseServer will -result in compilation errors. - -

    type UnsafeDatabaseServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type WriteBatchRequest - - - -

    - -
    type WriteBatchRequest struct {
    -    Puts    []*PutRequest    `protobuf:"bytes,1,rep,name=puts,proto3" json:"puts,omitempty"`
    -    Deletes []*DeleteRequest `protobuf:"bytes,2,rep,name=deletes,proto3" json:"deletes,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteBatchRequest) Descriptor - - - -

    -
    func (*WriteBatchRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteBatchRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteBatchRequest) GetDeletes - - - -

    -
    func (x *WriteBatchRequest) GetDeletes() []*DeleteRequest
    - - - - - - -

    func (*WriteBatchRequest) GetPuts - - - -

    -
    func (x *WriteBatchRequest) GetPuts() []*PutRequest
    - - - - - - -

    func (*WriteBatchRequest) ProtoMessage - - - -

    -
    func (*WriteBatchRequest) ProtoMessage()
    - - - - - - -

    func (*WriteBatchRequest) ProtoReflect - - - -

    -
    func (x *WriteBatchRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteBatchRequest) Reset - - - -

    -
    func (x *WriteBatchRequest) Reset()
    - - - - - - -

    func (*WriteBatchRequest) String - - - -

    -
    func (x *WriteBatchRequest) String() string
    - - - - - - - - -

    type WriteBatchResponse - - - -

    - -
    type WriteBatchResponse struct {
    -    Err Error `protobuf:"varint,1,opt,name=err,proto3,enum=rpcdb.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*WriteBatchResponse) Descriptor - - - -

    -
    func (*WriteBatchResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use WriteBatchResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*WriteBatchResponse) GetErr - - - -

    -
    func (x *WriteBatchResponse) GetErr() Error
    - - - - - - -

    func (*WriteBatchResponse) ProtoMessage - - - -

    -
    func (*WriteBatchResponse) ProtoMessage()
    - - - - - - -

    func (*WriteBatchResponse) ProtoReflect - - - -

    -
    func (x *WriteBatchResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*WriteBatchResponse) Reset - - - -

    -
    func (x *WriteBatchResponse) Reset()
    - - - - - - -

    func (*WriteBatchResponse) String - - - -

    -
    func (x *WriteBatchResponse) String() string
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html deleted file mode 100644 index 639533c4..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/index.html +++ /dev/null @@ -1,8487 +0,0 @@ - - - - - - - - vm - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package vm - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/vm"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - -
    Constants
    - - -
    Variables
    - - - -
    func RegisterVMServer(s grpc.ServiceRegistrar, srv VMServer)
    - - - -
    type AppGossipMsg
    - - - -
        func (*AppGossipMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *AppGossipMsg) GetMsg() []byte
    - - -
        func (x *AppGossipMsg) GetNodeId() []byte
    - - -
        func (*AppGossipMsg) ProtoMessage()
    - - -
        func (x *AppGossipMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *AppGossipMsg) Reset()
    - - -
        func (x *AppGossipMsg) String() string
    - - - -
    type AppRequestFailedMsg
    - - - -
        func (*AppRequestFailedMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *AppRequestFailedMsg) GetErrorCode() int32
    - - -
        func (x *AppRequestFailedMsg) GetErrorMessage() string
    - - -
        func (x *AppRequestFailedMsg) GetNodeId() []byte
    - - -
        func (x *AppRequestFailedMsg) GetRequestId() uint32
    - - -
        func (*AppRequestFailedMsg) ProtoMessage()
    - - -
        func (x *AppRequestFailedMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *AppRequestFailedMsg) Reset()
    - - -
        func (x *AppRequestFailedMsg) String() string
    - - - -
    type AppRequestMsg
    - - - -
        func (*AppRequestMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *AppRequestMsg) GetDeadline() *timestamppb.Timestamp
    - - -
        func (x *AppRequestMsg) GetNodeId() []byte
    - - -
        func (x *AppRequestMsg) GetRequest() []byte
    - - -
        func (x *AppRequestMsg) GetRequestId() uint32
    - - -
        func (*AppRequestMsg) ProtoMessage()
    - - -
        func (x *AppRequestMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *AppRequestMsg) Reset()
    - - -
        func (x *AppRequestMsg) String() string
    - - - -
    type AppResponseMsg
    - - - -
        func (*AppResponseMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *AppResponseMsg) GetNodeId() []byte
    - - -
        func (x *AppResponseMsg) GetRequestId() uint32
    - - -
        func (x *AppResponseMsg) GetResponse() []byte
    - - -
        func (*AppResponseMsg) ProtoMessage()
    - - -
        func (x *AppResponseMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *AppResponseMsg) Reset()
    - - -
        func (x *AppResponseMsg) String() string
    - - - -
    type BatchedParseBlockRequest
    - - - -
        func (*BatchedParseBlockRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *BatchedParseBlockRequest) GetRequest() [][]byte
    - - -
        func (*BatchedParseBlockRequest) ProtoMessage()
    - - -
        func (x *BatchedParseBlockRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *BatchedParseBlockRequest) Reset()
    - - -
        func (x *BatchedParseBlockRequest) String() string
    - - - -
    type BatchedParseBlockResponse
    - - - -
        func (*BatchedParseBlockResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *BatchedParseBlockResponse) GetResponse() []*ParseBlockResponse
    - - -
        func (*BatchedParseBlockResponse) ProtoMessage()
    - - -
        func (x *BatchedParseBlockResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *BatchedParseBlockResponse) Reset()
    - - -
        func (x *BatchedParseBlockResponse) String() string
    - - - -
    type Block
    - - - -
        func (*Block) Descriptor() ([]byte, []int)
    - - -
        func (x *Block) GetBlock() []byte
    - - -
        func (x *Block) GetStatus() Status
    - - -
        func (*Block) ProtoMessage()
    - - -
        func (x *Block) ProtoReflect() protoreflect.Message
    - - -
        func (x *Block) Reset()
    - - -
        func (x *Block) String() string
    - - - -
    type BlockAcceptRequest
    - - - -
        func (*BlockAcceptRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *BlockAcceptRequest) GetId() []byte
    - - -
        func (*BlockAcceptRequest) ProtoMessage()
    - - -
        func (x *BlockAcceptRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *BlockAcceptRequest) Reset()
    - - -
        func (x *BlockAcceptRequest) String() string
    - - - -
    type BlockRejectRequest
    - - - -
        func (*BlockRejectRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *BlockRejectRequest) GetId() []byte
    - - -
        func (*BlockRejectRequest) ProtoMessage()
    - - -
        func (x *BlockRejectRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *BlockRejectRequest) Reset()
    - - -
        func (x *BlockRejectRequest) String() string
    - - - -
    type BlockVerifyRequest
    - - - -
        func (*BlockVerifyRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *BlockVerifyRequest) GetBytes() []byte
    - - -
        func (x *BlockVerifyRequest) GetPChainHeight() uint64
    - - -
        func (*BlockVerifyRequest) ProtoMessage()
    - - -
        func (x *BlockVerifyRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *BlockVerifyRequest) Reset()
    - - -
        func (x *BlockVerifyRequest) String() string
    - - - -
    type BlockVerifyResponse
    - - - -
        func (*BlockVerifyResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *BlockVerifyResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (*BlockVerifyResponse) ProtoMessage()
    - - -
        func (x *BlockVerifyResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *BlockVerifyResponse) Reset()
    - - -
        func (x *BlockVerifyResponse) String() string
    - - - -
    type BuildBlockRequest
    - - - -
        func (*BuildBlockRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *BuildBlockRequest) GetPChainHeight() uint64
    - - -
        func (*BuildBlockRequest) ProtoMessage()
    - - -
        func (x *BuildBlockRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *BuildBlockRequest) Reset()
    - - -
        func (x *BuildBlockRequest) String() string
    - - - -
    type BuildBlockResponse
    - - - -
        func (*BuildBlockResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *BuildBlockResponse) GetBytes() []byte
    - - -
        func (x *BuildBlockResponse) GetHeight() uint64
    - - -
        func (x *BuildBlockResponse) GetId() []byte
    - - -
        func (x *BuildBlockResponse) GetParentId() []byte
    - - -
        func (x *BuildBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (x *BuildBlockResponse) GetVerifyWithContext() bool
    - - -
        func (*BuildBlockResponse) ProtoMessage()
    - - -
        func (x *BuildBlockResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *BuildBlockResponse) Reset()
    - - -
        func (x *BuildBlockResponse) String() string
    - - - -
    type ConnectedRequest
    - - - -
        func (*ConnectedRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *ConnectedRequest) GetMajor() uint32
    - - -
        func (x *ConnectedRequest) GetMinor() uint32
    - - -
        func (x *ConnectedRequest) GetName() string
    - - -
        func (x *ConnectedRequest) GetNodeId() []byte
    - - -
        func (x *ConnectedRequest) GetPatch() uint32
    - - -
        func (*ConnectedRequest) ProtoMessage()
    - - -
        func (x *ConnectedRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *ConnectedRequest) Reset()
    - - -
        func (x *ConnectedRequest) String() string
    - - - -
    type CreateHandlersResponse
    - - - -
        func (*CreateHandlersResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *CreateHandlersResponse) GetHandlers() []*Handler
    - - -
        func (*CreateHandlersResponse) ProtoMessage()
    - - -
        func (x *CreateHandlersResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *CreateHandlersResponse) Reset()
    - - -
        func (x *CreateHandlersResponse) String() string
    - - - -
    type CrossChainAppRequestFailedMsg
    - - - -
        func (*CrossChainAppRequestFailedMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *CrossChainAppRequestFailedMsg) GetChainId() []byte
    - - -
        func (x *CrossChainAppRequestFailedMsg) GetErrorCode() int32
    - - -
        func (x *CrossChainAppRequestFailedMsg) GetErrorMessage() string
    - - -
        func (x *CrossChainAppRequestFailedMsg) GetRequestId() uint32
    - - -
        func (*CrossChainAppRequestFailedMsg) ProtoMessage()
    - - -
        func (x *CrossChainAppRequestFailedMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *CrossChainAppRequestFailedMsg) Reset()
    - - -
        func (x *CrossChainAppRequestFailedMsg) String() string
    - - - -
    type CrossChainAppRequestMsg
    - - - -
        func (*CrossChainAppRequestMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *CrossChainAppRequestMsg) GetChainId() []byte
    - - -
        func (x *CrossChainAppRequestMsg) GetDeadline() *timestamppb.Timestamp
    - - -
        func (x *CrossChainAppRequestMsg) GetRequest() []byte
    - - -
        func (x *CrossChainAppRequestMsg) GetRequestId() uint32
    - - -
        func (*CrossChainAppRequestMsg) ProtoMessage()
    - - -
        func (x *CrossChainAppRequestMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *CrossChainAppRequestMsg) Reset()
    - - -
        func (x *CrossChainAppRequestMsg) String() string
    - - - -
    type CrossChainAppResponseMsg
    - - - -
        func (*CrossChainAppResponseMsg) Descriptor() ([]byte, []int)
    - - -
        func (x *CrossChainAppResponseMsg) GetChainId() []byte
    - - -
        func (x *CrossChainAppResponseMsg) GetRequestId() uint32
    - - -
        func (x *CrossChainAppResponseMsg) GetResponse() []byte
    - - -
        func (*CrossChainAppResponseMsg) ProtoMessage()
    - - -
        func (x *CrossChainAppResponseMsg) ProtoReflect() protoreflect.Message
    - - -
        func (x *CrossChainAppResponseMsg) Reset()
    - - -
        func (x *CrossChainAppResponseMsg) String() string
    - - - -
    type DisconnectedRequest
    - - - -
        func (*DisconnectedRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *DisconnectedRequest) GetNodeId() []byte
    - - -
        func (*DisconnectedRequest) ProtoMessage()
    - - -
        func (x *DisconnectedRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *DisconnectedRequest) Reset()
    - - -
        func (x *DisconnectedRequest) String() string
    - - - -
    type Error
    - - - -
        func (Error) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x Error) Enum() *Error
    - - -
        func (Error) EnumDescriptor() ([]byte, []int)
    - - -
        func (x Error) Number() protoreflect.EnumNumber
    - - -
        func (x Error) String() string
    - - -
        func (Error) Type() protoreflect.EnumType
    - - - -
    type GatherResponse
    - - - -
        func (*GatherResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GatherResponse) GetMetricFamilies() []*_go.MetricFamily
    - - -
        func (*GatherResponse) ProtoMessage()
    - - -
        func (x *GatherResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GatherResponse) Reset()
    - - -
        func (x *GatherResponse) String() string
    - - - -
    type GetAncestorsRequest
    - - - -
        func (*GetAncestorsRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *GetAncestorsRequest) GetBlkId() []byte
    - - -
        func (x *GetAncestorsRequest) GetMaxBlocksNum() int32
    - - -
        func (x *GetAncestorsRequest) GetMaxBlocksRetrivalTime() int64
    - - -
        func (x *GetAncestorsRequest) GetMaxBlocksSize() int32
    - - -
        func (*GetAncestorsRequest) ProtoMessage()
    - - -
        func (x *GetAncestorsRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetAncestorsRequest) Reset()
    - - -
        func (x *GetAncestorsRequest) String() string
    - - - -
    type GetAncestorsResponse
    - - - -
        func (*GetAncestorsResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetAncestorsResponse) GetBlksBytes() [][]byte
    - - -
        func (*GetAncestorsResponse) ProtoMessage()
    - - -
        func (x *GetAncestorsResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetAncestorsResponse) Reset()
    - - -
        func (x *GetAncestorsResponse) String() string
    - - - -
    type GetBlockIDAtHeightRequest
    - - - -
        func (*GetBlockIDAtHeightRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *GetBlockIDAtHeightRequest) GetHeight() uint64
    - - -
        func (*GetBlockIDAtHeightRequest) ProtoMessage()
    - - -
        func (x *GetBlockIDAtHeightRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetBlockIDAtHeightRequest) Reset()
    - - -
        func (x *GetBlockIDAtHeightRequest) String() string
    - - - -
    type GetBlockIDAtHeightResponse
    - - - -
        func (*GetBlockIDAtHeightResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetBlockIDAtHeightResponse) GetBlkId() []byte
    - - -
        func (x *GetBlockIDAtHeightResponse) GetErr() Error
    - - -
        func (*GetBlockIDAtHeightResponse) ProtoMessage()
    - - -
        func (x *GetBlockIDAtHeightResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetBlockIDAtHeightResponse) Reset()
    - - -
        func (x *GetBlockIDAtHeightResponse) String() string
    - - - -
    type GetBlockRequest
    - - - -
        func (*GetBlockRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *GetBlockRequest) GetId() []byte
    - - -
        func (*GetBlockRequest) ProtoMessage()
    - - -
        func (x *GetBlockRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetBlockRequest) Reset()
    - - -
        func (x *GetBlockRequest) String() string
    - - - -
    type GetBlockResponse
    - - - -
        func (*GetBlockResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetBlockResponse) GetBytes() []byte
    - - -
        func (x *GetBlockResponse) GetErr() Error
    - - -
        func (x *GetBlockResponse) GetHeight() uint64
    - - -
        func (x *GetBlockResponse) GetParentId() []byte
    - - -
        func (x *GetBlockResponse) GetStatus() Status
    - - -
        func (x *GetBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (x *GetBlockResponse) GetVerifyWithContext() bool
    - - -
        func (*GetBlockResponse) ProtoMessage()
    - - -
        func (x *GetBlockResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetBlockResponse) Reset()
    - - -
        func (x *GetBlockResponse) String() string
    - - - -
    type GetLastStateSummaryResponse
    - - - -
        func (*GetLastStateSummaryResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetLastStateSummaryResponse) GetBytes() []byte
    - - -
        func (x *GetLastStateSummaryResponse) GetErr() Error
    - - -
        func (x *GetLastStateSummaryResponse) GetHeight() uint64
    - - -
        func (x *GetLastStateSummaryResponse) GetId() []byte
    - - -
        func (*GetLastStateSummaryResponse) ProtoMessage()
    - - -
        func (x *GetLastStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetLastStateSummaryResponse) Reset()
    - - -
        func (x *GetLastStateSummaryResponse) String() string
    - - - -
    type GetOngoingSyncStateSummaryResponse
    - - - -
        func (*GetOngoingSyncStateSummaryResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) GetBytes() []byte
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) GetErr() Error
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) GetHeight() uint64
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) GetId() []byte
    - - -
        func (*GetOngoingSyncStateSummaryResponse) ProtoMessage()
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) Reset()
    - - -
        func (x *GetOngoingSyncStateSummaryResponse) String() string
    - - - -
    type GetStateSummaryRequest
    - - - -
        func (*GetStateSummaryRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *GetStateSummaryRequest) GetHeight() uint64
    - - -
        func (*GetStateSummaryRequest) ProtoMessage()
    - - -
        func (x *GetStateSummaryRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetStateSummaryRequest) Reset()
    - - -
        func (x *GetStateSummaryRequest) String() string
    - - - -
    type GetStateSummaryResponse
    - - - -
        func (*GetStateSummaryResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *GetStateSummaryResponse) GetBytes() []byte
    - - -
        func (x *GetStateSummaryResponse) GetErr() Error
    - - -
        func (x *GetStateSummaryResponse) GetId() []byte
    - - -
        func (*GetStateSummaryResponse) ProtoMessage()
    - - -
        func (x *GetStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *GetStateSummaryResponse) Reset()
    - - -
        func (x *GetStateSummaryResponse) String() string
    - - - -
    type Handler
    - - - -
        func (*Handler) Descriptor() ([]byte, []int)
    - - -
        func (x *Handler) GetPrefix() string
    - - -
        func (x *Handler) GetServerAddr() string
    - - -
        func (*Handler) ProtoMessage()
    - - -
        func (x *Handler) ProtoReflect() protoreflect.Message
    - - -
        func (x *Handler) Reset()
    - - -
        func (x *Handler) String() string
    - - - -
    type HealthResponse
    - - - -
        func (*HealthResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *HealthResponse) GetDetails() []byte
    - - -
        func (*HealthResponse) ProtoMessage()
    - - -
        func (x *HealthResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *HealthResponse) Reset()
    - - -
        func (x *HealthResponse) String() string
    - - - -
    type InitializeRequest
    - - - -
        func (*InitializeRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *InitializeRequest) GetAvaxAssetId() []byte
    - - -
        func (x *InitializeRequest) GetCChainId() []byte
    - - -
        func (x *InitializeRequest) GetChainDataDir() string
    - - -
        func (x *InitializeRequest) GetChainId() []byte
    - - -
        func (x *InitializeRequest) GetConfigBytes() []byte
    - - -
        func (x *InitializeRequest) GetDbServerAddr() string
    - - -
        func (x *InitializeRequest) GetGenesisBytes() []byte
    - - -
        func (x *InitializeRequest) GetNetworkId() uint32
    - - -
        func (x *InitializeRequest) GetNodeId() []byte
    - - -
        func (x *InitializeRequest) GetPublicKey() []byte
    - - -
        func (x *InitializeRequest) GetServerAddr() string
    - - -
        func (x *InitializeRequest) GetSubnetId() []byte
    - - -
        func (x *InitializeRequest) GetUpgradeBytes() []byte
    - - -
        func (x *InitializeRequest) GetXChainId() []byte
    - - -
        func (*InitializeRequest) ProtoMessage()
    - - -
        func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *InitializeRequest) Reset()
    - - -
        func (x *InitializeRequest) String() string
    - - - -
    type InitializeResponse
    - - - -
        func (*InitializeResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *InitializeResponse) GetBytes() []byte
    - - -
        func (x *InitializeResponse) GetHeight() uint64
    - - -
        func (x *InitializeResponse) GetLastAcceptedId() []byte
    - - -
        func (x *InitializeResponse) GetLastAcceptedParentId() []byte
    - - -
        func (x *InitializeResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (*InitializeResponse) ProtoMessage()
    - - -
        func (x *InitializeResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *InitializeResponse) Reset()
    - - -
        func (x *InitializeResponse) String() string
    - - - -
    type ParseBlockRequest
    - - - -
        func (*ParseBlockRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *ParseBlockRequest) GetBytes() []byte
    - - -
        func (*ParseBlockRequest) ProtoMessage()
    - - -
        func (x *ParseBlockRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *ParseBlockRequest) Reset()
    - - -
        func (x *ParseBlockRequest) String() string
    - - - -
    type ParseBlockResponse
    - - - -
        func (*ParseBlockResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *ParseBlockResponse) GetHeight() uint64
    - - -
        func (x *ParseBlockResponse) GetId() []byte
    - - -
        func (x *ParseBlockResponse) GetParentId() []byte
    - - -
        func (x *ParseBlockResponse) GetStatus() Status
    - - -
        func (x *ParseBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (x *ParseBlockResponse) GetVerifyWithContext() bool
    - - -
        func (*ParseBlockResponse) ProtoMessage()
    - - -
        func (x *ParseBlockResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *ParseBlockResponse) Reset()
    - - -
        func (x *ParseBlockResponse) String() string
    - - - -
    type ParseStateSummaryRequest
    - - - -
        func (*ParseStateSummaryRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *ParseStateSummaryRequest) GetBytes() []byte
    - - -
        func (*ParseStateSummaryRequest) ProtoMessage()
    - - -
        func (x *ParseStateSummaryRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *ParseStateSummaryRequest) Reset()
    - - -
        func (x *ParseStateSummaryRequest) String() string
    - - - -
    type ParseStateSummaryResponse
    - - - -
        func (*ParseStateSummaryResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *ParseStateSummaryResponse) GetErr() Error
    - - -
        func (x *ParseStateSummaryResponse) GetHeight() uint64
    - - -
        func (x *ParseStateSummaryResponse) GetId() []byte
    - - -
        func (*ParseStateSummaryResponse) ProtoMessage()
    - - -
        func (x *ParseStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *ParseStateSummaryResponse) Reset()
    - - -
        func (x *ParseStateSummaryResponse) String() string
    - - - -
    type SetPreferenceRequest
    - - - -
        func (*SetPreferenceRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *SetPreferenceRequest) GetId() []byte
    - - -
        func (*SetPreferenceRequest) ProtoMessage()
    - - -
        func (x *SetPreferenceRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *SetPreferenceRequest) Reset()
    - - -
        func (x *SetPreferenceRequest) String() string
    - - - -
    type SetStateRequest
    - - - -
        func (*SetStateRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *SetStateRequest) GetState() State
    - - -
        func (*SetStateRequest) ProtoMessage()
    - - -
        func (x *SetStateRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *SetStateRequest) Reset()
    - - -
        func (x *SetStateRequest) String() string
    - - - -
    type SetStateResponse
    - - - -
        func (*SetStateResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *SetStateResponse) GetBytes() []byte
    - - -
        func (x *SetStateResponse) GetHeight() uint64
    - - -
        func (x *SetStateResponse) GetLastAcceptedId() []byte
    - - -
        func (x *SetStateResponse) GetLastAcceptedParentId() []byte
    - - -
        func (x *SetStateResponse) GetTimestamp() *timestamppb.Timestamp
    - - -
        func (*SetStateResponse) ProtoMessage()
    - - -
        func (x *SetStateResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *SetStateResponse) Reset()
    - - -
        func (x *SetStateResponse) String() string
    - - - -
    type State
    - - - -
        func (State) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x State) Enum() *State
    - - -
        func (State) EnumDescriptor() ([]byte, []int)
    - - -
        func (x State) Number() protoreflect.EnumNumber
    - - -
        func (x State) String() string
    - - -
        func (State) Type() protoreflect.EnumType
    - - - -
    type StateSummaryAcceptRequest
    - - - -
        func (*StateSummaryAcceptRequest) Descriptor() ([]byte, []int)
    - - -
        func (x *StateSummaryAcceptRequest) GetBytes() []byte
    - - -
        func (*StateSummaryAcceptRequest) ProtoMessage()
    - - -
        func (x *StateSummaryAcceptRequest) ProtoReflect() protoreflect.Message
    - - -
        func (x *StateSummaryAcceptRequest) Reset()
    - - -
        func (x *StateSummaryAcceptRequest) String() string
    - - - -
    type StateSummaryAcceptResponse
    - - - -
        func (*StateSummaryAcceptResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *StateSummaryAcceptResponse) GetErr() Error
    - - -
        func (x *StateSummaryAcceptResponse) GetMode() StateSummaryAcceptResponse_Mode
    - - -
        func (*StateSummaryAcceptResponse) ProtoMessage()
    - - -
        func (x *StateSummaryAcceptResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *StateSummaryAcceptResponse) Reset()
    - - -
        func (x *StateSummaryAcceptResponse) String() string
    - - - -
    type StateSummaryAcceptResponse_Mode
    - - - -
        func (StateSummaryAcceptResponse_Mode) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x StateSummaryAcceptResponse_Mode) Enum() *StateSummaryAcceptResponse_Mode
    - - -
        func (StateSummaryAcceptResponse_Mode) EnumDescriptor() ([]byte, []int)
    - - -
        func (x StateSummaryAcceptResponse_Mode) Number() protoreflect.EnumNumber
    - - -
        func (x StateSummaryAcceptResponse_Mode) String() string
    - - -
        func (StateSummaryAcceptResponse_Mode) Type() protoreflect.EnumType
    - - - -
    type StateSyncEnabledResponse
    - - - -
        func (*StateSyncEnabledResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *StateSyncEnabledResponse) GetEnabled() bool
    - - -
        func (x *StateSyncEnabledResponse) GetErr() Error
    - - -
        func (*StateSyncEnabledResponse) ProtoMessage()
    - - -
        func (x *StateSyncEnabledResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *StateSyncEnabledResponse) Reset()
    - - -
        func (x *StateSyncEnabledResponse) String() string
    - - - -
    type Status
    - - - -
        func (Status) Descriptor() protoreflect.EnumDescriptor
    - - -
        func (x Status) Enum() *Status
    - - -
        func (Status) EnumDescriptor() ([]byte, []int)
    - - -
        func (x Status) Number() protoreflect.EnumNumber
    - - -
        func (x Status) String() string
    - - -
        func (Status) Type() protoreflect.EnumType
    - - - -
    type UnimplementedVMServer
    - - - -
        func (UnimplementedVMServer) AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    - - -
        func (UnimplementedVMServer) BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    - - -
        func (UnimplementedVMServer) BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    - - -
        func (UnimplementedVMServer) Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    - - -
        func (UnimplementedVMServer) CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    - - -
        func (UnimplementedVMServer) GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    - - -
        func (UnimplementedVMServer) GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    - - -
        func (UnimplementedVMServer) GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    - - -
        func (UnimplementedVMServer) GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    - - -
        func (UnimplementedVMServer) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    - - -
        func (UnimplementedVMServer) GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    - - -
        func (UnimplementedVMServer) Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    - - -
        func (UnimplementedVMServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    - - -
        func (UnimplementedVMServer) ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    - - -
        func (UnimplementedVMServer) ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    - - -
        func (UnimplementedVMServer) SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    - - -
        func (UnimplementedVMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - -
        func (UnimplementedVMServer) StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    - - -
        func (UnimplementedVMServer) StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    - - -
        func (UnimplementedVMServer) Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    - - - -
    type UnsafeVMServer
    - - - - -
    type VMClient
    - - -
        func NewVMClient(cc grpc.ClientConnInterface) VMClient
    - - - - -
    type VMServer
    - - - - -
    type VersionResponse
    - - - -
        func (*VersionResponse) Descriptor() ([]byte, []int)
    - - -
        func (x *VersionResponse) GetVersion() string
    - - -
        func (*VersionResponse) ProtoMessage()
    - - -
        func (x *VersionResponse) ProtoReflect() protoreflect.Message
    - - -
        func (x *VersionResponse) Reset()
    - - -
        func (x *VersionResponse) String() string
    - - - -
    -
    - - - - -

    Package files

    -

    - - - landslidevm.pb.go - - landslidevm_grpc.pb.go - - -

    - -
    -
    - - - - -

    Constants

    - - -
    const (
    -    VM_Initialize_FullMethodName                 = "/vm.VM/Initialize"
    -    VM_SetState_FullMethodName                   = "/vm.VM/SetState"
    -    VM_Shutdown_FullMethodName                   = "/vm.VM/Shutdown"
    -    VM_CreateHandlers_FullMethodName             = "/vm.VM/CreateHandlers"
    -    VM_Connected_FullMethodName                  = "/vm.VM/Connected"
    -    VM_Disconnected_FullMethodName               = "/vm.VM/Disconnected"
    -    VM_BuildBlock_FullMethodName                 = "/vm.VM/BuildBlock"
    -    VM_ParseBlock_FullMethodName                 = "/vm.VM/ParseBlock"
    -    VM_GetBlock_FullMethodName                   = "/vm.VM/GetBlock"
    -    VM_SetPreference_FullMethodName              = "/vm.VM/SetPreference"
    -    VM_Health_FullMethodName                     = "/vm.VM/Health"
    -    VM_Version_FullMethodName                    = "/vm.VM/Version"
    -    VM_AppRequest_FullMethodName                 = "/vm.VM/AppRequest"
    -    VM_AppRequestFailed_FullMethodName           = "/vm.VM/AppRequestFailed"
    -    VM_AppResponse_FullMethodName                = "/vm.VM/AppResponse"
    -    VM_AppGossip_FullMethodName                  = "/vm.VM/AppGossip"
    -    VM_Gather_FullMethodName                     = "/vm.VM/Gather"
    -    VM_CrossChainAppRequest_FullMethodName       = "/vm.VM/CrossChainAppRequest"
    -    VM_CrossChainAppRequestFailed_FullMethodName = "/vm.VM/CrossChainAppRequestFailed"
    -    VM_CrossChainAppResponse_FullMethodName      = "/vm.VM/CrossChainAppResponse"
    -    VM_GetAncestors_FullMethodName               = "/vm.VM/GetAncestors"
    -    VM_BatchedParseBlock_FullMethodName          = "/vm.VM/BatchedParseBlock"
    -    VM_GetBlockIDAtHeight_FullMethodName         = "/vm.VM/GetBlockIDAtHeight"
    -    VM_StateSyncEnabled_FullMethodName           = "/vm.VM/StateSyncEnabled"
    -    VM_GetOngoingSyncStateSummary_FullMethodName = "/vm.VM/GetOngoingSyncStateSummary"
    -    VM_GetLastStateSummary_FullMethodName        = "/vm.VM/GetLastStateSummary"
    -    VM_ParseStateSummary_FullMethodName          = "/vm.VM/ParseStateSummary"
    -    VM_GetStateSummary_FullMethodName            = "/vm.VM/GetStateSummary"
    -    VM_BlockVerify_FullMethodName                = "/vm.VM/BlockVerify"
    -    VM_BlockAccept_FullMethodName                = "/vm.VM/BlockAccept"
    -    VM_BlockReject_FullMethodName                = "/vm.VM/BlockReject"
    -    VM_StateSummaryAccept_FullMethodName         = "/vm.VM/StateSummaryAccept"
    -)
    - - - -

    Variables

    - -

    Enum value maps for State. - -

    var (
    -    State_name = map[int32]string{
    -        0: "STATE_UNSPECIFIED",
    -        1: "STATE_STATE_SYNCING",
    -        2: "STATE_BOOTSTRAPPING",
    -        3: "STATE_NORMAL_OP",
    -    }
    -    State_value = map[string]int32{
    -        "STATE_UNSPECIFIED":   0,
    -        "STATE_STATE_SYNCING": 1,
    -        "STATE_BOOTSTRAPPING": 2,
    -        "STATE_NORMAL_OP":     3,
    -    }
    -)
    - -

    Enum value maps for Status. - -

    var (
    -    Status_name = map[int32]string{
    -        0: "STATUS_UNSPECIFIED",
    -        1: "STATUS_PROCESSING",
    -        2: "STATUS_REJECTED",
    -        3: "STATUS_ACCEPTED",
    -    }
    -    Status_value = map[string]int32{
    -        "STATUS_UNSPECIFIED": 0,
    -        "STATUS_PROCESSING":  1,
    -        "STATUS_REJECTED":    2,
    -        "STATUS_ACCEPTED":    3,
    -    }
    -)
    - -

    Enum value maps for Error. - -

    var (
    -    Error_name = map[int32]string{
    -        0: "ERROR_UNSPECIFIED",
    -        1: "ERROR_CLOSED",
    -        2: "ERROR_NOT_FOUND",
    -        3: "ERROR_STATE_SYNC_NOT_IMPLEMENTED",
    -    }
    -    Error_value = map[string]int32{
    -        "ERROR_UNSPECIFIED":                0,
    -        "ERROR_CLOSED":                     1,
    -        "ERROR_NOT_FOUND":                  2,
    -        "ERROR_STATE_SYNC_NOT_IMPLEMENTED": 3,
    -    }
    -)
    - -

    Enum value maps for StateSummaryAcceptResponse_Mode. - -

    var (
    -    StateSummaryAcceptResponse_Mode_name = map[int32]string{
    -        0: "MODE_UNSPECIFIED",
    -        1: "MODE_SKIPPED",
    -        2: "MODE_STATIC",
    -        3: "MODE_DYNAMIC",
    -    }
    -    StateSummaryAcceptResponse_Mode_value = map[string]int32{
    -        "MODE_UNSPECIFIED": 0,
    -        "MODE_SKIPPED":     1,
    -        "MODE_STATIC":      2,
    -        "MODE_DYNAMIC":     3,
    -    }
    -)
    - - -
    var File_vm_landslidevm_proto protoreflect.FileDescriptor
    - -

    VM_ServiceDesc is the grpc.ServiceDesc for VM service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var VM_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "vm.VM",
    -    HandlerType: (*VMServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Initialize",
    -            Handler:    _VM_Initialize_Handler,
    -        },
    -        {
    -            MethodName: "SetState",
    -            Handler:    _VM_SetState_Handler,
    -        },
    -        {
    -            MethodName: "Shutdown",
    -            Handler:    _VM_Shutdown_Handler,
    -        },
    -        {
    -            MethodName: "CreateHandlers",
    -            Handler:    _VM_CreateHandlers_Handler,
    -        },
    -        {
    -            MethodName: "Connected",
    -            Handler:    _VM_Connected_Handler,
    -        },
    -        {
    -            MethodName: "Disconnected",
    -            Handler:    _VM_Disconnected_Handler,
    -        },
    -        {
    -            MethodName: "BuildBlock",
    -            Handler:    _VM_BuildBlock_Handler,
    -        },
    -        {
    -            MethodName: "ParseBlock",
    -            Handler:    _VM_ParseBlock_Handler,
    -        },
    -        {
    -            MethodName: "GetBlock",
    -            Handler:    _VM_GetBlock_Handler,
    -        },
    -        {
    -            MethodName: "SetPreference",
    -            Handler:    _VM_SetPreference_Handler,
    -        },
    -        {
    -            MethodName: "Health",
    -            Handler:    _VM_Health_Handler,
    -        },
    -        {
    -            MethodName: "Version",
    -            Handler:    _VM_Version_Handler,
    -        },
    -        {
    -            MethodName: "AppRequest",
    -            Handler:    _VM_AppRequest_Handler,
    -        },
    -        {
    -            MethodName: "AppRequestFailed",
    -            Handler:    _VM_AppRequestFailed_Handler,
    -        },
    -        {
    -            MethodName: "AppResponse",
    -            Handler:    _VM_AppResponse_Handler,
    -        },
    -        {
    -            MethodName: "AppGossip",
    -            Handler:    _VM_AppGossip_Handler,
    -        },
    -        {
    -            MethodName: "Gather",
    -            Handler:    _VM_Gather_Handler,
    -        },
    -        {
    -            MethodName: "CrossChainAppRequest",
    -            Handler:    _VM_CrossChainAppRequest_Handler,
    -        },
    -        {
    -            MethodName: "CrossChainAppRequestFailed",
    -            Handler:    _VM_CrossChainAppRequestFailed_Handler,
    -        },
    -        {
    -            MethodName: "CrossChainAppResponse",
    -            Handler:    _VM_CrossChainAppResponse_Handler,
    -        },
    -        {
    -            MethodName: "GetAncestors",
    -            Handler:    _VM_GetAncestors_Handler,
    -        },
    -        {
    -            MethodName: "BatchedParseBlock",
    -            Handler:    _VM_BatchedParseBlock_Handler,
    -        },
    -        {
    -            MethodName: "GetBlockIDAtHeight",
    -            Handler:    _VM_GetBlockIDAtHeight_Handler,
    -        },
    -        {
    -            MethodName: "StateSyncEnabled",
    -            Handler:    _VM_StateSyncEnabled_Handler,
    -        },
    -        {
    -            MethodName: "GetOngoingSyncStateSummary",
    -            Handler:    _VM_GetOngoingSyncStateSummary_Handler,
    -        },
    -        {
    -            MethodName: "GetLastStateSummary",
    -            Handler:    _VM_GetLastStateSummary_Handler,
    -        },
    -        {
    -            MethodName: "ParseStateSummary",
    -            Handler:    _VM_ParseStateSummary_Handler,
    -        },
    -        {
    -            MethodName: "GetStateSummary",
    -            Handler:    _VM_GetStateSummary_Handler,
    -        },
    -        {
    -            MethodName: "BlockVerify",
    -            Handler:    _VM_BlockVerify_Handler,
    -        },
    -        {
    -            MethodName: "BlockAccept",
    -            Handler:    _VM_BlockAccept_Handler,
    -        },
    -        {
    -            MethodName: "BlockReject",
    -            Handler:    _VM_BlockReject_Handler,
    -        },
    -        {
    -            MethodName: "StateSummaryAccept",
    -            Handler:    _VM_StateSummaryAccept_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "vm/landslidevm.proto",
    -}
    - - - - - -

    func RegisterVMServer - - - -

    -
    func RegisterVMServer(s grpc.ServiceRegistrar, srv VMServer)
    - - - - - - - - -

    type AppGossipMsg - - - -

    - -
    type AppGossipMsg struct {
    -
    -    // The node that sent us a gossip message
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // The message body
    -    Msg []byte `protobuf:"bytes,2,opt,name=msg,proto3" json:"msg,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*AppGossipMsg) Descriptor - - - -

    -
    func (*AppGossipMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use AppGossipMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*AppGossipMsg) GetMsg - - - -

    -
    func (x *AppGossipMsg) GetMsg() []byte
    - - - - - - -

    func (*AppGossipMsg) GetNodeId - - - -

    -
    func (x *AppGossipMsg) GetNodeId() []byte
    - - - - - - -

    func (*AppGossipMsg) ProtoMessage - - - -

    -
    func (*AppGossipMsg) ProtoMessage()
    - - - - - - -

    func (*AppGossipMsg) ProtoReflect - - - -

    -
    func (x *AppGossipMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*AppGossipMsg) Reset - - - -

    -
    func (x *AppGossipMsg) Reset()
    - - - - - - -

    func (*AppGossipMsg) String - - - -

    -
    func (x *AppGossipMsg) String() string
    - - - - - - - - -

    type AppRequestFailedMsg - - - -

    - -
    type AppRequestFailedMsg struct {
    -
    -    // The node that we failed to get a response from
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // The ID of the request we sent and didn't get a response to
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // Application-defined error code
    -    ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
    -    // Application-defined error message
    -    ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*AppRequestFailedMsg) Descriptor - - - -

    -
    func (*AppRequestFailedMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use AppRequestFailedMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*AppRequestFailedMsg) GetErrorCode - - - -

    -
    func (x *AppRequestFailedMsg) GetErrorCode() int32
    - - - - - - -

    func (*AppRequestFailedMsg) GetErrorMessage - - - -

    -
    func (x *AppRequestFailedMsg) GetErrorMessage() string
    - - - - - - -

    func (*AppRequestFailedMsg) GetNodeId - - - -

    -
    func (x *AppRequestFailedMsg) GetNodeId() []byte
    - - - - - - -

    func (*AppRequestFailedMsg) GetRequestId - - - -

    -
    func (x *AppRequestFailedMsg) GetRequestId() uint32
    - - - - - - -

    func (*AppRequestFailedMsg) ProtoMessage - - - -

    -
    func (*AppRequestFailedMsg) ProtoMessage()
    - - - - - - -

    func (*AppRequestFailedMsg) ProtoReflect - - - -

    -
    func (x *AppRequestFailedMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*AppRequestFailedMsg) Reset - - - -

    -
    func (x *AppRequestFailedMsg) Reset()
    - - - - - - -

    func (*AppRequestFailedMsg) String - - - -

    -
    func (x *AppRequestFailedMsg) String() string
    - - - - - - - - -

    type AppRequestMsg - - - -

    - -
    type AppRequestMsg struct {
    -
    -    // The node that sent us this request
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // The ID of this request
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // deadline for this request
    -    Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
    -    // The request body
    -    Request []byte `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*AppRequestMsg) Descriptor - - - -

    -
    func (*AppRequestMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use AppRequestMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*AppRequestMsg) GetDeadline - - - -

    -
    func (x *AppRequestMsg) GetDeadline() *timestamppb.Timestamp
    - - - - - - -

    func (*AppRequestMsg) GetNodeId - - - -

    -
    func (x *AppRequestMsg) GetNodeId() []byte
    - - - - - - -

    func (*AppRequestMsg) GetRequest - - - -

    -
    func (x *AppRequestMsg) GetRequest() []byte
    - - - - - - -

    func (*AppRequestMsg) GetRequestId - - - -

    -
    func (x *AppRequestMsg) GetRequestId() uint32
    - - - - - - -

    func (*AppRequestMsg) ProtoMessage - - - -

    -
    func (*AppRequestMsg) ProtoMessage()
    - - - - - - -

    func (*AppRequestMsg) ProtoReflect - - - -

    -
    func (x *AppRequestMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*AppRequestMsg) Reset - - - -

    -
    func (x *AppRequestMsg) Reset()
    - - - - - - -

    func (*AppRequestMsg) String - - - -

    -
    func (x *AppRequestMsg) String() string
    - - - - - - - - -

    type AppResponseMsg - - - -

    - -
    type AppResponseMsg struct {
    -
    -    // The node that we got a response from
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // Request ID of request that this is in response to
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // The response body
    -    Response []byte `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*AppResponseMsg) Descriptor - - - -

    -
    func (*AppResponseMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use AppResponseMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*AppResponseMsg) GetNodeId - - - -

    -
    func (x *AppResponseMsg) GetNodeId() []byte
    - - - - - - -

    func (*AppResponseMsg) GetRequestId - - - -

    -
    func (x *AppResponseMsg) GetRequestId() uint32
    - - - - - - -

    func (*AppResponseMsg) GetResponse - - - -

    -
    func (x *AppResponseMsg) GetResponse() []byte
    - - - - - - -

    func (*AppResponseMsg) ProtoMessage - - - -

    -
    func (*AppResponseMsg) ProtoMessage()
    - - - - - - -

    func (*AppResponseMsg) ProtoReflect - - - -

    -
    func (x *AppResponseMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*AppResponseMsg) Reset - - - -

    -
    func (x *AppResponseMsg) Reset()
    - - - - - - -

    func (*AppResponseMsg) String - - - -

    -
    func (x *AppResponseMsg) String() string
    - - - - - - - - -

    type BatchedParseBlockRequest - - - -

    - -
    type BatchedParseBlockRequest struct {
    -    Request [][]byte `protobuf:"bytes,1,rep,name=request,proto3" json:"request,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BatchedParseBlockRequest) Descriptor - - - -

    -
    func (*BatchedParseBlockRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BatchedParseBlockRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BatchedParseBlockRequest) GetRequest - - - -

    -
    func (x *BatchedParseBlockRequest) GetRequest() [][]byte
    - - - - - - -

    func (*BatchedParseBlockRequest) ProtoMessage - - - -

    -
    func (*BatchedParseBlockRequest) ProtoMessage()
    - - - - - - -

    func (*BatchedParseBlockRequest) ProtoReflect - - - -

    -
    func (x *BatchedParseBlockRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BatchedParseBlockRequest) Reset - - - -

    -
    func (x *BatchedParseBlockRequest) Reset()
    - - - - - - -

    func (*BatchedParseBlockRequest) String - - - -

    -
    func (x *BatchedParseBlockRequest) String() string
    - - - - - - - - -

    type BatchedParseBlockResponse - - - -

    - -
    type BatchedParseBlockResponse struct {
    -    Response []*ParseBlockResponse `protobuf:"bytes,1,rep,name=response,proto3" json:"response,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BatchedParseBlockResponse) Descriptor - - - -

    -
    func (*BatchedParseBlockResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BatchedParseBlockResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BatchedParseBlockResponse) GetResponse - - - -

    -
    func (x *BatchedParseBlockResponse) GetResponse() []*ParseBlockResponse
    - - - - - - -

    func (*BatchedParseBlockResponse) ProtoMessage - - - -

    -
    func (*BatchedParseBlockResponse) ProtoMessage()
    - - - - - - -

    func (*BatchedParseBlockResponse) ProtoReflect - - - -

    -
    func (x *BatchedParseBlockResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BatchedParseBlockResponse) Reset - - - -

    -
    func (x *BatchedParseBlockResponse) Reset()
    - - - - - - -

    func (*BatchedParseBlockResponse) String - - - -

    -
    func (x *BatchedParseBlockResponse) String() string
    - - - - - - - - -

    type Block - - - -

    - -
    type Block struct {
    -    Block  []byte `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
    -    Status Status `protobuf:"varint,2,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Block) Descriptor - - - -

    -
    func (*Block) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Block.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Block) GetBlock - - - -

    -
    func (x *Block) GetBlock() []byte
    - - - - - - -

    func (*Block) GetStatus - - - -

    -
    func (x *Block) GetStatus() Status
    - - - - - - -

    func (*Block) ProtoMessage - - - -

    -
    func (*Block) ProtoMessage()
    - - - - - - -

    func (*Block) ProtoReflect - - - -

    -
    func (x *Block) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Block) Reset - - - -

    -
    func (x *Block) Reset()
    - - - - - - -

    func (*Block) String - - - -

    -
    func (x *Block) String() string
    - - - - - - - - -

    type BlockAcceptRequest - - - -

    - -
    type BlockAcceptRequest struct {
    -    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BlockAcceptRequest) Descriptor - - - -

    -
    func (*BlockAcceptRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BlockAcceptRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BlockAcceptRequest) GetId - - - -

    -
    func (x *BlockAcceptRequest) GetId() []byte
    - - - - - - -

    func (*BlockAcceptRequest) ProtoMessage - - - -

    -
    func (*BlockAcceptRequest) ProtoMessage()
    - - - - - - -

    func (*BlockAcceptRequest) ProtoReflect - - - -

    -
    func (x *BlockAcceptRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BlockAcceptRequest) Reset - - - -

    -
    func (x *BlockAcceptRequest) Reset()
    - - - - - - -

    func (*BlockAcceptRequest) String - - - -

    -
    func (x *BlockAcceptRequest) String() string
    - - - - - - - - -

    type BlockRejectRequest - - - -

    - -
    type BlockRejectRequest struct {
    -    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BlockRejectRequest) Descriptor - - - -

    -
    func (*BlockRejectRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BlockRejectRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BlockRejectRequest) GetId - - - -

    -
    func (x *BlockRejectRequest) GetId() []byte
    - - - - - - -

    func (*BlockRejectRequest) ProtoMessage - - - -

    -
    func (*BlockRejectRequest) ProtoMessage()
    - - - - - - -

    func (*BlockRejectRequest) ProtoReflect - - - -

    -
    func (x *BlockRejectRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BlockRejectRequest) Reset - - - -

    -
    func (x *BlockRejectRequest) Reset()
    - - - - - - -

    func (*BlockRejectRequest) String - - - -

    -
    func (x *BlockRejectRequest) String() string
    - - - - - - - - -

    type BlockVerifyRequest - - - -

    - -
    type BlockVerifyRequest struct {
    -    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    // If set, the VM server casts the block to a [block.WithVerifyContext] and
    -    // calls [VerifyWithContext] instead of [Verify].
    -    PChainHeight *uint64 `protobuf:"varint,2,opt,name=p_chain_height,json=pChainHeight,proto3,oneof" json:"p_chain_height,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BlockVerifyRequest) Descriptor - - - -

    -
    func (*BlockVerifyRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BlockVerifyRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BlockVerifyRequest) GetBytes - - - -

    -
    func (x *BlockVerifyRequest) GetBytes() []byte
    - - - - - - -

    func (*BlockVerifyRequest) GetPChainHeight - - - -

    -
    func (x *BlockVerifyRequest) GetPChainHeight() uint64
    - - - - - - -

    func (*BlockVerifyRequest) ProtoMessage - - - -

    -
    func (*BlockVerifyRequest) ProtoMessage()
    - - - - - - -

    func (*BlockVerifyRequest) ProtoReflect - - - -

    -
    func (x *BlockVerifyRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BlockVerifyRequest) Reset - - - -

    -
    func (x *BlockVerifyRequest) Reset()
    - - - - - - -

    func (*BlockVerifyRequest) String - - - -

    -
    func (x *BlockVerifyRequest) String() string
    - - - - - - - - -

    type BlockVerifyResponse - - - -

    - -
    type BlockVerifyResponse struct {
    -    Timestamp *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BlockVerifyResponse) Descriptor - - - -

    -
    func (*BlockVerifyResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BlockVerifyResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BlockVerifyResponse) GetTimestamp - - - -

    -
    func (x *BlockVerifyResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*BlockVerifyResponse) ProtoMessage - - - -

    -
    func (*BlockVerifyResponse) ProtoMessage()
    - - - - - - -

    func (*BlockVerifyResponse) ProtoReflect - - - -

    -
    func (x *BlockVerifyResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BlockVerifyResponse) Reset - - - -

    -
    func (x *BlockVerifyResponse) Reset()
    - - - - - - -

    func (*BlockVerifyResponse) String - - - -

    -
    func (x *BlockVerifyResponse) String() string
    - - - - - - - - -

    type BuildBlockRequest - - - -

    - -
    type BuildBlockRequest struct {
    -    PChainHeight *uint64 `protobuf:"varint,1,opt,name=p_chain_height,json=pChainHeight,proto3,oneof" json:"p_chain_height,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BuildBlockRequest) Descriptor - - - -

    -
    func (*BuildBlockRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BuildBlockRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BuildBlockRequest) GetPChainHeight - - - -

    -
    func (x *BuildBlockRequest) GetPChainHeight() uint64
    - - - - - - -

    func (*BuildBlockRequest) ProtoMessage - - - -

    -
    func (*BuildBlockRequest) ProtoMessage()
    - - - - - - -

    func (*BuildBlockRequest) ProtoReflect - - - -

    -
    func (x *BuildBlockRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BuildBlockRequest) Reset - - - -

    -
    func (x *BuildBlockRequest) Reset()
    - - - - - - -

    func (*BuildBlockRequest) String - - - -

    -
    func (x *BuildBlockRequest) String() string
    - - - - - - - - -

    type BuildBlockResponse - - - -

    -

    Note: The status of a freshly built block is assumed to be Processing. - -

    type BuildBlockResponse struct {
    -    Id                []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    ParentId          []byte                 `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    -    Bytes             []byte                 `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Height            uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    -    Timestamp         *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    VerifyWithContext bool                   `protobuf:"varint,6,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*BuildBlockResponse) Descriptor - - - -

    -
    func (*BuildBlockResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use BuildBlockResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*BuildBlockResponse) GetBytes - - - -

    -
    func (x *BuildBlockResponse) GetBytes() []byte
    - - - - - - -

    func (*BuildBlockResponse) GetHeight - - - -

    -
    func (x *BuildBlockResponse) GetHeight() uint64
    - - - - - - -

    func (*BuildBlockResponse) GetId - - - -

    -
    func (x *BuildBlockResponse) GetId() []byte
    - - - - - - -

    func (*BuildBlockResponse) GetParentId - - - -

    -
    func (x *BuildBlockResponse) GetParentId() []byte
    - - - - - - -

    func (*BuildBlockResponse) GetTimestamp - - - -

    -
    func (x *BuildBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*BuildBlockResponse) GetVerifyWithContext - - - -

    -
    func (x *BuildBlockResponse) GetVerifyWithContext() bool
    - - - - - - -

    func (*BuildBlockResponse) ProtoMessage - - - -

    -
    func (*BuildBlockResponse) ProtoMessage()
    - - - - - - -

    func (*BuildBlockResponse) ProtoReflect - - - -

    -
    func (x *BuildBlockResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*BuildBlockResponse) Reset - - - -

    -
    func (x *BuildBlockResponse) Reset()
    - - - - - - -

    func (*BuildBlockResponse) String - - - -

    -
    func (x *BuildBlockResponse) String() string
    - - - - - - - - -

    type ConnectedRequest - - - -

    - -
    type ConnectedRequest struct {
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // Client name (e.g avalanchego)
    -    Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
    -    // Client semantic version
    -    Major uint32 `protobuf:"varint,3,opt,name=major,proto3" json:"major,omitempty"`
    -    Minor uint32 `protobuf:"varint,4,opt,name=minor,proto3" json:"minor,omitempty"`
    -    Patch uint32 `protobuf:"varint,5,opt,name=patch,proto3" json:"patch,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ConnectedRequest) Descriptor - - - -

    -
    func (*ConnectedRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ConnectedRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ConnectedRequest) GetMajor - - - -

    -
    func (x *ConnectedRequest) GetMajor() uint32
    - - - - - - -

    func (*ConnectedRequest) GetMinor - - - -

    -
    func (x *ConnectedRequest) GetMinor() uint32
    - - - - - - -

    func (*ConnectedRequest) GetName - - - -

    -
    func (x *ConnectedRequest) GetName() string
    - - - - - - -

    func (*ConnectedRequest) GetNodeId - - - -

    -
    func (x *ConnectedRequest) GetNodeId() []byte
    - - - - - - -

    func (*ConnectedRequest) GetPatch - - - -

    -
    func (x *ConnectedRequest) GetPatch() uint32
    - - - - - - -

    func (*ConnectedRequest) ProtoMessage - - - -

    -
    func (*ConnectedRequest) ProtoMessage()
    - - - - - - -

    func (*ConnectedRequest) ProtoReflect - - - -

    -
    func (x *ConnectedRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ConnectedRequest) Reset - - - -

    -
    func (x *ConnectedRequest) Reset()
    - - - - - - -

    func (*ConnectedRequest) String - - - -

    -
    func (x *ConnectedRequest) String() string
    - - - - - - - - -

    type CreateHandlersResponse - - - -

    - -
    type CreateHandlersResponse struct {
    -    Handlers []*Handler `protobuf:"bytes,1,rep,name=handlers,proto3" json:"handlers,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CreateHandlersResponse) Descriptor - - - -

    -
    func (*CreateHandlersResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CreateHandlersResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CreateHandlersResponse) GetHandlers - - - -

    -
    func (x *CreateHandlersResponse) GetHandlers() []*Handler
    - - - - - - -

    func (*CreateHandlersResponse) ProtoMessage - - - -

    -
    func (*CreateHandlersResponse) ProtoMessage()
    - - - - - - -

    func (*CreateHandlersResponse) ProtoReflect - - - -

    -
    func (x *CreateHandlersResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CreateHandlersResponse) Reset - - - -

    -
    func (x *CreateHandlersResponse) Reset()
    - - - - - - -

    func (*CreateHandlersResponse) String - - - -

    -
    func (x *CreateHandlersResponse) String() string
    - - - - - - - - -

    type CrossChainAppRequestFailedMsg - - - -

    - -
    type CrossChainAppRequestFailedMsg struct {
    -
    -    // The chain that we failed to get a response from
    -    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    -    // The ID of the request we sent and didn't get a response to
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // Application-defined error code
    -    ErrorCode int32 `protobuf:"zigzag32,3,opt,name=error_code,json=errorCode,proto3" json:"error_code,omitempty"`
    -    // Application-defined error message
    -    ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CrossChainAppRequestFailedMsg) Descriptor - - - -

    -
    func (*CrossChainAppRequestFailedMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CrossChainAppRequestFailedMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CrossChainAppRequestFailedMsg) GetChainId - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) GetChainId() []byte
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) GetErrorCode - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) GetErrorCode() int32
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) GetErrorMessage - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) GetErrorMessage() string
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) GetRequestId - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) GetRequestId() uint32
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) ProtoMessage - - - -

    -
    func (*CrossChainAppRequestFailedMsg) ProtoMessage()
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) ProtoReflect - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) Reset - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) Reset()
    - - - - - - -

    func (*CrossChainAppRequestFailedMsg) String - - - -

    -
    func (x *CrossChainAppRequestFailedMsg) String() string
    - - - - - - - - -

    type CrossChainAppRequestMsg - - - -

    - -
    type CrossChainAppRequestMsg struct {
    -
    -    // The chain that sent us this request
    -    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    -    // The ID of this request
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // deadline for this request
    -    Deadline *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=deadline,proto3" json:"deadline,omitempty"`
    -    // The request body
    -    Request []byte `protobuf:"bytes,4,opt,name=request,proto3" json:"request,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CrossChainAppRequestMsg) Descriptor - - - -

    -
    func (*CrossChainAppRequestMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CrossChainAppRequestMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CrossChainAppRequestMsg) GetChainId - - - -

    -
    func (x *CrossChainAppRequestMsg) GetChainId() []byte
    - - - - - - -

    func (*CrossChainAppRequestMsg) GetDeadline - - - -

    -
    func (x *CrossChainAppRequestMsg) GetDeadline() *timestamppb.Timestamp
    - - - - - - -

    func (*CrossChainAppRequestMsg) GetRequest - - - -

    -
    func (x *CrossChainAppRequestMsg) GetRequest() []byte
    - - - - - - -

    func (*CrossChainAppRequestMsg) GetRequestId - - - -

    -
    func (x *CrossChainAppRequestMsg) GetRequestId() uint32
    - - - - - - -

    func (*CrossChainAppRequestMsg) ProtoMessage - - - -

    -
    func (*CrossChainAppRequestMsg) ProtoMessage()
    - - - - - - -

    func (*CrossChainAppRequestMsg) ProtoReflect - - - -

    -
    func (x *CrossChainAppRequestMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CrossChainAppRequestMsg) Reset - - - -

    -
    func (x *CrossChainAppRequestMsg) Reset()
    - - - - - - -

    func (*CrossChainAppRequestMsg) String - - - -

    -
    func (x *CrossChainAppRequestMsg) String() string
    - - - - - - - - -

    type CrossChainAppResponseMsg - - - -

    - -
    type CrossChainAppResponseMsg struct {
    -
    -    // The chain that we got a response from
    -    ChainId []byte `protobuf:"bytes,1,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    -    // Request ID of request that this is in response to
    -    RequestId uint32 `protobuf:"varint,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
    -    // The response body
    -    Response []byte `protobuf:"bytes,3,opt,name=response,proto3" json:"response,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*CrossChainAppResponseMsg) Descriptor - - - -

    -
    func (*CrossChainAppResponseMsg) Descriptor() ([]byte, []int)
    -

    Deprecated: Use CrossChainAppResponseMsg.ProtoReflect.Descriptor instead. - - - - - - -

    func (*CrossChainAppResponseMsg) GetChainId - - - -

    -
    func (x *CrossChainAppResponseMsg) GetChainId() []byte
    - - - - - - -

    func (*CrossChainAppResponseMsg) GetRequestId - - - -

    -
    func (x *CrossChainAppResponseMsg) GetRequestId() uint32
    - - - - - - -

    func (*CrossChainAppResponseMsg) GetResponse - - - -

    -
    func (x *CrossChainAppResponseMsg) GetResponse() []byte
    - - - - - - -

    func (*CrossChainAppResponseMsg) ProtoMessage - - - -

    -
    func (*CrossChainAppResponseMsg) ProtoMessage()
    - - - - - - -

    func (*CrossChainAppResponseMsg) ProtoReflect - - - -

    -
    func (x *CrossChainAppResponseMsg) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*CrossChainAppResponseMsg) Reset - - - -

    -
    func (x *CrossChainAppResponseMsg) Reset()
    - - - - - - -

    func (*CrossChainAppResponseMsg) String - - - -

    -
    func (x *CrossChainAppResponseMsg) String() string
    - - - - - - - - -

    type DisconnectedRequest - - - -

    - -
    type DisconnectedRequest struct {
    -    NodeId []byte `protobuf:"bytes,1,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*DisconnectedRequest) Descriptor - - - -

    -
    func (*DisconnectedRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use DisconnectedRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*DisconnectedRequest) GetNodeId - - - -

    -
    func (x *DisconnectedRequest) GetNodeId() []byte
    - - - - - - -

    func (*DisconnectedRequest) ProtoMessage - - - -

    -
    func (*DisconnectedRequest) ProtoMessage()
    - - - - - - -

    func (*DisconnectedRequest) ProtoReflect - - - -

    -
    func (x *DisconnectedRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*DisconnectedRequest) Reset - - - -

    -
    func (x *DisconnectedRequest) Reset()
    - - - - - - -

    func (*DisconnectedRequest) String - - - -

    -
    func (x *DisconnectedRequest) String() string
    - - - - - - - - -

    type Error - - - -

    - -
    type Error int32
    - - - -
    const (
    -    // ERROR_UNSPECIFIED is used to indicate that no error occurred.
    -    Error_ERROR_UNSPECIFIED                Error = 0
    -    Error_ERROR_CLOSED                     Error = 1
    -    Error_ERROR_NOT_FOUND                  Error = 2
    -    Error_ERROR_STATE_SYNC_NOT_IMPLEMENTED Error = 3
    -)
    - - - - - - - - - - - - -

    func (Error) Descriptor - - - -

    -
    func (Error) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (Error) Enum - - - -

    -
    func (x Error) Enum() *Error
    - - - - - - -

    func (Error) EnumDescriptor - - - -

    -
    func (Error) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use Error.Descriptor instead. - - - - - - -

    func (Error) Number - - - -

    -
    func (x Error) Number() protoreflect.EnumNumber
    - - - - - - -

    func (Error) String - - - -

    -
    func (x Error) String() string
    - - - - - - -

    func (Error) Type - - - -

    -
    func (Error) Type() protoreflect.EnumType
    - - - - - - - - -

    type GatherResponse - - - -

    - -
    type GatherResponse struct {
    -    MetricFamilies []*_go.MetricFamily `protobuf:"bytes,1,rep,name=metric_families,json=metricFamilies,proto3" json:"metric_families,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GatherResponse) Descriptor - - - -

    -
    func (*GatherResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GatherResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GatherResponse) GetMetricFamilies - - - -

    -
    func (x *GatherResponse) GetMetricFamilies() []*_go.MetricFamily
    - - - - - - -

    func (*GatherResponse) ProtoMessage - - - -

    -
    func (*GatherResponse) ProtoMessage()
    - - - - - - -

    func (*GatherResponse) ProtoReflect - - - -

    -
    func (x *GatherResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GatherResponse) Reset - - - -

    -
    func (x *GatherResponse) Reset()
    - - - - - - -

    func (*GatherResponse) String - - - -

    -
    func (x *GatherResponse) String() string
    - - - - - - - - -

    type GetAncestorsRequest - - - -

    - -
    type GetAncestorsRequest struct {
    -    BlkId                 []byte `protobuf:"bytes,1,opt,name=blk_id,json=blkId,proto3" json:"blk_id,omitempty"`
    -    MaxBlocksNum          int32  `protobuf:"varint,2,opt,name=max_blocks_num,json=maxBlocksNum,proto3" json:"max_blocks_num,omitempty"`
    -    MaxBlocksSize         int32  `protobuf:"varint,3,opt,name=max_blocks_size,json=maxBlocksSize,proto3" json:"max_blocks_size,omitempty"`
    -    MaxBlocksRetrivalTime int64  `protobuf:"varint,4,opt,name=max_blocks_retrival_time,json=maxBlocksRetrivalTime,proto3" json:"max_blocks_retrival_time,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetAncestorsRequest) Descriptor - - - -

    -
    func (*GetAncestorsRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetAncestorsRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetAncestorsRequest) GetBlkId - - - -

    -
    func (x *GetAncestorsRequest) GetBlkId() []byte
    - - - - - - -

    func (*GetAncestorsRequest) GetMaxBlocksNum - - - -

    -
    func (x *GetAncestorsRequest) GetMaxBlocksNum() int32
    - - - - - - -

    func (*GetAncestorsRequest) GetMaxBlocksRetrivalTime - - - -

    -
    func (x *GetAncestorsRequest) GetMaxBlocksRetrivalTime() int64
    - - - - - - -

    func (*GetAncestorsRequest) GetMaxBlocksSize - - - -

    -
    func (x *GetAncestorsRequest) GetMaxBlocksSize() int32
    - - - - - - -

    func (*GetAncestorsRequest) ProtoMessage - - - -

    -
    func (*GetAncestorsRequest) ProtoMessage()
    - - - - - - -

    func (*GetAncestorsRequest) ProtoReflect - - - -

    -
    func (x *GetAncestorsRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetAncestorsRequest) Reset - - - -

    -
    func (x *GetAncestorsRequest) Reset()
    - - - - - - -

    func (*GetAncestorsRequest) String - - - -

    -
    func (x *GetAncestorsRequest) String() string
    - - - - - - - - -

    type GetAncestorsResponse - - - -

    - -
    type GetAncestorsResponse struct {
    -    BlksBytes [][]byte `protobuf:"bytes,1,rep,name=blks_bytes,json=blksBytes,proto3" json:"blks_bytes,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetAncestorsResponse) Descriptor - - - -

    -
    func (*GetAncestorsResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetAncestorsResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetAncestorsResponse) GetBlksBytes - - - -

    -
    func (x *GetAncestorsResponse) GetBlksBytes() [][]byte
    - - - - - - -

    func (*GetAncestorsResponse) ProtoMessage - - - -

    -
    func (*GetAncestorsResponse) ProtoMessage()
    - - - - - - -

    func (*GetAncestorsResponse) ProtoReflect - - - -

    -
    func (x *GetAncestorsResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetAncestorsResponse) Reset - - - -

    -
    func (x *GetAncestorsResponse) Reset()
    - - - - - - -

    func (*GetAncestorsResponse) String - - - -

    -
    func (x *GetAncestorsResponse) String() string
    - - - - - - - - -

    type GetBlockIDAtHeightRequest - - - -

    - -
    type GetBlockIDAtHeightRequest struct {
    -    Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetBlockIDAtHeightRequest) Descriptor - - - -

    -
    func (*GetBlockIDAtHeightRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetBlockIDAtHeightRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetBlockIDAtHeightRequest) GetHeight - - - -

    -
    func (x *GetBlockIDAtHeightRequest) GetHeight() uint64
    - - - - - - -

    func (*GetBlockIDAtHeightRequest) ProtoMessage - - - -

    -
    func (*GetBlockIDAtHeightRequest) ProtoMessage()
    - - - - - - -

    func (*GetBlockIDAtHeightRequest) ProtoReflect - - - -

    -
    func (x *GetBlockIDAtHeightRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetBlockIDAtHeightRequest) Reset - - - -

    -
    func (x *GetBlockIDAtHeightRequest) Reset()
    - - - - - - -

    func (*GetBlockIDAtHeightRequest) String - - - -

    -
    func (x *GetBlockIDAtHeightRequest) String() string
    - - - - - - - - -

    type GetBlockIDAtHeightResponse - - - -

    - -
    type GetBlockIDAtHeightResponse struct {
    -    BlkId []byte `protobuf:"bytes,1,opt,name=blk_id,json=blkId,proto3" json:"blk_id,omitempty"`
    -    Err   Error  `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetBlockIDAtHeightResponse) Descriptor - - - -

    -
    func (*GetBlockIDAtHeightResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetBlockIDAtHeightResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetBlockIDAtHeightResponse) GetBlkId - - - -

    -
    func (x *GetBlockIDAtHeightResponse) GetBlkId() []byte
    - - - - - - -

    func (*GetBlockIDAtHeightResponse) GetErr - - - -

    -
    func (x *GetBlockIDAtHeightResponse) GetErr() Error
    - - - - - - -

    func (*GetBlockIDAtHeightResponse) ProtoMessage - - - -

    -
    func (*GetBlockIDAtHeightResponse) ProtoMessage()
    - - - - - - -

    func (*GetBlockIDAtHeightResponse) ProtoReflect - - - -

    -
    func (x *GetBlockIDAtHeightResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetBlockIDAtHeightResponse) Reset - - - -

    -
    func (x *GetBlockIDAtHeightResponse) Reset()
    - - - - - - -

    func (*GetBlockIDAtHeightResponse) String - - - -

    -
    func (x *GetBlockIDAtHeightResponse) String() string
    - - - - - - - - -

    type GetBlockRequest - - - -

    - -
    type GetBlockRequest struct {
    -    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetBlockRequest) Descriptor - - - -

    -
    func (*GetBlockRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetBlockRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetBlockRequest) GetId - - - -

    -
    func (x *GetBlockRequest) GetId() []byte
    - - - - - - -

    func (*GetBlockRequest) ProtoMessage - - - -

    -
    func (*GetBlockRequest) ProtoMessage()
    - - - - - - -

    func (*GetBlockRequest) ProtoReflect - - - -

    -
    func (x *GetBlockRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetBlockRequest) Reset - - - -

    -
    func (x *GetBlockRequest) Reset()
    - - - - - - -

    func (*GetBlockRequest) String - - - -

    -
    func (x *GetBlockRequest) String() string
    - - - - - - - - -

    type GetBlockResponse - - - -

    - -
    type GetBlockResponse struct {
    -    ParentId  []byte                 `protobuf:"bytes,1,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    -    Bytes     []byte                 `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Status    Status                 `protobuf:"varint,3,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    -    Height    uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    -    Timestamp *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    // used to propagate database.ErrNotFound through RPC
    -    Err               Error `protobuf:"varint,6,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    VerifyWithContext bool  `protobuf:"varint,7,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetBlockResponse) Descriptor - - - -

    -
    func (*GetBlockResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetBlockResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetBlockResponse) GetBytes - - - -

    -
    func (x *GetBlockResponse) GetBytes() []byte
    - - - - - - -

    func (*GetBlockResponse) GetErr - - - -

    -
    func (x *GetBlockResponse) GetErr() Error
    - - - - - - -

    func (*GetBlockResponse) GetHeight - - - -

    -
    func (x *GetBlockResponse) GetHeight() uint64
    - - - - - - -

    func (*GetBlockResponse) GetParentId - - - -

    -
    func (x *GetBlockResponse) GetParentId() []byte
    - - - - - - -

    func (*GetBlockResponse) GetStatus - - - -

    -
    func (x *GetBlockResponse) GetStatus() Status
    - - - - - - -

    func (*GetBlockResponse) GetTimestamp - - - -

    -
    func (x *GetBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*GetBlockResponse) GetVerifyWithContext - - - -

    -
    func (x *GetBlockResponse) GetVerifyWithContext() bool
    - - - - - - -

    func (*GetBlockResponse) ProtoMessage - - - -

    -
    func (*GetBlockResponse) ProtoMessage()
    - - - - - - -

    func (*GetBlockResponse) ProtoReflect - - - -

    -
    func (x *GetBlockResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetBlockResponse) Reset - - - -

    -
    func (x *GetBlockResponse) Reset()
    - - - - - - -

    func (*GetBlockResponse) String - - - -

    -
    func (x *GetBlockResponse) String() string
    - - - - - - - - -

    type GetLastStateSummaryResponse - - - -

    - -
    type GetLastStateSummaryResponse struct {
    -    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    -    Bytes  []byte `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Err    Error  `protobuf:"varint,4,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetLastStateSummaryResponse) Descriptor - - - -

    -
    func (*GetLastStateSummaryResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetLastStateSummaryResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetLastStateSummaryResponse) GetBytes - - - -

    -
    func (x *GetLastStateSummaryResponse) GetBytes() []byte
    - - - - - - -

    func (*GetLastStateSummaryResponse) GetErr - - - -

    -
    func (x *GetLastStateSummaryResponse) GetErr() Error
    - - - - - - -

    func (*GetLastStateSummaryResponse) GetHeight - - - -

    -
    func (x *GetLastStateSummaryResponse) GetHeight() uint64
    - - - - - - -

    func (*GetLastStateSummaryResponse) GetId - - - -

    -
    func (x *GetLastStateSummaryResponse) GetId() []byte
    - - - - - - -

    func (*GetLastStateSummaryResponse) ProtoMessage - - - -

    -
    func (*GetLastStateSummaryResponse) ProtoMessage()
    - - - - - - -

    func (*GetLastStateSummaryResponse) ProtoReflect - - - -

    -
    func (x *GetLastStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetLastStateSummaryResponse) Reset - - - -

    -
    func (x *GetLastStateSummaryResponse) Reset()
    - - - - - - -

    func (*GetLastStateSummaryResponse) String - - - -

    -
    func (x *GetLastStateSummaryResponse) String() string
    - - - - - - - - -

    type GetOngoingSyncStateSummaryResponse - - - -

    - -
    type GetOngoingSyncStateSummaryResponse struct {
    -    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    -    Bytes  []byte `protobuf:"bytes,3,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Err    Error  `protobuf:"varint,4,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) Descriptor - - - -

    -
    func (*GetOngoingSyncStateSummaryResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetOngoingSyncStateSummaryResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) GetBytes - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) GetBytes() []byte
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) GetErr - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) GetErr() Error
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) GetHeight - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) GetHeight() uint64
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) GetId - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) GetId() []byte
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) ProtoMessage - - - -

    -
    func (*GetOngoingSyncStateSummaryResponse) ProtoMessage()
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) ProtoReflect - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) Reset - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) Reset()
    - - - - - - -

    func (*GetOngoingSyncStateSummaryResponse) String - - - -

    -
    func (x *GetOngoingSyncStateSummaryResponse) String() string
    - - - - - - - - -

    type GetStateSummaryRequest - - - -

    - -
    type GetStateSummaryRequest struct {
    -    Height uint64 `protobuf:"varint,1,opt,name=height,proto3" json:"height,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetStateSummaryRequest) Descriptor - - - -

    -
    func (*GetStateSummaryRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetStateSummaryRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetStateSummaryRequest) GetHeight - - - -

    -
    func (x *GetStateSummaryRequest) GetHeight() uint64
    - - - - - - -

    func (*GetStateSummaryRequest) ProtoMessage - - - -

    -
    func (*GetStateSummaryRequest) ProtoMessage()
    - - - - - - -

    func (*GetStateSummaryRequest) ProtoReflect - - - -

    -
    func (x *GetStateSummaryRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetStateSummaryRequest) Reset - - - -

    -
    func (x *GetStateSummaryRequest) Reset()
    - - - - - - -

    func (*GetStateSummaryRequest) String - - - -

    -
    func (x *GetStateSummaryRequest) String() string
    - - - - - - - - -

    type GetStateSummaryResponse - - - -

    - -
    type GetStateSummaryResponse struct {
    -    Id    []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    Bytes []byte `protobuf:"bytes,2,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Err   Error  `protobuf:"varint,3,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*GetStateSummaryResponse) Descriptor - - - -

    -
    func (*GetStateSummaryResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use GetStateSummaryResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*GetStateSummaryResponse) GetBytes - - - -

    -
    func (x *GetStateSummaryResponse) GetBytes() []byte
    - - - - - - -

    func (*GetStateSummaryResponse) GetErr - - - -

    -
    func (x *GetStateSummaryResponse) GetErr() Error
    - - - - - - -

    func (*GetStateSummaryResponse) GetId - - - -

    -
    func (x *GetStateSummaryResponse) GetId() []byte
    - - - - - - -

    func (*GetStateSummaryResponse) ProtoMessage - - - -

    -
    func (*GetStateSummaryResponse) ProtoMessage()
    - - - - - - -

    func (*GetStateSummaryResponse) ProtoReflect - - - -

    -
    func (x *GetStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*GetStateSummaryResponse) Reset - - - -

    -
    func (x *GetStateSummaryResponse) Reset()
    - - - - - - -

    func (*GetStateSummaryResponse) String - - - -

    -
    func (x *GetStateSummaryResponse) String() string
    - - - - - - - - -

    type Handler - - - -

    - -
    type Handler struct {
    -    Prefix string `protobuf:"bytes,1,opt,name=prefix,proto3" json:"prefix,omitempty"`
    -    // server_addr is the address of the gRPC server which serves the
    -    // HTTP service
    -    ServerAddr string `protobuf:"bytes,2,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Handler) Descriptor - - - -

    -
    func (*Handler) Descriptor() ([]byte, []int)
    -

    Deprecated: Use Handler.ProtoReflect.Descriptor instead. - - - - - - -

    func (*Handler) GetPrefix - - - -

    -
    func (x *Handler) GetPrefix() string
    - - - - - - -

    func (*Handler) GetServerAddr - - - -

    -
    func (x *Handler) GetServerAddr() string
    - - - - - - -

    func (*Handler) ProtoMessage - - - -

    -
    func (*Handler) ProtoMessage()
    - - - - - - -

    func (*Handler) ProtoReflect - - - -

    -
    func (x *Handler) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*Handler) Reset - - - -

    -
    func (x *Handler) Reset()
    - - - - - - -

    func (*Handler) String - - - -

    -
    func (x *Handler) String() string
    - - - - - - - - -

    type HealthResponse - - - -

    - -
    type HealthResponse struct {
    -    Details []byte `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*HealthResponse) Descriptor - - - -

    -
    func (*HealthResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use HealthResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*HealthResponse) GetDetails - - - -

    -
    func (x *HealthResponse) GetDetails() []byte
    - - - - - - -

    func (*HealthResponse) ProtoMessage - - - -

    -
    func (*HealthResponse) ProtoMessage()
    - - - - - - -

    func (*HealthResponse) ProtoReflect - - - -

    -
    func (x *HealthResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*HealthResponse) Reset - - - -

    -
    func (x *HealthResponse) Reset()
    - - - - - - -

    func (*HealthResponse) String - - - -

    -
    func (x *HealthResponse) String() string
    - - - - - - - - -

    type InitializeRequest - - - -

    - -
    type InitializeRequest struct {
    -    NetworkId uint32 `protobuf:"varint,1,opt,name=network_id,json=networkId,proto3" json:"network_id,omitempty"`
    -    SubnetId  []byte `protobuf:"bytes,2,opt,name=subnet_id,json=subnetId,proto3" json:"subnet_id,omitempty"`
    -    ChainId   []byte `protobuf:"bytes,3,opt,name=chain_id,json=chainId,proto3" json:"chain_id,omitempty"`
    -    NodeId    []byte `protobuf:"bytes,4,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
    -    // public_key is the BLS public key that would correspond with any signatures
    -    // produced by the warp messaging signer
    -    PublicKey    []byte `protobuf:"bytes,5,opt,name=public_key,json=publicKey,proto3" json:"public_key,omitempty"`
    -    XChainId     []byte `protobuf:"bytes,6,opt,name=x_chain_id,json=xChainId,proto3" json:"x_chain_id,omitempty"`
    -    CChainId     []byte `protobuf:"bytes,7,opt,name=c_chain_id,json=cChainId,proto3" json:"c_chain_id,omitempty"`
    -    AvaxAssetId  []byte `protobuf:"bytes,8,opt,name=avax_asset_id,json=avaxAssetId,proto3" json:"avax_asset_id,omitempty"`
    -    ChainDataDir string `protobuf:"bytes,9,opt,name=chain_data_dir,json=chainDataDir,proto3" json:"chain_data_dir,omitempty"`
    -    GenesisBytes []byte `protobuf:"bytes,10,opt,name=genesis_bytes,json=genesisBytes,proto3" json:"genesis_bytes,omitempty"`
    -    UpgradeBytes []byte `protobuf:"bytes,11,opt,name=upgrade_bytes,json=upgradeBytes,proto3" json:"upgrade_bytes,omitempty"`
    -    ConfigBytes  []byte `protobuf:"bytes,12,opt,name=config_bytes,json=configBytes,proto3" json:"config_bytes,omitempty"`
    -    DbServerAddr string `protobuf:"bytes,13,opt,name=db_server_addr,json=dbServerAddr,proto3" json:"db_server_addr,omitempty"`
    -    // server_addr is the address of the gRPC server which serves
    -    // the messenger, keystore, shared memory, blockchain alias,
    -    // subnet alias, and appSender services
    -    ServerAddr string `protobuf:"bytes,14,opt,name=server_addr,json=serverAddr,proto3" json:"server_addr,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*InitializeRequest) Descriptor - - - -

    -
    func (*InitializeRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*InitializeRequest) GetAvaxAssetId - - - -

    -
    func (x *InitializeRequest) GetAvaxAssetId() []byte
    - - - - - - -

    func (*InitializeRequest) GetCChainId - - - -

    -
    func (x *InitializeRequest) GetCChainId() []byte
    - - - - - - -

    func (*InitializeRequest) GetChainDataDir - - - -

    -
    func (x *InitializeRequest) GetChainDataDir() string
    - - - - - - -

    func (*InitializeRequest) GetChainId - - - -

    -
    func (x *InitializeRequest) GetChainId() []byte
    - - - - - - -

    func (*InitializeRequest) GetConfigBytes - - - -

    -
    func (x *InitializeRequest) GetConfigBytes() []byte
    - - - - - - -

    func (*InitializeRequest) GetDbServerAddr - - - -

    -
    func (x *InitializeRequest) GetDbServerAddr() string
    - - - - - - -

    func (*InitializeRequest) GetGenesisBytes - - - -

    -
    func (x *InitializeRequest) GetGenesisBytes() []byte
    - - - - - - -

    func (*InitializeRequest) GetNetworkId - - - -

    -
    func (x *InitializeRequest) GetNetworkId() uint32
    - - - - - - -

    func (*InitializeRequest) GetNodeId - - - -

    -
    func (x *InitializeRequest) GetNodeId() []byte
    - - - - - - -

    func (*InitializeRequest) GetPublicKey - - - -

    -
    func (x *InitializeRequest) GetPublicKey() []byte
    - - - - - - -

    func (*InitializeRequest) GetServerAddr - - - -

    -
    func (x *InitializeRequest) GetServerAddr() string
    - - - - - - -

    func (*InitializeRequest) GetSubnetId - - - -

    -
    func (x *InitializeRequest) GetSubnetId() []byte
    - - - - - - -

    func (*InitializeRequest) GetUpgradeBytes - - - -

    -
    func (x *InitializeRequest) GetUpgradeBytes() []byte
    - - - - - - -

    func (*InitializeRequest) GetXChainId - - - -

    -
    func (x *InitializeRequest) GetXChainId() []byte
    - - - - - - -

    func (*InitializeRequest) ProtoMessage - - - -

    -
    func (*InitializeRequest) ProtoMessage()
    - - - - - - -

    func (*InitializeRequest) ProtoReflect - - - -

    -
    func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*InitializeRequest) Reset - - - -

    -
    func (x *InitializeRequest) Reset()
    - - - - - - -

    func (*InitializeRequest) String - - - -

    -
    func (x *InitializeRequest) String() string
    - - - - - - - - -

    type InitializeResponse - - - -

    - -
    type InitializeResponse struct {
    -    LastAcceptedId       []byte                 `protobuf:"bytes,1,opt,name=last_accepted_id,json=lastAcceptedId,proto3" json:"last_accepted_id,omitempty"`
    -    LastAcceptedParentId []byte                 `protobuf:"bytes,2,opt,name=last_accepted_parent_id,json=lastAcceptedParentId,proto3" json:"last_accepted_parent_id,omitempty"`
    -    Height               uint64                 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
    -    Bytes                []byte                 `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Timestamp            *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*InitializeResponse) Descriptor - - - -

    -
    func (*InitializeResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use InitializeResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*InitializeResponse) GetBytes - - - -

    -
    func (x *InitializeResponse) GetBytes() []byte
    - - - - - - -

    func (*InitializeResponse) GetHeight - - - -

    -
    func (x *InitializeResponse) GetHeight() uint64
    - - - - - - -

    func (*InitializeResponse) GetLastAcceptedId - - - -

    -
    func (x *InitializeResponse) GetLastAcceptedId() []byte
    - - - - - - -

    func (*InitializeResponse) GetLastAcceptedParentId - - - -

    -
    func (x *InitializeResponse) GetLastAcceptedParentId() []byte
    - - - - - - -

    func (*InitializeResponse) GetTimestamp - - - -

    -
    func (x *InitializeResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*InitializeResponse) ProtoMessage - - - -

    -
    func (*InitializeResponse) ProtoMessage()
    - - - - - - -

    func (*InitializeResponse) ProtoReflect - - - -

    -
    func (x *InitializeResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*InitializeResponse) Reset - - - -

    -
    func (x *InitializeResponse) Reset()
    - - - - - - -

    func (*InitializeResponse) String - - - -

    -
    func (x *InitializeResponse) String() string
    - - - - - - - - -

    type ParseBlockRequest - - - -

    - -
    type ParseBlockRequest struct {
    -    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ParseBlockRequest) Descriptor - - - -

    -
    func (*ParseBlockRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ParseBlockRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ParseBlockRequest) GetBytes - - - -

    -
    func (x *ParseBlockRequest) GetBytes() []byte
    - - - - - - -

    func (*ParseBlockRequest) ProtoMessage - - - -

    -
    func (*ParseBlockRequest) ProtoMessage()
    - - - - - - -

    func (*ParseBlockRequest) ProtoReflect - - - -

    -
    func (x *ParseBlockRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ParseBlockRequest) Reset - - - -

    -
    func (x *ParseBlockRequest) Reset()
    - - - - - - -

    func (*ParseBlockRequest) String - - - -

    -
    func (x *ParseBlockRequest) String() string
    - - - - - - - - -

    type ParseBlockResponse - - - -

    - -
    type ParseBlockResponse struct {
    -    Id                []byte                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    ParentId          []byte                 `protobuf:"bytes,2,opt,name=parent_id,json=parentId,proto3" json:"parent_id,omitempty"`
    -    Status            Status                 `protobuf:"varint,3,opt,name=status,proto3,enum=vm.Status" json:"status,omitempty"`
    -    Height            uint64                 `protobuf:"varint,4,opt,name=height,proto3" json:"height,omitempty"`
    -    Timestamp         *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    VerifyWithContext bool                   `protobuf:"varint,6,opt,name=verify_with_context,json=verifyWithContext,proto3" json:"verify_with_context,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ParseBlockResponse) Descriptor - - - -

    -
    func (*ParseBlockResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ParseBlockResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ParseBlockResponse) GetHeight - - - -

    -
    func (x *ParseBlockResponse) GetHeight() uint64
    - - - - - - -

    func (*ParseBlockResponse) GetId - - - -

    -
    func (x *ParseBlockResponse) GetId() []byte
    - - - - - - -

    func (*ParseBlockResponse) GetParentId - - - -

    -
    func (x *ParseBlockResponse) GetParentId() []byte
    - - - - - - -

    func (*ParseBlockResponse) GetStatus - - - -

    -
    func (x *ParseBlockResponse) GetStatus() Status
    - - - - - - -

    func (*ParseBlockResponse) GetTimestamp - - - -

    -
    func (x *ParseBlockResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*ParseBlockResponse) GetVerifyWithContext - - - -

    -
    func (x *ParseBlockResponse) GetVerifyWithContext() bool
    - - - - - - -

    func (*ParseBlockResponse) ProtoMessage - - - -

    -
    func (*ParseBlockResponse) ProtoMessage()
    - - - - - - -

    func (*ParseBlockResponse) ProtoReflect - - - -

    -
    func (x *ParseBlockResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ParseBlockResponse) Reset - - - -

    -
    func (x *ParseBlockResponse) Reset()
    - - - - - - -

    func (*ParseBlockResponse) String - - - -

    -
    func (x *ParseBlockResponse) String() string
    - - - - - - - - -

    type ParseStateSummaryRequest - - - -

    - -
    type ParseStateSummaryRequest struct {
    -    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ParseStateSummaryRequest) Descriptor - - - -

    -
    func (*ParseStateSummaryRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ParseStateSummaryRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ParseStateSummaryRequest) GetBytes - - - -

    -
    func (x *ParseStateSummaryRequest) GetBytes() []byte
    - - - - - - -

    func (*ParseStateSummaryRequest) ProtoMessage - - - -

    -
    func (*ParseStateSummaryRequest) ProtoMessage()
    - - - - - - -

    func (*ParseStateSummaryRequest) ProtoReflect - - - -

    -
    func (x *ParseStateSummaryRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ParseStateSummaryRequest) Reset - - - -

    -
    func (x *ParseStateSummaryRequest) Reset()
    - - - - - - -

    func (*ParseStateSummaryRequest) String - - - -

    -
    func (x *ParseStateSummaryRequest) String() string
    - - - - - - - - -

    type ParseStateSummaryResponse - - - -

    - -
    type ParseStateSummaryResponse struct {
    -    Id     []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    Height uint64 `protobuf:"varint,2,opt,name=height,proto3" json:"height,omitempty"`
    -    Err    Error  `protobuf:"varint,3,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*ParseStateSummaryResponse) Descriptor - - - -

    -
    func (*ParseStateSummaryResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use ParseStateSummaryResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*ParseStateSummaryResponse) GetErr - - - -

    -
    func (x *ParseStateSummaryResponse) GetErr() Error
    - - - - - - -

    func (*ParseStateSummaryResponse) GetHeight - - - -

    -
    func (x *ParseStateSummaryResponse) GetHeight() uint64
    - - - - - - -

    func (*ParseStateSummaryResponse) GetId - - - -

    -
    func (x *ParseStateSummaryResponse) GetId() []byte
    - - - - - - -

    func (*ParseStateSummaryResponse) ProtoMessage - - - -

    -
    func (*ParseStateSummaryResponse) ProtoMessage()
    - - - - - - -

    func (*ParseStateSummaryResponse) ProtoReflect - - - -

    -
    func (x *ParseStateSummaryResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*ParseStateSummaryResponse) Reset - - - -

    -
    func (x *ParseStateSummaryResponse) Reset()
    - - - - - - -

    func (*ParseStateSummaryResponse) String - - - -

    -
    func (x *ParseStateSummaryResponse) String() string
    - - - - - - - - -

    type SetPreferenceRequest - - - -

    - -
    type SetPreferenceRequest struct {
    -    Id []byte `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*SetPreferenceRequest) Descriptor - - - -

    -
    func (*SetPreferenceRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use SetPreferenceRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*SetPreferenceRequest) GetId - - - -

    -
    func (x *SetPreferenceRequest) GetId() []byte
    - - - - - - -

    func (*SetPreferenceRequest) ProtoMessage - - - -

    -
    func (*SetPreferenceRequest) ProtoMessage()
    - - - - - - -

    func (*SetPreferenceRequest) ProtoReflect - - - -

    -
    func (x *SetPreferenceRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*SetPreferenceRequest) Reset - - - -

    -
    func (x *SetPreferenceRequest) Reset()
    - - - - - - -

    func (*SetPreferenceRequest) String - - - -

    -
    func (x *SetPreferenceRequest) String() string
    - - - - - - - - -

    type SetStateRequest - - - -

    - -
    type SetStateRequest struct {
    -    State State `protobuf:"varint,1,opt,name=state,proto3,enum=vm.State" json:"state,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*SetStateRequest) Descriptor - - - -

    -
    func (*SetStateRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use SetStateRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*SetStateRequest) GetState - - - -

    -
    func (x *SetStateRequest) GetState() State
    - - - - - - -

    func (*SetStateRequest) ProtoMessage - - - -

    -
    func (*SetStateRequest) ProtoMessage()
    - - - - - - -

    func (*SetStateRequest) ProtoReflect - - - -

    -
    func (x *SetStateRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*SetStateRequest) Reset - - - -

    -
    func (x *SetStateRequest) Reset()
    - - - - - - -

    func (*SetStateRequest) String - - - -

    -
    func (x *SetStateRequest) String() string
    - - - - - - - - -

    type SetStateResponse - - - -

    - -
    type SetStateResponse struct {
    -    LastAcceptedId       []byte                 `protobuf:"bytes,1,opt,name=last_accepted_id,json=lastAcceptedId,proto3" json:"last_accepted_id,omitempty"`
    -    LastAcceptedParentId []byte                 `protobuf:"bytes,2,opt,name=last_accepted_parent_id,json=lastAcceptedParentId,proto3" json:"last_accepted_parent_id,omitempty"`
    -    Height               uint64                 `protobuf:"varint,3,opt,name=height,proto3" json:"height,omitempty"`
    -    Bytes                []byte                 `protobuf:"bytes,4,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    Timestamp            *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*SetStateResponse) Descriptor - - - -

    -
    func (*SetStateResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use SetStateResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*SetStateResponse) GetBytes - - - -

    -
    func (x *SetStateResponse) GetBytes() []byte
    - - - - - - -

    func (*SetStateResponse) GetHeight - - - -

    -
    func (x *SetStateResponse) GetHeight() uint64
    - - - - - - -

    func (*SetStateResponse) GetLastAcceptedId - - - -

    -
    func (x *SetStateResponse) GetLastAcceptedId() []byte
    - - - - - - -

    func (*SetStateResponse) GetLastAcceptedParentId - - - -

    -
    func (x *SetStateResponse) GetLastAcceptedParentId() []byte
    - - - - - - -

    func (*SetStateResponse) GetTimestamp - - - -

    -
    func (x *SetStateResponse) GetTimestamp() *timestamppb.Timestamp
    - - - - - - -

    func (*SetStateResponse) ProtoMessage - - - -

    -
    func (*SetStateResponse) ProtoMessage()
    - - - - - - -

    func (*SetStateResponse) ProtoReflect - - - -

    -
    func (x *SetStateResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*SetStateResponse) Reset - - - -

    -
    func (x *SetStateResponse) Reset()
    - - - - - - -

    func (*SetStateResponse) String - - - -

    -
    func (x *SetStateResponse) String() string
    - - - - - - - - -

    type State - - - -

    - -
    type State int32
    - - - -
    const (
    -    State_STATE_UNSPECIFIED   State = 0
    -    State_STATE_STATE_SYNCING State = 1
    -    State_STATE_BOOTSTRAPPING State = 2
    -    State_STATE_NORMAL_OP     State = 3
    -)
    - - - - - - - - - - - - -

    func (State) Descriptor - - - -

    -
    func (State) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (State) Enum - - - -

    -
    func (x State) Enum() *State
    - - - - - - -

    func (State) EnumDescriptor - - - -

    -
    func (State) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use State.Descriptor instead. - - - - - - -

    func (State) Number - - - -

    -
    func (x State) Number() protoreflect.EnumNumber
    - - - - - - -

    func (State) String - - - -

    -
    func (x State) String() string
    - - - - - - -

    func (State) Type - - - -

    -
    func (State) Type() protoreflect.EnumType
    - - - - - - - - -

    type StateSummaryAcceptRequest - - - -

    - -
    type StateSummaryAcceptRequest struct {
    -    Bytes []byte `protobuf:"bytes,1,opt,name=bytes,proto3" json:"bytes,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*StateSummaryAcceptRequest) Descriptor - - - -

    -
    func (*StateSummaryAcceptRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use StateSummaryAcceptRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*StateSummaryAcceptRequest) GetBytes - - - -

    -
    func (x *StateSummaryAcceptRequest) GetBytes() []byte
    - - - - - - -

    func (*StateSummaryAcceptRequest) ProtoMessage - - - -

    -
    func (*StateSummaryAcceptRequest) ProtoMessage()
    - - - - - - -

    func (*StateSummaryAcceptRequest) ProtoReflect - - - -

    -
    func (x *StateSummaryAcceptRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*StateSummaryAcceptRequest) Reset - - - -

    -
    func (x *StateSummaryAcceptRequest) Reset()
    - - - - - - -

    func (*StateSummaryAcceptRequest) String - - - -

    -
    func (x *StateSummaryAcceptRequest) String() string
    - - - - - - - - -

    type StateSummaryAcceptResponse - - - -

    - -
    type StateSummaryAcceptResponse struct {
    -    Mode StateSummaryAcceptResponse_Mode `protobuf:"varint,1,opt,name=mode,proto3,enum=vm.StateSummaryAcceptResponse_Mode" json:"mode,omitempty"`
    -    Err  Error                           `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*StateSummaryAcceptResponse) Descriptor - - - -

    -
    func (*StateSummaryAcceptResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use StateSummaryAcceptResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*StateSummaryAcceptResponse) GetErr - - - -

    -
    func (x *StateSummaryAcceptResponse) GetErr() Error
    - - - - - - -

    func (*StateSummaryAcceptResponse) GetMode - - - -

    -
    func (x *StateSummaryAcceptResponse) GetMode() StateSummaryAcceptResponse_Mode
    - - - - - - -

    func (*StateSummaryAcceptResponse) ProtoMessage - - - -

    -
    func (*StateSummaryAcceptResponse) ProtoMessage()
    - - - - - - -

    func (*StateSummaryAcceptResponse) ProtoReflect - - - -

    -
    func (x *StateSummaryAcceptResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*StateSummaryAcceptResponse) Reset - - - -

    -
    func (x *StateSummaryAcceptResponse) Reset()
    - - - - - - -

    func (*StateSummaryAcceptResponse) String - - - -

    -
    func (x *StateSummaryAcceptResponse) String() string
    - - - - - - - - -

    type StateSummaryAcceptResponse_Mode - - - -

    - -
    type StateSummaryAcceptResponse_Mode int32
    - - - -
    const (
    -    StateSummaryAcceptResponse_MODE_UNSPECIFIED StateSummaryAcceptResponse_Mode = 0
    -    StateSummaryAcceptResponse_MODE_SKIPPED     StateSummaryAcceptResponse_Mode = 1
    -    StateSummaryAcceptResponse_MODE_STATIC      StateSummaryAcceptResponse_Mode = 2
    -    StateSummaryAcceptResponse_MODE_DYNAMIC     StateSummaryAcceptResponse_Mode = 3
    -)
    - - - - - - - - - - - - -

    func (StateSummaryAcceptResponse_Mode) Descriptor - - - -

    -
    func (StateSummaryAcceptResponse_Mode) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (StateSummaryAcceptResponse_Mode) Enum - - - -

    -
    func (x StateSummaryAcceptResponse_Mode) Enum() *StateSummaryAcceptResponse_Mode
    - - - - - - -

    func (StateSummaryAcceptResponse_Mode) EnumDescriptor - - - -

    -
    func (StateSummaryAcceptResponse_Mode) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use StateSummaryAcceptResponse_Mode.Descriptor instead. - - - - - - -

    func (StateSummaryAcceptResponse_Mode) Number - - - -

    -
    func (x StateSummaryAcceptResponse_Mode) Number() protoreflect.EnumNumber
    - - - - - - -

    func (StateSummaryAcceptResponse_Mode) String - - - -

    -
    func (x StateSummaryAcceptResponse_Mode) String() string
    - - - - - - -

    func (StateSummaryAcceptResponse_Mode) Type - - - -

    -
    func (StateSummaryAcceptResponse_Mode) Type() protoreflect.EnumType
    - - - - - - - - -

    type StateSyncEnabledResponse - - - -

    - -
    type StateSyncEnabledResponse struct {
    -    Enabled bool  `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
    -    Err     Error `protobuf:"varint,2,opt,name=err,proto3,enum=vm.Error" json:"err,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*StateSyncEnabledResponse) Descriptor - - - -

    -
    func (*StateSyncEnabledResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use StateSyncEnabledResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*StateSyncEnabledResponse) GetEnabled - - - -

    -
    func (x *StateSyncEnabledResponse) GetEnabled() bool
    - - - - - - -

    func (*StateSyncEnabledResponse) GetErr - - - -

    -
    func (x *StateSyncEnabledResponse) GetErr() Error
    - - - - - - -

    func (*StateSyncEnabledResponse) ProtoMessage - - - -

    -
    func (*StateSyncEnabledResponse) ProtoMessage()
    - - - - - - -

    func (*StateSyncEnabledResponse) ProtoReflect - - - -

    -
    func (x *StateSyncEnabledResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*StateSyncEnabledResponse) Reset - - - -

    -
    func (x *StateSyncEnabledResponse) Reset()
    - - - - - - -

    func (*StateSyncEnabledResponse) String - - - -

    -
    func (x *StateSyncEnabledResponse) String() string
    - - - - - - - - -

    type Status - - - -

    - -
    type Status int32
    - - - -
    const (
    -    Status_STATUS_UNSPECIFIED Status = 0
    -    Status_STATUS_PROCESSING  Status = 1
    -    Status_STATUS_REJECTED    Status = 2
    -    Status_STATUS_ACCEPTED    Status = 3
    -)
    - - - - - - - - - - - - -

    func (Status) Descriptor - - - -

    -
    func (Status) Descriptor() protoreflect.EnumDescriptor
    - - - - - - -

    func (Status) Enum - - - -

    -
    func (x Status) Enum() *Status
    - - - - - - -

    func (Status) EnumDescriptor - - - -

    -
    func (Status) EnumDescriptor() ([]byte, []int)
    -

    Deprecated: Use Status.Descriptor instead. - - - - - - -

    func (Status) Number - - - -

    -
    func (x Status) Number() protoreflect.EnumNumber
    - - - - - - -

    func (Status) String - - - -

    -
    func (x Status) String() string
    - - - - - - -

    func (Status) Type - - - -

    -
    func (Status) Type() protoreflect.EnumType
    - - - - - - - - -

    type UnimplementedVMServer - - - -

    -

    UnimplementedVMServer should be embedded to have forward compatible implementations. - -

    type UnimplementedVMServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedVMServer) AppGossip - - - -

    -
    func (UnimplementedVMServer) AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) AppRequest - - - -

    -
    func (UnimplementedVMServer) AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) AppRequestFailed - - - -

    -
    func (UnimplementedVMServer) AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) AppResponse - - - -

    -
    func (UnimplementedVMServer) AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) BatchedParseBlock - - - -

    -
    func (UnimplementedVMServer) BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) BlockAccept - - - -

    -
    func (UnimplementedVMServer) BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) BlockReject - - - -

    -
    func (UnimplementedVMServer) BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) BlockVerify - - - -

    -
    func (UnimplementedVMServer) BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) BuildBlock - - - -

    -
    func (UnimplementedVMServer) BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) Connected - - - -

    -
    func (UnimplementedVMServer) Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) CreateHandlers - - - -

    -
    func (UnimplementedVMServer) CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) CrossChainAppRequest - - - -

    -
    func (UnimplementedVMServer) CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) CrossChainAppRequestFailed - - - -

    -
    func (UnimplementedVMServer) CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) CrossChainAppResponse - - - -

    -
    func (UnimplementedVMServer) CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) Disconnected - - - -

    -
    func (UnimplementedVMServer) Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) Gather - - - -

    -
    func (UnimplementedVMServer) Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetAncestors - - - -

    -
    func (UnimplementedVMServer) GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetBlock - - - -

    -
    func (UnimplementedVMServer) GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetBlockIDAtHeight - - - -

    -
    func (UnimplementedVMServer) GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetLastStateSummary - - - -

    -
    func (UnimplementedVMServer) GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetOngoingSyncStateSummary - - - -

    -
    func (UnimplementedVMServer) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) GetStateSummary - - - -

    -
    func (UnimplementedVMServer) GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) Health - - - -

    -
    func (UnimplementedVMServer) Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) Initialize - - - -

    -
    func (UnimplementedVMServer) Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) ParseBlock - - - -

    -
    func (UnimplementedVMServer) ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) ParseStateSummary - - - -

    -
    func (UnimplementedVMServer) ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) SetPreference - - - -

    -
    func (UnimplementedVMServer) SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) SetState - - - -

    -
    func (UnimplementedVMServer) SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) Shutdown - - - -

    -
    func (UnimplementedVMServer) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - - - - - -

    func (UnimplementedVMServer) StateSummaryAccept - - - -

    -
    func (UnimplementedVMServer) StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) StateSyncEnabled - - - -

    -
    func (UnimplementedVMServer) StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    - - - - - - -

    func (UnimplementedVMServer) Version - - - -

    -
    func (UnimplementedVMServer) Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    - - - - - - - - -

    type UnsafeVMServer - - - -

    -

    UnsafeVMServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to VMServer will -result in compilation errors. - -

    type UnsafeVMServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - -

    type VMClient - - - -

    -

    VMClient is the client API for VM 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 VMClient interface {
    -    // ChainVM
    -    //
    -    // Initialize this VM.
    -    Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*InitializeResponse, error)
    -    // SetState communicates to VM its next state it starts
    -    SetState(ctx context.Context, in *SetStateRequest, opts ...grpc.CallOption) (*SetStateResponse, error)
    -    // Shutdown is called when the node is shutting down.
    -    Shutdown(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Creates the HTTP handlers for custom chain network calls.
    -    CreateHandlers(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*CreateHandlersResponse, error)
    -    Connected(ctx context.Context, in *ConnectedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    Disconnected(ctx context.Context, in *DisconnectedRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Attempt to create a new block from data contained in the VM.
    -    BuildBlock(ctx context.Context, in *BuildBlockRequest, opts ...grpc.CallOption) (*BuildBlockResponse, error)
    -    // Attempt to create a block from a stream of bytes.
    -    ParseBlock(ctx context.Context, in *ParseBlockRequest, opts ...grpc.CallOption) (*ParseBlockResponse, error)
    -    // Attempt to load a block.
    -    GetBlock(ctx context.Context, in *GetBlockRequest, opts ...grpc.CallOption) (*GetBlockResponse, error)
    -    // Notify the VM of the currently preferred block.
    -    SetPreference(ctx context.Context, in *SetPreferenceRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Attempt to verify the health of the VM.
    -    Health(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*HealthResponse, error)
    -    // Version returns the version of the VM.
    -    Version(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*VersionResponse, error)
    -    // Notify this engine of a request for data from [nodeID].
    -    AppRequest(ctx context.Context, in *AppRequestMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Notify this engine that an AppRequest message it sent to [nodeID] with
    -    // request ID [requestID] failed.
    -    AppRequestFailed(ctx context.Context, in *AppRequestFailedMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Notify this engine of a response to the AppRequest message it sent to
    -    // [nodeID] with request ID [requestID].
    -    AppResponse(ctx context.Context, in *AppResponseMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Notify this engine of a gossip message from [nodeID].
    -    AppGossip(ctx context.Context, in *AppGossipMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // Attempts to gather metrics from a VM.
    -    Gather(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GatherResponse, error)
    -    CrossChainAppRequest(ctx context.Context, in *CrossChainAppRequestMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    CrossChainAppRequestFailed(ctx context.Context, in *CrossChainAppRequestFailedMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    CrossChainAppResponse(ctx context.Context, in *CrossChainAppResponseMsg, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // BatchedChainVM
    -    GetAncestors(ctx context.Context, in *GetAncestorsRequest, opts ...grpc.CallOption) (*GetAncestorsResponse, error)
    -    BatchedParseBlock(ctx context.Context, in *BatchedParseBlockRequest, opts ...grpc.CallOption) (*BatchedParseBlockResponse, error)
    -    // HeightIndexedChainVM
    -    GetBlockIDAtHeight(ctx context.Context, in *GetBlockIDAtHeightRequest, opts ...grpc.CallOption) (*GetBlockIDAtHeightResponse, error)
    -    // StateSyncableVM
    -    //
    -    // StateSyncEnabled indicates whether the state sync is enabled for this VM.
    -    StateSyncEnabled(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*StateSyncEnabledResponse, error)
    -    // GetOngoingSyncStateSummary returns an in-progress state summary if it exists.
    -    GetOngoingSyncStateSummary(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetOngoingSyncStateSummaryResponse, error)
    -    // GetLastStateSummary returns the latest state summary.
    -    GetLastStateSummary(ctx context.Context, in *emptypb.Empty, opts ...grpc.CallOption) (*GetLastStateSummaryResponse, error)
    -    // ParseStateSummary parses a state summary out of [summaryBytes].
    -    ParseStateSummary(ctx context.Context, in *ParseStateSummaryRequest, opts ...grpc.CallOption) (*ParseStateSummaryResponse, error)
    -    // GetStateSummary retrieves the state summary that was generated at height
    -    // [summaryHeight].
    -    GetStateSummary(ctx context.Context, in *GetStateSummaryRequest, opts ...grpc.CallOption) (*GetStateSummaryResponse, error)
    -    // Block
    -    BlockVerify(ctx context.Context, in *BlockVerifyRequest, opts ...grpc.CallOption) (*BlockVerifyResponse, error)
    -    BlockAccept(ctx context.Context, in *BlockAcceptRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    BlockReject(ctx context.Context, in *BlockRejectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -    // StateSummary
    -    StateSummaryAccept(ctx context.Context, in *StateSummaryAcceptRequest, opts ...grpc.CallOption) (*StateSummaryAcceptResponse, error)
    -}
    - - - - - - - - - - - -

    func NewVMClient - - - -

    -
    func NewVMClient(cc grpc.ClientConnInterface) VMClient
    - - - - - - - - - -

    type VMServer - - - -

    -

    VMServer is the server API for VM service. -All implementations should embed UnimplementedVMServer -for forward compatibility - -

    type VMServer interface {
    -    // ChainVM
    -    //
    -    // Initialize this VM.
    -    Initialize(context.Context, *InitializeRequest) (*InitializeResponse, error)
    -    // SetState communicates to VM its next state it starts
    -    SetState(context.Context, *SetStateRequest) (*SetStateResponse, error)
    -    // Shutdown is called when the node is shutting down.
    -    Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    -    // Creates the HTTP handlers for custom chain network calls.
    -    CreateHandlers(context.Context, *emptypb.Empty) (*CreateHandlersResponse, error)
    -    Connected(context.Context, *ConnectedRequest) (*emptypb.Empty, error)
    -    Disconnected(context.Context, *DisconnectedRequest) (*emptypb.Empty, error)
    -    // Attempt to create a new block from data contained in the VM.
    -    BuildBlock(context.Context, *BuildBlockRequest) (*BuildBlockResponse, error)
    -    // Attempt to create a block from a stream of bytes.
    -    ParseBlock(context.Context, *ParseBlockRequest) (*ParseBlockResponse, error)
    -    // Attempt to load a block.
    -    GetBlock(context.Context, *GetBlockRequest) (*GetBlockResponse, error)
    -    // Notify the VM of the currently preferred block.
    -    SetPreference(context.Context, *SetPreferenceRequest) (*emptypb.Empty, error)
    -    // Attempt to verify the health of the VM.
    -    Health(context.Context, *emptypb.Empty) (*HealthResponse, error)
    -    // Version returns the version of the VM.
    -    Version(context.Context, *emptypb.Empty) (*VersionResponse, error)
    -    // Notify this engine of a request for data from [nodeID].
    -    AppRequest(context.Context, *AppRequestMsg) (*emptypb.Empty, error)
    -    // Notify this engine that an AppRequest message it sent to [nodeID] with
    -    // request ID [requestID] failed.
    -    AppRequestFailed(context.Context, *AppRequestFailedMsg) (*emptypb.Empty, error)
    -    // Notify this engine of a response to the AppRequest message it sent to
    -    // [nodeID] with request ID [requestID].
    -    AppResponse(context.Context, *AppResponseMsg) (*emptypb.Empty, error)
    -    // Notify this engine of a gossip message from [nodeID].
    -    AppGossip(context.Context, *AppGossipMsg) (*emptypb.Empty, error)
    -    // Attempts to gather metrics from a VM.
    -    Gather(context.Context, *emptypb.Empty) (*GatherResponse, error)
    -    CrossChainAppRequest(context.Context, *CrossChainAppRequestMsg) (*emptypb.Empty, error)
    -    CrossChainAppRequestFailed(context.Context, *CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    -    CrossChainAppResponse(context.Context, *CrossChainAppResponseMsg) (*emptypb.Empty, error)
    -    // BatchedChainVM
    -    GetAncestors(context.Context, *GetAncestorsRequest) (*GetAncestorsResponse, error)
    -    BatchedParseBlock(context.Context, *BatchedParseBlockRequest) (*BatchedParseBlockResponse, error)
    -    // HeightIndexedChainVM
    -    GetBlockIDAtHeight(context.Context, *GetBlockIDAtHeightRequest) (*GetBlockIDAtHeightResponse, error)
    -    // StateSyncableVM
    -    //
    -    // StateSyncEnabled indicates whether the state sync is enabled for this VM.
    -    StateSyncEnabled(context.Context, *emptypb.Empty) (*StateSyncEnabledResponse, error)
    -    // GetOngoingSyncStateSummary returns an in-progress state summary if it exists.
    -    GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*GetOngoingSyncStateSummaryResponse, error)
    -    // GetLastStateSummary returns the latest state summary.
    -    GetLastStateSummary(context.Context, *emptypb.Empty) (*GetLastStateSummaryResponse, error)
    -    // ParseStateSummary parses a state summary out of [summaryBytes].
    -    ParseStateSummary(context.Context, *ParseStateSummaryRequest) (*ParseStateSummaryResponse, error)
    -    // GetStateSummary retrieves the state summary that was generated at height
    -    // [summaryHeight].
    -    GetStateSummary(context.Context, *GetStateSummaryRequest) (*GetStateSummaryResponse, error)
    -    // Block
    -    BlockVerify(context.Context, *BlockVerifyRequest) (*BlockVerifyResponse, error)
    -    BlockAccept(context.Context, *BlockAcceptRequest) (*emptypb.Empty, error)
    -    BlockReject(context.Context, *BlockRejectRequest) (*emptypb.Empty, error)
    -    // StateSummary
    -    StateSummaryAccept(context.Context, *StateSummaryAcceptRequest) (*StateSummaryAcceptResponse, error)
    -}
    - - - - - - - - - - - - - - - -

    type VersionResponse - - - -

    - -
    type VersionResponse struct {
    -    Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*VersionResponse) Descriptor - - - -

    -
    func (*VersionResponse) Descriptor() ([]byte, []int)
    -

    Deprecated: Use VersionResponse.ProtoReflect.Descriptor instead. - - - - - - -

    func (*VersionResponse) GetVersion - - - -

    -
    func (x *VersionResponse) GetVersion() string
    - - - - - - -

    func (*VersionResponse) ProtoMessage - - - -

    -
    func (*VersionResponse) ProtoMessage()
    - - - - - - -

    func (*VersionResponse) ProtoReflect - - - -

    -
    func (x *VersionResponse) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*VersionResponse) Reset - - - -

    -
    func (x *VersionResponse) Reset()
    - - - - - - -

    func (*VersionResponse) String - - - -

    -
    func (x *VersionResponse) String() string
    - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - runtime - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html deleted file mode 100644 index f7765ae2..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/proto/vm/runtime/index.html +++ /dev/null @@ -1,514 +0,0 @@ - - - - - - - - runtime - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package runtime - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/proto/vm/runtime"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const (
    -    Runtime_Initialize_FullMethodName = "/vm.runtime.Runtime/Initialize"
    -)
    - - - -

    Variables

    - - -
    var File_vm_runtime_runtime_proto protoreflect.FileDescriptor
    - -

    Runtime_ServiceDesc is the grpc.ServiceDesc for Runtime service. -It's only intended for direct use with grpc.RegisterService, -and not to be introspected or modified (even as a copy) - -

    var Runtime_ServiceDesc = grpc.ServiceDesc{
    -    ServiceName: "vm.runtime.Runtime",
    -    HandlerType: (*RuntimeServer)(nil),
    -    Methods: []grpc.MethodDesc{
    -        {
    -            MethodName: "Initialize",
    -            Handler:    _Runtime_Initialize_Handler,
    -        },
    -    },
    -    Streams:  []grpc.StreamDesc{},
    -    Metadata: "vm/runtime/runtime.proto",
    -}
    - - - - - -

    func RegisterRuntimeServer - - - -

    -
    func RegisterRuntimeServer(s grpc.ServiceRegistrar, srv RuntimeServer)
    - - - - - - - - -

    type InitializeRequest - - - -

    - -
    type InitializeRequest struct {
    -
    -    // ProtocolVersion is used to identify incompatibilities with AvalancheGo and a VM.
    -    ProtocolVersion uint32 `protobuf:"varint,1,opt,name=protocol_version,json=protocolVersion,proto3" json:"protocol_version,omitempty"`
    -    // Address of the gRPC server endpoint serving the handshake logic.
    -    // Example: 127.0.0.1:50001
    -    Addr string `protobuf:"bytes,2,opt,name=addr,proto3" json:"addr,omitempty"`
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*InitializeRequest) Descriptor - - - -

    -
    func (*InitializeRequest) Descriptor() ([]byte, []int)
    -

    Deprecated: Use InitializeRequest.ProtoReflect.Descriptor instead. - - - - - - -

    func (*InitializeRequest) GetAddr - - - -

    -
    func (x *InitializeRequest) GetAddr() string
    - - - - - - -

    func (*InitializeRequest) GetProtocolVersion - - - -

    -
    func (x *InitializeRequest) GetProtocolVersion() uint32
    - - - - - - -

    func (*InitializeRequest) ProtoMessage - - - -

    -
    func (*InitializeRequest) ProtoMessage()
    - - - - - - -

    func (*InitializeRequest) ProtoReflect - - - -

    -
    func (x *InitializeRequest) ProtoReflect() protoreflect.Message
    - - - - - - -

    func (*InitializeRequest) Reset - - - -

    -
    func (x *InitializeRequest) Reset()
    - - - - - - -

    func (*InitializeRequest) String - - - -

    -
    func (x *InitializeRequest) String() string
    - - - - - - - - -

    type RuntimeClient - - - -

    -

    RuntimeClient is the client API for Runtime 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 RuntimeClient interface {
    -    // Initialize a VM Runtime.
    -    Initialize(ctx context.Context, in *InitializeRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
    -}
    - - - - - - - - - - - -

    func NewRuntimeClient - - - -

    -
    func NewRuntimeClient(cc grpc.ClientConnInterface) RuntimeClient
    - - - - - - - - - -

    type RuntimeServer - - - -

    -

    RuntimeServer is the server API for Runtime service. -All implementations should embed UnimplementedRuntimeServer -for forward compatibility - -

    type RuntimeServer interface {
    -    // Initialize a VM Runtime.
    -    Initialize(context.Context, *InitializeRequest) (*emptypb.Empty, error)
    -}
    - - - - - - - - - - - - - - - -

    type UnimplementedRuntimeServer - - - -

    -

    UnimplementedRuntimeServer should be embedded to have forward compatible implementations. - -

    type UnimplementedRuntimeServer struct {
    -}
    -
    - - - - - - - - - - - - - -

    func (UnimplementedRuntimeServer) Initialize - - - -

    -
    func (UnimplementedRuntimeServer) Initialize(context.Context, *InitializeRequest) (*emptypb.Empty, error)
    - - - - - - - - -

    type UnsafeRuntimeServer - - - -

    -

    UnsafeRuntimeServer may be embedded to opt out of forward compatibility for this service. -Use of this interface is not recommended, as added methods to RuntimeServer will -result in compilation errors. - -

    type UnsafeRuntimeServer interface {
    -    // contains filtered or unexported methods
    -}
    - - - - - - - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html deleted file mode 100644 index 70462609..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cache/index.html +++ /dev/null @@ -1,678 +0,0 @@ - - - - - - - - cache - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package cache - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/cache"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const TestIntSize = ids.IDLen + 8
    - - - -

    Variables

    - -

    CacherTests is a list of all Cacher tests - -

    var CacherTests = []struct {
    -    Size int
    -    Func func(t *testing.T, c Cacher[ids.ID, int64])
    -}{
    -    {Size: 1, Func: TestBasic},
    -    {Size: 2, Func: TestEviction},
    -}
    - - - - - -

    func TestBasic - - - -

    -
    func TestBasic(t *testing.T, cache Cacher[ids.ID, int64])
    - - - - - - - -

    func TestEviction - - - -

    -
    func TestEviction(t *testing.T, cache Cacher[ids.ID, int64])
    - - - - - - - -

    func TestIntSizeFunc - - - -

    -
    func TestIntSizeFunc(ids.ID, int64) int
    - - - - - - - - -

    type Cacher - - - -

    -

    Cacher acts as a best effort key value store. - -

    type Cacher[K comparable, V any] interface {
    -    // Put inserts an element into the cache. If space is required, elements will
    -    // be evicted.
    -    Put(key K, value V)
    -
    -    // Get returns the entry in the cache with the key specified, if no value
    -    // exists, false is returned.
    -    Get(key K) (V, bool)
    -
    -    // Evict removes the specified entry from the cache
    -    Evict(key K)
    -
    -    // Flush removes all entries from the cache
    -    Flush()
    -
    -    // Returns the number of elements currently in the cache
    -    Len() int
    -
    -    // Returns fraction of cache currently filled (0 --> 1)
    -    PortionFilled() float64
    -}
    - - - - - - - - - - - -

    func NewSizedLRU - - - -

    -
    func NewSizedLRU[K comparable, V any](maxSize int, size func(K, V) int) Cacher[K, V]
    - - - - - - - - - -

    type Deduplicator - - - -

    -

    Deduplicator acts as a best effort deduplication service - -

    type Deduplicator[K comparable, V Evictable[K]] interface {
    -    // Deduplicate returns either the provided value, or a previously provided
    -    // value with the same ID that hasn't yet been evicted
    -    Deduplicate(V) V
    -
    -    // Flush removes all entries from the cache
    -    Flush()
    -}
    - - - - - - - - - - - - - - - -

    type Empty - - - -

    - -
    type Empty[K any, V any] struct{}
    -
    - - - - - - - - - - - - - -

    func (*Empty[K, _]) Evict - - - -

    -
    func (*Empty[K, _]) Evict(K)
    - - - - - - -

    func (*Empty[_, _]) Flush - - - -

    -
    func (*Empty[_, _]) Flush()
    - - - - - - -

    func (*Empty[K, V]) Get - - - -

    -
    func (*Empty[K, V]) Get(K) (V, bool)
    - - - - - - -

    func (*Empty[_, _]) Len - - - -

    -
    func (*Empty[_, _]) Len() int
    - - - - - - -

    func (*Empty[_, _]) PortionFilled - - - -

    -
    func (*Empty[_, _]) PortionFilled() float64
    - - - - - - -

    func (*Empty[K, V]) Put - - - -

    -
    func (*Empty[K, V]) Put(K, V)
    - - - - - - - - -

    type Evictable - - - -

    -

    Evictable allows the object to be notified when it is evicted - -

    type Evictable[K comparable] interface {
    -    Key() K
    -    Evict()
    -}
    - - - - - - - - - - - - - - - -

    type EvictableLRU - - - -

    -

    EvictableLRU is an LRU cache that notifies the objects when they are evicted. - -

    type EvictableLRU[K comparable, _ Evictable[K]] struct {
    -    Size int
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*EvictableLRU[_, V]) Deduplicate - - - -

    -
    func (c *EvictableLRU[_, V]) Deduplicate(value V) V
    - - - - - - -

    func (*EvictableLRU[_, _]) Flush - - - -

    -
    func (c *EvictableLRU[_, _]) Flush()
    - - - - - - - - -

    type LRU - - - -

    -

    LRU is a key value store with bounded size. If the size is attempted to be -exceeded, then an element is removed from the cache before the insertion is -done, based on evicting the least recently used value. - -

    type LRU[K comparable, V any] struct {
    -
    -    // If set to <= 0, will be set internally to 1.
    -    Size int
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*LRU[K, _]) Evict - - - -

    -
    func (c *LRU[K, _]) Evict(key K)
    - - - - - - -

    func (*LRU[_, _]) Flush - - - -

    -
    func (c *LRU[_, _]) Flush()
    - - - - - - -

    func (*LRU[K, V]) Get - - - -

    -
    func (c *LRU[K, V]) Get(key K) (V, bool)
    - - - - - - -

    func (*LRU[_, _]) Len - - - -

    -
    func (c *LRU[_, _]) Len() int
    - - - - - - -

    func (*LRU[_, _]) PortionFilled - - - -

    -
    func (c *LRU[_, _]) PortionFilled() float64
    - - - - - - -

    func (*LRU[K, V]) Put - - - -

    -
    func (c *LRU[K, V]) Put(key K, value V)
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html deleted file mode 100644 index 1e24ffcc..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/cb58/index.html +++ /dev/null @@ -1,211 +0,0 @@ - - - - - - - - cb58 - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package cb58 - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/cb58"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - - - - - - -

    Package files

    -

    - - - cb58.go - - -

    - -
    -
    - - - - - -

    Variables

    - - -
    var (
    -    ErrBase58Decoding  = errors.New("base58 decoding error")
    -    ErrMissingChecksum = errors.New("input string is smaller than the checksum size")
    -    ErrBadChecksum     = errors.New("invalid input checksum")
    -)
    - - - - - -

    func Decode - - - -

    -
    func Decode(str string) ([]byte, error)
    -

    Decode [str] to bytes from cb58. - - - - - - - -

    func Encode - - - -

    -
    func Encode(bytes []byte) (string, error)
    -

    Encode bytes to a string using cb58 format. -bytes may be nil, in which case it will be treated the same as an empty -slice. - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html deleted file mode 100644 index 7f43c4ee..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/hashing/index.html +++ /dev/null @@ -1,460 +0,0 @@ - - - - - - - - hashing - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package hashing - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/hashing"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    -

    Package hashing is a generated GoMock package. - - -

    -
    - - - - - - -

    Constants

    - - -
    const (
    -    HashLen = sha256.Size
    -)
    - - - -

    Variables

    - - -
    var ErrInvalidHashLen = errors.New("invalid hash length")
    - - - - - -

    func Checksum - - - -

    -
    func Checksum(bytes []byte, length int) []byte
    -

    Checksum creates a checksum of [length] bytes from the 256 bit hash of the -byte slice. -

    Returns: the lower [length] bytes of the hash -Panics if length > 32. - - - - - - - -

    func ComputeHash256 - - - -

    -
    func ComputeHash256(buf []byte) []byte
    -

    ComputeHash256 computes a cryptographically strong 256 bit hash of the input -byte slice. - - - - - - - -

    func ComputeHash256Ranges - - - -

    -
    func ComputeHash256Ranges(buf []byte, ranges [][2]int) []byte
    -

    ComputeHash256Ranges computes a cryptographically strong 256 bit hash of the input -byte slice in the ranges specified. -Example: -ComputeHash256Ranges({1, 2, 4, 8, 16}, {{1, 2}, {3, 5}}) is equivalent to -ComputeHash256({2, 8, 16}). - - - - - - - - -

    type Hash256 - - - -

    -

    Hash256 A 256 bit long hash value. - -

    type Hash256 = [HashLen]byte
    - - - - - - - - - - - -

    func ComputeHash256Array - - - -

    -
    func ComputeHash256Array(buf []byte) Hash256
    -

    ComputeHash256Array computes a cryptographically strong 256 bit hash of the -input byte slice. - - - - - -

    func ToHash256 - - - -

    -
    func ToHash256(bytes []byte) (Hash256, error)
    - - - - - - - - - -

    type Hasher - - - -

    -

    Hasher is an interface to compute a hash value. - -

    type Hasher interface {
    -    // Hash takes a string and computes its hash value.
    -    // Values must be computed deterministically.
    -    Hash([]byte) uint64
    -}
    - - - - - - - - - - - - - - - -

    type MockHasher - - - -

    -

    MockHasher is a mock of Hasher interface. - -

    type MockHasher struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewMockHasher - - - -

    -
    func NewMockHasher(ctrl *gomock.Controller) *MockHasher
    -

    NewMockHasher creates a new mock instance. - - - - - - - -

    func (*MockHasher) EXPECT - - - -

    -
    func (m *MockHasher) EXPECT() *MockHasherMockRecorder
    -

    EXPECT returns an object that allows the caller to indicate expected use. - - - - - - -

    func (*MockHasher) Hash - - - -

    -
    func (m *MockHasher) Hash(arg0 []byte) uint64
    -

    Hash mocks base method. - - - - - - - - -

    type MockHasherMockRecorder - - - -

    -

    MockHasherMockRecorder is the mock recorder for MockHasher. - -

    type MockHasherMockRecorder struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*MockHasherMockRecorder) Hash - - - -

    -
    func (mr *MockHasherMockRecorder) Hash(arg0 any) *gomock.Call
    -

    Hash indicates an expected call of Hash. - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html deleted file mode 100644 index 9a17db96..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/ids/index.html +++ /dev/null @@ -1,482 +0,0 @@ - - - - - - - - ids - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package ids - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/ids"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - -

    BitsPerByte is the number of bits per byte - -

    const BitsPerByte = 8
    - - -
    const (
    -    IDLen = 32
    -)
    - -

    NumBits is the number of bits this patricia tree manages - -

    const NumBits = 256
    - - - -

    Variables

    - - -
    var (
    -    // Empty is a useful all zero value
    -    Empty = ID{}
    -)
    - - - - - -

    func EqualSubset - - - -

    -
    func EqualSubset(start, stop int, id1, id2 ID) bool
    -

    EqualSubset takes in two indices and two ids and returns if the ids are -equal from bit start to bit end (non-inclusive). Bit indices are defined as: -[7 6 5 4 3 2 1 0] [15 14 13 12 11 10 9 8] ... [255 254 253 252 251 250 249 248] -Where index 7 is the MSB of byte 0. - - - - - - - -

    func FirstDifferenceSubset - - - -

    -
    func FirstDifferenceSubset(start, stop int, id1, id2 ID) (int, bool)
    -

    FirstDifferenceSubset takes in two indices and two ids and returns the index -of the first difference between the ids inside bit start to bit end -(non-inclusive). Bit indices are defined above - - - - - - - - -

    type ID - - - -

    -

    ID wraps a 32 byte hash used as an identifier - -

    type ID [IDLen]byte
    - - - - - - - - - - - -

    func FromString - - - -

    -
    func FromString(idStr string) (ID, error)
    -

    FromString is the inverse of ID.String() - - - - - -

    func FromStringOrPanic - - - -

    -
    func FromStringOrPanic(idStr string) ID
    -

    FromStringOrPanic is the same as FromString, but will panic on error - - - - - -

    func GenerateTestID - - - -

    -
    func GenerateTestID() ID
    -

    GenerateTestID returns a new ID that should only be used for testing - - - - - -

    func ToID - - - -

    -
    func ToID(bytes []byte) (ID, error)
    -

    ToID attempt to convert a byte slice into an id - - - - - - - -

    func (ID) Bit - - - -

    -
    func (id ID) Bit(i uint) int
    -

    Bit returns the bit value at the ith index of the byte array. Returns 0 or 1 - - - - - - -

    func (ID) Compare - - - -

    -
    func (id ID) Compare(other ID) int
    - - - - - - -

    func (ID) Hex - - - -

    -
    func (id ID) Hex() string
    -

    Hex returns a hex encoded string of this id. - - - - - - -

    func (ID) MarshalJSON - - - -

    -
    func (id ID) MarshalJSON() ([]byte, error)
    - - - - - - -

    func (ID) MarshalText - - - -

    -
    func (id ID) MarshalText() ([]byte, error)
    - - - - - - -

    func (ID) Prefix - - - -

    -
    func (id ID) Prefix(prefixes ...uint64) ID
    -

    Prefix this id to create a more selective id. This can be used to store -multiple values under the same key. For example: -prefix1(id) -> confidence -prefix2(id) -> vertex -This will return a new id and not modify the original id. - - - - - - -

    func (ID) String - - - -

    -
    func (id ID) String() string
    - - - - - - -

    func (*ID) UnmarshalJSON - - - -

    -
    func (id *ID) UnmarshalJSON(b []byte) error
    - - - - - - -

    func (*ID) UnmarshalText - - - -

    -
    func (id *ID) UnmarshalText(text []byte) error
    - - - - - - -

    func (ID) XOR - - - -

    -
    func (id ID) XOR(other ID) ID
    -

    XOR this id and the provided id and return the resulting id. -

    Note: this id is not modified. - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html deleted file mode 100644 index b43f59d2..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/index.html +++ /dev/null @@ -1,422 +0,0 @@ - - - - - - - - utils - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package utils - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - - - - - -

    func IsSortedAndUnique - - - -

    -
    func IsSortedAndUnique[T Sortable[T]](s []T) bool
    -

    Returns true iff the elements in [s] are unique and sorted. - - - - - - - -

    func IsSortedAndUniqueByHash - - - -

    -
    func IsSortedAndUniqueByHash[T ~[]byte](s []T) bool
    -

    Returns true iff the elements in [s] are unique and sorted -based by their hashes. - - - - - - - -

    func IsSortedAndUniqueOrdered - - - -

    -
    func IsSortedAndUniqueOrdered[T cmp.Ordered](s []T) bool
    -

    Returns true iff the elements in [s] are unique and sorted. - - - - - - - -

    func IsSortedBytes - - - -

    -
    func IsSortedBytes[T ~[]byte](s []T) bool
    -

    Returns true iff the elements in [s] are sorted. - - - - - - - -

    func Sort - - - -

    -
    func Sort[T Sortable[T]](s []T)
    -

    Sorts the elements of [s]. - - - - - - - -

    func SortByHash - - - -

    -
    func SortByHash[T ~[]byte](s []T)
    -

    Sorts the elements of [s] based on their hashes. - - - - - - - -

    func Zero - - - -

    -
    func Zero[T any]() T
    -

    Zero Returns a new instance of a T. - - - - - - - -

    func ZeroSlice - - - -

    -
    func ZeroSlice[T any](s []T)
    -

    ZeroSlice sets all values of the provided slice to the type's zero value. -

    This can be useful to ensure that the garbage collector doesn't hold -references to values that are no longer desired. - - - - - - - - -

    type Sortable - - - -

    - -
    type Sortable[T any] interface {
    -    Compare(T) int
    -}
    - - - - - - - - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - cache - - -
    - cb58 - - -
    - hashing - - Package hashing is a generated GoMock package. -
    - ids - - -
    - linkedhashmap - - -
    - wrappers - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html deleted file mode 100644 index 077f561a..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/linkedhashmap/index.html +++ /dev/null @@ -1,284 +0,0 @@ - - - - - - - - linkedhashmap - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package linkedhashmap - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/linkedhashmap"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - - - - -
    type Hashmap
    - - - - -
    type Iter
    - - - - -
    type LinkedHashmap
    - - -
        func New[K comparable, V any]() LinkedHashmap[K, V]
    - - - - -
    -
    - - - - -

    Package files

    -

    - - - iterator.go - - linkedhashmap.go - - -

    - -
    -
    - - - - - - - - - -

    type Hashmap - - - -

    -

    Hashmap provides an O(1) mapping from a comparable key to any value. -Comparable is defined by https://golang.org/ref/spec#Comparison_operators. - -

    type Hashmap[K, V any] interface {
    -    Put(key K, val V)
    -    Get(key K) (val V, exists bool)
    -    Delete(key K) (deleted bool)
    -    Len() int
    -}
    - - - - - - - - - - - - - - - -

    type Iter - - - -

    -

    Iterates over the keys and values in a LinkedHashmap -from oldest to newest elements. -Assumes the underlying LinkedHashmap is not modified while -the iterator is in use, except to delete elements that -have already been iterated over. - -

    type Iter[K, V any] interface {
    -    Next() bool
    -    Key() K
    -    Value() V
    -}
    - - - - - - - - - - - - - - - -

    type LinkedHashmap - - - -

    -

    LinkedHashmap is a hashmap that keeps track of the oldest pairing an the -newest pairing. - -

    type LinkedHashmap[K, V any] interface {
    -    Hashmap[K, V]
    -
    -    Oldest() (key K, val V, exists bool)
    -    Newest() (key K, val V, exists bool)
    -    NewIterator() Iter[K, V]
    -}
    - - - - - - - - - - - -

    func New - - - -

    -
    func New[K comparable, V any]() LinkedHashmap[K, V]
    - - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html deleted file mode 100644 index 9c43e976..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/utils/wrappers/index.html +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - - - wrappers - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package wrappers - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/utils/wrappers"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - - - - - - -

    Constants

    - - -
    const (
    -    MaxStringLen = math.MaxUint16
    -
    -    // ByteLen is the number of bytes per byte...
    -    ByteLen = 1
    -    // ShortLen is the number of bytes per short
    -    ShortLen = 2
    -    // IntLen is the number of bytes per int
    -    IntLen = 4
    -    // LongLen is the number of bytes per long
    -    LongLen = 8
    -    // BoolLen is the number of bytes per bool
    -    BoolLen = 1
    -)
    - - - -

    Variables

    - - -
    var (
    -    ErrInsufficientLength = errors.New("packer has insufficient length for input")
    -)
    - - - - - -

    func StringLen - - - -

    -
    func StringLen(str string) int
    - - - - - - - - -

    type Closer - - - -

    -

    Closer is a nice utility for closing a group of objects while reporting an -error if one occurs. - -

    type Closer struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Closer) Add - - - -

    -
    func (c *Closer) Add(closer io.Closer)
    -

    Add a new object to be closed. - - - - - - -

    func (*Closer) Close - - - -

    -
    func (c *Closer) Close() error
    -

    Close closes each of the closers add to [c] and returns the first error -that occurs or nil if no error occurs. - - - - - - - - -

    type Errs - - - -

    - -
    type Errs struct{ Err error }
    -
    - - - - - - - - - - - - - -

    func (*Errs) Add - - - -

    -
    func (errs *Errs) Add(errors ...error)
    - - - - - - -

    func (*Errs) Errored - - - -

    -
    func (errs *Errs) Errored() bool
    - - - - - - - - -

    type Packer - - - -

    -

    Packer packs and unpacks a byte array from/to standard values - -

    type Packer struct {
    -    Errs
    -
    -    // The largest allowed size of expanding the byte array
    -    MaxSize int
    -    // The current byte array
    -    Bytes []byte
    -    // The offset that is being written to in the byte array
    -    Offset int
    -}
    -
    - - - - - - - - - - - - - -

    func (*Packer) PackBool - - - -

    -
    func (p *Packer) PackBool(b bool)
    -

    PackBool packs a bool into the byte array - - - - - - -

    func (*Packer) PackByte - - - -

    -
    func (p *Packer) PackByte(val byte)
    -

    PackByte append a byte to the byte array - - - - - - -

    func (*Packer) PackBytes - - - -

    -
    func (p *Packer) PackBytes(bytes []byte)
    -

    PackBytes append a byte slice to the byte array - - - - - - -

    func (*Packer) PackFixedBytes - - - -

    -
    func (p *Packer) PackFixedBytes(bytes []byte)
    -

    PackFixedBytes append a byte slice, with no length descriptor to the byte -array - - - - - - -

    func (*Packer) PackInt - - - -

    -
    func (p *Packer) PackInt(val uint32)
    -

    PackInt append an int to the byte array - - - - - - -

    func (*Packer) PackLong - - - -

    -
    func (p *Packer) PackLong(val uint64)
    -

    PackLong append a long to the byte array - - - - - - -

    func (*Packer) PackShort - - - -

    -
    func (p *Packer) PackShort(val uint16)
    -

    PackShort append a short to the byte array - - - - - - -

    func (*Packer) PackStr - - - -

    -
    func (p *Packer) PackStr(str string)
    -

    PackStr append a string to the byte array - - - - - - -

    func (*Packer) UnpackBool - - - -

    -
    func (p *Packer) UnpackBool() bool
    -

    UnpackBool unpacks a bool from the byte array - - - - - - -

    func (*Packer) UnpackByte - - - -

    -
    func (p *Packer) UnpackByte() byte
    -

    UnpackByte unpack a byte from the byte array - - - - - - -

    func (*Packer) UnpackBytes - - - -

    -
    func (p *Packer) UnpackBytes() []byte
    -

    UnpackBytes unpack a byte slice from the byte array - - - - - - -

    func (*Packer) UnpackFixedBytes - - - -

    -
    func (p *Packer) UnpackFixedBytes(size int) []byte
    -

    UnpackFixedBytes unpack a byte slice, with no length descriptor from the byte -array - - - - - - -

    func (*Packer) UnpackInt - - - -

    -
    func (p *Packer) UnpackInt() uint32
    -

    UnpackInt unpack an int from the byte array - - - - - - -

    func (*Packer) UnpackLimitedBytes - - - -

    -
    func (p *Packer) UnpackLimitedBytes(limit uint32) []byte
    -

    UnpackLimitedBytes unpacks a byte slice. If the size of the slice is greater -than [limit], adds [errOversized] to the packer and returns nil. - - - - - - -

    func (*Packer) UnpackLimitedStr - - - -

    -
    func (p *Packer) UnpackLimitedStr(limit uint16) string
    -

    UnpackLimitedStr unpacks a string. If the size of the string is greater than -[limit], adds [errOversized] to the packer and returns the empty string. - - - - - - -

    func (*Packer) UnpackLong - - - -

    -
    func (p *Packer) UnpackLong() uint64
    -

    UnpackLong unpack a long from the byte array - - - - - - -

    func (*Packer) UnpackShort - - - -

    -
    func (p *Packer) UnpackShort() uint16
    -

    UnpackShort unpack a short from the byte array - - - - - - -

    func (*Packer) UnpackStr - - - -

    -
    func (p *Packer) UnpackStr() string
    -

    UnpackStr unpacks a string from the byte array - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html deleted file mode 100644 index fbac33ee..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/index.html +++ /dev/null @@ -1,1445 +0,0 @@ - - - - - - - - vm - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package vm - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - -
    Variables
    - - - -
    func WithClientConn(clientConn grpc.ClientConnInterface) func(vm *LandslideVM)
    - - -
    func WithOptClientConn(clientConn *grpc.ClientConn) func(vm *LandslideVM)
    - - - -
    type AppCreator
    - - - - -
    type AppCreatorOpts
    - - - - -
    type Application
    - - - - -
    type LandslideVM
    - - -
        func New(creator AppCreator) *LandslideVM
    - - -
        func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM)) *LandslideVM
    - - - -
        func (vm *LandslideVM) AppGossip(context.Context, *vmpb.AppGossipMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) AppRequest(context.Context, *vmpb.AppRequestMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) AppRequestFailed(context.Context, *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) AppResponse(context.Context, *vmpb.AppResponseMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) BatchedParseBlock(ctx context.Context, req *vmpb.BatchedParseBlockRequest) (*vmpb.BatchedParseBlockResponse, error)
    - - -
        func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
    - - -
        func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
    - - -
        func (vm *LandslideVM) CanShutdown() bool
    - - -
        func (vm *LandslideVM) Connected(context.Context, *vmpb.ConnectedRequest) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) CreateHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateHandlersResponse, error)
    - - -
        func (vm *LandslideVM) CrossChainAppRequest(context.Context, *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) CrossChainAppRequestFailed(context.Context, *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) CrossChainAppResponse(context.Context, *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) Disconnected(context.Context, *vmpb.DisconnectedRequest) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) Gather(context.Context, *emptypb.Empty) (*vmpb.GatherResponse, error)
    - - -
        func (vm *LandslideVM) GetAncestors(context.Context, *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
    - - -
        func (vm *LandslideVM) GetBlock(_ context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
    - - -
        func (vm *LandslideVM) GetBlockIDAtHeight(_ context.Context, req *vmpb.GetBlockIDAtHeightRequest) (*vmpb.GetBlockIDAtHeightResponse, error)
    - - -
        func (vm *LandslideVM) GetLastStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetLastStateSummaryResponse, error)
    - - -
        func (vm *LandslideVM) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetOngoingSyncStateSummaryResponse, error)
    - - -
        func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryRequest) (*vmpb.GetStateSummaryResponse, error)
    - - -
        func (vm *LandslideVM) Health(ctx context.Context, in *emptypb.Empty) (*vmpb.HealthResponse, error)
    - - -
        func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
    - - -
        func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
    - - -
        func (vm *LandslideVM) ParseStateSummary(context.Context, *vmpb.ParseStateSummaryRequest) (*vmpb.ParseStateSummaryResponse, error)
    - - -
        func (vm *LandslideVM) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) SetState(_ context.Context, req *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
    - - -
        func (vm *LandslideVM) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    - - -
        func (vm *LandslideVM) StateSummaryAccept(context.Context, *vmpb.StateSummaryAcceptRequest) (*vmpb.StateSummaryAcceptResponse, error)
    - - -
        func (vm *LandslideVM) StateSyncEnabled(context.Context, *emptypb.Empty) (*vmpb.StateSyncEnabledResponse, error)
    - - -
        func (vm *LandslideVM) Version(context.Context, *emptypb.Empty) (*vmpb.VersionResponse, error)
    - - - -
    type RPC
    - - -
        func NewRPC(vm *LandslideVM) *RPC
    - - - -
        func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error)
    - - -
        func (rpc *RPC) ABCIQuery(_ *rpctypes.Context, path string, data tmbytes.HexBytes, height int64, prove bool) (*ctypes.ResultABCIQuery, error)
    - - -
        func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error)
    - - -
        func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlock, error)
    - - -
        func (rpc *RPC) BlockResults(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlockResults, error)
    - - -
        func (rpc *RPC) BlockSearch(ctx *rpctypes.Context, query string, pagePtr, perPagePtr *int, orderBy string) (*ctypes.ResultBlockSearch, error)
    - - -
        func (rpc *RPC) BlockchainInfo(_ *rpctypes.Context, minHeight, maxHeight int64) (*ctypes.ResultBlockchainInfo, error)
    - - -
        func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    - - -
        func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error)
    - - -
        func (rpc *RPC) BroadcastTxSync(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    - - -
        func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx, error)
    - - -
        func (rpc *RPC) Commit(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultCommit, error)
    - - -
        func (rpc *RPC) ConsensusParams(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultConsensusParams, error)
    - - -
        func (rpc *RPC) DumpConsensusState(_ *rpctypes.Context) (*ctypes.ResultDumpConsensusState, error)
    - - -
        func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error)
    - - -
        func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultGenesisChunk, error)
    - - -
        func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusState, error)
    - - -
        func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error)
    - - -
        func (rpc *RPC) NetInfo(_ *rpctypes.Context) (*ctypes.ResultNetInfo, error)
    - - -
        func (rpc *RPC) NumUnconfirmedTxs(*rpctypes.Context) (*ctypes.ResultUnconfirmedTxs, error)
    - - -
        func (rpc *RPC) Routes() map[string]*jsonrpc.RPCFunc
    - - -
        func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error)
    - - -
        func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error)
    - - -
        func (rpc *RPC) TxSearch(ctx *rpctypes.Context, query string, prove bool, pagePtr, perPagePtr *int, orderBy string) (*ctypes.ResultTxSearch, error)
    - - -
        func (rpc *RPC) UnconfirmedTxs(_ *rpctypes.Context, limitPtr *int) (*ctypes.ResultUnconfirmedTxs, error)
    - - -
        func (rpc *RPC) Validators(_ *rpctypes.Context, heightPtr *int64, pagePtr, perPagePtr *int) (*ctypes.ResultValidators, error)
    - - - -
    -
    - - - - -

    Package files

    -

    - - - rpc.go - - vm.go - - -

    - -
    -
    - - - - - -

    Variables

    - - -
    var (
    -    Version = "0.0.0"
    -
    -    ErrNotFound     = errors.New("not found")
    -    ErrUnknownState = errors.New("unknown state")
    -)
    - - - - - -

    func WithClientConn - - - -

    -
    func WithClientConn(clientConn grpc.ClientConnInterface) func(vm *LandslideVM)
    -

    WithClientConn sets the client connection for the VM. - - - - - - - -

    func WithOptClientConn - - - -

    -
    func WithOptClientConn(clientConn *grpc.ClientConn) func(vm *LandslideVM)
    -

    WithOptClientConn sets the optional client connection for the VM. -it overrides the client connection set by WithClientConn. - - - - - - - - -

    type AppCreator - - - -

    - -
    type AppCreator func(*AppCreatorOpts) (Application, error)
    - - - - - - - - - - - - - - - -

    type AppCreatorOpts - - - -

    - -
    type AppCreatorOpts struct {
    -    NetworkID    uint32
    -    SubnetID     []byte
    -    ChainID      []byte
    -    NodeID       []byte
    -    PublicKey    []byte
    -    XChainID     []byte
    -    CChainID     []byte
    -    AvaxAssetID  []byte
    -    GenesisBytes []byte
    -    UpgradeBytes []byte
    -    ConfigBytes  []byte
    -    Config       *vmtypes.Config
    -    ChainDataDir string
    -}
    -
    - - - - - - - - - - - - - - - -

    type Application - - - -

    - -
    type Application = abcitypes.Application
    - - - - - - - - - - - - - - - -

    type LandslideVM - - - -

    - -
    type LandslideVM struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func New - - - -

    -
    func New(creator AppCreator) *LandslideVM
    - - - - - -

    func NewViaDB - - - -

    -
    func NewViaDB(database dbm.DB, creator AppCreator, options ...func(*LandslideVM)) *LandslideVM
    - - - - - - - -

    func (*LandslideVM) AppGossip - - - -

    -
    func (vm *LandslideVM) AppGossip(context.Context, *vmpb.AppGossipMsg) (*emptypb.Empty, error)
    -

    AppGossip notify this engine of a gossip message from [nodeID]. - - - - - - -

    func (*LandslideVM) AppRequest - - - -

    -
    func (vm *LandslideVM) AppRequest(context.Context, *vmpb.AppRequestMsg) (*emptypb.Empty, error)
    -

    AppRequest notify this engine of a request for data from [nodeID]. - - - - - - -

    func (*LandslideVM) AppRequestFailed - - - -

    -
    func (vm *LandslideVM) AppRequestFailed(context.Context, *vmpb.AppRequestFailedMsg) (*emptypb.Empty, error)
    -

    AppRequestFailed notify this engine that an AppRequest message it sent to [nodeID] with -request ID [requestID] failed. - - - - - - -

    func (*LandslideVM) AppResponse - - - -

    -
    func (vm *LandslideVM) AppResponse(context.Context, *vmpb.AppResponseMsg) (*emptypb.Empty, error)
    -

    AppResponse notify this engine of a response to the AppRequest message it sent to -[nodeID] with request ID [requestID]. - - - - - - -

    func (*LandslideVM) BatchedParseBlock - - - -

    -
    func (vm *LandslideVM) BatchedParseBlock(ctx context.Context, req *vmpb.BatchedParseBlockRequest) (*vmpb.BatchedParseBlockResponse, error)
    - - - - - - -

    func (*LandslideVM) BlockAccept - - - -

    -
    func (vm *LandslideVM) BlockAccept(_ context.Context, req *vmpb.BlockAcceptRequest) (*emptypb.Empty, error)
    -

    BlockAccept notifies the VM that a block has been accepted. -This is a critical method and should not be exposed publicly. - - - - - - -

    func (*LandslideVM) BlockReject - - - -

    -
    func (vm *LandslideVM) BlockReject(_ context.Context, req *vmpb.BlockRejectRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) BlockVerify - - - -

    -
    func (vm *LandslideVM) BlockVerify(_ context.Context, req *vmpb.BlockVerifyRequest) (*vmpb.BlockVerifyResponse, error)
    - - - - - - -

    func (*LandslideVM) BuildBlock - - - -

    -
    func (vm *LandslideVM) BuildBlock(context.Context, *vmpb.BuildBlockRequest) (*vmpb.BuildBlockResponse, error)
    -

    BuildBlock attempts to create a new block from data contained in the VM. -This method should be restricted to the AvalancheGo node. - - - - - - -

    func (*LandslideVM) CanShutdown - - - -

    -
    func (vm *LandslideVM) CanShutdown() bool
    -

    CanShutdown lets known when vm ready to shutting down - - - - - - -

    func (*LandslideVM) Connected - - - -

    -
    func (vm *LandslideVM) Connected(context.Context, *vmpb.ConnectedRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) CreateHandlers - - - -

    -
    func (vm *LandslideVM) CreateHandlers(context.Context, *emptypb.Empty) (*vmpb.CreateHandlersResponse, error)
    -

    CreateHandlers creates the HTTP handlers for custom chain network calls. - - - - - - -

    func (*LandslideVM) CrossChainAppRequest - - - -

    -
    func (vm *LandslideVM) CrossChainAppRequest(context.Context, *vmpb.CrossChainAppRequestMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) CrossChainAppRequestFailed - - - -

    -
    func (vm *LandslideVM) CrossChainAppRequestFailed(context.Context, *vmpb.CrossChainAppRequestFailedMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) CrossChainAppResponse - - - -

    -
    func (vm *LandslideVM) CrossChainAppResponse(context.Context, *vmpb.CrossChainAppResponseMsg) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) Disconnected - - - -

    -
    func (vm *LandslideVM) Disconnected(context.Context, *vmpb.DisconnectedRequest) (*emptypb.Empty, error)
    - - - - - - -

    func (*LandslideVM) Gather - - - -

    -
    func (vm *LandslideVM) Gather(context.Context, *emptypb.Empty) (*vmpb.GatherResponse, error)
    -

    Gather attempts to gather metrics from a VM. - - - - - - -

    func (*LandslideVM) GetAncestors - - - -

    -
    func (vm *LandslideVM) GetAncestors(context.Context, *vmpb.GetAncestorsRequest) (*vmpb.GetAncestorsResponse, error)
    - - - - - - -

    func (*LandslideVM) GetBlock - - - -

    -
    func (vm *LandslideVM) GetBlock(_ context.Context, req *vmpb.GetBlockRequest) (*vmpb.GetBlockResponse, error)
    -

    GetBlock attempt to load a block. - - - - - - -

    func (*LandslideVM) GetBlockIDAtHeight - - - -

    -
    func (vm *LandslideVM) GetBlockIDAtHeight(_ context.Context, req *vmpb.GetBlockIDAtHeightRequest) (*vmpb.GetBlockIDAtHeightResponse, error)
    - - - - - - -

    func (*LandslideVM) GetLastStateSummary - - - -

    -
    func (vm *LandslideVM) GetLastStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetLastStateSummaryResponse, error)
    -

    GetLastStateSummary returns the latest state summary. - - - - - - -

    func (*LandslideVM) GetOngoingSyncStateSummary - - - -

    -
    func (vm *LandslideVM) GetOngoingSyncStateSummary(context.Context, *emptypb.Empty) (*vmpb.GetOngoingSyncStateSummaryResponse, error)
    -

    GetOngoingSyncStateSummary returns an in-progress state summary if it exists. - - - - - - -

    func (*LandslideVM) GetStateSummary - - - -

    -
    func (vm *LandslideVM) GetStateSummary(context.Context, *vmpb.GetStateSummaryRequest) (*vmpb.GetStateSummaryResponse, error)
    -

    GetStateSummary retrieves the state summary that was generated at height -[summaryHeight]. - - - - - - -

    func (*LandslideVM) Health - - - -

    -
    func (vm *LandslideVM) Health(ctx context.Context, in *emptypb.Empty) (*vmpb.HealthResponse, error)
    -

    Health attempt to verify the health of the VM. - - - - - - -

    func (*LandslideVM) Initialize - - - -

    -
    func (vm *LandslideVM) Initialize(_ context.Context, req *vmpb.InitializeRequest) (*vmpb.InitializeResponse, error)
    -

    Initialize initializes the VM. -This method should only be accessible by the AvalancheGo node and not exposed publicly. - - - - - - -

    func (*LandslideVM) ParseBlock - - - -

    -
    func (vm *LandslideVM) ParseBlock(_ context.Context, req *vmpb.ParseBlockRequest) (*vmpb.ParseBlockResponse, error)
    -

    ParseBlock attempt to create a block from a stream of bytes. - - - - - - -

    func (*LandslideVM) ParseStateSummary - - - -

    -
    func (vm *LandslideVM) ParseStateSummary(context.Context, *vmpb.ParseStateSummaryRequest) (*vmpb.ParseStateSummaryResponse, error)
    -

    ParseStateSummary parses a state summary out of [summaryBytes]. - - - - - - -

    func (*LandslideVM) SetPreference - - - -

    -
    func (vm *LandslideVM) SetPreference(_ context.Context, req *vmpb.SetPreferenceRequest) (*emptypb.Empty, error)
    -

    SetPreference notify the VM of the currently preferred block. - - - - - - -

    func (*LandslideVM) SetState - - - -

    -
    func (vm *LandslideVM) SetState(_ context.Context, req *vmpb.SetStateRequest) (*vmpb.SetStateResponse, error)
    -

    SetState communicates to VM its next state it starts - - - - - - -

    func (*LandslideVM) Shutdown - - - -

    -
    func (vm *LandslideVM) Shutdown(context.Context, *emptypb.Empty) (*emptypb.Empty, error)
    -

    Shutdown is called when the node is shutting down. - - - - - - -

    func (*LandslideVM) StateSummaryAccept - - - -

    -
    func (vm *LandslideVM) StateSummaryAccept(context.Context, *vmpb.StateSummaryAcceptRequest) (*vmpb.StateSummaryAcceptResponse, error)
    - - - - - - -

    func (*LandslideVM) StateSyncEnabled - - - -

    -
    func (vm *LandslideVM) StateSyncEnabled(context.Context, *emptypb.Empty) (*vmpb.StateSyncEnabledResponse, error)
    -

    StateSyncEnabled indicates whether the state sync is enabled for this VM. - - - - - - -

    func (*LandslideVM) Version - - - -

    -
    func (vm *LandslideVM) Version(context.Context, *emptypb.Empty) (*vmpb.VersionResponse, error)
    -

    Version returns the version of the VM. - - - - - - - - -

    type RPC - - - -

    - -
    type RPC struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewRPC - - - -

    -
    func NewRPC(vm *LandslideVM) *RPC
    - - - - - - - -

    func (*RPC) ABCIInfo - - - -

    -
    func (rpc *RPC) ABCIInfo(_ *rpctypes.Context) (*ctypes.ResultABCIInfo, error)
    -

    ABCIInfo returns the latest information about the application. - - - - - - -

    func (*RPC) ABCIQuery - - - -

    -
    func (rpc *RPC) ABCIQuery(
    -    _ *rpctypes.Context,
    -    path string,
    -    data tmbytes.HexBytes,
    -    height int64,
    -    prove bool,
    -) (*ctypes.ResultABCIQuery, error)
    -

    ABCIQuery queries the application for some information. - - - - - - -

    func (*RPC) Block - - - -

    -
    func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error)
    - - - - - - -

    func (*RPC) BlockByHash - - - -

    -
    func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlock, error)
    - - - - - - -

    func (*RPC) BlockResults - - - -

    -
    func (rpc *RPC) BlockResults(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlockResults, error)
    - - - - - - -

    func (*RPC) BlockSearch - - - -

    -
    func (rpc *RPC) BlockSearch(
    -    ctx *rpctypes.Context,
    -    query string,
    -    pagePtr, perPagePtr *int,
    -    orderBy string,
    -) (*ctypes.ResultBlockSearch, error)
    - - - - - - -

    func (*RPC) BlockchainInfo - - - -

    -
    func (rpc *RPC) BlockchainInfo(
    -    _ *rpctypes.Context,
    -    minHeight, maxHeight int64,
    -) (*ctypes.ResultBlockchainInfo, error)
    - - - - - - -

    func (*RPC) BroadcastTxAsync - - - -

    -
    func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    - - - - - - -

    func (*RPC) BroadcastTxCommit - - - -

    -
    func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error)
    - - - - - - -

    func (*RPC) BroadcastTxSync - - - -

    -
    func (rpc *RPC) BroadcastTxSync(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error)
    -

    BroadcastTxSync returns with the response from CheckTx. Does not wait for -the transaction result. -More: https://docs.cometbft.com/v0.38.x/rpc/#/Tx/broadcast_tx_sync - - - - - - -

    func (*RPC) CheckTx - - - -

    -
    func (rpc *RPC) CheckTx(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultCheckTx, error)
    -

    CheckTx checks the transaction without executing it. The transaction won't -be added to the mempool either. - - - - - - -

    func (*RPC) Commit - - - -

    -
    func (rpc *RPC) Commit(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultCommit, error)
    - - - - - - -

    func (*RPC) ConsensusParams - - - -

    -
    func (rpc *RPC) ConsensusParams(
    -    _ *rpctypes.Context,
    -    heightPtr *int64,
    -) (*ctypes.ResultConsensusParams, error)
    - - - - - - -

    func (*RPC) DumpConsensusState - - - -

    -
    func (rpc *RPC) DumpConsensusState(_ *rpctypes.Context) (*ctypes.ResultDumpConsensusState, error)
    -

    DumpConsensusState - we doesn't have consensusState - - - - - - -

    func (*RPC) Genesis - - - -

    -
    func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error)
    - - - - - - -

    func (*RPC) GenesisChunked - - - -

    -
    func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultGenesisChunk, error)
    - - - - - - -

    func (*RPC) GetConsensusState - - - -

    -
    func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusState, error)
    -

    GetConsensusState - we doesn't have consensusState - - - - - - -

    func (*RPC) Health - - - -

    -
    func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error)
    - - - - - - -

    func (*RPC) NetInfo - - - -

    -
    func (rpc *RPC) NetInfo(_ *rpctypes.Context) (*ctypes.ResultNetInfo, error)
    -

    NetInfo - no peers, because it's vm - - - - - - -

    func (*RPC) NumUnconfirmedTxs - - - -

    -
    func (rpc *RPC) NumUnconfirmedTxs(*rpctypes.Context) (*ctypes.ResultUnconfirmedTxs, error)
    -

    NumUnconfirmedTxs gets number of unconfirmed transactions. - - - - - - -

    func (*RPC) Routes - - - -

    -
    func (rpc *RPC) Routes() map[string]*jsonrpc.RPCFunc
    - - - - - - -

    func (*RPC) Status - - - -

    -
    func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error)
    - - - - - - -

    func (*RPC) Tx - - - -

    -
    func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error)
    - - - - - - -

    func (*RPC) TxSearch - - - -

    -
    func (rpc *RPC) TxSearch(
    -    ctx *rpctypes.Context,
    -    query string,
    -    prove bool,
    -    pagePtr, perPagePtr *int,
    -    orderBy string,
    -) (*ctypes.ResultTxSearch, error)
    -

    TxSearch defines a method to search for a paginated set of transactions by -transaction event search criteria. - - - - - - -

    func (*RPC) UnconfirmedTxs - - - -

    -
    func (rpc *RPC) UnconfirmedTxs(_ *rpctypes.Context, limitPtr *int) (*ctypes.ResultUnconfirmedTxs, error)
    -

    UnconfirmedTxs gets unconfirmed transactions (maximum ?limit entries) -including their number. - - - - - - -

    func (*RPC) Validators - - - -

    -
    func (rpc *RPC) Validators(
    -    _ *rpctypes.Context,
    -    heightPtr *int64,
    -    pagePtr, perPagePtr *int,
    -) (*ctypes.ResultValidators, error)
    -

    Validators fetches and verifies validators. - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - types - - -
    - block - - -
    - closer - - -
    - commit - - -
    - state - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html deleted file mode 100644 index 84d000e9..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/block/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - block - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package block - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm/types/block"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - - - - - - -

    Package files

    -

    - - - block.go - - -

    - -
    -
    - - - - - - - - -

    func ParentHash - - - -

    -
    func ParentHash(block *types.Block) [32]byte
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html deleted file mode 100644 index 03f6d436..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/closer/index.html +++ /dev/null @@ -1,228 +0,0 @@ - - - - - - - - closer - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package closer - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm/types/closer"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - - - - -
    type Closer
    - - - -
        func (c *Closer) Add(closer io.Closer)
    - - -
        func (c *Closer) Close() error
    - - - -
    -
    - - - - -

    Package files

    -

    - - - closer.go - - -

    - -
    -
    - - - - - - - - - -

    type Closer - - - -

    -

    Closer is a nice utility for closing a group of objects while reporting an -error if one occurs. - -

    type Closer struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - - - -

    func (*Closer) Add - - - -

    -
    func (c *Closer) Add(closer io.Closer)
    -

    Add a new object to be closed. - - - - - - -

    func (*Closer) Close - - - -

    -
    func (c *Closer) Close() error
    -

    Close closes each of the closers add to [c] and returns the first error -that occurs or nil if no error occurs. - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html deleted file mode 100644 index f71ca6bc..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/commit/index.html +++ /dev/null @@ -1,179 +0,0 @@ - - - - - - - - commit - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package commit - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm/types/commit"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - - -
    - - - - - - - - -

    func MakeCommit - - - -

    -
    func MakeCommit(height int64, timestamp time.Time, validators *types.ValidatorSet, blockID types.BlockID) *types.Commit
    - - - - - - - - - - - - - - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html deleted file mode 100644 index 464c78e7..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/index.html +++ /dev/null @@ -1,554 +0,0 @@ - - - - - - - - types - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package types - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm/types"
    -
    -
    -
    Overview
    -
    Index
    - - -
    Subdirectories
    - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - - -
    - - - - - - - - -

    func Zero - - - -

    -
    func Zero[T any]() T
    -

    Zero returns a new instance of a T. - - - - - - - -

    func ZeroSlice - - - -

    -
    func ZeroSlice[T any](s []T)
    -

    ZeroSlice sets all values of the provided slice to the type's zero value. -

    This can be useful to ensure that the garbage collector doesn't hold -references to values that are no longer desired. - - - - - - - - -

    type Atomic - - - -

    - -
    type Atomic[T any] struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewAtomic - - - -

    -
    func NewAtomic[T any](value T) *Atomic[T]
    - - - - - - - -

    func (*Atomic[T]) Get - - - -

    -
    func (a *Atomic[T]) Get() T
    - - - - - - -

    func (*Atomic[T]) Set - - - -

    -
    func (a *Atomic[T]) Set(value T)
    - - - - - - - - -

    type BlockParams - - - -

    -

    BlockParams contains the consensus critical parameters for a block. - -

    type BlockParams struct {
    -    MaxBytes int64 `json:"max_bytes"`
    -    MaxGas   int64 `json:"max_gas"`
    -}
    -
    - - - - - - - - - - - - - - - -

    type Config - - - -

    - -
    type Config struct {
    -    VMConfig  VMConfig        `json:"vm_config"`
    -    AppConfig json.RawMessage `json:"app_config"`
    -}
    -
    - - - - - - - - - - - - - - - -

    type ConsensusParams - - - -

    -

    ConsensusParams contains consensus critical parameters that determine the -validity of blocks. - -

    type ConsensusParams struct {
    -    Block    BlockParams    `json:"block"`
    -    Evidence EvidenceParams `json:"evidence"`
    -}
    -
    - - - - - - - - - - - - - -

    func (*ConsensusParams) Validate - - - -

    -
    func (c *ConsensusParams) Validate() error
    -

    Validate returns an error if this is an invalid config. - - - - - - - - -

    type EvidenceParams - - - -

    -

    EvidenceParams contains the consensus critical parameters for evidence. - -

    type EvidenceParams struct {
    -    MaxBytes int64 `json:"max_bytes"`
    -}
    -
    - - - - - - - - - - - - - - - -

    type VMConfig - - - -

    -

    VMConfig contains the configuration of the VM. - -

    type VMConfig struct {
    -    NetworkName               string          `json:"network_name"`
    -    TimeoutBroadcastTxCommit  uint16          `json:"timeout_broadcast_tx_commit"`
    -    ConsensusParams           ConsensusParams `json:"consensus_params"`
    -    MaxSubscriptionClients    int             `json:"max_subscription_clients"`
    -    MaxSubscriptionsPerClient int             `json:"max_subscriptions_per_client"`
    -}
    -
    - - - - - - - - - - - - - -

    func (*VMConfig) SetDefaults - - - -

    -
    func (c *VMConfig) SetDefaults()
    -

    SetDefaults sets the default values for the config. - - - - - - -

    func (*VMConfig) Validate - - - -

    -
    func (c *VMConfig) Validate() error
    -

    Validate returns an error if this is an invalid config. - - - - - - - - - - - - - - - - -

    Subdirectories

    - -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    NameSynopsis
    ..
    - block - - -
    - closer - - -
    - commit - - -
    - state - - -
    -
    - - - - - -
    -
    - - diff --git a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html b/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html deleted file mode 100644 index dfa5baa1..00000000 --- a/localhost:8081/pkg/github.com/consideritdone/landslidevm/vm/types/state/index.html +++ /dev/null @@ -1,1246 +0,0 @@ - - - - - - - - state - Go Documentation Server - - - - - - - - - - - - - -
    -... -
    - -
    - - - -
    - -
    - -
    - - - -
    -
    - - -

    - Package state - -

    - - - - - - - - - - - - - - - - - -
    -
    -
    import "github.com/consideritdone/landslidevm/vm/types/state"
    -
    -
    -
    Overview
    -
    Index
    - - -
    -
    - -
    - -
    -

    Overview ▾

    - - -
    -
    - -
    - -
    -

    Index ▾

    - - -
    -
    - - -
    Variables
    - - - -
    func BuildExtendedCommitInfo(ec *types.ExtendedCommit, valSet *types.ValidatorSet, initialHeight int64, ap types.ABCIParams) abci.ExtendedCommitInfo
    - - -
    func BuildLastCommitInfo(block *types.Block, lastValSet *types.ValidatorSet, initialHeight int64) abci.CommitInfo
    - - -
    func DecodeBlock(data []byte) (*types.Block, error)
    - - -
    func DecodeBlockWithStatus(data []byte) (*types.Block, vm.Status, error)
    - - -
    func EncodeBlock(block *types.Block) ([]byte, error)
    - - -
    func EncodeBlockWithStatus(blk *types.Block, status vm.Status) ([]byte, error)
    - - -
    func ExecCommitBlock(appConnConsensus proxy.AppConnConsensus, block *types.Block, logger log.Logger, store statetypes.Store, initialHeight int64) ([]byte, error)
    - - -
    func MedianTime(commit *types.Commit, validators *types.ValidatorSet) time.Time
    - - -
    func TxPostCheck(state state.State) mempl.PostCheckFunc
    - - -
    func TxPreCheck(state state.State) mempl.PreCheckFunc
    - - -
    func ValidateBlock(state state.State, block *types.Block) error
    - - - -
    type BlockExecutor
    - - -
        func NewBlockExecutor(stateStore statetypes.Store, logger log.Logger, proxyApp proxy.AppConnConsensus, mempool mempool.Mempool, blockStore statetypes.BlockStore, blockMaxBytes int64, blockMaxGas int64, evidenceMaxBytes int64, options ...BlockExecutorOption) *BlockExecutor
    - - - -
        func (blockExec *BlockExecutor) ApplyBlock(state statetypes.State, blockID types.BlockID, block *types.Block) (statetypes.State, error)
    - - -
        func (blockExec *BlockExecutor) Commit(state statetypes.State, block *types.Block, abciResponse *abci.ResponseFinalizeBlock) (int64, error)
    - - -
        func (blockExec *BlockExecutor) CreateProposalBlock(ctx context.Context, height int64, state statetypes.State, lastExtCommit *types.ExtendedCommit, proposerAddr []byte) (*types.Block, error)
    - - -
        func (blockExec *BlockExecutor) ExtendVote(ctx context.Context, vote *types.Vote, block *types.Block, state statetypes.State) ([]byte, error)
    - - -
        func (blockExec *BlockExecutor) ProcessProposal(block *types.Block, state statetypes.State) (bool, error)
    - - -
        func (blockExec *BlockExecutor) SetEventBus(eventBus types.BlockEventPublisher)
    - - -
        func (blockExec *BlockExecutor) Store() statetypes.Store
    - - -
        func (blockExec *BlockExecutor) ValidateBlock(state statetypes.State, block *types.Block) error
    - - -
        func (blockExec *BlockExecutor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) error
    - - - -
    type BlockExecutorOption
    - - -
        func BlockExecutorWithMetrics(metrics *statetypes.Metrics) BlockExecutorOption
    - - - - -
    type ErrAppBlockHeightTooHigh
    - - - -
        func (e ErrAppBlockHeightTooHigh) Error() string
    - - - -
    type ErrAppBlockHeightTooLow
    - - - -
        func (e ErrAppBlockHeightTooLow) Error() string
    - - - -
    type ErrBlockHashMismatch
    - - - -
        func (e ErrBlockHashMismatch) Error() string
    - - - -
    type ErrInvalidBlock
    - - - - -
    type ErrLastStateMismatch
    - - - -
        func (e ErrLastStateMismatch) Error() string
    - - - -
    type ErrNoABCIResponsesForHeight
    - - - -
        func (e ErrNoABCIResponsesForHeight) Error() string
    - - - -
    type ErrNoConsensusParamsForHeight
    - - - -
        func (e ErrNoConsensusParamsForHeight) Error() string
    - - - -
    type ErrNoValSetForHeight
    - - - -
        func (e ErrNoValSetForHeight) Error() string
    - - - -
    type ErrProxyAppConn
    - - - - -
    type ErrStateMismatch
    - - - -
        func (e ErrStateMismatch) Error() string
    - - - -
    type ErrUnknownBlock
    - - - -
        func (e ErrUnknownBlock) Error() string
    - - - -
    type WrappedBlock
    - - - - -
    type WrappedBlocksStorage
    - - -
        func NewWrappedBlocksStorage() *WrappedBlocksStorage
    - - - -
        func (s *WrappedBlocksStorage) Flush()
    - - -
        func (s *WrappedBlocksStorage) GetCachedBlock(blkID ids.ID) (*WrappedBlock, bool)
    - - - -
    -
    - - - - -

    Package files

    -

    - - - error.go - - executor.go - - tx_filter.go - - utils.go - - wrapped_block.go - - -

    - -
    -
    - - - - - -

    Variables

    - - -
    var ErrFinalizeBlockResponsesNotPersisted = errors.New("node is not persisting finalize block responses")
    - - - - - -

    func BuildExtendedCommitInfo - - - -

    -
    func BuildExtendedCommitInfo(ec *types.ExtendedCommit, valSet *types.ValidatorSet, initialHeight int64, ap types.ABCIParams) abci.ExtendedCommitInfo
    -

    BuildExtendedCommitInfo builds an ExtendedCommitInfo from the given block and validator set. -If you want to load the validator set from the store instead of providing it, -use buildExtendedCommitInfoFromStore. - - - - - - - -

    func BuildLastCommitInfo - - - -

    -
    func BuildLastCommitInfo(block *types.Block, lastValSet *types.ValidatorSet, initialHeight int64) abci.CommitInfo
    -

    BuildLastCommitInfo builds a CommitInfo from the given block and validator set. -If you want to load the validator set from the store instead of providing it, -use buildLastCommitInfoFromStore. - - - - - - - -

    func DecodeBlock - - - -

    -
    func DecodeBlock(data []byte) (*types.Block, error)
    - - - - - - - -

    func DecodeBlockWithStatus - - - -

    -
    func DecodeBlockWithStatus(data []byte) (*types.Block, vm.Status, error)
    - - - - - - - -

    func EncodeBlock - - - -

    -
    func EncodeBlock(block *types.Block) ([]byte, error)
    - - - - - - - -

    func EncodeBlockWithStatus - - - -

    -
    func EncodeBlockWithStatus(blk *types.Block, status vm.Status) ([]byte, error)
    - - - - - - - -

    func ExecCommitBlock - - - -

    -
    func ExecCommitBlock(
    -    appConnConsensus proxy.AppConnConsensus,
    -    block *types.Block,
    -    logger log.Logger,
    -    store statetypes.Store,
    -    initialHeight int64,
    -) ([]byte, error)
    -

    ExecCommitBlock executes and commits a block on the proxyApp without validating or mutating the state. -It returns the application root hash (result of abci.Commit). - - - - - - - -

    func MedianTime - - - -

    -
    func MedianTime(commit *types.Commit, validators *types.ValidatorSet) time.Time
    -

    MedianTime computes a median time for a given Commit (based on Timestamp field of votes messages) and the -corresponding validator set. The computed time is always between timestamps of -the votes sent by honest processes, i.e., a faulty processes can not arbitrarily increase or decrease the -computed value. - - - - - - - -

    func TxPostCheck - - - -

    -
    func TxPostCheck(state state.State) mempl.PostCheckFunc
    -

    TxPostCheck returns a function to filter transactions after processing. -The function limits the gas wanted by a transaction to the block's maximum total gas. - - - - - - - -

    func TxPreCheck - - - -

    -
    func TxPreCheck(state state.State) mempl.PreCheckFunc
    -

    TxPreCheck returns a function to filter transactions before processing. -The function limits the size of a transaction to the block's maximum data size. - - - - - - - -

    func ValidateBlock - - - -

    -
    func ValidateBlock(state state.State, block *types.Block) error
    - - - - - - - - -

    type BlockExecutor - - - -

    -

    BlockExecutor provides the context and accessories for properly executing a block. - -

    type BlockExecutor struct {
    -    // contains filtered or unexported fields
    -}
    -
    - - - - - - - - - - - -

    func NewBlockExecutor - - - -

    -
    func NewBlockExecutor(
    -    stateStore statetypes.Store,
    -    logger log.Logger,
    -    proxyApp proxy.AppConnConsensus,
    -    mempool mempool.Mempool,
    -    blockStore statetypes.BlockStore,
    -    blockMaxBytes int64,
    -    blockMaxGas int64,
    -    evidenceMaxBytes int64,
    -    options ...BlockExecutorOption,
    -
    -) *BlockExecutor
    -

    NewBlockExecutor returns a new BlockExecutor with a NopEventBus. -Call SetEventBus to provide one. - - - - - - - -

    func (*BlockExecutor) ApplyBlock - - - -

    -
    func (blockExec *BlockExecutor) ApplyBlock(
    -    state statetypes.State, blockID types.BlockID, block *types.Block,
    -) (statetypes.State, error)
    -

    ApplyBlock validates the block against the state, executes it against the app, -fires the relevant events, commits the app, and saves the new state and responses. -It returns the new state. -It's the only function that needs to be called -from outside this package to process and commit an entire block. -It takes a blockID to avoid recomputing the parts hash. - - - - - - -

    func (*BlockExecutor) Commit - - - -

    -
    func (blockExec *BlockExecutor) Commit(
    -    state statetypes.State,
    -    block *types.Block,
    -    abciResponse *abci.ResponseFinalizeBlock,
    -) (int64, error)
    -

    Commit locks the mempool, runs the ABCI Commit message, and updates the -mempool. -It returns the result of calling abci.Commit which is the height to retain (if any)). -The application is expected to have persisted its state (if any) before returning -from the ABCI Commit call. This is the only place where the application should -persist its statetypes. -The Mempool must be locked during commit and update because state is -typically reset on Commit and old txs must be replayed against committed -state before new txs are run in the mempool, lest they be invalid. - - - - - - -

    func (*BlockExecutor) CreateProposalBlock - - - -

    -
    func (blockExec *BlockExecutor) CreateProposalBlock(
    -    ctx context.Context,
    -    height int64,
    -    state statetypes.State,
    -    lastExtCommit *types.ExtendedCommit,
    -    proposerAddr []byte,
    -) (*types.Block, error)
    -

    CreateProposalBlock calls statetypes.MakeBlock with evidence from the evpool -and txs from the mempool. The max bytes must be big enough to fit the commit. -The block space is first allocated to outstanding evidence. -The rest is given to txs, up to the max gas. -

    Contract: application will not return more bytes than are sent over the wire. - - - - - - -

    func (*BlockExecutor) ExtendVote - - - -

    -
    func (blockExec *BlockExecutor) ExtendVote(
    -    ctx context.Context,
    -    vote *types.Vote,
    -    block *types.Block,
    -    state statetypes.State,
    -) ([]byte, error)
    - - - - - - -

    func (*BlockExecutor) ProcessProposal - - - -

    -
    func (blockExec *BlockExecutor) ProcessProposal(
    -    block *types.Block,
    -    state statetypes.State,
    -) (bool, error)
    -

    ProcessProposal is called whenever a node receives a complete proposal. - - - - - - -

    func (*BlockExecutor) SetEventBus - - - -

    -
    func (blockExec *BlockExecutor) SetEventBus(eventBus types.BlockEventPublisher)
    -

    SetEventBus - sets the event bus for publishing block related events. -If not called, it defaults to types.NopEventBus. - - - - - - -

    func (*BlockExecutor) Store - - - -

    -
    func (blockExec *BlockExecutor) Store() statetypes.Store
    - - - - - - -

    func (*BlockExecutor) ValidateBlock - - - -

    -
    func (blockExec *BlockExecutor) ValidateBlock(state statetypes.State, block *types.Block) error
    -

    ValidateBlock validates the given block against the given state. -If the block is invalid, it returns an error. -Validation does not mutate state, but does require historical information from the stateDB, -ie. to verify evidence from a validator at an old height. - - - - - - -

    func (*BlockExecutor) VerifyVoteExtension - - - -

    -
    func (blockExec *BlockExecutor) VerifyVoteExtension(ctx context.Context, vote *types.Vote) error
    - - - - - - - - -

    type BlockExecutorOption - - - -

    - -
    type BlockExecutorOption func(executor *BlockExecutor)
    - - - - - - - - - - - -

    func BlockExecutorWithMetrics - - - -

    -
    func BlockExecutorWithMetrics(metrics *statetypes.Metrics) BlockExecutorOption
    - - - - - - - - - -

    type ErrAppBlockHeightTooHigh - - - -

    - -
    type ErrAppBlockHeightTooHigh struct {
    -    CoreHeight int64
    -    AppHeight  int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrAppBlockHeightTooHigh) Error - - - -

    -
    func (e ErrAppBlockHeightTooHigh) Error() string
    - - - - - - - - -

    type ErrAppBlockHeightTooLow - - - -

    - -
    type ErrAppBlockHeightTooLow struct {
    -    AppHeight int64
    -    StoreBase int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrAppBlockHeightTooLow) Error - - - -

    -
    func (e ErrAppBlockHeightTooLow) Error() string
    - - - - - - - - -

    type ErrBlockHashMismatch - - - -

    - -
    type ErrBlockHashMismatch struct {
    -    CoreHash []byte
    -    AppHash  []byte
    -    Height   int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrBlockHashMismatch) Error - - - -

    -
    func (e ErrBlockHashMismatch) Error() string
    - - - - - - - - -

    type ErrInvalidBlock - - - -

    - -
    type ErrInvalidBlock error
    - - - - - - - - - - - - - - - -

    type ErrLastStateMismatch - - - -

    - -
    type ErrLastStateMismatch struct {
    -    Height int64
    -    Core   []byte
    -    App    []byte
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrLastStateMismatch) Error - - - -

    -
    func (e ErrLastStateMismatch) Error() string
    - - - - - - - - -

    type ErrNoABCIResponsesForHeight - - - -

    - -
    type ErrNoABCIResponsesForHeight struct {
    -    Height int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrNoABCIResponsesForHeight) Error - - - -

    -
    func (e ErrNoABCIResponsesForHeight) Error() string
    - - - - - - - - -

    type ErrNoConsensusParamsForHeight - - - -

    - -
    type ErrNoConsensusParamsForHeight struct {
    -    Height int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrNoConsensusParamsForHeight) Error - - - -

    -
    func (e ErrNoConsensusParamsForHeight) Error() string
    - - - - - - - - -

    type ErrNoValSetForHeight - - - -

    - -
    type ErrNoValSetForHeight struct {
    -    Height int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrNoValSetForHeight) Error - - - -

    -
    func (e ErrNoValSetForHeight) Error() string
    - - - - - - - - -

    type ErrProxyAppConn - - - -

    - -
    type ErrProxyAppConn error
    - - - - - - - - - - - - - - - -

    type ErrStateMismatch - - - -

    - -
    type ErrStateMismatch struct {
    -    Got      *state.State
    -    Expected *state.State
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrStateMismatch) Error - - - -

    -
    func (e ErrStateMismatch) Error() string
    - - - - - - - - -

    type ErrUnknownBlock - - - -

    - -
    type ErrUnknownBlock struct {
    -    Height int64
    -}
    -
    - - - - - - - - - - - - - -

    func (ErrUnknownBlock) Error - - - -

    -
    func (e ErrUnknownBlock) Error() string
    - - - - - - - - -

    type WrappedBlock - - - -

    - -
    type WrappedBlock struct {
    -    // block is the block this wrapper is wrapping
    -    Block *types.Block
    -    // status is the status of the block
    -    Status vm.Status
    -}
    -
    - - - - - - - - - - - - - - - -

    type WrappedBlocksStorage - - - -

    - -
    type WrappedBlocksStorage struct {
    -    // verifiedBlocks is a map of blocks that have been verified and are
    -    // therefore currently in consensus.
    -    VerifiedBlocks map[ids.ID]*WrappedBlock
    -    // decidedBlocks is an LRU cache of decided blocks.
    -    // the block for which the Accept/Reject function was called
    -    DecidedBlocks cache.Cacher[ids.ID, *WrappedBlock]
    -    // unverifiedBlocks is an LRU cache of blocks with status processing
    -    // that have not yet passed verification.
    -    UnverifiedBlocks cache.Cacher[ids.ID, *WrappedBlock]
    -    // missingBlocks is an LRU cache of missing blocks
    -    MissingBlocks cache.Cacher[ids.ID, struct{}]
    -    // string([byte repr. of block]) --> the block's ID
    -    BytesToIDCache cache.Cacher[string, ids.ID]
    -}
    -
    - - - - - - - - - - - -

    func NewWrappedBlocksStorage - - - -

    -
    func NewWrappedBlocksStorage() *WrappedBlocksStorage
    - - - - - - - -

    func (*WrappedBlocksStorage) Flush - - - -

    -
    func (s *WrappedBlocksStorage) Flush()
    -

    Flush each block cache - - - - - - -

    func (*WrappedBlocksStorage) GetCachedBlock - - - -

    -
    func (s *WrappedBlocksStorage) GetCachedBlock(blkID ids.ID) (*WrappedBlock, bool)
    -

    GetCachedBlock checks the caches for [blkID] by priority. Returning -true if [blkID] is found in one of the caches. - - - - - - - - - - - - - - - - -

    - -
    -
    - - diff --git a/vm/rpc.go b/vm/rpc.go index 79efcfb4..563f0cf8 100644 --- a/vm/rpc.go +++ b/vm/rpc.go @@ -142,6 +142,7 @@ func (rpc *RPC) ABCIQuery( return &ctypes.ResultABCIQuery{Response: *resQuery}, nil } +// BroadcastTxCommit returns with the responses from CheckTx and ExecTxResult. func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTxCommit, error) { rpc.vm.logger.Info("BroadcastTxCommit called") subscriber := ctx.RemoteAddr() @@ -235,6 +236,8 @@ func (rpc *RPC) BroadcastTxCommit(ctx *rpctypes.Context, tx types.Tx) (*ctypes.R } } +// BroadcastTxAsync returns right away, with no response. Does not wait for +// CheckTx nor transaction results. func (rpc *RPC) BroadcastTxAsync(_ *rpctypes.Context, tx types.Tx) (*ctypes.ResultBroadcastTx, error) { rpc.vm.logger.Info("BroadcastTxAsync called") err := rpc.vm.mempool.CheckTx(tx, nil, mempl.TxInfo{}) @@ -308,6 +311,14 @@ func filterMinMax(base, height, min, max, limit int64) (int64, int64, error) { return min, max, nil } +// BlockchainInfo gets block headers for minHeight <= height <= maxHeight. +// +// If maxHeight does not yet exist, blocks up to the current height will be +// returned. If minHeight does not exist (due to pruning), earliest existing +// height will be used. +// +// At most 20 items will be returned. Block headers are returned in descending +// order (highest first). func (rpc *RPC) BlockchainInfo( _ *rpctypes.Context, minHeight, maxHeight int64, @@ -340,6 +351,7 @@ func (rpc *RPC) BlockchainInfo( }, nil } +// Genesis returns genesis file. func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error) { if len(rpc.vm.genChunks) > 1 { return nil, errors.New("genesis response is large, please use the genesis_chunked API instead") @@ -348,6 +360,7 @@ func (rpc *RPC) Genesis(_ *rpctypes.Context) (*ctypes.ResultGenesis, error) { return &ctypes.ResultGenesis{Genesis: rpc.vm.genesis}, nil } +// GenesisChunked returns requested chunk of genesis file func (rpc *RPC) GenesisChunked(_ *rpctypes.Context, chunk uint) (*ctypes.ResultGenesisChunk, error) { if rpc.vm.genChunks == nil { return nil, fmt.Errorf("service configuration error, genesis chunks are not initialized") @@ -385,6 +398,7 @@ func (rpc *RPC) GetConsensusState(_ *rpctypes.Context) (*ctypes.ResultConsensusS return nil, nil } +// ConsensusParams returns requested chunk of genesis file func (rpc *RPC) ConsensusParams( _ *rpctypes.Context, _ *int64, @@ -395,6 +409,8 @@ func (rpc *RPC) ConsensusParams( }, nil } +// Health gets node health. Returns empty result (200 OK) on success, no +// response - in case of an error. func (rpc *RPC) Health(*rpctypes.Context) (*ctypes.ResultHealth, error) { return &ctypes.ResultHealth{}, nil } @@ -424,6 +440,8 @@ func getHeight(bs *store.BlockStore, heightPtr *int64) (int64, error) { return height, nil } +// Block gets block at a given height. +// If no height is provided, it will fetch the latest block. func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBlock, error) { height, err := getHeight(rpc.vm.blockStore, heightPtr) if err != nil { @@ -441,6 +459,7 @@ func (rpc *RPC) Block(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultBloc return &ctypes.ResultBlock{BlockID: blockMeta.BlockID, Block: block}, nil } +// BlockByHash gets block by hash. func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlock, error) { block := rpc.vm.blockStore.LoadBlockByHash(hash) if block == nil { @@ -450,6 +469,12 @@ func (rpc *RPC) BlockByHash(_ *rpctypes.Context, hash []byte) (*ctypes.ResultBlo return &ctypes.ResultBlock{BlockID: blockMeta.BlockID, Block: block}, nil } +// BlockResults gets ABCIResults at a given height. +// If no height is provided, it will fetch results for the latest block. +// +// Results are for the height of the block containing the txs. +// Thus response.results.deliver_tx[5] is the results of executing +// getBlock(h).Txs[5] func (rpc *RPC) BlockResults(_ *rpctypes.Context, _ *int64) (*ctypes.ResultBlockResults, error) { // height, err := getHeight(rpc.vm.blockStore, args.Height) // if err != nil { @@ -471,6 +496,8 @@ func (rpc *RPC) BlockResults(_ *rpctypes.Context, _ *int64) (*ctypes.ResultBlock return nil, nil } +// Commit gets block commit at a given height. +// If no height is provided, it will fetch the commit for the latest block. func (rpc *RPC) Commit(_ *rpctypes.Context, heightPtr *int64) (*ctypes.ResultCommit, error) { height, err := getHeight(rpc.vm.blockStore, heightPtr) if err != nil { @@ -543,7 +570,11 @@ func validateSkipCount(page, perPage int) int { return skipCount } -// Validators fetches and verifies validators. +// Validators gets the validator set at the given block height. +// +// If no height is provided, it will fetch the latest validator set. Note the +// validators are sorted by their voting power - this is the canonical order +// for the validators in the set as used in computing their Merkle root. func (rpc *RPC) Validators( _ *rpctypes.Context, heightPtr *int64, @@ -578,6 +609,9 @@ func (rpc *RPC) Validators( }, nil } +// Tx allows you to query the transaction results. `nil` could mean the +// transaction is in the mempool, invalidated, or was not sent in the first +// place. func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.ResultTx, error) { rpc.vm.logger.Info("Tx called", "hash", hash) r, err := rpc.vm.txIndexer.Get(hash) @@ -614,8 +648,8 @@ func (rpc *RPC) Tx(_ *rpctypes.Context, hash []byte, prove bool) (*ctypes.Result }, nil } -// TxSearch defines a method to search for a paginated set of transactions by -// transaction event search criteria. +// TxSearch allows you to query for multiple transactions results. It returns a +// list of transactions (maximum ?per_page entries) and the total count. func (rpc *RPC) TxSearch( ctx *rpctypes.Context, query string, @@ -692,6 +726,8 @@ func (rpc *RPC) TxSearch( return &ctypes.ResultTxSearch{Txs: apiResults, TotalCount: totalCount}, nil } +// BlockSearch searches for a paginated set of blocks matching +// FinalizeBlock event search criteria. func (rpc *RPC) BlockSearch( ctx *rpctypes.Context, query string, @@ -749,6 +785,8 @@ func (rpc *RPC) BlockSearch( return &ctypes.ResultBlockSearch{Blocks: apiResults, TotalCount: totalCount}, nil } +// Status returns CometBFT status including node info, pubkey, latest block +// hash, app hash, block height and time. func (rpc *RPC) Status(_ *rpctypes.Context) (*ctypes.ResultStatus, error) { var ( earliestBlockHeight int64