FrostFS smart-contract
Find a file
Alex Vanin 9ed3c538a0 [#231] Lower minimal contract version update to v0.14.0
Main chain NeoFS contract was not updated to v0.14.2. Current
contract version is v0.14.0 However, there is no functional
changes between v0.14.0 and v0.14.2. To avoid NeoFS contract
update, this commit lowers minimal contract version.

All other contracts have been updated to v0.14.2 and they are not
affected by this change.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-03-23 18:48:14 +03:00
.github .github: add testing workflow 2021-10-07 14:53:27 +03:00
alphabet [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
audit [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
balance [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
common [#231] Lower minimal contract version update to v0.14.0 2022-03-23 18:48:14 +03:00
container [#231] Remove previous contract update code 2022-03-23 18:48:14 +03:00
neofs [#222] neofs: Remove key argument from getNodes 2022-03-23 11:33:27 +03:00
neofsid [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
netmap [#222] netmap: Store public keys in _deploy 2022-03-23 12:04:47 +03:00
nns [#231] Remove previous contract update code 2022-03-23 18:48:14 +03:00
processing [#209] *: use current block index in GetDesignatedByRole 2022-01-11 11:57:00 +03:00
proxy *: remove update migration code 2022-02-07 17:49:07 +03:00
reputation [#222] *: Replace IRNode with raw public keys 2022-03-23 11:33:27 +03:00
subnet *: remove update migration code 2022-02-07 17:49:07 +03:00
tests [#229] netmap: Improve UpdateState in notary-enabled environment 2022-03-22 12:56:16 +03:00
.gitignore [#25] Update gitignore 2021-03-05 17:13:49 +03:00
CHANGELOG.md Release v0.14.2 2022-02-07 19:08:48 +03:00
go.mod go.mod: update neo-go version 2022-02-03 15:32:03 +03:00
go.sum go.mod: update neo-go version 2022-02-03 15:32:03 +03:00
LICENSE.md init commit 2020-04-01 19:27:29 +03:00
Makefile [#177] Makefile: build with neo-go from go.mod 2021-11-25 11:26:35 +03:00
README.md Release v0.14.2 2022-02-07 19:08:48 +03:00

NeoFS

NeoFS related smart contracts.


Overview

NeoFS-Contract contains all NeoFS related contracts written for neo-go compiler. These contracts are deployed both in main chain and side chain.

Main chain contracts:

  • neofs
  • processing

Side chain contracts:

  • alphabet
  • audit
  • balance
  • container
  • neofsid
  • netmap
  • nns
  • proxy
  • reputation
  • subnet

Getting started

Prerequisites

To compile smart contracts you need:

Compilation

To build and compile smart contract run make all command. Compiled contracts *_contract.nef and manifest config.json files are placed in the corresponding directories.

$ make all
/home/user/go/bin/cli contract compile -i alphabet -c alphabet/config.yml -m alphabet/config.json -o alphabet/alphabet_contract.nef
/home/user/go/bin/cli contract compile -i audit -c audit/config.yml -m audit/config.json -o audit/audit_contract.nef
/home/user/go/bin/cli contract compile -i balance -c balance/config.yml -m balance/config.json -o balance/balance_contract.nef
/home/user/go/bin/cli contract compile -i container -c container/config.yml -m container/config.json -o container/container_contract.nef
/home/user/go/bin/cli contract compile -i neofsid -c neofsid/config.yml -m neofsid/config.json -o neofsid/neofsid_contract.nef
/home/user/go/bin/cli contract compile -i netmap -c netmap/config.yml -m netmap/config.json -o netmap/netmap_contract.nef
/home/user/go/bin/cli contract compile -i proxy -c proxy/config.yml -m proxy/config.json -o proxy/proxy_contract.nef
/home/user/go/bin/cli contract compile -i reputation -c reputation/config.yml -m reputation/config.json -o reputation/reputation_contract.nef
/home/user/go/bin/cli contract compile -i subnet -c subnet/config.yml -m subnet/config.json -o subnet/subnet_contract.nef
/home/user/go/bin/cli contract compile -i nns -c nns/config.yml -m nns/config.json -o nns/nns_contract.nef
/home/user/go/bin/cli contract compile -i neofs -c neofs/config.yml -m neofs/config.json -o neofs/neofs_contract.nef
/home/user/go/bin/cli contract compile -i processing -c processing/config.yml -m processing/config.json -o processing/processing_contract.nef

You can specify path to the neo-go binary with NEOGO environment variable:

$ NEOGO=/home/user/neo-go/bin/neo-go make all

Remove compiled files with make clean or make mr_proper command.

Testing

Smartcontract tests reside in tests/ directory. To execute test suite after applying changes simply run make test.

$ make test
ok      github.com/nspcc-dev/neofs-contract/tests       0.462s

NeoFS API compatibility

neofs-contract version supported NeoFS API versions
v0.9.x v2.7.0, v2.8.0
v0.10.x v2.7.0, v2.8.0
v0.11.x v2.7.0, v2.8.0, v2.9.0
v0.12.x v2.10.0
v0.13.x v2.11.0

License

This project is licensed under the GPLv3 License - see the LICENSE.md file for details