Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Sync neo-core #414

Merged
merged 47 commits into from
Jan 13, 2021
Merged

Sync neo-core #414

merged 47 commits into from
Jan 13, 2021

Conversation

Tommo-L
Copy link
Contributor

@Tommo-L Tommo-L commented Dec 24, 2020

Close #412

  • Remove System.Iterator.Concat, System.Enumerator.Concat and System.Callback.*
  • Add System.Storage.FindKeys and OracleResponseCode
  • Update CallFlags.cs, Contract.Call

vncoelho
vncoelho previously approved these changes Dec 24, 2020
@erikzhang
Copy link
Member

Maybe we should wait for neo-project/neo#2167?

@Tommo-L
Copy link
Contributor Author

Tommo-L commented Dec 29, 2020

We are updating the Contract.Call, need one or two more days.

@shargon
Copy link
Member

shargon commented Jan 7, 2021

@ShawnYun could you check why it's failing the Storage UT? Test_FindKeys

@cloud8little
Copy link
Contributor

@ShawnYun could you check why it's failing the Storage UT? Test_FindKeys

The neo-core is still 3.0.0-CI01130, FindKeys is out-of-date already.

@erikzhang
Copy link
Member

Wait for neo-project/neo#2211

@shargon
Copy link
Member

shargon commented Jan 12, 2021

Ready to review

@erikzhang
Copy link
Member

@neo-project/ngd-shanghai Test.

This was referenced Jan 12, 2021
@cloud8little
Copy link
Contributor

@neo-project/ngd-shanghai Test.

Under testing.

@cloud8little
Copy link
Contributor

cloud8little commented Jan 13, 2021

Deploy a contract like below, it seems when return value is void, it will throw exception.

Contract:

       public static string test2()
        {
            return "test2";
        }

        public static void _deploy(bool update)
        {
            Storage.Put(Storage.CurrentContext,"this","is");
        }

        public static void test3(int a)
        {
            a = a + 2;
        }

        public static int testInt(int a)
        {
            return 1;
        }

        public static void testvoidinputstring(string a)
        {
            a = a + "abc";
        }

6de75c5dd544f302d4e66bada3fdd25

65e92adb4bb79f77c63d3400302be5e

@shargon
Copy link
Member

shargon commented Jan 13, 2021

@cloud8little this doesn't happen before this PR? or happen without _deploy? Maybe it is related to neo-project/neo-modules#458 ?

@cloud8little
Copy link
Contributor

@cloud8little this doesn't happen before this PR? or happen without _deploy? Maybe it is related to neo-project/neo-modules#458 ?

at least we can deploy nep17 contract successfully which also have _deploy by default. I tried without _deploy in the contract. same error.

76ea79c6fb2ffa5adb196261a18d48d

@superboyiii
Copy link
Member

superboyiii commented Jan 13, 2021

The same from my side. _deploy works well, but void can't retrun without error.
image
image

@erikzhang
Copy link
Member

The compiler didn't emit the opcode INITSSLOT or INITSLOT.

@cloud8little
Copy link
Contributor

@shargon The reason is parameters can not be changed in the function. It is not the return void error. For experiment you can change the test contract a bit as following:

        public static void Testvoid(int a, int b)
        {
            a = a + 2;
        }

I guess it is a legacy issue. Let's discuss/fix in other PRs.

@shargon
Copy link
Member

shargon commented Jan 13, 2021

@cloud8little please open a new issue, we can fix it in other PR

@shargon shargon merged commit e52876e into neo-project:master Jan 13, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Remove System.Contract.Call
6 participants