Skip to content

Releases: nspcc-dev/neofs-contract

v0.12.0 - Udo (우도, 牛島)

15 Oct 12:15
v0.12.0
Compare
Choose a tag to compare

NNS update with native container names in container contract.

Fixed

  • Safe methods list in reputation contract manifest (#144)

Added

  • SOA record type support in NNS (#125)
  • Test framework for N3 contracts written in go (#137)
  • Unit tests for container and NNS contracts (#135, #137)
  • PutNamed method in container contract that registers domain in NNS (#135)

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

Main chain:

NeoFS           c6cfb258ed772b61dc8301e38e3d8887a55f65ff
Processing      28a48248dce0967cb0d150699dcc95de6b64935d

Side chain:

Alphabet(Az)    7bccffffa1dfb626c0367eebc6662d53fb386ce9
Audit           ba26cbb96b747babbaef5f501d9e573e965e71a0
Balance         90a08917911c907fbe70d88ff0d85c8a9a652fca
Container       996c84759b8340d47f5a5b9f56229a701df6daa7
NeoFSID         e94e9c66295558bb1a66700346d9c95a95f0bca7
Netmap          60717da753f6566d87d63adcfea6ddcc5619196d
NNS             a5e12d521235ff42c951d7ed6a446af1479d8f3e
Proxy           73f753bbd106508fc6b0579e656ced1fe230673a
Reputation      0e7c106a441ede9a2dc4485febd89a612d327487

neofs-contract-v0.12.0.tar.gz built with neo-go v0.97.3

v0.11.0 - Mungapdo (문갑도, 文甲島)

22 Sep 16:13
v0.11.0
Compare
Choose a tag to compare

Contract owners are removed, now side chain committee is in charge of contract update routine.

Fixed

  • Container contract does not throw PICKITEM panic when trying access non-existent container, instead panics with user-friendly message (#121)

Changed

  • NNS contract has been updated to the latest version from Neo upstream (#123)
  • Container contract does not throw panic on deleting non-existent container (#121)
  • Migrate methods renamed to Update (#128)
  • Contracts now throw panic if update routine fails (#130)
  • Side chain committee is able to update contracts (#107)

Removed

  • Contract owner arguments at deploy stage (#107)

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

Main chain:

NeoFS           e2535ba4e47f02e11187ab47f3d6f31e07b75488
Processing      42102bc8c1b0ad9a269915555dca16e0dc8222d9

Side chain:

Alphabet(Az)    6e3c972c5834107db9a3bdfc95c417c19ccad318
Audit           f059a3ac27e62c42f733c157c48e86f91a75b9f1
Balance         5e5b730ea381e6acce2c5907e5cfc7ff0f41b346
Container       7829ade7a49e770136de8658f5fa1ad0a0a83e84
NeoFSID         1cc0f34e39f570a5aa72e9f68827605ad59522e9
Netmap          c6c0e7dd4dbef787d0e650ed5bb998b8a89cdb76
NNS             1da89c906020ea1b22011bf16eb36c7e489f2cc5
Proxy           ed02a1287258a4657604ea3febe63cca73ba11cb
Reputation      8aa85a761be0b48a102a12ab477e90d8377afc00

neofs-contract-v0.11.0.tar.gz built with neo-go v0.97.2

v0.10.1

29 Jul 12:57
v0.10.1
Compare
Choose a tag to compare

Changed

  • Version method returns encoded semver value (#98)

Removed

  • InitConfig methods from neofs and netmap contracts. Network configuration now provided as contract deploy parameter. (#115)

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

Main chain:

NeoFS           b65d8243ac63983206d17e5221af0653a7266fa1
Processing      91840e88a603db8b422ce472fedabe389d17e228

Side chain:

Alphabet(Az)    32bec31e059fecefdeb9c0e15f840a0439b5a713
Audit           eb0bc2d4d02d2c2df424ee252ed07a51f197670e
Balance         21fce15191428e9c2f0e8d0329ff6d3dd14882de
Container       ed22b4f21f785ed92c1e69e6b307a564aa6dd68d
NeoFSID         96c1c6db6c52de1f90423be02fb73acac5cd9964
Netmap          6b5a4b75ed4540d14420a7c3264bb936cb78a2d4
NNS             a6edba3331f55157ae58a40b76e45ebe985b8300
Proxy           d031ae16a264d019ca32662bfd8fa0809db45361
Reputation      53fd67b63e405e102f8cbf1756726f773c8c2424

neofs-contract-v0.10.1.tar.gz built with neo-go v0.97.2

v0.10.0 - Wando (완도, 莞島)

23 Jul 11:20
v0.10.0
Compare
Choose a tag to compare

Fixed

  • Alphabet contract does not emit GAS to proxy contract and does not check proxy contract script hash length at deploy stage if notary disabled (#106)

Added

  • Netmap contract stores block height when last epoch was applied and provides LastEpochBlock method to get it (#110)
  • NNS contract (#108)
  • Enhanced documentation for autodoc tools (#105)

Changed

  • Update neo-go to v0.96.0

Removed

  • v0.9.1 to v0.9.2 migration code (#104)

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

Main chain:

NeoFS           a653f86a25c851b25beae28054b09be3b24d1f85
Processing      37d29a84f3fdabf12bd3cfac5726ef89acb0b573

Side chain:

Alphabet(Az)    414943baa542138007225c3362b8615f6e576387
Audit           2b0e9f05f11ce06ca759d33821d6448348110bc0
Balance         e20b7b53cff0d928ffc5d228c95f90a4d1e4eea8
Container       92c2e316c3ee3cb8993dd0b70ad863e6a23e1cb3
NeoFSID         365321924b9d5c4ffe4de0b75507881c13f9950e
Netmap          7d089f3e06749fdff9be6d01a7913a643fd02bf6
Proxy           ad7c6b55b737b696e5c82c85445040964a03e97f
Reputation      eca6ab6c8a2c37c3e2468b5472298c19002dba01

neofs-contract-v0.10.0.tar.gz built with neo-go v0.96.1

v0.9.2

01 Jul 18:01
Compare
Choose a tag to compare

Fixed

  • Execution of multiple container.Put, container.Delete, container.PutContainerSize and netmap.AddPeer invocations now possible in the single block (#100, #102).

Added

  • Target NeoFS API version in README.md.

Changed

  • Notary enabled images for neofs-dev-env do not contain predefined network map anymore.

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

Main chain:

NeoFS           6c9f9cee7436a093ded74a10a5fbeb0c58e58ea8
Processing      910ed3167561cf959f7c0eaa7b81819d5c4810a4

Side chain:

Alphabet(Az)    eaa9888df8e9d608b24c2cbc61e461648486188f
Audit           d1ad9e1de93f6261955406c968a967844cb6cdda
Balance         d8f5cadd51d34602c751ef673496e7e5b615f223
Container       c241ae468ad95af029408e1845226d7771c7c60f
NeoFSID         4e1c310379deb28b4ddd346e92e621bf3550b71f
Netmap          a28b8ead5840f2d04240869089157ac31eee5c65
Proxy           d623716b2faaa57f18d7d0d983d8d6bf9fe0469e
Reputation      d6a191c09702927be1ff60f954f113bc5e96a9ec

neofs-contract-v0.9.2.tar.gz built with neo-go v0.95.3

v0.9.1

24 Jun 13:49
Compare
Choose a tag to compare

Fixed

  • Notification parameter types in container, neofs and netmap manifests (#94).
  • Method permissions in manifests (#96).

Added

  • Balance check before notification at container.Put method.

Removed

  • v0.8.0 to v0.9.0 migration code.

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

Main chain:

NeoFS           3ff4ac77f5b1c93756742677948a8102e071d0bc
Processing      14afafad32222fddfd3ee12cd458667aa695e739

Side chain:

Alphabet(Az)    f5c57a097b62e4a24be17676346bc9ebbb115b94
Audit           e579fbf094437020083ed8b63eb58ffb801ea083
Balance         e503850309fd2811636df621e245e35491520e87
Container       f11f6947780164e480ca49ff60894aa7c1fb4fa1
NeoFSID         f3f4b21f082046c21eaa7aaa84b77b574695a53d
Netmap          f7800841a5d682e21819af9b22c54e9c7f4228b3
Proxy           899fe49000ff26a4852856a5e6a5492f542bbaa0
Reputation      8f3d6d0eb616fe29c2b5c7231dc18be0cdb11b85

neofs-contract-v0.9.1.tar.gz built with neo-go v0.95.3

v0.9.0 Seongmodo (석모도, 席毛島)

03 Jun 12:26
Compare
Choose a tag to compare

Session token support in container contract.

Fixed

  • _deploy methods process isUpdate argument now.

Added

  • Changelog file.
  • netmap.NetmapCandidates method.

Changed

  • Container contract now stores public key, signature and session token of new containers and extended ACL tables.
  • Most of the contract methods that invoked by inner ring do not return bool value anymore. Such methods throw panic instead.
  • Migrate methods now accept data.

Removed

  • Container and extended ACL signature checks in container contract.

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

Main chain:

NeoFS           e1cb69bd0cc6e5484ea88a4a47fb0f52743ecccf
Processing      49e1bfdd7f584ab2f8719e8a37925e64da9049e5

Side chain:

Alphabet(Az)    961e7df2a077839fff16c47f933b1eb58c30b9ad
Audit           7f0d1c717e0895684576694c259ae179f5300aed
Balance         69550190e740b93f92dbd5dea52246f550391057
Container       4b21f9ba6096dfa542b5a3e33f2152597da60226
NeoFSID         a18bd10212ad893ba04c69f94a39ae8a91ddfa75
Netmap          ff50668206f8c804205990672f9a26af61780db5
Proxy           40646f625a229c222907582c7f55b2039247bb25
Reputation      19b9afba98c8987affa9850f533ecdd5dddbb034

v0.8.0 Dolsando (돌산도, 突山島)

19 May 09:45
Compare
Choose a tag to compare

N3 Testnet RC2 compatible contracts.

Changed

  • Contract initialization moved to _deploy method.
  • Updated neo-go to v0.95.0 (N3 RC2 compatible).

Removed

  • Deposit method from NeoFS contract (use direct GAS transfer to contract address for deposit).
  • Unused transfer description variables in balance contract and total function in alphabet contract.

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

Main chain:

NeoFS           008b43d3de8741b896015f79ac0fbfa4055b4574
Processing      5daa677f966a87913838df0a511981ade30c88a4

Side chain:

Alphabet(Az)    7af443ae5940aedddd06557e64349931de85328d
Audit           ff3a192ec551021dcac63a3f1dc01fefe5aec241
Balance         dbd80d328730f4b1f61a61d5e224fc259cfa43fd
Container       b02ca40cede22a2feb6cdcf951d48223f586525a
NeoFSID         794a918d39e4bfc00a28d416cfff465fa4ca315f
Netmap          f08bf0d63bebad4be0e07c94cdf6fcd783a69a3f
Proxy           6937e3edfd6801958a0bd7875dcdcc17c5a86af3
Reputation      a0c48efa9eaed7705d717789b9b66ad037d7b60c

v0.7.0 Daecheongdo (대청도, 大靑島)

07 May 10:34
Compare
Choose a tag to compare

Combine notary and non notary work flows in smart contracts.

Fixed

  • Integers are not used as search prefixes anymore.

Added

  • Notary and non notary work flows in all contracts. Notary can be disabled at contract initialization.
  • Processing contract in main chain to pay for neofs contract invocations from alphabet when notary enabled.
  • Fee payments at neofs.Withdraw() invocation.

Changed

  • Reputation contract now stores new global reputation structures.
  • All balance.transferX() invocations provided with encoded transfer details.

Removed

  • Cheque storage in neofs contract to decrease invocation costs.

v0.6.0 Yeongheungdo (영흥도, 靈興島)

26 Mar 14:06
Compare
Choose a tag to compare

Governance update.

Fixed

  • Threshold (N) calculation.

Changed

  • Inner ring keys are accessed from NeoFSAlphabet role in side chain.
  • Alphabet keys are accessed from committee in side chain.
  • NeoFS contract now manages alphabet keys and do not update candidate list automatically.
  • NeoFS contract can be initiated with any non zero amount of alphabet keys now.
  • neofs.InnerRingList() renamed to neofs.AlphabetList().
  • neofs.InnerRingUpdate() renamed to neofs.AlphabetUpdate() and it produces AlphabetUpdate event.
  • Netmap contract does not manage inner ring keys now.

Removed

  • neofs.IsInnerRing() method.
  • netmap.InnerRingLost(), netmap.Multiaddress(), netmap.Committee(), netmap.UpdateInnerRing() methods.