-
Notifications
You must be signed in to change notification settings - Fork 31
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
error: Error: Unknown type: B_vector_int8_E #15
Comments
@NatPDeveloper can you supply a simpler example that replicates this issue that builds directly with cdt-cpp and does not require zeus sdk? |
I could but it would take a while to put together with the cleos commands and all the associated smart contract dependencies. I think zeus is the best option for the moment. Try it out and let me know if you have any issues. I would recommend using:
|
@NatPDeveloper I tried to follow your steps to reproduce the problem but failed with
|
Hm that's odd. What OS/version of nodejs is this? That step is just installing the current packages. You could try |
I am on Ubuntu 20.04.
Not familiar with Javascript side. Did you mean |
I see. I would suggest nodejs version 16. You can install this with nvm (node version manager).
You will also need make and cmake if not installed
|
I tried several rounds but still failed. I installed node v16.17.0, removed ipfs-dapp-service, rerun zeus unbox ipfs-dapp-service, modified several files to change ${EOSIO_CDT_ROOT}/lib/cmake/eosio.cdt/EosioWasmToolchain.cmake to ${EOSIO_CDT_ROOT}/lib/cmake/cdt/CDTWasmToolchain.cmake. Run zeus compile; it failed. Manually run cmake, it failed too. The fastest way is for you to provide us a smart contract to reproduce the problem.
Manually,
|
Cool. So this is how you need to do it. Namely you need to change the following in the main cmake and the cmake in each folder.
To
In each contract folder ./contracts/eos/contract/CMakeFile.txt (each folder in here has its own cmake). Don't worry about the prefix folders, you're going to delete those. This change also needs to be performed in the general cmake file ./contracts/eos/CMakeFile.txt. Also for the general cmake file you need to update
To
For each contract. Then since you compiled you'll also need to clear the temp files with a script you can find here. Then you will be able to compile with |
Alternatively you can use this contract folder which can be dropped in place of the current contracts folder and is ready to compile then test. |
I used your tar ball with only change of setting |
I think we need a simplified contract to debug this. It is hard for us to go into the details of your system and figure out how all things are connected. Thanks. |
That's great! This has worked on every CDT until 3.0.0-rc1. On rc1 I had the following issue.
From the vRAM contract: From vRAM shardbuckets abi:
Bucky replied
|
The type just needs to be |
You can use this abi and it will work. Was generated with an older cdt. Also here's a diff check. https://www.diffchecker.com/VFI7wcMk
|
Also |
Thanks for extra information. I tracked the problem to the new nested container feature. After I disabled it, all tests passed. I am going to work out a fix:
|
If you can build CDT yourself, you can try branch |
I am getting the following error:
Maybe something related to how I updated my fork. I set the upstream then checked out the branch
And I see the function you added. I built with
|
It must be something to do how the repo is forked and cdt is built. Was you able to build and run before? If so, can you just manually take the changes in |
I just pulled the current cdt repo and the branch and built, same error.
I've only successfully built for Ubuntu 22. This is Ubuntu 18, so perhaps there's an issue with that version. |
Our of curiosity I tried installing an Ubuntu 22 version ( |
Works on my Ubuntu 22 setup, closing. Thank you for embracing nodejs. |
Description:
When running an action with the types seen below I get the following error
Error: Unknown type: B_vector_int8_E
. I'm also seeing a change in the ABI format which I've included below.Example:
Before
After
Expected Behavior:
Trx should execute as it did previously. Perhaps the ABI type should also not be changed.
Steps to reproduce:
Install zeus and unbox
ipfs-dapp-service
box.The text was updated successfully, but these errors were encountered: