Releases: nspcc-dev/neofs-contract
v0.12.0 - Udo (우도, 牛島)
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 (문갑도, 文甲島)
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
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 (완도, 莞島)
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
Fixed
- Execution of multiple
container.Put
,container.Delete
,container.PutContainerSize
andnetmap.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
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 (석모도, 席毛島)
Session token support in container contract.
Fixed
_deploy
methods processisUpdate
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 (돌산도, 突山島)
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 (대청도, 大靑島)
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 (영흥도, 靈興島)
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 toneofs.AlphabetList()
.neofs.InnerRingUpdate()
renamed toneofs.AlphabetUpdate()
and it producesAlphabetUpdate
event.- Netmap contract does not manage inner ring keys now.
Removed
neofs.IsInnerRing()
method.netmap.InnerRingLost()
,netmap.Multiaddress()
,netmap.Committee()
,netmap.UpdateInnerRing()
methods.