Merge branch 'change-to-contract-acc-after-execution' into e2e-contract-back
This commit is contained in:
commit
3df13417bb
|
@ -288,6 +288,19 @@ class AccountDropdowns extends Component {
|
|||
},
|
||||
'Copy address to clipboard',
|
||||
),
|
||||
ifContractAcc(keyring) ? h(
|
||||
DropdownMenuItem,
|
||||
{
|
||||
closeMenu: () => {},
|
||||
onClick: async () => {
|
||||
const { selected } = this.props
|
||||
const contractProps = await this.props.actions.getContract(selected)
|
||||
const abi = contractProps && contractProps.abi
|
||||
copyToClipboard(JSON.stringify(abi))
|
||||
},
|
||||
},
|
||||
'Copy ABI to clipboard',
|
||||
) : null,
|
||||
(!this.ifHardwareAcc(keyring) && !(ifContractAcc(keyring))) ? h(
|
||||
DropdownMenuItem,
|
||||
{
|
||||
|
@ -391,6 +404,7 @@ const mapDispatchToProps = (dispatch) => {
|
|||
showConnectHWWalletPage: () => dispatch(actions.showConnectHWWalletPage()),
|
||||
showQrView: (selected, identity) => dispatch(actions.showQrView(selected, identity)),
|
||||
showDeleteImportedAccount: (identity) => dispatch(actions.showDeleteImportedAccount(identity)),
|
||||
getContract: (addr) => dispatch(actions.getContract(addr)),
|
||||
},
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3505,7 +3505,7 @@
|
|||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
|
||||
},
|
||||
"array-from": {
|
||||
|
@ -5462,7 +5462,7 @@
|
|||
},
|
||||
"brfs": {
|
||||
"version": "1.6.1",
|
||||
"resolved": "https://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/brfs/-/brfs-1.6.1.tgz",
|
||||
"integrity": "sha512-OfZpABRQQf+Xsmju8XE9bDjs+uU4vLREGolP7bDgcpsI17QREyZ4Bl+2KLxxx1kCgA0fAIhKQBaBYh+PEcCqYQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -5546,7 +5546,7 @@
|
|||
"dependencies": {
|
||||
"resolve": {
|
||||
"version": "1.1.7",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
||||
"resolved": "http://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz",
|
||||
"integrity": "sha1-IDEU2CrSxe2ejgQRs5ModeiJ6Xs=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -6828,7 +6828,7 @@
|
|||
},
|
||||
"color-string": {
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz",
|
||||
"integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=",
|
||||
"requires": {
|
||||
"color-name": "^1.0.0"
|
||||
|
@ -7169,7 +7169,7 @@
|
|||
},
|
||||
"content-disposition": {
|
||||
"version": "0.5.2",
|
||||
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.2.tgz",
|
||||
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
|
||||
},
|
||||
"content-type": {
|
||||
|
@ -7572,7 +7572,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -7652,7 +7652,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -8147,7 +8147,7 @@
|
|||
},
|
||||
"deps-sort": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz",
|
||||
"integrity": "sha1-CRckkC6EZYJg65EHSMzNGvbiH7U=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -8780,7 +8780,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -10104,7 +10104,7 @@
|
|||
}
|
||||
},
|
||||
"eth-contract-metadata": {
|
||||
"version": "github:MetaMask/eth-contract-metadata#05e39ee1be2edaa53b04ff7e215cdd6db16d09c1",
|
||||
"version": "github:MetaMask/eth-contract-metadata#889defeaaa18e5488f2695a462d22a29936229e2",
|
||||
"from": "github:MetaMask/eth-contract-metadata#master"
|
||||
},
|
||||
"eth-ens-namehash": {
|
||||
|
@ -11989,7 +11989,7 @@
|
|||
},
|
||||
"expand-range": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz",
|
||||
"integrity": "sha1-TLjtoJk8pW+k9B/ELzy7TMrf8EQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -12021,7 +12021,7 @@
|
|||
},
|
||||
"expand-range": {
|
||||
"version": "1.8.2",
|
||||
"resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
|
||||
"integrity": "sha1-opnv/TNf4nIeuujiV+x5ZE/IUzc=",
|
||||
"requires": {
|
||||
"fill-range": "^2.1.0"
|
||||
|
@ -14236,7 +14236,7 @@
|
|||
},
|
||||
"array-flatten": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
|
||||
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -16214,7 +16214,7 @@
|
|||
},
|
||||
"ethereumjs-vm": {
|
||||
"version": "2.3.4",
|
||||
"resolved": "https://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.3.4.tgz",
|
||||
"resolved": "http://registry.npmjs.org/ethereumjs-vm/-/ethereumjs-vm-2.3.4.tgz",
|
||||
"integrity": "sha512-Y4SlzNDqxrCO58jhp98HdnZVdjOqB+HC0hoU+N/DEp1aU+hFkRX/nru5F7/HkQRPIlA6aJlQp/xIA6xZs1kspw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -17583,7 +17583,7 @@
|
|||
},
|
||||
"lru-cache": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/lru-cache/-/lru-cache-3.2.0.tgz",
|
||||
"integrity": "sha1-cXibO39Tmb7IVl3aOKow0qCX7+4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -18381,7 +18381,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
|
||||
"integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -18415,7 +18415,7 @@
|
|||
},
|
||||
"regexpu-core": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz",
|
||||
"integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -18432,7 +18432,7 @@
|
|||
},
|
||||
"regjsparser": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
|
||||
"resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
|
||||
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -18496,7 +18496,7 @@
|
|||
},
|
||||
"resolve": {
|
||||
"version": "1.7.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/resolve/-/resolve-1.7.1.tgz",
|
||||
"integrity": "sha512-c7rwLofp8g1U+h1KNyHL/jicrKg1Ek4q+Lr33AL65uZTinUZHe30D5HlyN5V9NW0JX1D5dXQ4jqW5l7Sy/kGfw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -18908,7 +18908,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -19261,7 +19261,7 @@
|
|||
},
|
||||
"underscore": {
|
||||
"version": "1.8.3",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz",
|
||||
"integrity": "sha1-Tz+1OxBuYJf8+ctBCfKl6b36UCI=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -24845,7 +24845,7 @@
|
|||
},
|
||||
"stream-combiner": {
|
||||
"version": "0.2.2",
|
||||
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.2.2.tgz",
|
||||
"integrity": "sha1-rsjLrBd7Vrb0+kec7YwZEs7lKFg=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -24855,7 +24855,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -25072,7 +25072,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -25529,7 +25529,7 @@
|
|||
},
|
||||
"karma-cli": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/karma-cli/-/karma-cli-1.0.1.tgz",
|
||||
"integrity": "sha1-rmw8WKMTodALRRZMRVubhs4X+WA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -25707,7 +25707,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -25779,7 +25779,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
}
|
||||
}
|
||||
|
@ -25816,7 +25816,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ="
|
||||
},
|
||||
"xtend": {
|
||||
|
@ -26590,7 +26590,7 @@
|
|||
},
|
||||
"map-stream": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz",
|
||||
"integrity": "sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -27666,7 +27666,7 @@
|
|||
"dependencies": {
|
||||
"detective": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/detective/-/detective-5.1.0.tgz",
|
||||
"integrity": "sha512-TFHMqfOvxlgrfVzTEkNBSh9SvSNX/HfF4OFI2QFGCyPm02EsyILqnUeb5P6q7JZ3SFNTBL5t2sePRgrN4epUWQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -27757,7 +27757,7 @@
|
|||
},
|
||||
"multimatch": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/multimatch/-/multimatch-2.1.0.tgz",
|
||||
"integrity": "sha1-nHkGoi+0wCkZ4vX3UWG0zb1LKis=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -27769,7 +27769,7 @@
|
|||
},
|
||||
"multipipe": {
|
||||
"version": "0.1.2",
|
||||
"resolved": "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz",
|
||||
"integrity": "sha1-Ko8t33Du1WTf8tV/HhoTfZ8FB4s=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -30272,7 +30272,7 @@
|
|||
},
|
||||
"path-browserify": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz",
|
||||
"integrity": "sha1-oLhwcpquIUAFt9UDLsLLuw+0RRo="
|
||||
},
|
||||
"path-dirname": {
|
||||
|
@ -32670,7 +32670,7 @@
|
|||
},
|
||||
"global-modules": {
|
||||
"version": "0.2.3",
|
||||
"resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz",
|
||||
"integrity": "sha1-6lo77ULG1s6ZWk+KEmm12uIjgo0=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -32680,7 +32680,7 @@
|
|||
},
|
||||
"global-prefix": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
|
||||
"resolved": "http://registry.npmjs.org/global-prefix/-/global-prefix-0.1.5.tgz",
|
||||
"integrity": "sha1-jTvGuNo8qBEqFg2NSW/wRiv+948=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -32707,7 +32707,7 @@
|
|||
},
|
||||
"resolve-dir": {
|
||||
"version": "0.1.1",
|
||||
"resolved": "https://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/resolve-dir/-/resolve-dir-0.1.1.tgz",
|
||||
"integrity": "sha1-shklmlYC+sXFxJatiUpujMQwJh4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -33785,7 +33785,7 @@
|
|||
},
|
||||
"regjsparser": {
|
||||
"version": "0.1.5",
|
||||
"resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
|
||||
"resolved": "http://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz",
|
||||
"integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=",
|
||||
"requires": {
|
||||
"jsesc": "~0.5.0"
|
||||
|
@ -34101,7 +34101,7 @@
|
|||
"dependencies": {
|
||||
"underscore": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -36171,7 +36171,7 @@
|
|||
},
|
||||
"split2": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/split2/-/split2-0.2.1.tgz",
|
||||
"integrity": "sha1-At2smtwD7Au3jBKC7Aecpuha6QA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -36198,7 +36198,7 @@
|
|||
},
|
||||
"string_decoder": {
|
||||
"version": "0.10.31",
|
||||
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
|
||||
"integrity": "sha1-YuIDvEF2bGwoyfyEMB2rHFMQ+pQ=",
|
||||
"dev": true
|
||||
},
|
||||
|
@ -36216,7 +36216,7 @@
|
|||
},
|
||||
"sprintf-js": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
|
||||
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
|
||||
},
|
||||
"sshpk": {
|
||||
|
@ -36487,7 +36487,7 @@
|
|||
},
|
||||
"stream-combiner": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
|
||||
"resolved": "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz",
|
||||
"integrity": "sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -36612,7 +36612,7 @@
|
|||
},
|
||||
"string-width": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
"resolved": "http://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz",
|
||||
"integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=",
|
||||
"requires": {
|
||||
"code-point-at": "^1.0.0",
|
||||
|
@ -37452,7 +37452,7 @@
|
|||
},
|
||||
"syntax-error": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/syntax-error/-/syntax-error-1.4.0.tgz",
|
||||
"integrity": "sha512-YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -38245,7 +38245,7 @@
|
|||
},
|
||||
"tty-browserify": {
|
||||
"version": "0.0.0",
|
||||
"resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
|
||||
"integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY="
|
||||
},
|
||||
"tunnel-agent": {
|
||||
|
@ -38489,7 +38489,7 @@
|
|||
"dependencies": {
|
||||
"underscore": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz",
|
||||
"integrity": "sha1-izixDKze9jM3uLJOT/htRa6lKag=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -38547,7 +38547,7 @@
|
|||
},
|
||||
"union": {
|
||||
"version": "0.4.6",
|
||||
"resolved": "https://registry.npmjs.org/union/-/union-0.4.6.tgz",
|
||||
"resolved": "http://registry.npmjs.org/union/-/union-0.4.6.tgz",
|
||||
"integrity": "sha1-GY+9rrolTniLDvy2MLwR8kopWeA=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -38556,7 +38556,7 @@
|
|||
"dependencies": {
|
||||
"qs": {
|
||||
"version": "2.3.3",
|
||||
"resolved": "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
|
||||
"resolved": "http://registry.npmjs.org/qs/-/qs-2.3.3.tgz",
|
||||
"integrity": "sha1-6eha2+ddoLvkyOBHaghikPhjtAQ=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -39191,7 +39191,7 @@
|
|||
},
|
||||
"vm-browserify": {
|
||||
"version": "0.0.4",
|
||||
"resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
|
||||
"resolved": "http://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz",
|
||||
"integrity": "sha1-XX6kW7755Kb/ZflUOOCofDV9WnM=",
|
||||
"requires": {
|
||||
"indexof": "0.0.1"
|
||||
|
@ -39210,7 +39210,7 @@
|
|||
},
|
||||
"walk-sync": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/walk-sync/-/walk-sync-0.3.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/walk-sync/-/walk-sync-0.3.1.tgz",
|
||||
"integrity": "sha1-VYoWrqyMDbWcAotzxm85doTs5GU=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -39228,7 +39228,7 @@
|
|||
},
|
||||
"watchify": {
|
||||
"version": "3.11.0",
|
||||
"resolved": "https://registry.npmjs.org/watchify/-/watchify-3.11.0.tgz",
|
||||
"resolved": "http://registry.npmjs.org/watchify/-/watchify-3.11.0.tgz",
|
||||
"integrity": "sha512-7jWG0c3cKKm2hKScnSAMUEUjRJKXUShwMPk0ASVhICycQhwND3IMAdhJYmc1mxxKzBUJTSF5HZizfrKrS6BzkA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
@ -40346,7 +40346,7 @@
|
|||
},
|
||||
"winston": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz",
|
||||
"resolved": "http://registry.npmjs.org/winston/-/winston-2.1.1.tgz",
|
||||
"integrity": "sha1-PJNJ0ZYgf9G9/51LxD73JRDjoS4=",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
|
|
|
@ -46,7 +46,7 @@ module.exports = {
|
|||
menu: By.className('account-dropdown'),
|
||||
showQRcode: By.css('#app-content > div > div.app-primary.from-right > div > div > div:nth-child(1) > flex-column > div.name-label > div > span > div > div > div > li:nth-child(3)'),
|
||||
exportPR: By.css('#app-content > div > div.app-primary.from-right > div > div > div:nth-child(1) > flex-column > div.name-label > div > span > div > div > div > li:nth-child(5)'),
|
||||
|
||||
item: By.className('dropdown-menu-item'),
|
||||
},
|
||||
networks: {
|
||||
addedCustomRpc: By.className('span custom-rpc'),
|
||||
|
@ -64,7 +64,7 @@ module.exports = {
|
|||
|
||||
},
|
||||
executeMethod: {
|
||||
|
||||
copy: By.className('clipboard cursor-pointer'),
|
||||
title: By.className('flex-center send-header'),
|
||||
titleText: 'Execute Method',
|
||||
selectArrow: By.className('Select-arrow-zone'),
|
||||
|
|
|
@ -4,6 +4,7 @@ const mkdirp = require('mkdirp')
|
|||
const path = require('path')
|
||||
const assert = require('assert')
|
||||
const pify = require('pify')
|
||||
const clipboardy = require('clipboardy')
|
||||
const webdriver = require('selenium-webdriver')
|
||||
const { By, Key } = webdriver
|
||||
const { delay, buildChromeWebDriver, buildFirefoxWebdriver, installWebExt, getExtensionIdChrome, getExtensionIdFirefox } = require('./func')
|
||||
|
@ -17,6 +18,7 @@ const eventsEmitter = 'https://vbaranov.github.io/event-listener-dapp/'
|
|||
describe('Metamask popup page', async function () {
|
||||
let driver, tokenAddress, extensionId
|
||||
let password = '123456789'
|
||||
let abiClipboard
|
||||
const newPassword = {
|
||||
correct: 'abcDEF123!@#',
|
||||
short: '123',
|
||||
|
@ -149,8 +151,12 @@ describe('Metamask popup page', async function () {
|
|||
console.log(createdAccounts[0])
|
||||
assert.notEqual(createdAccounts[0].length, 20, "address isn't displayed")
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.length, 42, "address account wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
it("open 'Account name' change dialog", async () => {
|
||||
it('open \'Account name\' change dialog', async () => {
|
||||
const menu = await waitUntilShowUp(menus.dot.menu)
|
||||
await menu.click()
|
||||
const field = await waitUntilShowUp(screens.main.edit)
|
||||
|
@ -233,6 +239,11 @@ describe('Metamask popup page', async function () {
|
|||
assert.notEqual(field, false, 'copy icon doesn\'t present')
|
||||
})
|
||||
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.length, 42, "address account wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
it('close QR code screen by clicking button arrow', async () => {
|
||||
const button = await waitUntilShowUp(screens.QRcode.buttonArrow)
|
||||
await click(button)
|
||||
|
@ -311,7 +322,6 @@ describe('Metamask popup page', async function () {
|
|||
|
||||
})
|
||||
describe('Import Contract account', async () => {
|
||||
// const poaContract = '0xc6468767214c577013a904900ada0a0dd6653bc3'
|
||||
const contractSokol = '0x215b2ab35749e5a9f3efe890de602fb9844e842f'
|
||||
console.log('Contract ' + contractSokol + ' , Sokol')
|
||||
const wrongAddress = '0xB87b6077D59B01Ab9fa8cd5A1A21D02a4d60D35'
|
||||
|
@ -334,6 +344,7 @@ describe('Metamask popup page', async function () {
|
|||
})
|
||||
|
||||
it("Select type 'Contract'", async function () {
|
||||
await delay(1000)
|
||||
const field = await waitUntilShowUp(screens.importAccounts.selectArrow)
|
||||
await field.click()
|
||||
const item = await waitUntilShowUp(screens.importAccounts.itemContract)
|
||||
|
@ -362,12 +373,7 @@ describe('Metamask popup page', async function () {
|
|||
assert.notEqual(field, false, "field 'ABI' isn't displayed")
|
||||
})
|
||||
|
||||
it('icon copy is displayed for ABI ', async function () {
|
||||
const field = await waitUntilShowUp(screens.importAccounts.iconCopy)
|
||||
assert.notEqual(field, false, "icon copy isn't displayed")
|
||||
})
|
||||
|
||||
it("Field 'ABI' is empty if contract isn't verified in current network", async function () {
|
||||
it("Field 'ABI' is empty if contract isn't verified in current network", async function () {
|
||||
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
||||
assert.equal(await field.getText(), '', "field 'ABI' isn't displayed")
|
||||
})
|
||||
|
@ -397,8 +403,19 @@ describe('Metamask popup page', async function () {
|
|||
|
||||
it('ABI is fetched ', async function () {
|
||||
const field = await waitUntilShowUp(screens.importAccounts.contractABI)
|
||||
const abi = await field.getText()
|
||||
assert.equal(abi.length, 4457, "ABI isn't fetched")
|
||||
abiClipboard = await field.getText()
|
||||
assert.equal(abiClipboard.length, 4457, "ABI isn't fetched")
|
||||
})
|
||||
|
||||
it('icon copy is displayed for ABI ', async function () {
|
||||
const field = await waitUntilShowUp(screens.importAccounts.iconCopy)
|
||||
assert.notEqual(field, false, "icon copy isn't displayed")
|
||||
await field.click()
|
||||
})
|
||||
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text, abiClipboard, "address account wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
it("Click button 'Import', main screen opens", async function () {
|
||||
|
@ -407,8 +424,36 @@ describe('Metamask popup page', async function () {
|
|||
const ident = await waitUntilShowUp(screens.main.identicon, 20)
|
||||
assert.notEqual(ident, false, "main screen isn't opened")
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
describe("Check 3dot menu for 'Contract' account", () => {
|
||||
it('open 3dot menu', async function () {
|
||||
const menu = await waitUntilShowUp(menus.dot.menu)
|
||||
await menu.click()
|
||||
await waitUntilShowUp(menus.dot.item)
|
||||
const items = await driver.findElements(menus.dot.item)
|
||||
assert.equal(items.length, 4, '3dot menu has incorrect number of items')
|
||||
})
|
||||
it('Check text of items', async function () {
|
||||
const items = await driver.findElements(menus.dot.item)
|
||||
assert.equal(await items[0].getText(), 'View on block explorer', '1st item has incorrect text')
|
||||
assert.equal(await items[1].getText(), 'Show QR Code', '2st item has incorrect text')
|
||||
assert.equal(await items[2].getText(), 'Copy address to clipboard', '3st item has incorrect text')
|
||||
assert.equal(await items[3].getText(), 'Copy ABI to clipboard', '4st item has incorrect text')
|
||||
})
|
||||
it("Click 'Copy ABI'", async function () {
|
||||
const items = await driver.findElements(menus.dot.item)
|
||||
await items[3].click()
|
||||
const menu = await waitUntilShowUp(menus.dot.item, 20)
|
||||
assert.equal(menu, false, "3dot menu wasn't closed")
|
||||
})
|
||||
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text, abiClipboard, "ABI wasn't copied to clipboard")
|
||||
})
|
||||
})
|
||||
|
||||
describe('Execute Method screen', () => {
|
||||
const notContractAddress = '0x56B2e3C3cFf7f3921Dc2e0F8B8e20d1eEc29216b'
|
||||
describe("Check UI and button's functionality", () => {
|
||||
|
@ -485,6 +530,16 @@ describe('Metamask popup page', async function () {
|
|||
assert.equal(text.toLowerCase(), address.toLowerCase(), 'incorrect value was returned')
|
||||
})
|
||||
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), address.toLowerCase(), "output wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
it("2nd call doesn't throw the error", async function () {
|
||||
const button = await waitUntilShowUp(screens.executeMethod.buttonCall)
|
||||
assert.notEqual(button, false, "button 'Call data' isn't displayed")
|
||||
|
@ -500,7 +555,7 @@ describe('Metamask popup page', async function () {
|
|||
const stringValue = 'POA network'
|
||||
|
||||
it("Select method 'returnString'", async function () {
|
||||
await delay(2000)
|
||||
await delay(3000)
|
||||
const field = await waitUntilShowUp(screens.executeMethod.selectArrow)
|
||||
await field.click()
|
||||
await waitUntilShowUp(screens.executeMethod.items)
|
||||
|
@ -531,6 +586,15 @@ describe('Metamask popup page', async function () {
|
|||
const text = await waitUntilHasValue(fields[1])
|
||||
assert.equal(text, stringValue, 'incorrect value was returned')
|
||||
})
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), stringValue.toLowerCase(), "output wasn't copied to clipboard")
|
||||
})
|
||||
})
|
||||
describe('Check output for data type : BOOLEAN', () => {
|
||||
|
||||
|
@ -588,6 +652,15 @@ describe('Metamask popup page', async function () {
|
|||
const text = await waitUntilHasValue(fields[1])
|
||||
assert.equal(text, 'false', 'incorrect value was returned')
|
||||
})
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), 'false', "output wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
})
|
||||
describe('Check output for data type : BYTES', () => {
|
||||
|
@ -625,6 +698,16 @@ describe('Metamask popup page', async function () {
|
|||
const text = await waitUntilHasValue(fields[1])
|
||||
assert.equal(text, bytesValue, 'incorrect value was returned')
|
||||
})
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), bytesValue.toLowerCase(), "output wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
})
|
||||
describe('Check output for data type : UINT256', () => {
|
||||
|
||||
|
@ -662,6 +745,16 @@ describe('Metamask popup page', async function () {
|
|||
assert.equal(text, uint256Value, 'incorrect value was returned')
|
||||
})
|
||||
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), uint256Value.toLowerCase(), "output wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
})
|
||||
describe('Check output for data type : INT256', () => {
|
||||
|
||||
|
@ -698,6 +791,16 @@ describe('Metamask popup page', async function () {
|
|||
const text = await waitUntilHasValue(fields[1])
|
||||
assert.equal(text, int256Value, 'incorrect value was returned')
|
||||
})
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const icon = await waitUntilShowUp(screens.executeMethod.copy)
|
||||
assert.notEqual(icon, false, 'icon copy isn\'t displayed')
|
||||
await icon.click()
|
||||
})
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.toLowerCase(), int256Value.toLowerCase(), "output wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
})
|
||||
describe('Check executed method', () => {
|
||||
|
||||
|
@ -1114,8 +1217,15 @@ describe('Metamask popup page', async function () {
|
|||
})
|
||||
|
||||
it('icon copy cliboard is displayed and clickable', async function () {
|
||||
const field = await waitUntilShowUp(screens.yourPR.copy)
|
||||
assert.notEqual(field, false, 'icon copy isn\'t displayed')
|
||||
await waitUntilShowUp(screens.yourPR.copy)
|
||||
const icons = await driver.findElements(screens.yourPR.copy)
|
||||
assert.notEqual(icons[1], false, 'icon copy isn\'t displayed')
|
||||
await icons[1].click()
|
||||
})
|
||||
|
||||
it('Check clipboard buffer', async function () {
|
||||
const text = clipboardy.readSync()
|
||||
assert.equal(text.length, 64, "private key wasn't copied to clipboard")
|
||||
})
|
||||
|
||||
it('file loaded if click button \'Save\' ', async function () {
|
||||
|
|
Loading…
Reference in New Issue