Commit Graph

48 Commits (69b308e7927684f0c17fe5cd0ff5d71b7df4d095)

Author SHA1 Message Date
Evgenii Stratonikov a92ad8b8f0 [#246] Release v0.15.2
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-06-07 14:14:29 +03:00
Elizaveta Chichindaeva 335b04d9a6 [#240] English Check
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-04-26 23:22:06 +03:00
Alex Vanin c75315808b Release v0.15.1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-04-13 15:43:24 +03:00
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
Evgenii Stratonikov 1beee7eb0b [#228] common: Bump contract version
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-23 11:33:27 +03:00
Evgenii Stratonikov aee1a5d77c [#222] common: Optimize `RemoveVote`
Use single `REMOVE` instead of multiple `APPEND` opcodes.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-23 11:33:27 +03:00
Evgenii Stratonikov 03afb80a14 [#222] *: Replace IRNode with raw public keys
Only leave `IRNode` in neofs contract because it is public.
The newly added conversion in `AlphabetList` shouldn't be a problem
because this is a read method.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-23 11:33:27 +03:00
Alex Vanin 5758dadaa9 Release v0.14.2
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-02-07 19:08:48 +03:00
Evgenii Stratonikov f530bdf721 Release v0.14.1
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-27 10:52:42 +03:00
Alex Vanin f5531561b8 Release v0.14.0 - Geojedo (거제도, 巨濟島)
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-01-14 10:59:25 +03:00
Evgenii Stratonikov 1944a4332b [#202] *: remove owner from contract storage
It is no longer used and should've be removed on update.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-28 13:32:28 +03:00
Alex Vanin 8ea2c12fab Release v0.13.2
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-14 10:30:35 +03:00
Alex Vanin 59eb422a72 Release v0.13.1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-08 18:22:22 +03:00
Alex Vanin 3dc8bd8e7c Release v0.13.0 - Sinjido (신지도, 薪智島)
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-07 15:57:31 +03:00
Pavel Karpy 9d0a82bc89 [#190] common: Check `NeoFS` role for the next block
Current height makes it impossible to change
role and make some operations in one block.
Also, it may lead to accepting some operations
that are approved by already not valid alphabet.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-07 11:25:58 +03:00
Pavel Karpy a2f5f7a74a [#184] *: Change `panic` to `Log`+`ABORT` in `OnNEP17Payment`
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-02 13:09:50 +03:00
Pavel Karpy 2ee2344e5f [#184] *: Move all panics on witness checks in `common`
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 12:14:19 +03:00
Pavel Karpy 4961e9b436 [#186] *: Add `// V2 format` comment
Add `// V2 format` comment to V2 specific code
in contracts. In `subnet` contract change comment
to sync with other.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 11:51:01 +03:00
Evgenii Stratonikov da7f7eb88f [#164] *: provide version as the last argument
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 13:38:15 +03:00
Alex Vanin b57f2ffe6b Release v0.12.1
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-10-19 18:08:52 +03:00
Alex Vanin 5c58093a75 Release v0.12.0 - Udo (우도, 牛島)
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-10-15 15:11:45 +03:00
Alex Vanin 887512f526 Release v0.11.0 - Mungapdo (문갑도, 文甲島)
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-09-22 19:01:25 +03:00
Alex Vanin 378e69c015 [#107] common: Check committee witness for contract update
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-09-22 11:06:48 +03:00
Alex Vanin 8bd25230fa [#118] *: Encode semver in version number
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-07-29 15:01:50 +03:00
Alex Vanin 4585f96acf [#75] Fix typos
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-19 11:54:17 +03:00
Alex Vanin 6e8bef671a [#74] balance: Support notary disabled work flow
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-05 12:27:24 +03:00
Alex Vanin 7317388b4d [#74] Return ballot collection functions
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-05 12:27:24 +03:00
Alex Vanin e850d4fc78 [#74] neofs: Remove unused code
All ballots and voting methods are gone. Multi signature
checks are used in all contracts.

Default global config values are also removed. Configuration
must be provided by initialization script.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-05-05 12:27:24 +03:00
Alex Vanin f884e3d665 [#68] Use unified format for transferX details
Unified format uses transfer type as the first byte
and extra details next. List of transfer types used in
contracts defined in `transfer.go`. It includes:
- mint,
- burn,
- lock,
- unlock,
- container fee.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-04-08 17:04:31 +03:00
Alex Vanin 23f5f1e0e7 [#63] Fix threshold number calculation
`x*2/3` is not equal to `x/3*2` with integers.
The only correct way to calculate threshold is
the first one.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-25 21:22:27 +03:00
Alex Vanin c3a7c6ad23 [#58] common: Remove unused functions
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-25 18:19:47 +03:00
Alex Vanin 4ace86e9b3 [#58] common: Add getters for alphabet and IR nodes from chain
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-25 18:19:47 +03:00
Alex Vanin 97a5e27403 [#59] Update to pre-released version of neo-go v0.94.0
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-17 11:23:11 +03:00
Alex Vanin 7ba5d50fd4 [#59] proxy: Check committee address in Verify function
For committee operations in side chain we can't use 5\7 multi
address, instead we should use 4\7 for this case.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-17 11:23:11 +03:00
Pavel Karpy 508369be75 [#25] Use go aliases
Change []byte type to interop.*aliasName*
types in contracts where it is suitable to
improve the readability of the contracts.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-03-05 17:13:49 +03:00
Alex Vanin 7fbf6d73b0 [#51] proxy: Add proxy contract
Proxy contract used by notary contract as a main tx
payment provider. `Verify` function verifies if
main tx contains multisig of 5\7 inner ring
nodes. If so, then contract pays for transaction.
This is easier than support multisig wallet with
GAS assets, because inner ring can change, therefore
multisig wallet can change periodically.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-03-04 11:26:14 +03:00
Alex Vanin 88c738b736 [#49] Support contract migration
At initialization contract saves master script hash
that allows to re-initialize or migrate contract.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-12 18:33:55 +03:00
Alex Vanin 9445c5c2fc [#47] Replace `GetHeight` with `CurrentIndex`
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 15:31:57 +03:00
Alex Vanin 27ca675869 [#47] Update contract.Call invocations
Now contract calls require call flags.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-02-11 15:31:57 +03:00
Leonard Lyubich 5d8c07b6e5 [#42] common: Replace IRNode type and InnerRingInvoker func to ir.go file
Remove empty invoke.go source file.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich 0541d83cf4 [#42] common: Replace InvokeID function to vote.go source file
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich a9e745db18 [#42] common: Replace Ballot struct's definition to vote.go src file
Remove empty ballot.go source file.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich 8ceba2a7c2 [#42] Share InnerRingList function between contracts
Define InnerRingList function that calls "innerRingList" method of
particular smart contract. Define InnerRingListViaStorage function
that reads address of smart contract from the storage by key, and
calls InnerRingList with the result. Reuse these functions in all
contracts.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich 68882b5b3c [#42] Share GetList function between contracts
Replace getList function to common package and export it. Reuse the function
in Container and Reputation contracts.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich 3395a886fc [#42] Share InnerRingInvoker function between contracts
Define IRNode structure in common package. Replace innerRingInvoker function
in common package and export it. Reuse this function in all contracts.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich dd0768aaeb [#42] Share InvokeID between contracts
Replace invokeID to common package and export it.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich c3efe152d6 [#42] Share Vote/RemoteVotes between contracts
Replace vote/remoteVotes functions from all contracts (except alphabet) to
common package. Additionally replace setSerialized and bytesEqual. Create
InitVote function and use it in NeoFS and Netmap contracts.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00
Leonard Lyubich f9f2a03078 [#42] Share ballot structure between contracts
Create common package. Define Ballot struct in common package. Use new type
in all contracts with ballots.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
2021-02-04 10:31:24 +03:00