0

I am uisng C# and eos-sharp to build a Wallet App for WAX Blockchain

When I Call Create Account Action on WAX Test New I receive this Exception :

code : 3050003

file: wasm_interface.cpp

line_number: 1131

message: assertion failure with message: comparison of assets with different symbols is not allowed

This is my code:

            var api = "https://testnet.wax.pink.gg";
            var chainId = "f16b1833c747c43682f4386fca9cbb327929334a762755ebec17f6f23c9b8a12";
            var privateKey = "XXX";
            var owner = "XXX";
            var permission = "private";
            var newAcc = "waxproto1112";
            var newAccOwnerPk = "EOS8YtPmxTYQJhUPEP59Y9GmuV2eicXiykYfy4rJjEcjZShtfXVqg";
            var newAccActivePk = "EOS64adYmQ6xGWJSW71ZgWS2Ez1cDWM2KVyRdrqKAddF8yHEtf7EY";
            var newAccRam = 2996;
            var newAccNet = "0.0100 WAX";
            var newAccCpu = "0.0100 WAX";

            var config = new EosConfigurator()
            {
                HttpEndpoint = api,
                ChainId = chainId,
                ExpireSeconds = 30,
                SignProvider = new DefaultSignProvider(privateKey)
            };
            var eos = new Eos(config);

            //Act
            var res = "";
            try
            {
                 res = eos.CreateTransaction(new Transaction()
                {
                    actions = new List<EosSharp.Core.Api.v1.Action>()
                {
                    new EosSharp.Core.Api.v1.Action()
                    {
                        account = "eosio",
                        authorization = new List<PermissionLevel>()
                        {
                            new PermissionLevel() {actor = owner, permission = permission}
                        },
                        name = "newaccount",
                        data = new Dictionary<string, object>() {
                            { "creator",owner },
                            { "name", newAcc },
                            { "owner", new Dictionary<string, object>() {
                                { "threshold", 1 },
                                { "keys", new List<object>() {
                                    new Dictionary<string, object>() {
                                        { "key", newAccOwnerPk },
                                        { "weight", 1}
                                    }
                                }},
                                { "accounts", new List<object>() },
                                { "waits", new List<object>() }
                            }},
                            { "active", new Dictionary<string, object>() {
                                { "threshold", 1 },
                                { "keys", new List<object>() {
                                    new Dictionary<string, object>() {
                                        { "key", newAccActivePk },
                                        { "weight", 1}
                                    }
                                }},
                                { "accounts",  new List<object>() },
                                { "waits", new List<object>() }
                            }}
                        }
                    },
                    new EosSharp.Core.Api.v1.Action()
                    {
                        account = "eosio",
                        authorization = new List<PermissionLevel>()
                        {
                            new PermissionLevel() { actor = owner, permission = permission}
                        },
                        name = "buyrambytes",
                        data = new Dictionary<string, object>() {
                            { "payer", owner },
                            { "receiver", newAcc },
                            { "bytes", newAccRam },
                        }
                    },
                    new EosSharp.Core.Api.v1.Action()
                    {
                        account = "eosio",
                        authorization = new List<PermissionLevel>()
                        {
                            new PermissionLevel() { actor = owner, permission = permission}
                        },
                        name = "delegatebw",
                        data = new Dictionary<string, object>() {
                            { "from", owner },
                            { "receiver", newAcc },
                            { "stake_net_quantity", newAccNet },
                            { "stake_cpu_quantity", newAccCpu },
                            { "transfer", false },
                        }
                    }
                }
                }).GetAwaiter().GetResult();

            }
            catch (ApiErrorException ex)
            {

                throw ex;
            }
            catch (Exception ex)
            {
                throw ex;
            }

Does anybody know why this error is happening although the blockchain symbol is matched with Net Stack and CPU Stack ??

Thank you

1 Answer 1

0

use 8 decimal places for the net and cpu

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.