wyvernprotocol / wyvern-v3

Wyvern Protocol v3.1, Ethereum implementation
https://wyvernprotocol.com
MIT License
299 stars 123 forks source link

Cannot Deploy to Rinkeby #44

Open SteversIO opened 3 years ago

SteversIO commented 3 years ago

I followed README.

  1. yarn install
  2. yarn run truffle deploy --network deployment
  3. Updated truffle.js with my mnemonic and infura URI.
  4. yarn run truffle deploy --network rinkeby

Fails on WyvernExchange contract with rinkeby-fork.

I'm having a heck of a time trying to debug this. I deleted node_modules and reinstalled via yarn. I verified my truffle versions are correct:

Truffle v5.2.3 (core: 5.2.3)
Solidity - 0.7.5 (solc-js)
Node v15.12.0
Web3.js v1.2.9

I'm lost and dont know where to get help from.

   > account:             0xd954F4513BdE1E00F3986630A7e73c4f9aA564fE
   > balance:             12.6811270689
   > gas used:            2147921 (0x20c651)
   > gas price:           21.11 gwei
   > value sent:          0 ETH
   > total cost:          0.04534261231 ETH

   Deploying 'WyvernExchange'
   --------------------------

Error:  *** Deployment Failed ***

"WyvernExchange" -- Cannot read property 'length' of undefined.

    at /Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (node:internal/process/task_queues:94:5)
    at Migration._deploy (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:68:1)
    at Migration._load (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:55:1)
    at Migration.run (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/Migration.js:171:1)
    at Object.runMigrations (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/index.js:150:1)
    at Object.runFrom (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/index.js:110:1)
    at Object.run (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/migrate/index.js:87:1)
    at runMigrations (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:269:1)
    at setupDryRunEnvironmentThenRunMigrations (/Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:257:1)
    at /Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/core/lib/commands/migrate.js:220:1
Truffle v5.1.55 (core: 5.1.55)
Node v15.12.0
cwgoes commented 3 years ago

Hmm, I do not think this relates to code in this repository. You could try upgrading the package dependencies.

SteversIO commented 3 years ago

Can you tell me what specific version of truffle and node you're using? It's explicitly calling out WyvernExchange.

   Deploying 'WyvernExchange'
   --------------------------

Error:  *** Deployment Failed ***

"WyvernExchange" -- Cannot read property 'length' of undefined.

    at /Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
    at process._tickCallback (internal/process/next_tick.js:68:7)
MarvinJanssen commented 3 years ago

Can you try with Node v10?

SteversIO commented 3 years ago

Same thing with that version too. I appreciate your help. Thank you.

Error: while migrating WyvernExchange: Cannot read property 'length' of undefined
    at /Users/stevers/Projects/Cryptocurrency/ethereum/wyvern-v3/node_modules/truffle/build/webpack:/packages/deployer/src/deployment.js:365:1
    at process._tickCallback (internal/process/next_tick.js:68:7)
Truffle v5.1.55 (core: 5.1.55)
Node v10.12.0

I'm trying to dig through the truffle webpack bundles to set some break points and determine what is going on.

What version of Node, Truffle and HDWallet are you using that successfully lets you deploy to Rinkeby? I also have Goerli setup to test and that fails too.

manosamy commented 3 years ago

i think truffle sends network name as rinkeby-fork, that breaks when looking up the chainid by network name in 3_wyvern_registry_and_exchange.js

const chainIds = { development: 50, coverage: 50, rinkeby: 4, mumbai: 80001, main: 1 }

return deployer.deploy(WyvernExchange, chainIds[network]...

Hope this helps.

idlatest commented 2 years ago

i think truffle sends network name as rinkeby-fork, that breaks when looking up the chainid by network name in 3_wyvern_registry_and_exchange.js

const chainIds = { development: 50, coverage: 50, rinkeby: 4, mumbai: 80001, main: 1 }

return deployer.deploy(WyvernExchange, chainIds[network]...

Hope this helps.

Thanks, @manosamy This fixed my issue.

smitea commented 2 years ago

i think truffle sends network name as rinkeby-fork, that breaks when looking up the chainid by network name in 3_wyvern_registry_and_exchange.js

const chainIds = { development: 50, coverage: 50, rinkeby: 4, mumbai: 80001, main: 1 }

return deployer.deploy(WyvernExchange, chainIds[network]...

Hope this helps.

So, I replace chainIds to this:

const chainIds = {
  development: 50,
  coverage: 50,
  rinkeby: 4,
  mumbai: 80001,
  "rinkeby-fork": 4,
  main: 1
}

It's can be deployed.