diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e453dd35a..a567de4e1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -55,7 +55,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' cache: true - name: Update Go modules @@ -141,7 +141,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' cache: true - name: Login to DockerHub diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 13b8cbf47..f41593764 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/setup-go@v4 with: - go-version: '1.18' + go-version: '1.19' - uses: actions/checkout@v3 - name: golangci-lint uses: golangci/golangci-lint-action@v3 @@ -99,7 +99,7 @@ jobs: - name: Set up Go uses: actions/setup-go@v4 with: - go-version: '1.20' + go-version: '1.21' cache: true - name: Update Go modules @@ -121,20 +121,20 @@ jobs: strategy: matrix: os: [ubuntu-20.04, windows-2022, macos-12] - go_versions: [ '1.18', '1.19', '1.20' ] + go_versions: [ '1.19', '1.20', '1.21' ] exclude: # Only latest Go version for Windows and MacOS. - os: windows-2022 - go_versions: '1.18' + go_versions: '1.19' - os: windows-2022 - go_versions: '1.19' - - os: macos-12 - go_versions: '1.18' + go_versions: '1.20' - os: macos-12 go_versions: '1.19' + - os: macos-12 + go_versions: '1.20' # Exclude latest Go version for Ubuntu as Coverage uses it. - os: ubuntu-20.04 - go_versions: '1.20' + go_versions: '1.21' fail-fast: false steps: - uses: actions/checkout@v3 diff --git a/Dockerfile b/Dockerfile index debcff904..137f07393 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # Builder image # Keep go version in sync with Build GA job. -FROM golang:1.20-alpine as builder +FROM golang:1.21-alpine as builder # Display go version for information purposes. RUN go version diff --git a/Dockerfile.wsc b/Dockerfile.wsc index 25b35ff62..c4d094980 100644 --- a/Dockerfile.wsc +++ b/Dockerfile.wsc @@ -1,75 +1,6 @@ # Builder image -FROM mcr.microsoft.com/windows/servercore:ltsc2022 as builder - -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';", "$ProgressPreference = 'SilentlyContinue';"] - -ENV GIT_VERSION=2.23.0 - -ENV GIT_TAG=v2.23.0.windows.1 - -ENV GIT_DOWNLOAD_URL=https://github.com/git-for-windows/git/releases/download/v2.23.0.windows.1/MinGit-2.23.0-64-bit.zip - -ENV GIT_DOWNLOAD_SHA256=8f65208f92c0b4c3ae4c0cf02d4b5f6791d539cd1a07b2df62b7116467724735 - -RUN Write-Host ('Downloading {0} ...' -f $env:GIT_DOWNLOAD_URL); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $env:GIT_DOWNLOAD_URL -OutFile 'git.zip'; \ - \ - Write-Host ('Verifying sha256 ({0}) ...' -f $env:GIT_DOWNLOAD_SHA256); \ - if ((Get-FileHash git.zip -Algorithm sha256).Hash -ne $env:GIT_DOWNLOAD_SHA256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive -Path git.zip -DestinationPath C:\git\.; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item git.zip -Force; \ - \ - Write-Host 'Updating PATH ...'; \ - $env:PATH = 'C:\git\cmd;C:\git\mingw64\bin;C:\git\usr\bin;' + $env:PATH; \ - [Environment]::SetEnvironmentVariable('PATH', $env:PATH, [EnvironmentVariableTarget]::Machine); \ - \ - Write-Host 'Verifying install ("git version") ...'; \ - git version; \ - \ - Write-Host 'Complete.'; - -ENV GOPATH=C:\\go - -RUN $newPath = ('{0}\bin;C:\Program Files\Go\bin;{1}' -f $env:GOPATH, $env:PATH); \ - Write-Host ('Updating PATH: {0}' -f $newPath); \ - [Environment]::SetEnvironmentVariable('PATH', $newPath, [EnvironmentVariableTarget]::Machine); - # Keep go version in sync with Build GA job. -ENV GOLANG_VERSION=1.20 - -RUN $url = 'https://go.dev/dl/go1.20.windows-amd64.zip'; \ - Write-Host ('Downloading {0} ...' -f $url); \ - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; \ - Invoke-WebRequest -Uri $url -OutFile 'go.zip'; \ - \ - $sha256 = 'e8f6d8bbcf3df58d2ba29818e13b04c2e42ba2e4d90d580720b21c34d10bbf68'; \ - Write-Host ('Verifying sha256 ({0}) ...' -f $sha256); \ - if ((Get-FileHash go.zip -Algorithm sha256).Hash -ne $sha256) { \ - Write-Host 'FAILED!'; \ - exit 1; \ - }; \ - \ - Write-Host 'Expanding ...'; \ - Expand-Archive go.zip -DestinationPath C:\; \ - \ - Write-Host 'Moving ...'; \ - Move-Item -Path C:\go -Destination 'C:\Program Files\Go'; \ - \ - Write-Host 'Removing ...'; \ - Remove-Item go.zip -Force; \ - \ - Write-Host 'Verifying install ("go version") ...'; \ - go version; \ - \ - Write-Host 'Complete.'; +FROM golang:1.21.3-windowsservercore-ltsc2022 as builder COPY . /neo-go diff --git a/Makefile b/Makefile index b663f4580..7fbbdb13d 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ REPONAME = "neo-go" NETMODE ?= "privnet" BINARY=neo-go BINARY_PATH=./bin/$(BINARY)$(shell go env GOEXE) -GO_VERSION ?= 1.18 +GO_VERSION ?= 1.19 DESTDIR = "" SYSCONFIGDIR = "/etc" BINDIR = "/usr/bin" diff --git a/README.md b/README.md index 278615782..82f89752e 100644 --- a/README.md +++ b/README.md @@ -51,7 +51,7 @@ NeoGo, `:latest` points to the latest release) or build yourself. ### Building -Building NeoGo requires Go 1.18+ and `make`: +Building NeoGo requires Go 1.19+ and `make`: ``` make diff --git a/cli/query/query.go b/cli/query/query.go index 1d7c4ff66..4b909b088 100644 --- a/cli/query/query.go +++ b/cli/query/query.go @@ -111,7 +111,10 @@ func queryTx(ctx *cli.Context) error { } } - DumpApplicationLog(ctx, res, &txOut.Transaction, &txOut.TransactionMetadata, ctx.Bool("verbose")) + err = DumpApplicationLog(ctx, res, &txOut.Transaction, &txOut.TransactionMetadata, ctx.Bool("verbose")) + if err != nil { + return cli.NewExitError(err, 1) + } return nil } @@ -120,47 +123,49 @@ func DumpApplicationLog( res *result.ApplicationLog, tx *transaction.Transaction, txMeta *result.TransactionMetadata, - verbose bool) { - buf := bytes.NewBuffer(nil) + verbose bool) error { + var buf []byte - // Ignore the errors below because `Write` to buffer doesn't return error. - tw := tabwriter.NewWriter(buf, 0, 4, 4, '\t', 0) - _, _ = tw.Write([]byte("Hash:\t" + tx.Hash().StringLE() + "\n")) - _, _ = tw.Write([]byte(fmt.Sprintf("OnChain:\t%t\n", res != nil))) + buf = fmt.Appendf(buf, "Hash:\t%s\n", tx.Hash().StringLE()) + buf = fmt.Appendf(buf, "OnChain:\t%t\n", res != nil) if res == nil { - _, _ = tw.Write([]byte("ValidUntil:\t" + strconv.FormatUint(uint64(tx.ValidUntilBlock), 10) + "\n")) + buf = fmt.Appendf(buf, "ValidUntil:\t%s\n", strconv.FormatUint(uint64(tx.ValidUntilBlock), 10)) } else { if txMeta != nil { - _, _ = tw.Write([]byte("BlockHash:\t" + txMeta.Blockhash.StringLE() + "\n")) + buf = fmt.Appendf(buf, "BlockHash:\t%s\n", txMeta.Blockhash.StringLE()) } if len(res.Executions) != 1 { - _, _ = tw.Write([]byte("Success:\tunknown (no execution data)\n")) + buf = fmt.Appendf(buf, "Success:\tunknown (no execution data)\n") } else { - _, _ = tw.Write([]byte(fmt.Sprintf("Success:\t%t\n", res.Executions[0].VMState == vmstate.Halt))) + buf = fmt.Appendf(buf, "Success:\t%t\n", res.Executions[0].VMState == vmstate.Halt) } } if verbose { for _, sig := range tx.Signers { - _, _ = tw.Write([]byte(fmt.Sprintf("Signer:\t%s (%s)", - address.Uint160ToString(sig.Account), - sig.Scopes) + "\n")) + buf = fmt.Appendf(buf, "Signer:\t%s (%s)\n", address.Uint160ToString(sig.Account), sig.Scopes) } - _, _ = tw.Write([]byte("SystemFee:\t" + fixedn.Fixed8(tx.SystemFee).String() + " GAS\n")) - _, _ = tw.Write([]byte("NetworkFee:\t" + fixedn.Fixed8(tx.NetworkFee).String() + " GAS\n")) - _, _ = tw.Write([]byte("Script:\t" + base64.StdEncoding.EncodeToString(tx.Script) + "\n")) + buf = fmt.Appendf(buf, "SystemFee:\t%s GAS\n", fixedn.Fixed8(tx.SystemFee).String()) + buf = fmt.Appendf(buf, "NetworkFee:\t%s GAS\n", fixedn.Fixed8(tx.NetworkFee).String()) + buf = fmt.Appendf(buf, "Script:\t%s\n", base64.StdEncoding.EncodeToString(tx.Script)) v := vm.New() v.Load(tx.Script) - v.PrintOps(tw) + opts := bytes.NewBuffer(nil) + v.PrintOps(opts) + buf = append(buf, opts.Bytes()...) if res != nil { for _, e := range res.Executions { if e.VMState != vmstate.Halt { - _, _ = tw.Write([]byte("Exception:\t" + e.FaultException + "\n")) + buf = fmt.Appendf(buf, "Exception:\t%s\n", e.FaultException) } } } } - _ = tw.Flush() - fmt.Fprint(ctx.App.Writer, buf.String()) + tw := tabwriter.NewWriter(ctx.App.Writer, 0, 4, 4, '\t', 0) + _, err := tw.Write(buf) + if err != nil { + return err + } + return tw.Flush() } func queryCandidates(ctx *cli.Context) error { @@ -196,15 +201,17 @@ func queryCandidates(ctx *cli.Context) error { } return vals[i].PublicKey.Cmp(&vals[j].PublicKey) == -1 }) - buf := bytes.NewBuffer(nil) - tw := tabwriter.NewWriter(buf, 0, 2, 2, ' ', 0) - _, _ = tw.Write([]byte("Key\tVotes\tCommittee\tConsensus\n")) + var res []byte + res = fmt.Appendf(res, "Key\tVotes\tCommittee\tConsensus\n") for _, val := range vals { - _, _ = tw.Write([]byte(fmt.Sprintf("%s\t%d\t%t\t%t\n", hex.EncodeToString(val.PublicKey.Bytes()), val.Votes, comm.Contains(&val.PublicKey), val.Active))) + res = fmt.Appendf(res, "%s\t%d\t%t\t%t\n", hex.EncodeToString(val.PublicKey.Bytes()), val.Votes, comm.Contains(&val.PublicKey), val.Active) } - _ = tw.Flush() - fmt.Fprint(ctx.App.Writer, buf.String()) - return nil + tw := tabwriter.NewWriter(ctx.App.Writer, 0, 2, 2, ' ', 0) + _, err = tw.Write(res) + if err != nil { + return err + } + return tw.Flush() } func queryCommittee(ctx *cli.Context) error { diff --git a/cli/util/dump.go b/cli/util/dump.go index e8cd334d7..33ad698fe 100644 --- a/cli/util/dump.go +++ b/cli/util/dump.go @@ -29,7 +29,10 @@ func txDump(ctx *cli.Context) error { return cli.NewExitError("verifiable item is not a transaction", 1) } - query.DumpApplicationLog(ctx, nil, tx, nil, true) + err = query.DumpApplicationLog(ctx, nil, tx, nil, true) + if err != nil { + return cli.NewExitError(err, 1) + } if ctx.String(options.RPCEndpointFlag) != "" { gctx, cancel := options.GetTimeoutContext(ctx) diff --git a/cli/vm/cli.go b/cli/vm/cli.go index ed6b685d9..5de30ecc7 100644 --- a/cli/vm/cli.go +++ b/cli/vm/cli.go @@ -1436,58 +1436,57 @@ func Parse(args []string) (string, error) { return "", ErrMissingParameter } arg := args[0] - buf := bytes.NewBuffer(nil) + var buf []byte if val, err := strconv.ParseInt(arg, 10, 64); err == nil { bs := bigint.ToBytes(big.NewInt(val)) - buf.WriteString(fmt.Sprintf("Integer to Hex\t%s\n", hex.EncodeToString(bs))) - buf.WriteString(fmt.Sprintf("Integer to Base64\t%s\n", base64.StdEncoding.EncodeToString(bs))) + buf = fmt.Appendf(buf, "Integer to Hex\t%s\n", hex.EncodeToString(bs)) + buf = fmt.Appendf(buf, "Integer to Base64\t%s\n", base64.StdEncoding.EncodeToString(bs)) } noX := strings.TrimPrefix(arg, "0x") if rawStr, err := hex.DecodeString(noX); err == nil { if val, err := util.Uint160DecodeBytesBE(rawStr); err == nil { - buf.WriteString(fmt.Sprintf("BE ScriptHash to Address\t%s\n", address.Uint160ToString(val))) - buf.WriteString(fmt.Sprintf("LE ScriptHash to Address\t%s\n", address.Uint160ToString(val.Reverse()))) + buf = fmt.Appendf(buf, "BE ScriptHash to Address\t%s\n", address.Uint160ToString(val)) + buf = fmt.Appendf(buf, "LE ScriptHash to Address\t%s\n", address.Uint160ToString(val.Reverse())) } if pub, err := keys.NewPublicKeyFromBytes(rawStr, elliptic.P256()); err == nil { sh := pub.GetScriptHash() - buf.WriteString(fmt.Sprintf("Public key to BE ScriptHash\t%s\n", sh)) - buf.WriteString(fmt.Sprintf("Public key to LE ScriptHash\t%s\n", sh.Reverse())) - buf.WriteString(fmt.Sprintf("Public key to Address\t%s\n", address.Uint160ToString(sh))) + buf = fmt.Appendf(buf, "Public key to BE ScriptHash\t%s\n", sh) + buf = fmt.Appendf(buf, "Public key to LE ScriptHash\t%s\n", sh.Reverse()) + buf = fmt.Appendf(buf, "Public key to Address\t%s\n", address.Uint160ToString(sh)) } - buf.WriteString(fmt.Sprintf("Hex to String\t%s\n", fmt.Sprintf("%q", string(rawStr)))) - buf.WriteString(fmt.Sprintf("Hex to Integer\t%s\n", bigint.FromBytes(rawStr))) - buf.WriteString(fmt.Sprintf("Swap Endianness\t%s\n", hex.EncodeToString(slice.CopyReverse(rawStr)))) + buf = fmt.Appendf(buf, "Hex to String\t%s\n", fmt.Sprintf("%q", string(rawStr))) + buf = fmt.Appendf(buf, "Hex to Integer\t%s\n", bigint.FromBytes(rawStr)) + buf = fmt.Appendf(buf, "Swap Endianness\t%s\n", hex.EncodeToString(slice.CopyReverse(rawStr))) } if addr, err := address.StringToUint160(arg); err == nil { - buf.WriteString(fmt.Sprintf("Address to BE ScriptHash\t%s\n", addr)) - buf.WriteString(fmt.Sprintf("Address to LE ScriptHash\t%s\n", addr.Reverse())) - buf.WriteString(fmt.Sprintf("Address to Base64 (BE)\t%s\n", base64.StdEncoding.EncodeToString(addr.BytesBE()))) - buf.WriteString(fmt.Sprintf("Address to Base64 (LE)\t%s\n", base64.StdEncoding.EncodeToString(addr.BytesLE()))) + buf = fmt.Appendf(buf, "Address to BE ScriptHash\t%s\n", addr) + buf = fmt.Appendf(buf, "Address to LE ScriptHash\t%s\n", addr.Reverse()) + buf = fmt.Appendf(buf, "Address to Base64 (BE)\t%s\n", base64.StdEncoding.EncodeToString(addr.BytesBE())) + buf = fmt.Appendf(buf, "Address to Base64 (LE)\t%s\n", base64.StdEncoding.EncodeToString(addr.BytesLE())) } if rawStr, err := base64.StdEncoding.DecodeString(arg); err == nil { - buf.WriteString(fmt.Sprintf("Base64 to String\t%s\n", fmt.Sprintf("%q", string(rawStr)))) - buf.WriteString(fmt.Sprintf("Base64 to BigInteger\t%s\n", bigint.FromBytes(rawStr))) + buf = fmt.Appendf(buf, "Base64 to String\t%s\n", fmt.Sprintf("%q", string(rawStr))) + buf = fmt.Appendf(buf, "Base64 to BigInteger\t%s\n", bigint.FromBytes(rawStr)) if u, err := util.Uint160DecodeBytesBE(rawStr); err == nil { - buf.WriteString(fmt.Sprintf("Base64 to BE ScriptHash\t%s\n", u.StringBE())) - buf.WriteString(fmt.Sprintf("Base64 to LE ScriptHash\t%s\n", u.StringLE())) - buf.WriteString(fmt.Sprintf("Base64 to Address (BE)\t%s\n", address.Uint160ToString(u))) - buf.WriteString(fmt.Sprintf("Base64 to Address (LE)\t%s\n", address.Uint160ToString(u.Reverse()))) + buf = fmt.Appendf(buf, "Base64 to BE ScriptHash\t%s\n", u.StringBE()) + buf = fmt.Appendf(buf, "Base64 to LE ScriptHash\t%s\n", u.StringLE()) + buf = fmt.Appendf(buf, "Base64 to Address (BE)\t%s\n", address.Uint160ToString(u)) + buf = fmt.Appendf(buf, "Base64 to Address (LE)\t%s\n", address.Uint160ToString(u.Reverse())) } } - buf.WriteString(fmt.Sprintf("String to Hex\t%s\n", hex.EncodeToString([]byte(arg)))) - buf.WriteString(fmt.Sprintf("String to Base64\t%s\n", base64.StdEncoding.EncodeToString([]byte(arg)))) + buf = fmt.Appendf(buf, "String to Hex\t%s\n", hex.EncodeToString([]byte(arg))) + buf = fmt.Appendf(buf, "String to Base64\t%s\n", base64.StdEncoding.EncodeToString([]byte(arg))) - out := buf.Bytes() - buf = bytes.NewBuffer(nil) - w := tabwriter.NewWriter(buf, 0, 4, 4, '\t', 0) - if _, err := w.Write(out); err != nil { + res := bytes.NewBuffer(nil) + w := tabwriter.NewWriter(res, 0, 4, 4, '\t', 0) + if _, err := w.Write(buf); err != nil { return "", err } if err := w.Flush(); err != nil { return "", err } - return buf.String(), nil + return res.String(), nil } const logo = ` diff --git a/cli/vm/cli_test.go b/cli/vm/cli_test.go index bef78e711..8e7d22887 100644 --- a/cli/vm/cli_test.go +++ b/cli/vm/cli_test.go @@ -14,6 +14,7 @@ import ( "strconv" "strings" "sync" + "sync/atomic" "testing" "time" @@ -42,7 +43,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/opcode" "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" "github.com/stretchr/testify/require" - "go.uber.org/atomic" ) // Keep contract NEFs consistent between runs. @@ -346,7 +346,7 @@ require ( github.com/nspcc-dev/neo-go/pkg/interop v0.0.0 ) replace github.com/nspcc-dev/neo-go/pkg/interop => ` + filepath.Join(wd, "../../pkg/interop") + ` -go 1.18`) +go 1.19`) require.NoError(t, os.WriteFile(filepath.Join(tmpDir, "go.mod"), goMod, os.ModePerm)) return filename } diff --git a/examples/engine/go.mod b/examples/engine/go.mod index fd15d0549..a762f79c2 100644 --- a/examples/engine/go.mod +++ b/examples/engine/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/engine -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/engine/go.sum b/examples/engine/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/engine/go.sum +++ b/examples/engine/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/events/go.mod b/examples/events/go.mod index a9cf6016c..eedb507f8 100644 --- a/examples/events/go.mod +++ b/examples/events/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/events -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/events/go.sum b/examples/events/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/events/go.sum +++ b/examples/events/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/iterator/go.mod b/examples/iterator/go.mod index 75d5caa72..886db6110 100644 --- a/examples/iterator/go.mod +++ b/examples/iterator/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/iterator -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/iterator/go.sum b/examples/iterator/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/iterator/go.sum +++ b/examples/iterator/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/nft-d/go.mod b/examples/nft-d/go.mod index d388fd50f..17025d45e 100644 --- a/examples/nft-d/go.mod +++ b/examples/nft-d/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/nft -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/nft-d/go.sum b/examples/nft-d/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/nft-d/go.sum +++ b/examples/nft-d/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/nft-nd-nns/go.mod b/examples/nft-nd-nns/go.mod index 101c75743..7443a7f46 100644 --- a/examples/nft-nd-nns/go.mod +++ b/examples/nft-nd-nns/go.mod @@ -1,25 +1,25 @@ module github.com/nspcc-dev/neo-go/examples/nft-nd-nns -go 1.18 +go 1.19 require ( - github.com/nspcc-dev/neo-go v0.99.5-0.20221108145959-8746d9877eb5 - github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 - github.com/stretchr/testify v1.8.0 + github.com/nspcc-dev/neo-go v0.102.1-0.20231012150908-3c13a3d74df2 + github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f + github.com/stretchr/testify v1.8.4 ) require ( github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/coreos/go-semver v0.3.0 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/golang/snappy v0.0.1 // indirect - github.com/google/uuid v1.2.0 // indirect + github.com/google/uuid v1.3.0 // indirect github.com/gorilla/websocket v1.4.2 // indirect - github.com/hashicorp/golang-lru v0.5.4 // indirect + github.com/hashicorp/golang-lru v0.6.0 // indirect github.com/holiman/uint256 v1.2.0 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/mr-tron/base58 v1.2.0 // indirect @@ -35,17 +35,17 @@ require ( github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954 // indirect github.com/twmb/murmur3 v1.1.5 // indirect github.com/urfave/cli v1.22.5 // indirect - go.etcd.io/bbolt v1.3.6 // indirect - go.uber.org/atomic v1.9.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.18.1 // indirect - golang.org/x/crypto v0.1.0 // indirect - golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect - golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.1.0 // indirect - golang.org/x/term v0.1.0 // indirect - golang.org/x/text v0.4.0 // indirect - golang.org/x/tools v0.1.12 // indirect - google.golang.org/protobuf v1.28.1 // indirect + go.etcd.io/bbolt v1.3.7 // indirect + go.uber.org/atomic v1.10.0 // indirect + go.uber.org/multierr v1.9.0 // indirect + go.uber.org/zap v1.24.0 // indirect + golang.org/x/crypto v0.12.0 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.11.0 // indirect + golang.org/x/term v0.11.0 // indirect + golang.org/x/text v0.12.0 // indirect + golang.org/x/tools v0.11.1 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/examples/nft-nd-nns/go.sum b/examples/nft-nd-nns/go.sum index 3d6ef29e1..347b10e42 100644 --- a/examples/nft-nd-nns/go.sum +++ b/examples/nft-nd-nns/go.sum @@ -48,6 +48,7 @@ github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e h1:fY5BOSpyZCqRo5OhCuC+XN+r/bBCmeuuJtjz+bCNIf8= github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= @@ -112,6 +113,7 @@ 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.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= @@ -139,6 +141,7 @@ github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hf github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= @@ -147,6 +150,7 @@ 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 v0.5.4 h1:YDjusn29QI/Das2iO9M0BHnIbxPeyuCHsjMW+lJfyTc= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= @@ -187,8 +191,10 @@ github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22/go.mod h github.com/nspcc-dev/hrw v1.0.9 h1:17VcAuTtrstmFppBjfRiia4K2wA/ukXZhLFS8Y8rz5Y= github.com/nspcc-dev/neo-go v0.99.5-0.20221108145959-8746d9877eb5 h1:NCIUxkLRB3ovLzM1lvQA6wBNn8fuY7dQx4cMJKLuaAs= github.com/nspcc-dev/neo-go v0.99.5-0.20221108145959-8746d9877eb5/go.mod h1:aWrWJZBYO+9kYC4+qJXvEjySW1WIyPnrHpmdrzd5mJY= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go v0.102.1-0.20231012150908-3c13a3d74df2 h1:jDjiVBqfZa+CNSBbCgXmmqV6XNFsJ2+I+TlAID6OuQk= +github.com/nspcc-dev/neo-go v0.102.1-0.20231012150908-3c13a3d74df2/go.mod h1:s1VKTqF1DfLXfvysrdmP0AnJrLp2wqaWV6DXK7Wj/MU= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= github.com/nspcc-dev/neofs-api-go/v2 v2.11.1 h1:SVqc523pZsSaS9vnPS1mm3VV6b6xY0gvdA0uYJ/GWZQ= github.com/nspcc-dev/neofs-crypto v0.4.0 h1:5LlrUAM5O0k1+sH/sktBtrgfWtq1pgpDs09fZo+KYi4= github.com/nspcc-dev/neofs-sdk-go v0.0.0-20220113123743-7f3162110659 h1:rpMCoRa7expLc9gMiOP724gz6YSykZzmMALR/CmiwnU= @@ -254,6 +260,7 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0 h1:pSgiaMZlXftHpm5L7V1+rVB+AZJydKsMxsQBIJw4PKk= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954 h1:xQdMZ1WLrgkkvOZ/LDQxjVxMLdby7osSh4ZEVa5sIjs= github.com/syndtr/goleveldb v1.0.1-0.20210305035536-64b5b1c73954/go.mod h1:u2MKkTVTVJWe5D1rCvame8WqhBd88EuIwODJZ1VHCPM= github.com/twmb/murmur3 v1.1.5 h1:i9OLS9fkuLzBXjt6dptlAEyk58fJsSTXbRg3SgVyqgk= @@ -267,6 +274,7 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= go.etcd.io/bbolt v1.3.6 h1:/ecaJf0sk1l4l6V4awd65v2C3ILy7MSj+s/x1ADCIMU= go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/bbolt v1.3.7/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -275,12 +283,15 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/goleak v1.1.10 h1:z+mqJhf6ss6BSfSM671tgKyZBFPTTJM+HLxnhPC3wu0= go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ= go.uber.org/zap v1.18.1 h1:CSUJ2mjFszzEWt4CdKISEuChVIXGBn3lAPwkRGyVrc4= go.uber.org/zap v1.18.1/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -289,6 +300,7 @@ 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.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.12.0/go.mod h1:NF0Gs7EO5K4qLn+Ylc+fih8BSTeIjAP05siRnAh98yw= 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= @@ -322,6 +334,7 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 h1:6zppjxzCulZykYSLyVDYbneBfbaBIQPYMevg0bEwv2s= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= 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= @@ -376,6 +389,7 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 h1:uVc8UZUe6tr40fFVnUP5Oj+veunVezqYl9z7DYw9xzw= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= 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= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -423,10 +437,12 @@ golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0 h1:kunALQeHf1/185U1i0GOB/fy1IPRDDpuoOOqRReG57U= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= 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 h1:g6Z6vPFA9dYBAF7DWcH6sCcOntplXsDKcliusYijMlw= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.11.0/go.mod h1:zC9APTIj3jG3FdV/Ons+XE1riIZXG4aZ4GTHiPZJPIU= 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= @@ -436,6 +452,7 @@ 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.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg= golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= 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= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -482,6 +499,7 @@ golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.1.12 h1:VveCTK38A2rkS8ZqFY25HIDFscX5X9OoEhJd3quQmXU= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= +golang.org/x/tools v0.11.1/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= 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= @@ -566,6 +584,7 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= 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/examples/nft-nd/go.mod b/examples/nft-nd/go.mod index 1b9fb031b..461592f0b 100644 --- a/examples/nft-nd/go.mod +++ b/examples/nft-nd/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/nft-nd -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/nft-nd/go.sum b/examples/nft-nd/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/nft-nd/go.sum +++ b/examples/nft-nd/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/oracle/go.mod b/examples/oracle/go.mod index d28d062ce..30c4aa32f 100644 --- a/examples/oracle/go.mod +++ b/examples/oracle/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/oracle -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/oracle/go.sum b/examples/oracle/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/oracle/go.sum +++ b/examples/oracle/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/runtime/go.mod b/examples/runtime/go.mod index 9c46f9b1f..eae5cb7d1 100644 --- a/examples/runtime/go.mod +++ b/examples/runtime/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/runtime -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/runtime/go.sum b/examples/runtime/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/runtime/go.sum +++ b/examples/runtime/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/storage/go.mod b/examples/storage/go.mod index 75bd32495..0d02aa46f 100644 --- a/examples/storage/go.mod +++ b/examples/storage/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/storage -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/storage/go.sum b/examples/storage/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/storage/go.sum +++ b/examples/storage/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/timer/go.mod b/examples/timer/go.mod index 0a2f1383d..2b8b0495f 100644 --- a/examples/timer/go.mod +++ b/examples/timer/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/timer -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/timer/go.sum b/examples/timer/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/timer/go.sum +++ b/examples/timer/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/token/go.mod b/examples/token/go.mod index 31ef0e778..eb5e9dfac 100644 --- a/examples/token/go.mod +++ b/examples/token/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/token -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/token/go.sum b/examples/token/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/token/go.sum +++ b/examples/token/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/examples/zkp/cubic_circuit/go.sum b/examples/zkp/cubic_circuit/go.sum index c7ecff04a..9bdf97c85 100644 --- a/examples/zkp/cubic_circuit/go.sum +++ b/examples/zkp/cubic_circuit/go.sum @@ -214,7 +214,7 @@ github.com/nspcc-dev/dbft v0.0.0-20230515113611-25db6ba61d5c h1:uyK5aLbAhrnZtnvo github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 h1:n4ZaFCKt1pQJd7PXoMJabZWK9ejjbLOVrkl/lOUmshg= github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22/go.mod h1:79bEUDEviBHJMFV6Iq6in57FEOCMcRhfQnfaf0ETA5U= github.com/nspcc-dev/hrw v1.0.9 h1:17VcAuTtrstmFppBjfRiia4K2wA/ukXZhLFS8Y8rz5Y= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= github.com/nspcc-dev/neofs-api-go/v2 v2.14.0 h1:jhuN8Ldqz7WApvUJRFY0bjRXE1R3iCkboMX5QVZhHVk= github.com/nspcc-dev/neofs-crypto v0.4.0 h1:5LlrUAM5O0k1+sH/sktBtrgfWtq1pgpDs09fZo+KYi4= github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.11 h1:QOc8ZRN5DXlAeRPh5QG9u8rMLgoeRNiZF5/vL7QupWg= diff --git a/examples/zkp/xor_compat/go.mod b/examples/zkp/xor_compat/go.mod index 8e149de11..426b88eb6 100644 --- a/examples/zkp/xor_compat/go.mod +++ b/examples/zkp/xor_compat/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/examples/zkp/xor -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/examples/zkp/xor_compat/go.sum b/examples/zkp/xor_compat/go.sum index 02f0b47eb..9702913e3 100644 --- a/examples/zkp/xor_compat/go.sum +++ b/examples/zkp/xor_compat/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/go.mod b/go.mod index 9058ccbc9..70e2ca943 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/mr-tron/base58 v1.2.0 github.com/nspcc-dev/dbft v0.0.0-20230515113611-25db6ba61d5c github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 - github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 + github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f github.com/nspcc-dev/neofs-sdk-go v1.0.0-rc.11 github.com/nspcc-dev/rfc6979 v0.2.0 github.com/pierrec/lz4 v2.6.1+incompatible @@ -25,7 +25,6 @@ require ( github.com/twmb/murmur3 v1.1.5 github.com/urfave/cli v1.22.5 go.etcd.io/bbolt v1.3.7 - go.uber.org/atomic v1.10.0 go.uber.org/zap v1.24.0 golang.org/x/crypto v0.14.0 golang.org/x/term v0.13.0 @@ -64,6 +63,7 @@ require ( github.com/shurcooL/sanitized_anchor_name v1.0.0 // indirect github.com/spaolacci/murmur3 v1.1.0 // indirect github.com/x448/float16 v0.8.4 // indirect + go.uber.org/atomic v1.10.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/exp v0.0.0-20230801115018-d63ba01acd4b // indirect golang.org/x/mod v0.12.0 // indirect @@ -76,4 +76,4 @@ require ( rsc.io/tmplfunc v0.0.3 // indirect ) -go 1.18 +go 1.19 diff --git a/go.sum b/go.sum index 04e6d4852..de9f8d9d3 100644 --- a/go.sum +++ b/go.sum @@ -224,8 +224,8 @@ github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22 h1:n4ZaF github.com/nspcc-dev/go-ordered-json v0.0.0-20220111165707-25110be27d22/go.mod h1:79bEUDEviBHJMFV6Iq6in57FEOCMcRhfQnfaf0ETA5U= github.com/nspcc-dev/hrw v1.0.9 h1:17VcAuTtrstmFppBjfRiia4K2wA/ukXZhLFS8Y8rz5Y= github.com/nspcc-dev/hrw v1.0.9/go.mod h1:l/W2vx83vMQo6aStyx2AuZrJ+07lGv2JQGlVkPG06MU= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= github.com/nspcc-dev/neofs-api-go/v2 v2.14.0 h1:jhuN8Ldqz7WApvUJRFY0bjRXE1R3iCkboMX5QVZhHVk= github.com/nspcc-dev/neofs-api-go/v2 v2.14.0/go.mod h1:DRIr0Ic1s+6QgdqmNFNLIqMqd7lNMJfYwkczlm1hDtM= github.com/nspcc-dev/neofs-crypto v0.4.0 h1:5LlrUAM5O0k1+sH/sktBtrgfWtq1pgpDs09fZo+KYi4= diff --git a/internal/contracts/oracle_contract/go.mod b/internal/contracts/oracle_contract/go.mod index 4ff28f0ff..01cabc638 100644 --- a/internal/contracts/oracle_contract/go.mod +++ b/internal/contracts/oracle_contract/go.mod @@ -1,5 +1,5 @@ module github.com/nspcc-dev/neo-go/internal/examples/oracle -go 1.18 +go 1.19 -require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 +require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f diff --git a/internal/contracts/oracle_contract/go.sum b/internal/contracts/oracle_contract/go.sum index 02f0b47eb..9702913e3 100644 --- a/internal/contracts/oracle_contract/go.sum +++ b/internal/contracts/oracle_contract/go.sum @@ -1,2 +1,2 @@ -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22 h1:CQBU7HN/zIP8A8KSMo/UAMoLcyxQQtS9DTc7nVgqyC0= -github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231005104605-a2d28272ef22/go.mod h1:ZUuXOkdtHZgaC13za/zMgXfQFncZ0jLzfQTe+OsDOtg= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f h1:t8a+fqj3Q23A8HQr/zOEHk1Ee8kh1zRqhKEBi9UgXlY= +github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231012150754-e06051e14c9f/go.mod h1:J/Mk6+nKeKSW4wygkZQFLQ6SkLOSGX5Ga0RuuuktEag= diff --git a/internal/fakechain/fakechain.go b/internal/fakechain/fakechain.go index 51e3a8a0a..46034b48f 100644 --- a/internal/fakechain/fakechain.go +++ b/internal/fakechain/fakechain.go @@ -18,7 +18,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/crypto/keys" "github.com/nspcc-dev/neo-go/pkg/smartcontract/trigger" "github.com/nspcc-dev/neo-go/pkg/util" - uatomic "go.uber.org/atomic" ) // FakeChain implements the Blockchainer interface, but does not provide real functionality. @@ -26,7 +25,7 @@ type FakeChain struct { config.Blockchain *mempool.Pool blocksCh []chan *block.Block - Blockheight uint32 + Blockheight atomic.Uint32 PoolTxF func(*transaction.Transaction) error poolTxWithData func(*transaction.Transaction, any, *mempool.Pool) error blocks map[util.Uint256]*block.Block @@ -42,9 +41,9 @@ type FakeChain struct { // FakeStateSync implements the StateSync interface. type FakeStateSync struct { - IsActiveFlag uatomic.Bool - IsInitializedFlag uatomic.Bool - RequestHeaders uatomic.Bool + IsActiveFlag atomic.Bool + IsInitializedFlag atomic.Bool + RequestHeaders atomic.Bool InitFunc func(h uint32) error TraverseFunc func(root util.Uint256, process func(node mpt.Node, nodeBytes []byte) bool) error AddMPTNodesFunc func(nodes [][]byte) error @@ -76,7 +75,7 @@ func NewFakeChainWithCustomCfg(protocolCfg func(c *config.Blockchain)) *FakeChai func (chain *FakeChain) PutBlock(b *block.Block) { chain.blocks[b.Hash()] = b chain.hdrHashes[b.Index] = b.Hash() - atomic.StoreUint32(&chain.Blockheight, b.Index) + chain.Blockheight.Store(b.Index) } // PutHeader implements the Blockchainer interface. @@ -185,7 +184,7 @@ func (chain *FakeChain) AddHeaders(...*block.Header) error { // AddBlock implements the Blockchainer interface. func (chain *FakeChain) AddBlock(block *block.Block) error { - if block.Index == atomic.LoadUint32(&chain.Blockheight)+1 { + if block.Index == chain.Blockheight.Load()+1 { chain.PutBlock(block) } return nil @@ -193,12 +192,12 @@ func (chain *FakeChain) AddBlock(block *block.Block) error { // BlockHeight implements the Feer interface. func (chain *FakeChain) BlockHeight() uint32 { - return atomic.LoadUint32(&chain.Blockheight) + return chain.Blockheight.Load() } // HeaderHeight implements the Blockchainer interface. func (chain *FakeChain) HeaderHeight() uint32 { - return atomic.LoadUint32(&chain.Blockheight) + return chain.Blockheight.Load() } // GetAppExecResults implements the Blockchainer interface. diff --git a/pkg/consensus/consensus.go b/pkg/consensus/consensus.go index 79d965cdf..59e775125 100644 --- a/pkg/consensus/consensus.go +++ b/pkg/consensus/consensus.go @@ -4,6 +4,7 @@ import ( "errors" "fmt" "sort" + "sync/atomic" "time" "github.com/nspcc-dev/dbft" @@ -26,7 +27,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/util" "github.com/nspcc-dev/neo-go/pkg/vm/emit" "github.com/nspcc-dev/neo-go/pkg/wallet" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -100,7 +100,7 @@ type service struct { wallet *wallet.Wallet // started is a flag set with Start method that runs an event handling // goroutine. - started *atomic.Bool + started atomic.Bool quit chan struct{} finished chan struct{} // lastTimestamp contains timestamp for the last processed block. @@ -155,7 +155,6 @@ func NewService(cfg Config) (Service, error) { transactions: make(chan *transaction.Transaction, 100), blockEvents: make(chan *coreb.Block, 1), - started: atomic.NewBool(false), quit: make(chan struct{}), finished: make(chan struct{}), } diff --git a/pkg/core/dao/dao.go b/pkg/core/dao/dao.go index c5a6ef4ca..975bacca2 100644 --- a/pkg/core/dao/dao.go +++ b/pkg/core/dao/dao.go @@ -499,8 +499,8 @@ func (v *Version) Bytes() []byte { if v.KeepOnlyLatestState { mask |= keepOnlyLatestStateBit } - res := append([]byte(v.Value), '\x00', byte(v.StoragePrefix), mask, 0, 0, 0, 0) - binary.LittleEndian.PutUint32(res[len(res)-4:], v.Magic) + res := append([]byte(v.Value), '\x00', byte(v.StoragePrefix), mask) + res = binary.LittleEndian.AppendUint32(res, v.Magic) return res } diff --git a/pkg/core/mempool/mem_pool.go b/pkg/core/mempool/mem_pool.go index 5d4c3a007..aecd774cd 100644 --- a/pkg/core/mempool/mem_pool.go +++ b/pkg/core/mempool/mem_pool.go @@ -6,12 +6,12 @@ import ( "math/bits" "sort" "sync" + "sync/atomic" "github.com/holiman/uint256" "github.com/nspcc-dev/neo-go/pkg/core/mempoolevent" "github.com/nspcc-dev/neo-go/pkg/core/transaction" "github.com/nspcc-dev/neo-go/pkg/util" - "go.uber.org/atomic" ) var ( diff --git a/pkg/core/stateroot/module.go b/pkg/core/stateroot/module.go index 61b1d54db..53a1f7316 100644 --- a/pkg/core/stateroot/module.go +++ b/pkg/core/stateroot/module.go @@ -6,6 +6,7 @@ import ( "errors" "fmt" "sync" + "sync/atomic" "time" "github.com/nspcc-dev/neo-go/pkg/config" @@ -18,7 +19,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/crypto/keys" "github.com/nspcc-dev/neo-go/pkg/smartcontract" "github.com/nspcc-dev/neo-go/pkg/util" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -203,8 +203,9 @@ func (s *Module) Init(height uint32) error { // outdated MPT data before state sync process can be started. // Note: this method is aimed to be called for genesis block only, an error is returned otherwise. func (s *Module) CleanStorage() error { - if s.localHeight.Load() != 0 { - return fmt.Errorf("can't clean MPT data for non-genesis block: expected local stateroot height 0, got %d", s.localHeight.Load()) + lH := s.localHeight.Load() + if lH != 0 { + return fmt.Errorf("can't clean MPT data for non-genesis block: expected local stateroot height 0, got %d", lH) } b := storage.NewMemCachedStore(s.Store) s.Store.Seek(storage.SeekRange{Prefix: []byte{byte(storage.DataMPT)}}, func(k, _ []byte) bool { diff --git a/pkg/core/transaction/fuzz_test.go b/pkg/core/transaction/fuzz_test.go index 8c2c16aa9..5892df508 100644 --- a/pkg/core/transaction/fuzz_test.go +++ b/pkg/core/transaction/fuzz_test.go @@ -1,5 +1,3 @@ -//go:build go1.18 - package transaction import ( diff --git a/pkg/encoding/bigint/fuzz_test.go b/pkg/encoding/bigint/fuzz_test.go index 63609353b..b515773a0 100644 --- a/pkg/encoding/bigint/fuzz_test.go +++ b/pkg/encoding/bigint/fuzz_test.go @@ -1,6 +1,3 @@ -//go:build go1.18 -// +build go1.18 - package bigint import ( diff --git a/pkg/interop/go.mod b/pkg/interop/go.mod index d4822fa7e..1dbeee464 100644 --- a/pkg/interop/go.mod +++ b/pkg/interop/go.mod @@ -1,3 +1,3 @@ module github.com/nspcc-dev/neo-go/pkg/interop -go 1.18 +go 1.19 diff --git a/pkg/network/bqueue/queue.go b/pkg/network/bqueue/queue.go index c80c6e04a..4ba5be7fc 100644 --- a/pkg/network/bqueue/queue.go +++ b/pkg/network/bqueue/queue.go @@ -2,9 +2,9 @@ package bqueue import ( "sync" + "sync/atomic" "github.com/nspcc-dev/neo-go/pkg/core/block" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -24,7 +24,7 @@ type Queue struct { checkBlocks chan struct{} chain Blockqueuer relayF func(*block.Block) - discarded *atomic.Bool + discarded atomic.Bool len int lenUpdateF func(int) } @@ -49,7 +49,6 @@ func New(bc Blockqueuer, log *zap.Logger, relayer func(*block.Block), lenMetrics checkBlocks: make(chan struct{}, 1), chain: bc, relayF: relayer, - discarded: atomic.NewBool(false), lenUpdateF: lenMetricsUpdater, } } diff --git a/pkg/network/discovery_test.go b/pkg/network/discovery_test.go index e9c76c21b..c27dc5c5d 100644 --- a/pkg/network/discovery_test.go +++ b/pkg/network/discovery_test.go @@ -12,13 +12,12 @@ import ( "github.com/nspcc-dev/neo-go/pkg/network/payload" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - atomic2 "go.uber.org/atomic" ) type fakeTransp struct { - retFalse int32 - started atomic2.Bool - closed atomic2.Bool + retFalse atomic.Int32 + started atomic.Bool + closed atomic.Bool dialCh chan string host string port string @@ -58,7 +57,7 @@ func newFakeTransp(s *Server, addr string) Transporter { func (ft *fakeTransp) Dial(addr string, timeout time.Duration) (AddressablePeer, error) { var ret error - if atomic.LoadInt32(&ft.retFalse) > 0 { + if ft.retFalse.Load() > 0 { ret = errors.New("smth bad happened") } ft.dialCh <- addr @@ -174,7 +173,7 @@ func TestDefaultDiscoverer(t *testing.T) { require.Equal(t, 2, d.PoolCount()) // Now make Dial() fail and wait to see addresses in the bad list. - atomic.StoreInt32(&ts.retFalse, 1) + ts.retFalse.Store(1) assert.Equal(t, len(set1), d.PoolCount()) set1D := d.UnconnectedPeers() sort.Strings(set1D) @@ -216,7 +215,7 @@ func TestSeedDiscovery(t *testing.T) { var seeds = []string{"1.1.1.1:10333", "2.2.2.2:10333"} ts := &fakeTransp{} ts.dialCh = make(chan string) - atomic.StoreInt32(&ts.retFalse, 1) // Fail all dial requests. + ts.retFalse.Store(1) // Fail all dial requests. sort.Strings(seeds) d := NewDefaultDiscovery(seeds, time.Second/10, ts) diff --git a/pkg/network/fuzz_test.go b/pkg/network/fuzz_test.go index f5c18956e..a0e5f5ccb 100644 --- a/pkg/network/fuzz_test.go +++ b/pkg/network/fuzz_test.go @@ -1,5 +1,3 @@ -//go:build go1.18 - package network import ( diff --git a/pkg/network/server.go b/pkg/network/server.go index 8f97665cd..fdce2f41b 100644 --- a/pkg/network/server.go +++ b/pkg/network/server.go @@ -13,7 +13,7 @@ import ( "sort" "strconv" "sync" - satomic "sync/atomic" + "sync/atomic" "time" "github.com/nspcc-dev/neo-go/pkg/config" @@ -29,7 +29,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/network/extpool" "github.com/nspcc-dev/neo-go/pkg/network/payload" "github.com/nspcc-dev/neo-go/pkg/util" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -112,7 +111,7 @@ type ( services map[string]Service extensHandlers map[string]func(*payload.Extensible) error txCallback func(*transaction.Transaction) - txCbList satomic.Value + txCbList atomic.Value txInLock sync.RWMutex txin chan *transaction.Transaction @@ -134,7 +133,7 @@ type ( transactions chan *transaction.Transaction - syncReached *atomic.Bool + syncReached atomic.Bool stateSync StateSync @@ -186,7 +185,6 @@ func newServerFromConstructors(config ServerConfig, chain Ledger, stSync StateSy handshake: make(chan Peer), txInMap: make(map[util.Uint256]struct{}), peers: make(map[Peer]bool), - syncReached: atomic.NewBool(false), mempool: chain.GetMemPool(), extensiblePool: extpool.New(chain, config.ExtensiblePoolSize), log: log, diff --git a/pkg/network/server_test.go b/pkg/network/server_test.go index 72e5f156c..2ca95885f 100644 --- a/pkg/network/server_test.go +++ b/pkg/network/server_test.go @@ -7,7 +7,7 @@ import ( "net" "strconv" "sync" - atomic2 "sync/atomic" + "sync/atomic" "testing" "time" @@ -27,7 +27,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/opcode" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.uber.org/atomic" "go.uber.org/zap/zaptest" ) @@ -223,7 +222,7 @@ func testGetBlocksByIndex(t *testing.T, cmd CommandType) { checkPingRespond(t, 3, 5000, 1+3*payload.MaxHashesCount) // Receive some blocks. - s.chain.(*fakechain.FakeChain).Blockheight = 2123 + s.chain.(*fakechain.FakeChain).Blockheight.Store(2123) // Minimum chunk has priority. checkPingRespond(t, 5, 5000, 2124) @@ -399,7 +398,7 @@ func startWithCleanup(t *testing.T, s *Server) { func TestBlock(t *testing.T) { s := startTestServer(t) - atomic2.StoreUint32(&s.chain.(*fakechain.FakeChain).Blockheight, 12344) + s.chain.(*fakechain.FakeChain).Blockheight.Store(12344) require.Equal(t, uint32(12344), s.chain.BlockHeight()) b := block.New(false) @@ -414,7 +413,7 @@ func TestConsensus(t *testing.T) { s.AddConsensusService(cons, cons.OnPayload, cons.OnTransaction) startWithCleanup(t, s) - atomic2.StoreUint32(&s.chain.(*fakechain.FakeChain).Blockheight, 4) + s.chain.(*fakechain.FakeChain).Blockheight.Store(4) p := newLocalPeer(t, s) p.handshaked = 1 s.register <- p diff --git a/pkg/network/tcp_peer.go b/pkg/network/tcp_peer.go index 72e80aefe..e989c4b66 100644 --- a/pkg/network/tcp_peer.go +++ b/pkg/network/tcp_peer.go @@ -7,12 +7,12 @@ import ( "net" "strconv" "sync" + "sync/atomic" "time" "github.com/nspcc-dev/neo-go/pkg/io" "github.com/nspcc-dev/neo-go/pkg/network/capability" "github.com/nspcc-dev/neo-go/pkg/network/payload" - "go.uber.org/atomic" ) type handShakeStage uint8 @@ -494,12 +494,12 @@ func (p *TCPPeer) HandlePong(pong *payload.Ping) error { // AddGetAddrSent increments internal outstanding getaddr requests counter. Then, // the peer can only send one addr reply per getaddr request. func (p *TCPPeer) AddGetAddrSent() { - p.getAddrSent.Inc() + p.getAddrSent.Add(1) } // CanProcessAddr decrements internal outstanding getaddr requests counter and // answers whether the addr command from the peer can be safely processed. func (p *TCPPeer) CanProcessAddr() bool { - v := p.getAddrSent.Dec() + v := p.getAddrSent.Add(-1) return v >= 0 } diff --git a/pkg/rpcclient/actor/actor_test.go b/pkg/rpcclient/actor/actor_test.go index bb49320df..4bd1b98a8 100644 --- a/pkg/rpcclient/actor/actor_test.go +++ b/pkg/rpcclient/actor/actor_test.go @@ -3,6 +3,7 @@ package actor import ( "context" "errors" + "sync/atomic" "testing" "github.com/google/uuid" @@ -15,7 +16,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" "github.com/nspcc-dev/neo-go/pkg/wallet" "github.com/stretchr/testify/require" - "go.uber.org/atomic" ) type RPCClient struct { diff --git a/pkg/rpcclient/client.go b/pkg/rpcclient/client.go index 8d762560d..12af5f0b8 100644 --- a/pkg/rpcclient/client.go +++ b/pkg/rpcclient/client.go @@ -10,13 +10,13 @@ import ( "net/http" "net/url" "sync" + "sync/atomic" "time" "github.com/nspcc-dev/neo-go/pkg/config/netmode" "github.com/nspcc-dev/neo-go/pkg/neorpc" "github.com/nspcc-dev/neo-go/pkg/rpcclient/invoker" "github.com/nspcc-dev/neo-go/pkg/util" - "go.uber.org/atomic" ) const ( @@ -48,7 +48,7 @@ type Client struct { // during regular Client lifecycle. cache cache - latestReqID *atomic.Uint64 + latestReqID atomic.Uint64 // getNextRequestID returns an ID to be used for the subsequent request creation. // It is defined on Client, so that our testing code can override this method // for the sake of more predictable request IDs generation behavior. @@ -126,7 +126,7 @@ func initClient(ctx context.Context, cl *Client, endpoint string, opts Options) cl.cache = cache{ nativeHashes: make(map[string]util.Uint160), } - cl.latestReqID = atomic.NewUint64(0) + cl.latestReqID = atomic.Uint64{} cl.getNextRequestID = (cl).getRequestID cl.opts = opts cl.requestF = cl.makeHTTPRequest @@ -135,7 +135,7 @@ func initClient(ctx context.Context, cl *Client, endpoint string, opts Options) } func (c *Client) getRequestID() uint64 { - return c.latestReqID.Inc() + return c.latestReqID.Add(1) } // Init sets magic of the network client connected to, stateRootInHeader option diff --git a/pkg/rpcclient/local.go b/pkg/rpcclient/local.go index 0c1a33967..398631495 100644 --- a/pkg/rpcclient/local.go +++ b/pkg/rpcclient/local.go @@ -4,7 +4,6 @@ import ( "context" "github.com/nspcc-dev/neo-go/pkg/neorpc" - "go.uber.org/atomic" ) // InternalHook is a function signature that is required to create a local client @@ -31,7 +30,6 @@ func NewInternal(ctx context.Context, register InternalHook) (*Internal, error) shutdown: make(chan struct{}), done: make(chan struct{}), - closeCalled: *atomic.NewBool(false), subscriptions: make(map[string]notificationReceiver), receivers: make(map[any][]string), }, diff --git a/pkg/rpcclient/wsclient.go b/pkg/rpcclient/wsclient.go index c86798b91..ef3a94e1d 100644 --- a/pkg/rpcclient/wsclient.go +++ b/pkg/rpcclient/wsclient.go @@ -7,6 +7,7 @@ import ( "fmt" "strconv" "sync" + "sync/atomic" "time" "github.com/gorilla/websocket" @@ -16,7 +17,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/neorpc" "github.com/nspcc-dev/neo-go/pkg/neorpc/result" "github.com/nspcc-dev/neo-go/pkg/neorpc/rpcevent" - "go.uber.org/atomic" ) // WSClient is a websocket-enabled RPC client that can be used with appropriate @@ -426,7 +426,6 @@ func NewWS(ctx context.Context, endpoint string, opts WSOptions) (*WSClient, err wsOpts: opts, shutdown: make(chan struct{}), done: make(chan struct{}), - closeCalled: *atomic.NewBool(false), respChannels: make(map[uint64]chan *neorpc.Response), requests: make(chan *neorpc.Request), subscriptions: make(map[string]notificationReceiver), diff --git a/pkg/rpcclient/wsclient_test.go b/pkg/rpcclient/wsclient_test.go index 62ee4c1f0..af2b65d1b 100644 --- a/pkg/rpcclient/wsclient_test.go +++ b/pkg/rpcclient/wsclient_test.go @@ -10,6 +10,7 @@ import ( "strconv" "strings" "sync" + "sync/atomic" "testing" "time" @@ -26,7 +27,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/vmstate" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.uber.org/atomic" ) func TestWSClientClose(t *testing.T) { @@ -677,23 +677,23 @@ func TestWSConcurrentAccess(t *testing.T) { wsc, err := NewWS(context.TODO(), httpURLtoWS(srv.URL), WSOptions{}) require.NoError(t, err) batchCount := 100 - completed := atomic.NewInt32(0) + completed := &atomic.Int32{} for i := 0; i < batchCount; i++ { go func() { _, err := wsc.GetBlockCount() require.NoError(t, err) - completed.Inc() + completed.Add(1) }() go func() { _, err := wsc.GetBlockHash(123) require.NoError(t, err) - completed.Inc() + completed.Add(1) }() go func() { _, err := wsc.GetVersion() require.NoError(t, err) - completed.Inc() + completed.Add(1) }() } require.Eventually(t, func() bool { diff --git a/pkg/services/metrics/metrics.go b/pkg/services/metrics/metrics.go index 883c1fabd..e0f12a1ad 100644 --- a/pkg/services/metrics/metrics.go +++ b/pkg/services/metrics/metrics.go @@ -6,9 +6,9 @@ import ( "fmt" "net" "net/http" + "sync/atomic" "github.com/nspcc-dev/neo-go/pkg/config" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -18,7 +18,7 @@ type Service struct { config config.BasicService log *zap.Logger serviceType string - started *atomic.Bool + started atomic.Bool } // NewService configures logger and returns new service instance. @@ -28,7 +28,6 @@ func NewService(name string, httpServers []*http.Server, cfg config.BasicService config: cfg, serviceType: name, log: log.With(zap.String("service", name)), - started: atomic.NewBool(false), } } diff --git a/pkg/services/notary/notary.go b/pkg/services/notary/notary.go index 995cd80e9..a567b4d74 100644 --- a/pkg/services/notary/notary.go +++ b/pkg/services/notary/notary.go @@ -7,6 +7,7 @@ import ( "errors" "fmt" "sync" + "sync/atomic" "github.com/nspcc-dev/neo-go/pkg/config" "github.com/nspcc-dev/neo-go/pkg/config/netmode" @@ -23,7 +24,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm" "github.com/nspcc-dev/neo-go/pkg/vm/opcode" "github.com/nspcc-dev/neo-go/pkg/wallet" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -50,7 +50,7 @@ type ( // to be processed in an `onTransaction` callback. newTxs chan txHashPair // started is a status bool to protect from double start/shutdown. - started *atomic.Bool + started atomic.Bool // reqMtx protects requests list. reqMtx sync.RWMutex @@ -152,7 +152,6 @@ func NewNotary(cfg Config, net netmode.Magic, mp *mempool.Pool, onTransaction fu requests: make(map[util.Uint256]*request), Config: cfg, Network: net, - started: atomic.NewBool(false), wallet: wallet, onTransaction: onTransaction, newTxs: make(chan txHashPair, defaultTxChannelCapacity), diff --git a/pkg/services/rpcsrv/server.go b/pkg/services/rpcsrv/server.go index 3037d99c2..9b4c8764e 100644 --- a/pkg/services/rpcsrv/server.go +++ b/pkg/services/rpcsrv/server.go @@ -16,6 +16,7 @@ import ( "strconv" "strings" "sync" + "sync/atomic" "time" "github.com/google/uuid" @@ -56,7 +57,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/emit" "github.com/nspcc-dev/neo-go/pkg/vm/opcode" "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -140,7 +140,7 @@ type ( oracle *atomic.Value log *zap.Logger shutdown chan struct{} - started *atomic.Bool + started atomic.Bool errChan chan<- error sessionsLock sync.Mutex @@ -339,7 +339,6 @@ func New(chain Ledger, conf config.RPC, coreServer *network.Server, log: log, oracle: oracleWrapped, shutdown: make(chan struct{}), - started: atomic.NewBool(false), errChan: errChan, sessions: make(map[string]*session), diff --git a/pkg/services/rpcsrv/server_test.go b/pkg/services/rpcsrv/server_test.go index d2793b6da..66393c11c 100644 --- a/pkg/services/rpcsrv/server_test.go +++ b/pkg/services/rpcsrv/server_test.go @@ -15,6 +15,7 @@ import ( "sort" "strconv" "strings" + "sync/atomic" "testing" "time" @@ -53,7 +54,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/wallet" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" - "go.uber.org/atomic" "go.uber.org/zap/zapcore" ) @@ -2333,7 +2333,7 @@ func TestNotaryRequestRPC(t *testing.T) { submitNotaryRequest(t, false, 0, str)(t) t.Run("nonempty pool", func(t *testing.T) { - //get notary pool & check tx hashes + // get notary pool & check tx hashes body := doRPCCallOverHTTP(rpcPool, httpSrv.URL, t) res := checkErrGetResult(t, body, false, 0) actual := new(result.RawNotaryPool) @@ -2353,7 +2353,7 @@ func TestNotaryRequestRPC(t *testing.T) { submitNotaryRequest(t, false, 0, str2)(t) t.Run("pool with 2", func(t *testing.T) { - //get notary pool & check tx hashes + // get notary pool & check tx hashes body := doRPCCallOverHTTP(rpcPool, httpSrv.URL, t) res := checkErrGetResult(t, body, false, 0) actual := new(result.RawNotaryPool) diff --git a/pkg/services/rpcsrv/subscription.go b/pkg/services/rpcsrv/subscription.go index e8f2336cc..ad271cae4 100644 --- a/pkg/services/rpcsrv/subscription.go +++ b/pkg/services/rpcsrv/subscription.go @@ -1,9 +1,10 @@ package rpcsrv import ( + "sync/atomic" + "github.com/gorilla/websocket" "github.com/nspcc-dev/neo-go/pkg/neorpc" - "go.uber.org/atomic" ) type ( diff --git a/pkg/services/rpcsrv/subscription_test.go b/pkg/services/rpcsrv/subscription_test.go index c3b17fa54..f5b96bcb7 100644 --- a/pkg/services/rpcsrv/subscription_test.go +++ b/pkg/services/rpcsrv/subscription_test.go @@ -4,6 +4,7 @@ import ( "encoding/json" "fmt" "strings" + "sync/atomic" "testing" "time" @@ -15,7 +16,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/neorpc" "github.com/nspcc-dev/neo-go/pkg/util" "github.com/stretchr/testify/require" - "go.uber.org/atomic" ) const testOverflow = false @@ -68,7 +68,7 @@ func initCleanServerAndWSClient(t *testing.T) (*core.Blockchain, *Server, *webso // Use buffered channel to read server's messages and then read expected // responses from it. respMsgs := make(chan []byte, 16) - finishedFlag := atomic.NewBool(false) + finishedFlag := &atomic.Bool{} go wsReader(t, ws, respMsgs, finishedFlag) return chain, rpcSrv, ws, respMsgs, finishedFlag } diff --git a/pkg/services/stateroot/service.go b/pkg/services/stateroot/service.go index 32de50124..5e34546e4 100644 --- a/pkg/services/stateroot/service.go +++ b/pkg/services/stateroot/service.go @@ -3,6 +3,7 @@ package stateroot import ( "errors" "sync" + "sync/atomic" "time" "github.com/nspcc-dev/neo-go/pkg/config" @@ -14,7 +15,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/io" "github.com/nspcc-dev/neo-go/pkg/network/payload" "github.com/nspcc-dev/neo-go/pkg/wallet" - "go.uber.org/atomic" "go.uber.org/zap" ) @@ -50,7 +50,7 @@ type ( Network netmode.Magic log *zap.Logger - started *atomic.Bool + started atomic.Bool accMtx sync.RWMutex accHeight uint32 myIndex byte @@ -83,7 +83,6 @@ func New(cfg config.StateRoot, sm *stateroot.Module, log *zap.Logger, bc Ledger, s := &service{ Module: sm, Network: bcConf.Magic, - started: atomic.NewBool(false), chain: bc, log: log, incompleteRoots: make(map[uint32]*incompleteRoot), diff --git a/pkg/services/stateroot/service_test.go b/pkg/services/stateroot/service_test.go index f4e2eb5fd..18c6ea2ff 100644 --- a/pkg/services/stateroot/service_test.go +++ b/pkg/services/stateroot/service_test.go @@ -4,6 +4,7 @@ import ( "crypto/elliptic" "path/filepath" "sort" + "sync/atomic" "testing" "time" @@ -32,7 +33,6 @@ import ( "github.com/nspcc-dev/neo-go/pkg/vm/stackitem" "github.com/nspcc-dev/neo-go/pkg/wallet" "github.com/stretchr/testify/require" - "go.uber.org/atomic" "go.uber.org/zap/zaptest" ) diff --git a/pkg/smartcontract/zkpbinding/binding.go b/pkg/smartcontract/zkpbinding/binding.go index 40a5cccaf..ac2980ca7 100644 --- a/pkg/smartcontract/zkpbinding/binding.go +++ b/pkg/smartcontract/zkpbinding/binding.go @@ -165,7 +165,7 @@ supportedstandards: []` // and dependency packages version needed for smart contract compilation. verifyGomod = `module verify -go 1.18 +go 1.19 require github.com/nspcc-dev/neo-go/pkg/interop v0.0.0-20231004150345-8849ccde2524 ` diff --git a/pkg/vm/fuzz_test.go b/pkg/vm/fuzz_test.go index da03fea54..25c605073 100644 --- a/pkg/vm/fuzz_test.go +++ b/pkg/vm/fuzz_test.go @@ -1,5 +1,3 @@ -//go:build go1.18 - package vm import (