3

If you look into every ABI file in the contract folder you will find:

{
  "version": "eosio::abi/1.0",
  "types": [{
    "new_type_name": "account_name",
    "type": "name"
  }],
  ...
}

when I am try to generate an ABI file using eosiocpp -g ... I receive:

{
  "____comment": "This file was generated by eosio-abigen. DO NOT EDIT - 2018-05-21T07:24:55",
  "version": "",
  "types": [{
     "new_type_name": "account_name",
     "type": "uint64"
  }],

It's very strange that account_name is treated as uint64 not name. Due to this problem, abi_serializer tries to parse the string to uint64 and throws an exception.

Did somebody notice it? I am running dawn-v4.1.0

2 Answers 2

1

This depends on which version of EOSIO you are using. If you are using v1.3 or higher, then you should change compilers to use eosio.cdt, not eosiocpp.

There are many differences between the two, including that an account name now has a dedicated class called name, whereas earlier versions just used a uint64_t. Other changes include removing the concept of a default asset type, which might also be confusing at first.

0

I think this is a version problem.

Some types have changed.

See Differences between Version 1.2.x and Version 1.3.x

Your Answer

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

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