diff --git a/README.md b/README.md index e8e4c06..444c0de 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ Please read our [Whitepaper](http://whitepaper.uport.me) for information on what |IdentityFactoryWithRecoveryKey|[0xb7d66b18fbe8eb655ce7daa5d616d908c25c32a7](https://ropsten.etherscan.io/address/0xb7d66b18fbe8eb655ce7daa5d616d908c25c32a7)| |IdentityManager|(not deployed)| + ### Rinkeby testnet (id: 4) |Contract|Address| | --|--| @@ -25,6 +26,9 @@ Please read our [Whitepaper](http://whitepaper.uport.me) for information on what |IdentityFactory|[0x6a841ba0ea1a88cfbc085220fc6b65973afca431](https://rinkeby.etherscan.io/address/0x6a841ba0ea1a88cfbc085220fc6b65973afca431)| |IdentityFactoryWithRecoveryKey|[0xd7dc3926bc6089a5be4815215ceaa6e707591023](https://rinkeby.etherscan.io/address/0xd7dc3926bc6089a5be4815215ceaa6e707591023)| |IdentityManager|[0x02147e6dc09eb90ed508d99274aaafa9c4ab0d72](https://rinkeby.etherscan.io/address/0x02147e6dc09eb90ed508d99274aaafa9c4ab0d72)| +|TxRelay|[0x476debfb878d266d9e3182d7bb304301a8748aad](https://rinkeby.etherscan.io/address/0x476debfb878d266d9e3182d7bb304301a8748aad)| +|MetaIdentityManager|[0x7281f645c89f5153cf7a1eea8f97678994506e17](https://rinkeby.etherscan.io/address/0x7281f645c89f5153cf7a1eea8f97678994506e17)| + ### Kovan testnet (id: 42) |Contract|Address| @@ -33,6 +37,9 @@ Please read our [Whitepaper](http://whitepaper.uport.me) for information on what |IdentityFactory|[0xd7dc3926bc6089a5be4815215ceaa6e707591023](https://kovan.etherscan.io/address/0xd7dc3926bc6089a5be4815215ceaa6e707591023)| |IdentityFactoryWithRecoveryKey|[0xdc420f5d89ef5c729c63cf05b0ceda364d5a8b1d](https://kovan.etherscan.io/address/0xdc420f5d89ef5c729c63cf05b0ceda364d5a8b1d)| |IdentityManager|[0xfccae2f34600e3d34155815ed21818feb69a31c7](https://kovan.etherscan.io/address/0xfccae2f34600e3d34155815ed21818feb69a31c7)| +|TxRelay|[0x899d47b36d94bc36050e9fdddb7d210a62c8656c](https://kovan.etherscan.io/address/0x899d47b36d94bc36050e9fdddb7d210a62c8656c)| +|MetaIdentityManager|[0x3ca9a9aeccda9b2ed803cee7bc24d4962ea29f25](https://kovan.etherscan.io/address/0x3ca9a9aeccda9b2ed803cee7bc24d4962ea29f25)| + ## Using the contracts diff --git a/build/contracts/ArrayLib.json b/build/contracts/ArrayLib.json index 98b4be0..0dc372f 100644 --- a/build/contracts/ArrayLib.json +++ b/build/contracts/ArrayLib.json @@ -41,7 +41,7 @@ "type": "function" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b5b6102048061001c6000396000f300606060405263ffffffff60e060020a600035041663c6f31521811461002c578063f14717c71461003c575bfe5b61003a600435602435610065565b005b610053600160a060020a036004351660243561011b565b60408051918252519081900360200190f35b805460001981019082908290811061007957fe5b906000526020600020900160005b9054906101000a9004600160a060020a031682848154811015156100a757fe5b906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a0316021790555081818154811015156100e557fe5b906000526020600020900160005b6101000a815490600160a060020a030219169055808281610114919061018d565b505b505050565b6000805b82548110156101805783600160a060020a0316838281548110151561014057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316141561017757809150610186565b5b60010161011f565b60001991505b5092915050565b815481835581811511610116576000838152602090206101169181019083016101b7565b5b505050565b6101d591905b808211156101d157600081556001016101bd565b5090565b905600a165627a7a723058200b64891ae791ce3a3396f24738820c06a1a3813439c92adac1c82b4a595006be0029", + "unlinked_binary": "0x6060604052341561000c57fe5b5b6102048061001c6000396000f300606060405263ffffffff60e060020a600035041663c6f31521811461002c578063f14717c71461003c575bfe5b61003a600435602435610065565b005b610053600160a060020a036004351660243561011b565b60408051918252519081900360200190f35b805460001981019082908290811061007957fe5b906000526020600020900160005b9054906101000a9004600160a060020a031682848154811015156100a757fe5b906000526020600020900160005b6101000a815481600160a060020a030219169083600160a060020a0316021790555081818154811015156100e557fe5b906000526020600020900160005b6101000a815490600160a060020a030219169055808281610114919061018d565b505b505050565b6000805b82548110156101805783600160a060020a0316838281548110151561014057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316141561017757809150610186565b5b60010161011f565b60001991505b5092915050565b815481835581811511610116576000838152602090206101169181019083016101b7565b5b505050565b6101d591905b808211156101d157600081556001016101bd565b5090565b905600a165627a7a723058208fa3601359f254b0a043b9ef2647ddd60fb12c1fbb08c60a34372ef7521ad2970029", "networks": { "1": { "events": {}, @@ -81,5 +81,5 @@ } }, "schema_version": "0.0.5", - "updated_at": 1501018354944 + "updated_at": 1501602616858 } \ No newline at end of file diff --git a/build/contracts/IdentityFactory.json b/build/contracts/IdentityFactory.json index 56ccdd1..da1cd46 100644 --- a/build/contracts/IdentityFactory.json +++ b/build/contracts/IdentityFactory.json @@ -72,7 +72,7 @@ "type": "event" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b5b6121328061001c6000396000f300606060405263ffffffff60e060020a60003504166394d9cf8f811461002c578063e90bcb321461008f575bfe5b341561003457fe5b60408051602480356004818101356020818102868101820190975281865261008d96600160a060020a0384351696939560449501929182919085019084908082843750949650508435946020013593506100c792505050565b005b341561009757fe5b6100ab600160a060020a036004351661030f565b60408051600160a060020a039092168252519081900360200190f35b6000600060006100d561032a565b60405190819003906000f08015156100e957fe5b9250828786866100f761033a565b600160a060020a0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080151561013457fe5b915082600160a060020a0316631a695230836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561018d57fe5b6102c65a03f1151561019b57fe5b50505081866101a861034a565b600160a060020a03831681526040602080830182815284519284019290925283516060840191858101910280838382156101fd575b8051825260208311156101fd57601f1990920191602091820191016101dd565b5050509050019350505050604051809103906000f080151561021b57fe5b905081600160a060020a031663a08df770826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561027457fe5b6102c65a03f1151561028257fe5b505060408051600160a060020a0386811682528581166020830152848116828401529151918a1692507fc36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61919081900360600190a233600160a060020a0390811660009081526020819052604090208054600160a060020a0319169185169190911790555b50505050505050565b600060208190529081526040902054600160a060020a031681565b6040516103aa8061035b83390190565b604051610a108061070583390190565b604051610ff28061111583390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820ca77db164cb42fb4ce8586518bf81d71b872c749fbfd5ff27428a2dd5d9d3e4000296060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820a81009b6aa0b3fbb63bd31229a9202774f699115eca20952dc8a12fb866b5ec800296060604052341561000c57fe5b604051610ff2380380610ff283398101604052805160208201519091015b60008054600160a060020a031916600160a060020a0384161781555b815181101561015557600f811061005c57610155565b6001805480820161006d838261015e565b916000526020600020900160005b848481518110151561008957fe5b90602001906020020151909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050606060405190810160405280651cae8c13e0008152602001600081526020016000600160a060020a03168152506002600084848151811015156100f957fe5b602090810291909101810151600160a060020a0390811683528282019390935260409182016000208451815590840151600182015592015160029092018054600160a060020a031916929091169190911790555b600101610046565b5b5050506101a9565b81548183558181151161018257600083815260209020610182918101908301610188565b5b505050565b6101a691905b808211156101a2576000815560010161018e565b5090565b90565b610e3a806101b86000396000f3006060604052361561007d5763ffffffff60e060020a60003504166323d44dee811461007f578063245d1314146100ad5780633f31281a146100cb578063587cde1e146100e957806364bc82c31461012c578063943e170d1461015b578063a39fac121461017d578063e71e592b146101e8578063f77c479114610275575bfe5b341561008757fe5b61009b600160a060020a03600435166102a1565b60408051918252519081900360200190f35b34156100b557fe5b6100c9600160a060020a036004351661039b565b005b34156100d357fe5b6100c9600160a060020a036004351661047a565b005b34156100f157fe5b610105600160a060020a0360043516610607565b604080519384526020840192909252600160a060020a031682820152519081900360600190f35b341561013457fe5b61013f600435610630565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61009b610662565b60408051918252519081900360200190f35b341561018557fe5b61018d610708565b60408051602080825283518183015283519192839290830191858101910280838382156101d5575b8051825260208311156101d557601f1990920191602091820191016101b5565b5050509050019250505060405180910390f35b34156101f057fe5b6100c9600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061077195505050505050565b005b341561027d57fe5b61013f6108c1565b60408051600160a060020a039092168252519081900360200190f35b6000805b60015481101561039457610321600260006001848154811015156102c557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208083019390935260409182016000208251606081018452815481526001820154948101949094526002015416908201526108d0565b801561037f575082600160a060020a03166002600060018481548110151561034557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208201929092526040016000206002015416145b1561038b576001909101905b5b6001016102a5565b5b50919050565b600160a060020a0333811660009081526002602081815260409283902083516060810185528154815260018201549281019290925290910154909216908201526103e4906108fb565b156104765733600160a060020a039081166000908152600260208190526040909120018054600160a060020a0319169183169190911790556104258161047a565b60408051600160a060020a0333166020820152818152600e81830152609060020a6d7369676e557365724368616e67650260608201529051600080516020610def8339815191529181900360800190a15b5b50565b6000610484610662565b61048d836102a1565b1061060157600080546040805160e060020a63c998e9dd028152600160a060020a0386811660048301529151919092169263c998e9dd926024808201939182900301818387803b15156104dc57fe5b6102c65a03f115156104ea57fe5b505050600090505b60015481101561060157426002600060018481548110151561051057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000206001015411156105a257426002600060018481548110151561056e57fe5b906000526020600020900160005b9054600160a060020a036101009290920a90041681526020810191909152604001600020555b600260006001838154811015156105b557fe5b906000526020600020900160005b9054600160a060020a036101009290920a900416815260208101919091526040016000206002018054600160a060020a03191690555b6001016104f2565b5b5b5050565b6002602081905260009182526040909120805460018201549190920154600160a060020a031683565b600180548290811061063e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600080805b6001548110156106f8576106e36002600060018481548110151561068757fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610905565b156106ef576001909101905b5b600101610667565b6002825b0460010192505b505090565b610710610d91565b600180548060200260200160405190810160405280929190818152602001828054801561076657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610748575b505050505090505b90565b60008054604080516020908101849052815160e060020a631c1c228902815291518493600160a060020a031692631c1c228992600480830193919282900301818787803b15156107bd57fe5b6102c65a03f115156107cb57fe5b50505060405180519050600160a060020a031633600160a060020a031614156108b957600091505b83518210156108285761081c848381518110151561080d57fe5b90602001906020020151610939565b5b6001909101906107f3565b610830610aa8565b5060005b82518110156108665761085d838281518110151561084e57fe5b90602001906020020151610c0a565b5b600101610834565b60408051600160a060020a0333166020820152818152601081830152608060020a6f7265706c61636544656c6567617465730260608201529051600080516020610def8339815191529181900360800190a15b5b5b50505050565b600054600160a060020a031681565b60006108db82610905565b80156108f357506040820151600160a060020a031615155b90505b919050565b805115155b919050565b6000610910826108fb565b8015610922575061092082610d85565b155b80156108f35750816020015142115b90505b919050565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561099557fe5b6102c65a03f115156109a357fe5b50506040805151600160a060020a038516600090815260026020529190912054920190911115905061047657600160a060020a03811660009081526002602052604090206001015442901115610a1357600160a060020a0381166000908152600260205260409020429055610476565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a6f57fe5b6102c65a03f11515610a7d57fe5b50506040805151600160a060020a03851660009081526002602052919091209201909155505b5b5b50565b60005b60015481101561047657610b2760026000600184815481101515610acb57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610d85565b15610bfd5760026000600183815481101515610b3f57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004168152602081019190915260409081016000908120818155600180820183905560029091018054600160a060020a0319169055825160e060020a63c6f31521028152600481018590526024810191909152915173__ArrayLib______________________________9263c6f31521926044808301939192829003018186803b1515610be757fe5b6102c65a03f41515610bf557fe5b505050610c01565b6001015b610aab565b5b50565b600160a060020a038082166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015490921690820152610c53906108fb565b158015610c635750600154600f90105b1561047657606060405190810160405280651cae8c13e0008152602001600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610cdb57fe5b6102c65a03f11515610ce957fe5b505060408051514201835260006020938401819052600160a060020a0386811682526002808652918390208651815594860151600180870191909155959092015193018054600160a060020a0319169390911692909217909155508054808201610d538382610da3565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b8051429011155b919050565b60408051602081019091526000815290565b815481835581811511610dc757600083815260209020610dc7918101908301610dcd565b5b505050565b61076e91905b80821115610de75760008155600101610dd3565b5090565b905600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820dfa12fd9651621ae899e8f641d3a3b4582ea5b1452966136acdf51fe53b9531f0029a165627a7a7230582075c13a565d5e2dd64e072124feaaa09365462af998b41039f466878d2d73909d0029", + "unlinked_binary": "0x6060604052341561000c57fe5b5b6121328061001c6000396000f300606060405263ffffffff60e060020a60003504166394d9cf8f811461002c578063e90bcb321461008f575bfe5b341561003457fe5b60408051602480356004818101356020818102868101820190975281865261008d96600160a060020a0384351696939560449501929182919085019084908082843750949650508435946020013593506100c792505050565b005b341561009757fe5b6100ab600160a060020a036004351661030f565b60408051600160a060020a039092168252519081900360200190f35b6000600060006100d561032a565b60405190819003906000f08015156100e957fe5b9250828786866100f761033a565b600160a060020a0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080151561013457fe5b915082600160a060020a0316631a695230836040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561018d57fe5b6102c65a03f1151561019b57fe5b50505081866101a861034a565b600160a060020a03831681526040602080830182815284519284019290925283516060840191858101910280838382156101fd575b8051825260208311156101fd57601f1990920191602091820191016101dd565b5050509050019350505050604051809103906000f080151561021b57fe5b905081600160a060020a031663a08df770826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561027457fe5b6102c65a03f1151561028257fe5b505060408051600160a060020a0386811682528581166020830152848116828401529151918a1692507fc36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61919081900360600190a233600160a060020a0390811660009081526020819052604090208054600160a060020a0319169185169190911790555b50505050505050565b600060208190529081526040902054600160a060020a031681565b6040516103aa8061035b83390190565b604051610a108061070583390190565b604051610ff28061111583390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a7230582013b871307f03d057038264027612e8439ad105bfc31987b670b09529db514a5a00296060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820f418c821bf3f0162b3d4dc406035d1c002e677fe960cbe958ab4535ff471792e00296060604052341561000c57fe5b604051610ff2380380610ff283398101604052805160208201519091015b60008054600160a060020a031916600160a060020a0384161781555b815181101561015557600f811061005c57610155565b6001805480820161006d838261015e565b916000526020600020900160005b848481518110151561008957fe5b90602001906020020151909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050606060405190810160405280651cae8c13e0008152602001600081526020016000600160a060020a03168152506002600084848151811015156100f957fe5b602090810291909101810151600160a060020a0390811683528282019390935260409182016000208451815590840151600182015592015160029092018054600160a060020a031916929091169190911790555b600101610046565b5b5050506101a9565b81548183558181151161018257600083815260209020610182918101908301610188565b5b505050565b6101a691905b808211156101a2576000815560010161018e565b5090565b90565b610e3a806101b86000396000f3006060604052361561007d5763ffffffff60e060020a60003504166323d44dee811461007f578063245d1314146100ad5780633f31281a146100cb578063587cde1e146100e957806364bc82c31461012c578063943e170d1461015b578063a39fac121461017d578063e71e592b146101e8578063f77c479114610275575bfe5b341561008757fe5b61009b600160a060020a03600435166102a1565b60408051918252519081900360200190f35b34156100b557fe5b6100c9600160a060020a036004351661039b565b005b34156100d357fe5b6100c9600160a060020a036004351661047a565b005b34156100f157fe5b610105600160a060020a0360043516610607565b604080519384526020840192909252600160a060020a031682820152519081900360600190f35b341561013457fe5b61013f600435610630565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61009b610662565b60408051918252519081900360200190f35b341561018557fe5b61018d610708565b60408051602080825283518183015283519192839290830191858101910280838382156101d5575b8051825260208311156101d557601f1990920191602091820191016101b5565b5050509050019250505060405180910390f35b34156101f057fe5b6100c9600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061077195505050505050565b005b341561027d57fe5b61013f6108c1565b60408051600160a060020a039092168252519081900360200190f35b6000805b60015481101561039457610321600260006001848154811015156102c557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208083019390935260409182016000208251606081018452815481526001820154948101949094526002015416908201526108d0565b801561037f575082600160a060020a03166002600060018481548110151561034557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208201929092526040016000206002015416145b1561038b576001909101905b5b6001016102a5565b5b50919050565b600160a060020a0333811660009081526002602081815260409283902083516060810185528154815260018201549281019290925290910154909216908201526103e4906108fb565b156104765733600160a060020a039081166000908152600260208190526040909120018054600160a060020a0319169183169190911790556104258161047a565b60408051600160a060020a0333166020820152818152600e81830152609060020a6d7369676e557365724368616e67650260608201529051600080516020610def8339815191529181900360800190a15b5b50565b6000610484610662565b61048d836102a1565b1061060157600080546040805160e060020a63c998e9dd028152600160a060020a0386811660048301529151919092169263c998e9dd926024808201939182900301818387803b15156104dc57fe5b6102c65a03f115156104ea57fe5b505050600090505b60015481101561060157426002600060018481548110151561051057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000206001015411156105a257426002600060018481548110151561056e57fe5b906000526020600020900160005b9054600160a060020a036101009290920a90041681526020810191909152604001600020555b600260006001838154811015156105b557fe5b906000526020600020900160005b9054600160a060020a036101009290920a900416815260208101919091526040016000206002018054600160a060020a03191690555b6001016104f2565b5b5b5050565b6002602081905260009182526040909120805460018201549190920154600160a060020a031683565b600180548290811061063e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600080805b6001548110156106f8576106e36002600060018481548110151561068757fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610905565b156106ef576001909101905b5b600101610667565b6002825b0460010192505b505090565b610710610d91565b600180548060200260200160405190810160405280929190818152602001828054801561076657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610748575b505050505090505b90565b60008054604080516020908101849052815160e060020a631c1c228902815291518493600160a060020a031692631c1c228992600480830193919282900301818787803b15156107bd57fe5b6102c65a03f115156107cb57fe5b50505060405180519050600160a060020a031633600160a060020a031614156108b957600091505b83518210156108285761081c848381518110151561080d57fe5b90602001906020020151610939565b5b6001909101906107f3565b610830610aa8565b5060005b82518110156108665761085d838281518110151561084e57fe5b90602001906020020151610c0a565b5b600101610834565b60408051600160a060020a0333166020820152818152601081830152608060020a6f7265706c61636544656c6567617465730260608201529051600080516020610def8339815191529181900360800190a15b5b5b50505050565b600054600160a060020a031681565b60006108db82610905565b80156108f357506040820151600160a060020a031615155b90505b919050565b805115155b919050565b6000610910826108fb565b8015610922575061092082610d85565b155b80156108f35750816020015142115b90505b919050565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561099557fe5b6102c65a03f115156109a357fe5b50506040805151600160a060020a038516600090815260026020529190912054920190911115905061047657600160a060020a03811660009081526002602052604090206001015442901115610a1357600160a060020a0381166000908152600260205260409020429055610476565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a6f57fe5b6102c65a03f11515610a7d57fe5b50506040805151600160a060020a03851660009081526002602052919091209201909155505b5b5b50565b60005b60015481101561047657610b2760026000600184815481101515610acb57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610d85565b15610bfd5760026000600183815481101515610b3f57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004168152602081019190915260409081016000908120818155600180820183905560029091018054600160a060020a0319169055825160e060020a63c6f31521028152600481018590526024810191909152915173__ArrayLib______________________________9263c6f31521926044808301939192829003018186803b1515610be757fe5b6102c65a03f41515610bf557fe5b505050610c01565b6001015b610aab565b5b50565b600160a060020a038082166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015490921690820152610c53906108fb565b158015610c635750600154600f90105b1561047657606060405190810160405280651cae8c13e0008152602001600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610cdb57fe5b6102c65a03f11515610ce957fe5b505060408051514201835260006020938401819052600160a060020a0386811682526002808652918390208651815594860151600180870191909155959092015193018054600160a060020a0319169390911692909217909155508054808201610d538382610da3565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b8051429011155b919050565b60408051602081019091526000815290565b815481835581811511610dc757600083815260209020610dc7918101908301610dcd565b5b505050565b61076e91905b80821115610de75760008155600101610dd3565b5090565b905600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a7230582022f8409508ff414cdc858dc1267d2557b2d472d589d590828a0633a002b67cec0029a165627a7a72305820561131e5a111477a1dccd94f25f6625002fee7a3e52d56a66aebf492674a2e2c0029", "networks": { "1": { "events": { @@ -256,5 +256,5 @@ } }, "schema_version": "0.0.5", - "updated_at": 1501018354938 + "updated_at": 1501602616857 } \ No newline at end of file diff --git a/build/contracts/IdentityFactoryWithRecoveryKey.json b/build/contracts/IdentityFactoryWithRecoveryKey.json index 98788ae..bc60f35 100644 --- a/build/contracts/IdentityFactoryWithRecoveryKey.json +++ b/build/contracts/IdentityFactoryWithRecoveryKey.json @@ -90,7 +90,7 @@ "type": "event" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b5b6110e38061001c6000396000f300606060405263ffffffff60e060020a6000350416634a3a87e281146100375780636738bd4e14610061578063e90bcb3214610099575bfe5b341561003f57fe5b61005f600160a060020a03600435811690602435166044356064356100d1565b005b341561006957fe5b61007d600160a060020a03600435166102a7565b60408051600160a060020a039092168252519081900360200190f35b34156100a157fe5b61007d600160a060020a03600435166102c2565b60408051600160a060020a039092168252519081900360200190f35b600060006100dd6102dd565b60405190819003906000f08015156100f157fe5b9150818685856100ff6102ed565b600160a060020a0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080151561013c57fe5b905081600160a060020a0316631a695230826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561019557fe5b6102c65a03f115156101a357fe5b50505080600160a060020a031663a08df770866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15156101fd57fe5b6102c65a03f1151561020b57fe5b505060408051600160a060020a03858116825284811660208301528251818a169450908a16927fc36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61928290030190a3600160a060020a033381166000908152602081815260408083208054858816600160a060020a03199182168117909255948a168452600190925290912080549092161790555b505050505050565b600160205260009081526040902054600160a060020a031681565b600060208190529081526040902054600160a060020a031681565b6040516103aa806102fe83390190565b604051610a10806106a883390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820ca77db164cb42fb4ce8586518bf81d71b872c749fbfd5ff27428a2dd5d9d3e4000296060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820a81009b6aa0b3fbb63bd31229a9202774f699115eca20952dc8a12fb866b5ec80029a165627a7a723058208e4bce70402c83406d14cf779900a3826d01776af622f9c38a47d90ddc53a2f80029", + "unlinked_binary": "0x6060604052341561000c57fe5b5b6110e38061001c6000396000f300606060405263ffffffff60e060020a6000350416634a3a87e281146100375780636738bd4e14610061578063e90bcb3214610099575bfe5b341561003f57fe5b61005f600160a060020a03600435811690602435166044356064356100d1565b005b341561006957fe5b61007d600160a060020a03600435166102a7565b60408051600160a060020a039092168252519081900360200190f35b34156100a157fe5b61007d600160a060020a03600435166102c2565b60408051600160a060020a039092168252519081900360200190f35b600060006100dd6102dd565b60405190819003906000f08015156100f157fe5b9150818685856100ff6102ed565b600160a060020a0394851681529290931660208301526040808301919091526060820192909252905190819003608001906000f080151561013c57fe5b905081600160a060020a0316631a695230826040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b151561019557fe5b6102c65a03f115156101a357fe5b50505080600160a060020a031663a08df770866040518263ffffffff1660e060020a0281526004018082600160a060020a0316600160a060020a03168152602001915050600060405180830381600087803b15156101fd57fe5b6102c65a03f1151561020b57fe5b505060408051600160a060020a03858116825284811660208301528251818a169450908a16927fc36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61928290030190a3600160a060020a033381166000908152602081815260408083208054858816600160a060020a03199182168117909255948a168452600190925290912080549092161790555b505050505050565b600160205260009081526040902054600160a060020a031681565b600060208190529081526040902054600160a060020a031681565b6040516103aa806102fe83390190565b604051610a10806106a883390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a7230582013b871307f03d057038264027612e8439ad105bfc31987b670b09529db514a5a00296060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820f418c821bf3f0162b3d4dc406035d1c002e677fe960cbe958ab4535ff471792e0029a165627a7a72305820166072bc58eb3e306e393f9c656aa73b1683e323fe80742e14f94e8149cff4580029", "networks": { "3": { "events": { @@ -196,5 +196,5 @@ } }, "schema_version": "0.0.5", - "updated_at": 1501018354938 + "updated_at": 1501602616857 } \ No newline at end of file diff --git a/build/contracts/IdentityManager.json b/build/contracts/IdentityManager.json index 10d7f88..95fd596 100644 --- a/build/contracts/IdentityManager.json +++ b/build/contracts/IdentityManager.json @@ -393,11 +393,17 @@ "type": "event" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b6040516060806112fd8339810160409081528151602083015191909201515b6000829055600183905560028190555b5050505b6112af8061004e6000396000f3006060604052361561009e5763ffffffff60e060020a60003504166311fe12b381146100a057806316d390bf146100d65780633dcf59ca146100fa5780635143eea21461011e57806353faa9a914610142578063633b1954146101665780636f022ac41461018457806373b40a5c146101a2578063781f5a831461020f5780637ddc02d414610233578063d10e73ab14610269578063fbe5ce0a1461028d575bfe5b34156100a857fe5b6100c2600160a060020a03600435811690602435166102b1565b604080519115158252519081900360200190f35b34156100de57fe5b6100f8600160a060020a03600435811690602435166102d8565b005b341561010257fe5b6100f8600160a060020a0360043581169060243516610403565b005b341561012657fe5b6100f8600160a060020a036004358116906024351661050e565b005b341561014a57fe5b6100f8600160a060020a0360043581169060243516610617565b005b341561016e57fe5b6100f8600160a060020a036004351661077c565b005b341561018c57fe5b6100f8600160a060020a0360043516610911565b005b34156101aa57fe5b604080516020600460643581810135601f81018490048402850184019095528484526100f8948235600160a060020a03908116956024803590921695604435959460849492930191908190840183828082843750949650610a0295505050505050565b005b341561021757fe5b6100f8600160a060020a0360043581169060243516610b66565b005b341561023b57fe5b6100c2600160a060020a0360043581169060243516610c29565b604080519115158252519081900360200190f35b341561027157fe5b6100f8600160a060020a0360043581169060243516610c93565b005b341561029557fe5b6100f8600160a060020a0360043581169060243516610d52565b005b600160a060020a038281166000908152600460205260409020548116908216145b92915050565b600160a060020a0380831660009081526003602090815260408083203390941683529290529081205483919011801561033c575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a03808216600090815260056020908152604080832033851680855290835281842042908190556001548a871680875260038652848720978b16808852978652958490209103905581519081529051600080516020611244833981519152929181900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a03808316600090815260036020908152604080832033909416835292905290812054839190118015610467575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea5781600160a060020a038116156103ea57600160a060020a03848116600081815260066020908152604080832042905560078252918290208054600160a060020a0319168886169081179091558251339095168552915191937fcfc00227bf2b3a4415906c30423e1d01d99604f93a0d756dc25fbf69cf233e20929081900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a038281166000908152600460205260409020548391338116911614156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203390941683529290522042905561059d8484610c29565b156105a85760006000fd5b600160a060020a038085166000818152600360209081526040808320888616808552908352928190204290558051339095168552519193600080516020611244833981519152929081900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a0380831660009081526003602090815260408083203390941683529290529081205483919011801561067b575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203385168452909152902042905583908116156103ea57600160a060020a038581166000818152600460209081526040918290208054600160a060020a0319168986169081179091558251339095168552915191937fa9bb12bc681659b583320c1fa0fbf4d8c1dfb4fcd51566c8f6edf9438a8b8ece929081900390910190a35b61075c565b60006000fd5b5b506103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a03808216600090815260036020908152604080832033909416835292905290812054829082901180156107e1575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600160a060020a038316600090815260066020526040812054118015610827575060008054600160a060020a03851682526006602052604090912054429101105b156108ff57600160a060020a038084166000818152600760208181526040808420805460068452828620869055939092528154600160a060020a031916909155805160e460020a6301a69523028152919094166004820181905293519395509192631a69523092602480820193929182900301818387803b15156108a757fe5b6102c65a03f115156108b557fe5b50506040805133600160a060020a03908116825291518286169350918616917f5d50e5b65a3141f147362981bdcac9e274984e1c2efec57320f86b3e071dd6f89181900360200190a35b5b6103fd565b60006000fd5b5b505050565b600160a060020a03808216600090815260036020908152604080832033909416835292905290812054829082901180156109765750600154600160a060020a038083166000908152600360209081526040808320339094168352929052205442910111155b156103ea57600160a060020a038084166000818152600760208181526040808420805460068452828620959095559282528254600160a060020a03191690925581513386168152915192909416955085937f788f980ac1598bf6282c4cc596fedd7807726e6e8e51f1505a1b6df5d726f56792918290030190a35b6103fd565b60006000fd5b5b505050565b600160a060020a03808516600090815260036020908152604080832033909416835292905290812054859190118015610a665750600154600160a060020a038083166000908152600360209081526040808320339094168352929052205442910111155b156103ea5784600160a060020a031663d7f31eb98585856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360008314610af8575b805182526020831115610af857601f199092019160209182019101610ad8565b505050905090810190601f168015610b245780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610b4157fe5b6102c65a03f11515610b4f57fe5b5050505b610b5e565b60006000fd5b5b5050505050565b80600160a060020a038116156103ea57600160a060020a033381166000908152600460205260408120549091161115610b9f5760006000fd5b60008054600160a060020a03338116808452600360209081526040808620898516808852908352818720429690960390955582865260048252948590208054938816600160a060020a03199094168417905584519384529351919390928392600080516020611264833981519152929181900390910190a45b6103fd565b60006000fd5b5b505050565b600160a060020a0380831660009081526003602090815260408083209385168352929052908120548190118015610c8a5750600154600160a060020a0380851660009081526003602090815260408083209387168352929052205442910111155b90505b92915050565b600081600160a060020a038116156103ea57610cad610e89565b60405190819003906000f0801515610cc157fe5b60008054600160a060020a038381168084526003602090815260408086208b8516808852908352818720429690960390955582865260048252948590208054600160a060020a0319168a851690811790915585519485529451959750939433909216939092600080516020611264833981519152929081900390910190a45b610d4b565b60006000fd5b5b50505050565b600160a060020a03808316600090815260036020908152604080832033909416835292905290812054839190118015610db6575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203385168085529083528184204290558885168085526003845282852095891680865295845282852094909455815190815290517fc5d55f5b9504a5698fdae1a66c6327ad53ed43440071e233dc0caad0ca8406d4929181900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b6040516103aa80610e9a83390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820ca77db164cb42fb4ce8586518bf81d71b872c749fbfd5ff27428a2dd5d9d3e4000293047230d3e8ea09f306e55725064a524f79ccdf75f030deeb6db4f95518b6386c36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61a165627a7a7230582086b3f1cbf42e88e6f61912f55cf7a08e47d2e63498e9ac499095a8a9afb030340029", + "unlinked_binary": "0x6060604052341561000c57fe5b6040516060806112fd8339810160409081528151602083015191909201515b6000829055600183905560028190555b5050505b6112af8061004e6000396000f3006060604052361561009e5763ffffffff60e060020a60003504166311fe12b381146100a057806316d390bf146100d65780633dcf59ca146100fa5780635143eea21461011e57806353faa9a914610142578063633b1954146101665780636f022ac41461018457806373b40a5c146101a2578063781f5a831461020f5780637ddc02d414610233578063d10e73ab14610269578063fbe5ce0a1461028d575bfe5b34156100a857fe5b6100c2600160a060020a03600435811690602435166102b1565b604080519115158252519081900360200190f35b34156100de57fe5b6100f8600160a060020a03600435811690602435166102d8565b005b341561010257fe5b6100f8600160a060020a0360043581169060243516610403565b005b341561012657fe5b6100f8600160a060020a036004358116906024351661050e565b005b341561014a57fe5b6100f8600160a060020a0360043581169060243516610617565b005b341561016e57fe5b6100f8600160a060020a036004351661077c565b005b341561018c57fe5b6100f8600160a060020a0360043516610911565b005b34156101aa57fe5b604080516020600460643581810135601f81018490048402850184019095528484526100f8948235600160a060020a03908116956024803590921695604435959460849492930191908190840183828082843750949650610a0295505050505050565b005b341561021757fe5b6100f8600160a060020a0360043581169060243516610b66565b005b341561023b57fe5b6100c2600160a060020a0360043581169060243516610c29565b604080519115158252519081900360200190f35b341561027157fe5b6100f8600160a060020a0360043581169060243516610c93565b005b341561029557fe5b6100f8600160a060020a0360043581169060243516610d52565b005b600160a060020a038281166000908152600460205260409020548116908216145b92915050565b600160a060020a0380831660009081526003602090815260408083203390941683529290529081205483919011801561033c575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a03808216600090815260056020908152604080832033851680855290835281842042908190556001548a871680875260038652848720978b16808852978652958490209103905581519081529051600080516020611244833981519152929181900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a03808316600090815260036020908152604080832033909416835292905290812054839190118015610467575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea5781600160a060020a038116156103ea57600160a060020a03848116600081815260066020908152604080832042905560078252918290208054600160a060020a0319168886169081179091558251339095168552915191937fcfc00227bf2b3a4415906c30423e1d01d99604f93a0d756dc25fbf69cf233e20929081900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a038281166000908152600460205260409020548391338116911614156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203390941683529290522042905561059d8484610c29565b156105a85760006000fd5b600160a060020a038085166000818152600360209081526040808320888616808552908352928190204290558051339095168552519193600080516020611244833981519152929081900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a0380831660009081526003602090815260408083203390941683529290529081205483919011801561067b575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203385168452909152902042905583908116156103ea57600160a060020a038581166000818152600460209081526040918290208054600160a060020a0319168986169081179091558251339095168552915191937fa9bb12bc681659b583320c1fa0fbf4d8c1dfb4fcd51566c8f6edf9438a8b8ece929081900390910190a35b61075c565b60006000fd5b5b506103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b600160a060020a03808216600090815260036020908152604080832033909416835292905290812054829082901180156107e1575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600160a060020a038316600090815260066020526040812054118015610827575060008054600160a060020a03851682526006602052604090912054429101105b156108ff57600160a060020a038084166000818152600760208181526040808420805460068452828620869055939092528154600160a060020a031916909155805160e460020a6301a69523028152919094166004820181905293519395509192631a69523092602480820193929182900301818387803b15156108a757fe5b6102c65a03f115156108b557fe5b50506040805133600160a060020a03908116825291518286169350918616917f5d50e5b65a3141f147362981bdcac9e274984e1c2efec57320f86b3e071dd6f89181900360200190a35b5b6103fd565b60006000fd5b5b505050565b600160a060020a03808216600090815260036020908152604080832033909416835292905290812054829082901180156109765750600154600160a060020a038083166000908152600360209081526040808320339094168352929052205442910111155b156103ea57600160a060020a038084166000818152600760208181526040808420805460068452828620959095559282528254600160a060020a03191690925581513386168152915192909416955085937f788f980ac1598bf6282c4cc596fedd7807726e6e8e51f1505a1b6df5d726f56792918290030190a35b6103fd565b60006000fd5b5b505050565b600160a060020a03808516600090815260036020908152604080832033909416835292905290812054859190118015610a665750600154600160a060020a038083166000908152600360209081526040808320339094168352929052205442910111155b156103ea5784600160a060020a031663d7f31eb98585856040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183815260200180602001828103825283818151815260200191508051906020019080838360008314610af8575b805182526020831115610af857601f199092019160209182019101610ad8565b505050905090810190601f168015610b245780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b1515610b4157fe5b6102c65a03f11515610b4f57fe5b5050505b610b5e565b60006000fd5b5b5050505050565b80600160a060020a038116156103ea57600160a060020a033381166000908152600460205260408120549091161115610b9f5760006000fd5b60008054600160a060020a03338116808452600360209081526040808620898516808852908352818720429690960390955582865260048252948590208054938816600160a060020a03199094168417905584519384529351919390928392600080516020611264833981519152929181900390910190a45b6103fd565b60006000fd5b5b505050565b600160a060020a0380831660009081526003602090815260408083209385168352929052908120548190118015610c8a5750600154600160a060020a0380851660009081526003602090815260408083209387168352929052205442910111155b90505b92915050565b600081600160a060020a038116156103ea57610cad610e89565b60405190819003906000f0801515610cc157fe5b60008054600160a060020a038381168084526003602090815260408086208b8516808852908352818720429690960390955582865260048252948590208054600160a060020a0319168a851690811790915585519485529451959750939433909216939092600080516020611264833981519152929081900390910190a45b610d4b565b60006000fd5b5b50505050565b600160a060020a03808316600090815260036020908152604080832033909416835292905290812054839190118015610db6575060008054600160a060020a0380841683526003602090815260408085203390931685529190529091205442910111155b156103ea57600254600160a060020a0380851660009081526005602090815260408083203390941683529290522054849142039010156103ea57600160a060020a0380821660009081526005602090815260408083203385168085529083528184204290558885168085526003845282852095891680865295845282852094909455815190815290517fc5d55f5b9504a5698fdae1a66c6327ad53ed43440071e233dc0caad0ca8406d4929181900390910190a35b6103f0565b60006000fd5b5b506103fd565b60006000fd5b5b505050565b6040516103aa80610e9a83390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a7230582013b871307f03d057038264027612e8439ad105bfc31987b670b09529db514a5a00293047230d3e8ea09f306e55725064a524f79ccdf75f030deeb6db4f95518b6386c36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61a165627a7a72305820db8abfbdab4efb61caf8190fab0302bac22de8ef067eca145092294c8444c2b80029", "networks": { - "4": {"address": "0x02147e6dc09eb90ed508d99274aaafa9c4ab0d72"}, - "42": {"address": "0xfccae2f34600e3d34155815ed21818feb69a31c7"} - }, + "4": { + "address": "0x02147e6dc09eb90ed508d99274aaafa9c4ab0d72", + "links": {} + }, + "42": { + "address": "0xfccae2f34600e3d34155815ed21818feb69a31c7", + "links": {} + } + }, "schema_version": "0.0.5", - "updated_at": 1501018354936 -} + "updated_at": 1501602616857 +} \ No newline at end of file diff --git a/build/contracts/MetaIdentityManager.json b/build/contracts/MetaIdentityManager.json new file mode 100644 index 0000000..47cd6b8 --- /dev/null +++ b/build/contracts/MetaIdentityManager.json @@ -0,0 +1,445 @@ +{ + "contract_name": "MetaIdentityManager", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "identity", + "type": "address" + }, + { + "name": "recoveryKey", + "type": "address" + } + ], + "name": "isRecovery", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "owner", + "type": "address" + } + ], + "name": "removeOwner", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "newIdManager", + "type": "address" + } + ], + "name": "initiateMigration", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "recoveryKey", + "type": "address" + } + ], + "name": "changeRecovery", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "destination", + "type": "address" + }, + { + "name": "value", + "type": "uint256" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "forwardTo", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "newOwner", + "type": "address" + } + ], + "name": "addOwnerFromRecovery", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "recoveryKey", + "type": "address" + } + ], + "name": "registerIdentity", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "identity", + "type": "address" + }, + { + "name": "owner", + "type": "address" + } + ], + "name": "isOwner", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + } + ], + "name": "cancelMigration", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + }, + { + "name": "newOwner", + "type": "address" + } + ], + "name": "addOwner", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "identity", + "type": "address" + } + ], + "name": "finalizeMigration", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "owner", + "type": "address" + }, + { + "name": "recoveryKey", + "type": "address" + } + ], + "name": "createIdentity", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "inputs": [ + { + "name": "_userTimeLock", + "type": "uint256" + }, + { + "name": "_adminTimeLock", + "type": "uint256" + }, + { + "name": "_adminRate", + "type": "uint256" + }, + { + "name": "_relayAddress", + "type": "address" + } + ], + "payable": false, + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "creator", + "type": "address" + }, + { + "indexed": false, + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "name": "recoveryKey", + "type": "address" + } + ], + "name": "IdentityCreated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "OwnerAdded", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "owner", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "OwnerRemoved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "recoveryKey", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "RecoveryChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "newIdManager", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "MigrationInitiated", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "newIdManager", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "MigrationCanceled", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "identity", + "type": "address" + }, + { + "indexed": true, + "name": "newIdManager", + "type": "address" + }, + { + "indexed": false, + "name": "instigator", + "type": "address" + } + ], + "name": "MigrationFinalized", + "type": "event" + } + ], + "unlinked_binary": "0x6060604052341561000c57fe5b60405160808061147b83398101604090815281516020830151918301516060909301519092905b60008390556001849055600282905560038054600160a060020a031916600160a060020a0383161790555b505050505b611409806100726000396000f3006060604052361561009e5763ffffffff60e060020a60003504166311fe12b381146100a05780631a45fac7146100d65780631e2629e1146101005780633061e0ef1461012a578063701b882614610154578063754fd352146101c4578063781f5a83146101ee5780637ddc02d414610212578063a596703914610248578063a949c6371461026c578063c7576ed414610296578063d10e73ab146102ba575bfe5b34156100a857fe5b6100c2600160a060020a03600435811690602435166102de565b604080519115158252519081900360200190f35b34156100de57fe5b6100fe600160a060020a0360043581169060243581169060443516610305565b005b341561010857fe5b6100fe600160a060020a0360043581169060243581169060443516610479565b005b341561013257fe5b6100fe600160a060020a036004358116906024358116906044351661059a565b005b341561015c57fe5b604080516020601f6084356004818101359283018490048402850184019095528184526100fe94600160a060020a03813581169560248035831696604435909316956064359560a494920191819084018382808284375094965061073795505050505050565b005b34156101cc57fe5b6100fe600160a060020a0360043581169060243581169060443516610878565b005b34156101f657fe5b6100fe600160a060020a03600435811690602435166109cb565b005b341561021a57fe5b6100c2600160a060020a0360043581169060243516610a8e565b604080519115158252519081900360200190f35b341561025057fe5b6100fe600160a060020a0360043581169060243516610af8565b005b341561027457fe5b6100fe600160a060020a0360043581169060243581169060443516610bc8565b005b341561029e57fe5b6100fe600160a060020a0360043581169060243516610d32565b005b34156102c257fe5b6100fe600160a060020a0360043581169060243516610efc565b005b600160a060020a038281166000908152600560205260409020548116908216145b92915050565b60035433600160a060020a0390811691161480610326575061032633610fbb565b5b1561045157600160a060020a0380831660009081526004602090815260408083209387168352929052908120548391859111801561038f575060008054600160a060020a03808516835260046020908152604080852092861685529190529091205442910111155b1561045157600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390101561045157600160a060020a03808316600090815260066020908152604080832085851684528252808320429055898416808452600483528184208a8616808652908452828520949094558151948c1685529051929390927fc5d55f5b9504a5698fdae1a66c6327ad53ed43440071e233dc0caad0ca8406d4929181900390910190a35b610457565b60006000fd5b5b5050610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b60035433600160a060020a039081169116148061049a575061049a33610fbb565b5b1561045157600160a060020a03808316600090815260046020908152604080832093871683529290529081205483918591118015610503575060008054600160a060020a03808516835260046020908152604080852092861685529190529091205442910111155b1561045157600160a060020a03848116600081815260076020908152604080832042905560088252918290208054600160a060020a0319168886169081179091558251948a168552915191937fcfc00227bf2b3a4415906c30423e1d01d99604f93a0d756dc25fbf69cf233e20929081900390910190a35b610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b60035433600160a060020a03908116911614806105bb57506105bb33610fbb565b5b1561045157600160a060020a03808316600090815260046020908152604080832093871683529290529081205483918591118015610624575060008054600160a060020a03808516835260046020908152604080852092861685529190529091205442910111155b1561045157600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390101561045157600160a060020a03808316600090815260066020908152604080832085851684529091529020429055859081161561045157600160a060020a038781166000818152600560209081526040918290208054600160a060020a0319168b86169081179091558251948d168552915191937fa9bb12bc681659b583320c1fa0fbf4d8c1dfb4fcd51566c8f6edf9438a8b8ece929081900390910190a35b610708565b60006000fd5b5b50610457565b60006000fd5b5b5050610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b60035433600160a060020a0390811691161480610758575061075833610fbb565b5b1561045157838561076a8282610a8e565b156104515785600160a060020a031663d7f31eb98686866040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a03168152602001838152602001806020018281038252838181518152602001915080519060200190808383600083146107fc575b8051825260208311156107fc57601f1990920191602091820191016107dc565b505050905090810190601f1680156108285780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561084557fe5b6102c65a03f1151561085357fe5b5050505b610862565b60006000fd5b5b5050610870565b60006000fd5b5b5050505050565b60035433600160a060020a0390811691161480610899575061089933610fbb565b5b1561045157600160a060020a03808316600090815260056020526040902054839185918116908216141561045157600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390101561045157600160a060020a03808316600090815260066020908152604080832085851684528252808320429055898416835260048252808320938916835292905290812054111561094e5760006000fd5b600160a060020a0380871660008181526004602090815260408083208a8616808552908352928190204290558051948c16855251919360008051602061139e833981519152929081900390910190a35b610457565b60006000fd5b5b5050610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b80600160a060020a0381161561045157600160a060020a033381166000908152600560205260408120549091161115610a045760006000fd5b60008054600160a060020a03338116808452600460209081526040808620898516808852908352818720429690960390955582865260058252948590208054938816600160a060020a031990941684179055845193845293519193909283926000805160206113be833981519152929181900390910190a45b610473565b60006000fd5b5b505050565b600160a060020a0380831660009081526004602090815260408083209385168352929052908120548190118015610aef5750600154600160a060020a0380851660009081526004602090815260408083209387168352929052205442910111155b90505b92915050565b60035460009033600160a060020a0390811691161480610b1c5750610b1c33610fbb565b5b15610451578183610b2e8282610a8e565b1561045157600160a060020a038085166000818152600860208181526040808420805460078452828620959095559282528254600160a060020a03191690925581518a86168152915192909416965086937f788f980ac1598bf6282c4cc596fedd7807726e6e8e51f1505a1b6df5d726f56792918290030190a35b610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b60035433600160a060020a0390811691161480610be95750610be933610fbb565b5b1561045157600160a060020a03808316600090815260046020908152604080832093871683529290529081205483918591118015610c52575060008054600160a060020a03808516835260046020908152604080852092861685529190529091205442910111155b1561045157600254600160a060020a038086166000908152600660209081526040808320938a168352929052205485918791429190910390101561045157600160a060020a0380831660009081526006602090815260408083208585168452825280832042908190556001548b8616808652600485528386208c8816808852908652958490209190920390558151948c16855290519293909260008051602061139e833981519152929181900390910190a35b610457565b60006000fd5b5b5050610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b60035460009033600160a060020a0390811691161480610d565750610d5633610fbb565b5b1561045157600160a060020a03808316600090815260046020908152604080832093871683529290529081205483918591118015610dbf575060008054600160a060020a03808516835260046020908152604080852092861685529190529091205442910111155b1561045157600160a060020a038416600090815260076020526040812054118015610e05575060008054600160a060020a03861682526007602052604090912054429101105b1561057b57600160a060020a038085166000818152600860208181526040808420805460078452828620869055939092528154600160a060020a031916909155805160e460020a6301a69523028152919094166004820181905293519396509192631a69523092602480820193929182900301818387803b1515610e8557fe5b6102c65a03f11515610e9357fe5b505060408051600160a060020a03888116825291518287169350918716917f5d50e5b65a3141f147362981bdcac9e274984e1c2efec57320f86b3e071dd6f89181900360200190a35b5b610465565b60006000fd5b5b5050610473565b60006000fd5b5b505050565b600081600160a060020a0381161561045157610f16610fe3565b60405190819003906000f0801515610f2a57fe5b60008054600160a060020a038381168084526004602090815260408086208b8516808852908352818720429690960390955582865260058252948590208054600160a060020a0319168a8516908117909155855194855294519597509394339092169390926000805160206113be833981519152929081900390910190a45b610fb4565b60006000fd5b5b50505050565b60006024361015610fce57506000610fde565b50600435600160a060020a031681145b919050565b6040516103aa80610ff483390190560060606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820f4abfb62682d5ec835046ead7fbe01a92a2a8ea6ca0403b1a029c6c9a4c8362100293047230d3e8ea09f306e55725064a524f79ccdf75f030deeb6db4f95518b6386c36800ebd6079fdafc3a7100d0d1172815751804a6d1b7eb365b85f6c9c80e61a165627a7a72305820c52e8b8f7fa639f29165f44788e2bf9d58bdf19b3429c9754d592698274047e90029", + "networks": { + "4": { + "address": "0x7281f645c89f5153cf7a1eea8f97678994506e17", + "links": {} + }, + "42": { + "address": "0x3ca9a9aeccda9b2ed803cee7bc24d4962ea29f25", + "links": {} + } + }, + "schema_version": "0.0.5", + "updated_at": 1501624729818 +} diff --git a/build/contracts/MetaTestRegistry.json b/build/contracts/MetaTestRegistry.json new file mode 100644 index 0000000..80bf18e --- /dev/null +++ b/build/contracts/MetaTestRegistry.json @@ -0,0 +1,82 @@ +{ + "contract_name": "MetaTestRegistry", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "with", + "type": "uint256" + }, + { + "name": "many", + "type": "address" + }, + { + "name": "strange", + "type": "string" + }, + { + "name": "params", + "type": "uint256" + } + ], + "name": "reallyLongFunctionName", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + } + ], + "name": "testThrow", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sender", + "type": "address" + }, + { + "name": "x", + "type": "uint256" + } + ], + "name": "register", + "outputs": [], + "payable": false, + "type": "function" + } + ], + "unlinked_binary": "0x6060604052341561000c57fe5b5b61019f8061001c6000396000f300606060405263ffffffff60e060020a600035041663038defd781146100425780630da9a424146100705780634a99e570146100d75780636d705ebb146100f5575bfe5b341561004a57fe5b61005e600160a060020a0360043516610116565b60408051918252519081900360200190f35b341561007857fe5b604080516020600460443581810135601f81018490048402850184019095528484526100d59482359460248035600160a060020a031695606494929391909201918190840183828082843750949650509335935061012892505050565b005b34156100df57fe5b6100d5600160a060020a036004351661014a565b005b34156100fd57fe5b6100d5600160a060020a0360043516602435610153565b005b60006020819052908152604090205481565b600160a060020a03831660009081526020819052604090208190555b50505050565b60006000fd5b50565b600160a060020a03821660009081526020819052604090208190555b50505600a165627a7a72305820972b8b9ac5450fc835da2ef21f99ffc3dead2e60c2fb35b4cc298432017e80800029", + "networks": {}, + "schema_version": "0.0.5", + "updated_at": 1501602616858 +} \ No newline at end of file diff --git a/build/contracts/Migrations.json b/build/contracts/Migrations.json index 6996334..e4eef68 100644 --- a/build/contracts/Migrations.json +++ b/build/contracts/Migrations.json @@ -59,7 +59,7 @@ "type": "constructor" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b6101a0806100396000396000f300606060405263ffffffff60e060020a6000350416630900f0108114610042578063445df0ac146100605780638da5cb5b14610082578063fdacd576146100ae575bfe5b341561004a57fe5b61005e600160a060020a03600435166100c3565b005b341561006857fe5b61007061013d565b60408051918252519081900360200190f35b341561008a57fe5b610092610143565b60408051600160a060020a039092168252519081900360200190f35b34156100b657fe5b61005e600435610152565b005b6000805433600160a060020a03908116911614156101375781905080600160a060020a031663fdacd5766001546040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561012557fe5b6102c65a03f1151561013357fe5b5050505b5b5b5050565b60015481565b600054600160a060020a031681565b60005433600160a060020a039081169116141561016f5760018190555b5b5b505600a165627a7a7230582068f1bd96305e730df67b68bcdbf9ad7af8c727b5eceeed862435e9dae52224310029", + "unlinked_binary": "0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b6101a0806100396000396000f300606060405263ffffffff60e060020a6000350416630900f0108114610042578063445df0ac146100605780638da5cb5b14610082578063fdacd576146100ae575bfe5b341561004a57fe5b61005e600160a060020a03600435166100c3565b005b341561006857fe5b61007061013d565b60408051918252519081900360200190f35b341561008a57fe5b610092610143565b60408051600160a060020a039092168252519081900360200190f35b34156100b657fe5b61005e600435610152565b005b6000805433600160a060020a03908116911614156101375781905080600160a060020a031663fdacd5766001546040518263ffffffff1660e060020a02815260040180828152602001915050600060405180830381600087803b151561012557fe5b6102c65a03f1151561013357fe5b5050505b5b5b5050565b60015481565b600054600160a060020a031681565b60005433600160a060020a039081169116141561016f5760018190555b5b5b505600a165627a7a72305820c573cd883aa1164edbe9ed36e9c71267236bdf50c4b0d071c64e12093b5d84e70029", "networks": { "1": { "events": {}, @@ -87,5 +87,5 @@ } }, "schema_version": "0.0.5", - "updated_at": 1501018354949 + "updated_at": 1501602616858 } \ No newline at end of file diff --git a/build/contracts/Owned.json b/build/contracts/Owned.json index 91a8ab3..7bd66a7 100644 --- a/build/contracts/Owned.json +++ b/build/contracts/Owned.json @@ -51,8 +51,8 @@ "type": "constructor" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b610154806100396000396000f300606060405263ffffffff60e060020a6000350416631a69523081146100375780632f54bf6e146100555780638da5cb5b14610085575bfe5b341561003f57fe5b610053600160a060020a03600435166100b1565b005b341561005d57fe5b610071600160a060020a0360043516610102565b604080519115158252519081900360200190f35b341561008d57fe5b610095610119565b60408051600160a060020a039092168252519081900360200190f35b6100ba33610102565b15156100c65760006000fd5b30600160a060020a031681600160a060020a03161415156100fd5760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a0316815600a165627a7a72305820a8fc1eefebfea868e29e25f2eb96e2f403f76db90c45523bbc6c20aa130a9ea90029", + "unlinked_binary": "0x6060604052341561000c57fe5b5b60008054600160a060020a03191633600160a060020a03161790555b5b610154806100396000396000f300606060405263ffffffff60e060020a6000350416631a69523081146100375780632f54bf6e146100555780638da5cb5b14610085575bfe5b341561003f57fe5b610053600160a060020a03600435166100b1565b005b341561005d57fe5b610071600160a060020a0360043516610102565b604080519115158252519081900360200190f35b341561008d57fe5b610095610119565b60408051600160a060020a039092168252519081900360200190f35b6100ba33610102565b15156100c65760006000fd5b30600160a060020a031681600160a060020a03161415156100fd5760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a0316815600a165627a7a723058205a0722006dff6bc51e93308ea00e3bd4f3a4d1d37a82244cd24fe3d4a1dc55340029", "networks": {}, "schema_version": "0.0.5", - "updated_at": 1501018354949 + "updated_at": 1501602616858 } \ No newline at end of file diff --git a/build/contracts/Proxy.json b/build/contracts/Proxy.json index a1f9890..190104a 100644 --- a/build/contracts/Proxy.json +++ b/build/contracts/Proxy.json @@ -110,8 +110,8 @@ "type": "event" } ], - "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a72305820ca77db164cb42fb4ce8586518bf81d71b872c749fbfd5ff27428a2dd5d9d3e400029", + "unlinked_binary": "0x60606040525b60008054600160a060020a03191633600160a060020a03161790555b5b610379806100316000396000f300606060405236156100465763ffffffff60e060020a6000350416631a695230811461008e5780632f54bf6e146100ac5780638da5cb5b146100dc578063d7f31eb914610108575b61008c5b604080513481529051600160a060020a033316917f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874919081900360200190a25b565b005b341561009657fe5b61008c600160a060020a036004351661016d565b005b34156100b457fe5b6100c8600160a060020a03600435166101be565b604080519115158252519081900360200190f35b34156100e457fe5b6100ec6101d5565b60408051600160a060020a039092168252519081900360200190f35b341561011057fe5b604080516020600460443581810135601f810184900484028501840190955284845261008c948235600160a060020a03169460248035956064949293919092019181908401838280828437509496506101e495505050505050565b005b610176336101be565b15156101825760006000fd5b30600160a060020a031681600160a060020a03161415156101b95760008054600160a060020a031916600160a060020a0383161790555b5b5b50565b600054600160a060020a038281169116145b919050565b600054600160a060020a031681565b6101ed336101be565b15156101f95760006000fd5b82600160a060020a031682826040518082805190602001908083836000831461023d575b80518252602083111561023d57601f19909201916020918201910161021d565b505050905090810190601f1680156102695780820380516001836020036101000a031916815260200191505b5091505060006040518083038185876187965a03f192505050151561028e5760006000fd5b82600160a060020a03167fc1de93dfa06362c6a616cde73ec17d116c0d588dd1df70f27f91b500de207c418383604051808381526020018060200182810382528381815181526020019150805190602001908083836000831461030c575b80518252602083111561030c57601f1990920191602091820191016102ec565b505050905090810190601f1680156103385780820380516001836020036101000a031916815260200191505b50935050505060405180910390a25b5b5050505600a165627a7a7230582013b871307f03d057038264027612e8439ad105bfc31987b670b09529db514a5a0029", "networks": {}, "schema_version": "0.0.5", - "updated_at": 1501018354939 + "updated_at": 1501602616857 } \ No newline at end of file diff --git a/build/contracts/RecoverableController.json b/build/contracts/RecoverableController.json index 7ee24e9..7460c3c 100644 --- a/build/contracts/RecoverableController.json +++ b/build/contracts/RecoverableController.json @@ -307,8 +307,8 @@ "type": "event" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820a81009b6aa0b3fbb63bd31229a9202774f699115eca20952dc8a12fb866b5ec80029", + "unlinked_binary": "0x6060604052341561000c57fe5b604051608080610a1083398101604090815281516020830151918301516060909301519092905b600160008190558054600160a060020a03808716600160a060020a03199283161790925560028054868416908316179055600a839055600b8490556005805433909316929091169190911790555b505050505b61097b806100956000396000f300606060405236156101015763ffffffff60e060020a60003504166309b8f77a81146101035780631c1c22891461012f5780631de0e8771461015b5780631ec9f7b51461017d57806334c7dcf81461019f5780634893ed5b146101cb57806354fd4d50146101ed5780637a5d53451461020f5780637ab0b9981461022d57806384191f621461024b5780638ac0eef91461025d57806397905a881461026f578063a08df7701461029b578063c998e9dd146102b9578063cbd2c73b146102d7578063d1c484f6146102f5578063d233fc0b14610317578063d7f31eb914610329578063ec5568891461038e578063f60edb0e146103ba578063f66c6691146103e6575bfe5b341561010b57fe5b610113610408565b60408051600160a060020a039092168252519081900360200190f35b341561013757fe5b610113610417565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61016b610426565b60408051918252519081900360200190f35b341561018557fe5b61016b61042c565b60408051918252519081900360200190f35b34156101a757fe5b610113610432565b60408051600160a060020a039092168252519081900360200190f35b34156101d357fe5b61016b610441565b60408051918252519081900360200190f35b34156101f557fe5b61016b610447565b60408051918252519081900360200190f35b341561021757fe5b61022b600160a060020a036004351661044d565b005b341561023557fe5b61022b600160a060020a03600435166104e2565b005b341561025357fe5b61022b610575565b005b341561026557fe5b61022b610608565b005b341561027757fe5b61011361069e565b60408051600160a060020a039092168252519081900360200190f35b34156102a357fe5b61022b600160a060020a03600435166106ad565b005b34156102c157fe5b61022b600160a060020a03600435166106e5565b005b34156102df57fe5b61022b600160a060020a0360043516610729565b005b34156102fd57fe5b61016b6107bb565b60408051918252519081900360200190f35b341561031f57fe5b61022b6107c1565b005b341561033157fe5b604080516020600460443581810135601f810184900484028501840190955284845261022b948235600160a060020a031694602480359560649492939190920191819084018382808284375094965061080a95505050505050565b005b341561039657fe5b61011361090b565b60408051600160a060020a039092168252519081900360200190f35b34156103c257fe5b61011361091a565b60408051600160a060020a039092168252519081900360200190f35b34156103ee57fe5b61016b610929565b60408051918252519081900360200190f35b600654600160a060020a031681565b600254600160a060020a031681565b60095481565b600b5481565b600354600160a060020a031681565b60045481565b60005481565b60025433600160a060020a03908116911614156104dd57600b54420160095560088054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601482820152606060020a737369676e436f6e74726f6c6c65724368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60025433600160a060020a03908116911614156104dd57600b54420160075560068054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601282820152607060020a717369676e5265636f766572794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b426009541080156105905750600854600160a060020a031615155b15610605576001546008546040805160e460020a6301a69523028152600160a060020a03928316600482015290519190921691631a69523091602480830192600092919082900301818387803b15156105e557fe5b6102c65a03f115156105f357fe5b5050600854600160a060020a03169050ff5b5b565b426004541080156106235750600354600160a060020a031615155b15610605576003805460028054600160a060020a03808416600160a060020a03199283161790925590911690915560408051339092166020830152808252600d82820152609860020a6c6368616e6765557365724b657902606083015251600080516020610930833981519152916080908290030190a15b5b565b600554600160a060020a031681565b60055433600160a060020a03908116911614156104dd5760058054600160a060020a031916600160a060020a0383161790555b5b5b50565b60055433600160a060020a03908116911614156104dd5760038054600160a060020a031990811690915560028054909116600160a060020a0383161790555b5b5b50565b60025433600160a060020a03908116911614156104dd57600a54420160045560038054600160a060020a031916600160a060020a038381169190911790915560408051339092166020830152808252601182820152607860020a707369676e557365724b65794368616e676502606083015251600080516020610930833981519152916080908290030190a15b5b5b50565b60075481565b426007541080156107dc5750600654600160a060020a031615155b15610605576006805460058054600160a060020a0319908116600160a060020a038416179091551690555b5b565b60025433600160a060020a03908116911614156109045760015460405160e060020a63d7f31eb9028152600160a060020a038581166004830190815260248301869052606060448401908152855160648501528551929094169363d7f31eb99388938893889390929091608490910190602085019080838382156108a9575b8051825260208311156108a957601f199092019160209182019101610889565b505050905090810190601f1680156108d55780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b15156108f257fe5b6102c65a03f1151561090057fe5b5050505b5b5b505050565b600154600160a060020a031681565b600854600160a060020a031681565b600a54815600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820f418c821bf3f0162b3d4dc406035d1c002e677fe960cbe958ab4535ff471792e0029", "networks": {}, "schema_version": "0.0.5", - "updated_at": 1501018354944 + "updated_at": 1501602616858 } \ No newline at end of file diff --git a/build/contracts/RecoveryQuorum.json b/build/contracts/RecoveryQuorum.json index 5290dc5..4f3e207 100644 --- a/build/contracts/RecoveryQuorum.json +++ b/build/contracts/RecoveryQuorum.json @@ -177,7 +177,7 @@ "type": "event" } ], - "unlinked_binary": "0x6060604052341561000c57fe5b604051610ff2380380610ff283398101604052805160208201519091015b60008054600160a060020a031916600160a060020a0384161781555b815181101561015557600f811061005c57610155565b6001805480820161006d838261015e565b916000526020600020900160005b848481518110151561008957fe5b90602001906020020151909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050606060405190810160405280651cae8c13e0008152602001600081526020016000600160a060020a03168152506002600084848151811015156100f957fe5b602090810291909101810151600160a060020a0390811683528282019390935260409182016000208451815590840151600182015592015160029092018054600160a060020a031916929091169190911790555b600101610046565b5b5050506101a9565b81548183558181151161018257600083815260209020610182918101908301610188565b5b505050565b6101a691905b808211156101a2576000815560010161018e565b5090565b90565b610e3a806101b86000396000f3006060604052361561007d5763ffffffff60e060020a60003504166323d44dee811461007f578063245d1314146100ad5780633f31281a146100cb578063587cde1e146100e957806364bc82c31461012c578063943e170d1461015b578063a39fac121461017d578063e71e592b146101e8578063f77c479114610275575bfe5b341561008757fe5b61009b600160a060020a03600435166102a1565b60408051918252519081900360200190f35b34156100b557fe5b6100c9600160a060020a036004351661039b565b005b34156100d357fe5b6100c9600160a060020a036004351661047a565b005b34156100f157fe5b610105600160a060020a0360043516610607565b604080519384526020840192909252600160a060020a031682820152519081900360600190f35b341561013457fe5b61013f600435610630565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61009b610662565b60408051918252519081900360200190f35b341561018557fe5b61018d610708565b60408051602080825283518183015283519192839290830191858101910280838382156101d5575b8051825260208311156101d557601f1990920191602091820191016101b5565b5050509050019250505060405180910390f35b34156101f057fe5b6100c9600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061077195505050505050565b005b341561027d57fe5b61013f6108c1565b60408051600160a060020a039092168252519081900360200190f35b6000805b60015481101561039457610321600260006001848154811015156102c557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208083019390935260409182016000208251606081018452815481526001820154948101949094526002015416908201526108d0565b801561037f575082600160a060020a03166002600060018481548110151561034557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208201929092526040016000206002015416145b1561038b576001909101905b5b6001016102a5565b5b50919050565b600160a060020a0333811660009081526002602081815260409283902083516060810185528154815260018201549281019290925290910154909216908201526103e4906108fb565b156104765733600160a060020a039081166000908152600260208190526040909120018054600160a060020a0319169183169190911790556104258161047a565b60408051600160a060020a0333166020820152818152600e81830152609060020a6d7369676e557365724368616e67650260608201529051600080516020610def8339815191529181900360800190a15b5b50565b6000610484610662565b61048d836102a1565b1061060157600080546040805160e060020a63c998e9dd028152600160a060020a0386811660048301529151919092169263c998e9dd926024808201939182900301818387803b15156104dc57fe5b6102c65a03f115156104ea57fe5b505050600090505b60015481101561060157426002600060018481548110151561051057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000206001015411156105a257426002600060018481548110151561056e57fe5b906000526020600020900160005b9054600160a060020a036101009290920a90041681526020810191909152604001600020555b600260006001838154811015156105b557fe5b906000526020600020900160005b9054600160a060020a036101009290920a900416815260208101919091526040016000206002018054600160a060020a03191690555b6001016104f2565b5b5b5050565b6002602081905260009182526040909120805460018201549190920154600160a060020a031683565b600180548290811061063e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600080805b6001548110156106f8576106e36002600060018481548110151561068757fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610905565b156106ef576001909101905b5b600101610667565b6002825b0460010192505b505090565b610710610d91565b600180548060200260200160405190810160405280929190818152602001828054801561076657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610748575b505050505090505b90565b60008054604080516020908101849052815160e060020a631c1c228902815291518493600160a060020a031692631c1c228992600480830193919282900301818787803b15156107bd57fe5b6102c65a03f115156107cb57fe5b50505060405180519050600160a060020a031633600160a060020a031614156108b957600091505b83518210156108285761081c848381518110151561080d57fe5b90602001906020020151610939565b5b6001909101906107f3565b610830610aa8565b5060005b82518110156108665761085d838281518110151561084e57fe5b90602001906020020151610c0a565b5b600101610834565b60408051600160a060020a0333166020820152818152601081830152608060020a6f7265706c61636544656c6567617465730260608201529051600080516020610def8339815191529181900360800190a15b5b5b50505050565b600054600160a060020a031681565b60006108db82610905565b80156108f357506040820151600160a060020a031615155b90505b919050565b805115155b919050565b6000610910826108fb565b8015610922575061092082610d85565b155b80156108f35750816020015142115b90505b919050565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561099557fe5b6102c65a03f115156109a357fe5b50506040805151600160a060020a038516600090815260026020529190912054920190911115905061047657600160a060020a03811660009081526002602052604090206001015442901115610a1357600160a060020a0381166000908152600260205260409020429055610476565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a6f57fe5b6102c65a03f11515610a7d57fe5b50506040805151600160a060020a03851660009081526002602052919091209201909155505b5b5b50565b60005b60015481101561047657610b2760026000600184815481101515610acb57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610d85565b15610bfd5760026000600183815481101515610b3f57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004168152602081019190915260409081016000908120818155600180820183905560029091018054600160a060020a0319169055825160e060020a63c6f31521028152600481018590526024810191909152915173__ArrayLib______________________________9263c6f31521926044808301939192829003018186803b1515610be757fe5b6102c65a03f41515610bf557fe5b505050610c01565b6001015b610aab565b5b50565b600160a060020a038082166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015490921690820152610c53906108fb565b158015610c635750600154600f90105b1561047657606060405190810160405280651cae8c13e0008152602001600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610cdb57fe5b6102c65a03f11515610ce957fe5b505060408051514201835260006020938401819052600160a060020a0386811682526002808652918390208651815594860151600180870191909155959092015193018054600160a060020a0319169390911692909217909155508054808201610d538382610da3565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b8051429011155b919050565b60408051602081019091526000815290565b815481835581811511610dc757600083815260209020610dc7918101908301610dcd565b5b505050565b61076e91905b80821115610de75760008155600101610dd3565b5090565b905600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a72305820dfa12fd9651621ae899e8f641d3a3b4582ea5b1452966136acdf51fe53b9531f0029", + "unlinked_binary": "0x6060604052341561000c57fe5b604051610ff2380380610ff283398101604052805160208201519091015b60008054600160a060020a031916600160a060020a0384161781555b815181101561015557600f811061005c57610155565b6001805480820161006d838261015e565b916000526020600020900160005b848481518110151561008957fe5b90602001906020020151909190916101000a815481600160a060020a030219169083600160a060020a0316021790555050606060405190810160405280651cae8c13e0008152602001600081526020016000600160a060020a03168152506002600084848151811015156100f957fe5b602090810291909101810151600160a060020a0390811683528282019390935260409182016000208451815590840151600182015592015160029092018054600160a060020a031916929091169190911790555b600101610046565b5b5050506101a9565b81548183558181151161018257600083815260209020610182918101908301610188565b5b505050565b6101a691905b808211156101a2576000815560010161018e565b5090565b90565b610e3a806101b86000396000f3006060604052361561007d5763ffffffff60e060020a60003504166323d44dee811461007f578063245d1314146100ad5780633f31281a146100cb578063587cde1e146100e957806364bc82c31461012c578063943e170d1461015b578063a39fac121461017d578063e71e592b146101e8578063f77c479114610275575bfe5b341561008757fe5b61009b600160a060020a03600435166102a1565b60408051918252519081900360200190f35b34156100b557fe5b6100c9600160a060020a036004351661039b565b005b34156100d357fe5b6100c9600160a060020a036004351661047a565b005b34156100f157fe5b610105600160a060020a0360043516610607565b604080519384526020840192909252600160a060020a031682820152519081900360600190f35b341561013457fe5b61013f600435610630565b60408051600160a060020a039092168252519081900360200190f35b341561016357fe5b61009b610662565b60408051918252519081900360200190f35b341561018557fe5b61018d610708565b60408051602080825283518183015283519192839290830191858101910280838382156101d5575b8051825260208311156101d557601f1990920191602091820191016101b5565b5050509050019250505060405180910390f35b34156101f057fe5b6100c9600480803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750506040805187358901803560208181028481018201909552818452989a99890198929750908201955093508392508501908490808284375094965061077195505050505050565b005b341561027d57fe5b61013f6108c1565b60408051600160a060020a039092168252519081900360200190f35b6000805b60015481101561039457610321600260006001848154811015156102c557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208083019390935260409182016000208251606081018452815481526001820154948101949094526002015416908201526108d0565b801561037f575082600160a060020a03166002600060018481548110151561034557fe5b906000526020600020900160005b9054600160a060020a036101009290920a90048116825260208201929092526040016000206002015416145b1561038b576001909101905b5b6001016102a5565b5b50919050565b600160a060020a0333811660009081526002602081815260409283902083516060810185528154815260018201549281019290925290910154909216908201526103e4906108fb565b156104765733600160a060020a039081166000908152600260208190526040909120018054600160a060020a0319169183169190911790556104258161047a565b60408051600160a060020a0333166020820152818152600e81830152609060020a6d7369676e557365724368616e67650260608201529051600080516020610def8339815191529181900360800190a15b5b50565b6000610484610662565b61048d836102a1565b1061060157600080546040805160e060020a63c998e9dd028152600160a060020a0386811660048301529151919092169263c998e9dd926024808201939182900301818387803b15156104dc57fe5b6102c65a03f115156104ea57fe5b505050600090505b60015481101561060157426002600060018481548110151561051057fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000206001015411156105a257426002600060018481548110151561056e57fe5b906000526020600020900160005b9054600160a060020a036101009290920a90041681526020810191909152604001600020555b600260006001838154811015156105b557fe5b906000526020600020900160005b9054600160a060020a036101009290920a900416815260208101919091526040016000206002018054600160a060020a03191690555b6001016104f2565b5b5b5050565b6002602081905260009182526040909120805460018201549190920154600160a060020a031683565b600180548290811061063e57fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600080805b6001548110156106f8576106e36002600060018481548110151561068757fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610905565b156106ef576001909101905b5b600101610667565b6002825b0460010192505b505090565b610710610d91565b600180548060200260200160405190810160405280929190818152602001828054801561076657602002820191906000526020600020905b8154600160a060020a03168152600190910190602001808311610748575b505050505090505b90565b60008054604080516020908101849052815160e060020a631c1c228902815291518493600160a060020a031692631c1c228992600480830193919282900301818787803b15156107bd57fe5b6102c65a03f115156107cb57fe5b50505060405180519050600160a060020a031633600160a060020a031614156108b957600091505b83518210156108285761081c848381518110151561080d57fe5b90602001906020020151610939565b5b6001909101906107f3565b610830610aa8565b5060005b82518110156108665761085d838281518110151561084e57fe5b90602001906020020151610c0a565b5b600101610834565b60408051600160a060020a0333166020820152818152601081830152608060020a6f7265706c61636544656c6567617465730260608201529051600080516020610def8339815191529181900360800190a15b5b5b50505050565b600054600160a060020a031681565b60006108db82610905565b80156108f357506040820151600160a060020a031615155b90505b919050565b805115155b919050565b6000610910826108fb565b8015610922575061092082610d85565b155b80156108f35750816020015142115b90505b919050565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b151561099557fe5b6102c65a03f115156109a357fe5b50506040805151600160a060020a038516600090815260026020529190912054920190911115905061047657600160a060020a03811660009081526002602052604090206001015442901115610a1357600160a060020a0381166000908152600260205260409020429055610476565b42600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610a6f57fe5b6102c65a03f11515610a7d57fe5b50506040805151600160a060020a03851660009081526002602052919091209201909155505b5b5b50565b60005b60015481101561047657610b2760026000600184815481101515610acb57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004811682526020808301939093526040918201600020825160608101845281548152600182015494810194909452600201541690820152610d85565b15610bfd5760026000600183815481101515610b3f57fe5b906000526020600020900160005b9054600160a060020a036101009290920a9004168152602081019190915260409081016000908120818155600180820183905560029091018054600160a060020a0319169055825160e060020a63c6f31521028152600481018590526024810191909152915173__ArrayLib______________________________9263c6f31521926044808301939192829003018186803b1515610be757fe5b6102c65a03f41515610bf557fe5b505050610c01565b6001015b610aab565b5b50565b600160a060020a038082166000908152600260208181526040928390208351606081018552815481526001820154928101929092529091015490921690820152610c53906108fb565b158015610c635750600154600f90105b1561047657606060405190810160405280651cae8c13e0008152602001600060009054906101000a9004600160a060020a0316600160a060020a0316631ec9f7b56000604051602001526040518163ffffffff1660e060020a028152600401809050602060405180830381600087803b1515610cdb57fe5b6102c65a03f11515610ce957fe5b505060408051514201835260006020938401819052600160a060020a0386811682526002808652918390208651815594860151600180870191909155959092015193018054600160a060020a0319169390911692909217909155508054808201610d538382610da3565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b8051429011155b919050565b60408051602081019091526000815290565b815481835581811511610dc757600083815260209020610dc7918101908301610dcd565b5b505050565b61076e91905b80821115610de75760008155600101610dd3565b5090565b905600ea8e84a162c4602ea0c61acf85fa1242db8ce550e7a448d613e3c7dff2f06793a165627a7a7230582022f8409508ff414cdc858dc1267d2557b2d472d589d590828a0633a002b67cec0029", "networks": { "4": { "events": { @@ -206,5 +206,5 @@ } }, "schema_version": "0.0.5", - "updated_at": 1501018354944 + "updated_at": 1501602616858 } \ No newline at end of file diff --git a/build/contracts/TestRegistry.json b/build/contracts/TestRegistry.json new file mode 100644 index 0000000..ca8dced --- /dev/null +++ b/build/contracts/TestRegistry.json @@ -0,0 +1,73 @@ +{ + "contract_name": "TestRegistry", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "address" + } + ], + "name": "registry", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "with", + "type": "uint256" + }, + { + "name": "many", + "type": "address" + }, + { + "name": "strange", + "type": "string" + }, + { + "name": "params", + "type": "uint256" + } + ], + "name": "reallyLongFunctionName", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [], + "name": "testThrow", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "x", + "type": "uint256" + } + ], + "name": "register", + "outputs": [], + "payable": false, + "type": "function" + } + ], + "unlinked_binary": "0x6060604052341561000c57fe5b5b6101858061001c6000396000f300606060405263ffffffff60e060020a600035041663038defd781146100425780630da9a4241461007057806350bff6bf146100d7578063f207564e146100e9575bfe5b341561004a57fe5b61005e600160a060020a03600435166100fe565b60408051918252519081900360200190f35b341561007857fe5b604080516020600460443581810135601f81018490048402850184019095528484526100d59482359460248035600160a060020a031695606494929391909201918190840183828082843750949650509335935061011092505050565b005b34156100df57fe5b6100d5610132565b005b34156100f157fe5b6100d560043561013a565b005b60006020819052908152604090205481565b600160a060020a03831660009081526020819052604090208190555b50505050565b60006000fd5b565b600160a060020a03331660009081526020819052604090208190555b505600a165627a7a723058209031db7836c29ab581b18225d140f33c3fd33125a95eb691515832d594faa6da0029", + "networks": {}, + "schema_version": "0.0.5", + "updated_at": 1501602616858 +} \ No newline at end of file diff --git a/build/contracts/TxRelay.json b/build/contracts/TxRelay.json new file mode 100644 index 0000000..864936a --- /dev/null +++ b/build/contracts/TxRelay.json @@ -0,0 +1,83 @@ +{ + "contract_name": "TxRelay", + "abi": [ + { + "constant": true, + "inputs": [ + { + "name": "add", + "type": "address" + } + ], + "name": "getNonce", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "sigV", + "type": "uint8" + }, + { + "name": "sigR", + "type": "bytes32" + }, + { + "name": "sigS", + "type": "bytes32" + }, + { + "name": "destination", + "type": "address" + }, + { + "name": "data", + "type": "bytes" + } + ], + "name": "relayMetaTx", + "outputs": [], + "payable": false, + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "b", + "type": "bytes" + } + ], + "name": "getAddress", + "outputs": [ + { + "name": "a", + "type": "address" + } + ], + "payable": false, + "type": "function" + } + ], + "unlinked_binary": "0x6060604052341561000c57fe5b5b6104028061001c6000396000f300606060405263ffffffff60e060020a6000350416632d0335ab8114610037578063b4fadcad14610065578063c47cf5de146100d2575bfe5b341561003f57fe5b610053600160a060020a0360043516610144565b60408051918252519081900360200190f35b341561006d57fe5b604080516020601f6084356004818101359283018490048402850184019095528184526100d09460ff81351694602480359560443595600160a060020a03606435169560a494930191819084018382808284375094965061016395505050505050565b005b34156100da57fe5b610128600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437509496506103ad95505050505050565b60408051600160a060020a039092168252519081900360200190f35b600160a060020a0381166000908152602081905260409020545b919050565b600060006000610172846103ad565b9250306000600085600160a060020a0316600160a060020a03168152602001908152602001600020548686336040518086600160a060020a0316600160a060020a0316606060020a02815260140185815260200184600160a060020a0316600160a060020a0316606060020a02815260140183805190602001908083835b6020831061020f5780518252601f1990920191602091820191016101f0565b6001836020036101000a03801982511681845116808217855250505050505090500182600160a060020a0316600160a060020a0316606060020a0281526014019550505050505060405180910390209150600182898989604051806000526020016040526000604051602001526040518085600019166000191681526020018460ff1660ff16815260200183600019166000191681526020018260001916600019168152602001945050505050602060405160208103908084039060008661646e5a03f115156102db57fe5b5050604051601f1901519050600160a060020a03838116908216146103005760006000fd5b600160a060020a03808416600090815260208181526040918290208054600101905590518651928816928792829190840190808383821561035c575b80518252602083111561035c57601f19909201916020918201910161033c565b505050905090810190601f1680156103885780820380516001836020036101000a031916815260200191505b5091505060006040518083038160008661646e5a03f15050505b5b5050505050505050565b60006024825110156103c15750600061015e565b506024810151600160a060020a03165b9190505600a165627a7a7230582019e40baa54729157610f6a5409ba2880beee733ecbe73a913ba09b29f18bf7d00029", + "networks": { + "4": { + "address": "0x476debfb878d266d9e3182d7bb304301a8748aad", + "links": {} + }, + "42": { + "address": "0x899d47b36d94bc36050e9fdddb7d210a62c8656c", + "links": {} + } +}, + "schema_version": "0.0.5", + "updated_at": 1501624729818 +} diff --git a/contracts/IdentityFactory.sol b/contracts/IdentityFactory.sol index 2c581d2..5c83695 100644 --- a/contracts/IdentityFactory.sol +++ b/contracts/IdentityFactory.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./RecoveryQuorum.sol"; diff --git a/contracts/IdentityFactoryWithRecoveryKey.sol b/contracts/IdentityFactoryWithRecoveryKey.sol index c6e0db3..1ee2ece 100644 --- a/contracts/IdentityFactoryWithRecoveryKey.sol +++ b/contracts/IdentityFactoryWithRecoveryKey.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./RecoverableController.sol"; diff --git a/contracts/IdentityManager.sol b/contracts/IdentityManager.sol index f9990c8..797f220 100644 --- a/contracts/IdentityManager.sol +++ b/contracts/IdentityManager.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./Proxy.sol"; contract IdentityManager { diff --git a/contracts/MetaIdentityManager.sol b/contracts/MetaIdentityManager.sol new file mode 100644 index 0000000..71b0361 --- /dev/null +++ b/contracts/MetaIdentityManager.sol @@ -0,0 +1,217 @@ +pragma solidity 0.4.11; +import "./Proxy.sol"; + + +contract MetaIdentityManager { + uint adminTimeLock; + uint userTimeLock; + uint adminRate; + address relay; + + event IdentityCreated( + address indexed identity, + address indexed creator, + address owner, + address indexed recoveryKey); + + event OwnerAdded( + address indexed identity, + address indexed owner, + address instigator); + + event OwnerRemoved( + address indexed identity, + address indexed owner, + address instigator); + + event RecoveryChanged( + address indexed identity, + address indexed recoveryKey, + address instigator); + + event MigrationInitiated( + address indexed identity, + address indexed newIdManager, + address instigator); + + event MigrationCanceled( + address indexed identity, + address indexed newIdManager, + address instigator); + + event MigrationFinalized( + address indexed identity, + address indexed newIdManager, + address instigator); + + mapping(address => mapping(address => uint)) owners; + mapping(address => address) recoveryKeys; + mapping(address => mapping(address => uint)) limiter; + mapping(address => uint) migrationInitiated; + mapping(address => address) migrationNewAddress; + + modifier onlyAuthorized() { + if (msg.sender == relay || checkMessageData(msg.sender)) _; + else throw; + } + + modifier onlyOwner(address identity, address sender) { + if (isOwner(identity, sender)) _ ; + else throw; + } + + modifier onlyOlderOwner(address identity, address sender) { + if (owners[identity][sender] > 0 && (owners[identity][sender] + adminTimeLock) <= now) _ ; + else throw; + } + + modifier onlyRecovery(address identity, address sender) { + if (recoveryKeys[identity] == sender) _; + else throw; + } + + modifier rateLimited(Proxy identity, address sender) { + if (limiter[identity][sender] < (now - adminRate)) { + limiter[identity][sender] = now; + _ ; + } else throw; + } + + modifier validAddress(address addr) { //protects against some weird attacks + if (addr != address(0)) _; + else throw; + } + + /// @dev Contract constructor sets initial timelocks and meta-tx relay address + /// @param _userTimeLock Time before new owner can control proxy + /// @param _adminTimeLock Time before new owner can add/remove owners + /// @param _adminRate Time period used for rate limiting a given key for admin functionality + /// @param _relayAddress Address of meta transaction relay contract + function MetaIdentityManager(uint _userTimeLock, uint _adminTimeLock, uint _adminRate, address _relayAddress) { + adminTimeLock = _adminTimeLock; + userTimeLock = _userTimeLock; + adminRate = _adminRate; + relay = _relayAddress; + } + + /// @dev Creates a new proxy contract for an owner and recovery + /// @param owner Key who can use this contract to control proxy. Given full power + /// @param recoveryKey Key of recovery network or address from seed to recovery proxy + /// Gas cost of ~300,000 + function createIdentity(address owner, address recoveryKey) validAddress(recoveryKey) { + Proxy identity = new Proxy(); + owners[identity][owner] = now - adminTimeLock; // This is to ensure original owner has full power from day one + recoveryKeys[identity] = recoveryKey; + IdentityCreated(identity, msg.sender, owner, recoveryKey); + } + + /// @dev Allows a user to transfer control of existing proxy to this contract. Must come through proxy + /// @param owner Key who can use this contract to control proxy. Given full power + /// @param recoveryKey Key of recovery network or address from seed to recovery proxy + /// Note: User must change owner of proxy to this contract after calling this + function registerIdentity(address owner, address recoveryKey) validAddress(recoveryKey) { + if (recoveryKeys[msg.sender] > 0 ) throw; // Invariant enforced w/ validRecovery modifier + owners[msg.sender][owner] = now - adminTimeLock; // Owner has full power from day one + recoveryKeys[msg.sender] = recoveryKey; + IdentityCreated(msg.sender, msg.sender, owner, recoveryKey); + } + + /// @dev Allows a user to forward a call through their proxy. + function forwardTo(address sender, Proxy identity, address destination, uint value, bytes data) + onlyAuthorized + onlyOwner(identity, sender) + { + identity.forward(destination, value, data); + } + + /// @dev Allows an olderOwner to add a new owner instantly + function addOwner(address sender, Proxy identity, address newOwner) + onlyAuthorized + onlyOlderOwner(identity, sender) + rateLimited(identity, sender) + { + owners[identity][newOwner] = now - userTimeLock; + OwnerAdded(identity, newOwner, sender); + } + + /// @dev Allows a recoveryKey to add a new owner with userTimeLock waiting time + function addOwnerFromRecovery(address sender, Proxy identity, address newOwner) + onlyAuthorized + onlyRecovery(identity, sender) + rateLimited(identity, sender) + { + if (owners[identity][newOwner] > 0) throw; + owners[identity][newOwner] = now; + OwnerAdded(identity, newOwner, sender); + } + + /// @dev Allows an owner to remove another owner instantly + function removeOwner(address sender, Proxy identity, address owner) + onlyAuthorized + onlyOlderOwner(identity, sender) + rateLimited(identity, sender) + { + delete owners[identity][owner]; + OwnerRemoved(identity, owner, sender); + } + + /// @dev Allows an owner to change the recoveryKey instantly + function changeRecovery(address sender, Proxy identity, address recoveryKey) + onlyAuthorized + onlyOlderOwner(identity, sender) + rateLimited(identity, sender) + validAddress(recoveryKey) + { + recoveryKeys[identity] = recoveryKey; + RecoveryChanged(identity, recoveryKey, sender); + } + + /// @dev Allows an owner to begin process of transfering proxy to new IdentityManager + function initiateMigration(address sender, Proxy identity, address newIdManager) + onlyAuthorized + onlyOlderOwner(identity, sender) + { + migrationInitiated[identity] = now; + migrationNewAddress[identity] = newIdManager; + MigrationInitiated(identity, newIdManager, sender); + } + + /// @dev Allows an owner to cancel the process of transfering proxy to new IdentityManager + function cancelMigration(address sender, Proxy identity) onlyAuthorized onlyOwner(identity, sender) { + address canceledManager = migrationNewAddress[identity]; + delete migrationInitiated[identity]; + delete migrationNewAddress[identity]; + MigrationCanceled(identity, canceledManager, sender); + } + + /// @dev Allows an owner to finalize and completly transfer proxy to new IdentityManager + /// Note: before transfering to a new address, make sure this address is "ready to recieve" the proxy. + /// Not doing so risks the proxy becoming stuck. + function finalizeMigration(address sender, Proxy identity) onlyAuthorized onlyOlderOwner(identity, sender) { + if (migrationInitiated[identity] > 0 && migrationInitiated[identity] + adminTimeLock < now) { + address newIdManager = migrationNewAddress[identity]; + delete migrationInitiated[identity]; + delete migrationNewAddress[identity]; + identity.transfer(newIdManager); + MigrationFinalized(identity, newIdManager, sender); + } + } + + //Checks that address a is the first input in msg.data. + //Has very minimal gas overhead. + function checkMessageData(address a) constant internal returns (bool t) { + if (msg.data.length < 36) return false; + assembly { + let mask := 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + t := eq(a, and(mask, calldataload(4))) + } + } + + function isOwner(address identity, address owner) constant returns (bool) { + return (owners[identity][owner] > 0 && (owners[identity][owner] + userTimeLock) <= now); + } + + function isRecovery(address identity, address recoveryKey) constant returns (bool) { + return recoveryKeys[identity] == recoveryKey; + } +} diff --git a/contracts/Proxy.sol b/contracts/Proxy.sol index 6d38c0d..ff32e2e 100644 --- a/contracts/Proxy.sol +++ b/contracts/Proxy.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./libs/Owned.sol"; diff --git a/contracts/RecoverableController.sol b/contracts/RecoverableController.sol index 2f026d1..9e9f9bf 100644 --- a/contracts/RecoverableController.sol +++ b/contracts/RecoverableController.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./Proxy.sol"; @@ -92,4 +92,3 @@ contract RecoverableController { userKey = _userKey; } } - diff --git a/contracts/RecoveryQuorum.sol b/contracts/RecoveryQuorum.sol index b177ded..4d78de6 100644 --- a/contracts/RecoveryQuorum.sol +++ b/contracts/RecoveryQuorum.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; import "./RecoverableController.sol"; import "./libs/ArrayLib.sol"; diff --git a/contracts/TxRelay.sol b/contracts/TxRelay.sol new file mode 100644 index 0000000..c0ff438 --- /dev/null +++ b/contracts/TxRelay.sol @@ -0,0 +1,61 @@ +pragma solidity 0.4.11; + + +//This contract is meant as a "singleton" forwarding contract. +//Eventually, it will be able to forward any transaction to +//Any contract that is built to accept it. +contract TxRelay { + + // Note: This is a local nonce. + // Different from the nonce defined w/in protocol. + mapping(address => uint) nonce; + + /* + * @dev Relays meta transactions + * @param sigV, sigR, sigS ECDSA signature on some data to be forwarded + * @param destination Location the meta-tx should be forwarded to + * @param data The bytes necessary to call the function in the destination contract. + Note, the first encoded argument in data must be address of the signer + */ + function relayMetaTx(uint8 sigV, bytes32 sigR, bytes32 sigS, + address destination, bytes data) { + + address claimedSender = getAddress(data); + // relay :: nonce :: destination :: data :: relayer + bytes32 h = sha3(this, nonce[claimedSender], destination, data, msg.sender); + address addressFromSig = ecrecover(h, sigV, sigR, sigS); + + if (claimedSender != addressFromSig) throw; + + nonce[claimedSender]++; //if we are going to do tx, update nonce + + if (!destination.call(data)) { + //In the future, add event here. Has semi-complex gas considerations. See EIP 150 + } + } + + /* + * @dev Gets an address encoded as the first argument in transaction data + * @param b The byte array that should have an address as first argument + * @returns a The address retrieved from the array + (Optimization based on work by tjade273) + */ + function getAddress(bytes b) constant returns (address a) { + if (b.length < 36) return address(0); + assembly { + let mask := 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + a := and(mask, mload(add(b, 36))) + //36 is the offset of the first param of the data, if encoded properly. + //4 bytes for the function signature, and 32 for the addess. + } + } + + /* + * @dev Returns the local nonce of an account. + * @param add The address to return the nonce for. + * @return The specific-to-this-contract nonce of the address provided + */ + function getNonce(address add) constant returns (uint) { + return nonce[add]; + } +} diff --git a/contracts/libs/Owned.sol b/contracts/libs/Owned.sol index ca15699..a042af9 100644 --- a/contracts/libs/Owned.sol +++ b/contracts/libs/Owned.sol @@ -1,4 +1,4 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; contract Owned { diff --git a/contracts/misc/MetaTestRegistry.sol b/contracts/misc/MetaTestRegistry.sol new file mode 100644 index 0000000..08b23ec --- /dev/null +++ b/contracts/misc/MetaTestRegistry.sol @@ -0,0 +1,20 @@ +pragma solidity 0.4.11; + + +// This contract is only used for testing purposes. +contract MetaTestRegistry { + + mapping(address => uint) public registry; + + function register(address sender, uint x) { + registry[sender] = x; + } + + function reallyLongFunctionName(uint with, address many, string strange, uint params) { + registry[many] = params; + } + + function testThrow(address sender) { + throw; + } +} diff --git a/contracts/misc/Migrations.sol b/contracts/misc/Migrations.sol index 4dd0c07..d97d245 100644 --- a/contracts/misc/Migrations.sol +++ b/contracts/misc/Migrations.sol @@ -1,4 +1,5 @@ -pragma solidity ^0.4.11; +pragma solidity 0.4.11; + contract Migrations { address public owner; diff --git a/contracts/misc/TestRegistry.sol b/contracts/misc/TestRegistry.sol index c62af9d..862726a 100644 --- a/contracts/misc/TestRegistry.sol +++ b/contracts/misc/TestRegistry.sol @@ -1,5 +1,5 @@ // This contract is only used for testing purposes. -pragma solidity ^0.4.8; +pragma solidity 0.4.11; contract TestRegistry { diff --git a/index.js b/index.js index 969ab5a..5a7f4ca 100644 --- a/index.js +++ b/index.js @@ -6,4 +6,6 @@ module.exports = { RecoverableController: require('./build/contracts/RecoverableController.json'), Proxy: require('./build/contracts/Proxy.json'), RecoveryQuorum: require('./build/contracts/RecoveryQuorum.json'), + MetaIdentityManager: require('./build/contracts/MetaIdentityManager.json'), + TxRelay: require('./build/contracts/TxRelay.json'), } diff --git a/package.json b/package.json index 2297d46..dc4c717 100644 --- a/package.json +++ b/package.json @@ -34,10 +34,12 @@ "babel-preset-stage-2": "^6.24.1", "babel-preset-stage-3": "^6.24.1", "bluebird": "^3.5.0", + "eth-lightwallet": "^2.5.6", "eth-signer": "^0.2.2", "ethereumjs-testrpc": "^3.0.3", "ethjs-abi": "^0.1.9", "node-plantuml": "^0.5.0", + "solidity-sha3": "^0.4.1", "solium": "^0.5.3", "truffle": "3.4.5", "truffle-contract": "^1.1.10", diff --git a/test/metaIdentityManager.js b/test/metaIdentityManager.js new file mode 100644 index 0000000..8874807 --- /dev/null +++ b/test/metaIdentityManager.js @@ -0,0 +1,564 @@ +const lightwallet = require('eth-signer') +const evm_increaseTime = require('./evmIncreaseTime.js') +const snapshots = require('./evmSnapshots.js') +const MetaIdentityManager = artifacts.require('MetaIdentityManager') +const Proxy = artifacts.require('Proxy') +const TestRegistry = artifacts.require('TestRegistry') +const Promise = require('bluebird') +const compareCode = require('./compareCode') +web3.eth = Promise.promisifyAll(web3.eth) + +const LOG_NUMBER_1 = 1234 +const LOG_NUMBER_2 = 2345 + +const userTimeLock = 100; +const adminTimeLock = 1000; +const adminRate = 200; + +function getRandomNumber() { + return Math.floor(Math.random() * (1000000 - 1)) + 1; +} + +//From is who is actually signing. claimedFrom is the address that they claim to be (first input to most functions) +async function testForwardTo(testReg, identityManager, proxyAddress, fromAccount, claimedFrom, shouldEqual) { + let errorThrown = false + let testNum = getRandomNumber() + // Encode the transaction to send to the proxy contract + let data = lightwallet.txutils._encodeFunctionTxData('register', ['uint256'], [testNum]) + // Send forward request from the owner + try { + await identityManager.forwardTo(claimedFrom, proxyAddress, testReg.address, 0, '0x' + data, {from: fromAccount}) + } catch (e) { + errorThrown = e.message + } + let regData = await testReg.registry.call(proxyAddress) + if (shouldEqual) { + assert.isNotOk(errorThrown, 'An error should not have been thrown') + assert.equal(regData.toNumber(), testNum) + } else { + assert.match(errorThrown, /invalid opcode/, 'throws an error') + assert.notEqual(regData.toNumber(), testNum) + } +} + +async function testForwardToFromRelay(testReg, identityManager, proxyAddress, fromAccount, txRelayAddress, shouldEqual) { + let errorThrown = false + let testNum = getRandomNumber() + // Encode the transaction to send to the proxy contract + let data = lightwallet.txutils._encodeFunctionTxData('register', ['uint256'], [testNum]) + // Send forward request from the owner + try { + await identityManager.forwardTo(fromAccount, proxyAddress, testReg.address, 0, '0x' + data, {from: txRelayAddress}) + } catch (e) { + errorThrown = e.message + } + let regData = await testReg.registry.call(proxyAddress) + if (shouldEqual) { + assert.isNotOk(errorThrown, 'An error should not have been thrown') + assert.equal(regData.toNumber(), testNum) + } else { + assert.match(errorThrown, /invalid opcode/, 'throws an error') + assert.notEqual(regData.toNumber(), testNum) + } +} + + +contract('MetaIdentityManager', (accounts) => { + let proxy + let deployedProxy + let testReg + let identityManager + let user1 + let user2 + let user3 + let user4 + let user5 + let nobody + let relay + + let recoveryKey + let recoveryKey2 + + let snapshotId + + before(async function() { + // Truffle deploys contracts with accounts[0] + user1 = accounts[0] + nobody = accounts[1] // has no authority + user2 = accounts[2] + user3 = accounts[3] + user4 = accounts[4] + user5 = accounts[5] + relay = accounts[6] + recoveryKey = accounts[8] + recoveryKey2 = accounts[9] + identityManager = await MetaIdentityManager.new(userTimeLock, adminTimeLock, adminRate, relay) + deployedProxy = await Proxy.new({from: user1}) + testReg = await TestRegistry.deployed() + }) + + it('Correctly creates Identity', async function() { + let tx = await identityManager.createIdentity(user1, recoveryKey, {from: nobody}) + let log = tx.logs[0] + + assert.equal(log.event, 'IdentityCreated', 'wrong event') + assert.equal(log.args.owner, user1, 'Owner key is set in event') + assert.equal(log.args.recoveryKey, recoveryKey, 'Recovery key is set in event') + assert.equal(log.args.creator, nobody, 'Creator is set in event') + + await compareCode(log.args.identity, deployedProxy.address) + let proxyOwner = await Proxy.at(log.args.identity).owner.call() + assert.equal(proxyOwner, identityManager.address, 'Proxy owner should be the identity manager') + }) + + describe('existing identity', () => { + + beforeEach(async function() { + let tx = await identityManager.createIdentity(user1, recoveryKey, {from: nobody}) + let log = tx.logs[0] + assert.equal(log.event, 'IdentityCreated', 'wrong event') + proxy = Proxy.at(log.args.identity) + }) + + it('allow transactions initiated by owner', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user1, user1, true) + }) + + it('don\'t allow transactions initiated by non owner', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user2, user2, false) + }) + + it('don\'t allow transactions initiated by recoveryKey', async function() { + await testForwardTo(testReg, identityManager, proxy.address, recoveryKey, recoveryKey, false) + }) + + it('onlyAuthorized modifier allows in correct users/relay', async function () { + //Allow a user claimed to be themselves + await testForwardTo(testReg, identityManager, proxy.address, user1, user1, true) + //Do not allow a user claiming to be someone else. + let errorThrown = false + try { + await testForwardTo(testReg, identityManager, proxy.address, user2, user1, true) + } catch (e) { + assert.match(e.message, /invalid opcode/, "Should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown an error") + //Allow the transaction relay. + await testForwardToFromRelay(testReg, identityManager, proxy.address, user1, relay, true) + }) + + it('owner can add other owner', async function() { + let isOwner = await identityManager.isOwner(proxy.address, user5, {from: user1}) + assert.isFalse(isOwner, 'user5 should not be owner yet') + let tx = await identityManager.addOwner(user1, proxy.address, user5, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'OwnerAdded', 'should trigger correct event') + assert.equal(log.args.identity, + proxy.address, + 'event should be for correct proxy') + assert.equal(log.args.owner, + user5, + 'Owner key is set in event') + assert.equal(log.args.instigator, + user1, + 'Instigator key is set in event') + isOwner = await identityManager.isOwner(proxy.address, user5, {from: user1}) + assert.isTrue(isOwner, 'user5 should be owner now') + }) + + it('owner is rateLimited on some functions', async function() { + //User1 adds user5 + let tx = await identityManager.addOwner(user1, proxy.address, user5, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'OwnerAdded', 'should trigger correct event') //tests for correctness elsewhere + //User1 try to add another owner, should fail. + let errorThrown = false + try { + await identityManager.addOwner(user1, proxy.address, user4, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //User1 try to remove a user. Should still be rate limited and fail. + errorThrown = false + try { + await identityManager.removeOwner(user1, proxy.address, user5, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //user1 tries to change recovery, but is still rate limited + errorThrown = false + try { + await identityManager.changeRecovery(user1, proxy.address, recoveryKey2, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //No longer rateLimited + await evm_increaseTime(adminTimeLock + 1) + //User1 tries to add another owner. Should be able to + tx = await identityManager.addOwner(user1, proxy.address, user4, {from: user1}) + log = tx.logs[0] + assert.equal(log.event, 'OwnerAdded', 'should trigger correct event') //tests for correctness elsewhere + //User1 try to remove a user. Should be rate limited and fail. + errorThrown = false + try { + await identityManager.removeOwner(user1, proxy.address, user5, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //user1 tries to change recovery, but is still rate limited + errorThrown = false + try { + await identityManager.changeRecovery(user1, proxy.address, recoveryKey2, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //no longer rateLimited + await evm_increaseTime(adminTimeLock + 1) + tx = await identityManager.removeOwner(user1, proxy.address, user5, {from: user1}) + log = tx.logs[0] + assert.equal(log.event, 'OwnerRemoved', 'should trigger correct event') + //user1 tries to change recovery, but is rate limited + errorThrown = false + try { + await identityManager.changeRecovery(user1, proxy.address, recoveryKey2, {from: user1}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //no longer rateLimited + await evm_increaseTime(adminTimeLock + 1) + tx = await identityManager.changeRecovery(user1, proxy.address, recoveryKey2, {from: user1}) + log = tx.logs[0] + assert.equal(log.event, 'RecoveryChanged', 'should trigger correct event') + }) + + it('non-owner can not add other owner', async function() { + errorThrown = false + try { + await identityManager.addOwner(user3, proxy.address, user4, {from: user3}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + }) + + describe('new owner added by owner', () => { + beforeEach(async function() { + await identityManager.addOwner(user1, proxy.address, user2, {from: user1}) + errorThrown = false + }) + + it('within userTimeLock is allowed transactions', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user2, user2, true) + }) + + describe('after userTimeLock', () => { + beforeEach(() => evm_increaseTime(userTimeLock)) + + it('Allow transactions', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user2, user2, true) + }) + + it('can not add other owner yet', async function() { + let errorThrown = false + try { + let temp = await identityManager.addOwner(user2, proxy.address, user4, {from: user2}) + console.log(temp) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + errorThrown = true + } + assert.isTrue(errorThrown, 'Should have thrown') + }) + + it('can not remove other owner yet', async function() { + let errorThrown = false + try { + await identityManager.removeOwner(user2, proxy.address, user1, {from: user2}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + errorThrown = true + } + assert.isTrue(errorThrown, 'Should have thrown') + }) + + it('can not change recoveryKey yet', async function() { + let errorThrown = false + try { + await identityManager.changeRecovery(user2, proxy.address, recoveryKey2, {from: user2}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + errorThrown = true + } + assert.isTrue(errorThrown, 'Should have thrown') + }) + }) + + describe('after adminTimeLock', () => { + beforeEach(() => evm_increaseTime(adminTimeLock)) + + it('can add new owner', async function() { + let tx = await identityManager.addOwner(user2, proxy.address, user3, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.owner, + user3, + 'Owner key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + }) + + it('can remove other owner', async function() { + let tx = await identityManager.removeOwner(user2, proxy.address, user1, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.owner, + user1, + 'Owner key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + }) + + it('can change recoveryKey', async function() { + let isRecovery = await identityManager.isRecovery(proxy.address, recoveryKey2, {from: user1}) + assert.isFalse(isRecovery, 'recoveryKey2 should not be recovery yet') + let tx = await identityManager.changeRecovery(user2, proxy.address, recoveryKey2, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.recoveryKey, + recoveryKey2, + 'recoveryKey key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + isRecovery = await identityManager.isRecovery(proxy.address, recoveryKey2, {from: user1}) + assert.isTrue(isRecovery, 'recoveryKey2 should be recovery now') + }) + }) + }) + + describe('new owner added by recoveryKey', () => { + beforeEach(async function() { + await identityManager.addOwnerFromRecovery(recoveryKey, proxy.address, user2, {from: recoveryKey}) + }) + + it('recoveryKey is rate limited in added new owners', async function () { + //should be rate limited when trying again + let errorThrown = false + try { + await identityManager.addOwnerFromRecovery(recoveryKey, proxy.address, user4, {from: recoveryKey}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "should have thrown") + //should no longer be rateLimited + await evm_increaseTime(adminTimeLock + 1) + tx = await identityManager.addOwnerFromRecovery(recoveryKey, proxy.address, user4, {from: recoveryKey}) + assert.equal(tx.logs[0].event, 'OwnerAdded', 'should trigger correct event') + }) + + it('within userTimeLock is not allowed transactions', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user2, user2, false) + }) + + describe('after userTimeLock', () => { + beforeEach(() => evm_increaseTime(userTimeLock)) + + it('Allow transactions', async function() { + await testForwardTo(testReg, identityManager, proxy.address, user2, user2, true) + }) + }) + + describe('after adminTimeLock', () => { + beforeEach(() => evm_increaseTime(adminTimeLock)) + + it('can add new owner', async function() { + let tx = await identityManager.addOwner(user2, proxy.address, user3, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.owner, + user3, + 'Owner key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + }) + + it('can remove other owner', async function() { + let tx = await identityManager.removeOwner(user2, proxy.address, user1, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.owner, + user1, + 'Owner key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + }) + + it('can change recoveryKey', async function() { + let tx = await identityManager.changeRecovery(user2, proxy.address, recoveryKey2, {from: user2}) + const log = tx.logs[0] + assert.equal(log.args.recoveryKey, + recoveryKey2, + 'recoveryKey key is set in event') + assert.equal(log.args.instigator, + user2, + 'Instigator key is set in event') + }) + }) + }) + }) + + describe('migration', () => { + let newIdenManager + beforeEach(async function() { + let tx = await identityManager.createIdentity(user1, recoveryKey, {from: nobody}) + let log = tx.logs[0] + assert.equal(log.event, 'IdentityCreated', 'wrong event') + proxy = Proxy.at(log.args.identity) + newIdenManager = await MetaIdentityManager.new(userTimeLock, adminTimeLock, adminRate, relay) + //user2 is now a younger owner, while user1 is an olderowner + tx = await identityManager.addOwner(user1, proxy.address, user2, {from: user1}) + log = tx.logs[0] + assert.equal(log.event, 'OwnerAdded', 'wrong event') + assert.equal(log.args.identity, proxy.address, 'wrong proxy') + assert.equal(log.args.owner, user2, 'wrong owner added') + assert.equal(log.args.instigator, user1, 'wrong initiator') + }) + + it('older owner can start transfer', async function() { + let tx = await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'MigrationInitiated', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'migrating to wrong location') + assert.equal(log.args.instigator, user1, 'migrating to wrong location') + }) + + it('young owner should not be able to start transfer', async function() { + let threwError = false + try { + await identityManager.initiateMigration(user2, proxy.address, newIdenManager.address, {from: user2}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + threwError = true + } + assert.isTrue(threwError, 'Should have thrown an error here') + }) + + it('non-owner should not be able to start transfer' , async function() { + let threwError = false + try { + await identityManager.initiateMigration(nobody, proxy.address, newIdenManager.address, {from: nobody}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + threwError = true + } + assert.isTrue(threwError, 'Should have thrown an error here') + }) + + it('correct keys can cancel migration', async function() { + let tx = await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'MigrationInitiated', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'migrating to wrong location') + assert.equal(log.args.instigator, user1, 'started migrating from wrong user') + + tx = await identityManager.cancelMigration(user1, proxy.address, {from: user1}) + log = tx.logs[0] + assert.equal(log.event, 'MigrationCanceled', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'canceled migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'canceled migration to wrong location') + assert.equal(log.args.instigator, user1, 'canceled migrating from wrong user') + + //set up migration again + tx = await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + //Second migration attempt, should allow + log = tx.logs[0] + assert.equal(log.event, 'MigrationInitiated', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'migrating to wrong location') + assert.equal(log.args.instigator, user1, 'started migrating from wrong person') + + await evm_increaseTime(userTimeLock) + tx = await identityManager.cancelMigration(user2, proxy.address, {from: user2}) + //young owner should also be able to cancel migration + log = tx.logs[0] + assert.equal(log.event, 'MigrationCanceled', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'canceled migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'canceled migration to wrong location') + assert.equal(log.args.instigator, user2, 'canceled migrating from wrong person') + + await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + //Don't need to check setup again + let threwError = false + try { + await identityManager.cancelMigration(nobody, proxy.address, {from: nobody}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + threwError = true + } + assert.isTrue(threwError, 'Should have thrown error') + }) + + it('correct keys should finilize transfer', async function() { + await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + let threwError = false + try { + await identityManager.finalizeMigration(nobody, proxy.address, {from: nobody}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + threwError = true + } + assert.isTrue(threwError, 'non-owner should not be able to finalize') + threwError = false + try { + await identityManager.finalizeMigration(user2, proxy.address, {from: user2}) + } catch(e) { + assert.match(e.message, /invalid opcode/, 'throws an error') + threwError = true + } + assert.isTrue(threwError, 'young owner should not be able to finalize') + + await evm_increaseTime(2 * adminTimeLock) + let tx = await identityManager.finalizeMigration(user1, proxy.address, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'MigrationFinalized', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'finalized migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'finalized migration to wrong location') + assert.equal(log.args.instigator, user1, 'finalized migrating from wrong person') + }) + + it('should be owner of new identityManager after successful transfer', async function() { + await identityManager.initiateMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + let data = '0x' + lightwallet.txutils._encodeFunctionTxData('registerIdentity', ['address', 'address'], [user1, recoveryKey]) + await identityManager.forwardTo(user1, proxy.address, newIdenManager.address, 0, data, {from: user1}) + //increase time until migration can be finialized + await evm_increaseTime(2 * adminTimeLock) + let tx = await identityManager.finalizeMigration(user1, proxy.address, newIdenManager.address, {from: user1}) + let log = tx.logs[0] + assert.equal(log.event, 'MigrationFinalized', 'wrong event initiated') + assert.equal(log.args.identity, proxy.address, 'finalized migrating wrong proxy') + assert.equal(log.args.newIdManager, newIdenManager.address, 'finalized migration to wrong location') + assert.equal(log.args.instigator, user1, 'finalized migrating from wrong user') + data = '0x' + lightwallet.txutils._encodeFunctionTxData('register', ['uint256'], [LOG_NUMBER_1]) + await newIdenManager.forwardTo(user1, proxy.address, testReg.address, 0, data, {from: user1}) + // Verify that the proxy address is logged as the sender + let regData = await testReg.registry.call(proxy.address) + assert.equal(regData.toNumber(), LOG_NUMBER_1, 'User1 should be able to send transaction from new contract') + }) + }) +}) diff --git a/test/txRelay.js b/test/txRelay.js new file mode 100644 index 0000000..fec4235 --- /dev/null +++ b/test/txRelay.js @@ -0,0 +1,856 @@ +const lightwallet = require('eth-lightwallet') +const evm_increaseTime = require('./evmIncreaseTime.js') +const MetaTxRelay = artifacts.require('TxRelay') +const MetaIdentityManager = artifacts.require('MetaIdentityManager') +const Proxy = artifacts.require('Proxy') +const TestRegistry = artifacts.require('TestRegistry') +const MetaTestRegistry = artifacts.require('MetaTestRegistry') +const Promise = require('bluebird') +const compareCode = require('./compareCode') +const solsha3 = require('solidity-sha3').default +const leftPad = require('left-pad') + +const LOG_NUMBER_1 = 1234 +const LOG_NUMBER_2 = 2345 + +const userTimeLock = 100; +const adminTimeLock = 1000; +const adminRate = 200; + +//NOTE: All references to identityManager in this contract are to a metaIdentityManager + +const zero = "0000000000000000000000000000000000000000000000000000000000000000" + +function enc(funName, types, params) { + return '0x' + lightwallet.txutils._encodeFunctionTxData(funName, types, params) +} + +//Returns random number in [1, 99] +function getRandomNumber() { //Thanks Oed :~) + return Math.floor(Math.random() * (100 - 1)) + 1; +} + +//Left packs a (hex) string. Should probably use leftpad +function pad(n) { + assert.equal(typeof(n), 'string', "Passed in a non string") + let data + if (n.startsWith("0x")) { + data = '0x' + leftPad(n.slice(2), '64', '0') + assert.equal(data.length, 66, "packed incorrectly") + return data; + } else { + data = '0x' + leftPad(n, '64', '0') + assert.equal(data.length, 66, "packed incorrectly") + return data; + } +} + +async function signPayload(signingAddr, sendingAddr, txRelay, destinationAddress, functionName, + functionTypes, functionParams, lw, keyFromPw) +{ + if (functionTypes.length !== functionParams.length) { + return //should throw error + } + if (typeof(functionName) !== 'string') { + return //should throw error + } + let nonce + let blockTimeout + let data + let hashInput + let hash + let sig + let retVal = {} + data = enc(functionName, functionTypes, functionParams) + + nonce = await txRelay.getNonce.call(signingAddr) + //Tight packing, as Solidity sha3 does + hashInput = txRelay.address + pad(nonce.toString('16')).slice(2) + + destinationAddress.slice(2) + data.slice(2) + sendingAddr.slice(2) + hash = solsha3(hashInput) + sig = lightwallet.signing.signMsgHash(lw, keyFromPw, hash, signingAddr) + retVal.r = '0x'+sig.r.toString('hex') + retVal.s = '0x'+sig.s.toString('hex') + retVal.v = sig.v //Q: Why is this not converted to hex? + retVal.data = data + retVal.hash = hash + retVal.nonce = nonce + retVal.dest = destinationAddress + return retVal +} + + +//shouldThrow is if the relayer should throw +//shouldUpdate is if the subcall should throw +async function testMetaTxForwardTo(signingAddr, sendingAddr, txRelay, identityManagerAddress, proxyAddress, + testReg, relayShouldFail, subCallShouldFail, lw, keyFromPw) { + //Relayer must be a truffle account, while fromAccount must be lightwallet account + let errorThrown = false + let testNum = getRandomNumber() + // Encode the transaction to send to the proxy contract + let data = enc('register', ['uint256'], [testNum]) + let types = ['address', 'address', 'address', 'uint256', 'bytes'] + let params = [signingAddr, proxyAddress, testReg.address, 0, data] + // Setup payload for meta-tx + let p = await signPayload(signingAddr, sendingAddr, txRelay, identityManagerAddress, + 'forwardTo', types, params, lw, keyFromPw) + let firstNonce = p.nonce + // Send forward request from the owner + try { + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sendingAddr}) + } catch (error) { + errorThrown = true + assert.match(errorThrown, /invalid opcode/, "An error should have been thrown") + } + if (relayShouldFail) { + assert.true(errorThrown, "Transaction should not have gotten through relay") + } else { + let regData = await testReg.registry.call(proxyAddress) + if (subCallShouldFail) { + assert.notEqual(regData.toNumber(), testNum) + } else { + assert.equal(regData.toNumber(), testNum) + } + p = await signPayload(signingAddr, sendingAddr, txRelay, identityManagerAddress, + 'forwardTo', types, params, lw, keyFromPw) + assert.equal(p.nonce.toNumber(), firstNonce.toNumber() + 1, "Nonce should have updated") + } +} + +async function checkLogs(tx, eventName, indexAddOne, indexAddTwo, notIndexAdd) { + const log = tx.receipt.logs[0] + assert.equal(log.topics[0], solsha3(eventName + "(address,address,address)"), "Wrong event") + assert.equal(log.topics[1], pad(indexAddOne), "Wrong topic one") + assert.equal(log.topics[2], pad(indexAddTwo), "Wrong topic two") + assert.equal(log.data, pad(notIndexAdd), "Wrong initiator") +} + + +contract('TxRelay', (accounts) => { + let proxy + let deployedProxy + let testReg + let mTestReg //metaTestRegistry + let identityManager + let txRelay + let user1 + let user2 + let user3 + let user4 + let sender + + let recoveryKey + let recoveryKey2 + + let lw + let keyFromPw + + let data + let types + let params + let newData + let res + let regData + let p + let errorThrown = false; + + beforeEach((done) => { + let seed = "pull rent tower word science patrol economy legal yellow kit frequent fat" + + lightwallet.keystore.createVault( + {hdPathString: "m/44'/60'/0'/0", + seedPhrase: seed, + password: "test", + salt: "testsalt" + }, + function (err, keystore) { + + lw = keystore + lw.keyFromPassword("test", async function(e,k) { + keyFromPw = k + + lw.generateNewAddress(keyFromPw, 10) + let acct = lw.getAddresses() + + user1 = '0x'+acct[0] + nobody = '0x'+acct[1] // has no authority + user2 = '0x'+acct[2] + user3 = '0x'+acct[3] + user4 = '0x'+acct[4] + recoveryKey = '0x'+acct[8] + recoveryKey2 = '0x'+acct[9] + + sender = accounts[0] + notSender = accounts[1] + regularUser = accounts[2] + + errorThrown = false + + txRelay = await MetaTxRelay.new() + identityManager = await MetaIdentityManager.new(userTimeLock, adminTimeLock, adminRate, txRelay.address) + deployedProxy = await Proxy.new({from: sender}) + testReg = await TestRegistry.new() + let tx = await identityManager.createIdentity(user1, recoveryKey, {from: sender}) + const log = tx.logs[0] + assert.equal(log.event, 'IdentityCreated', 'wrong event') + proxy = Proxy.at(log.args.identity) + mTestReg = await MetaTestRegistry.new() + done() + }) + }) + }) + + describe("Meta transactions", () => { + it('Should forward properly formatted meta tx', async function() { + types = ['address', 'uint256'] + params = [user1, LOG_NUMBER_1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), LOG_NUMBER_1, 'Registry did not update') + }) + + + it('Should forward properly formatted meta tx, though sub-calls may fail', async function() { + types = ['address'] + params = [user1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'testThrow', + types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, + {from: sender, gas: 4500000}) + //Best way I have found to test for throw in a sub-call. Suggestions welcome :) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Did not throw, as it should have consumed gas") + + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'testThrow', + types, params, lw, keyFromPw) + + assert.equal(p.nonce, "1", "nonce should have updated") + }) + + it('Should not forward meta tx from someone lying about address', async function() { + //User1 encodes user2's address. Still can only sign w/ their own key + types = ['address', 'uint256'] + params = [user2, LOG_NUMBER_1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user2, "Address is not first parameter") + + try { + //claim to be a different person again + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "Should have thrown") + errorThrown = true; + } + assert.isTrue(errorThrown, "Has thrown an error") + + //Check both address in case in updated one + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), 0, 'Registry did not update') + regData = await mTestReg.registry.call(user2) + assert.equal(regData.toNumber(), 0, 'Registry did not update') + }) + + it('Should not forward meta tx from a dishonest relayer', async function() { + types = ['address', 'uint256'] + params = [user1, LOG_NUMBER_1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + try { + //Wrong sender tries to send transaction + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: notSender}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "Should have thrown") + errorThrown = true; + } + assert.isTrue(errorThrown, "Has thrown an error") + + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), 0, 'Registry did not update') + }) + + it('Should not forward meta tx with Ether', async function () { + types = ['address', 'uint256'] + params = [user1, LOG_NUMBER_1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user1, "Address is not first parameter") + + try { + //Send the transaction with 1 Wei + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, + {from: sender, value: 1}) + } catch (e) { + assert.match(e.message, /Cannot send value to non-payable function/, "Should have thrown") + errorThrown = true; + } + assert.isTrue(errorThrown, "Should have thrown an error") + + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), 0, 'Registry did not update') + }) + + it('Should not allow a replay attack', async function () { + types = ['address', 'uint256'] + params = [user1, LOG_NUMBER_1] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user1, "Address is not first parameter") + + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), LOG_NUMBER_1, 'Registry did not update') + + try { + //Relayer tries to relay the same transaction twice + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + } catch (e) { + assert.match(e.message, /invalid opcode/, "should have thrown") + errorThrown = true + } + assert.isTrue(errorThrown, "Should have thrown") + }) + + //Had some weird stuff w/ hex before - not a great test though :@ + it('Should forward meta tx multiple times', async function() { + let randNum + + for (let i = 0; i < 100; i++) { + randNum = getRandomNumber() + + types = ['address', 'uint256'] + params = [user1, randNum] + p = await signPayload(user1, sender, txRelay, mTestReg.address, 'register', + types, params, lw, keyFromPw) + + assert.equal(p.nonce, i.toString(), "Nonce should have updated") + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + regData = await mTestReg.registry.call(user1) + assert.equal(regData.toNumber(), randNum, 'Registry did not update properly') + } + }) + }) + + describe("Meta-tx with IdentityManager", () => { + describe("existing identity", () => { + it("allow transactions initiated by owner", async function () { + await testMetaTxForwardTo(user1, sender, txRelay, identityManager.address, + proxy.address, testReg, false, false, lw, keyFromPw) + }) + + it("don't allow transactions initiated by non owner", async function () { + await testMetaTxForwardTo(user2, sender, txRelay, identityManager.address, proxy.address, + testReg, false, true, lw, keyFromPw) + }) + + it("owner can add other owner", async function () { + types = ['address', 'address', 'address'] + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user2, user1) + }) + + it("owner is rateLimited in adding/removing owners and recoveryKey", async function () { + //First, user1 adds user2 as a new owner + types = ['address', 'address', 'address'] + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user2, user1) + //Then, user1 tries to add user3 as a new owner + params = [user1, proxy.address, user3] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Tries to change the recoveryKey + params = [user1, proxy.address, recoveryKey2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Then have user1 try to remove user2 - still is rateLimited + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'removeOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Make them no longer rateLimited + await evm_increaseTime(adminRate + 1) + //Have them add user3, sucessfull this time + params = [user1, proxy.address, user3] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + await checkLogs(tx, "OwnerAdded", proxy.address, user3, user1) + + //Try to remove owner two again, should fail + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'removeOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Tries to change the recoveryKey + params = [user1, proxy.address, recoveryKey2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Unrate limit them again + await evm_increaseTime(adminRate + 1) + + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'removeOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "OwnerRemoved", proxy.address, user2, user1) + + //Tries to change the recoveryKey + params = [user1, proxy.address, recoveryKey2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Should have thrown in a sub call") + + //Unrate limit them again + await evm_increaseTime(adminRate + 1) + //Tries to change the recoveryKey + params = [user1, proxy.address, recoveryKey2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "RecoveryChanged", proxy.address, recoveryKey2, user1) + }) + + it("non-owner can not add other owner", async function () { + types = ['address', 'address', 'address'] + params = [user3, proxy.address, user4] + p = await signPayload(user3, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user3, "Address is not first parameter") + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Generated logs, thus owner was added") + }) + + describe("new owner added by owner", () => { + beforeEach(async function () { + types = ['address', 'address', 'address'] + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user2, user1) + }) + + it("within userTimeLock is allowed transactions", async function () { + await testMetaTxForwardTo(user2, sender, txRelay, identityManager.address, proxy.address, + testReg, false, false, lw, keyFromPw) + }) + + describe("after userTimeLock", () => { + beforeEach(async function () { + await evm_increaseTime(userTimeLock + 1) + }) + + it("Allow transactions", async function () { + await testMetaTxForwardTo(user2, sender, txRelay, identityManager.address, proxy.address, + testReg, false, false, lw, keyFromPw) + }) + + it("can not add other owner yet", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, user3] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user2, "Address is not first parameter") + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Generated logs, thus owner was added") + }) + + it("can not remove other owner yet", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, user1] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user2, "Address is not first parameter") + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Generated logs, thus owner was removed") + }) + + it("can not change recoveryKey yet", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, recoveryKey2] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user2, "Address is not first parameter") + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Generated logs, thus recovery was changed") + }) + }) + + describe("after adminTimeLock", () => { + beforeEach(async function () { + await evm_increaseTime(adminTimeLock + 1) + }) + + it("can add new owner", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, user3] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user3, user2) + }) + + it("can remove other owner", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, user3] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'removeOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerRemoved", proxy.address, user3, user2) + }) + + it("can change recoveryKey", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, recoveryKey2] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "RecoveryChanged", proxy.address, recoveryKey2, user2) + }) + }) + }) + describe("new owner added by recoveryKey", () => { + beforeEach(async function () { + types = ['address', 'address', 'address'] + params = [recoveryKey, proxy.address, user4] //new owner + p = await signPayload(recoveryKey, sender, txRelay, identityManager.address, + 'addOwnerFromRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user4, recoveryKey) + }) + + it('recovery key is rateLimited', async function () { + types = ['address', 'address', 'address'] + params = [recoveryKey, proxy.address, user4] //new owner + p = await signPayload(recoveryKey, sender, txRelay, identityManager.address, + 'addOwnerFromRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender, gas: 4500000}) + assert.isAbove(tx.receipt.gasUsed, 4000000, "Sub call should have thrown") + }) + + it("within userTimeLock is not allowed transactions", async function () { + await testMetaTxForwardTo(user4, sender, txRelay, identityManager.address, proxy.address, + testReg, false, true, lw, keyFromPw) + }) + + describe("after userTimeLock", () => { + it("Allow transactions", async function () { + await evm_increaseTime(userTimeLock + 1) + await testMetaTxForwardTo(user4, sender, txRelay, identityManager.address, proxy.address, + testReg, false, false, lw, keyFromPw) + }) + }) + + describe("after adminTimeLock", () => { + beforeEach(async function () { + await evm_increaseTime(adminTimeLock + 1) + }) + + it("can add new owner", async function () { + types = ['address', 'address', 'address'] + params = [user4, proxy.address, user3] + p = await signPayload(user4, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user3, user4) + }) + + it("can remove other owner", async function () { + types = ['address', 'address', 'address'] + params = [user4, proxy.address, user3] + p = await signPayload(user4, sender, txRelay, identityManager.address, + 'removeOwner', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerRemoved", proxy.address, user3, user4) + }) + + it("can change recoveryKey", async function () { + types = ['address', 'address', 'address'] + params = [user4, proxy.address, recoveryKey2] + p = await signPayload(user4, sender, txRelay, identityManager.address, + 'changeRecovery', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "RecoveryChanged", proxy.address, recoveryKey2, user4) + }) + }) + }) + }) + describe("migration", () => { + let newIdenManager + beforeEach(async function () { + newIdenManager = await MetaIdentityManager.new(userTimeLock, adminTimeLock, adminRate, txRelay.address) + //Make user2 a young owner. + types = ['address', 'address', 'address'] + params = [user1, proxy.address, user2] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'addOwner', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user1, "Address is not first parameter") + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "OwnerAdded", proxy.address, user2, user1) + }) + + it("older owner can start transfer", async function () { + types = ['address', 'address', 'address'] + params = [user1, proxy.address, newIdenManager.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "MigrationInitiated", proxy.address, newIdenManager.address, user1) + }) + + it("young owner should not be able to start transfer", async function () { + types = ['address', 'address', 'address'] + params = [user2, proxy.address, newIdenManager.address] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Log generated, so therefore transfer started") + }) + + it("non-owner should not be able to start transfer", async function () { + types = ['address', 'address', 'address'] + params = [user3, proxy.address, newIdenManager.address] + p = await signPayload(user3, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Log generated, so therefore transfer started") + }) + + it("correct keys can cancel migration ", async function () { + //Start migration + types = ['address', 'address', 'address'] + params = [user1, proxy.address, newIdenManager.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "MigrationInitiated", proxy.address, newIdenManager.address, user1) + + //Non-owner tries to cancel + types = ['address', 'address'] + params = [user3, proxy.address] + p = await signPayload(user3, sender, txRelay, identityManager.address, + 'cancelMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Log generated, so therefore transfer started") + + //Young owner tries to cancel + params = [user2, proxy.address] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'cancelMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "MigrationCanceled", proxy.address, newIdenManager.address, user2) + + await evm_increaseTime(adminTimeLock + 1) + //Start migration again + types = ['address', 'address', 'address'] + params = [user1, proxy.address, newIdenManager.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "MigrationInitiated", proxy.address, newIdenManager.address, user1) + + //Older owner tries to cancel. + types = ['address', 'address'] + params = [user1, proxy.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'cancelMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + await checkLogs(tx, "MigrationCanceled", proxy.address, newIdenManager.address, user1) + }) + + it("correct keys should finilize transfer", async function () { + //Start migration + types = ['address', 'address', 'address'] + params = [user1, proxy.address, newIdenManager.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "MigrationInitiated", proxy.address, newIdenManager.address, user1) + + //Non-owner tries to finalize + types = ['address', 'address'] + params = [user3, proxy.address] + p = await signPayload(user3, sender, txRelay, identityManager.address, + 'finalizeMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Log generated, so therefore transfer started") + + //Young owner tries to finalize + params = [user2, proxy.address] + p = await signPayload(user2, sender, txRelay, identityManager.address, + 'finalizeMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + assert.isUndefined(tx.receipt.logs[0], "Log generated, so therefore transfer started") + + await evm_increaseTime(adminTimeLock + 1) + + //Older owner tries to finalize, and succedes. + params = [user1, proxy.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'finalizeMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "MigrationFinalized", proxy.address, newIdenManager.address, user1) + }) + + it("should be owner of new identityManager after successful transfer", async function () { + //Start migration + types = ['address', 'address', 'address'] + params = [user1, proxy.address, newIdenManager.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'initiateMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "MigrationInitiated", proxy.address, newIdenManager.address, user1) + + //setup new identitymanage to receive + data = enc('registerIdentity', ['address', 'address'], [user1, recoveryKey]) + types = ['address', 'address', 'address', 'uint256', 'bytes'] + params = [user1, proxy.address, newIdenManager.address, 0, data] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'forwardTo', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user1, "Address is not first parameter") + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + //Allow for transfer to finalize + await evm_increaseTime(adminTimeLock + 1) + + types = ['address', 'address'] + params = [user1, proxy.address] + p = await signPayload(user1, sender, txRelay, identityManager.address, + 'finalizeMigration', types, params, lw, keyFromPw) + tx = await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + + await checkLogs(tx, "MigrationFinalized", proxy.address, newIdenManager.address, user1) + + //Setup data and sign + data = enc('register', ['uint256'], [LOG_NUMBER_1]) + types = ['address', 'address', 'address', 'uint256', 'bytes'] + params = [user1, proxy.address, testReg.address, 0, data] + p = await signPayload(user1, sender, txRelay, newIdenManager.address, + 'forwardTo', types, params, lw, keyFromPw) + + res = await txRelay.getAddress.call(p.data) + assert.equal(res, user1, "Address is not first parameter") + + await txRelay.relayMetaTx(p.v, p.r, p.s, p.dest, p.data, {from: sender}) + regData = await testReg.registry.call(proxy.address) + assert.equal(regData.toNumber(), LOG_NUMBER_1, 'Registry did not update properly') + }) + }) + }) + + it('Should not approve bad data', async function () { + //This function needs some serious thought + testing + let t = ['address', 'address', 'address', 'uint256', 'bytes'] //types + let p = [user1, proxy.address, testReg.address, 0, []] //params + let n = "forwardTo" //name of function + + //encoded correctly + data = enc(n, t, p) + res = await txRelay.getAddress.call(data) + assert.equal(res, user1, "Address is not first parameter") + //off by a nibble + data = enc(n, t, p).slice(1) + res = await txRelay.getAddress.call(data) + assert.notEqual(res, user1, "Address is first parameter, should be shifted off") + //short + data = enc(n, t, p).substring(0, 16) + res = await txRelay.getAddress.call(data) + assert.notEqual(res, user1, "Address is first parameter, should be too short") + //wrong address + let badParam = [user2, proxy.address, testReg.address, 0, []] + data = enc(n, t, badParam) + res = await txRelay.getAddress.call(data) + assert.notEqual(res, user1, "Address is first parameter, should be someone else") + //first half of address + data = enc(n, t, p).substring(0, 26) + zero + res = await txRelay.getAddress.call(data) + assert.notEqual(res, user1, "Address is first parameter, should be too short") + }) +}) diff --git a/yarn.lock b/yarn.lock index 4cfcefd..ccc01b2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,14 +2,6 @@ # yarn lockfile v1 -"@types/mkdirp@^0.3.29": - version "0.3.29" - resolved "https://registry.yarnpkg.com/@types/mkdirp/-/mkdirp-0.3.29.tgz#7f2ad7ec55f914482fc9b1ec4bb1ae6028d46066" - -"@types/node@^6", "@types/node@^6.0.45": - version "6.0.70" - resolved "https://registry.yarnpkg.com/@types/node/-/node-6.0.70.tgz#f6e04b859205ee3611849921f09819701dbfa5e8" - abbrev@1: version "1.1.0" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.0.tgz#d0554c2256636e2f56e7c2e5ad183f859428d81f" @@ -20,36 +12,10 @@ abstract-leveldown@2.4.1, abstract-leveldown@~2.4.0: dependencies: xtend "~4.0.0" -accept@2.x.x: - version "2.1.3" - resolved "https://registry.yarnpkg.com/accept/-/accept-2.1.3.tgz#ab0f5bda4c449bbe926aea607b3522562f5acf86" - dependencies: - boom "4.x.x" - hoek "4.x.x" - -accepts@1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.3.tgz#c3ca7434938648c3e0d9c1e328dd68b622c284ca" - dependencies: - mime-types "~2.1.11" - negotiator "0.6.1" - -acorn@^1.0.3: - version "1.2.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-1.2.2.tgz#c8ce27de0acc76d896d2b1fad3df588d9e82f014" - -adm-zip@~0.4.3: - version "0.4.7" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.7.tgz#8606c2cbf1c426ce8c8ec00174447fd49b6eafc1" - aes-js@^0.2.3: version "0.2.4" resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-0.2.4.tgz#94b881ab717286d015fa219e08fb66709dda5a3d" -after@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/after/-/after-0.8.2.tgz#fedb394f9f0e02aa9768e702bda23b505fae7e1f" - ajv@^4.9.1: version "4.11.7" resolved "https://registry.yarnpkg.com/ajv/-/ajv-4.11.7.tgz#8655a5d86d0824985cc471a1d913fb6729a0ec48" @@ -57,23 +23,6 @@ ajv@^4.9.1: co "^4.6.0" json-stable-stringify "^1.0.1" -amdefine@>=0.0.4: - version "1.0.1" - resolved "https://registry.yarnpkg.com/amdefine/-/amdefine-1.0.1.tgz#4a5282ac164729e93619bcfd3ad151f817ce91f5" - -ammo@2.x.x: - version "2.0.3" - resolved "https://registry.yarnpkg.com/ammo/-/ammo-2.0.3.tgz#914bbcf65b043ed0f58a8a9d0196e250ec51e6a7" - dependencies: - boom "4.x.x" - hoek "4.x.x" - -ansi-align@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-1.1.0.tgz#2f0c1658829739add5ebb15e6b0c6e3423f016ba" - dependencies: - string-width "^1.0.1" - ansi-regex@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" @@ -110,49 +59,14 @@ arr-flatten@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.0.3.tgz#a274ed85ac08849b6bd7847c4580745dc51adfb1" -array-union@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" - dependencies: - array-uniq "^1.0.1" - -array-uniq@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6" - array-unique@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53" -arraybuffer.slice@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz#f33b2159f0532a3f3107a272c0ccfbd1ad2979ca" - arrify@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d" -asap@~2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.5.tgz#522765b50c3510490e52d7dcfe085ef9ba96958f" - -asn1.js@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-1.0.3.tgz#281ba3ec1f2448fe765f92a4eecf883fe1364b54" - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - optionalDependencies: - bn.js "^1.0.0" - -asn1.js@^4.9.1: - version "4.9.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-4.9.1.tgz#48ba240b45a9280e94748990ba597d216617fd40" - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - asn1@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.3.tgz#dac8787713c9966849fc8180777ebe9c1ddf3b86" @@ -165,10 +79,6 @@ assert-plus@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-0.2.0.tgz#d74e1b87e7affc0db8aadb7021f3fe48101ab234" -assertion-error@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.0.2.tgz#13ca515d86206da0bac66e834dd397d87581094c" - async-each@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.1.tgz#19d386a1d9edc6e7c1c85d388aedbcc56d33602d" @@ -183,7 +93,7 @@ async@^1.4.2, async@^1.5.2, async@~1.5.0: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" -async@^2.1.2, async@^2.1.4, async@^2.1.5, async@^2.3.0: +async@^2.1.2: version "2.3.0" resolved "https://registry.yarnpkg.com/async/-/async-2.3.0.tgz#1013d1051047dd320fe24e494d5c66ecaf6147d9" dependencies: @@ -205,10 +115,6 @@ aws4@^1.2.1: version "1.6.0" resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.6.0.tgz#83ef5ca860b2b32e4a0deedee8c771b9db57471e" -b64@3.x.x: - version "3.0.2" - resolved "https://registry.yarnpkg.com/b64/-/b64-3.0.2.tgz#7a9d60466adf7b8de114cbdf651a5fdfcc90894d" - babel-cli@*: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.24.1.tgz#207cd705bba61489b2ea41b5312341cf6aca2283" @@ -239,19 +145,19 @@ babel-code-frame@^6.22.0: js-tokens "^3.0.0" babel-core@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.24.1.tgz#8c428564dce1e1f41fb337ec34f4c3b022b5ad83" + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-6.25.0.tgz#7dd42b0463c742e9d5296deb3ec67a9322dad729" dependencies: babel-code-frame "^6.22.0" - babel-generator "^6.24.1" + babel-generator "^6.25.0" babel-helpers "^6.24.1" babel-messages "^6.23.0" babel-register "^6.24.1" babel-runtime "^6.22.0" - babel-template "^6.24.1" - babel-traverse "^6.24.1" - babel-types "^6.24.1" - babylon "^6.11.0" + babel-template "^6.25.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" convert-source-map "^1.1.0" debug "^2.1.1" json5 "^0.5.0" @@ -262,13 +168,13 @@ babel-core@^6.24.1: slash "^1.0.0" source-map "^0.5.0" -babel-generator@^6.24.1: - version "6.24.1" - resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.24.1.tgz#e715f486c58ded25649d888944d52aa07c5d9497" +babel-generator@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-generator/-/babel-generator-6.25.0.tgz#33a1af70d5f2890aeb465a4a7793c1df6a9ea9fc" dependencies: babel-messages "^6.23.0" babel-runtime "^6.22.0" - babel-types "^6.24.1" + babel-types "^6.25.0" detect-indent "^4.0.0" jsesc "^1.3.0" lodash "^4.2.0" @@ -753,6 +659,16 @@ babel-template@^6.24.1: babylon "^6.11.0" lodash "^4.2.0" +babel-template@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-template/-/babel-template-6.25.0.tgz#665241166b7c2aa4c619d71e192969552b10c071" + dependencies: + babel-runtime "^6.22.0" + babel-traverse "^6.25.0" + babel-types "^6.25.0" + babylon "^6.17.2" + lodash "^4.2.0" + babel-traverse@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.24.1.tgz#ab36673fd356f9a0948659e7b338d5feadb31695" @@ -767,6 +683,20 @@ babel-traverse@^6.24.1: invariant "^2.2.0" lodash "^4.2.0" +babel-traverse@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-traverse/-/babel-traverse-6.25.0.tgz#2257497e2fcd19b89edc13c4c91381f9512496f1" + dependencies: + babel-code-frame "^6.22.0" + babel-messages "^6.23.0" + babel-runtime "^6.22.0" + babel-types "^6.25.0" + babylon "^6.17.2" + debug "^2.2.0" + globals "^9.0.0" + invariant "^2.2.0" + lodash "^4.2.0" + babel-types@^6.19.0, babel-types@^6.24.1: version "6.24.1" resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.24.1.tgz#a136879dc15b3606bda0d90c1fc74304c2ff0975" @@ -776,57 +706,44 @@ babel-types@^6.19.0, babel-types@^6.24.1: lodash "^4.2.0" to-fast-properties "^1.0.1" +babel-types@^6.25.0: + version "6.25.0" + resolved "https://registry.yarnpkg.com/babel-types/-/babel-types-6.25.0.tgz#70afb248d5660e5d18f811d91c8303b54134a18e" + dependencies: + babel-runtime "^6.22.0" + esutils "^2.0.2" + lodash "^4.2.0" + to-fast-properties "^1.0.1" + babylon@^6.11.0, babylon@^6.15.0: version "6.17.0" resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.0.tgz#37da948878488b9c4e3c4038893fa3314b3fc932" -backo2@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/backo2/-/backo2-1.0.2.tgz#31ab1ac8b129363463e35b3ebb69f4dfcfba7947" +babylon@^6.17.2: + version "6.17.4" + resolved "https://registry.yarnpkg.com/babylon/-/babylon-6.17.4.tgz#3e8b7402b88d22c3423e137a1577883b15ff869a" balanced-match@^0.4.1: version "0.4.2" resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-0.4.2.tgz#cb3f3e3c732dc0f01ee70b403f302e61d7709838" -base-x@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.0.tgz#77b56f0311070b780b3c8a5f534beac47e506702" - base-x@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/base-x/-/base-x-1.1.0.tgz#42d3d717474f9ea02207f6d1aa1f426913eeb7ac" -base-x@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-2.0.5.tgz#11967f90b42995cfdb5f50a1be499d7675db4fce" - -base32.js@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/base32.js/-/base32.js-0.1.0.tgz#b582dec693c2f11e893cf064ee6ac5b6131a2202" - -base64-arraybuffer@0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz#73926771923b5a19747ad666aa5cd4bf9c6e9ce8" - base64-js@^1.0.2: version "1.2.0" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.2.0.tgz#a39992d723584811982be5e290bb6a53d86700f1" -base64id@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64id/-/base64id-1.0.0.tgz#47688cb99bb6804f0e06d3e763b1c32e57d8e6b6" - bcrypt-pbkdf@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz#63bc5dcb61331b92bc05fd528953c33462a06f8d" dependencies: tweetnacl "^0.14.3" -better-assert@~1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/better-assert/-/better-assert-1.0.2.tgz#40866b9e1b9e0b55b481894311e68faffaebc522" - dependencies: - callsite "1.0.0" +bignumber.js@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-4.0.2.tgz#2d1dc37ee5968867ecea90b6da4d16e68608d21d" bignumber.js@debris/bignumber.js#94d7146671b9719e00a09c29b01a691bc85048c2, "bignumber.js@git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2": version "2.0.7" @@ -840,10 +757,6 @@ bignumber.js@~2.1.4: version "2.1.4" resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-2.1.4.tgz#29b3bb693dbb238e88b72eac2fb89650888b2d59" -bignumber.js@~3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-3.0.1.tgz#807652d10e39de37e9e3497247edc798bb746f76" - binary-extensions@^1.0.0: version "1.8.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.8.0.tgz#48ec8d16df4377eae5fa5884682480af4d95c774" @@ -852,16 +765,7 @@ bindings@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.2.1.tgz#14ad6113812d2d37d72e67b4cacb4bb726505f11" -bip39@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.3.0.tgz#e4ee6c6d1bd90ca00ffd57ad446bdf8c017ff484" - dependencies: - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - unorm "^1.3.3" - -bip39@~2.2.0: +bip39@^2.2.0, bip39@~2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.2.0.tgz#40e73f70674c267f148cdbf8374f2a50be166b0d" dependencies: @@ -892,77 +796,36 @@ bitcore-mnemonic@^1.2.2: bitcore-lib "^0.14.0" unorm "^1.3.3" -bl@^1.0.0, bl@^1.1.2: +bl@^1.0.0: version "1.2.0" resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.0.tgz#1397e7ec42c5f5dc387470c500e34a9f6be9ea98" dependencies: readable-stream "^2.0.5" -blakejs@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.0.1.tgz#ae54b631fb4ab820c4f7a226a4b430a95f87065e" - -blob@0.0.4: - version "0.0.4" - resolved "https://registry.yarnpkg.com/blob/-/blob-0.0.4.tgz#bcf13052ca54463f30f9fc7e95b9a47630a94921" - block-stream@*: version "0.0.9" resolved "https://registry.yarnpkg.com/block-stream/-/block-stream-0.0.9.tgz#13ebfe778a03205cfe03751481ebb4b3300c126a" dependencies: inherits "~2.0.0" -bluebird@^3.4.1, bluebird@^3.5.0: +bluebird@^3.5.0: version "3.5.0" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.0.tgz#791420d7f551eea2897453a8a77653f96606d67c" -bn.js@4.11.6, bn.js@^4.0.0, bn.js@^4.11.3, bn.js@^4.4.0, bn.js@^4.8.0: +bn.js@4.11.6, bn.js@^4.11.3, bn.js@^4.4.0, bn.js@^4.8.0: version "4.11.6" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" -bn.js@=2.0.4, bn.js@^2.0.0: +bn.js@=2.0.4, bn.js@^2.0.0, bn.js@^2.0.3: version "2.0.4" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-2.0.4.tgz#220a7cd677f7f1bfa93627ff4193776fe7819480" -bn.js@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-1.3.0.tgz#0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83" - boom@2.x.x: version "2.10.1" resolved "https://registry.yarnpkg.com/boom/-/boom-2.10.1.tgz#39c8918ceff5799f83f9492a848f625add0c766f" dependencies: hoek "2.x.x" -boom@4.x.x, boom@^4.2.0: - version "4.3.1" - resolved "https://registry.yarnpkg.com/boom/-/boom-4.3.1.tgz#4f8a3005cb4a7e3889f749030fd25b96e01d2e31" - dependencies: - hoek "4.x.x" - -borc@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/borc/-/borc-2.0.2.tgz#8eae1a4d599cfdfdfc9fa857cbba69c90e83291f" - dependencies: - bignumber.js "~3.0.0" - commander "^2.9" - ieee754 "^1.1.8" - json-text-sequence "^0.1" - -boxen@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-0.6.0.tgz#8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6" - dependencies: - ansi-align "^1.1.0" - camelcase "^2.1.0" - chalk "^1.1.1" - cli-boxes "^1.0.0" - filled-array "^1.0.0" - object-assign "^4.0.1" - repeating "^2.0.0" - string-width "^1.0.1" - widest-line "^1.0.0" - brace-expansion@^1.0.0: version "1.1.7" resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.7.tgz#3effc3c50e000531fb720eaff80f0ae8ef23cf59" @@ -978,15 +841,6 @@ braces@^1.8.2: preserve "^0.2.0" repeat-element "^1.1.2" -brfs@^1.4.0: - version "1.4.3" - resolved "https://registry.yarnpkg.com/brfs/-/brfs-1.4.3.tgz#db675d6f5e923e6df087fca5859c9090aaed3216" - dependencies: - quote-stream "^1.0.1" - resolve "^1.1.5" - static-module "^1.1.0" - through2 "^2.0.0" - brorand@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" @@ -1005,24 +859,12 @@ browserify-aes@^1.0.6: evp_bytestokey "^1.0.0" inherits "^2.0.1" -browserify-sha3@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.2.tgz#256cccc7ed972c4a80eb499c82aacccbee6c0a45" - dependencies: - js-sha3 "^0.5.1" - browserify-sha3@^0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/browserify-sha3/-/browserify-sha3-0.0.1.tgz#3ff34a3006ef15c0fb3567e541b91a2340123d11" dependencies: js-sha3 "^0.3.1" -browserify-zlib-next@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-zlib-next/-/browserify-zlib-next-1.0.1.tgz#880403868b4f6262f0f3eacf04699abf9f076f9f" - dependencies: - pako "~1.0.4" - bs58@=2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.0.tgz#72b713bed223a0ac518bbda0e3ce3f4817f39eb5" @@ -1031,18 +873,12 @@ bs58@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/bs58/-/bs58-2.0.1.tgz#55908d58f1982aba2008fa1bed8f91998a29bf8d" -bs58@^3.0.0, bs58@^3.1.0: +bs58@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/bs58/-/bs58-3.1.0.tgz#d4c26388bf4804cac714141b1945aa47e5eb248e" dependencies: base-x "^1.1.0" -bs58@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.0.tgz#65f5deaf6d74e6135a99f763ca6209ab424b9172" - dependencies: - base-x "^2.0.1" - bs58check@^1.0.8: version "1.3.4" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-1.3.4.tgz#c52540073749117714fa042c3047eb8f9151cbf8" @@ -1054,14 +890,6 @@ buffer-compare@=1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-compare/-/buffer-compare-1.0.0.tgz#acaa7a966e98eee9fae14b31c39a5f158fb3c4a2" -buffer-equal@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/buffer-equal/-/buffer-equal-0.0.1.tgz#91bc74b11ea405bc916bc6aa908faafa5b4aac4b" - -buffer-loader@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/buffer-loader/-/buffer-loader-0.0.1.tgz#4d677ca92dd889310878b02a2fbcfab712024cf2" - buffer-shims@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/buffer-shims/-/buffer-shims-1.0.0.tgz#9978ce317388c649ad8793028c3477ef044a8b51" @@ -1070,7 +898,7 @@ buffer-xor@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" -buffer@^4.9.1: +buffer@^4.9.0, buffer@^4.9.1: version "4.9.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-4.9.1.tgz#6d1bb601b07a4efced97094132093027c95bc298" dependencies: @@ -1082,64 +910,19 @@ builtin-modules@^1.0.0: version "1.1.1" resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-1.1.1.tgz#270f076c5a72c02f5b65a47df94c5fe3a278892f" -builtin-status-codes@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8" - -call@3.x.x: - version "3.0.4" - resolved "https://registry.yarnpkg.com/call/-/call-3.0.4.tgz#e380f2f2a491330aa79085355f8be080877d559e" - dependencies: - boom "4.x.x" - hoek "4.x.x" - -callsite@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/callsite/-/callsite-1.0.0.tgz#280398e5d664bd74038b6f0905153e6e8af1bc20" - camelcase@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-1.2.1.tgz#9bb5304d2e0b56698b2c758b08a3eaa9daa58a39" -camelcase@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-2.1.1.tgz#7c1d16d679a1bbe59ca02cacecfb011e201f5a1f" - camelcase@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-3.0.0.tgz#32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a" -capture-stack-trace@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz#4a6fa07399c26bba47f0b2496b4d0fb408c5550d" - caseless@~0.12.0: version "0.12.0" resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" -catbox-memory@2.x.x: - version "2.0.4" - resolved "https://registry.yarnpkg.com/catbox-memory/-/catbox-memory-2.0.4.tgz#433e255902caf54233d1286429c8f4df14e822d5" - dependencies: - hoek "4.x.x" - -catbox@7.x.x: - version "7.1.3" - resolved "https://registry.yarnpkg.com/catbox/-/catbox-7.1.3.tgz#9817edec5a921743282addfc9c45ace52847eebb" - dependencies: - boom "4.x.x" - hoek "4.x.x" - joi "10.x.x" - -chai@^3.3.0, chai@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/chai/-/chai-3.5.0.tgz#4d02637b067fe958bdbfdd3a40ec56fef7373247" - dependencies: - assertion-error "^1.0.1" - deep-eql "^0.1.3" - type-detect "^1.0.0" - -chalk@^1.0.0, chalk@^1.1.0, chalk@^1.1.1: +chalk@^1.1.0: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" dependencies: @@ -1155,9 +938,9 @@ checkpoint-store@^1.1.0: dependencies: functional-red-black-tree "^1.0.1" -chokidar@^1.4.2, chokidar@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.6.1.tgz#2f4447ab5e96e50fb3d789fd90d4c72e0e4c70c2" +chokidar@^1.6.0, chokidar@^1.6.1: + version "1.7.0" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-1.7.0.tgz#798e689778151c8076b4b360e5edd28cda2bb468" dependencies: anymatch "^1.3.0" async-each "^1.0.0" @@ -1174,40 +957,12 @@ chownr@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.0.1.tgz#e2a75042a9551908bebd25b8523d5f9769d79181" -cids@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.2.0.tgz#0a79f621c34eb3ff9c3be505fda2b809710847fc" - dependencies: - multibase "^0.2.0" - multicodec "0.1.0" - multihashes "^0.2.2" - -cids@^0.3.4: - version "0.3.6" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.3.6.tgz#a0a3a2c386105a92ecd9c8a2f2239beb2f544c15" - dependencies: - multibase "^0.3.0" - multicodec "^0.1.3" - multihashes "^0.3.1" - -cids@^0.4.0, cids@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.4.2.tgz#f1414e78fa466fe97a7ce9cd6c03892993bef307" - dependencies: - multibase "~0.3.4" - multicodec "~0.1.7" - multihashes "~0.4.4" - cipher-base@^1.0.0, cipher-base@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.3.tgz#eeabf194419ce900da3018c207d212f2a6df0a07" dependencies: inherits "^2.0.1" -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - cliui@^3.0.3, cliui@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/cliui/-/cliui-3.2.0.tgz#120601537a916d29940f934da3b48d585a39213d" @@ -1253,80 +1008,24 @@ commander@2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.3.0.tgz#fd430e889832ec353b9acd1de217c11cb3eef873" -commander@2.9.0, commander@^2.8.1, commander@^2.9: +commander@2.9.0, commander@^2.8.1, commander@^2.9.0: version "2.9.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.9.0.tgz#9c99094176e12240cb22d6c5146098400fe0f7d4" dependencies: graceful-readlink ">= 1.0.0" -component-bind@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/component-bind/-/component-bind-1.0.0.tgz#00c608ab7dcd93897c0009651b1d3a8e1e73bbd1" - -component-emitter@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.1.2.tgz#296594f2753daa63996d2af08d15a95116c9aec3" - -component-emitter@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.2.1.tgz#137918d6d78283f7df7a6b7c5a63e140e69425e6" - -component-inherit@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-inherit/-/component-inherit-0.0.3.tgz#645fc4adf58b72b649d5cae65135619db26ff143" - concat-map@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" -concat-stream@^1.5.2: - version "1.6.0" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.0.tgz#0aac662fd52be78964d5532f694784e70110acf7" - dependencies: - inherits "^2.0.3" - readable-stream "^2.2.2" - typedarray "^0.0.6" - -concat-stream@~1.4.5: - version "1.4.10" - resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.4.10.tgz#acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36" - dependencies: - inherits "~2.0.1" - readable-stream "~1.1.9" - typedarray "~0.0.5" - -configstore@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-2.1.0.tgz#737a3a7036e9886102aa6099e47bb33ab1aba1a1" - dependencies: - dot-prop "^3.0.0" - graceful-fs "^4.1.2" - mkdirp "^0.5.0" - object-assign "^4.0.1" - os-tmpdir "^1.0.0" - osenv "^0.1.0" - uuid "^2.0.1" - write-file-atomic "^1.1.2" - xdg-basedir "^2.0.0" - console-control-strings@^1.0.0, console-control-strings@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" -content@3.x.x, content@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/content/-/content-3.0.3.tgz#000f8a01371b95c66afe99be9390fa6cb91aa87a" - dependencies: - boom "4.x.x" - convert-source-map@^1.1.0: version "1.5.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.5.0.tgz#9acd70851c6d5dfdd93d9282e5edf94a03ff46b5" -cookie@0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.3.1.tgz#e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb" - core-js@^2.4.0: version "2.4.1" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.4.1.tgz#4de911e667b0eae9124e34254b53aea6fc618d3e" @@ -1335,20 +1034,6 @@ core-util-is@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" -cpr@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/cpr/-/cpr-0.4.3.tgz#0a23e4b6ec23f3b8cc7a405ecb5cfdc778f7de25" - dependencies: - graceful-fs "~4.1.2" - mkdirp "~0.5.0" - rimraf "~2.4.3" - -create-error-class@^3.0.1: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - dependencies: - capture-stack-trace "^1.0.0" - create-hash@^1.1.0, create-hash@^1.1.1, create-hash@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.1.2.tgz#51210062d7bb7479f6c65bb41a92208b1d61abad" @@ -1371,13 +1056,7 @@ cryptiles@2.x.x: dependencies: boom "2.x.x" -cryptiles@3.x.x: - version "3.1.1" - resolved "https://registry.yarnpkg.com/cryptiles/-/cryptiles-3.1.1.tgz#86a9203f7367a0e9324bc7555ff0fcf5f81979ee" - dependencies: - boom "4.x.x" - -crypto-js@^3.1.4: +crypto-js@^3.1.4, crypto-js@^3.1.5: version "3.1.8" resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-3.1.8.tgz#715f070bf6014f2ae992a98b3929258b713f08d5" @@ -1391,40 +1070,22 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -debug@2.2.0, debug@~2.2.0: +debug@2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/debug/-/debug-2.2.0.tgz#f87057e995b1a1f6ae6a4960664137bc56f039da" dependencies: ms "0.7.1" -debug@2.3.3: - version "2.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.3.3.tgz#40c453e67e6e13c901ddec317af8986cda9eff8c" - dependencies: - ms "0.7.2" - -debug@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.1.tgz#79855090ba2c4e3115cc7d8769491d58f0491351" +debug@2.6.0, debug@^2.1.1, debug@^2.2.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.0.tgz#bc596bcabe7617f11d9fa15361eded5608b8499b" dependencies: ms "0.7.2" -debug@^2.1.0, debug@^2.1.1, debug@^2.2.0, debug@^2.3.2, debug@^2.3.3, debug@^2.6.3: - version "2.6.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.4.tgz#7586a9b3c39741c0282ae33445c4e8ac74734fe0" - dependencies: - ms "0.7.3" - decamelize@^1.0.0, decamelize@^1.1.1: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" -deep-eql@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-0.1.3.tgz#ef558acab8de25206cd713906d74e56930eb69f2" - dependencies: - type-detect "0.1.1" - deep-equal@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-1.0.1.tgz#f5d260292b660e084eff4cdbc9f08ad3247448b5" @@ -1450,18 +1111,6 @@ defined@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" -del@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/del/-/del-2.2.2.tgz#c12c981d067846c84bcaf862cff930d907ffd1a8" - dependencies: - globby "^5.0.0" - is-path-cwd "^1.0.0" - is-path-in-cwd "^1.0.0" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - rimraf "^2.2.8" - delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" @@ -1470,53 +1119,24 @@ delegates@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" -delimit-stream@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/delimit-stream/-/delimit-stream-0.1.0.tgz#9b8319477c0e5f8aeb3ce357ae305fc25ea1cd2b" - -depd@1.1.0, depd@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.0.tgz#e1bd82c6aab6ced965b97b88b17ed3e528ca18c3" - -destroy@~1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" - detect-indent@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208" dependencies: repeating "^2.0.0" -detect-node@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.3.tgz#a2033c09cc8e158d37748fbde7507832bd6ce127" - -dexie@^1.4.2: - version "1.5.1" - resolved "https://registry.yarnpkg.com/dexie/-/dexie-1.5.1.tgz#ac3ad5a0ebaf7e6e42760db58710418d4a756624" - -dicer@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/dicer/-/dicer-0.2.5.tgz#5996c086bb33218c812c090bddc09cd12facb70f" - dependencies: - readable-stream "1.1.x" - streamsearch "0.1.2" - diff@1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/diff/-/diff-1.4.0.tgz#7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf" +diff@3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/diff/-/diff-3.2.0.tgz#c9ce393a4b7cbd0b058a725c93df299027868ff9" + dom-walk@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" -dot-prop@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-3.0.0.tgz#1b708af094a49c9a0e7dbcad790aba539dac1177" - dependencies: - is-obj "^1.0.0" - drbg.js@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" @@ -1525,28 +1145,12 @@ drbg.js@^1.0.1: create-hash "^1.1.2" create-hmac "^1.1.4" -duplexer2@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.1.4.tgz#8b12dab878c0d69e3e7891051662a32fc6bddcc1" - dependencies: - readable-stream "^2.0.2" - -duplexer2@~0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/duplexer2/-/duplexer2-0.0.2.tgz#c614dcf67e2fb14995a91711e5a617e8a60a31db" - dependencies: - readable-stream "~1.1.9" - ecc-jsbn@~0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz#0fc73a9ed5f0d53c38193398523ef7e543777505" dependencies: jsbn "~0.1.0" -ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - elliptic@=3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.0.3.tgz#865c9b420bfbe55006b9f969f97a0d2c44966595" @@ -1556,6 +1160,15 @@ elliptic@=3.0.3: hash.js "^1.0.0" inherits "^2.0.1" +elliptic@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-3.1.0.tgz#c21682ef762769b56a74201609105da11d5f60cc" + dependencies: + bn.js "^2.0.3" + brorand "^1.0.1" + hash.js "^1.0.0" + inherits "^2.0.1" + elliptic@^6.2.3, elliptic@^6.3.1: version "6.4.0" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.4.0.tgz#cac9af8762c85836187003c8dfe193e5e2eae5df" @@ -1568,10 +1181,6 @@ elliptic@^6.2.3, elliptic@^6.3.1: minimalistic-assert "^1.0.0" minimalistic-crypto-utils "^1.0.0" -encodeurl@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.1.tgz#79e3d58655346909fe6f0f45a5de68103b294d20" - encoding@^0.1.11: version "0.1.12" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.12.tgz#538b66f3ee62cd1ab51ec323829d1f9480c74beb" @@ -1584,45 +1193,6 @@ end-of-stream@^1.0.0, end-of-stream@^1.1.0: dependencies: once "^1.4.0" -engine.io-client@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-1.8.3.tgz#1798ed93451246453d4c6f635d7a201fe940d5ab" - dependencies: - component-emitter "1.2.1" - component-inherit "0.0.3" - debug "2.3.3" - engine.io-parser "1.3.2" - has-cors "1.1.0" - indexof "0.0.1" - parsejson "0.0.3" - parseqs "0.0.5" - parseuri "0.0.5" - ws "1.1.2" - xmlhttprequest-ssl "1.5.3" - yeast "0.1.2" - -engine.io-parser@1.3.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-1.3.2.tgz#937b079f0007d0893ec56d46cb220b8cb435220a" - dependencies: - after "0.8.2" - arraybuffer.slice "0.0.6" - base64-arraybuffer "0.1.5" - blob "0.0.4" - has-binary "0.1.7" - wtf-8 "1.0.0" - -engine.io@1.8.3: - version "1.8.3" - resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-1.8.3.tgz#8de7f97895d20d39b85f88eeee777b2bd42b13d4" - dependencies: - accepts "1.3.3" - base64id "1.0.0" - cookie "0.3.1" - debug "2.3.3" - engine.io-parser "1.3.2" - ws "1.1.2" - errno@~0.1.1: version "0.1.4" resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.4.tgz#b896e23a9e5e8ba33871fc996abd3635fc9a1c7d" @@ -1652,10 +1222,6 @@ es-to-primitive@^1.1.1: is-date-object "^1.0.1" is-symbol "^1.0.1" -escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - escape-string-regexp@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz#4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1" @@ -1664,56 +1230,29 @@ escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2: version "1.0.5" resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" -escodegen@~0.0.24: - version "0.0.28" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-0.0.28.tgz#0e4ff1715f328775d6cab51ac44a406cd7abffd3" - dependencies: - esprima "~1.0.2" - estraverse "~1.3.0" - optionalDependencies: - source-map ">= 0.1.2" - -escodegen@~1.3.2: - version "1.3.3" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-1.3.3.tgz#f024016f5a88e046fd12005055e939802e6c5f23" - dependencies: - esprima "~1.1.1" - estraverse "~1.5.0" - esutils "~1.0.0" - optionalDependencies: - source-map "~0.1.33" - -esprima@~1.0.2: - version "1.0.4" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.0.4.tgz#9f557e08fc3b4d26ece9dd34f8fbf476b62585ad" - -esprima@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-1.1.1.tgz#5b6f1547f4d102e670e140c509be6771d6aeb549" - estraverse@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13" -estraverse@~1.3.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.3.2.tgz#37c2b893ef13d723f276d878d60d8535152a6c42" - -estraverse@~1.5.0: - version "1.5.1" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-1.5.1.tgz#867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71" - esutils@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.2.tgz#0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b" -esutils@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-1.0.0.tgz#8151d358e20c8acc7fb745e7472c0025fe496570" - -etag@~1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.0.tgz#6f631aef336d6c46362b51764044ce216be3c051" +eth-lightwallet@^2.5.6: + version "2.5.6" + resolved "https://registry.yarnpkg.com/eth-lightwallet/-/eth-lightwallet-2.5.6.tgz#6f10f134ca97531e4f03a194008d314322500c13" + dependencies: + bitcore-lib "^0.14.0" + bitcore-mnemonic "^1.2.2" + buffer "^4.9.0" + crypto-js "^3.1.5" + elliptic "^3.1.0" + ethereumjs-tx "^1.1.1" + ethereumjs-util "^5.1.1" + rlp "^2.0.0" + scrypt-async "^1.2.0" + tweetnacl "0.13.2" + web3 "^0.19.1" eth-signer@^0.2.2: version "0.2.2" @@ -1793,7 +1332,7 @@ ethereumjs-tx@1.1.2: ethereum-common "^0.0.17" ethereumjs-util "^4.5.0" -ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.2, ethereumjs-tx@^1.2.0: +ethereumjs-tx@^1.0.0, ethereumjs-tx@^1.1.1, ethereumjs-tx@^1.1.2, ethereumjs-tx@^1.2.0: version "1.2.5" resolved "https://registry.yarnpkg.com/ethereumjs-tx/-/ethereumjs-tx-1.2.5.tgz#ed36d7ffeb97bc889c61eef1ab76f47a613d8286" dependencies: @@ -1810,7 +1349,7 @@ ethereumjs-util@^4.0.0, ethereumjs-util@^4.0.1, ethereumjs-util@^4.4.0, ethereum rlp "^2.0.0" secp256k1 "^3.0.1" -ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1: +ethereumjs-util@^5.0.0, ethereumjs-util@^5.0.1, ethereumjs-util@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.1.1.tgz#122fb38dea747dc62b3aebfc365d1bd48be4b73e" dependencies: @@ -1870,73 +1409,6 @@ ethjs-util@^0.1.3: is-hex-prefixed "1.0.0" strip-hex-prefix "1.0.0" -ethpm-registry@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/ethpm-registry/-/ethpm-registry-0.0.8.tgz#9d94d08aa254e1502a074416d8c03d6f4cd065d3" - dependencies: - fs-extra "^2.0.0" - left-pad "^1.1.3" - semver "^5.3.0" - solidity-sha3 "^0.4.1" - truffle beta - truffle-artifactor "^2.1.2" - truffle-contract "^1.1.6" - web3 "^0.18.2" - yargs "^6.6.0" - -ethpm-registry@0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/ethpm-registry/-/ethpm-registry-0.0.9.tgz#b76159a45cde351decbd21bf83be5bf7edfb14c1" - dependencies: - fs-extra "^2.0.0" - left-pad "^1.1.3" - semver "^5.3.0" - solidity-sha3 "^0.4.1" - truffle-artifactor "^2.1.2" - truffle-contract "^1.1.6" - web3 "^0.18.2" - -ethpm-spec@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ethpm-spec/-/ethpm-spec-1.0.1.tgz#ad3c09ae0492ad3d3ec7b94b7f5fd8057d4deb91" - dependencies: - json-schema-to-markdown "^1.0.3" - -ethpm@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/ethpm/-/ethpm-0.0.10.tgz#ce7ed7ed1955e9c3bfa2e47a905118a27ad66cc4" - dependencies: - async "^2.1.2" - ethpm-spec "^1.0.0" - fs-extra "^1.0.0" - glob "^7.1.1" - ipfs "^0.18.0" - ipfs-api "^11.1.0" - jsonschema "^1.1.1" - lodash "^4.17.1" - node-dir "^0.1.16" - promisify-node "^0.4.0" - semver "^5.3.0" - wget-improved "^1.4.0" - -ethpm@0.0.9: - version "0.0.9" - resolved "https://registry.yarnpkg.com/ethpm/-/ethpm-0.0.9.tgz#4af5b993b8c2f5e194fb2b609a134497442b2e3a" - dependencies: - async "^2.1.2" - ethpm-spec "^1.0.0" - fs-extra "^1.0.0" - glob "^7.1.1" - ipfs "^0.18.0" - ipfs-api "^11.1.0" - jsonschema "^1.1.1" - lodash "^4.17.1" - node-dir "^0.1.16" - promisify-node "^0.4.0" - semver "^5.3.0" - wget-improved "^1.4.0" - yargs "^6.4.0" - evp_bytestokey@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz#497b66ad9fef65cd7c08a6180824ba1476b66e53" @@ -1979,15 +1451,6 @@ fake-merkle-patricia-tree@^1.0.1, fake-merkle-patricia-tree@~1.0.1: dependencies: checkpoint-store "^1.1.0" -falafel@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/falafel/-/falafel-1.2.0.tgz#c18d24ef5091174a497f318cd24b026a25cddab4" - dependencies: - acorn "^1.0.3" - foreach "^2.0.5" - isarray "0.0.1" - object-keys "^1.0.6" - filename-regex@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/filename-regex/-/filename-regex-2.0.0.tgz#996e3e80479b98b9897f15a8a58b3d084e926775" @@ -2002,19 +1465,6 @@ fill-range@^2.1.0: repeat-element "^1.1.2" repeat-string "^1.5.2" -filled-array@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filled-array/-/filled-array-1.1.0.tgz#c3c4f6c663b923459a9aa29912d2d031f1507f84" - -finalhandler@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-0.4.1.tgz#85a17c6c59a94717d262d61230d4b0ebe3d4a14d" - dependencies: - debug "~2.2.0" - escape-html "~1.0.3" - on-finished "~2.3.0" - unpipe "~1.0.0" - find-up@^1.0.0: version "1.1.2" resolved "https://registry.yarnpkg.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f" @@ -2022,16 +1472,6 @@ find-up@^1.0.0: path-exists "^2.0.0" pinkie-promise "^2.0.0" -find-up@^2.0.0, find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - dependencies: - locate-path "^2.0.0" - -flatmap@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/flatmap/-/flatmap-0.0.3.tgz#1f18a4d938152d495965f9c958d923ab2dd669b4" - for-each@^0.3.2, for-each@~0.3.2: version "0.3.2" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.2.tgz#2c40450b9348e97f281322593ba96704b9abd4d4" @@ -2064,19 +1504,6 @@ form-data@~2.1.1: combined-stream "^1.0.5" mime-types "^2.1.12" -fresh@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.0.tgz#f474ca5e6a9246d6fd8e0953cfa9b9c805afa78e" - -fs-extra@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.24.0.tgz#d4e4342a96675cb7846633a6099249332b539952" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - fs-extra@^0.30.0: version "0.30.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" @@ -2087,31 +1514,6 @@ fs-extra@^0.30.0: path-is-absolute "^1.0.0" rimraf "^2.2.8" -fs-extra@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-1.0.0.tgz#cd3ce5f7e7cb6145883fcae3191e9877f8587950" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - -fs-extra@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-2.1.2.tgz#046c70163cef9aad46b0e4a7fa467fb22d71de35" - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - -fs-pull-blob-store@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/fs-pull-blob-store/-/fs-pull-blob-store-0.3.0.tgz#b489757b4445cdca8e2eab35a9744a44f3453b16" - dependencies: - mkdirp "^0.5.1" - pull-defer "^0.2.2" - pull-file "^0.5.0" - pull-stream "^3.4.3" - pull-write-file "^0.2.1" - fs-readdir-recursive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.0.0.tgz#8cd1745c8b4f8a29c8caec392476921ba195f560" @@ -2165,20 +1567,6 @@ gauge@~2.7.1: strip-ansi "^3.0.1" wide-align "^1.1.0" -generate-function@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-2.0.0.tgz#6858fe7c0969b7d4e9093337647ac79f60dfbe74" - -generate-object-property@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0" - dependencies: - is-property "^1.0.0" - -get-browser-rtc@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz#bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9" - get-caller-file@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.2.tgz#f702e63127e7e231c160a80c1554acb70d5047e5" @@ -2189,15 +1577,6 @@ getpass@^0.1.1: dependencies: assert-plus "^1.0.0" -github-download@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/github-download/-/github-download-0.5.0.tgz#f7647a70aac4326fb091e5786c8f66ae157da51b" - dependencies: - adm-zip "~0.4.3" - fs-extra "^0.24.0" - request "^2.12.0" - vcsurl "~0.1.0" - github-from-package@0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" @@ -2222,9 +1601,9 @@ glob@3.2.11: inherits "2" minimatch "0.3" -glob@7.0.5: - version "7.0.5" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.0.5.tgz#b4202a69099bbb4d292a7c1b95b6682b67ebdc95" +glob@7.1.1, glob@^7.0.0, glob@^7.0.5, glob@~7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -2243,17 +1622,6 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.1.1, glob@~7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.1.tgz#805211df04faaf1c63a3600306cdf5ade50b2ec8" - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.2" - once "^1.3.0" - path-is-absolute "^1.0.0" - global@~4.3.0: version "4.3.2" resolved "https://registry.yarnpkg.com/global/-/global-4.3.2.tgz#e76989268a6c74c38908b1305b10fc0e394e9d0f" @@ -2265,38 +1633,7 @@ globals@^9.0.0: version "9.17.0" resolved "https://registry.yarnpkg.com/globals/-/globals-9.17.0.tgz#0c0ca696d9b9bb694d2e5470bd37777caad50286" -globby@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-5.0.0.tgz#ebd84667ca0dbb330b99bcfc68eac2bc54370e0d" - dependencies: - array-union "^1.0.1" - arrify "^1.0.0" - glob "^7.0.3" - object-assign "^4.0.1" - pify "^2.0.0" - pinkie-promise "^2.0.0" - -got@^5.0.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-5.7.1.tgz#5f81635a61e4a6589f180569ea4e381680a51f35" - dependencies: - create-error-class "^3.0.1" - duplexer2 "^0.1.4" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - node-status-codes "^1.0.0" - object-assign "^4.0.1" - parse-json "^2.1.0" - pinkie-promise "^2.0.0" - read-all-stream "^3.0.0" - readable-stream "^2.0.5" - timed-out "^3.0.0" - unzip-response "^1.0.2" - url-parse-lax "^1.0.0" - -graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@~4.1.2: +graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.1.11" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658" @@ -2304,43 +1641,10 @@ graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.6, version "1.0.1" resolved "https://registry.yarnpkg.com/graceful-readlink/-/graceful-readlink-1.0.1.tgz#4cafad76bc62f02fa039b2f94e9a3dd3a391a725" -graphlib@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/graphlib/-/graphlib-2.1.1.tgz#42352c52ba2f4d035cb566eb91f7395f76ebc951" - dependencies: - lodash "^4.11.1" - growl@1.9.2: version "1.9.2" resolved "https://registry.yarnpkg.com/growl/-/growl-1.9.2.tgz#0ea7743715db8d8de2c5ede1775e1b45ac85c02f" -hapi-set-header@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/hapi-set-header/-/hapi-set-header-1.0.2.tgz#2afae002c6719d6d54f3fa88462f822892d2df13" - -hapi@^15.0.3, hapi@^15.2.0: - version "15.2.0" - resolved "https://registry.yarnpkg.com/hapi/-/hapi-15.2.0.tgz#5704ca2c04b6386c03caf9ee901f1de080316d23" - dependencies: - accept "2.x.x" - ammo "2.x.x" - boom "4.x.x" - call "3.x.x" - catbox "7.x.x" - catbox-memory "2.x.x" - cryptiles "3.x.x" - heavy "4.x.x" - hoek "4.x.x" - iron "4.x.x" - items "2.x.x" - joi "9.x.x" - mimos "3.x.x" - podium "^1.2.x" - shot "3.x.x" - statehood "5.x.x" - subtext "^4.3.x" - topo "2.x.x" - har-schema@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-1.0.5.tgz#d263135f43307c02c602afc8fe95970c0151369e" @@ -2358,16 +1662,6 @@ has-ansi@^2.0.0: dependencies: ansi-regex "^2.0.0" -has-binary@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/has-binary/-/has-binary-0.1.7.tgz#68e61eb16210c9545a0a5cce06a873912fe1e68c" - dependencies: - isarray "0.0.1" - -has-cors@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/has-cors/-/has-cors-1.1.0.tgz#5e474793f7ea9843d1bb99c23eef49ff126fff39" - has-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa" @@ -2376,7 +1670,7 @@ has-unicode@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" -has@^1.0.0, has@^1.0.1, has@~1.0.1: +has@^1.0.1, has@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/has/-/has-1.0.1.tgz#8461733f538b0837c9361e39a9ab9e9704dc2f28" dependencies: @@ -2404,18 +1698,10 @@ hdkey@^0.7.0: coinstring "^2.0.0" secp256k1 "^3.0.1" -heap@^0.2.6, heap@~0.2.6: +heap@~0.2.6: version "0.2.6" resolved "https://registry.yarnpkg.com/heap/-/heap-0.2.6.tgz#087e1f10b046932fc8594dd9e6d378afc9d1e5ac" -heavy@4.x.x: - version "4.0.3" - resolved "https://registry.yarnpkg.com/heavy/-/heavy-4.0.3.tgz#976bba118b011b15fe904aa4f292a168bfc6232f" - dependencies: - boom "4.x.x" - hoek "4.x.x" - joi "10.x.x" - hmac-drbg@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" @@ -2428,10 +1714,6 @@ hoek@2.x.x: version "2.16.3" resolved "https://registry.yarnpkg.com/hoek/-/hoek-2.16.3.tgz#20bb7403d3cea398e91dc4710a8ff1b8274a25ed" -hoek@4.x.x: - version "4.1.1" - resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.1.1.tgz#9cc573ffba2b7b408fb5e9c2a13796be94cddce9" - home-or-tmp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8" @@ -2443,24 +1725,6 @@ hosted-git-info@^2.1.4: version "2.4.2" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.4.2.tgz#0076b9f46a270506ddbaaea56496897460612a67" -hpack.js@^2.1.6: - version "2.1.6" - resolved "https://registry.yarnpkg.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2" - dependencies: - inherits "^2.0.1" - obuf "^1.0.0" - readable-stream "^2.0.1" - wbuf "^1.1.0" - -http-errors@~1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.6.1.tgz#5f8b8ed98aca545656bf572997387f904a722257" - dependencies: - depd "1.1.0" - inherits "2.0.3" - setprototypeof "1.0.3" - statuses ">= 1.3.1 < 2" - http-signature@~1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.1.1.tgz#df72e267066cd0ac67fb76adf8e134a8fbcf91bf" @@ -2473,18 +1737,7 @@ iconv-lite@~0.4.13: version "0.4.15" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.15.tgz#fe265a218ac6a57cfe854927e9d04c19825eddeb" -idb-pull-blob-store@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/idb-pull-blob-store/-/idb-pull-blob-store-0.5.1.tgz#9c13f9f10eb05aa3a9f20ef571513c47579f75d4" - dependencies: - dexie "^1.4.2" - pull-defer "^0.2.2" - pull-pushable "^2.0.1" - pull-window "^2.1.4" - pull-write "^1.0.2" - typedarray-to-buffer "^3.1.2" - -ieee754@^1.1.4, ieee754@^1.1.8: +ieee754@^1.1.4: version "1.1.8" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.1.8.tgz#be33d40ac10ef1926701f6f08a2d86fbfd1ad3e4" @@ -2492,14 +1745,6 @@ immediate@^3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.2.3.tgz#d140fa8f614659bd6541233097ddaac25cdd991c" -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - -indexof@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/indexof/-/indexof-0.0.1.tgz#82dc336d232b9062179d05ab3293a66059fd435d" - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2507,7 +1752,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.3, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: +inherits@2, inherits@^2.0.3, inherits@~2.0.0, inherits@~2.0.1, inherits@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" @@ -2519,22 +1764,6 @@ ini@~1.3.0: version "1.3.4" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.4.tgz#0537cb79daf59b59a1a517dff706c86ec039162e" -interface-connection@^0.3.0, interface-connection@~0.3.1, interface-connection@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/interface-connection/-/interface-connection-0.3.2.tgz#e4949883f6ea79fb7edd01ee3f4fca47a29fd2c4" - dependencies: - pull-defer "~0.2.2" - timed-tape "~0.1.1" - -interface-pull-blob-store@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/interface-pull-blob-store/-/interface-pull-blob-store-0.6.0.tgz#d4ca38bfa634d22c00f631c900d8939f33c85eb3" - dependencies: - chai "^3.5.0" - pull-stream "^3.4.3" - pull-write "^1.0.2" - run-series "^1.1.4" - invariant@^2.2.0: version "2.2.2" resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.2.tgz#9e1f56ac0acdb6bf303306f338be3b204ae60360" @@ -2545,266 +1774,6 @@ invert-kv@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-1.0.0.tgz#104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6" -ip-address@^5.8.6: - version "5.8.8" - resolved "https://registry.yarnpkg.com/ip-address/-/ip-address-5.8.8.tgz#5fd1f8f7465249fb7d2b3c1eec7b41d29d1f1b76" - dependencies: - jsbn "0.1.0" - lodash.find "^4.6.0" - lodash.max "^4.0.1" - lodash.merge "^4.6.0" - lodash.padstart "^4.6.1" - lodash.repeat "^4.1.0" - sprintf-js "^1.0.3" - util-deprecate "^1.0.2" - -ip@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ip/-/ip-1.1.5.tgz#bdded70114290828c0a039e72ef25f5aaec4354a" - -ipfs-api@^11.1.0: - version "11.2.0" - resolved "https://registry.yarnpkg.com/ipfs-api/-/ipfs-api-11.2.0.tgz#06529d07e8025082b34bd87a05fc7167989fec98" - dependencies: - async "^2.1.2" - bl "^1.1.2" - bs58 "^3.0.0" - concat-stream "^1.5.2" - detect-node "^2.0.3" - flatmap "0.0.3" - glob "^7.1.1" - ipfs-block "^0.5.0" - ipld-dag-pb "^0.9.0" - is-ipfs "^0.2.1" - isstream "^0.1.2" - lru-cache "^4.0.1" - multiaddr "^2.0.3" - multipart-stream "^2.0.1" - ndjson "^1.4.3" - once "^1.4.0" - peer-id "^0.8.0" - peer-info "^0.8.0" - promisify-es6 "^1.0.2" - qs "^6.3.0" - readable-stream "^1.1.14" - stream-http "^2.5.0" - streamifier "^0.1.1" - tar-stream "^1.5.2" - -ipfs-bitswap@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/ipfs-bitswap/-/ipfs-bitswap-0.8.3.tgz#3545d91011d3562a8ccf878fc787e3b7bb55e7e3" - dependencies: - async "^2.1.4" - cids "^0.3.4" - debug "^2.3.3" - heap "^0.2.6" - ipfs-block "^0.5.3" - lodash.debounce "^4.0.8" - lodash.isequalwith "^4.4.0" - lodash.isundefined "^3.0.1" - multihashes "^0.3.0" - protocol-buffers "^3.2.1" - pull-defer "^0.2.2" - pull-length-prefixed "^1.2.0" - pull-paramap "^1.2.1" - pull-pushable "^2.0.1" - pull-stream "^3.5.0" - -ipfs-block-service@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/ipfs-block-service/-/ipfs-block-service-0.6.0.tgz#e537a4624eb006587f6e61a06bc1750eae4cb74a" - dependencies: - cids "^0.2.0" - pull-stream "^3.4.5" - run-parallel-limit "^1.0.3" - -ipfs-block-service@^0.7.0: - version "0.7.2" - resolved "https://registry.yarnpkg.com/ipfs-block-service/-/ipfs-block-service-0.7.2.tgz#18592cf14819391d0dc7a1fdb3be6201d3c6fee2" - dependencies: - async "^2.1.4" - cids "^0.3.4" - -ipfs-block@^0.5.0, ipfs-block@^0.5.3, ipfs-block@~0.5.4, ipfs-block@~0.5.5: - version "0.5.5" - resolved "https://registry.yarnpkg.com/ipfs-block/-/ipfs-block-0.5.5.tgz#956a4d1a758c2574fb5362634655ccfa1c0ebd24" - dependencies: - async "^2.1.4" - multihashing-async "~0.4.2" - -ipfs-multipart@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/ipfs-multipart/-/ipfs-multipart-0.1.0.tgz#5a8ed13f42e82d8bef7d2e151d8eaf5e3a30e3ea" - dependencies: - content "^3.0.0" - dicer "^0.2.5" - -ipfs-repo@^0.11.0, ipfs-repo@^0.11.1: - version "0.11.3" - resolved "https://registry.yarnpkg.com/ipfs-repo/-/ipfs-repo-0.11.3.tgz#eb9219fa0909559cf72c0ccb6549e208a8087a4a" - dependencies: - async "^2.1.4" - base32.js "^0.1.0" - ipfs-block "~0.5.5" - lock "^0.1.3" - multihashes "~0.3.3" - pull-defer "^0.2.2" - pull-stream "^3.5.0" - pull-write "^1.1.1" - safe-buffer "^5.0.1" - -ipfs-unixfs-engine@^0.13.0: - version "0.13.0" - resolved "https://registry.yarnpkg.com/ipfs-unixfs-engine/-/ipfs-unixfs-engine-0.13.0.tgz#4600434e4872c5588daf2c4e04ebcf519d7f3f8a" - dependencies: - async "^2.1.2" - cids "^0.2.0" - ipfs-unixfs "^0.1.5" - ipld-dag-pb "^0.8.0" - ipld-resolver "^0.2.0" - is-ipfs "^0.2.1" - multihashes "^0.2.2" - pull-block "^1.0.2" - pull-paramap "^1.2.0" - pull-pushable "^2.0.1" - pull-stream "^3.5.0" - pull-traverse "^1.0.3" - pull-write "^1.1.1" - -ipfs-unixfs@^0.1.5: - version "0.1.11" - resolved "https://registry.yarnpkg.com/ipfs-unixfs/-/ipfs-unixfs-0.1.11.tgz#4597ea60d3a4c51ed3e05da107e0473b01844bd4" - dependencies: - protocol-buffers "^3.2.1" - -ipfs@^0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/ipfs/-/ipfs-0.18.0.tgz#8a1254bbbd1e9cb3f77fc6c66aee856b566a9189" - dependencies: - async "^2.1.2" - bl "^1.1.2" - boom "^4.2.0" - debug "^2.3.2" - fs-pull-blob-store "^0.3.0" - glob "^7.1.1" - hapi "^15.2.0" - hapi-set-header "^1.0.2" - idb-pull-blob-store "^0.5.1" - ipfs-api "^11.1.0" - ipfs-bitswap "^0.8.1" - ipfs-block "^0.5.0" - ipfs-block-service "^0.7.0" - ipfs-multipart "^0.1.0" - ipfs-repo "^0.11.1" - ipfs-unixfs "^0.1.5" - ipfs-unixfs-engine "^0.13.0" - ipld-resolver "^0.2.0" - isstream "^0.1.2" - joi "^9.2.0" - libp2p-ipfs "^0.15.0" - libp2p-ipfs-browser "^0.16.0" - lodash.flatmap "^4.5.0" - lodash.get "^4.4.2" - lodash.has "^4.5.2" - lodash.set "^4.3.2" - lodash.sortby "^4.7.0" - lodash.values "^4.3.0" - mafmt "^2.1.2" - multiaddr "^2.0.3" - multihashes "^0.2.2" - path-exists "^3.0.0" - peer-book "^0.3.0" - peer-id "^0.8.0" - peer-info "^0.8.0" - promisify-es6 "^1.0.2" - pull-file "^1.0.0" - pull-paramap "^1.2.1" - pull-pushable "^2.0.1" - pull-sort "^1.0.0" - pull-stream "^3.5.0" - pull-stream-to-stream "^1.3.3" - pull-zip "^2.0.1" - read-pkg-up "^2.0.0" - readable-stream "^1.1.14" - stream-to-pull-stream "^1.7.2" - tar-stream "^1.5.2" - temp "^0.8.3" - through2 "^2.0.1" - update-notifier "^1.0.2" - yargs "^6.3.0" - -ipld-dag-cbor@^0.8.0: - version "0.8.6" - resolved "https://registry.yarnpkg.com/ipld-dag-cbor/-/ipld-dag-cbor-0.8.6.tgz#a0a93f4f54db6b26200edb17dd50be1fdbbbd5d6" - dependencies: - async "^2.1.4" - borc "^2.0.2" - bs58 "^4.0.0" - cids "^0.4.0" - is-circular "^1.0.1" - multihashes "^0.3.2" - multihashing-async "^0.4.0" - traverse "^0.6.6" - -ipld-dag-pb@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.8.0.tgz#8ee35f2c681c6ac046300e8c81cc1ad9b840c4e2" - dependencies: - async "^2.1.2" - cids "^0.2.0" - ipfs-block "^0.5.0" - is-ipfs "^0.2.1" - multihashes "^0.2.2" - multihashing-async "^0.2.0" - protocol-buffers "^3.1.6" - pull-stream "^3.5.0" - pull-traverse "^1.0.3" - stable "^0.1.5" - -ipld-dag-pb@^0.9.0: - version "0.9.5" - resolved "https://registry.yarnpkg.com/ipld-dag-pb/-/ipld-dag-pb-0.9.5.tgz#e8c7dc61a4dd83a8658735559264ee4fedd8b635" - dependencies: - async "^2.1.4" - buffer-loader "0.0.1" - cids "~0.4.1" - ipfs-block "~0.5.4" - is-ipfs "~0.3.0" - multihashes "~0.3.3" - multihashing-async "~0.4.2" - protocol-buffers "^3.2.1" - pull-stream "^3.5.0" - pull-traverse "^1.0.3" - stable "^0.1.5" - -ipld-resolver@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/ipld-resolver/-/ipld-resolver-0.2.0.tgz#d278ed72a43a98a96df6119e543e512d6e25d1a2" - dependencies: - async "^2.1.2" - cids "^0.2.0" - interface-pull-blob-store "^0.6.0" - ipfs-block "^0.5.0" - ipfs-block-service "^0.6.0" - ipfs-repo "^0.11.0" - ipld-dag-cbor "^0.8.0" - ipld-dag-pb "^0.8.0" - is-ipfs "^0.2.1" - lodash.flatten "^4.4.0" - lodash.includes "^4.3.0" - multihashes "^0.2.2" - pull-stream "^3.5.0" - pull-traverse "^1.0.3" - -iron@4.x.x: - version "4.0.4" - resolved "https://registry.yarnpkg.com/iron/-/iron-4.0.4.tgz#c1f8cc4c91454194ab8920d9247ba882e528061a" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -2829,10 +1798,6 @@ is-callable@^1.1.1, is-callable@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.3.tgz#86eb75392805ddc33af71c92a0eedf74ee7604b2" -is-circular@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-circular/-/is-circular-1.0.1.tgz#65b0476a8588e546b8087c1d66d4c08d82a31679" - is-date-object@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.1.tgz#9aa20eb6aeebbff77fbd33e74ca01b33581d3a16" @@ -2881,50 +1846,12 @@ is-hex-prefixed@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" -is-ipfs@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.2.1.tgz#10357d3fddc7cded4b6ea6cc1da6fe7d8d84b438" - dependencies: - bs58 "^3.0.0" - multihashes "^0.2.0" - -is-ipfs@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/is-ipfs/-/is-ipfs-0.3.0.tgz#c9935f22b19df50a97e7b265f95ade4c291ad395" - dependencies: - bs58 "^4.0.0" - multihashes "^0.3.2" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - is-number@^2.0.2, is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" dependencies: kind-of "^3.0.2" -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - -is-path-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d" - -is-path-in-cwd@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz#6477582b8214d602346094567003be8a9eac04dc" - dependencies: - is-path-inside "^1.0.0" - -is-path-inside@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.0.tgz#fc06e5a1683fbda13de667aff717bbc10a48f37f" - dependencies: - path-is-inside "^1.0.1" - is-posix-bracket@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4" @@ -2933,29 +1860,13 @@ is-primitive@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575" -is-promise@~1, is-promise@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-1.0.1.tgz#31573761c057e33c2e91aab9e96da08cefbe76e5" - -is-property@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-property/-/is-property-1.0.2.tgz#57fe1c4e48474edd65b09911f26b1cd4095dda84" - -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - is-regex@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" dependencies: has "^1.0.1" -is-retry-allowed@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz#11a060568b67339444033d0125a61a20d564fb34" - -is-stream@^1.0.0, is-stream@^1.0.1: +is-stream@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" @@ -2963,7 +1874,7 @@ is-symbol@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.1.tgz#3cc59f00025194b6ab2e38dbae6689256b660572" -is-typedarray@^1.0.0, is-typedarray@~1.0.0: +is-typedarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" @@ -2979,10 +1890,6 @@ isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" -isemail@2.x.x: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isemail/-/isemail-2.2.1.tgz#0353d3d9a62951080c262c2aa0a42b8ea8e9e2a6" - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -2996,14 +1903,10 @@ isomorphic-fetch@^2.2.0: node-fetch "^1.0.1" whatwg-fetch ">=0.10.0" -isstream@^0.1.2, isstream@~0.1.2: +isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" -items@2.x.x: - version "2.1.1" - resolved "https://registry.yarnpkg.com/items/-/items-2.1.1.tgz#8bd16d9c83b19529de5aea321acaada78364a198" - jade@0.26.3: version "0.26.3" resolved "https://registry.yarnpkg.com/jade/-/jade-0.26.3.tgz#8f10d7977d8d79f2f6ff862a81b0513ccb25686c" @@ -3017,25 +1920,6 @@ jodid25519@^1.0.0: dependencies: jsbn "~0.1.0" -joi@10.x.x: - version "10.4.1" - resolved "https://registry.yarnpkg.com/joi/-/joi-10.4.1.tgz#a2fca1f0d603d1b843f2c1e086b52461f6be1f36" - dependencies: - hoek "4.x.x" - isemail "2.x.x" - items "2.x.x" - topo "2.x.x" - -joi@9.x.x, joi@^9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/joi/-/joi-9.2.0.tgz#3385ac790192130cbe230e802ec02c9215bbfeda" - dependencies: - hoek "4.x.x" - isemail "2.x.x" - items "2.x.x" - moment "2.x.x" - topo "2.x.x" - js-sha3@0.5.5: version "0.5.5" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.5.tgz#baf0c0e8c54ad5903447df96ade7a4a1bca79a4a" @@ -3044,18 +1928,10 @@ js-sha3@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.3.1.tgz#86122802142f0828502a0d1dee1d95e253bb0243" -js-sha3@^0.5.1, js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - js-tokens@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-3.0.1.tgz#08e9f132484a2c45a30907e9dc4d5567b7f114d7" -jsbn@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.0.tgz#650987da0dd74f4ebf5a11377a2aa2d273e97dfd" - jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -3068,10 +1944,6 @@ jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" -json-schema-to-markdown@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/json-schema-to-markdown/-/json-schema-to-markdown-1.0.3.tgz#4411ca222b2b6760e616663f0bb2bd76bb26ebb8" - json-schema@0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.2.3.tgz#b480c892e59a2f05954ce727bd3f2a4e882f9e13" @@ -3082,16 +1954,10 @@ json-stable-stringify@^1.0.1: dependencies: jsonify "~0.0.0" -json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: +json-stringify-safe@~5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" -json-text-sequence@^0.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/json-text-sequence/-/json-text-sequence-0.1.1.tgz#a72f217dc4afc4629fff5feb304dc1bd51a2f3d2" - dependencies: - delimit-stream "0.1.0" - json3@3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/json3/-/json3-3.3.2.tgz#3c0434743df93e2f5c42aee7b19bcb483575f4e1" @@ -3110,10 +1976,6 @@ jsonify@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.0.tgz#2c74b6ee41d93ca51b7b5aaee8f503631d252a73" -jsonschema@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.1.1.tgz#3cede8e3e411d377872eefbc9fdf26383cbc3ed9" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -3139,10 +2001,6 @@ keccakjs@^0.2.0: browserify-sha3 "^0.0.1" sha3 "^1.1.0" -keypair@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.1.tgz#7603719270afb6564ed38a22087a06fc9aa4ea1b" - kind-of@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.1.0.tgz#475d698a5e49ff5e53d14e3e732429dc8bf4cf47" @@ -3155,23 +2013,13 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -latest-version@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-2.0.0.tgz#56f8d6139620847b8017f8f1f4d78e211324168b" - dependencies: - package-json "^2.0.0" - -lazy-req@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/lazy-req/-/lazy-req-1.1.0.tgz#bdaebead30f8d824039ce0ce149d4daa07ba1fac" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" dependencies: invert-kv "^1.0.0" -left-pad@^1.1.1, left-pad@^1.1.3: +left-pad@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/left-pad/-/left-pad-1.1.3.tgz#612f61c033f3a9e08e939f1caebeea41b6f3199a" @@ -3213,162 +2061,6 @@ levelup@^1.2.1: semver "~5.1.0" xtend "~4.0.0" -libp2p-crypto-secp256k1@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/libp2p-crypto-secp256k1/-/libp2p-crypto-secp256k1-0.1.4.tgz#211378fe3a859d89ad1203aa9e0d75d686c85bdf" - dependencies: - async "^2.1.4" - libp2p-crypto "~0.8.4" - multihashing-async "~0.4.2" - nodeify "^1.0.0" - safe-buffer "^5.0.1" - secp256k1 "^3.2.5" - -libp2p-crypto@~0.8.4, libp2p-crypto@~0.8.6, libp2p-crypto@~0.8.7: - version "0.8.8" - resolved "https://registry.yarnpkg.com/libp2p-crypto/-/libp2p-crypto-0.8.8.tgz#dc8a49cbcedb5239de977619f2d18df9fc110f39" - dependencies: - asn1.js "^4.9.1" - async "^2.1.5" - browserify-aes "^1.0.6" - keypair "^1.0.1" - libp2p-crypto-secp256k1 "^0.1.4" - multihashing-async "~0.4.4" - nodeify "^1.0.1" - pem-jwk "^1.5.1" - protocol-buffers "^3.2.1" - rsa-pem-to-jwk "^1.1.3" - safe-buffer "^5.0.1" - tweetnacl "^1.0.0-rc.1" - webcrypto-shim "github:dignifiedquire/webcrypto-shim#master" - optionalDependencies: - node-webcrypto-ossl "^1.0.21" - -libp2p-identify@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/libp2p-identify/-/libp2p-identify-0.3.3.tgz#70e6c4d322b9ef475a75ce57b4bb6898adb75f29" - dependencies: - multiaddr "^2.2.2" - peer-id "~0.8.4" - peer-info "~0.8.4" - protocol-buffers "^3.2.1" - pull-length-prefixed "^1.2.0" - pull-stream "^3.5.0" - -libp2p-ipfs-browser@^0.16.0: - version "0.16.0" - resolved "https://registry.yarnpkg.com/libp2p-ipfs-browser/-/libp2p-ipfs-browser-0.16.0.tgz#fcb2c0b0dbca0a1c6175a9218d28f8861939c0f9" - dependencies: - libp2p-secio "^0.6.3" - libp2p-spdy "^0.10.0" - libp2p-swarm "^0.26.1" - libp2p-webrtc-star "^0.5.0" - libp2p-websockets "^0.9.1" - mafmt "^2.1.2" - multiaddr "^2.0.3" - peer-book "^0.3.0" - peer-id "^0.8.0" - peer-info "^0.8.0" - -libp2p-ipfs@^0.15.0: - version "0.15.0" - resolved "https://registry.yarnpkg.com/libp2p-ipfs/-/libp2p-ipfs-0.15.0.tgz#e2cba14185b04ebcf794886f9f48b04c48e390bb" - dependencies: - libp2p-secio "^0.6.2" - libp2p-spdy "^0.10.0" - libp2p-swarm "^0.26.0" - libp2p-tcp "^0.9.1" - libp2p-websockets "^0.9.0" - mafmt "^2.1.2" - multiaddr "^2.0.3" - peer-book "^0.3.0" - peer-id "^0.8.0" - peer-info "^0.8.0" - -libp2p-secio@^0.6.2, libp2p-secio@^0.6.3: - version "0.6.8" - resolved "https://registry.yarnpkg.com/libp2p-secio/-/libp2p-secio-0.6.8.tgz#29a44a7225a0f6149199fcc0bb09772ac915ee03" - dependencies: - async "^2.1.5" - debug "^2.6.3" - interface-connection "~0.3.2" - libp2p-crypto "~0.8.6" - multihashing-async "~0.4.4" - peer-id "~0.8.4" - protocol-buffers "^3.2.1" - pull-defer "^0.2.2" - pull-handshake "^1.1.4" - pull-length-prefixed "^1.2.0" - pull-stream "^3.5.0" - -libp2p-spdy@^0.10.0: - version "0.10.6" - resolved "https://registry.yarnpkg.com/libp2p-spdy/-/libp2p-spdy-0.10.6.tgz#a7c1828d1de61158e2c432f6c2d1dbc8e2538035" - dependencies: - browserify-zlib-next "^1.0.1" - interface-connection "~0.3.2" - lodash.noop "^3.0.1" - pull-stream-to-stream "^1.3.3" - spdy-transport "^2.0.18" - stream-to-pull-stream "^1.7.2" - -libp2p-swarm@^0.26.0, libp2p-swarm@^0.26.1: - version "0.26.19" - resolved "https://registry.yarnpkg.com/libp2p-swarm/-/libp2p-swarm-0.26.19.tgz#305fab108b6ebaeedaa190b1961a2cb0a224f97e" - dependencies: - async "^2.1.5" - browserify-zlib-next "^1.0.1" - debug "^2.6.3" - interface-connection "~0.3.2" - ip-address "^5.8.6" - libp2p-identify "~0.3.3" - lodash.includes "^4.3.0" - multiaddr "^2.2.2" - multistream-select "~0.13.5" - once "^1.4.0" - peer-id "~0.8.4" - peer-info "~0.8.4" - protocol-buffers "^3.2.1" - -libp2p-tcp@^0.9.1: - version "0.9.4" - resolved "https://registry.yarnpkg.com/libp2p-tcp/-/libp2p-tcp-0.9.4.tgz#9c0dc4177d3341e04f9f140bd55a4b8dc68772d8" - dependencies: - interface-connection "~0.3.2" - ip-address "^5.8.6" - lodash.includes "^4.3.0" - lodash.isfunction "^3.0.8" - mafmt "^2.1.6" - multiaddr "^2.2.2" - stream-to-pull-stream "^1.7.2" - -libp2p-webrtc-star@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/libp2p-webrtc-star/-/libp2p-webrtc-star-0.5.0.tgz#3cd1e55495100e4732f5e3fe78aaee28d8d0712a" - dependencies: - async "^2.1.2" - debug "^2.2.0" - hapi "^15.0.3" - interface-connection "^0.3.0" - mafmt "^2.1.0" - minimist "^1.2.0" - peer-id "^0.8.0" - peer-info "^0.8.0" - pull-stream "^3.4.3" - simple-peer "^6.0.4" - socket.io "^1.4.6" - socket.io-client "^1.4.6" - stream-to-pull-stream "^1.7.0" - -libp2p-websockets@^0.9.0, libp2p-websockets@^0.9.1: - version "0.9.6" - resolved "https://registry.yarnpkg.com/libp2p-websockets/-/libp2p-websockets-0.9.6.tgz#1edf2f543a94be1885ca7a56590d16cad567806b" - dependencies: - interface-connection "~0.3.2" - lodash.includes "^4.3.0" - mafmt "^2.1.6" - pull-ws "^3.2.8" - load-json-file@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0" @@ -3379,26 +2071,6 @@ load-json-file@^1.0.0: pinkie-promise "^2.0.0" strip-bom "^2.0.0" -load-json-file@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-2.0.0.tgz#7947e42149af80d696cbf797bcaabcfe1fe29ca8" - dependencies: - graceful-fs "^4.1.2" - parse-json "^2.2.0" - pify "^2.0.0" - strip-bom "^3.0.0" - -locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - -lock@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/lock/-/lock-0.1.3.tgz#f66c1caa0c41956e1426608039ed59b71bdf1854" - lodash._baseassign@^3.0.0: version "3.2.0" resolved "https://registry.yarnpkg.com/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz#8c38a099500f215ad09e59f1722fd0c52bfe0a4e" @@ -3434,38 +2106,6 @@ lodash.create@3.1.1: lodash._basecreate "^3.0.0" lodash._isiterateecall "^3.0.0" -lodash.debounce@^4.0.8: - version "4.0.8" - resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" - -lodash.filter@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.filter/-/lodash.filter-4.6.0.tgz#668b1d4981603ae1cc5a6fa760143e480b4c4ace" - -lodash.find@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.find/-/lodash.find-4.6.0.tgz#cb0704d47ab71789ffa0de8b97dd926fb88b13b1" - -lodash.flatmap@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" - -lodash.flatten@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" - -lodash.has@^4.5.2: - version "4.5.2" - resolved "https://registry.yarnpkg.com/lodash.has/-/lodash.has-4.5.2.tgz#d19f4dc1095058cccbe2b0cdf4ee0fe4aa37c862" - -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - lodash.isarguments@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" @@ -3474,18 +2114,6 @@ lodash.isarray@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/lodash.isarray/-/lodash.isarray-3.0.4.tgz#79e4eb88c36a8122af86f844aa9bcd851b5fbb55" -lodash.isequalwith@^4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/lodash.isequalwith/-/lodash.isequalwith-4.4.0.tgz#266726ddd528f854f21f4ea98a065606e0fbc6b0" - -lodash.isfunction@^3.0.8: - version "3.0.8" - resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.8.tgz#4db709fc81bc4a8fd7127a458a5346c5cdce2c6b" - -lodash.isundefined@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.isundefined/-/lodash.isundefined-3.0.1.tgz#23ef3d9535565203a66cefd5b830f848911afb48" - lodash.keys@^3.0.0: version "3.1.2" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-3.1.2.tgz#4dbc0472b156be50a0b286855d1bd0b0c656098a" @@ -3494,101 +2122,28 @@ lodash.keys@^3.0.0: lodash.isarguments "^3.0.0" lodash.isarray "^3.0.0" -lodash.map@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.map/-/lodash.map-4.6.0.tgz#771ec7839e3473d9c4cde28b19394c3562f4f6d3" - -lodash.max@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.max/-/lodash.max-4.0.1.tgz#8735566c618b35a9f760520b487ae79658af136a" - -lodash.merge@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.0.tgz#69884ba144ac33fe699737a6086deffadd0f89c5" - -lodash.noop@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" - -lodash.padstart@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/lodash.padstart/-/lodash.padstart-4.6.1.tgz#d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b" - -lodash.range@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lodash.range/-/lodash.range-3.2.0.tgz#f461e588f66683f7eadeade513e38a69a565a15d" - -lodash.repeat@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/lodash.repeat/-/lodash.repeat-4.1.0.tgz#fc7de8131d8c8ac07e4b49f74ffe829d1f2bec44" - -lodash.set@^4.3.2: - version "4.3.2" - resolved "https://registry.yarnpkg.com/lodash.set/-/lodash.set-4.3.2.tgz#d8757b1da807dde24816b0d6a84bea1a76230b23" - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - -lodash.uniqby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz#d99c07a669e9e6d24e1362dfe266c67616af1302" - -lodash.values@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" - lodash@=3.10.1: version "3.10.1" resolved "https://registry.yarnpkg.com/lodash/-/lodash-3.10.1.tgz#5bf45e8e49ba4189e17d482789dfd15bd140b7b6" -lodash@^4.11.1, lodash@^4.11.2, lodash@^4.14.0, lodash@^4.17.1, lodash@^4.17.4, lodash@^4.2.0, lodash@^4.5.1: +lodash@^4.14.0, lodash@^4.14.2, lodash@^4.2.0: version "4.17.4" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae" -looper@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-2.0.0.tgz#66cd0c774af3d4fedac53794f742db56da8f09ec" - -looper@^3.0.0, looper@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-3.0.0.tgz#2efa54c3b1cbaba9b94aee2e5914b0be57fbb749" - -looper@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/looper/-/looper-4.0.0.tgz#7706aded59a99edca06e6b54bb86c8ec19c95155" - loose-envify@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.3.1.tgz#d1a8ad33fa9ce0e713d65fdd0ac8b748d478c848" dependencies: js-tokens "^3.0.0" -lowercase-keys@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.0.tgz#4e3366b39e7f5457e35f1324bdf6f88d0bfc7306" - lru-cache@2: version "2.7.3" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-2.7.3.tgz#6d4524e8b955f95d4f5b58851ce21dd72fb4e952" -lru-cache@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e" - dependencies: - pseudomap "^1.0.1" - yallist "^2.0.0" - ltgt@~2.1.3: version "2.1.3" resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.1.3.tgz#10851a06d9964b971178441c23c9e52698eece34" -mafmt@^2.1.0, mafmt@^2.1.2, mafmt@^2.1.6: - version "2.1.8" - resolved "https://registry.yarnpkg.com/mafmt/-/mafmt-2.1.8.tgz#d8b7f763be56db62a0343bc5c47d38ab2cbef45e" - dependencies: - multiaddr "^2.2.3" - memdown@^1.0.0: version "1.2.4" resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.2.4.tgz#cd9a34aaf074d53445a271108eb4b8dd4ec0f27f" @@ -3634,27 +2189,16 @@ micromatch@^2.1.5: parse-glob "^3.0.4" regex-cache "^0.4.2" -mime-db@1.x.x, mime-db@~1.27.0: +mime-db@~1.27.0: version "1.27.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.27.0.tgz#820f572296bbd20ec25ed55e5b5de869e5436eb1" -mime-types@^2.1.12, mime-types@~2.1.11, mime-types@~2.1.7: +mime-types@^2.1.12, mime-types@~2.1.7: version "2.1.15" resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.15.tgz#a4ebf5064094569237b8cf70046776d09fc92aed" dependencies: mime-db "~1.27.0" -mime@1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.3.4.tgz#115f9e3b6b3daf2959983cb38f149a2d40eb5d53" - -mimos@3.x.x: - version "3.0.3" - resolved "https://registry.yarnpkg.com/mimos/-/mimos-3.0.3.tgz#b9109072ad378c2b72f6a0101c43ddfb2b36641f" - dependencies: - hoek "4.x.x" - mime-db "1.x.x" - min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -3686,7 +2230,7 @@ minimist@0.0.8: version "0.0.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" -minimist@1.2.0, minimist@^1.1.3, minimist@^1.2.0, minimist@~1.2.0: +minimist@^1.2.0, minimist@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.0.tgz#a35008b20f41383eec1fb914f4cd5df79a264284" @@ -3694,7 +2238,7 @@ mkdirp@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.3.0.tgz#1bbf5ab1ba827af23575143490426455f481fe1e" -mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@~0.5.0: +mkdirp@0.5.1, "mkdirp@>=0.5 0", mkdirp@^0.5.1: version "0.5.1" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" dependencies: @@ -3715,26 +2259,22 @@ mocha@^2.4.5: supports-color "1.2.0" to-iso-string "0.0.2" -mocha@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.2.0.tgz#7dc4f45e5088075171a68896814e6ae9eb7a85e3" +mocha@^3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/mocha/-/mocha-3.4.2.tgz#d0ef4d332126dbf18d0d640c9b382dd48be97594" dependencies: browser-stdout "1.3.0" commander "2.9.0" - debug "2.2.0" - diff "1.4.0" + debug "2.6.0" + diff "3.2.0" escape-string-regexp "1.0.5" - glob "7.0.5" + glob "7.1.1" growl "1.9.2" json3 "3.3.2" lodash.create "3.1.1" mkdirp "0.5.1" supports-color "3.1.2" -moment@2.x.x: - version "2.18.1" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.18.1.tgz#c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f" - ms@0.7.1: version "0.7.1" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.1.tgz#9cd13c03adbff25b65effde7ce864ee952017098" @@ -3743,146 +2283,14 @@ ms@0.7.2: version "0.7.2" resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.2.tgz#ae25cf2512b3885a1d95d7f037868d8431124765" -ms@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-0.7.3.tgz#708155a5e44e33f5fd0fc53e81d0d40a91be1fff" - -multiaddr@^2.0.3, multiaddr@^2.2.2, multiaddr@^2.2.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/multiaddr/-/multiaddr-2.3.0.tgz#56634824f48bcbd8405fd5434c31b277424c62fc" - dependencies: - bs58 "^4.0.0" - ip "^1.1.5" - lodash.filter "^4.6.0" - lodash.map "^4.6.0" - varint "^5.0.0" - xtend "^4.0.1" - -multibase@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.2.0.tgz#8c0f9d5ff33f863dc4722ca7d06dc1dd9e5f006e" - dependencies: - bs58 "^3.0.0" - -multibase@^0.3.0, multibase@~0.3.4: - version "0.3.4" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.3.4.tgz#fba8b0aac9724f62e24782557e2a062e30d3ae7f" - dependencies: - base-x "3.0.0" - -multicodec@0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.1.0.tgz#00067fcc0517d571bec1c6f325d2c987b3a74cc8" - dependencies: - varint "^4.0.1" - -multicodec@^0.1.3, multicodec@~0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.1.7.tgz#658f2d15f42fa19e66092fe917a051a1bf07e41e" - dependencies: - varint "^5.0.0" - -multihashes@^0.2.0, multihashes@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.2.2.tgz#8ccf2e3ba3d041e1146728de0d8a4da9e8b18251" - dependencies: - bs58 "^3.0.0" - -multihashes@^0.3.0, multihashes@^0.3.1, multihashes@^0.3.2, multihashes@~0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.3.3.tgz#18d74d8c2393af39aaf0ac8f4fd6d888d43f2f29" - dependencies: - bs58 "^4.0.0" - -multihashes@~0.4.4, multihashes@~0.4.5: - version "0.4.5" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.5.tgz#9b053c51fdc74d771edde20e1bc91d4bbec3fa69" - dependencies: - bs58 "^4.0.0" - varint "^5.0.0" - -multihashing-async@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.2.0.tgz#8dec195a20fe402cca38e2728d693607d1c5a37b" - dependencies: - browserify-sha3 "0.0.2" - multihashes "^0.2.2" - nodeify "^1.0.0" - sha3 "^1.2.0" - -multihashing-async@^0.4.0, multihashing-async@~0.4.2, multihashing-async@~0.4.4: - version "0.4.5" - resolved "https://registry.yarnpkg.com/multihashing-async/-/multihashing-async-0.4.5.tgz#e94b408a68c36c393180146e3fad9126108eb6a9" - dependencies: - async "^2.1.5" - blakejs "^1.0.1" - js-sha3 "^0.5.7" - multihashes "~0.4.5" - murmurhash3js "^3.0.1" - nodeify "^1.0.1" - -multipart-stream@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/multipart-stream/-/multipart-stream-2.0.1.tgz#195c9cb4b2c41e78c72a1e8f38c7d0eba1cd0ba0" - dependencies: - inherits "^2.0.1" - is-stream "^1.0.1" - sandwich-stream "^1.0.0" - -multistream-select@~0.13.5: - version "0.13.5" - resolved "https://registry.yarnpkg.com/multistream-select/-/multistream-select-0.13.5.tgz#fe33676202e64619054aeeb45336a881cc9c54e9" - dependencies: - async "^2.1.5" - debug "^2.6.3" - interface-connection "~0.3.1" - lodash.isfunction "^3.0.8" - lodash.range "^3.2.0" - once "^1.4.0" - pull-handshake "^1.1.4" - pull-length-prefixed "^1.2.0" - pull-stream "^3.5.0" - semver "^5.3.0" - varint "^5.0.0" - -murmurhash3js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/murmurhash3js/-/murmurhash3js-3.0.1.tgz#3e983e5b47c2a06f43a713174e7e435ca044b998" - -nan@^2.0.5, nan@^2.0.8, nan@^2.2.1, nan@^2.3.0, nan@^2.5.1: +nan@^2.0.5, nan@^2.0.8, nan@^2.2.1, nan@^2.3.0: version "2.6.2" resolved "https://registry.yarnpkg.com/nan/-/nan-2.6.2.tgz#e4ff34e6c95fdfb5aecc08de6596f43605a7db45" -ndjson@^1.4.3: - version "1.5.0" - resolved "https://registry.yarnpkg.com/ndjson/-/ndjson-1.5.0.tgz#ae603b36b134bcec347b452422b0bf98d5832ec8" - dependencies: - json-stringify-safe "^5.0.1" - minimist "^1.2.0" - split2 "^2.1.0" - through2 "^2.0.3" - -negotiator@0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.1.tgz#2b327184e8992101177b28563fb5e7102acd0ca9" - -nigel@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/nigel/-/nigel-2.0.2.tgz#93a1866fb0c52d87390aa75e2b161f4b5c75e5b1" - dependencies: - hoek "4.x.x" - vise "2.x.x" - node-abi@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.0.0.tgz#443bfd151b599231028ae425e592e76cd31cb537" -node-dir@^0.1.10, node-dir@^0.1.16: - version "0.1.16" - resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.16.tgz#d2ef583aa50b90d93db8cdd26fcea58353957fe4" - dependencies: - minimatch "^3.0.2" - node-fetch@^1.0.1: version "1.6.3" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.6.3.tgz#dc234edd6489982d58e8f0db4f695029abcd8c04" @@ -3925,35 +2333,6 @@ node-pre-gyp@^0.6.29: tar "^2.2.1" tar-pack "^3.4.0" -node-status-codes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/node-status-codes/-/node-status-codes-1.0.0.tgz#5ae5541d024645d32a58fcddc9ceecea7ae3ac2f" - -node-webcrypto-ossl@^1.0.21: - version "1.0.21" - resolved "https://registry.yarnpkg.com/node-webcrypto-ossl/-/node-webcrypto-ossl-1.0.21.tgz#70567a5dc09f36bd78682eb72c7e1437a137b6bf" - dependencies: - "@types/mkdirp" "^0.3.29" - "@types/node" "^6.0.45" - mkdirp "^0.5.1" - nan "^2.5.1" - tslib "^1.5.0" - typescript "^2" - webcrypto-core "^0" - -nodegit-promise@~4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/nodegit-promise/-/nodegit-promise-4.0.0.tgz#5722b184f2df7327161064a791d2e842c9167b34" - dependencies: - asap "~2.0.3" - -nodeify@^1.0.0, nodeify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/nodeify/-/nodeify-1.0.1.tgz#64ab69a7bdbaf03ce107b4f0335c87c0b9e91b1d" - dependencies: - is-promise "~1.0.0" - promise "~1.3.0" - noop-logger@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2" @@ -3980,12 +2359,6 @@ normalize-path@^2.0.1: dependencies: remove-trailing-separator "^1.0.1" -npm-programmatic@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/npm-programmatic/-/npm-programmatic-0.0.6.tgz#3c8f4dbb210efd65b99ee6a5ac76f27b4d5d6b78" - dependencies: - bluebird "^3.4.1" - npmlog@^4.0.1, npmlog@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.0.2.tgz#d03950e0e78ce1527ba26d2a7592e9348ac3e75f" @@ -4010,31 +2383,15 @@ oauth-sign@~0.8.1: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" -object-assign@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.0.tgz#7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0" - -object-assign@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" - -object-assign@^4.0.1, object-assign@^4.1.0: +object-assign@^4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" -object-component@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/object-component/-/object-component-0.0.3.tgz#f0c69aa50efc95b866c186f400a33769cb2f1291" - -object-inspect@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-0.4.0.tgz#f5157c116c1455b243b06ee97703392c5ad89fec" - object-inspect@~1.2.1: version "1.2.2" resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.2.2.tgz#c82115e4fcc888aea14d64c22e4f17f6a70d5e5a" -object-keys@^1.0.6, object-keys@^1.0.8: +object-keys@^1.0.8: version "1.0.11" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.0.11.tgz#c54601778ad560f1142ce0e01bcca8b56d13426d" @@ -4049,31 +2406,15 @@ object.omit@^2.0.0: for-own "^0.1.4" is-extendable "^0.1.1" -obuf@^1.0.0, obuf@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.1.tgz#104124b6c602c6796881a042541d36db43a5264e" - -on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - dependencies: - ee-first "1.1.1" - once@^1.3.0, once@^1.3.1, once@^1.3.3, once@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" dependencies: wrappy "1" -optimist@~0.3.5: - version "0.3.7" - resolved "https://registry.yarnpkg.com/optimist/-/optimist-0.3.7.tgz#c90941ad59e4273328923074d2cf2e7cbc6ec0d9" - dependencies: - wordwrap "~0.0.2" - -options@>=0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/options/-/options-0.0.6.tgz#ec22d312806bb53e731773e7cdaefcf1c643128f" +original-require@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20" os-homedir@^1.0.0, os-homedir@^1.0.1: version "1.0.2" @@ -4089,7 +2430,7 @@ os-tmpdir@^1.0.0, os-tmpdir@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" -osenv@^0.1.0, osenv@^0.1.4: +osenv@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/osenv/-/osenv-0.1.4.tgz#42fe6d5953df06c8064be6f176c3d05aaaa34644" dependencies: @@ -4104,33 +2445,10 @@ output-file-sync@^1.1.0: mkdirp "^0.5.1" object-assign "^4.1.0" -p-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.1.0.tgz#b07ff2d9a5d88bec806035895a2bab66a27988bc" - -p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - dependencies: - p-limit "^1.1.0" - -package-json@^2.0.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-2.4.0.tgz#0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb" - dependencies: - got "^5.0.0" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - pako@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.3.tgz#5f515b0c6722e1982920ae8005eacb0b7ca73ccf" -pako@~1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/pako/-/pako-1.0.5.tgz#d2205dfe5b9da8af797e7c163db4d1f84e4600bc" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -4147,52 +2465,22 @@ parse-headers@^2.0.0: for-each "^0.3.2" trim "0.0.1" -parse-json@^2.1.0, parse-json@^2.2.0: +parse-json@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9" dependencies: error-ex "^1.2.0" -parsejson@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/parsejson/-/parsejson-0.0.3.tgz#ab7e3759f209ece99437973f7d0f1f64ae0e64ab" - dependencies: - better-assert "~1.0.0" - -parseqs@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseqs/-/parseqs-0.0.5.tgz#d5208a3738e46766e291ba2ea173684921a8b89d" - dependencies: - better-assert "~1.0.0" - -parseuri@0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/parseuri/-/parseuri-0.0.5.tgz#80204a50d4dbb779bfdc6ebe2778d90e4bce320a" - dependencies: - better-assert "~1.0.0" - -parseurl@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.1.tgz#c8ab8c9223ba34888aa64a297b28853bec18da56" - path-exists@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b" dependencies: pinkie-promise "^2.0.0" -path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - path-is-absolute@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - path-type@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441" @@ -4201,65 +2489,20 @@ path-type@^1.0.0: pify "^2.0.0" pinkie-promise "^2.0.0" -path-type@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-2.0.0.tgz#f012ccb8415b7096fc2daa1054c3d72389594c73" - dependencies: - pify "^2.0.0" - -pbkdf2@^3.0.0, pbkdf2@^3.0.3, pbkdf2@^3.0.9: +pbkdf2@^3.0.0, pbkdf2@^3.0.3: version "3.0.9" resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.9.tgz#f2c4b25a600058b3c3773c086c37dbbee1ffe693" dependencies: create-hmac "^1.1.2" -peer-book@^0.3.0: - version "0.3.2" - resolved "https://registry.yarnpkg.com/peer-book/-/peer-book-0.3.2.tgz#2a5f42acb19bbc3170a13aeffb4b3310388feaf4" - dependencies: - bs58 "^4.0.0" - -peer-id@^0.8.0, peer-id@^0.8.5, peer-id@~0.8.4: - version "0.8.7" - resolved "https://registry.yarnpkg.com/peer-id/-/peer-id-0.8.7.tgz#c9bd9d1588d4ccce71752a9049afa9f10176a33d" - dependencies: - async "^2.3.0" - libp2p-crypto "~0.8.7" - lodash "^4.17.4" - multihashes "~0.4.5" - -peer-info@^0.8.0, peer-info@~0.8.4: - version "0.8.5" - resolved "https://registry.yarnpkg.com/peer-info/-/peer-info-0.8.5.tgz#b8fbee6376405c04c8b644610cd06231c4262a1e" - dependencies: - lodash.uniqby "^4.7.0" - multiaddr "^2.2.3" - peer-id "^0.8.5" - pegjs@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/pegjs/-/pegjs-0.10.0.tgz#cf8bafae6eddff4b5a7efb185269eaaf4610ddbd" -pem-jwk@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/pem-jwk/-/pem-jwk-1.5.1.tgz#7a8637fd2f67a827e57c0c42e1c23c3fd52cfb01" - dependencies: - asn1.js "1.0.3" - performance-now@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-0.2.0.tgz#33ef30c5c77d4ea21c5a53869d91b56d8f2555e5" -pez@2.x.x: - version "2.1.4" - resolved "https://registry.yarnpkg.com/pez/-/pez-2.1.4.tgz#73f822fa62d599d65c4606f490d54d345191bc7c" - dependencies: - b64 "3.x.x" - boom "4.x.x" - content "3.x.x" - hoek "4.x.x" - nigel "2.x.x" - pify@^2.0.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -4281,14 +2524,6 @@ plantuml-encoder@^1.2.4: pako "1.0.3" utf8-bytes "0.0.1" -podium@^1.2.x: - version "1.2.5" - resolved "https://registry.yarnpkg.com/podium/-/podium-1.2.5.tgz#87c566c2f0365bcf0a1ec7602c4d01948cdd2ad5" - dependencies: - hoek "4.x.x" - items "2.x.x" - joi "10.x.x" - prebuild-install@^2.0.0: version "2.1.2" resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-2.1.2.tgz#d9ae0ca85330e03962d93292f95a8b44c2ebf505" @@ -4308,10 +2543,6 @@ prebuild-install@^2.0.0: tunnel-agent "^0.4.3" xtend "4.0.1" -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" @@ -4328,38 +2559,6 @@ process@~0.5.1: version "0.5.2" resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf" -promise@~1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/promise/-/promise-1.3.0.tgz#e5cc9a4c8278e4664ffedc01c7da84842b040175" - dependencies: - is-promise "~1" - -promisify-es6@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/promisify-es6/-/promisify-es6-1.0.2.tgz#63093553e39be5036d757b455fb93d155da4b589" - -promisify-node@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/promisify-node/-/promisify-node-0.4.0.tgz#32803874ec411784e4786c339902a87a179a469c" - dependencies: - nodegit-promise "~4.0.0" - object-assign "^4.0.1" - -protocol-buffers-schema@^3.1.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/protocol-buffers-schema/-/protocol-buffers-schema-3.3.0.tgz#141271d96c718f2c810847f158c991f5bca9e321" - -protocol-buffers@^3.1.6, protocol-buffers@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/protocol-buffers/-/protocol-buffers-3.2.1.tgz#37258e17e24a082f06ebb17731e92851d1c76889" - dependencies: - brfs "^1.4.0" - generate-function "^2.0.0" - generate-object-property "^1.2.0" - protocol-buffers-schema "^3.1.1" - signed-varint "^2.0.0" - varint "^5.0.0" - prr@~0.0.0: version "0.0.0" resolved "https://registry.yarnpkg.com/prr/-/prr-0.0.0.tgz#1a84b85908325501411853d0081ee3fa86e2926a" @@ -4368,128 +2567,6 @@ prr@~1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" -pseudomap@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3" - -pull-block@^1.0.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pull-block/-/pull-block-1.2.0.tgz#e3947f0a83426e847ecececb0b9ba308b019b3e1" - dependencies: - pull-through "^1.0.18" - safe-buffer "^5.0.1" - -pull-cat@^1.1.11, pull-cat@^1.1.9: - version "1.1.11" - resolved "https://registry.yarnpkg.com/pull-cat/-/pull-cat-1.1.11.tgz#b642dd1255da376a706b6db4fa962f5fdb74c31b" - -pull-defer@^0.2.2, pull-defer@~0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/pull-defer/-/pull-defer-0.2.2.tgz#0887b0ffb30af32a56dbecfa72c1672271f07b13" - -pull-file@^0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pull-file/-/pull-file-0.5.0.tgz#b3ca405306e082f9d4528288933badb2b656365b" - dependencies: - pull-utf8-decoder "^1.0.2" - -pull-file@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pull-file/-/pull-file-1.0.0.tgz#5a0cb036d78ee10e3e0b4293dfcf6effa1036318" - dependencies: - pull-utf8-decoder "^1.0.2" - -pull-handshake@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/pull-handshake/-/pull-handshake-1.1.4.tgz#6000a0fd018884cdfd737254f8cc60ab2a637791" - dependencies: - pull-cat "^1.1.9" - pull-pair "~1.1.0" - pull-pushable "^2.0.0" - pull-reader "^1.2.3" - -pull-length-prefixed@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/pull-length-prefixed/-/pull-length-prefixed-1.2.1.tgz#fa00ca142a85f347a91d6c12da416ef5659897dc" - dependencies: - pull-pushable "^2.0.1" - pull-reader "^1.2.9" - safe-buffer "^5.0.1" - varint "^5.0.0" - -pull-pair@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/pull-pair/-/pull-pair-1.1.0.tgz#7ee427263fdf4da825397ac0a05e1ab4b74bd76d" - -pull-paramap@^1.2.0, pull-paramap@^1.2.1: - version "1.2.2" - resolved "https://registry.yarnpkg.com/pull-paramap/-/pull-paramap-1.2.2.tgz#51a4193ce9c8d7215d95adad45e2bcdb8493b23a" - dependencies: - looper "^4.0.0" - -pull-pushable@^2.0.0, pull-pushable@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pull-pushable/-/pull-pushable-2.0.1.tgz#02bdca51a39cf585f483fbecde2fc9378076f212" - -pull-reader@^1.2.3, pull-reader@^1.2.9: - version "1.2.9" - resolved "https://registry.yarnpkg.com/pull-reader/-/pull-reader-1.2.9.tgz#d2e9ad00bcfb54e62aa66d42c2dbbcb5eb6843b0" - -pull-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/pull-sort/-/pull-sort-1.0.0.tgz#0e39fb9a38e54175befe418eaba21223f2c0e705" - -pull-stream-to-stream@^1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/pull-stream-to-stream/-/pull-stream-to-stream-1.3.4.tgz#3f81d8216bd18d2bfd1a198190471180e2738399" - -pull-stream@^3.2.3, pull-stream@^3.4.3, pull-stream@^3.4.5, pull-stream@^3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/pull-stream/-/pull-stream-3.5.0.tgz#1ee5b6f76fd3b3a49a5afb6ded5c0320acb3cfc7" - -pull-through@^1.0.18: - version "1.0.18" - resolved "https://registry.yarnpkg.com/pull-through/-/pull-through-1.0.18.tgz#8dd62314263e59cf5096eafbb127a2b6ef310735" - dependencies: - looper "~3.0.0" - -pull-traverse@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/pull-traverse/-/pull-traverse-1.0.3.tgz#74fb5d7be7fa6bd7a78e97933e199b7945866938" - -pull-utf8-decoder@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/pull-utf8-decoder/-/pull-utf8-decoder-1.0.2.tgz#a7afa2384d1e6415a5d602054126cc8de3bcbce7" - -pull-window@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/pull-window/-/pull-window-2.1.4.tgz#fc3b86feebd1920c7ae297691e23f705f88552f0" - dependencies: - looper "^2.0.0" - -pull-write-file@^0.2.1: - version "0.2.4" - resolved "https://registry.yarnpkg.com/pull-write-file/-/pull-write-file-0.2.4.tgz#437344aeb2189f65e678ed1af37f0f760a5453ef" - -pull-write@^1.0.2, pull-write@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/pull-write/-/pull-write-1.1.2.tgz#60274aa478f8c827710b92095325331ab175fdd2" - dependencies: - looper "^4.0.0" - pull-cat "^1.1.11" - pull-stream "^3.4.5" - -pull-ws@^3.2.8: - version "3.2.9" - resolved "https://registry.yarnpkg.com/pull-ws/-/pull-ws-3.2.9.tgz#8a90502a41d9058fcb3096ad4823a0f189d613ba" - dependencies: - relative-url "^1.0.2" - ws "^1.1.0" - -pull-zip@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pull-zip/-/pull-zip-2.0.1.tgz#e0641ceaff964af27596daac0700e79b381028f5" - pump@^1.0.0, pump@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/pump/-/pump-1.0.2.tgz#3b3ee6512f94f0e575538c17995f9f16990a5d51" @@ -4501,25 +2578,10 @@ punycode@^1.4.1: version "1.4.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e" -qs@^6.3.0, qs@~6.4.0: +qs@~6.4.0: version "6.4.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.4.0.tgz#13e26d28ad6b0ffaa91312cd3bf708ed351e7233" -quote-stream@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-1.0.2.tgz#84963f8c9c26b942e153feeb53aae74652b7e0b2" - dependencies: - buffer-equal "0.0.1" - minimist "^1.1.3" - through2 "^2.0.0" - -quote-stream@~0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/quote-stream/-/quote-stream-0.0.0.tgz#cde29e94c409b16e19dc7098b89b6658f9721d3b" - dependencies: - minimist "0.0.8" - through2 "~0.4.1" - randomatic@^1.1.3: version "1.1.6" resolved "https://registry.yarnpkg.com/randomatic/-/randomatic-1.1.6.tgz#110dcabff397e9dcff7c0789ccc0a49adf1ec5bb" @@ -4527,15 +2589,11 @@ randomatic@^1.1.3: is-number "^2.0.2" kind-of "^3.0.2" -randombytes@^2.0.1, randombytes@^2.0.3: +randombytes@^2.0.1: version "2.0.3" resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.0.3.tgz#674c99760901c3c4112771a31e521dc349cc09ec" -range-parser@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.0.tgz#f49be6b487894ddc40dcc94a322f611092e00d5e" - -rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: +rc@^1.1.6, rc@^1.1.7: version "1.2.1" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.1.tgz#2e03e8e42ee450b8cb3dce65be1bf8974e1dfd95" dependencies: @@ -4544,13 +2602,6 @@ rc@^1.0.1, rc@^1.1.6, rc@^1.1.7: minimist "^1.2.0" strip-json-comments "~2.0.1" -read-all-stream@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/read-all-stream/-/read-all-stream-3.1.0.tgz#35c3e177f2078ef789ee4bfafa4373074eaef4fa" - dependencies: - pinkie-promise "^2.0.0" - readable-stream "^2.0.0" - read-pkg-up@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02" @@ -4558,13 +2609,6 @@ read-pkg-up@^1.0.1: find-up "^1.0.0" read-pkg "^1.0.0" -read-pkg-up@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-2.0.0.tgz#6b72a8048984e0c41e79510fd5e9fa99b3b549be" - dependencies: - find-up "^2.0.0" - read-pkg "^2.0.0" - read-pkg@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28" @@ -4573,24 +2617,16 @@ read-pkg@^1.0.0: normalize-package-data "^2.3.2" path-type "^1.0.0" -read-pkg@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-2.0.0.tgz#8ef1c0623c6a6db0dc6713c4bfac46332b2368f8" - dependencies: - load-json-file "^2.0.0" - normalize-package-data "^2.3.2" - path-type "^2.0.0" - -readable-stream@1.1.x, readable-stream@^1.0.33, readable-stream@^1.1.14, readable-stream@~1.1.9: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" +readable-stream@^1.0.33, readable-stream@~1.0.15: + version "1.0.34" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" dependencies: core-util-is "~1.0.0" inherits "~2.0.1" isarray "0.0.1" string_decoder "~0.10.x" -readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.2.6: +readable-stream@^2.0.0, readable-stream@^2.0.2, readable-stream@^2.0.5, readable-stream@^2.0.6, readable-stream@^2.1.4: version "2.2.9" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.2.9.tgz#cf78ec6f4a6d1eb43d26488cac97f042e74b7fc8" dependencies: @@ -4602,15 +2638,6 @@ readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable string_decoder "~1.0.0" util-deprecate "~1.0.1" -readable-stream@~1.0.15, readable-stream@~1.0.17, readable-stream@~1.0.27-1: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - readdirp@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-2.1.0.tgz#4ed0ad060df3073300c48440373f72d1cc642d78" @@ -4651,18 +2678,6 @@ regexpu-core@^2.0.0: regjsgen "^0.2.0" regjsparser "^0.1.4" -registry-auth-token@^3.0.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.2.0.tgz#5bf3bd4608a2dd9242542c44d66ad8a5f9cdd3b0" - dependencies: - rc "^1.1.6" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - dependencies: - rc "^1.0.1" - regjsgen@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.2.0.tgz#6c016adeac554f75823fe37ac05b92d5a4edb1f7" @@ -4673,10 +2688,6 @@ regjsparser@^0.1.4: dependencies: jsesc "~0.5.0" -relative-url@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/relative-url/-/relative-url-1.0.2.tgz#d21c52a72d6061018bcee9f9c9fc106bf7d65287" - remove-trailing-separator@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.0.1.tgz#615ebb96af559552d4bf4057c8436d486ab63cc4" @@ -4695,7 +2706,7 @@ repeating@^2.0.0: dependencies: is-finite "^1.0.0" -request@^2.12.0, request@^2.67.0, request@^2.81.0: +request@^2.67.0, request@^2.81.0: version "2.81.0" resolved "https://registry.yarnpkg.com/request/-/request-2.81.0.tgz#c6928946a0e06c5f8d6f8a9333469ffda46298a0" dependencies: @@ -4734,11 +2745,7 @@ require-main-filename@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" -require-nocache@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/require-nocache/-/require-nocache-1.0.0.tgz#a665d0b60a07e8249875790a4d350219d3c85fa3" - -resolve@^1.1.5, resolve@~1.1.7: +resolve@~1.1.7: version "1.1.7" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b" @@ -4748,22 +2755,18 @@ resumer@~0.0.0: dependencies: through "~2.3.4" -rimraf@2, rimraf@^2.5.1, rimraf@^2.5.4, rimraf@^2.6.1: +rimraf@2, rimraf@^2.5.1, rimraf@^2.6.1: version "2.6.1" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.1.tgz#c2338ec643df7a1b7fe5c54fa86f57428a55f33d" dependencies: glob "^7.0.5" -rimraf@^2.2.8, rimraf@~2.4.3: +rimraf@^2.2.8: version "2.4.5" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" dependencies: glob "^6.0.1" -rimraf@~2.2.6: - version "2.2.8" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" - ripemd160@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-1.0.1.tgz#93a4bbd4942bc574b69a8fa57c71de10ecca7d6e" @@ -4772,36 +2775,11 @@ rlp@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.0.0.tgz#9db384ff4b89a8f61563d92395d8625b18f3afb0" -rsa-pem-to-jwk@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/rsa-pem-to-jwk/-/rsa-pem-to-jwk-1.1.3.tgz#245e76bdb7e7234cfee7ca032d31b54c38fab98e" - dependencies: - object-assign "^2.0.0" - rsa-unpack "0.0.6" - -rsa-unpack@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/rsa-unpack/-/rsa-unpack-0.0.6.tgz#f50ebd56a628378e631f297161026ce9ab4eddba" - dependencies: - optimist "~0.3.5" - -run-parallel-limit@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.0.3.tgz#6c3930cc7c0b47d35ae7420109f660aade2401e3" - -run-series@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/run-series/-/run-series-1.1.4.tgz#89a73ddc5e75c9ef8ab6320c0a1600d6a41179b9" - safe-buffer@^5.0.1: version "5.0.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.0.1.tgz#d263ca54696cd8a306b5ca6551e92de57918fbe7" -sandwich-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/sandwich-stream/-/sandwich-stream-1.0.0.tgz#7830e45797b5933287f1f9b28f871907456262f2" - -scrypt-async@^1.3.0: +scrypt-async@^1.2.0, scrypt-async@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/scrypt-async/-/scrypt-async-1.3.1.tgz#a11fd6fac981b4b823ee01dee0221169500ddae9" @@ -4824,7 +2802,7 @@ scryptsy@^1.2.1: dependencies: pbkdf2 "^3.0.3" -secp256k1@^3.0.1, secp256k1@^3.2.0, secp256k1@^3.2.5: +secp256k1@^3.0.1, secp256k1@^3.2.0: version "3.2.5" resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.2.5.tgz#0dde5b27e5021665f6dffca7b2c3e010c6c13c93" dependencies: @@ -4845,13 +2823,7 @@ semaphore@>=1.0.1, semaphore@^1.0.3: version "1.0.5" resolved "https://registry.yarnpkg.com/semaphore/-/semaphore-1.0.5.tgz#b492576e66af193db95d65e25ec53f5f19798d60" -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - dependencies: - semver "^5.0.3" - -"semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0: +"semver@2 || 3 || 4 || 5", semver@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" @@ -4859,33 +2831,6 @@ semver@~5.1.0: version "5.1.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.1.1.tgz#a3292a373e6f3e0798da0b20641b9a9c5bc47e19" -send@0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/send/-/send-0.15.1.tgz#8a02354c26e6f5cca700065f5f0cdeba90ec7b5f" - dependencies: - debug "2.6.1" - depd "~1.1.0" - destroy "~1.0.4" - encodeurl "~1.0.1" - escape-html "~1.0.3" - etag "~1.8.0" - fresh "0.5.0" - http-errors "~1.6.1" - mime "1.3.4" - ms "0.7.2" - on-finished "~2.3.0" - range-parser "~1.2.0" - statuses "~1.3.1" - -serve-static@^1.10.0: - version "1.12.1" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.12.1.tgz#7443a965e3ced647aceb5639fa06bf4d1bbe0039" - dependencies: - encodeurl "~1.0.1" - escape-html "~1.0.3" - parseurl "~1.3.1" - send "0.15.1" - set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -4894,37 +2839,22 @@ set-immediate-shim@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61" -setprototypeof@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.0.3.tgz#66567e37043eeb4f04d91bd658c0cbefb55b8e04" - sha.js@^2.3.6: version "2.4.8" resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.8.tgz#37068c2c476b6baf402d14a49c67f597921f634f" dependencies: inherits "^2.0.1" -sha3@^1.1.0, sha3@^1.2.0: +sha3@^1.1.0: version "1.2.0" resolved "https://registry.yarnpkg.com/sha3/-/sha3-1.2.0.tgz#6989f1b70a498705876a373e2c62ace96aa9399a" dependencies: nan "^2.0.5" -shallow-copy@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/shallow-copy/-/shallow-copy-0.0.1.tgz#415f42702d73d810330292cc5ee86eae1a11a170" - shelljs@~0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.6.1.tgz#ec6211bed1920442088fe0f70b2837232ed2c8a8" -shot@3.x.x: - version "3.4.0" - resolved "https://registry.yarnpkg.com/shot/-/shot-3.4.0.tgz#e7125ee72575ae5218349e933636808d790d4b92" - dependencies: - hoek "4.x.x" - joi "10.x.x" - sigmund@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sigmund/-/sigmund-1.0.1.tgz#3ff21f198cad2175f9f3b781853fd94d0d19b590" @@ -4933,12 +2863,6 @@ signal-exit@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d" -signed-varint@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/signed-varint/-/signed-varint-2.0.1.tgz#50a9989da7c98c2c61dad119bc97470ef8528129" - dependencies: - varint "~5.0.0" - simple-get@^1.4.2: version "1.4.3" resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-1.4.3.tgz#e9755eda407e96da40c5e5158c9ea37b33becbeb" @@ -4947,109 +2871,43 @@ simple-get@^1.4.2: unzip-response "^1.0.0" xtend "^4.0.0" -simple-peer@^6.0.4: - version "6.4.4" - resolved "https://registry.yarnpkg.com/simple-peer/-/simple-peer-6.4.4.tgz#4e421f485ac7b13b08077a4476934d52c5ba3bb3" - dependencies: - debug "^2.1.0" - get-browser-rtc "^1.0.0" - inherits "^2.0.1" - randombytes "^2.0.3" - readable-stream "^2.0.5" - slash@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55" -slide@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/slide/-/slide-1.1.6.tgz#56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707" - sntp@1.x.x: version "1.0.9" resolved "https://registry.yarnpkg.com/sntp/-/sntp-1.0.9.tgz#6541184cc90aeea6c6e7b35e2659082443c66198" dependencies: hoek "2.x.x" -socket.io-adapter@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-0.5.0.tgz#cb6d4bb8bec81e1078b99677f9ced0046066bb8b" - dependencies: - debug "2.3.3" - socket.io-parser "2.3.1" - -socket.io-client@1.7.3, socket.io-client@^1.4.6: - version "1.7.3" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-1.7.3.tgz#b30e86aa10d5ef3546601c09cde4765e381da377" - dependencies: - backo2 "1.0.2" - component-bind "1.0.0" - component-emitter "1.2.1" - debug "2.3.3" - engine.io-client "1.8.3" - has-binary "0.1.7" - indexof "0.0.1" - object-component "0.0.3" - parseuri "0.0.5" - socket.io-parser "2.3.1" - to-array "0.1.4" - -socket.io-parser@2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-2.3.1.tgz#dd532025103ce429697326befd64005fcfe5b4a0" - dependencies: - component-emitter "1.1.2" - debug "2.2.0" - isarray "0.0.1" - json3 "3.3.2" +sol-digger@0.0.2: + version "0.0.2" + resolved "https://registry.yarnpkg.com/sol-digger/-/sol-digger-0.0.2.tgz#406c4a9d31e269e7f88eb1c2ea101318e5e09025" -socket.io@^1.4.6: - version "1.7.3" - resolved "https://registry.yarnpkg.com/socket.io/-/socket.io-1.7.3.tgz#b8af9caba00949e568e369f1327ea9be9ea2461b" - dependencies: - debug "2.3.3" - engine.io "1.8.3" - has-binary "0.1.7" - object-assign "4.1.0" - socket.io-adapter "0.5.0" - socket.io-client "1.7.3" - socket.io-parser "2.3.1" +sol-explore@^1.6.1: + version "1.6.2" + resolved "https://registry.yarnpkg.com/sol-explore/-/sol-explore-1.6.2.tgz#43ae8c419fd3ac056a05f8a9d1fb1022cd41ecc2" -solc@0.4.6, solc@^0.4.2: - version "0.4.6" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.6.tgz#afa929a1ceafc0252cfbb4217c8e2b1dab139db7" +solc@0.4.11, solc@^0.4.2: + version "0.4.11" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.11.tgz#2522eb43e7c0419bac2060b96e20a2593bfb5e8b" dependencies: fs-extra "^0.30.0" memorystream "^0.3.1" require-from-string "^1.1.0" + semver "^5.3.0" yargs "^4.7.1" -solc@0.4.8: - version "0.4.8" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.8.tgz#96abbee1266341ae97fb4bdc3abcc9bc1b5052ab" +solc@0.4.6: + version "0.4.6" + resolved "https://registry.yarnpkg.com/solc/-/solc-0.4.6.tgz#afa929a1ceafc0252cfbb4217c8e2b1dab139db7" dependencies: fs-extra "^0.30.0" memorystream "^0.3.1" require-from-string "^1.1.0" - semver "^5.3.0" yargs "^4.7.1" -solidity-parser@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/solidity-parser/-/solidity-parser-0.2.0.tgz#317aa865ff71239bfc2f2d03e658ece1a196edca" - dependencies: - mocha "^2.4.5" - pegjs "^0.10.0" - yargs "^4.6.0" - -solidity-parser@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/solidity-parser/-/solidity-parser-0.3.0.tgz#cab04f8e406bdc1f3c16512eec6aa87a1072f8b9" - dependencies: - mocha "^2.4.5" - pegjs "^0.10.0" - yargs "^4.6.0" - solidity-sha3@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/solidity-sha3/-/solidity-sha3-0.4.1.tgz#17577e93f6cfd58489c4ec7f2da3047530329ec1" @@ -5060,26 +2918,36 @@ solidity-sha3@^0.4.1: left-pad "^1.1.1" web3 "^0.16.0" +solium@^0.5.3: + version "0.5.4" + resolved "https://registry.yarnpkg.com/solium/-/solium-0.5.4.tgz#3ef9031b6043e944512e048848067c58beb36e62" + dependencies: + chokidar "^1.6.0" + colors "^1.1.2" + commander "^2.9.0" + lodash "^4.14.2" + sol-digger "0.0.2" + sol-explore "^1.6.1" + solparse "^1.2.1" + +solparse@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/solparse/-/solparse-1.2.1.tgz#d04fe840cbbeb83f7cf81e280bbba160f921239a" + dependencies: + mocha "^2.4.5" + pegjs "^0.10.0" + yargs "^4.6.0" + source-map-support@^0.4.2: - version "0.4.14" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.14.tgz#9d4463772598b86271b4f523f6c1f4e02a7d6aef" + version "0.4.15" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.4.15.tgz#03202df65c06d2bd8c7ec2362a193056fef8d3b1" dependencies: source-map "^0.5.6" -"source-map@>= 0.1.2", source-map@^0.5.0, source-map@^0.5.6: +source-map@^0.5.0, source-map@^0.5.6: version "0.5.6" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.6.tgz#75ce38f52bf0733c5a7f0c118d81334a2bb5f412" -source-map@~0.1.33: - version "0.1.43" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.1.43.tgz#c24bc146ca517c1471f5dacbe2571b2b7f9e3346" - dependencies: - amdefine ">=0.0.4" - -spawn-args@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/spawn-args/-/spawn-args-0.1.0.tgz#3e0232a0571b387907f8b3f544aa531c6224848c" - spdx-correct@~1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-1.0.2.tgz#4b3073d933ff51f3912f03ac5519498a4150db40" @@ -5094,26 +2962,6 @@ spdx-license-ids@^1.0.2: version "1.2.2" resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-1.2.2.tgz#c9df7a3424594ade6bd11900d596696dc06bac57" -spdy-transport@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/spdy-transport/-/spdy-transport-2.0.18.tgz#43fc9c56be2cccc12bb3e2754aa971154e836ea6" - dependencies: - debug "^2.2.0" - hpack.js "^2.1.6" - obuf "^1.1.0" - readable-stream "^2.0.1" - wbuf "^1.4.0" - -split2@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/split2/-/split2-2.1.1.tgz#7a1f551e176a90ecd3345f7246a0cfe175ef4fd0" - dependencies: - through2 "^2.0.2" - -sprintf-js@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - sshpk@^1.7.0: version "1.13.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.13.0.tgz#ff2a3e4fd04497555fed97b39a0fd82fafb3a33c" @@ -5129,73 +2977,7 @@ sshpk@^1.7.0: jsbn "~0.1.0" tweetnacl "~0.14.0" -stable@^0.1.5: - version "0.1.6" - resolved "https://registry.yarnpkg.com/stable/-/stable-0.1.6.tgz#910f5d2aed7b520c6e777499c1f32e139fdecb10" - -statehood@5.x.x: - version "5.0.1" - resolved "https://registry.yarnpkg.com/statehood/-/statehood-5.0.1.tgz#fc13c97b37751c18e70513d2b97e896ac8b73005" - dependencies: - boom "4.x.x" - cryptiles "3.x.x" - hoek "4.x.x" - iron "4.x.x" - items "2.x.x" - joi "10.x.x" - -static-eval@~0.2.0: - version "0.2.4" - resolved "https://registry.yarnpkg.com/static-eval/-/static-eval-0.2.4.tgz#b7d34d838937b969f9641ca07d48f8ede263ea7b" - dependencies: - escodegen "~0.0.24" - -static-module@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/static-module/-/static-module-1.3.1.tgz#79071d340e4419e4ab5ce87976a9eb67250c8493" - dependencies: - concat-stream "~1.4.5" - duplexer2 "~0.0.2" - escodegen "~1.3.2" - falafel "^1.0.0" - has "^1.0.0" - object-inspect "~0.4.0" - quote-stream "~0.0.0" - readable-stream "~1.0.27-1" - shallow-copy "~0.0.1" - static-eval "~0.2.0" - through2 "~0.4.1" - -"statuses@>= 1.3.1 < 2", statuses@~1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e" - -stream-http@^2.5.0: - version "2.7.0" - resolved "https://registry.yarnpkg.com/stream-http/-/stream-http-2.7.0.tgz#cec1f4e3b494bc4a81b451808970f8b20b4ed5f6" - dependencies: - builtin-status-codes "^3.0.0" - inherits "^2.0.1" - readable-stream "^2.2.6" - to-arraybuffer "^1.0.0" - xtend "^4.0.0" - -stream-to-pull-stream@^1.7.0, stream-to-pull-stream@^1.7.2: - version "1.7.2" - resolved "https://registry.yarnpkg.com/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz#757609ae1cebd33c7432d4afbe31ff78650b9dde" - dependencies: - looper "^3.0.0" - pull-stream "^3.2.3" - -streamifier@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/streamifier/-/streamifier-0.1.1.tgz#97e98d8fa4d105d62a2691d1dc07e820db8dfc4f" - -streamsearch@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a" - -string-width@^1.0.1, string-width@^1.0.2: +string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" dependencies: @@ -5237,10 +3019,6 @@ strip-bom@^2.0.0: dependencies: is-utf8 "^0.2.0" -strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - strip-hex-prefix@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" @@ -5251,16 +3029,6 @@ strip-json-comments@~2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" -subtext@^4.3.x: - version "4.4.0" - resolved "https://registry.yarnpkg.com/subtext/-/subtext-4.4.0.tgz#0cf137965f47fe0e126a56a2488bb1c88dc93514" - dependencies: - boom "4.x.x" - content "3.x.x" - hoek "4.x.x" - pez "2.x.x" - wreck "10.x.x" - supports-color@1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-1.2.0.tgz#ff1ed1e61169d06b3cf2d588e188b18d8847e17e" @@ -5315,7 +3083,7 @@ tar-pack@^3.4.0: tar "^2.2.1" uid-number "^0.0.6" -tar-stream@^1.1.2, tar-stream@^1.5.2: +tar-stream@^1.1.2: version "1.5.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.5.2.tgz#fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf" dependencies: @@ -5332,47 +3100,10 @@ tar@^2.2.1: fstream "^1.0.2" inherits "2" -temp@^0.8.3: - version "0.8.3" - resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.3.tgz#e0c6bc4d26b903124410e4fed81103014dfc1f59" - dependencies: - os-tmpdir "^1.0.0" - rimraf "~2.2.6" - -through2@^2.0.0, through2@^2.0.1, through2@^2.0.2, through2@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.3.tgz#0004569b37c7c74ba39c43f3ced78d1ad94140be" - dependencies: - readable-stream "^2.1.5" - xtend "~4.0.1" - -through2@~0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-0.4.2.tgz#dbf5866031151ec8352bb6c4db64a2292a840b9b" - dependencies: - readable-stream "~1.0.17" - xtend "~2.1.1" - through@~2.3.4, through@~2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" -timed-out@^3.0.0: - version "3.1.3" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-3.1.3.tgz#95860bfcc5c76c277f8f8326fd0f5b2e20eba217" - -timed-tape@~0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/timed-tape/-/timed-tape-0.1.1.tgz#9b6e569f17e66c79f1eed2d25ff7962fc7418e49" - -to-array@0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/to-array/-/to-array-0.1.4.tgz#17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890" - -to-arraybuffer@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43" - to-fast-properties@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-1.0.2.tgz#f3f5c0c3ba7299a7ef99427e44633257ade43320" @@ -5381,22 +3112,12 @@ to-iso-string@0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/to-iso-string/-/to-iso-string-0.0.2.tgz#4dc19e664dfccbe25bd8db508b00c6da158255d1" -topo@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/topo/-/topo-2.0.2.tgz#cd5615752539057c0dc0491a621c3bc6fbe1d182" - dependencies: - hoek "4.x.x" - tough-cookie@~2.3.0: version "2.3.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.3.2.tgz#f081f76e4c85720e6c37a5faced737150d84072a" dependencies: punycode "^1.4.1" -traverse@^0.6.6: - version "0.6.6" - resolved "https://registry.yarnpkg.com/traverse/-/traverse-0.6.6.tgz#cbdf560fd7b9af632502fed40f918c157ea97137" - trim-right@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003" @@ -5405,93 +3126,19 @@ trim@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" -truffle-artifactor@^2.1.0, truffle-artifactor@^2.1.2, truffle-artifactor@~2.1.2, truffle-artifactor@~2.1.3: - version "2.1.4" - resolved "https://registry.yarnpkg.com/truffle-artifactor/-/truffle-artifactor-2.1.4.tgz#320b38e102a7f9abb7f2aa9af6781b99d735bd13" - dependencies: - async "^1.5.2" - fs-extra "^1.0.0" - lodash "^4.11.2" - truffle-contract "^2.0.0" - truffle-contract-schema "0.0.5" - truffle-blockchain-utils@0.0.1: version "0.0.1" resolved "https://registry.yarnpkg.com/truffle-blockchain-utils/-/truffle-blockchain-utils-0.0.1.tgz#07a58e55bb0555a64208c9119c0b04ffe1464aa4" dependencies: web3 "^0.18.0" -truffle-compile@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/truffle-compile/-/truffle-compile-1.0.0.tgz#a62b316affd0f0aa099e555738031ddfc5eb37d7" - dependencies: - async "^2.1.4" - colors "^1.1.2" - graphlib "^2.1.1" - solc "0.4.8" - solidity-parser "^0.2.0" - truffle-config "0.0.7" - truffle-contract-sources "^0.0.1" - truffle-error "0.0.2" - truffle-expect "0.0.3" - -truffle-compile@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/truffle-compile/-/truffle-compile-1.1.2.tgz#d2e2e6b8cc52fc49447405f930c0d8346ea85db8" - dependencies: - async "^2.1.4" - colors "^1.1.2" - graphlib "^2.1.1" - solc "0.4.8" - solidity-parser "^0.3.0" - truffle-config "0.0.7" - truffle-contract-sources "^0.0.1" - truffle-error "0.0.2" - truffle-expect "0.0.3" - -truffle-config@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/truffle-config/-/truffle-config-0.0.2.tgz#c41bccde798791244724c62b231f71e6777dbcfa" - dependencies: - find-up "^2.1.0" - lodash "^4.17.4" - require-nocache "^1.0.0" - truffle-error "0.0.1" - truffle-provider "0.0.1" - -truffle-config@0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/truffle-config/-/truffle-config-0.0.6.tgz#9bfceee29f0b62e1adef37f0305df313f63d456b" - dependencies: - find-up "^2.1.0" - lodash "^4.17.4" - require-nocache "^1.0.0" - truffle-error "0.0.1" - truffle-provider "0.0.1" - -truffle-config@0.0.7, truffle-config@~0.0.7: - version "0.0.7" - resolved "https://registry.yarnpkg.com/truffle-config/-/truffle-config-0.0.7.tgz#03185bb9ddd88c62a6a306cfdfc495b3c715e7c4" - dependencies: - find-up "^2.1.0" - lodash "^4.17.4" - require-nocache "^1.0.0" - truffle-error "0.0.2" - truffle-provider "0.0.1" - truffle-contract-schema@0.0.5: version "0.0.5" resolved "https://registry.yarnpkg.com/truffle-contract-schema/-/truffle-contract-schema-0.0.5.tgz#5e9d20bd0bf2a27fe94310748249d484eee49961" dependencies: crypto-js "^3.1.9-1" -truffle-contract-sources@^0.0.1, truffle-contract-sources@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/truffle-contract-sources/-/truffle-contract-sources-0.0.1.tgz#29b6270366c86109cbb0eb307418fc6b2795d7fd" - dependencies: - node-dir "^0.1.16" - -truffle-contract@^1.0.3, truffle-contract@^1.1.10, truffle-contract@^1.1.6, truffle-contract@^1.1.8, truffle-contract@~1.1.11, truffle-contract@~1.1.8: +truffle-contract@^1.1.10: version "1.1.11" resolved "https://registry.yarnpkg.com/truffle-contract/-/truffle-contract-1.1.11.tgz#ce1fa787f797758aff572f45e8b1174527f6edaa" dependencies: @@ -5500,41 +3147,6 @@ truffle-contract@^1.0.3, truffle-contract@^1.1.10, truffle-contract@^1.1.6, truf truffle-contract-schema "0.0.5" web3 "^0.16.0" -truffle-contract@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/truffle-contract/-/truffle-contract-2.0.0.tgz#8536c06bb1172b143498121d135f96c10d3eb720" - dependencies: - ethjs-abi "0.1.8" - truffle-blockchain-utils "0.0.1" - truffle-contract-schema "0.0.5" - web3 "^0.18.0" - -truffle-deployer@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/truffle-deployer/-/truffle-deployer-0.1.1.tgz#04fea783ac7bc32d7fe2a7606accb5f81e06d988" - dependencies: - truffle-contract "^1.0.3" - truffle-expect "^0.0.3" - -truffle-deployer@0.1.2, truffle-deployer@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/truffle-deployer/-/truffle-deployer-0.1.2.tgz#54241c28b19d2f6f1c7ba370d8f7439ee309873f" - dependencies: - truffle-contract "^1.0.3" - truffle-expect "^0.0.3" - -truffle-error@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/truffle-error/-/truffle-error-0.0.1.tgz#4b39badf54805a206e95fca72becabcec2c05a6f" - -truffle-error@0.0.2, truffle-error@~0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/truffle-error/-/truffle-error-0.0.2.tgz#01b189b78505566ae1689c239c7ca2dd121cfe4c" - -truffle-expect@0.0.3, truffle-expect@^0.0.3, truffle-expect@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/truffle-expect/-/truffle-expect-0.0.3.tgz#9b75cef343bd596e7e5dbc878f5f1b2e318a944c" - truffle-hdwallet-provider@0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-0.0.3.tgz#0e1de02104b73d3875e1cf7093305b4ea8a2d843" @@ -5544,186 +3156,13 @@ truffle-hdwallet-provider@0.0.3: web3 "^0.18.2" web3-provider-engine "^8.4.0" -truffle-init@~1.0.2, truffle-init@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/truffle-init/-/truffle-init-1.0.5.tgz#1694cee4a58bd1d14a0c7881d3faca8ca4185711" - dependencies: - fs-extra "^2.0.0" - github-download "^0.5.0" - npm-programmatic "0.0.6" - rimraf "^2.5.4" - temp "^0.8.3" - truffle-config "0.0.7" - -truffle-migrate@~0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/truffle-migrate/-/truffle-migrate-0.0.5.tgz#b4a313924ed86b5c333adaa42f6353f50adbf12a" - dependencies: - async "^2.1.4" - node-dir "^0.1.16" - truffle-artifactor "^2.1.0" - truffle-deployer "0.1.1" - truffle-expect "0.0.3" - truffle-require "0.0.2" - web3 "^0.18.0" - -truffle-migrate@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/truffle-migrate/-/truffle-migrate-1.1.1.tgz#4214995a15e9cb569740bea8bf131dc0a0148087" - dependencies: - async "^2.1.4" - node-dir "^0.1.16" - truffle-deployer "0.1.2" - truffle-expect "0.0.3" - truffle-require "1.0.0" - web3 "^0.18.0" - -truffle-provider@0.0.1, truffle-provider@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/truffle-provider/-/truffle-provider-0.0.1.tgz#9d0ddb01131de1e3c59c4f8a0532bd2770811f1f" - dependencies: - web3 "^0.18.0" - -truffle-provisioner@^0.1.0, truffle-provisioner@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/truffle-provisioner/-/truffle-provisioner-0.1.0.tgz#029e5249c1015300738535e04fded931a53c4f62" - -truffle-require@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/truffle-require/-/truffle-require-0.0.2.tgz#f23eaccc407735a6049ecfd59e99183bc460136c" - dependencies: - truffle-config "0.0.2" - truffle-expect "0.0.3" - web3 "^0.18.0" - -truffle-require@1.0.0, truffle-require@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/truffle-require/-/truffle-require-1.0.0.tgz#b17aa5e3c27eb4b3a26ddcf76c55ccb01d62ead9" - dependencies: - truffle-config "0.0.6" - truffle-expect "0.0.3" - web3 "^0.18.0" - -truffle-require@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/truffle-require/-/truffle-require-0.0.3.tgz#72c090822b9358979d82be6f4abbb5305af6d976" - dependencies: - truffle-config "0.0.6" - truffle-expect "0.0.3" - web3 "^0.18.0" - -truffle-resolver@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/truffle-resolver/-/truffle-resolver-1.0.1.tgz#b0cc16b8101c4c6b6a17bd371dfdba6932ef104a" - dependencies: - async "^2.1.4" - truffle-contract "^1.1.8" - truffle-expect "0.0.3" - truffle-provisioner "^0.1.0" - -truffle-resolver@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/truffle-resolver/-/truffle-resolver-2.0.0.tgz#323c3ab82450878e41dbdaf918c1aea5380dd025" - dependencies: - async "^2.1.4" - truffle-contract "^1.1.8" - truffle-expect "0.0.3" - truffle-provisioner "^0.1.0" - -truffle-solidity-utils@~0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/truffle-solidity-utils/-/truffle-solidity-utils-0.0.1.tgz#13a90e3bd979df01dbb3312e8f2ae0c3ef96d1b3" - dependencies: - solidity-parser "^0.2.0" - -truffle-solidity-utils@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/truffle-solidity-utils/-/truffle-solidity-utils-1.0.0.tgz#5320416dcd3702a775e4cca5c5731d465dab30ae" - dependencies: - solidity-parser "^0.3.0" - -truffle@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/truffle/-/truffle-3.1.2.tgz#dacdd079995db46736e660d0ff8cef59e04bf2d7" - dependencies: - async "^1.4.2" - chai "^3.3.0" - chokidar "^1.4.2" - colors "^1.1.2" - cpr "^0.4.3" - del "^2.2.0" - ethpm "0.0.9" - ethpm-registry "0.0.8" - finalhandler "^0.4.0" - fs-extra "^2.0.0" - lodash "^4.5.1" - mkdirp "^0.5.1" - mocha "^3.2.0" - node-dir "^0.1.10" - serve-static "^1.10.0" - spawn-args "^0.1.0" - temp "^0.8.3" - truffle-artifactor "~2.1.2" - truffle-compile "~1.0.0" - truffle-config "~0.0.7" - truffle-contract "~1.1.8" - truffle-contract-sources "~0.0.1" - truffle-deployer "~0.1.2" - truffle-error "~0.0.2" - truffle-expect "~0.0.3" - truffle-init "~1.0.2" - truffle-migrate "~0.0.5" - truffle-provider "~0.0.1" - truffle-provisioner "~0.1.0" - truffle-require "~0.0.3" - truffle-resolver "~1.0.0" - truffle-solidity-utils "~0.0.1" - web3 "0.18.0" - yargs "^6.6.0" - -truffle@beta: - version "3.1.10" - resolved "https://registry.yarnpkg.com/truffle/-/truffle-3.1.10.tgz#093e0d64e450823e04287483ed13347e36054e4c" +truffle@3.4.5: + version "3.4.5" + resolved "https://registry.yarnpkg.com/truffle/-/truffle-3.4.5.tgz#f26fe3721c3303900dbef639f82218e87bb53540" dependencies: - async "^1.4.2" - chai "^3.3.0" - chokidar "^1.4.2" - colors "^1.1.2" - cpr "^0.4.3" - del "^2.2.0" - diff "1.4.0" - ethpm "0.0.10" - ethpm-registry "0.0.9" - finalhandler "^0.4.0" - fs-extra "^2.0.0" - lodash "^4.5.1" - mkdirp "^0.5.1" - mocha "^3.2.0" - node-dir "^0.1.10" - serve-static "^1.10.0" - spawn-args "^0.1.0" - temp "^0.8.3" - truffle-artifactor "~2.1.3" - truffle-compile "~1.1.2" - truffle-config "~0.0.7" - truffle-contract "~1.1.11" - truffle-contract-sources "~0.0.1" - truffle-deployer "~0.1.2" - truffle-error "~0.0.2" - truffle-expect "~0.0.3" - truffle-init "~1.0.5" - truffle-migrate "~1.1.0" - truffle-provider "~0.0.1" - truffle-provisioner "~0.1.0" - truffle-require "~1.0.0" - truffle-resolver "~2.0.0" - truffle-solidity-utils "~1.0.0" - web3 "^0.18.0" - yargs "^6.6.0" - -tslib@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.6.1.tgz#b77b09abc5fa4935e157d838b80e36dad47152c4" + mocha "^3.4.2" + original-require "^1.0.1" + solc "0.4.11" tunnel-agent@^0.4.3: version "0.4.3" @@ -5735,83 +3174,30 @@ tunnel-agent@^0.6.0: dependencies: safe-buffer "^5.0.1" -tunnel@0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/tunnel/-/tunnel-0.0.2.tgz#f23bcd8b7a7b8a864261b2084f66f93193396334" - tweetnacl-util@^0.13.3: version "0.13.5" resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz#e39cd5d99709ee7125a18b03895b45a1299e475f" +tweetnacl@0.13.2: + version "0.13.2" + resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.13.2.tgz#453161770469d45cd266c36404e2bc99a8fa9944" + tweetnacl@0.14.3, tweetnacl@^0.14.3, tweetnacl@~0.14.0: version "0.14.3" resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.3.tgz#3da382f670f25ded78d7b3d1792119bca0b7132d" -tweetnacl@^1.0.0-rc.1: - version "1.0.0-rc.1" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.0-rc.1.tgz#1198f1dfccb24859a4091c82787d5882425f0cde" - -type-detect@0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-0.1.1.tgz#0ba5ec2a885640e470ea4e8505971900dac58822" - -type-detect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-1.0.0.tgz#762217cc06db258ec48908a1298e8b95121e8ea2" - -typedarray-to-buffer@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.2.tgz#1017b32d984ff556eba100f501589aba1ace2e04" - dependencies: - is-typedarray "^1.0.0" - -typedarray@^0.0.6, typedarray@~0.0.5: - version "0.0.6" - resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" - -typescript@^2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-2.3.0.tgz#2e63e09284392bc8158a2444c33e2093795c0418" - uid-number@^0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" -ultron@1.0.x: - version "1.0.2" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.0.2.tgz#ace116ab557cd197386a4e88f4685378c8b2e4fa" - unorm@^1.3.3: version "1.4.1" resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.4.1.tgz#364200d5f13646ca8bcd44490271335614792300" -unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - -unzip-response@^1.0.0, unzip-response@^1.0.2: +unzip-response@^1.0.0: version "1.0.2" resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-1.0.2.tgz#b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe" -update-notifier@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-1.0.3.tgz#8f92c515482bd6831b7c93013e70f87552c7cf5a" - dependencies: - boxen "^0.6.0" - chalk "^1.0.0" - configstore "^2.0.0" - is-npm "^1.0.0" - latest-version "^2.0.0" - lazy-req "^1.1.0" - semver-diff "^2.0.0" - xdg-basedir "^2.0.0" - -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - dependencies: - prepend-http "^1.0.1" - user-home@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190" @@ -5824,7 +3210,7 @@ utf8@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/utf8/-/utf8-2.1.2.tgz#1fa0d9270e9be850d9b05027f63519bf46457d96" -util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" @@ -5849,36 +3235,12 @@ validate-npm-package-license@^3.0.1: spdx-correct "~1.0.0" spdx-expression-parse "~1.0.0" -varint@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/varint/-/varint-4.0.1.tgz#490829b942d248463b2b35097995c3bf737198e9" - -varint@^5.0.0, varint@~5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.0.tgz#d826b89f7490732fabc0c0ed693ed475dcb29ebf" - -vcsurl@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/vcsurl/-/vcsurl-0.1.1.tgz#5e00a109e7381b55b5d45b892533c8ec35c9320c" - verror@1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/verror/-/verror-1.3.6.tgz#cff5df12946d297d2baaefaa2689e25be01c005c" dependencies: extsprintf "1.0.2" -vise@2.x.x: - version "2.0.2" - resolved "https://registry.yarnpkg.com/vise/-/vise-2.0.2.tgz#6b08e8fb4cb76e3a50cd6dd0ec37338e811a0d39" - dependencies: - hoek "4.x.x" - -wbuf@^1.1.0, wbuf@^1.4.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/wbuf/-/wbuf-1.7.2.tgz#d697b99f1f59512df2751be42769c1580b5801fe" - dependencies: - minimalistic-assert "^1.0.0" - web3-provider-engine@^8.4.0: version "8.6.1" resolved "https://registry.yarnpkg.com/web3-provider-engine/-/web3-provider-engine-8.6.1.tgz#4d86e19e30caaf97df351511ec0f60136e5b30eb" @@ -5917,16 +3279,6 @@ web3-provider-engine@~8.1.0: xhr "^2.2.0" xtend "^4.0.1" -web3@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/web3/-/web3-0.18.0.tgz#03e4471bc2853a8177f06212fcad6adf1b16736a" - dependencies: - bignumber.js "git+https://github.com/debris/bignumber.js.git#94d7146671b9719e00a09c29b01a691bc85048c2" - crypto-js "^3.1.4" - utf8 "^2.1.1" - xhr2 "*" - xmlhttprequest "*" - web3@^0.15.3: version "0.15.3" resolved "https://registry.yarnpkg.com/web3/-/web3-0.15.3.tgz#f997ccda419fc528c0d6c5d8d5382212bfa74628" @@ -5955,23 +3307,15 @@ web3@^0.18.0, web3@^0.18.2: xhr2 "*" xmlhttprequest "*" -webcrypto-core@^0: - version "0.1.14" - resolved "https://registry.yarnpkg.com/webcrypto-core/-/webcrypto-core-0.1.14.tgz#03ffb074de14a56235c17e3fb8316ecea5e6c77b" +web3@^0.19.1: + version "0.19.1" + resolved "https://registry.yarnpkg.com/web3/-/web3-0.19.1.tgz#e763d5b1107c4bc24abd4f8cbee1ba3659e6eb31" dependencies: - "@types/node" "^6" - tslib "^1.5.0" - -"webcrypto-shim@github:dignifiedquire/webcrypto-shim#master": - version "0.1.1" - resolved "https://codeload.github.com/dignifiedquire/webcrypto-shim/tar.gz/effe03d3401ccbfb4837191bc393bb347e0c0f0a" - -wget-improved@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/wget-improved/-/wget-improved-1.4.0.tgz#a1e3c448bf9337900926fbfaba62502065f89725" - dependencies: - minimist "1.2.0" - tunnel "0.0.2" + bignumber.js "^4.0.2" + crypto-js "^3.1.4" + utf8 "^2.1.1" + xhr2 "*" + xmlhttprequest "*" whatwg-fetch@>=0.10.0: version "2.0.3" @@ -5987,12 +3331,6 @@ wide-align@^1.1.0: dependencies: string-width "^1.0.1" -widest-line@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-1.0.0.tgz#0c09c85c2a94683d0d7eaf8ee097d564bf0e105c" - dependencies: - string-width "^1.0.1" - window-size@^0.1.2: version "0.1.4" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.1.4.tgz#f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876" @@ -6001,10 +3339,6 @@ window-size@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/window-size/-/window-size-0.2.0.tgz#b4315bb4214a3d7058ebeee892e13fa24d98b075" -wordwrap@~0.0.2: - version "0.0.3" - resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-0.0.3.tgz#a3d5da6cd5c0bc0008d37234bbaf1bed63059107" - wrap-ansi@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" @@ -6016,45 +3350,6 @@ wrappy@1: version "1.0.2" resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" -wreck@10.x.x: - version "10.0.0" - resolved "https://registry.yarnpkg.com/wreck/-/wreck-10.0.0.tgz#98ab882f85e16a526332507f101f5a7841162278" - dependencies: - boom "4.x.x" - hoek "4.x.x" - -write-file-atomic@^1.1.2: - version "1.3.2" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-1.3.2.tgz#f80ac5e06d3a38996ab51b5d310db57102deb902" - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - slide "^1.1.5" - -ws@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.2.tgz#8a244fa052401e08c9886cf44a85189e1fd4067f" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -ws@^1.1.0: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.4.tgz#57f40d036832e5f5055662a397c4de76ed66bf61" - dependencies: - options ">=0.0.5" - ultron "1.0.x" - -wtf-8@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/wtf-8/-/wtf-8-1.0.0.tgz#392d8ba2d0f1c34d1ee2d630f15d0efb68e1048a" - -xdg-basedir@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-2.0.0.tgz#edbc903cc385fc04523d966a335504b5504d1bd2" - dependencies: - os-homedir "^1.0.0" - xhr2@*: version "0.1.4" resolved "https://registry.yarnpkg.com/xhr2/-/xhr2-0.1.4.tgz#7f87658847716db5026323812f818cadab387a5f" @@ -6068,15 +3363,11 @@ xhr@^2.2.0: parse-headers "^2.0.0" xtend "^4.0.0" -xmlhttprequest-ssl@1.5.3: - version "1.5.3" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.3.tgz#185a888c04eca46c3e4070d99f7b49de3528992d" - xmlhttprequest@*: version "1.8.0" resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" -xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0, xtend@~4.0.1: +xtend@4.0.1, xtend@^4.0.0, xtend@^4.0.1, xtend@~4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.1.tgz#a5c6d532be656e23db820efb943a1f04998d63af" @@ -6090,10 +3381,6 @@ y18n@^3.2.0, y18n@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/y18n/-/y18n-3.2.1.tgz#6d15fba884c08679c0d77e88e7759e811e07fa41" -yallist@^2.0.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52" - yargs-parser@^2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-2.4.1.tgz#85568de3cf150ff49fa51825f03a8c880ddcc5c4" @@ -6101,12 +3388,6 @@ yargs-parser@^2.4.1: camelcase "^3.0.0" lodash.assign "^4.0.6" -yargs-parser@^4.2.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-4.2.1.tgz#29cceac0dc4f03c6c87b4a9f217dd18c9f74871c" - dependencies: - camelcase "^3.0.0" - yargs@^4.6.0, yargs@^4.7.1: version "4.8.1" resolved "https://registry.yarnpkg.com/yargs/-/yargs-4.8.1.tgz#c0c42924ca4aaa6b0e6da1739dfb216439f9ddc0" @@ -6126,24 +3407,6 @@ yargs@^4.6.0, yargs@^4.7.1: y18n "^3.2.1" yargs-parser "^2.4.1" -yargs@^6.3.0, yargs@^6.4.0, yargs@^6.6.0: - version "6.6.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-6.6.0.tgz#782ec21ef403345f830a808ca3d513af56065208" - dependencies: - camelcase "^3.0.0" - cliui "^3.2.0" - decamelize "^1.1.1" - get-caller-file "^1.0.1" - os-locale "^1.4.0" - read-pkg-up "^1.0.1" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^1.0.2" - which-module "^1.0.0" - y18n "^3.2.1" - yargs-parser "^4.2.0" - yargs@~3.29.0: version "3.29.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-3.29.0.tgz#1aab9660eae79d8b8f675bcaeeab6ee34c2cf69c" @@ -6154,7 +3417,3 @@ yargs@~3.29.0: os-locale "^1.4.0" window-size "^0.1.2" y18n "^3.2.0" - -yeast@0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419"