mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-04-26 13:50:42 +00:00
examples: fix linter issues
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
This commit is contained in:
parent
949ed4f2ea
commit
524ba5fd1b
13 changed files with 39 additions and 42 deletions
|
@ -4,25 +4,25 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
"github.com/nspcc-dev/neo-go/pkg/interop/runtime"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NotifyScriptContainer sends runtime notification with script container hash
|
// NotifyScriptContainer sends runtime notification with script container hash.
|
||||||
func NotifyScriptContainer() {
|
func NotifyScriptContainer() {
|
||||||
tx := runtime.GetScriptContainer()
|
tx := runtime.GetScriptContainer()
|
||||||
runtime.Notify("Tx", tx.Hash)
|
runtime.Notify("Tx", tx.Hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotifyCallingScriptHash sends runtime notification with calling script hash
|
// NotifyCallingScriptHash sends runtime notification with calling script hash.
|
||||||
func NotifyCallingScriptHash() {
|
func NotifyCallingScriptHash() {
|
||||||
callingScriptHash := runtime.GetCallingScriptHash()
|
callingScriptHash := runtime.GetCallingScriptHash()
|
||||||
runtime.Notify("Calling", callingScriptHash)
|
runtime.Notify("Calling", callingScriptHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotifyExecutingScriptHash sends runtime notification about executing script hash
|
// NotifyExecutingScriptHash sends runtime notification about executing script hash.
|
||||||
func NotifyExecutingScriptHash() {
|
func NotifyExecutingScriptHash() {
|
||||||
execScriptHash := runtime.GetExecutingScriptHash()
|
execScriptHash := runtime.GetExecutingScriptHash()
|
||||||
runtime.Notify("Executing", execScriptHash)
|
runtime.Notify("Executing", execScriptHash)
|
||||||
}
|
}
|
||||||
|
|
||||||
// NotifyEntryScriptHash sends notification about entry script hash
|
// NotifyEntryScriptHash sends notification about entry script hash.
|
||||||
func NotifyEntryScriptHash() {
|
func NotifyEntryScriptHash() {
|
||||||
entryScriptHash := runtime.GetEntryScriptHash()
|
entryScriptHash := runtime.GetEntryScriptHash()
|
||||||
runtime.Notify("Entry", entryScriptHash)
|
runtime.Notify("Entry", entryScriptHash)
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
// _deploy primes contract's storage with some data to be used later.
|
// _deploy primes contract's storage with some data to be used later.
|
||||||
func _deploy(_ any, _ bool) {
|
func _deploy(_ any, _ bool) { // nolint: unused
|
||||||
ctx := storage.GetContext() // RW context.
|
ctx := storage.GetContext() // RW context.
|
||||||
storage.Put(ctx, "foo1", "1")
|
storage.Put(ctx, "foo1", "1")
|
||||||
storage.Put(ctx, "foo2", "2")
|
storage.Put(ctx, "foo2", "2")
|
||||||
|
|
|
@ -60,7 +60,7 @@ const (
|
||||||
// Other constants.
|
// Other constants.
|
||||||
const (
|
const (
|
||||||
// defaultRegisterPrice is the default price for new domain registration.
|
// defaultRegisterPrice is the default price for new domain registration.
|
||||||
defaultRegisterPrice = 10_0000_0000
|
defaultRegisterPrice = 10_0000_0000 // nolint: unused
|
||||||
// millisecondsInYear is amount of milliseconds per year.
|
// millisecondsInYear is amount of milliseconds per year.
|
||||||
millisecondsInYear = 365 * 24 * 3600 * 1000
|
millisecondsInYear = 365 * 24 * 3600 * 1000
|
||||||
)
|
)
|
||||||
|
@ -79,7 +79,7 @@ func Update(nef []byte, manifest string) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// _deploy initializes defaults (total supply and registration price) on contract deploy.
|
// _deploy initializes defaults (total supply and registration price) on contract deploy.
|
||||||
func _deploy(data any, isUpdate bool) {
|
func _deploy(data any, isUpdate bool) { // nolint: unused
|
||||||
if isUpdate {
|
if isUpdate {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -491,7 +491,7 @@ func getRecordKey(tokenId []byte, name string, typ RecordType) []byte {
|
||||||
|
|
||||||
// isValid returns true if the provided address is a valid Uint160.
|
// isValid returns true if the provided address is a valid Uint160.
|
||||||
func isValid(address interop.Hash160) bool {
|
func isValid(address interop.Hash160) bool {
|
||||||
return address != nil && len(address) == 20
|
return address != nil && len(address) == 20 // nolint: gosimple
|
||||||
}
|
}
|
||||||
|
|
||||||
// checkCommittee panics if the script container is not signed by the committee.
|
// checkCommittee panics if the script container is not signed by the committee.
|
||||||
|
@ -555,7 +555,7 @@ func splitAndCheck(name string, allowMultipleFragments bool) []string {
|
||||||
if l > 2 && !allowMultipleFragments {
|
if l > 2 && !allowMultipleFragments {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
for i := 0; i < l; i++ {
|
for i := range fragments {
|
||||||
if !checkFragment(fragments[i], i == l-1) {
|
if !checkFragment(fragments[i], i == l-1) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -418,11 +418,9 @@ func testTokensOf(t *testing.T, c *neotest.ContractInvoker, result [][]byte, arg
|
||||||
}
|
}
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
iter := s.Pop().Interop().Value().(*storage.Iterator)
|
iter := s.Pop().Interop().Value().(*storage.Iterator)
|
||||||
arr := make([]stackitem.Item, 0, len(result))
|
|
||||||
for i := range result {
|
for i := range result {
|
||||||
require.True(t, iter.Next())
|
require.True(t, iter.Next())
|
||||||
require.Equal(t, result[i], iter.Value().Value())
|
require.Equal(t, result[i], iter.Value().Value())
|
||||||
arr = append(arr, stackitem.Make(result[i]))
|
|
||||||
}
|
}
|
||||||
require.False(t, iter.Next())
|
require.False(t, iter.Next())
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ const (
|
||||||
totalSupplyPrefix = "s"
|
totalSupplyPrefix = "s"
|
||||||
// balancePrefix contains map from addresses to balances.
|
// balancePrefix contains map from addresses to balances.
|
||||||
balancePrefix = "b"
|
balancePrefix = "b"
|
||||||
// accountPrefix contains map from address + token id to tokens
|
// accountPrefix contains map from address + token id to tokens.
|
||||||
accountPrefix = "a"
|
accountPrefix = "a"
|
||||||
// tokenPrefix contains map from token id to it's owner.
|
// tokenPrefix contains map from token id to it's owner.
|
||||||
tokenPrefix = "t"
|
tokenPrefix = "t"
|
||||||
|
|
|
@ -7,7 +7,7 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// Check if the invoker of the contract is the specified owner
|
// Check if the invoker of the contract is the specified owner.
|
||||||
owner = address.ToHash160("NbrUYaZgyhSkNoRo9ugRyEMdUZxrhkNaWB")
|
owner = address.ToHash160("NbrUYaZgyhSkNoRo9ugRyEMdUZxrhkNaWB")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -22,7 +22,7 @@ func init() {
|
||||||
|
|
||||||
// _deploy is called after contract deployment or update, it'll be called
|
// _deploy is called after contract deployment or update, it'll be called
|
||||||
// in deployment transaction and if call update method of this contract.
|
// in deployment transaction and if call update method of this contract.
|
||||||
func _deploy(_ any, isUpdate bool) {
|
func _deploy(_ any, isUpdate bool) { // nolint: unused
|
||||||
if isUpdate {
|
if isUpdate {
|
||||||
Log("_deploy method called after contract update")
|
Log("_deploy method called after contract update")
|
||||||
return
|
return
|
||||||
|
|
|
@ -5,13 +5,13 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
// ctx holds storage context for contract methods
|
// ctx holds storage context for contract methods.
|
||||||
var ctx storage.Context
|
var ctx storage.Context
|
||||||
|
|
||||||
// defaultKey represents the default key.
|
// defaultKey represents the default key.
|
||||||
var defaultKey = []byte("default")
|
var defaultKey = []byte("default")
|
||||||
|
|
||||||
// init inits storage context before any other contract method is called
|
// init inits storage context before any other contract method is called.
|
||||||
func init() {
|
func init() {
|
||||||
ctx = storage.GetContext()
|
ctx = storage.GetContext()
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,15 +9,15 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultTicks = 3
|
const defaultTicks = 3 // nolint: unused
|
||||||
const mgmtKey = "mgmt"
|
const mgmtKey = "mgmt"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
// ctx holds storage context for contract methods
|
// ctx holds storage context for contract methods.
|
||||||
ctx storage.Context
|
ctx storage.Context
|
||||||
// Check if the invoker of the contract is the specified owner
|
// Check if the invoker of the contract is the specified owner.
|
||||||
owner = address.ToHash160("NbrUYaZgyhSkNoRo9ugRyEMdUZxrhkNaWB")
|
owner = address.ToHash160("NbrUYaZgyhSkNoRo9ugRyEMdUZxrhkNaWB")
|
||||||
// ticksKey is a storage key for ticks counter
|
// ticksKey is a storage key for ticks counter.
|
||||||
ticksKey = []byte("ticks")
|
ticksKey = []byte("ticks")
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ func init() {
|
||||||
ctx = storage.GetContext()
|
ctx = storage.GetContext()
|
||||||
}
|
}
|
||||||
|
|
||||||
func _deploy(_ any, isUpdate bool) {
|
func _deploy(_ any, isUpdate bool) { // nolint: unused
|
||||||
if isUpdate {
|
if isUpdate {
|
||||||
ticksLeft := storage.Get(ctx, ticksKey).(int) + 1
|
ticksLeft := storage.Get(ctx, ticksKey).(int) + 1
|
||||||
storage.Put(ctx, ticksKey, ticksLeft)
|
storage.Put(ctx, ticksKey, ticksLeft)
|
||||||
|
|
|
@ -8,7 +8,7 @@ import (
|
||||||
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
"github.com/nspcc-dev/neo-go/pkg/interop/storage"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Token holds all token info
|
// Token holds all token info.
|
||||||
type Token struct {
|
type Token struct {
|
||||||
// Token name
|
// Token name
|
||||||
Name string
|
Name string
|
||||||
|
@ -35,17 +35,17 @@ func getIntFromDB(ctx storage.Context, key []byte) int {
|
||||||
return res
|
return res
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetSupply gets the token totalSupply value from VM storage
|
// GetSupply gets the token totalSupply value from VM storage.
|
||||||
func (t Token) GetSupply(ctx storage.Context) int {
|
func (t Token) GetSupply(ctx storage.Context) int {
|
||||||
return getIntFromDB(ctx, []byte(t.CirculationKey))
|
return getIntFromDB(ctx, []byte(t.CirculationKey))
|
||||||
}
|
}
|
||||||
|
|
||||||
// BalanceOf gets the token balance of a specific address
|
// BalanceOf gets the token balance of a specific address.
|
||||||
func (t Token) BalanceOf(ctx storage.Context, holder []byte) int {
|
func (t Token) BalanceOf(ctx storage.Context, holder []byte) int {
|
||||||
return getIntFromDB(ctx, holder)
|
return getIntFromDB(ctx, holder)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transfer token from one user to another
|
// Transfer token from one user to another.
|
||||||
func (t Token) Transfer(ctx storage.Context, from, to interop.Hash160, amount int, data any) bool {
|
func (t Token) Transfer(ctx storage.Context, from, to interop.Hash160, amount int, data any) bool {
|
||||||
amountFrom := t.CanTransfer(ctx, from, to, amount)
|
amountFrom := t.CanTransfer(ctx, from, to, amount)
|
||||||
if amountFrom == -1 {
|
if amountFrom == -1 {
|
||||||
|
@ -74,7 +74,7 @@ func (t Token) Transfer(ctx storage.Context, from, to interop.Hash160, amount in
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
// CanTransfer returns the amount it can transfer
|
// CanTransfer returns the amount it can transfer.
|
||||||
func (t Token) CanTransfer(ctx storage.Context, from []byte, to []byte, amount int) int {
|
func (t Token) CanTransfer(ctx storage.Context, from []byte, to []byte, amount int) int {
|
||||||
if len(to) != 20 || !IsUsableAddress(from) {
|
if len(to) != 20 || !IsUsableAddress(from) {
|
||||||
return -1
|
return -1
|
||||||
|
@ -94,10 +94,9 @@ func (t Token) CanTransfer(ctx storage.Context, from []byte, to []byte, amount i
|
||||||
return amountFrom
|
return amountFrom
|
||||||
}
|
}
|
||||||
|
|
||||||
// IsUsableAddress checks if the sender is either the correct Neo address or SC address
|
// IsUsableAddress checks if the sender is either the correct Neo address or SC address.
|
||||||
func IsUsableAddress(addr []byte) bool {
|
func IsUsableAddress(addr []byte) bool {
|
||||||
if len(addr) == 20 {
|
if len(addr) == 20 {
|
||||||
|
|
||||||
if runtime.CheckWitness(addr) {
|
if runtime.CheckWitness(addr) {
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
@ -112,13 +111,13 @@ func IsUsableAddress(addr []byte) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mint initial supply of tokens
|
// Mint initial supply of tokens.
|
||||||
func (t Token) Mint(ctx storage.Context, to interop.Hash160) bool {
|
func (t Token) Mint(ctx storage.Context, to interop.Hash160) bool {
|
||||||
if !IsUsableAddress(t.Owner) {
|
if !IsUsableAddress(t.Owner) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
minted := storage.Get(ctx, []byte("minted"))
|
minted := storage.Get(ctx, []byte("minted"))
|
||||||
if minted != nil && minted.(bool) == true {
|
if minted != nil && minted.(bool) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,7 +19,7 @@ var (
|
||||||
)
|
)
|
||||||
|
|
||||||
// init initializes Token Interface and storage context for the Smart
|
// init initializes Token Interface and storage context for the Smart
|
||||||
// Contract to operate with
|
// Contract to operate with.
|
||||||
func init() {
|
func init() {
|
||||||
token = nep17.Token{
|
token = nep17.Token{
|
||||||
Name: "Awesome NEO Token",
|
Name: "Awesome NEO Token",
|
||||||
|
@ -32,32 +32,32 @@ func init() {
|
||||||
ctx = storage.GetContext()
|
ctx = storage.GetContext()
|
||||||
}
|
}
|
||||||
|
|
||||||
// Symbol returns the token symbol
|
// Symbol returns the token symbol.
|
||||||
func Symbol() string {
|
func Symbol() string {
|
||||||
return token.Symbol
|
return token.Symbol
|
||||||
}
|
}
|
||||||
|
|
||||||
// Decimals returns the token decimals
|
// Decimals returns the token decimals.
|
||||||
func Decimals() int {
|
func Decimals() int {
|
||||||
return token.Decimals
|
return token.Decimals
|
||||||
}
|
}
|
||||||
|
|
||||||
// TotalSupply returns the token total supply value
|
// TotalSupply returns the token total supply value.
|
||||||
func TotalSupply() int {
|
func TotalSupply() int {
|
||||||
return token.GetSupply(ctx)
|
return token.GetSupply(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
// BalanceOf returns the amount of token on the specified address
|
// BalanceOf returns the amount of token on the specified address.
|
||||||
func BalanceOf(holder interop.Hash160) int {
|
func BalanceOf(holder interop.Hash160) int {
|
||||||
return token.BalanceOf(ctx, holder)
|
return token.BalanceOf(ctx, holder)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Transfer token from one user to another
|
// Transfer token from one user to another.
|
||||||
func Transfer(from interop.Hash160, to interop.Hash160, amount int, data any) bool {
|
func Transfer(from interop.Hash160, to interop.Hash160, amount int, data any) bool {
|
||||||
return token.Transfer(ctx, from, to, amount, data)
|
return token.Transfer(ctx, from, to, amount, data)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Mint initial supply of tokens
|
// Mint initial supply of tokens.
|
||||||
func Mint(to interop.Hash160) bool {
|
func Mint(to interop.Hash160) bool {
|
||||||
return token.Mint(ctx, to)
|
return token.Mint(ctx, to)
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ func (circuit *CubicCircuit) Define(api frontend.API) error {
|
||||||
|
|
||||||
// main demonstrates how to build the proof and verify it with the help of gnark
|
// main demonstrates how to build the proof and verify it with the help of gnark
|
||||||
// library. Error handling omitted intentionally to simplify the example.
|
// library. Error handling omitted intentionally to simplify the example.
|
||||||
func main() {
|
func main() { // nolint: unused
|
||||||
var (
|
var (
|
||||||
circuit CubicCircuit
|
circuit CubicCircuit
|
||||||
assignment = CubicCircuit{X: 3, Y: 35}
|
assignment = CubicCircuit{X: 3, Y: 35}
|
||||||
|
|
|
@ -315,7 +315,7 @@ func setup(t *testing.T, ccs constraint.ConstraintSystem, phase1ResponsePath str
|
||||||
// receive a []byte, deserialize it, add his contribution and send back to
|
// receive a []byte, deserialize it, add his contribution and send back to
|
||||||
// coordinator, like it is done in https://github.com/bnb-chain/zkbnb-setup
|
// coordinator, like it is done in https://github.com/bnb-chain/zkbnb-setup
|
||||||
// for BN254 elliptic curve.
|
// for BN254 elliptic curve.
|
||||||
for i := range nContributionsPhase2 {
|
for range nContributionsPhase2 {
|
||||||
srs2.Contribute()
|
srs2.Contribute()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,7 +43,7 @@ var (
|
||||||
// proving system and is taken from the
|
// proving system and is taken from the
|
||||||
// https://github.com/neo-project/neo/issues/2647#issuecomment-1002893109 without
|
// https://github.com/neo-project/neo/issues/2647#issuecomment-1002893109 without
|
||||||
// changes. The verification process checks the following equality:
|
// changes. The verification process checks the following equality:
|
||||||
// A * B = alpha * beta + sum(pub_input[i] * (beta * u_i(x) + alpha * v_i(x) + w_i(x)) / gamma) * gamma + C * delta
|
// A * B = alpha * beta + sum(pub_input[i] * (beta * u_i(x) + alpha * v_i(x) + w_i(x)) / gamma) * gamma + C * delta.
|
||||||
func VerifyProof(a []byte, b []byte, c []byte, publicInput [][]byte) bool {
|
func VerifyProof(a []byte, b []byte, c []byte, publicInput [][]byte) bool {
|
||||||
alphaPoint := crypto.Bls12381Deserialize(alpha)
|
alphaPoint := crypto.Bls12381Deserialize(alpha)
|
||||||
betaPoint := crypto.Bls12381Deserialize(beta)
|
betaPoint := crypto.Bls12381Deserialize(beta)
|
||||||
|
@ -68,11 +68,11 @@ func VerifyProof(a []byte, b []byte, c []byte, publicInput [][]byte) bool {
|
||||||
panic("error: inputlen or iclen")
|
panic("error: inputlen or iclen")
|
||||||
}
|
}
|
||||||
icPoints := make([]crypto.Bls12381Point, iclen)
|
icPoints := make([]crypto.Bls12381Point, iclen)
|
||||||
for i := 0; i < iclen; i++ {
|
for i := range icPoints {
|
||||||
icPoints[i] = crypto.Bls12381Deserialize(ic[i])
|
icPoints[i] = crypto.Bls12381Deserialize(ic[i])
|
||||||
}
|
}
|
||||||
acc := icPoints[0]
|
acc := icPoints[0]
|
||||||
for i := 0; i < inputlen; i++ {
|
for i := range publicInput {
|
||||||
scalar := publicInput[i] // 32-bytes LE field element.
|
scalar := publicInput[i] // 32-bytes LE field element.
|
||||||
temp := crypto.Bls12381Mul(icPoints[i+1], scalar, false)
|
temp := crypto.Bls12381Mul(icPoints[i+1], scalar, false)
|
||||||
acc = crypto.Bls12381Add(acc, temp)
|
acc = crypto.Bls12381Add(acc, temp)
|
||||||
|
|
Loading…
Add table
Reference in a new issue