Skip to content

Releases: nspcc-dev/neofs-contract

v0.23.0

10 Jun 11:55
f829e45
Compare
Choose a tag to compare

Added

  • Direct sponsoring of object meta puts by proxy contract (#491)
  • NNS and proxy contract to test dumps (#494)

v0.22.0

24 Apr 10:46
d490c0d
Compare
Choose a tag to compare

Added

  • create, remove and putEACL methods to Container contract (#478)
  • getEpochBlock, getEpochTime and lastEpochTime methods to Netmap contract (#484)
  • getContainerData and getEACLData methods to Container contract (#481)

Changed

  • Deployment code uses header subscription instead of block subscription now (#471)
  • Go 1.23+ is required now (#472)
  • Minimal supported version for upgrades is 0.18.0 now (#482)
  • All contracts follow NEP-22 standard now (#459)
  • Container contract no longer persists container and eACL credentials (#481)

Updated

  • github.com/stretchr/testify dependency to v1.10.0 (#472)

Removed

  • neofsid contract (#474)
  • bind/unbind methods of neofs contract (#475)
  • Glagolitsa ABC as a deployment parameter (#476)

v0.21.0

19 Feb 07:35
9cf9dc7
Compare
Choose a tag to compare

Added

  • Container node lists to the container contract (#438)
  • Container placement verifications to the container contract (#440)
  • NNS renew method with time parameter (#442)
  • SetAdmin and Renew events in NNS contract (#442)
  • New node format in the netmap contract with no limits to the map size (#445, #461, #462, #464)
  • Experimental object metadata events in the container contract (#448, #451, #456, #457)
  • Auto-cleaning for inactive nodes in the netmap contract (#460)

Changed

  • Minimal Go version to 1.22 (#353, #387)
  • NNS contract now returns an empty array from resolve and getRecord if there are no records (#420)

Updated

  • NeoGo dependency to 0.108.0 (#450, #465)
  • golang.org/x/crypto dependency from 0.26.0 to 0.31.0 (#452, #453, #454)

Removed

  • github.com/urfave/cli dependency (#433)

v0.20.0

30 Jul 10:10
2059417
Compare
Choose a tag to compare

Added

  • verify method for Alphabet contracts (#386)
  • Contract deployment code (#395, #410, #417)
  • Functions to deal with address records and New* constructors for nns wrapper (#397)
  • Script comparing some of NeoFS contract states (#399)
  • Script to compare main/fs chain deposit state (#400)
  • Binary contracts provided as Go package (#401)
  • Support for NEP-18 addresses in NNS wrapper (#392)
  • Contract-specific constants and some types to RPC bindings (#402)
  • Prefixes to balance contract storage scheme (#406)
  • admin to properties() result of NNS (#419)

Changed

  • Contracts moved into a separate directory (#378)
  • Licensing documentation (#391, #395, #401)
  • Release archive uses contract.nef and manifest.json file names (#401)
  • NNS now returns more specific errors for invalid domains (#419)

Updated

  • NeoGo dependency to 0.106.3 (#389, #398, #401, #421)
  • golang.org/x/crypto dependency from 0.14.0 to 0.17.0 (#383)
  • Minimal Go version to 1.20 (#389)
  • google.golang.org/protobuf dependency from 1.31.0 to 1.33.0 (#393)

Fixed

  • Outdated NNS record preventing container deletion (#403)
  • Container contract allowed for Put replays (#404)
  • Potential overflow of NNS record IDs (now limited to 16 entries, #419)
  • CNAME resolve results included CNAME record itself (#419)
  • NNS isAvailable returning true when conflicting records are known (#419)

v0.19.1

28 Nov 17:32
05f0278
Compare
Choose a tag to compare

Fixed

  • Version to 0.19.1

v0.19.0

28 Nov 16:08
57f8a62
Compare
Choose a tag to compare

Added

  • Subscription to new epoch events in netmap contract (#368)

Updated

Removed

  • Obsolete subnet contract (#364)
  • Unused deployment/update options (#373)
  • Most of deploy configurations (#373)

Fixed

  • Expired TLD registration (#366)
  • reputation contract documentation (#369)

v0.18.0

26 Sep 19:21
94764ea
Compare
Choose a tag to compare

Added

  • EACL validation in container.setEACL (#330)
  • Contract storage model documentation (#320)
  • Bump minimum required go version up to 1.18 (#346)
  • Ability to register predefined TLDs at NNS deployment (#344)
  • RPC bindings generation (#345)
  • Method to get container name by its ID (#360)
  • Convenience methods for NNS contract (#361)

Updated

  • NNS TLD registration is possible for committee only now (#344, #357)
  • NNS TLDs are no longer proper NFTs (#344)

Removed

  • Old unused (notary-disabled) events (#341)
  • Unused Burn/Mint balance contract events (#358)

Fixed

  • Migration of non-notary network to notarized one with stale votes (#333)
  • nns.getAllRecords missing 'safe' mark (#355)
  • Stale EACL record left after container deletion (#359)

v0.17.0

06 Apr 16:54
8df64fe
Compare
Choose a tag to compare

Added

  • methods to iterate over containers and their sizes (#293, #300, #326)
  • cmd/dump app that pulls state and data of contracts from remote networks (#324)
  • tests/migration framework for storage migration testing (#324)
  • Dumps of the NeoFS MainNet and TestNet contracts (#324)

Updated

  • neo-go to v0.101.0
  • neo-go/pkg/interop to v0.0.0-20230208100456-1d6e48ee78e5
  • stretchr/testify to v1.8.2
  • NNS contract now uses 10 years for the default domain expiration (#296)
  • contract documentation (#275, #317)

Removed

  • Support for non-notary settings (#303)
  • updateInnerRing of the Netmap contract (#303)

Fixed

  • Migration of contracts to previous versions (#324)
  • Potential panic in container contract's getContainerSize (#321)

Updating from v0.16.0

When updating a non-notary installation:

  • read Inner Ring set using innerRingList method of the Netmap contract and install it as NeoFSAlphabet role in RoleManagement one
  • if an update is aborted due to pending votes, try again later
  • replace calling of removed updateInnerRing and deprecated innerRingList methods of the Netmap contract with RoleManagement contract API

v0.16.0 - Anmado (안마도, 鞍馬島)

17 Oct 14:00
v0.16.0
Compare
Choose a tag to compare

Added

  • Support MAINTENANCE state of storage nodes (#269)

Changed

  • netmap.Snapshot and all similar methods return (#269)

Updated

  • NNS contract now sets domain expiration based on register arguments (#262)

Fixed

  • NNS renew now can only be done by the domain owner

Updating from v0.15.5

Update deployed Netmap contract using Update method: storage of the contract
has been incompatibly changed.


Script hashes of deployed contracts in attached neofs-dev-env chain dumps:

Main chain:

NeoFS           f5dba2f67baa3cbb5595f0a7e46adf564ec9407a
Processing      332016219b9eb48348fb12694409dbefe29bdf30

Side chain:

Alphabet(Az)    14cffa8333133ca7b9b1d3a0feadd1cf7568509c
Audit           1ade1831adbc56fad274d6f2b4236f6a91b66bfe
Balance         46b84292a84c6a402913325297d079972525227a
Container       701b5badbed90d79eb1cab483cb944d6c2bef29f
NeoFSID         1943e9bb78a0fe2fe0c95fd2677eec2da6aa4aa5
Netmap          d87339f71292cc1852d68327867b272e1d60c261
NNS             15c35ccef39aaf2275cde0899a2e0dbebe29ca1d
Proxy           0fa6054cb3c68232b5da08677cf8047a0a2012bf
Reputation      37970f664a216176d621a9515d59a400fe6fb8ad
Subnet          dfd51a5947c3fbe803c1b39ec046e10ee6696b64

neofs-contract-v0.16.0.tar.gz built with neo-go v0.99.3

v0.15.5

23 Aug 09:47
v0.15.5
Compare
Choose a tag to compare

[0.15.5] - 2022-08-23

Update neo-go to v0.99.2.


Script hashes of deployed contracts in attached neofs-dev-env chain dumps:

Main chain:

NeoFS:      913c08e0faa2b94516ac7effaea7a9363e492228
Processing: ab239aa64ff6419419390038682a58b3e7dd0e86

Side chain:

Alphabet(Az): 73cf92b4a0a52009605d19d1dbc67db05d243662
Audit:        ee70ca2cff1073b0335c0b4062edbaa7f59ad629
Balance:      f7a77b58e2581cb3f363977295ff870e42c42555
Container:    4fe02bcf074db1b6a5b71c13e3ac04e4bcfc3a96
NeoFSID:      af4681232a16511654d007ee851a799a3475b551
Netmap:       0605a9623cb07b638fc6fe243bb7dc8bc50d30cd
NNS:          7ae4647c98943faf26a059110d83e0716e789356
Proxy:        7a2b472632f30c0bd841dbe88252096f4e1eccd4
Reputation:   f567d868746cd46c2f3a2c46a9e454cd56a1be1e
Subnet:       dd782a8736da57f0d356f659cf63872c5944162d

neofs-contract-v0.15.5.tar.gz built with the v0.99.2 neo-go