Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

NeoToken: add NEP-27 to supported standards list starting from Echidna #3643

Merged
merged 1 commit into from
Dec 27, 2024

Conversation

AnnaShaleva
Copy link
Member

@AnnaShaleva AnnaShaleva commented Dec 23, 2024

Description

#3597 introduces onNEP17Payment handler to native NeoToken contract starting from Echidna hardfork. We need to update the list of supported standards respectively.

Type of change

  • Optimization (the change is only an optimization)
  • Style (the change is only a code style for better maintenance or standard purpose)
  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

  • TestGenesisNativeState unit-test.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works
  • New and existing unit tests pass locally with my changes
  • Any dependent changes have been merged and published in downstream modules

Copy link
Contributor

@roman-khimov roman-khimov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should be OK, technically it's correct to have NEP-27 in standards.

@AnnaShaleva
Copy link
Member Author

AnnaShaleva commented Dec 23, 2024

Tests are failing, but not due to this PR:

 expect: read eof
expect: set expect_out(spawn_id) "exp3"
expect: set expect_out(buffer) "System.ArgumentException: Invalid multisig parameters: m=0, publicKeys.Count=0\r\n   at Neo.SmartContract.Contract.CreateMultiSigRedeemScript(Int32 m, IReadOnlyCollection`1 publicKeys) in /home/runner/work/neo/neo/src/Neo/SmartContract/Contract.cs:line 106\r\n   at Neo.SmartContract.Contract.GetBFTAddress(IReadOnlyCollection`1 pubkeys) in /home/runner/work/neo/neo/src/Neo/SmartContract/Contract.cs:line 152\r\n   at Neo.NeoSystem.CreateGenesisBlock(ProtocolSettings settings) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 153\r\n   at Neo.NeoSystem..ctor(ProtocolSettings settings, IStoreProvider storageProvider, String storagePath) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 135\r\n   at Neo.NeoSystem..ctor(ProtocolSettings settings, String storageProvider, String storagePath) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 121\r\n   at Neo.CLI.MainService.Start(CommandLineOptions options) in /home/runner/work/neo/neo/src/Neo.CLI/CLI/MainService.cs:line 381\r\n   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)\r\n   at System.Threading.ThreadPoolWorkQueue.Dispatch()\r\n   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()\r\ncreate wallet ./bin/Neo.CLI/test-wallet1.json\r\n"
expect: spawn id exp3 not open
    while executing
"expect {
    "password:" { send "asd\n" }
    "error" { exit 2 }
    timeout { exit 1 }
}"

@Jim8y
Copy link
Contributor

Jim8y commented Dec 24, 2024

Tests are failing, but not due to this PR:

 expect: read eof
expect: set expect_out(spawn_id) "exp3"
expect: set expect_out(buffer) "System.ArgumentException: Invalid multisig parameters: m=0, publicKeys.Count=0\r\n   at Neo.SmartContract.Contract.CreateMultiSigRedeemScript(Int32 m, IReadOnlyCollection`1 publicKeys) in /home/runner/work/neo/neo/src/Neo/SmartContract/Contract.cs:line 106\r\n   at Neo.SmartContract.Contract.GetBFTAddress(IReadOnlyCollection`1 pubkeys) in /home/runner/work/neo/neo/src/Neo/SmartContract/Contract.cs:line 152\r\n   at Neo.NeoSystem.CreateGenesisBlock(ProtocolSettings settings) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 153\r\n   at Neo.NeoSystem..ctor(ProtocolSettings settings, IStoreProvider storageProvider, String storagePath) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 135\r\n   at Neo.NeoSystem..ctor(ProtocolSettings settings, String storageProvider, String storagePath) in /home/runner/work/neo/neo/src/Neo/NeoSystem.cs:line 121\r\n   at Neo.CLI.MainService.Start(CommandLineOptions options) in /home/runner/work/neo/neo/src/Neo.CLI/CLI/MainService.cs:line 381\r\n   at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_1(Object state)\r\n   at System.Threading.ThreadPoolWorkQueue.Dispatch()\r\n   at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()\r\ncreate wallet ./bin/Neo.CLI/test-wallet1.json\r\n"
expect: spawn id exp3 not open
    while executing
"expect {
    "password:" { send "asd\n" }
    "error" { exit 2 }
    timeout { exit 1 }
}"

Test fails only in the workflow, i could not reproduce it locally,,, thus i can not debug it.... @cschuchardt88 any idea how to fix?

#3597 introduces `onNEP17Payment`
handler to native NeoToke contract starting from Echidna hardfork. We
need to update the list of supported standards respectively.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
@shargon shargon merged commit 548bd05 into HF_Echidna Dec 27, 2024
6 of 7 checks passed
@shargon shargon deleted the nep27-neo branch December 27, 2024 09:05
@shargon
Copy link
Member

shargon commented Dec 27, 2024

UT problem could be fixed in a different PR

