bitfinexcom / smidgen

MIT License
43 stars 16 forks source link

Creating a multisig wallet: Cannot read property 'Symbol(Symbol.iterator)' of undefined #27

Closed BrianPugh closed 6 years ago

BrianPugh commented 6 years ago

I'm trying to create a multisig wallet with the following command: smidgen multisig create alice iota_multisig.txt After entering my seed, I am greeted with an error.

I have tried this on an Ubuntu 16.04 system: USERNAME@computer:~$ smidgen multisig create alice iota_multisig.txt Enter your seed: ERR! Cannot read property 'Symbol(Symbol.iterator)' of undefined ERR! TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined ERR! at createWallet (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/lib/cmds/multisig.js:632:68) ERR! at getKeyIndex (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/lib/cmds/multisig.js:562:21) ERR! at iota.api.getAccountData (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/lib/accounts.js:6:21) ERR! at /home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/iota.lib.js/lib/api/api.js:1688:27 ERR! at /home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/iota.lib.js/lib/api/api.js:815:24 ERR! at /home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/async/dist/async.js:906:16 ERR! at next (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/async/dist/async.js:2992:25) ERR! at /home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/iota.lib.js/lib/api/api.js:793:28 ERR! at makeRequest.prepareResult (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/iota.lib.js/lib/utils/makeRequest.js:189:12) ERR! at exports.XMLHttpRequest.request.onreadystatechange (/home/USERNAME/.nvm/versions/node/v9.0.0/lib/node_modules/smidgen/node_modules/iota.lib.js/lib/utils/makeRequest.js:61:25) ERR! ERR! ERR! smidgen: 1.1.0 node: v9.0.0 ERR! please open an issue including this log on https://github.com/bitfinexcom/smidgen/issues I have also tried this on a Windows 10 system: C:\Users\USERNAME\Desktop>smidgen multisig create alice iota_multisig.txt Enter your seed: ERR! Cannot read property 'Symbol(Symbol.iterator)' of undefined ERR! TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined ERR! at createWallet (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:632:68) ERR! at createWallet (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:559:21) ERR! at finalize (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:632:5) ERR! at getSeed (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:627:7) ERR! at read (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\get-seed.js:16:5) ERR! at Interface.onLine (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\read\lib\read.js:111:5) ERR! at emitOne (events.js:116:13) ERR! at Interface.emit (events.js:211:7) ERR! at Interface._onLine (readline.js:282:10) ERR! at Interface._line (readline.js:631:8) ERR! ERR! ERR! smidgen: 1.1.0 node: v8.9.0 ERR! please open an issue including this log on https://github.com/bitfinexcom/smidgen/issues

robertkowalski commented 6 years ago

thanks for the report. found the issue. will publish an update soon!

robertkowalski commented 6 years ago

fixed and published. thank you for your patience!

loraptor commented 6 years ago

Still getting this issue on a Windows 10 system, where was the update published to?


ERR! Cannot read property 'Symbol(Symbol.iterator)' of undefined
ERR! TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined
ERR!     at createWallet (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:635:68)
ERR!     at getKeyIndex (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\cmds\multisig.js:565:21)
ERR!     at iota.api.getAccountData (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\lib\accounts.js:6:21)
ERR!     at C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\iota.lib.js\lib\api\api.js:1701:31
ERR!     at C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\iota.lib.js\lib\api\api.js:1461:27
ERR!     at C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\iota.lib.js\lib\api\api.js:416:27
ERR!     at makeRequest.prepareResult (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\iota.lib.js\lib\utils\makeRequest.js:190:12)
ERR!     at exports.XMLHttpRequest.request.onreadystatechange (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\iota.lib.js\lib\utils\makeRequest.js:62:25)
ERR!     at exports.XMLHttpRequest.dispatchEvent (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\xmlhttprequest\lib\XMLHttpRequest.js:591:25)
ERR!     at setState (C:\Users\USERNAME\AppData\Roaming\npm\node_modules\smidgen\node_modules\xmlhttprequest\lib\XMLHttpRequest.js:610:14)
ERR!
ERR!
ERR! smidgen: 1.1.1 node: v8.9.2
ERR! please open an issue including this log on https://github.com/bitfinexcom/smidgen/issues```
robertkowalski commented 6 years ago

investigating...

robertkowalski commented 6 years ago

found the issue (thought before it was related due to an outdated iota.lib.js as the error disappeared with an updated version - coincidence.

seems today the light node returns a lot of:

Error: Invalid Response: I'm depressed, leave me be.

    at Object.invalidResponse (/Users/robert/bitfinex/smidgen/node_modules/iota.lib.js/lib/errors/requestErrors.js:5:12)
    at makeRequest.prepareResult (/Users/robert/bitfinex/smidgen/node_modules/iota.lib.js/lib/utils/makeRequest.js:160:24)
    at exports.XMLHttpRequest.request.onreadystatechange (/Users/robert/bitfinex/smidgen/node_modules/iota.lib.js/lib/utils/makeRequest.js:62:25)
    at exports.XMLHttpRequest.dispatchEvent (/Users/robert/bitfinex/smidgen/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:591:25)
    at setState (/Users/robert/bitfinex/smidgen/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:610:14)
    at IncomingMessage.<anonymous> (/Users/robert/bitfinex/smidgen/node_modules/xmlhttprequest/lib/XMLHttpRequest.js:447:13)
    at emitNone (events.js:110:20)
    at IncomingMessage.emit (events.js:207:7)
    at endReadableNT (_stream_readable.js:1057:12)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)

in those cases we have an error object and the data is undefined.

but in https://github.com/bitfinexcom/smidgen/blob/03369152581f73d9eafe1ce4a82435b47f2c4c54/lib/cmds/multisig.js#L635 we try to apply destructuring on it.

example what happens:

const test = undefined
const [ foo, bar ] = test

TypeError: test is not iterable
    at repl:1:24
    at ContextifyScript.Script.runInThisContext (vm.js:50:33)
    at REPLServer.defaultEval (repl.js:239:29)
    at bound (domain.js:301:14)
    at REPLServer.runBound [as eval] (domain.js:314:12)
    at REPLServer.onLine (repl.js:440:10)
    at emitOne (events.js:120:20)
    at REPLServer.emit (events.js:210:7)
    at REPLServer.Interface._onLine (readline.js:282:10)
    at REPLServer.Interface._line (readline.js:631:8)

fix is on its way!

robertkowalski commented 6 years ago

@loraptor for now, you can try to switch node with the --provider argument. the error happens when a node is too busy and returns an error.

i tried --provider=http://node01.iotatoken.nl:14265 and it worked for me

loraptor commented 6 years ago

Thanks @robertkowalski that worked!

Very much appreciate the quick response :)