diff --git a/packages/aragon-cli/abi/aragonOS/ACL.json b/packages/aragon-cli/abi/aragonOS/ACL.json new file mode 100644 index 000000000..b76961418 --- /dev/null +++ b/packages/aragon-cli/abi/aragonOS/ACL.json @@ -0,0 +1,470 @@ +[ + { + "constant": false, + "inputs": [ + { + "name": "_entity", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + } + ], + "name": "grantPermission", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CREATE_PERMISSIONS_ROLE", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "EVMSCRIPT_REGISTRY_APP_ID", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_entity", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + }, + { + "name": "_params", + "type": "uint256[]" + } + ], + "name": "grantPermissionP", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_who", + "type": "address" + }, + { + "name": "_where", + "type": "address" + }, + { + "name": "_what", + "type": "bytes32" + } + ], + "name": "hasPermission", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + }, + { + "name": "", + "type": "uint256" + } + ], + "name": "permissionParams", + "outputs": [ + { + "name": "id", + "type": "uint8" + }, + { + "name": "op", + "type": "uint8" + }, + { + "name": "value", + "type": "uint240" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "appId", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getInitializationBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "EVMSCRIPT_REGISTRY_APP", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_entity", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + } + ], + "name": "revokePermission", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_sender", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + }, + { + "name": "params", + "type": "uint256[]" + } + ], + "name": "canPerform", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_newManager", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + } + ], + "name": "setPermissionManager", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + } + ], + "name": "getPermissionManager", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_entity", + "type": "address" + }, + { + "name": "_app", + "type": "address" + }, + { + "name": "_role", + "type": "bytes32" + }, + { + "name": "_manager", + "type": "address" + } + ], + "name": "createPermission", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_permissionsCreator", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "EMPTY_PARAM_HASH", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "kernel", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_who", + "type": "address" + }, + { + "name": "_where", + "type": "address" + }, + { + "name": "_what", + "type": "bytes32" + }, + { + "name": "_how", + "type": "uint256[]" + } + ], + "name": "hasPermission", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_script", + "type": "bytes" + } + ], + "name": "getExecutor", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_who", + "type": "address" + }, + { + "name": "_where", + "type": "address" + }, + { + "name": "_what", + "type": "bytes32" + }, + { + "name": "_how", + "type": "bytes" + } + ], + "name": "hasPermission", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "entity", + "type": "address" + }, + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": true, + "name": "role", + "type": "bytes32" + }, + { + "indexed": false, + "name": "allowed", + "type": "bool" + } + ], + "name": "SetPermission", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "app", + "type": "address" + }, + { + "indexed": true, + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "name": "manager", + "type": "address" + } + ], + "name": "ChangePermissionManager", + "type": "event" + } +] diff --git a/packages/aragon-cli/abi/aragonOS/Kernel.json b/packages/aragon-cli/abi/aragonOS/Kernel.json new file mode 100644 index 000000000..ffcc78d89 --- /dev/null +++ b/packages/aragon-cli/abi/aragonOS/Kernel.json @@ -0,0 +1,469 @@ +[ + { + "constant": true, + "inputs": [], + "name": "KERNEL_APP_ID", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "APP_ADDR_NAMESPACE", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "KERNEL_APP", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "name": "apps", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_id", + "type": "bytes32" + } + ], + "name": "getApp", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_baseAcl", + "type": "address" + }, + { + "name": "_permissionsCreator", + "type": "address" + } + ], + "name": "initialize", + "outputs": [], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "CORE_NAMESPACE", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "appId", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_appBase", + "type": "address" + } + ], + "name": "newAppInstance", + "outputs": [ + { + "name": "appProxy", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "getInitializationBlock", + "outputs": [ + { + "name": "", + "type": "uint256" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "APP_MANAGER_ROLE", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_appBase", + "type": "address" + } + ], + "name": "newPinnedAppInstance", + "outputs": [ + { + "name": "appProxy", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ACL_APP", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_namespace", + "type": "bytes32" + }, + { + "name": "_name", + "type": "bytes32" + }, + { + "name": "_app", + "type": "address" + } + ], + "name": "setApp", + "outputs": [ + { + "name": "id", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "ACL_APP_ID", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_kernel", + "type": "address" + }, + { + "name": "_appId", + "type": "bytes32" + }, + { + "name": "_initializePayload", + "type": "bytes" + } + ], + "name": "newAppProxyPinned", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "kernel", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "APP_BASES_NAMESPACE", + "outputs": [ + { + "name": "", + "type": "bytes32" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": true, + "inputs": [], + "name": "acl", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_kernel", + "type": "address" + }, + { + "name": "_appId", + "type": "bytes32" + } + ], + "name": "newAppProxy", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_kernel", + "type": "address" + }, + { + "name": "_appId", + "type": "bytes32" + }, + { + "name": "_initializePayload", + "type": "bytes" + } + ], + "name": "newAppProxy", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "constant": true, + "inputs": [ + { + "name": "_who", + "type": "address" + }, + { + "name": "_where", + "type": "address" + }, + { + "name": "_what", + "type": "bytes32" + }, + { + "name": "_how", + "type": "bytes" + } + ], + "name": "hasPermission", + "outputs": [ + { + "name": "", + "type": "bool" + } + ], + "payable": false, + "stateMutability": "view", + "type": "function" + }, + { + "constant": false, + "inputs": [ + { + "name": "_kernel", + "type": "address" + }, + { + "name": "_appId", + "type": "bytes32" + } + ], + "name": "newAppProxyPinned", + "outputs": [ + { + "name": "", + "type": "address" + } + ], + "payable": false, + "stateMutability": "nonpayable", + "type": "function" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "name": "proxy", + "type": "address" + } + ], + "name": "NewAppProxy", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "name": "namespace", + "type": "bytes32" + }, + { + "indexed": true, + "name": "name", + "type": "bytes32" + }, + { + "indexed": true, + "name": "id", + "type": "bytes32" + }, + { + "indexed": false, + "name": "app", + "type": "address" + } + ], + "name": "SetApp", + "type": "event" + } +] diff --git a/packages/aragon-cli/package-lock.json b/packages/aragon-cli/package-lock.json index 455f48769..9fd28beb2 100644 --- a/packages/aragon-cli/package-lock.json +++ b/packages/aragon-cli/package-lock.json @@ -1,6 +1,6 @@ { "name": "@aragon/cli", - "version": "2.0.4", + "version": "2.2.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -89,12 +89,27 @@ } }, "accepts": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.4.tgz", - "integrity": "sha1-hiRnWMfdbSGmR0/whKR0DsBesh8=", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", + "integrity": "sha1-63d99gEXI6OxTopywIBcjoZ0a9I=", "requires": { - "mime-types": "2.1.17", + "mime-types": "2.1.18", "negotiator": "0.6.1" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + } } }, "acorn": { @@ -1321,13 +1336,13 @@ "bytes": "3.0.0", "content-type": "1.0.4", "debug": "2.6.9", - "depd": "1.1.1", + "depd": "1.1.2", "http-errors": "1.6.2", "iconv-lite": "0.4.19", "on-finished": "2.3.0", "qs": "6.5.1", "raw-body": "2.3.2", - "type-is": "1.6.15" + "type-is": "1.6.16" } }, "boom": { @@ -1559,66 +1574,9 @@ "integrity": "sha1-TWd8qS3YiTEIeLAqL7z6txICTPI=" }, "buffer-to-arraybuffer": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.2.tgz", - "integrity": "sha1-0NgFZNwxhmoZdlFUh7OrYg23yEk=", - "requires": { - "tape": "3.6.1" - }, - "dependencies": { - "deep-equal": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-0.2.2.tgz", - "integrity": "sha1-hLdFiW80xoTpjyzg5Cq69Du6AX0=" - }, - "defined": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz", - "integrity": "sha1-817qfXBekzuvE7LwOz+D2SFAOz4=" - }, - "glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz", - "integrity": "sha1-Spc/Y1uRkPcV0QmH1cAP0oFevj0=", - "requires": { - "inherits": "2.0.3", - "minimatch": "0.3.0" - } - }, - "lru-cache": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz", - "integrity": "sha1-bUUk6LlV+V1PW1iFHOId1y+06VI=" - }, - "minimatch": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz", - "integrity": "sha1-J12O2qxPG7MyZHIInnlJyDlGmd0=", - "requires": { - "lru-cache": "2.7.3", - "sigmund": "1.0.1" - } - }, - "object-inspect": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-0.4.0.tgz", - "integrity": "sha1-9RV8EWwUVbJDsG7pdwM5LFrYn+w=" - }, - "tape": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/tape/-/tape-3.6.1.tgz", - "integrity": "sha1-SJPdU+KApfWMDOswwsDrs7zVHh8=", - "requires": { - "deep-equal": "0.2.2", - "defined": "0.0.0", - "glob": "3.2.11", - "inherits": "2.0.3", - "object-inspect": "0.4.0", - "resumer": "0.0.0", - "through": "2.3.8" - } - } - } + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz", + "integrity": "sha1-YGSkD6dutDxyOrqe+PbhIW0QURo=" }, "buffer-xor": { "version": "1.0.3", @@ -2376,6 +2334,11 @@ "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, "decompress": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.0.tgz", @@ -2587,9 +2550,9 @@ "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=" }, "depd": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", - "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, "des.js": { "version": "1.0.0", @@ -2720,9 +2683,9 @@ } }, "encodeurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz", - "integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA=" + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" }, "encoding": { "version": "0.1.12", @@ -3543,11 +3506,11 @@ } }, "express": { - "version": "4.16.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.16.2.tgz", - "integrity": "sha1-41xt/i1kt9ygpc1PIXgb4ymeB2w=", + "version": "4.16.3", + "resolved": "https://registry.npmjs.org/express/-/express-4.16.3.tgz", + "integrity": "sha1-avilAjUNsyRuzEvs9rWjTSL37VM=", "requires": { - "accepts": "1.3.4", + "accepts": "1.3.5", "array-flatten": "1.1.1", "body-parser": "1.18.2", "content-disposition": "0.5.2", @@ -3555,26 +3518,26 @@ "cookie": "0.3.1", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "1.1.1", - "encodeurl": "1.0.1", + "depd": "1.1.2", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", - "finalhandler": "1.1.0", + "finalhandler": "1.1.1", "fresh": "0.5.2", "merge-descriptors": "1.0.1", "methods": "1.1.2", "on-finished": "2.3.0", "parseurl": "1.3.2", "path-to-regexp": "0.1.7", - "proxy-addr": "2.0.2", + "proxy-addr": "2.0.3", "qs": "6.5.1", "range-parser": "1.2.0", "safe-buffer": "5.1.1", - "send": "0.16.1", - "serve-static": "1.13.1", + "send": "0.16.2", + "serve-static": "1.13.2", "setprototypeof": "1.1.0", - "statuses": "1.3.1", - "type-is": "1.6.15", + "statuses": "1.4.0", + "type-is": "1.6.16", "utils-merge": "1.0.1", "vary": "1.1.2" }, @@ -3583,11 +3546,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" - }, - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" } } }, @@ -3689,24 +3647,17 @@ } }, "finalhandler": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.0.tgz", - "integrity": "sha1-zgtoVbRYU+eRsvzGgARtiCU91/U=", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.1.tgz", + "integrity": "sha512-Y1GUDo39ez4aHAw7MysnUD5JzYX+WaIj8I57kO3aEPT1fFRL4sr7mjei97FgnwhAyyzRYmQZaTHb2+9uZ1dPtg==", "requires": { "debug": "2.6.9", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "on-finished": "2.3.0", "parseurl": "1.3.2", - "statuses": "1.3.1", + "statuses": "1.4.0", "unpipe": "1.0.0" - }, - "dependencies": { - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" - } } }, "find-cache-dir": { @@ -5076,6 +5027,13 @@ "inherits": "2.0.3", "setprototypeof": "1.0.3", "statuses": "1.4.0" + }, + "dependencies": { + "depd": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.1.tgz", + "integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k=" + } } }, "http-https": { @@ -5335,9 +5293,9 @@ "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" }, "ipaddr.js": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.5.2.tgz", - "integrity": "sha1-1LUFvemUaYfM8PxY2QEP+WB+P6A=" + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.6.0.tgz", + "integrity": "sha1-4/o1e3c9phnybpXwSdBVxyeW+Gs=" }, "ipfs-api": { "version": "14.3.7", @@ -8001,12 +7959,12 @@ } }, "proxy-addr": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.2.tgz", - "integrity": "sha1-ZXFQT0e7mI7IGAJT+F3X4UlSvew=", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.3.tgz", + "integrity": "sha512-jQTChiCJteusULxjBp8+jftSQE5Obdl3k4cnmLA6WXtK6XFuWRnvVL7aCiBqaLPM8c4ph0S4tKna8XvmIwEnXQ==", "requires": { "forwarded": "0.1.2", - "ipaddr.js": "1.5.2" + "ipaddr.js": "1.6.0" } }, "prr": { @@ -8102,10 +8060,12 @@ "integrity": "sha512-eRzhrN1WSINYCDCbrz796z37LOe3m5tmW7RQf6oBntukAG1nmovJvhnwHHRMAfeoItc1m2Hk02WER2aQ/iqs+A==" }, "query-string": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-2.4.2.tgz", - "integrity": "sha1-fbBmZCCAS6qSrp8miWKFWnYUPfs=", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-5.1.1.tgz", + "integrity": "sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==", "requires": { + "decode-uri-component": "0.2.0", + "object-assign": "4.1.1", "strict-uri-encode": "1.1.0" } }, @@ -8750,14 +8710,14 @@ } }, "send": { - "version": "0.16.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.16.1.tgz", - "integrity": "sha512-ElCLJdJIKPk6ux/Hocwhk7NFHpI3pVm/IZOYWqUmoxcgeyM+MpxHHKhb8QmlJDX1pU6WrgaHBkVNm73Sv7uc2A==", + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.16.2.tgz", + "integrity": "sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==", "requires": { "debug": "2.6.9", - "depd": "1.1.1", + "depd": "1.1.2", "destroy": "1.0.4", - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "etag": "1.8.1", "fresh": "0.5.2", @@ -8766,25 +8726,18 @@ "ms": "2.0.0", "on-finished": "2.3.0", "range-parser": "1.2.0", - "statuses": "1.3.1" - }, - "dependencies": { - "statuses": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.3.1.tgz", - "integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4=" - } + "statuses": "1.4.0" } }, "serve-static": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.1.tgz", - "integrity": "sha512-hSMUZrsPa/I09VYFJwa627JJkNs0NrfL1Uzuup+GqHfToR2KcsXFymXSV90hoyw3M+msjFuQly+YzIH/q0MGlQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.13.2.tgz", + "integrity": "sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==", "requires": { - "encodeurl": "1.0.1", + "encodeurl": "1.0.2", "escape-html": "1.0.3", "parseurl": "1.3.2", - "send": "0.16.1" + "send": "0.16.2" } }, "servify": { @@ -8794,7 +8747,7 @@ "requires": { "body-parser": "1.18.2", "cors": "2.8.4", - "express": "4.16.2", + "express": "4.16.3", "request": "2.83.0", "xhr": "2.4.1" } @@ -8865,11 +8818,6 @@ "rechoir": "0.6.2" } }, - "sigmund": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz", - "integrity": "sha1-P/IfGYytIXX587eBhT/ZTQ0ZtZA=" - }, "signal-exit": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", @@ -8883,14 +8831,19 @@ "varint": "5.0.0" } }, + "simple-concat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.0.tgz", + "integrity": "sha1-c0TLuLbib7J9ZrL8hvn21Zl1IcY=" + }, "simple-get": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz", - "integrity": "sha1-6XVe2kB+ltpAxeUVjJ6jezO+y+s=", + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-2.7.0.tgz", + "integrity": "sha512-RkE9rGPHcxYZ/baYmgJtOSM63vH0Vyq+ma5TijBcLla41SWlh8t6XYIGMR/oeZcmr+/G8k+zrClkkVrtnQ0esg==", "requires": { + "decompress-response": "3.3.0", "once": "1.4.0", - "unzip-response": "1.0.2", - "xtend": "4.0.1" + "simple-concat": "1.0.0" } }, "slash": { @@ -9277,7 +9230,7 @@ "integrity": "sha512-G8gi5fcXP/2upwiuOShJ258sIufBVztekgobr3cVgYXObZwJ5AXLqZn52AI+/ffft29pJexF9WNdUxjlkVehoQ==", "requires": { "bluebird": "3.5.1", - "buffer": "5.0.8", + "buffer": "5.1.0", "decompress": "4.2.0", "eth-lib": "0.1.27", "fs-extra": "2.1.2", @@ -9292,9 +9245,9 @@ }, "dependencies": { "buffer": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.0.8.tgz", - "integrity": "sha512-xXvjQhVNz50v2nPeoOsNqWCLGfiv4ji/gXZM28jnVwdLJxH4mFyqgqCKfaK9zf1KUbG6zTkjLOy7ou+jSMarGA==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.1.0.tgz", + "integrity": "sha512-YkIRgwsZwJWTnyQrsBTWefizHh+8GYj3kbL1BTiAQ/9pwpino0G7B2gp5tx/FUBqUlvtxV85KNR3mwfAtv15Yw==", "requires": { "base64-js": "1.2.1", "ieee754": "1.1.8" @@ -9884,12 +9837,27 @@ "integrity": "sha1-diIXzAbbJY7EiQihKY6LlRIejqI=" }, "type-is": { - "version": "1.6.15", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.15.tgz", - "integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=", + "version": "1.6.16", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.16.tgz", + "integrity": "sha512-HRkVv/5qY2G6I8iab9cI7v1bOIdhm94dVjQCPFElW9W+3GeDOSHmy2EBYe4VTApuzolPcmgFTN3ftVJRKR2J9Q==", "requires": { "media-typer": "0.3.0", - "mime-types": "2.1.17" + "mime-types": "2.1.18" + }, + "dependencies": { + "mime-db": { + "version": "1.33.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.33.0.tgz", + "integrity": "sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==" + }, + "mime-types": { + "version": "2.1.18", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.18.tgz", + "integrity": "sha512-lc/aahn+t4/SWV/qcmumYjymLsWfN3ELhpmVuUFjgsORruuZPVSwAQryq+HHGvO/SI2KVX26bx+En+zhM8g8hQ==", + "requires": { + "mime-db": "1.33.0" + } + } } }, "typedarray": { @@ -10060,11 +10028,6 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" }, - "unzip-response": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz", - "integrity": "sha1-uYTwh3/AqJwsdzzB73tbIytbBv4=" - }, "update-notifier": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz", @@ -10223,23 +10186,23 @@ } }, "web3": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.27.tgz", - "integrity": "sha1-2afJVr7JgbC6knvbkd0PEnXrNHk=", + "version": "1.0.0-beta.26", + "resolved": "https://registry.npmjs.org/web3/-/web3-1.0.0-beta.26.tgz", + "integrity": "sha1-u0ba9q78MT92iz3jnX9KjXvQZmM=", "requires": { - "web3-bzz": "1.0.0-beta.27", - "web3-core": "1.0.0-beta.27", - "web3-eth": "1.0.0-beta.27", - "web3-eth-personal": "1.0.0-beta.27", - "web3-net": "1.0.0-beta.27", - "web3-shh": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-bzz": "1.0.0-beta.31", + "web3-core": "1.0.0-beta.31", + "web3-eth": "1.0.0-beta.31", + "web3-eth-personal": "1.0.0-beta.31", + "web3-net": "1.0.0-beta.31", + "web3-shh": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-bzz": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.27.tgz", - "integrity": "sha1-Tmggpc/nOqsG2CV59FBFD76YIqM=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.0.0-beta.31.tgz", + "integrity": "sha1-rrp8lVhhqZupLdHKj3x6EngyhZ0=", "requires": { "got": "7.1.0", "swarm-js": "0.1.37", @@ -10247,104 +10210,97 @@ } }, "web3-core": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.27.tgz", - "integrity": "sha1-TQCb9x5Yt5F2E0EpF+/5ERO0N8M=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.0.0-beta.31.tgz", + "integrity": "sha1-q9FJzEEshTZb9NEZfHSeP1Dj6qE=", "requires": { - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-core-requestmanager": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-core-requestmanager": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-core-helpers": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.27.tgz", - "integrity": "sha1-6wlPrTfJ3B1wZt11Zimi1u+6B6I=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.0.0-beta.31.tgz", + "integrity": "sha1-cETI89P3NRWLoeZrhPbECQiCFlw=", "requires": { "underscore": "1.8.3", - "web3-eth-iban": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-eth-iban": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-core-method": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.27.tgz", - "integrity": "sha1-3hTlQL1qdTfXBGcLSeY/BSYgG6o=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.0.0-beta.31.tgz", + "integrity": "sha1-IRkLm4zxUDUT6Diw9O73Jg/uCTs=", "requires": { "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-promievent": "1.0.0-beta.27", - "web3-core-subscriptions": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-promievent": "1.0.0-beta.31", + "web3-core-subscriptions": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-core-promievent": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.27.tgz", - "integrity": "sha1-0lx9e75NU9+/3KBJ+e1LCmlUvrw=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.0.0-beta.31.tgz", + "integrity": "sha1-3alb5l7NeSTjAKXphHfBuwpX6PM=", "requires": { - "bluebird": "3.3.1", + "any-promise": "1.3.0", "eventemitter3": "1.1.1" - }, - "dependencies": { - "bluebird": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz", - "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0=" - } } }, "web3-core-requestmanager": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.27.tgz", - "integrity": "sha1-Vk7uJEoxCq5abGgyzeLA49wwHpg=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.0.0-beta.31.tgz", + "integrity": "sha1-S/ZntBTUbgZtmTCZTzT0b7QI++c=", "requires": { "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27", - "web3-providers-http": "1.0.0-beta.27", - "web3-providers-ipc": "1.0.0-beta.27", - "web3-providers-ws": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31", + "web3-providers-http": "1.0.0-beta.31", + "web3-providers-ipc": "1.0.0-beta.31", + "web3-providers-ws": "1.0.0-beta.31" } }, "web3-core-subscriptions": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.27.tgz", - "integrity": "sha1-VvKRy1Sn7PgNRzTXL1Sky8uJdzc=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.0.0-beta.31.tgz", + "integrity": "sha1-fpAG3iCosEB6wTZO9WuHz8TQ8ks=", "requires": { "eventemitter3": "1.1.1", "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31" } }, "web3-eth": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.27.tgz", - "integrity": "sha1-hV3Q4BqU1Xhx/9j0n22eyqMXIas=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.0.0-beta.31.tgz", + "integrity": "sha1-t7SwdVNLOjsKtbVpe9UIXXnrYcY=", "requires": { "underscore": "1.8.3", - "web3-core": "1.0.0-beta.27", - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-core-subscriptions": "1.0.0-beta.27", - "web3-eth-abi": "1.0.0-beta.27", - "web3-eth-accounts": "1.0.0-beta.27", - "web3-eth-contract": "1.0.0-beta.27", - "web3-eth-iban": "1.0.0-beta.27", - "web3-eth-personal": "1.0.0-beta.27", - "web3-net": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-core-subscriptions": "1.0.0-beta.31", + "web3-eth-abi": "1.0.0-beta.31", + "web3-eth-accounts": "1.0.0-beta.31", + "web3-eth-contract": "1.0.0-beta.31", + "web3-eth-iban": "1.0.0-beta.31", + "web3-eth-personal": "1.0.0-beta.31", + "web3-net": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-eth-abi": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.27.tgz", - "integrity": "sha1-RS6dk3YVYL4yNE7juJddD7JLvb4=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.0.0-beta.31.tgz", + "integrity": "sha1-xQ457cINFrTDWQKegpuEE5THL8E=", "requires": { "bn.js": "4.11.6", "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" }, "dependencies": { "bn.js": { @@ -10355,31 +10311,26 @@ } }, "web3-eth-accounts": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.27.tgz", - "integrity": "sha1-mUDCjl48kg1nz2iH6pxS8c3Re3k=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.0.0-beta.31.tgz", + "integrity": "sha1-Mnm9BpbYK8ThUswddWx74i0xkq0=", "requires": { - "bluebird": "3.3.1", + "any-promise": "1.3.0", "crypto-browserify": "3.12.0", - "eth-lib": "0.2.5", + "eth-lib": "0.2.7", "scrypt.js": "0.2.0", "underscore": "1.8.3", "uuid": "2.0.1", - "web3-core": "1.0.0-beta.27", - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" }, "dependencies": { - "bluebird": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.3.1.tgz", - "integrity": "sha1-+Xrhlw9B2FF3KDBT6aEgFg5mxh0=" - }, "eth-lib": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.5.tgz", - "integrity": "sha512-pXs4ryU+7S8MPpkQpNqG4JlXEec87kbXowQbYzRVV+c5XUccrO6WOxVPDicxql1AXSBzfmBSFVkvvG+H4htuxg==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", + "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", "requires": { "bn.js": "4.11.8", "elliptic": "6.4.0", @@ -10394,49 +10345,49 @@ } }, "web3-eth-contract": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.27.tgz", - "integrity": "sha1-AS96XVnaZ+KWxzWo8pcK7N0gfn0=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.0.0-beta.31.tgz", + "integrity": "sha1-J5RkM/kdiVMBPi2X/Yt4qe1rbtw=", "requires": { "underscore": "1.8.3", - "web3-core": "1.0.0-beta.27", - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-core-promievent": "1.0.0-beta.27", - "web3-core-subscriptions": "1.0.0-beta.27", - "web3-eth-abi": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-core-promievent": "1.0.0-beta.31", + "web3-core-subscriptions": "1.0.0-beta.31", + "web3-eth-abi": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-eth-iban": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.27.tgz", - "integrity": "sha1-RDPCj0F8Oa+WMzoGpK+h/NSqaEI=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.0.0-beta.31.tgz", + "integrity": "sha1-7WS+0zO7BApvKU+06dGOrdvr/8o=", "requires": { "bn.js": "4.11.8", - "web3-utils": "1.0.0-beta.27" + "web3-utils": "1.0.0-beta.31" } }, "web3-eth-personal": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.27.tgz", - "integrity": "sha1-ukiaNIdkpKswOItcwcblm9bq7Ks=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.0.0-beta.31.tgz", + "integrity": "sha1-Kw1ghZIOndzfu63yCnFfDMN3HYA=", "requires": { - "web3-core": "1.0.0-beta.27", - "web3-core-helpers": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-net": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-helpers": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-net": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-net": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.27.tgz", - "integrity": "sha1-eulTbsOf7Rou6zjALm48jt/oq30=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.0.0-beta.31.tgz", + "integrity": "sha1-0mv8oOoXUvX9XXITTgDlE60efhk=", "requires": { - "web3-core": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-utils": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-utils": "1.0.0-beta.31" } }, "web3-provider-engine": { @@ -10485,49 +10436,60 @@ } }, "web3-providers-http": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.27.tgz", - "integrity": "sha1-LwrhYJvF5KNb4lgYzX/HfeBitqY=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.0.0-beta.31.tgz", + "integrity": "sha1-E0Ce9ErhYjzVxNzT20sI1vu6RTI=", "requires": { - "web3-core-helpers": "1.0.0-beta.27", + "web3-core-helpers": "1.0.0-beta.31", "xhr2": "0.1.4" } }, "web3-providers-ipc": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.27.tgz", - "integrity": "sha1-oFwkIe/+TEfxX0efeSUTWtCUJ2I=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.0.0-beta.31.tgz", + "integrity": "sha1-zm2mcPqhlFjmIt/tm+QAWE/DNyQ=", "requires": { "oboe": "2.1.3", "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27" + "web3-core-helpers": "1.0.0-beta.31" } }, "web3-providers-ws": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.27.tgz", - "integrity": "sha1-bUZ4Geoi3foba6FJjTHZVU4rBt0=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.0.0-beta.31.tgz", + "integrity": "sha1-zHG3Do2LUyAaUzdDcHww6MCZ4o0=", "requires": { "underscore": "1.8.3", - "web3-core-helpers": "1.0.0-beta.27", + "web3-core-helpers": "1.0.0-beta.31", "websocket": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c" + }, + "dependencies": { + "websocket": { + "version": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c", + "requires": { + "debug": "2.6.9", + "nan": "2.8.0", + "typedarray-to-buffer": "3.1.2", + "yaeti": "0.0.6" + } + } } }, "web3-shh": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.27.tgz", - "integrity": "sha1-b3bW6yoma769zwqjDFo62J82e38=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.0.0-beta.31.tgz", + "integrity": "sha1-AW0gS+K7obfzs5FQJyGdJ07+XlI=", "requires": { - "web3-core": "1.0.0-beta.27", - "web3-core-method": "1.0.0-beta.27", - "web3-core-subscriptions": "1.0.0-beta.27", - "web3-net": "1.0.0-beta.27" + "web3-core": "1.0.0-beta.31", + "web3-core-method": "1.0.0-beta.31", + "web3-core-subscriptions": "1.0.0-beta.31", + "web3-net": "1.0.0-beta.31" } }, "web3-utils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.27.tgz", - "integrity": "sha1-0JfVwzaha59sqbYK9o3RXAZDIUs=", + "version": "1.0.0-beta.31", + "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.0.0-beta.31.tgz", + "integrity": "sha1-DxgSXT6WmK6Cy/b6Ka3B4WFvKTY=", "requires": { "bn.js": "4.11.6", "eth-lib": "0.1.27", @@ -10657,15 +10619,6 @@ } } }, - "websocket": { - "version": "git://github.com/frozeman/WebSocket-Node.git#7004c39c42ac98875ab61126e5b4a925430f592c", - "requires": { - "debug": "2.6.9", - "nan": "2.8.0", - "typedarray-to-buffer": "3.1.2", - "yaeti": "0.0.6" - } - }, "well-known-symbols": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/well-known-symbols/-/well-known-symbols-1.0.0.tgz", @@ -10847,29 +10800,17 @@ } }, "xhr-request": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.0.1.tgz", - "integrity": "sha1-g/CKSyC+7Geowcco6BAvTJ7svdo=", - "requires": { - "buffer-to-arraybuffer": "0.0.2", - "object-assign": "3.0.0", - "query-string": "2.4.2", - "simple-get": "1.4.3", - "timed-out": "2.0.0", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xhr-request/-/xhr-request-1.1.0.tgz", + "integrity": "sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA==", + "requires": { + "buffer-to-arraybuffer": "0.0.5", + "object-assign": "4.1.1", + "query-string": "5.1.1", + "simple-get": "2.7.0", + "timed-out": "4.0.1", "url-set-query": "1.0.0", "xhr": "2.4.1" - }, - "dependencies": { - "object-assign": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz", - "integrity": "sha1-m+3VygiXlJvKR+f/QIBi1Un1h/I=" - }, - "timed-out": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz", - "integrity": "sha1-84sK6B03R9YoAB9B2vxlKs5nHAo=" - } } }, "xhr-request-promise": { @@ -10877,7 +10818,7 @@ "resolved": "https://registry.npmjs.org/xhr-request-promise/-/xhr-request-promise-0.1.2.tgz", "integrity": "sha1-NDxE0e53JrhkgGloLQ+EDIO0Jh0=", "requires": { - "xhr-request": "1.0.1" + "xhr-request": "1.1.0" } }, "xhr2": { diff --git a/packages/aragon-cli/package.json b/packages/aragon-cli/package.json index a8f52f32b..c8f731abe 100644 --- a/packages/aragon-cli/package.json +++ b/packages/aragon-cli/package.json @@ -1,6 +1,6 @@ { "name": "@aragon/cli", - "version": "2.0.7", + "version": "2.2.0", "description": "Aragon command-line tools", "main": "src/cli.js", "bin": { diff --git a/packages/aragon-cli/src/acl/index.js b/packages/aragon-cli/src/acl/index.js new file mode 100644 index 000000000..614641404 --- /dev/null +++ b/packages/aragon-cli/src/acl/index.js @@ -0,0 +1,28 @@ +const { keccak256 } = require('js-sha3') + +module.exports = (web3) => { + const getACL = async (repoAddr) => { + const repo = new web3.eth.Contract(require('../../abi/apm/Repo'), repoAddr) + const daoAddr = await repo.methods.kernel().call() + const dao = new web3.eth.Contract(require('../../abi/aragonOS/Kernel'), daoAddr) + const aclAddr = await dao.methods.acl().call() + + return new web3.eth.Contract(require('../../abi/aragonOS/ACL'), aclAddr) + } + + return { + grant: async (repoAddr, grantee) => { + const acl = await getACL(repoAddr) + + const roleId = '0x0000000000000000000000000000000000000000000000000000000000000001' + + const call = acl.methods.grantPermission(grantee, repoAddr, roleId) + return { + to: acl.options.address, + data: call.encodeABI(), + gas: web3.utils.toHex(5e5), + gasPrice: web3.utils.toHex(web3.utils.toWei('15', 'gwei')) + } + } + } +} diff --git a/packages/aragon-cli/src/cli.js b/packages/aragon-cli/src/cli.js index febd3a4fe..7829fd68f 100755 --- a/packages/aragon-cli/src/cli.js +++ b/packages/aragon-cli/src/cli.js @@ -82,7 +82,7 @@ cmd.group(['apm.ens-registry', 'eth-rpc'], 'APM:') cmd.option('apm.ipfs.rpc', { description: 'An URI to the IPFS node used to publish files', default: { - host: 'localhost', + host: 'ipfs.aragon.network', protocol: 'http', port: 5001 } diff --git a/packages/aragon-cli/src/commands/grant.js b/packages/aragon-cli/src/commands/grant.js new file mode 100644 index 000000000..1183c5242 --- /dev/null +++ b/packages/aragon-cli/src/commands/grant.js @@ -0,0 +1,87 @@ +const Web3 = require('web3') +const { MessageError } = require('../errors') +const EthereumTx = require('ethereumjs-tx') +const APM = require('../apm') +const ACL = require('../acl') + +exports.command = 'grant [address]' +exports.describe = 'Grant an address permission to create new versions in this package' + +exports.builder = function (yargs) { + return yargs.positional('address', { + description: 'The address being granted the permission to publish to the repo' + }).option('no-confirm', { + description: 'Exit as soon as transaction is sent, no wait for confirmation', + default: false + }) +} + +exports.handler = async function (reporter, { + // Globals + cwd, + ethRpc, + keyfile, + key, + module, + apm: apmOptions, + + // Arguments + address, + noConfirm +}) { + const web3 = new Web3(keyfile.rpc ? keyfile.rpc : ethRpc) + const privateKey = keyfile.key ? keyfile.key : key + + apmOptions.ensRegistry = !apmOptions.ensRegistry ? keyfile.ens : apmOptions.ensRegistry + + const apm = await APM(web3, apmOptions) + const acl = ACL(web3) + + if (!module || !Object.keys(module).length) { + throw new MessageError('This directory is not an Aragon project', + 'ERR_NOT_A_PROJECT') + } + + const repo = await apm.getRepository(module.appName) + .catch(() => null) + if (repo === null) { + throw new MessageError(`Repository ${module.appName} does not exist and it's registry does not exist`) + } + + reporter.info(`Granting permission to publish on ${module.appName} for ${address}`) + + // Decode sender + const from = privateKey ? web3.eth.accounts.privateKeyToAccount('0x' + privateKey).address : null + + // Build transaction + const transaction = await acl.grant(repo.options.address, address) + + if (from) { + transaction.nonce = await web3.eth.getTransactionCount(from) + transaction.from = from + } + + if (!privateKey) { + reporter.info('Sign and broadcast this transaction') + reporter.success(JSON.stringify(transaction)) + } else { + // Sign and broadcast transaction + reporter.debug('Signing transaction with passed private key...') + + const tx = new EthereumTx(transaction) + tx.sign(Buffer.from(privateKey, 'hex')) + const signed = '0x' + tx.serialize().toString('hex') + + const promisedReceipt = web3.eth.sendSignedTransaction(signed) + if (noConfirm) return reporter.success('Transaction sent') + + const receipt = await promisedReceipt + + reporter.debug(JSON.stringify(receipt)) + if (receipt.status === '0x1') { + reporter.success(`Successful transaction ${receipt.transactionHash}`) + } else { + reporter.error(`Transaction reverted ${receipt.transactionHash}`) + } + } +} diff --git a/packages/aragon-cli/src/commands/publish.js b/packages/aragon-cli/src/commands/publish.js index e2c2a1f33..b4a38395a 100644 --- a/packages/aragon-cli/src/commands/publish.js +++ b/packages/aragon-cli/src/commands/publish.js @@ -25,7 +25,7 @@ exports.builder = function (yargs) { }).option('only-artifacts', { description: 'Whether just generate artifacts file without publishing', default: false, - boolean: true, + boolean: true }).option('provider', { description: 'The APM storage provider to publish files to', default: 'ipfs', @@ -42,6 +42,10 @@ exports.builder = function (yargs) { description: 'Exit as soon as transaction is sent, no wait for confirmation', default: false }) + .option('no-contract', { + description: 'Only upload content without generating artifacts', + default: false + }) } async function generateApplicationArtifact (web3, cwd, outputPath, module, contract, reporter) { @@ -138,7 +142,8 @@ exports.handler = async function (reporter, { key, files, ignore, - noConfirm + noConfirm, + noContract }) { const web3 = new Web3(keyfile.rpc ? keyfile.rpc : ethRpc) const privateKey = keyfile.key ? keyfile.key : key @@ -175,13 +180,16 @@ exports.handler = async function (reporter, { // Generate the artifact reporter.info('Generating application artifact...') const dir = onlyArtifacts ? cwd : pathToPublish - const artifact = await generateApplicationArtifact(web3, cwd, dir, module, contract, reporter) - reporter.debug(`Generated artifact: ${JSON.stringify(artifact)}`) - // Save artifact - reporter.debug(`Saved artifact in ${dir}/artifact.json`) + if (!noContract) { + const artifact = await generateApplicationArtifact(web3, cwd, dir, module, contract, reporter) + reporter.debug(`Generated artifact: ${JSON.stringify(artifact)}`) - if (onlyArtifacts) return + // Save artifact + reporter.debug(`Saved artifact in ${dir}/artifact.json`) + + if (onlyArtifacts) return + } reporter.info(`Publishing ${module.appName} v${module.version}...`) reporter.debug(`Publishing "${pathToPublish}" with ${provider}`)