AnnaShaleva added a commit to nspcc-dev/neo-go that referenced this pull request Jan 20, 2025
Port neo-project/neo#3643.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
AnnaShaleva added a commit to nspcc-dev/neo-go that referenced this pull request Jan 21, 2025
Port neo-project/neo#3643.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
AnnaShaleva added a commit to nspcc-dev/neo-go that referenced this pull request Jan 21, 2025
Port neo-project/neo#3643.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
AnnaShaleva added a commit to nspcc-dev/neo-go that referenced this pull request Jan 21, 2025
Port neo-project/neo#3643.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
AnnaShaleva added a commit to nspcc-dev/neo-go that referenced this pull request Jan 21, 2025
Port neo-project/neo#3643.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
NGDAdmin pushed a commit that referenced this pull request Jan 23, 2025
* add hardofork HF_Echidna

* Add entries to `Designation` event (#3397)

* Add entries to Designation event

* Change to HF_Echidna

* Add UT

* Add count

* [Neo Core StdLib] Add Base64url (#3453)

* add base64url

* active in

* update placehold hf height

* fix hf issue and move methods to proper place.

* fix test

* use identifymodel instead.

* add hardofork HF_Echidna

* Add entries to `Designation` event (#3397)

* Add entries to Designation event

* Change to HF_Echidna

* Add UT

* Add count

* [Neo Core StdLib] Add Base64url (#3453)

* add base64url

* active in

* update placehold hf height

* fix hf issue and move methods to proper place.

* fix test

* use identifymodel instead.

* add hardofork HF_Echidna

* Add entries to `Designation` event (#3397)

* Add entries to Designation event

* Change to HF_Echidna

* Add UT

* Add count

* [Neo Core StdLib] Add Base64url (#3453)

* add base64url

* active in

* update placehold hf height

* fix hf issue and move methods to proper place.

* fix test

* use identifymodel instead.

* format

* Fixed typo

* Added back #3397

* Fixed tests

* fixed global.json

* Update src/Neo/Neo.csproj

* Update src/Neo/Neo.csproj

* [`Fix`]: integer overflow in `JumpTable.SubStr ` (#3496)

* fix: int overflow in SubStr

* fix: int overflow in SubStr

* format

* Versioning change

* Clean

* Rename

* Show change

* Space

* remove duplicated lines in gitignroe

---------

Co-authored-by: Jimmy <jinghui@wayne.edu>
Co-authored-by: Shargon <shargon@gmail.com>

* Fix NEO callstates (#3599)

* Allow callstates to use HF

* Rename to method

* Other rename

* Change the way

* Reduce changes

* Reduce changes

* Adapt name always

* Avoid string when only is lower the first char

* UT

* Test all

* Update src/Neo/ProtocolSettings.cs

Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>

* Update src/Neo/ProtocolSettings.cs

Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>

* Reuse Load from stream

* Unify

* Fix default logic

* Change ContractMethod to allowMultiple

* Use LowerInvariant

* Move CheckingHardfork

* Remove optional arg

* Fix build

* Avoid file not found error

---------

Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>

* fix tests error (#3636)

* fux build error

* Update src/Neo/SmartContract/ApplicationEngine.cs

---------

Co-authored-by: Shargon <shargon@gmail.com>

* NeoToken: accept candidate registration via onNEP17Payment (#3597)

Solves two problems:
 * inability to estimate GAS needed for registerCandidate in a regular way
   because of its very high fee (more than what normal RPC servers allow)
 * inability to have MaxBlockSystemFee lower than the registration price
   which is very high on its own (more than practically possible to execute)

Fixes #3552.

Signed-off-by: Roman Khimov <roman@nspcc.ru>

* specify the argument exception information.

* Fix Ut (#3635)

* NeoToken: add NEP-27 to supported standards list starting from Echidna (#3643)

#3597 introduces `onNEP17Payment`
handler to native NeoToke contract starting from Echidna hardfork. We
need to update the list of supported standards respectively.

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>

* ut: fix HF_Echidna unit tests (#3646)

* Fix UT

* Update src/Neo/ProtocolSettings.cs

Co-authored-by: nan01ab <yjcc201374@outlook.com>

* Update src/Neo/ProtocolSettings.cs

Co-authored-by: nan01ab <yjcc201374@outlook.com>

* Update src/Neo/ProtocolSettings.cs

Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>

---------

Co-authored-by: Jimmy <jinghui@wayne.edu>
Co-authored-by: nan01ab <yjcc201374@outlook.com>
Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>

* [Core Add] Add support to Ed25519 (#3507)

* fix unnecessary change

* Clean using

---------

Co-authored-by: Fernando Diaz Toledano <shargon@gmail.com>

* Fix `HF_Echidna` comments (#3679)

* Fix obsolete

* Fix https://github.com/neo-project/neo/pull/3454/files#r1912152270

* Fix comment

* Update RoleManagement.cs

* Unset HF_Echidna

* Revert getTransaction

* Revert verifyWithECDsa

* format

---------

Signed-off-by: Roman Khimov <roman@nspcc.ru>
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Co-authored-by: Shargon <shargon@gmail.com>
Co-authored-by: Christopher Schuchardt <cschuchardt88@gmail.com>
Co-authored-by: nan01ab <yjcc201374@outlook.com>
Co-authored-by: Roman Khimov <roman@nspcc.ru>
Co-authored-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Co-authored-by: Vitor Nazário Coelho <vncoelho@gmail.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants