OpenZeppelin / openzeppelin-sdk

OpenZeppelin SDK repository for CLI and upgrades.js. No longer actively developed.
MIT License
432 stars 200 forks source link

OpenZeppelin/Cli create() script doesn't support the NonProxy kind #1570

Closed maxweng closed 4 years ago

maxweng commented 4 years ago

With v2.8.2 comes with a new deploy command that supports 3 kinds of contracts, but for those in scripts, seems like the new deploy one is missing, and the create() script only supports Upgradable and Minimal.

Wondering what's the plan here to support the new NonProxy kind.

abcoathup commented 4 years ago

Hi @maxweng,

create has been deprecated and we should use deploy. create supported upgradeable and minimal contract deployments. deploy supports regular, upgradeable and minimal contract deployments.

When we run the create command it shows a message to use deploy

$ npx oz create
The create command is deprecated. Use deploy instead.

I am closing this issue, though please reopen if I am missing something.

maxweng commented 4 years ago

Hi @abcoathup, I know create is the new command, but here I am talking about in the scripts folder there is no create script. That's why I'd like to reopen this. @abcoathup Can you take another look? thanks!

frangio commented 4 years ago

@maxweng As mentioned in https://github.com/OpenZeppelin/openzeppelin-sdk/issues/1528, we're redesigning the JavaScript upgrades library. The work is almost done and will be released in a few weeks. The library is focused on upgrades, though, and thus non-proxy deployments are not offered. For non-proxy deployments the library integrates with Truffle or Buidler.

maxweng commented 4 years ago

@frangio Thanks for the updates!

One extra question is about the non-proxy deployment integration with truffle you mentioned. Because we are using OpenZeppelin/contracts-ethereum-package, rather than the standard OZ contract library. So I'm wondering if the contracts-ethereum-package still works with non-proxy deployments, or you suggesting that we need to use the standard library and use the regular truffle toolkit to deploy the non-proxy ones?

But if that's the case, what's the purpose of the regular type using oz create?

frangio commented 4 years ago

I don't think I fully understood your question. But you can use contracts-ethereum-package with non-proxy deployments, as long as the initializer is called. If you're interested in the new library I'd suggest waiting a little bit for the announcement and full details!

maxweng commented 4 years ago

Yea, I just wanted to make sure contracts-ethereum-package still works with non-proxy deployments.

And looking forward to the new library. Thanks for the great work!