Update neo-go to v0.103.0 #752
6 changed files with 47 additions and 34 deletions
39
go.mod
39
go.mod
|
@ -13,14 +13,14 @@ require (
|
|||
github.com/chzyer/readline v1.5.1
|
||||
github.com/dgraph-io/ristretto v0.1.1
|
||||
github.com/flynn-archive/go-shlex v0.0.0-20150515145356-3f9db97f8568
|
||||
github.com/google/uuid v1.3.0
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.4
|
||||
github.com/klauspost/compress v1.16.6
|
||||
github.com/google/uuid v1.3.1
|
||||
github.com/hashicorp/golang-lru/v2 v2.0.7
|
||||
github.com/klauspost/compress v1.17.2
|
||||
github.com/mitchellh/go-homedir v1.1.0
|
||||
github.com/mr-tron/base58 v1.2.0
|
||||
github.com/multiformats/go-multiaddr v0.9.0
|
||||
github.com/nats-io/nats.go v1.27.1
|
||||
github.com/nspcc-dev/neo-go v0.101.5-0.20230808195420-5fc61be5f6c5
|
||||
github.com/nspcc-dev/neo-go v0.103.0
|
||||
github.com/olekukonko/tablewriter v0.0.5
|
||||
github.com/panjf2000/ants/v2 v2.7.5
|
||||
github.com/paulmach/orb v0.9.2
|
||||
|
@ -33,11 +33,11 @@ require (
|
|||
go.etcd.io/bbolt v1.3.7
|
||||
go.opentelemetry.io/otel v1.16.0
|
||||
go.opentelemetry.io/otel/trace v1.16.0
|
||||
go.uber.org/zap v1.24.0
|
||||
golang.org/x/exp v0.0.0-20230626212559-97b1e661b5df
|
||||
golang.org/x/sync v0.3.0
|
||||
golang.org/x/term v0.9.0
|
||||
google.golang.org/grpc v1.56.1
|
||||
go.uber.org/zap v1.26.0
|
||||
golang.org/x/exp v0.0.0-20231006140011-7918f672742d
|
||||
golang.org/x/sync v0.4.0
|
||||
golang.org/x/term v0.13.0
|
||||
google.golang.org/grpc v1.59.0
|
||||
google.golang.org/protobuf v1.31.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
@ -45,7 +45,7 @@ require (
|
|||
require (
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/gogo/protobuf v1.3.2 // indirect
|
||||
github.com/golang/glog v1.1.0 // indirect
|
||||
github.com/golang/glog v1.1.2 // indirect
|
||||
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
|
||||
github.com/google/flatbuffers v1.12.1 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
|
@ -56,13 +56,12 @@ require (
|
|||
git.frostfs.info/TrueCloudLab/frostfs-crypto v0.6.0 // indirect
|
||||
git.frostfs.info/TrueCloudLab/rfc6979 v0.4.0 // indirect
|
||||
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
|
||||
github.com/benbjohnson/clock v1.3.5 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/bits-and-blooms/bitset v1.8.0 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/consensys/bavard v0.1.13 // indirect
|
||||
github.com/consensys/gnark-crypto v0.11.0 // indirect
|
||||
github.com/consensys/gnark-crypto v0.12.2-0.20231013160410-1f65e75b6dfb // indirect
|
||||
github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
|
||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0 // indirect
|
||||
|
@ -97,7 +96,7 @@ require (
|
|||
github.com/nats-io/nkeys v0.4.4 // indirect
|
||||
github.com/nats-io/nuid v1.0.1 // indirect
|
||||
github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 // indirect
|
||||
github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20230808195420-5fc61be5f6c5 // indirect
|
||||
github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231020160724-c3955f87d1b5 // indirect
|
||||
github.com/nspcc-dev/rfc6979 v0.2.0 // indirect
|
||||
github.com/pelletier/go-toml/v2 v2.0.8 // indirect
|
||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||
|
@ -121,15 +120,13 @@ require (
|
|||
go.opentelemetry.io/otel/metric v1.16.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.16.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v0.20.0 // indirect
|
||||
go.uber.org/atomic v1.11.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/crypto v0.10.0 // indirect
|
||||
golang.org/x/net v0.11.0 // indirect
|
||||
golang.org/x/sys v0.9.0 // indirect
|
||||
golang.org/x/text v0.10.0 // indirect
|
||||
google.golang.org/genproto v0.0.0-20230628200519-e449d1ea0e82 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230628200519-e449d1ea0e82 // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230628200519-e449d1ea0e82 // indirect
|
||||
golang.org/x/crypto v0.14.0 // indirect
|
||||
golang.org/x/net v0.17.0 // indirect
|
||||
golang.org/x/sys v0.13.0 // indirect
|
||||
golang.org/x/text v0.13.0 // indirect
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d // indirect
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect
|
||||
gopkg.in/ini.v1 v1.67.0 // indirect
|
||||
lukechampine.com/blake3 v1.2.1 // indirect
|
||||
rsc.io/tmplfunc v0.0.3 // indirect
|
||||
|
|
BIN
go.sum
BIN
go.sum
Binary file not shown.
|
@ -1,7 +1,6 @@
|
|||
package innerring
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
@ -111,16 +110,11 @@ func (s *innerRingIndexer) AlphabetIndex() (int32, error) {
|
|||
|
||||
// keyPosition returns "-1" if key is not found in the list, otherwise returns
|
||||
// index of the key.
|
||||
func keyPosition(key *keys.PublicKey, list keys.PublicKeys) (result int32) {
|
||||
result = -1
|
||||
rawBytes := key.Bytes()
|
||||
|
||||
func keyPosition(key *keys.PublicKey, list keys.PublicKeys) int32 {
|
||||
for i := range list {
|
||||
if bytes.Equal(list[i].Bytes(), rawBytes) {
|
||||
result = int32(i)
|
||||
break
|
||||
if key.Equal(list[i]) {
|
||||
return int32(i)
|
||||
}
|
||||
}
|
||||
|
||||
return result
|
||||
return -1
|
||||
}
|
||||
|
|
|
@ -223,3 +223,23 @@ func (f *testIRFetcher) InnerRingKeys() (keys.PublicKeys, error) {
|
|||
f.calls.Add(1)
|
||||
return f.keys, f.err
|
||||
}
|
||||
|
||||
func BenchmarkKeyPosition(b *testing.B) {
|
||||
list := make(keys.PublicKeys, 7)
|
||||
for i := range list {
|
||||
p, err := keys.NewPrivateKey()
|
||||
require.NoError(b, err)
|
||||
list[i] = p.PublicKey()
|
||||
}
|
||||
|
||||
key := new(keys.PublicKey)
|
||||
require.NoError(b, key.DecodeBytes(list[5].Bytes()))
|
||||
|
||||
b.ResetTimer()
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
if keyPosition(key, list) != 5 {
|
||||
b.FailNow()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -706,13 +706,17 @@ func WithProxyContract(h util.Uint160) NotaryOption {
|
|||
}
|
||||
}
|
||||
|
||||
// Neo RPC node can return `core.ErrInvalidAttribute` error with
|
||||
// Neo RPC node can return `neorpc.ErrInvalidAttribute` error with
|
||||
// `conflicting transaction <> is already on chain` message. This
|
||||
// error is expected and ignored. As soon as main tx persisted on
|
||||
// chain everything is fine. This happens because notary contract
|
||||
// requires 5 out of 7 signatures to send main tx, thus last two
|
||||
// notary requests may be processed after main tx appeared on chain.
|
||||
func alreadyOnChainError(err error) bool {
|
||||
if !errors.Is(err, neorpc.ErrInvalidAttribute) {
|
||||
return false
|
||||
}
|
||||
|
||||
const alreadyOnChainErrorMessage = "already on chain"
|
||||
|
||||
return strings.Contains(err.Error(), alreadyOnChainErrorMessage)
|
||||
|
|
|
@ -310,7 +310,6 @@ func (s *subscriber) restoreSubscriptions(notifCh chan<- *state.ContainedNotific
|
|||
|
||||
// notification events restoration
|
||||
for contract := range s.subscribedEvents {
|
||||
contract := contract // See https://github.com/nspcc-dev/neo-go/issues/2890
|
||||
_, err = s.client.ReceiveExecutionNotifications(contract, notifCh)
|
||||
if err != nil {
|
||||
s.log.Error(logs.ClientCouldNotRestoreNotificationSubscriptionAfterRPCSwitch, zap.Error(err))
|
||||
|
@ -320,7 +319,6 @@ func (s *subscriber) restoreSubscriptions(notifCh chan<- *state.ContainedNotific
|
|||
|
||||
// notary notification events restoration
|
||||
for signer := range s.subscribedNotaryEvents {
|
||||
signer := signer // See https://github.com/nspcc-dev/neo-go/issues/2890
|
||||
_, err = s.client.ReceiveNotaryRequests(signer, notaryCh)
|
||||
if err != nil {
|
||||
s.log.Error(logs.ClientCouldNotRestoreNotaryNotificationSubscriptionAfterRPCSwitch, zap.Error(err))
|
||||
|
|
Loading…
Reference in a new issue