From 4b905ffe39bf1918ae64e00377b77f3b1a0b7559 Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 27 Aug 2019 03:37:09 +0000 Subject: [PATCH 01/34] Version v7.1.1 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 13790627d41e..c13dc9bd9c31 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 7.1.1 Tue Aug 27 2019 + ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) - [#7021](https://github.com/MetaMask/metamask-extension/pull/7021): Using translated string for end of flow messaging (#7021) diff --git a/app/manifest.json b/app/manifest.json index fdcbd0c1b4ce..7deaf280bfb1 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.1.0", + "version": "7.1.1", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From 76ef33257ecdd2ae564623b1d25d8e534369a63e Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 27 Aug 2019 00:39:55 -0300 Subject: [PATCH 02/34] Add changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index c13dc9bd9c31..a1bde370992a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Current Develop Branch ## 7.1.1 Tue Aug 27 2019 +- [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation +- [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) From d2799f40b65e2fb55379488e38050d7fae6f8981 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 3 Sep 2019 14:27:20 -0300 Subject: [PATCH 03/34] Allow dismissing privacy mode from popup --- CHANGELOG.md | 1 + ui/app/pages/home/home.component.js | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index a1bde370992a..f53a2fc1f511 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ## 7.1.1 Tue Aug 27 2019 - [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation - [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies +- [#7093](https://github.com/MetaMask/metamask-extension/pull/7093): Allow dismissing privacy mode notification from popup ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) diff --git a/ui/app/pages/home/home.component.js b/ui/app/pages/home/home.component.js index ff7428efff6b..0ee9a526ff9e 100644 --- a/ui/app/pages/home/home.component.js +++ b/ui/app/pages/home/home.component.js @@ -99,7 +99,11 @@ export default class Home extends PureComponent { descriptionText={t('privacyModeDefault')} acceptText={t('learnMore')} onAccept={() => { + unsetMigratedPrivacyMode() window.open('https://medium.com/metamask/42549d4870fa', '_blank', 'noopener') + }} + ignoreText={t('dismiss')} + onIgnore={() => { unsetMigratedPrivacyMode() }} key="home-privacyModeDefault" From f9a10c20918d28f204b6837d4ae5de6a810dd015 Mon Sep 17 00:00:00 2001 From: Dan Miller Date: Tue, 10 Sep 2019 00:35:54 -0230 Subject: [PATCH 04/34] Update changelog with 7.2.0 changes --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f53a2fc1f511..51a0d12f659e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,13 @@ ## Current Develop Branch +## 7.2.0 Mon Sep 8, 2019 +- [#7137](https://github.com/MetaMask/metamask-extension/pull/7137): Fix validation of empty block explorer url's in custom network form +- [#7128](https://github.com/MetaMask/metamask-extension/pull/7128): Support for eth_signTypedData_v4 +- [#7110](https://github.com/MetaMask/metamask-extension/pull/7110): Adds `chaindIdChanged` event to the ethereum provider +- [#7091](https://github.com/MetaMask/metamask-extension/pull/7091): Improve browser performance issues caused by missing locale errors +- [#7085](https://github.com/MetaMask/metamask-extension/pull/7085): Prevent ineffectual speed ups of pending transactions that don't have the lowest nonce + ## 7.1.1 Tue Aug 27 2019 - [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation - [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies From c1994ccf36676907d5b38434440e50fde94095e2 Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 10 Sep 2019 03:07:14 +0000 Subject: [PATCH 05/34] Version v7.2.0 --- app/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/manifest.json b/app/manifest.json index 7deaf280bfb1..f27212f03107 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.1.1", + "version": "7.2.0", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From d10d345e5c0404bffd5979353ffef291cb975a3e Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 16:48:09 +0800 Subject: [PATCH 06/34] build - replace gulp-uglify-es with gulp-terser-js --- gulpfile.js | 4 ++-- package.json | 2 +- yarn.lock | 65 +++++++++++++++++++++++++++++++++------------------- 3 files changed, 45 insertions(+), 26 deletions(-) diff --git a/gulpfile.js b/gulpfile.js index e18622bdec3d..d8c889ed8fb9 100644 --- a/gulpfile.js +++ b/gulpfile.js @@ -17,7 +17,7 @@ const sass = require('gulp-sass') const autoprefixer = require('gulp-autoprefixer') const gulpStylelint = require('gulp-stylelint') const stylefmt = require('gulp-stylefmt') -const uglify = require('gulp-uglify-es').default +const terser = require('gulp-terser-js') const pify = require('pify') const rtlcss = require('gulp-rtlcss') const rename = require('gulp-rename') @@ -585,7 +585,7 @@ function bundleTask (opts) { // Minification if (opts.minifyBuild) { buildStream = buildStream - .pipe(uglify({ + .pipe(terser({ mangle: { reserved: [ 'MetamaskInpageProvider' ], }, diff --git a/package.json b/package.json index 8b7f1edc3a35..1d7d4e16ce73 100644 --- a/package.json +++ b/package.json @@ -105,6 +105,7 @@ "fast-json-patch": "^2.0.4", "fuse.js": "^3.2.0", "gaba": "^1.6.0", + "gulp-terser-js": "^5.0.0", "human-standard-token-abi": "^2.0.0", "jazzicon": "^1.2.0", "json-rpc-engine": "^5.1.3", @@ -225,7 +226,6 @@ "gulp-sourcemaps": "^2.6.0", "gulp-stylefmt": "^1.1.0", "gulp-stylelint": "^7.0.0", - "gulp-uglify-es": "^1.0.4", "gulp-util": "^3.0.7", "gulp-watch": "^5.0.1", "gulp-zip": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index cb82748422e0..ffb6954c145c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5799,7 +5799,7 @@ commander@2.9.0: dependencies: graceful-readlink ">= 1.0.0" -commander@^2.16.0, commander@^2.19.0: +commander@^2.16.0, commander@^2.19.0, commander@^2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -11145,15 +11145,15 @@ gulp-stylelint@^7.0.0: strip-ansi "^4.0.0" through2 "^2.0.3" -gulp-uglify-es@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/gulp-uglify-es/-/gulp-uglify-es-1.0.4.tgz#59ee0d5ea98c1e09c6eaa58c8b018a6ad33f48d4" - integrity sha512-UMRufZsBmQizCYpftutaiVoLswpbzFEfY90EJLU4YlTgculeHnanb794s88TMd5tpCZVC638sAX6JrLVYTP/Wg== +gulp-terser-js@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/gulp-terser-js/-/gulp-terser-js-5.0.0.tgz#b570bb14e9c836aab78d633411073af0df8ca514" + integrity sha512-X5bduLqvRdX1RwUJmdm1J+HZu85gfIKkmDK95J6AAfXd4W/oYANt82gmIMZfhUGEmLm6e6xtKGsfTW6c0BRWnQ== dependencies: - o-stream "^0.2.2" + object-assign "^4.1.1" plugin-error "^1.0.1" - terser "^3.7.5" - vinyl "^2.1.0" + terser "^4.1.4" + through2 "^3.0.1" vinyl-sourcemaps-apply "^0.2.1" gulp-util@^3.0.7, gulp-util@^3.0.8, gulp-util@~3.0.0: @@ -15585,11 +15585,6 @@ nyc@^13.0.0: yargs "11.1.0" yargs-parser "^9.0.2" -o-stream@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/o-stream/-/o-stream-0.2.2.tgz#7fe03af870b8f9537af33b312b381b3034ab410f" - integrity sha512-V3j76KU3g/Gyl8rpdi2z72rn5zguMvTCQgAXfBe3pxEefKqXmOUOD7mvx/mNjykdxGqDVfpSoo8r+WdrkWg/1Q== - oauth-sign@~0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.8.2.tgz#46a6ab7f0aead8deae9ec0565780b7d4efeb9d43" @@ -18044,6 +18039,15 @@ readable-stream@1.1, readable-stream@1.1.x, "readable-stream@>=1.1.13-1 <1.2.0-0 isarray "0.0.1" string_decoder "~0.10.x" +"readable-stream@2 || 3": + version "3.4.0" + resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.4.0.tgz#a51c26754658e0a3c21dbf59163bd45ba6f447fc" + integrity sha512-jItXPLmrSR8jmTRmRWJXCnGJsfy85mB3Wd/uINMXA65yrnFo0cPClFIUWzo2najVNSl+mx7/4W8ttlLWJe99pQ== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + "readable-stream@>=1.0.33-1 <1.1.0-0", readable-stream@~1.0.15, readable-stream@~1.0.17: version "1.0.34" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" @@ -20059,6 +20063,14 @@ source-map-support@^0.4.15: dependencies: source-map "^0.5.6" +source-map-support@~0.5.12: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + source-map-url@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.0.tgz#3e935d7ddd73631b97659956d55128e87b5084a3" @@ -21176,15 +21188,6 @@ terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.4: webpack-sources "^1.3.0" worker-farm "^1.7.0" -terser@^3.7.5: - version "3.17.0" - resolved "https://registry.yarnpkg.com/terser/-/terser-3.17.0.tgz#f88ffbeda0deb5637f9d24b0da66f4e15ab10cb2" - integrity sha512-/FQzzPJmCpjAH9Xvk2paiWrFq+5M6aVOf+2KRbwhByISDX/EujxsK+BAvrhb6H+2rtrLCHK9N01wO014vrIwVQ== - dependencies: - commander "^2.19.0" - source-map "~0.6.1" - source-map-support "~0.5.10" - terser@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/terser/-/terser-4.0.0.tgz#ef356f6f359a963e2cc675517f21c1c382877374" @@ -21194,6 +21197,15 @@ terser@^4.0.0: source-map "~0.6.1" source-map-support "~0.5.10" +terser@^4.1.4: + version "4.3.1" + resolved "https://registry.yarnpkg.com/terser/-/terser-4.3.1.tgz#09820bcb3398299c4b48d9a86aefc65127d0ed65" + integrity sha512-pnzH6dnFEsR2aa2SJaKb1uSCl3QmIsJ8dEkj0Fky+2AwMMcC9doMqLOQIH6wVTEKaVfKVvLSk5qxPBEZT9mywg== + dependencies: + commander "^2.20.0" + source-map "~0.6.1" + source-map-support "~0.5.12" + test-exclude@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-4.2.2.tgz#8b67aa8408f84afc225b06669e25c510f8582820" @@ -21339,6 +21351,13 @@ through2@^2.0.5: readable-stream "~2.3.6" xtend "~4.0.1" +through2@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.1.tgz#39276e713c3302edf9e388dd9c812dd3b825bd5a" + integrity sha512-M96dvTalPT3YbYLaKaCuwu+j06D/8Jfib0o/PxbVt6Amhv3dUAtW6rTV1jPgJSBG83I/e04Y6xkVdVhSRhi0ww== + dependencies: + readable-stream "2 || 3" + through2@~0.2.3: version "0.2.3" resolved "https://registry.yarnpkg.com/through2/-/through2-0.2.3.tgz#eb3284da4ea311b6cc8ace3653748a52abf25a3f" @@ -22091,7 +22110,7 @@ utf8@^3.0.0: resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== -util-deprecate@^1.0.2, util-deprecate@~1.0.1: +util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= From 8524d17d2d803842be18fccb32f402345739bd3b Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 10 Sep 2019 09:44:24 -0300 Subject: [PATCH 07/34] Update the changelog for v7.1.1 (#7145) Due to a mistake in the release scripts, there were a few changes accidentally included in the v7.1.1 release. This updates the changelog to include those changes. --- CHANGELOG.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 51a0d12f659e..bb944a968eb2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,13 @@ - [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation - [#7037](https://github.com/MetaMask/metamask-extension/pull/7037): Remove Babel 6 from internal dependencies - [#7093](https://github.com/MetaMask/metamask-extension/pull/7093): Allow dismissing privacy mode notification from popup +- [#7087](https://github.com/MetaMask/metamask-extension/pull/7087): Add breadcrumb spacing on Contacts page +- [#7081](https://github.com/MetaMask/metamask-extension/pull/7081): Fix confirm token transaction amount display +- [#7088](https://github.com/MetaMask/metamask-extension/pull/7088): Fix BigNumber conversion error +- [#7072](https://github.com/MetaMask/metamask-extension/pull/7072): Right-to-left CSS (using module for conversion) +- [#6878](https://github.com/MetaMask/metamask-extension/pull/6878): Persian translation +- [#7012](https://github.com/MetaMask/metamask-extension/pull/7012): Added missed phrases to RU locale +- [#7099](https://github.com/MetaMask/metamask-extension/pull/7099): Update localization from Transifex Brave ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) From 41305b6616343efb2b211252f74ae057472d7dbe Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Wed, 11 Sep 2019 11:44:36 -0300 Subject: [PATCH 08/34] Publish GitHub release from master branch (#7136) * Publish GitHub release from master branch This ensures that changes made on `develop` since branching for the release are not included. It also ensures that the final release sourcemaps line-up correctly (they were always build on master)`. * Consolidate publish jobs The jobs `job-publish-release` and `create_github_release` both handle different parts of publishing a release. They have been consolidated into a single `job-publish-release` job. * Update release script to expect a merge commit The release script was originally written to be run on `develop`, so it expected the current commit to be a result of `Squash & Merge`. Now that it's run on `master`, it will generally be run against a merge commit. The version is now extracted from the commit message using a regular expression that should work on all version of Bash v3+, and should be tolerant of both merge commits and `Squash & Merge` commits. * Target `master` with release PR `master` is now targeted by the release PR instead of `develop`, as the release has to be created from the master branch. The update to `develop` is handled after the release by a PR from `master` to `develop`, which is created automatically after the release. --- .circleci/config.yml | 26 +++------- .circleci/scripts/release-create-gh-release | 10 ++-- .circleci/scripts/release-create-master-pr | 53 +++++++++++++++++++++ .circleci/scripts/release-create-release-pr | 2 +- 4 files changed, 66 insertions(+), 25 deletions(-) create mode 100755 .circleci/scripts/release-create-master-pr diff --git a/.circleci/config.yml b/.circleci/config.yml index b5eb6fe85221..7373aa3a258e 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -14,13 +14,6 @@ workflows: - prep-build: requires: - prep-deps - - create_github_release: - requires: - - prep-build - filters: - branches: - only: - - develop # - prep-docs: # requires: # - prep-deps @@ -243,6 +236,13 @@ jobs: - run: name: sentry sourcemaps upload command: yarn sentry:publish + - run: + name: Create GitHub release + command: | + .circleci/scripts/release-create-gh-release + - run: + name: Create GitHub Pull Request to sync master with develop + command: .circleci/scripts/release-create-master-pr # - run: # name: github gh-pages docs publish # command: > @@ -321,15 +321,3 @@ jobs: - run: name: Coveralls upload command: yarn test:coveralls-upload - - create_github_release: - docker: - - image: circleci/node:8.15.1-browsers - steps: - - checkout - - attach_workspace: - at: . - - run: - name: Create GitHub release - command: | - .circleci/scripts/release-create-gh-release diff --git a/.circleci/scripts/release-create-gh-release b/.circleci/scripts/release-create-gh-release index f40df49983fd..93303f576ebe 100755 --- a/.circleci/scripts/release-create-gh-release +++ b/.circleci/scripts/release-create-gh-release @@ -28,24 +28,24 @@ function install_github_cli () current_commit_msg=$(git show -s --format='%s' HEAD) -if grep --quiet '^Version v' <<< "$current_commit_msg" +if [[ $current_commit_msg =~ Version[-[:space:]](v[[:digit:]]+.[[:digit:]]+.[[:digit:]]+) ]] then + tag="${BASH_REMATCH[1]}" + install_github_cli printf '%s\n' 'Creating GitHub Release' - read -ra commit_words <<< "$current_commit_msg" - tag="${commit_words[1]}" release_body="$(awk -v version="${tag##v}" -f .circleci/scripts/show-changelog.awk CHANGELOG.md)" pushd builds hub release create \ --attach metamask-chrome-*.zip \ --attach metamask-firefox-*.zip \ - --message "${commit_words[0]} ${commit_words[1]#v}" \ + --message "Version ${tag##v}" \ --message "$release_body" \ --commitish "$CIRCLE_SHA1" \ "$tag" popd else - printf '%s\n' 'Skipping GitHub Release' + printf '%s\n' 'Version not found in commit message; skipping GitHub Release' exit 0 fi diff --git a/.circleci/scripts/release-create-master-pr b/.circleci/scripts/release-create-master-pr new file mode 100755 index 000000000000..74eeed86c84b --- /dev/null +++ b/.circleci/scripts/release-create-master-pr @@ -0,0 +1,53 @@ +#!/usr/bin/env bash + +set -e +set -u +set -o pipefail + +if [[ "${CI:-}" != 'true' ]] +then + printf '%s\n' 'CI environment variable must be set to true' + exit 1 +fi + +if [[ "${CIRCLECI:-}" != 'true' ]] +then + printf '%s\n' 'CIRCLECI environment variable must be set to true' + exit 1 +fi + +if [[ -z "${GITHUB_TOKEN:-}" ]] +then + printf '%s\n' 'GITHUB_TOKEN environment variable must be set' + exit 1 +fi + +function install_github_cli () +{ + printf '%s\n' 'Installing hub CLI' + pushd "$(mktemp -d)" + curl -sSL 'https://github.com/github/hub/releases/download/v2.11.2/hub-linux-amd64-2.11.2.tgz' | tar xz + PATH="$PATH:$PWD/hub-linux-amd64-2.11.2/bin" + popd +} + +base_branch='develop' + +if [[ -n "${CI_PULL_REQUEST:-}" ]] +then + printf '%s\n' 'CI_PULL_REQUEST is set, pull request already exists for this build' + exit 0 +fi + +install_github_cli + +printf '%s\n' "Creating a Pull Request to sync 'master' with 'develop'" + +if ! hub pull-request \ + --reviewer '@MetaMask/extension-release-team' \ + --message "Master => develop" --message 'Merge latest release back into develop' \ + --base "$CIRCLE_PROJECT_USERNAME:$base_branch" \ + --head "$CIRCLE_PROJECT_USERNAME:$CIRCLE_BRANCH"; +then + printf '%s\n' 'Pull Request already exists' +fi diff --git a/.circleci/scripts/release-create-release-pr b/.circleci/scripts/release-create-release-pr index 8a2238ec4467..76f30ece4c19 100755 --- a/.circleci/scripts/release-create-release-pr +++ b/.circleci/scripts/release-create-release-pr @@ -32,7 +32,7 @@ function install_github_cli () } version="${CIRCLE_BRANCH/Version-v/}" -base_branch='develop' +base_branch='master' if [[ -n "${CI_PULL_REQUEST:-}" ]] then From da4119339ba95ad68d4f016b1442df675d13a6eb Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Thu, 12 Sep 2019 16:55:20 -0300 Subject: [PATCH 09/34] Set minimum Firefox version to v56.2 to support Waterfox (#7156) The minimum compatible version of Firefox has been lowered from `60.0` to `56.2`. It was originally set to `60.0` because that is Firefox ESR, which currently the minimum Firefox version with security updates. However Waterfox is based upon Firefox `56.0`, and has backported security fixes from the ESR release. This change in minimum version requires no additional transpiling, and doesn't affect any browser APIs we use. It does introduce one additional warning in the `addon-linter` about Firefox for Android `56` lacking support for browser action popups. However there is no version `56.2` of Firefox for Android, so the minimum version remains `57` in practice (which does support browser action popups). --- app/manifest.json | 2 +- babel.config.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/manifest.json b/app/manifest.json index f27212f03107..12727302918e 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -22,7 +22,7 @@ "applications": { "gecko": { "id": "webextension@metamask.io", - "strict_min_version": "60.0" + "strict_min_version": "56.2" } }, "default_locale": "en", diff --git a/babel.config.js b/babel.config.js index 173ebc41af26..24ed8bd4f353 100644 --- a/babel.config.js +++ b/babel.config.js @@ -8,7 +8,7 @@ module.exports = function (api) { targets: { browsers: [ 'chrome >= 58', - 'firefox >= 60', + 'firefox >= 56.2', ], }, }, From c80deaa1b8ab0c5e4ea7e2a8c2aad827c5efb7d9 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Thu, 12 Sep 2019 17:07:27 -0300 Subject: [PATCH 10/34] Add polyfill for AbortController (#7157) The AbortController is used in both the background and the UI. Support for AbortController was added to Chrome in version 66, which is above our minimum supported version. I did consider increasing the minimum Chrome version to 66, but we have a decent number of users still on Chrome 65 unfortunately. --- app/scripts/background.js | 3 +++ app/scripts/ui.js | 3 +++ package.json | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/app/scripts/background.js b/app/scripts/background.js index db2d9e8bb230..37ccba44e9cf 100644 --- a/app/scripts/background.js +++ b/app/scripts/background.js @@ -5,6 +5,9 @@ // this needs to run before anything else require('./lib/setupFetchDebugging')() +// polyfills +import 'abortcontroller-polyfill/dist/polyfill-patch-fetch' + const urlUtil = require('url') const endOfStream = require('end-of-stream') const pump = require('pump') diff --git a/app/scripts/ui.js b/app/scripts/ui.js index a99da37a0b13..0fe92d47c93c 100644 --- a/app/scripts/ui.js +++ b/app/scripts/ui.js @@ -1,3 +1,6 @@ +// polyfills +import 'abortcontroller-polyfill/dist/polyfill-patch-fetch' + const PortStream = require('extension-port-stream') const { getEnvironmentType } = require('./lib/util') const { ENVIRONMENT_TYPE_NOTIFICATION, ENVIRONMENT_TYPE_FULLSCREEN, ENVIRONMENT_TYPE_POPUP } = require('./lib/enums') diff --git a/package.json b/package.json index 1d7d4e16ce73..01f38e241ee3 100644 --- a/package.json +++ b/package.json @@ -53,6 +53,7 @@ "@sentry/browser": "^4.1.1", "@zxing/library": "^0.8.0", "abi-decoder": "^1.2.0", + "abortcontroller-polyfill": "^1.3.0", "asmcrypto.js": "^2.3.2", "await-semaphore": "^0.1.1", "bignumber.js": "^4.1.0", @@ -181,7 +182,6 @@ "@storybook/addon-info": "^5.1.1", "@storybook/addon-knobs": "^3.4.2", "@storybook/react": "^5.1.1", - "abortcontroller-polyfill": "^1.3.0", "addons-linter": "^1.10.0", "babel-eslint": "^10.0.2", "babelify": "^10.0.0", From 94318d8b28636b9652898559363a021497a73adc Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 13 Sep 2019 11:32:55 -0300 Subject: [PATCH 11/34] Replace `undefined` selectedAddress with `null` (#7161) * Replace `undefined` selectedAddress with `null` The `runtime.Port.postMessage` API will drop keys with a value of `undefined` on Chrome, but not on Firefox. This was a problem for the `publicConfig` stream, which passed the key `selectedAddress` with the value of `undefined` to communicate to dapps that the user had logged out. Instead a `null` is now passed for `selectedAddress` upon logout, which is correctly sent by the `runtime.Port.postMessage` API on both Chrome and Firefox. closes #7101 closes #7109 * Update `metamask-inpage-provider` to v3.0.0 The v3.0.0 update includes a change to the `accountsChanged` event. The event will now emit an empty array instead of an array with `undefined` or `null`. The previous behavior was to emit `[undefined]`. The previous commit would have changed that to `[null]` anyway, so we figured if we're going to make a public-facing change to the event anyway we should change it to be correct. `[undefined]` was never intended, and it technically violates EIP-1193, which states that the `accountsChanged` event should emit an array of strings. --- app/scripts/metamask-controller.js | 2 +- package.json | 2 +- yarn.lock | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/scripts/metamask-controller.js b/app/scripts/metamask-controller.js index 37c3340f4894..02f76cd9da27 100644 --- a/app/scripts/metamask-controller.js +++ b/app/scripts/metamask-controller.js @@ -367,7 +367,7 @@ module.exports = class MetamaskController extends EventEmitter { const result = { isUnlocked, isEnabled, - selectedAddress: isReady ? selectedAddress : undefined, + selectedAddress: isReady ? selectedAddress : null, networkVersion: network, onboardingcomplete: completedOnboarding, chainId: selectChainId({ network, provider }), diff --git a/package.json b/package.json index 01f38e241ee3..5e46a7a4d806 100644 --- a/package.json +++ b/package.json @@ -116,7 +116,7 @@ "lodash.shuffle": "^4.2.0", "loglevel": "^1.4.1", "luxon": "^1.8.2", - "metamask-inpage-provider": "^2.1.0", + "metamask-inpage-provider": "^3.0.0", "metamask-logo": "^2.1.4", "mkdirp": "^0.5.1", "multihashes": "^0.4.12", diff --git a/yarn.lock b/yarn.lock index ffb6954c145c..9ec18d62da89 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14593,10 +14593,10 @@ mersenne-twister@^1.0.1: resolved "https://registry.yarnpkg.com/mersenne-twister/-/mersenne-twister-1.1.0.tgz#f916618ee43d7179efcf641bec4531eb9670978a" integrity sha1-+RZhjuQ9cXnvz2Qb7EUx65Zwl4o= -metamask-inpage-provider@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/metamask-inpage-provider/-/metamask-inpage-provider-2.1.0.tgz#69e23d63893a5e2bb7a09a6ec96c6f1500588673" - integrity sha512-1+m8Mp8/RM9JMTvDHAMt6a7aqwigRMLvU/VKKmHQFi7AZaagG8Fe4wBe8HdAMysRF3NHV/qOMw0UwP3w9m1Vaw== +metamask-inpage-provider@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/metamask-inpage-provider/-/metamask-inpage-provider-3.0.0.tgz#3b9d4bae6f67962b6a7b1a9ee1efaf424f67b6f4" + integrity sha512-44bBCbQwcFF/XGaXSweCWHJaslKhJEFgvcHdxZf9Fm1QfK7VN4U3iAI0BVOLAIkRg0xV3w7xYGLpx2cM1BU7Qw== dependencies: json-rpc-engine "^5.1.3" json-rpc-middleware-stream "^2.1.1" From 009bf802f76fcbfc5a01aeda6273157884a1b59d Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Mon, 16 Sep 2019 17:05:21 -0230 Subject: [PATCH 12/34] Fix recipient field of approve screen (#7171) --- test/e2e/contract-test/contract.js | 4 ++-- test/e2e/metamask-ui.spec.js | 14 +++++++++++++- ui/app/helpers/utils/token-util.js | 2 +- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/test/e2e/contract-test/contract.js b/test/e2e/contract-test/contract.js index 38db041c8ccf..971523de22a8 100644 --- a/test/e2e/contract-test/contract.js +++ b/test/e2e/contract-test/contract.js @@ -129,10 +129,10 @@ web3.currentProvider.enable().then(() => { }) approveTokens.addEventListener('click', function () { - contract.approve('0x2f318C334780961FB129D2a6c30D0763d9a5C970', '70000', { + contract.approve('0x9bc5baF874d2DA8D216aE9f137804184EE5AfEF4', '70000', { from: web3.eth.accounts[0], to: contract.address, - data: '0x095ea7b30000000000000000000000002f318C334780961FB129D2a6c30D0763d9a5C9700000000000000000000000000000000000000000000000000000000000000005', + data: '0x095ea7b30000000000000000000000009bc5baF874d2DA8D216aE9f137804184EE5AfEF40000000000000000000000000000000000000000000000000000000000000005', gas: 60000, gasPrice: '20000000000', }, function (result) { diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 90f3209040ba..fadabe7c8943 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -1276,7 +1276,7 @@ describe('MetaMask', function () { const confirmDataDiv = await findElement(driver, By.css('.confirm-page-container-content__data-box')) const confirmDataText = await confirmDataDiv.getText() - assert(confirmDataText.match(/0x095ea7b30000000000000000000000002f318c334780961fb129d2a6c30d0763d9a5c97/)) + assert(confirmDataText.match(/0x095ea7b30000000000000000000000009bc5baf874d2da8d216ae9f137804184ee5afef4/)) const detailsTab = await findElement(driver, By.xpath(`//li[contains(text(), 'Details')]`)) detailsTab.click() @@ -1336,6 +1336,12 @@ describe('MetaMask', function () { assert.equal(await gasFeeInputs[0].getText(), '0.0006') }) + it('shows the correct recipient', async function () { + const senderToRecipientDivs = await findElements(driver, By.css('.sender-to-recipient__name')) + const recipientDiv = senderToRecipientDivs[1] + assert.equal(await recipientDiv.getText(), '0x9bc5...fEF4') + }) + it('submits the transaction', async function () { const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`)) await confirmButton.click() @@ -1450,6 +1456,12 @@ describe('MetaMask', function () { await delay(regularDelayMs) }) + it('shows the correct recipient', async function () { + const senderToRecipientDivs = await findElements(driver, By.css('.sender-to-recipient__name')) + const recipientDiv = senderToRecipientDivs[1] + assert.equal(await recipientDiv.getText(), 'Account 2') + }) + it('submits the transaction', async function () { await delay(regularDelayMs) const confirmButton = await findElement(driver, By.xpath(`//button[contains(text(), 'Confirm')]`)) diff --git a/ui/app/helpers/utils/token-util.js b/ui/app/helpers/utils/token-util.js index 3920045acde3..831d851316aa 100644 --- a/ui/app/helpers/utils/token-util.js +++ b/ui/app/helpers/utils/token-util.js @@ -135,5 +135,5 @@ export function getTokenValue (tokenParams = []) { export function getTokenToAddress (tokenParams = []) { const toAddressData = tokenParams.find(param => param.name === '_to') - return toAddressData && toAddressData.value + return toAddressData ? toAddressData.value : tokenParams[0].value } From eb478078a79469e4bb6075e4d41888a967e6be90 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Fri, 13 Sep 2019 11:54:53 -0300 Subject: [PATCH 13/34] Update changelog with additional bug fixes --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb944a968eb2..2012ad7bc913 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,10 @@ - [#7110](https://github.com/MetaMask/metamask-extension/pull/7110): Adds `chaindIdChanged` event to the ethereum provider - [#7091](https://github.com/MetaMask/metamask-extension/pull/7091): Improve browser performance issues caused by missing locale errors - [#7085](https://github.com/MetaMask/metamask-extension/pull/7085): Prevent ineffectual speed ups of pending transactions that don't have the lowest nonce +- [#7156](https://github.com/MetaMask/metamask-extension/pull/7156): Set minimum Firefox version to v56.2 to support Waterfox +- [#7157](https://github.com/MetaMask/metamask-extension/pull/7157): Add polyfill for AbortController +- [#7161](https://github.com/MetaMask/metamask-extension/pull/7161): Replace `undefined` selectedAddress with `null` +- [#7171](https://github.com/MetaMask/metamask-extension/pull/7171): Fix recipient field of approve screen ## 7.1.1 Tue Aug 27 2019 - [#7059](https://github.com/MetaMask/metamask-extension/pull/7059): Remove blockscale, replace with ethgasstation From 9ca0c6fcddec37ca47b6956700b05b3526315f1a Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 17 Sep 2019 19:53:30 +0000 Subject: [PATCH 14/34] Version v7.2.1 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2012ad7bc913..75522c649c74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 7.2.1 Tue Sep 17 2019 + ## 7.2.0 Mon Sep 8, 2019 - [#7137](https://github.com/MetaMask/metamask-extension/pull/7137): Fix validation of empty block explorer url's in custom network form - [#7128](https://github.com/MetaMask/metamask-extension/pull/7128): Support for eth_signTypedData_v4 diff --git a/app/manifest.json b/app/manifest.json index 12727302918e..6baedd0b9f4e 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.2.0", + "version": "7.2.1", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From 30e0a85f1def69477d992757b52ba192dd19dd02 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 17 Sep 2019 17:14:47 -0300 Subject: [PATCH 15/34] Add `appName` message to each locale The Chrome Web store was rejecting the build because `appName` was missing from some locales. --- app/_locales/am/messages.json | 4 ++++ app/_locales/ar/messages.json | 4 ++++ app/_locales/bg/messages.json | 4 ++++ app/_locales/bn/messages.json | 4 ++++ app/_locales/ca/messages.json | 4 ++++ app/_locales/cs/messages.json | 4 ++++ app/_locales/da/messages.json | 4 ++++ app/_locales/de/messages.json | 4 ++++ app/_locales/el/messages.json | 4 ++++ app/_locales/es/messages.json | 4 ++++ app/_locales/es_419/messages.json | 4 ++++ app/_locales/et/messages.json | 4 ++++ app/_locales/fa/messages.json | 4 ++++ app/_locales/fi/messages.json | 4 ++++ app/_locales/fil/messages.json | 4 ++++ app/_locales/fr/messages.json | 4 ++++ app/_locales/gu/messages.json | 4 ++++ app/_locales/he/messages.json | 4 ++++ app/_locales/hi/messages.json | 4 ++++ app/_locales/hr/messages.json | 4 ++++ app/_locales/ht/messages.json | 4 ++++ app/_locales/hu/messages.json | 4 ++++ app/_locales/id/messages.json | 4 ++++ app/_locales/it/messages.json | 4 ++++ app/_locales/ja/messages.json | 4 ++++ app/_locales/kn/messages.json | 4 ++++ app/_locales/lv/messages.json | 4 ++++ app/_locales/ml/messages.json | 4 ++++ app/_locales/mr/messages.json | 4 ++++ app/_locales/ms/messages.json | 4 ++++ app/_locales/nl/messages.json | 4 ++++ app/_locales/no/messages.json | 4 ++++ app/_locales/ph/messages.json | 4 ++++ app/_locales/pl/messages.json | 4 ++++ app/_locales/pt/messages.json | 4 ++++ app/_locales/pt_BR/messages.json | 4 ++++ app/_locales/pt_PT/messages.json | 4 ++++ app/_locales/ro/messages.json | 4 ++++ app/_locales/ru/messages.json | 4 ++++ app/_locales/sk/messages.json | 4 ++++ app/_locales/sl/messages.json | 4 ++++ app/_locales/sr/messages.json | 4 ++++ app/_locales/sv/messages.json | 4 ++++ app/_locales/sw/messages.json | 4 ++++ app/_locales/te/messages.json | 4 ++++ app/_locales/th/messages.json | 4 ++++ app/_locales/tr/messages.json | 4 ++++ app/_locales/uk/messages.json | 4 ++++ app/_locales/vi/messages.json | 4 ++++ app/_locales/zh_CN/messages.json | 4 ++++ app/_locales/zh_TW/messages.json | 4 ++++ 51 files changed, 204 insertions(+) diff --git a/app/_locales/am/messages.json b/app/_locales/am/messages.json index c81088f623c2..e0867243c030 100644 --- a/app/_locales/am/messages.json +++ b/app/_locales/am/messages.json @@ -144,6 +144,10 @@ "message": "በማሰሺያዎ ውስጥ የ Ethereum ቋት", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "ፍቀድ" }, diff --git a/app/_locales/ar/messages.json b/app/_locales/ar/messages.json index b3b126aa0e70..69c3bb9e26b2 100644 --- a/app/_locales/ar/messages.json +++ b/app/_locales/ar/messages.json @@ -144,6 +144,10 @@ "message": "محفظة إيثيريوم في متصفحك", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "موافق" }, diff --git a/app/_locales/bg/messages.json b/app/_locales/bg/messages.json index ab35d138884e..44c17f366716 100644 --- a/app/_locales/bg/messages.json +++ b/app/_locales/bg/messages.json @@ -144,6 +144,10 @@ "message": "\nПортфейл за етереум в браузъра Ви", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Одобри" }, diff --git a/app/_locales/bn/messages.json b/app/_locales/bn/messages.json index 02942ad8fb20..a1480dea6d0e 100644 --- a/app/_locales/bn/messages.json +++ b/app/_locales/bn/messages.json @@ -144,6 +144,10 @@ "message": "আপনার ব্রাউজারে একটি Ethereum ওয়ালেট", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "অনুমোদন করুন" }, diff --git a/app/_locales/ca/messages.json b/app/_locales/ca/messages.json index 300a41d33816..6e5b4e0bf418 100644 --- a/app/_locales/ca/messages.json +++ b/app/_locales/ca/messages.json @@ -144,6 +144,10 @@ "message": "Un Moneder Ethereum al teu Navegador", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprovar" }, diff --git a/app/_locales/cs/messages.json b/app/_locales/cs/messages.json index e02768cf8a4b..936d898908af 100644 --- a/app/_locales/cs/messages.json +++ b/app/_locales/cs/messages.json @@ -57,6 +57,10 @@ "message": "Ethereum rozšíření prohlížeče", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Schválit" }, diff --git a/app/_locales/da/messages.json b/app/_locales/da/messages.json index 24e42e4fbd09..c34ba78edaf7 100644 --- a/app/_locales/da/messages.json +++ b/app/_locales/da/messages.json @@ -144,6 +144,10 @@ "message": "En Ethereum-pung i din browser", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Godkend" }, diff --git a/app/_locales/de/messages.json b/app/_locales/de/messages.json index b44b23c71936..b3d38c1d1e1a 100644 --- a/app/_locales/de/messages.json +++ b/app/_locales/de/messages.json @@ -141,6 +141,10 @@ "message": "Ethereum Browsererweiterung", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Genehmigen" }, diff --git a/app/_locales/el/messages.json b/app/_locales/el/messages.json index 410ef7f226b5..9a66f7cff767 100644 --- a/app/_locales/el/messages.json +++ b/app/_locales/el/messages.json @@ -144,6 +144,10 @@ "message": "Ένα Πορτοφόλι Ethereum στο Πρόγραμμα Περιήγησής σας", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Έγκριση" }, diff --git a/app/_locales/es/messages.json b/app/_locales/es/messages.json index 4b8dfaf47627..7f81ad13f345 100644 --- a/app/_locales/es/messages.json +++ b/app/_locales/es/messages.json @@ -141,6 +141,10 @@ "message": "Extensión del navegador para Ethereum", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprobar" }, diff --git a/app/_locales/es_419/messages.json b/app/_locales/es_419/messages.json index 3a69d6903804..3496418d378b 100644 --- a/app/_locales/es_419/messages.json +++ b/app/_locales/es_419/messages.json @@ -144,6 +144,10 @@ "message": "Una billetera de Ethereum en tu navegador", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprobar" }, diff --git a/app/_locales/et/messages.json b/app/_locales/et/messages.json index ab41be0265e3..88e892dca394 100644 --- a/app/_locales/et/messages.json +++ b/app/_locales/et/messages.json @@ -144,6 +144,10 @@ "message": "Ethereumi rahakott teie lehitsejas", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Kinnita" }, diff --git a/app/_locales/fa/messages.json b/app/_locales/fa/messages.json index d4ef3a6e884f..8e9cadf74b91 100644 --- a/app/_locales/fa/messages.json +++ b/app/_locales/fa/messages.json @@ -144,6 +144,10 @@ "message": "یک کیف ایتریوم در براوزر شما", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "تصدیق" }, diff --git a/app/_locales/fi/messages.json b/app/_locales/fi/messages.json index 2156a46de4b9..3dbf3793d271 100644 --- a/app/_locales/fi/messages.json +++ b/app/_locales/fi/messages.json @@ -144,6 +144,10 @@ "message": "Ethereum-kukkaro selaimessasi", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Hyväksy" }, diff --git a/app/_locales/fil/messages.json b/app/_locales/fil/messages.json index af6a0469efe2..d8bcef5c7e14 100644 --- a/app/_locales/fil/messages.json +++ b/app/_locales/fil/messages.json @@ -132,6 +132,10 @@ "message": "Isang Ethereum Wallet sa iyong Browser", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprubahan" }, diff --git a/app/_locales/fr/messages.json b/app/_locales/fr/messages.json index 544b9ea6411f..e45c6a662441 100644 --- a/app/_locales/fr/messages.json +++ b/app/_locales/fr/messages.json @@ -144,6 +144,10 @@ "message": "Extension Ethereum pour navigateur", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Approuver" }, diff --git a/app/_locales/gu/messages.json b/app/_locales/gu/messages.json index f91c7b3f443f..eb5cbba23bf7 100644 --- a/app/_locales/gu/messages.json +++ b/app/_locales/gu/messages.json @@ -1,4 +1,8 @@ { + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "નકારો" }, diff --git a/app/_locales/he/messages.json b/app/_locales/he/messages.json index 746107236c0c..090e9a637de7 100644 --- a/app/_locales/he/messages.json +++ b/app/_locales/he/messages.json @@ -144,6 +144,10 @@ "message": "ארנק אתריום בדפדפן שלך", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "אישור" }, diff --git a/app/_locales/hi/messages.json b/app/_locales/hi/messages.json index 0af4eb346da2..2a0bb999ac6c 100644 --- a/app/_locales/hi/messages.json +++ b/app/_locales/hi/messages.json @@ -144,6 +144,10 @@ "message": "आपके ब्राउज़र में एक Ethereum वॉलेट", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "स्वीकृत " }, diff --git a/app/_locales/hr/messages.json b/app/_locales/hr/messages.json index 4c3ddc0b4645..4cda80a5d450 100644 --- a/app/_locales/hr/messages.json +++ b/app/_locales/hr/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Očisti podatke o privatnosti" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Odbaci" }, diff --git a/app/_locales/ht/messages.json b/app/_locales/ht/messages.json index f9ba12b8b74e..8d9111391716 100644 --- a/app/_locales/ht/messages.json +++ b/app/_locales/ht/messages.json @@ -72,6 +72,10 @@ "message": "Ekstansyon Navigatè Ethereum", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Apwouve" }, diff --git a/app/_locales/hu/messages.json b/app/_locales/hu/messages.json index b4aae5ec86fa..d2f4e40f749d 100644 --- a/app/_locales/hu/messages.json +++ b/app/_locales/hu/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Adatvédelmi adatok törlése" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Elutasítás" }, diff --git a/app/_locales/id/messages.json b/app/_locales/id/messages.json index 8c89a483f3c2..93954929ff2e 100644 --- a/app/_locales/id/messages.json +++ b/app/_locales/id/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Bersihkan Data Privasi" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Tolak" }, diff --git a/app/_locales/it/messages.json b/app/_locales/it/messages.json index fe63e2e59a8a..685a1c2dc87c 100644 --- a/app/_locales/it/messages.json +++ b/app/_locales/it/messages.json @@ -141,6 +141,10 @@ "message": "Ethereum Browser Extension", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Approva" }, diff --git a/app/_locales/ja/messages.json b/app/_locales/ja/messages.json index fe3d12ced82b..6cc5c6b0819c 100644 --- a/app/_locales/ja/messages.json +++ b/app/_locales/ja/messages.json @@ -135,6 +135,10 @@ "message": "Ethereumのブラウザ・エクステンション", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "承認する" }, diff --git a/app/_locales/kn/messages.json b/app/_locales/kn/messages.json index a18f9a628650..fee5f7aec2be 100644 --- a/app/_locales/kn/messages.json +++ b/app/_locales/kn/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "ಗೌಪ್ಯತೆ ಡೇಟಾವನ್ನು ತೆರವುಗೊಳಿಸಿ" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "ತಿರಸ್ಕರಿಸಿ" }, diff --git a/app/_locales/lv/messages.json b/app/_locales/lv/messages.json index c3de010642d1..c041c0bbcf73 100644 --- a/app/_locales/lv/messages.json +++ b/app/_locales/lv/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Notīrīt konfidencialitātes datus" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Noraidīt" }, diff --git a/app/_locales/ml/messages.json b/app/_locales/ml/messages.json index 21c46808a4e6..1962ad67241d 100644 --- a/app/_locales/ml/messages.json +++ b/app/_locales/ml/messages.json @@ -1,4 +1,8 @@ { + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "നിരസിക്കുക" }, diff --git a/app/_locales/mr/messages.json b/app/_locales/mr/messages.json index 194151fc5a6d..f60f7ce1609f 100644 --- a/app/_locales/mr/messages.json +++ b/app/_locales/mr/messages.json @@ -1,4 +1,8 @@ { + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "नाकारा" }, diff --git a/app/_locales/ms/messages.json b/app/_locales/ms/messages.json index b6737648157d..fb447ab81311 100644 --- a/app/_locales/ms/messages.json +++ b/app/_locales/ms/messages.json @@ -144,6 +144,10 @@ "message": "Dompat Ethereum di Pelayar anda", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Luluskan" }, diff --git a/app/_locales/nl/messages.json b/app/_locales/nl/messages.json index 2e2ac395e21b..c9cc8a766b34 100644 --- a/app/_locales/nl/messages.json +++ b/app/_locales/nl/messages.json @@ -51,6 +51,10 @@ "message": "Ethereum Browser-extensie", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Goedkeuren" }, diff --git a/app/_locales/no/messages.json b/app/_locales/no/messages.json index 093d7f3c9761..36507e549bc0 100644 --- a/app/_locales/no/messages.json +++ b/app/_locales/no/messages.json @@ -144,6 +144,10 @@ "message": "En Ethereum-lommebok i nettleseren din", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Godkjenn" }, diff --git a/app/_locales/ph/messages.json b/app/_locales/ph/messages.json index 90d66e85cdc7..79bd802da31d 100644 --- a/app/_locales/ph/messages.json +++ b/app/_locales/ph/messages.json @@ -17,6 +17,10 @@ "clearApprovalData": { "message": "Tanggalin ang data ng pag-apruba" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprubahan" }, diff --git a/app/_locales/pl/messages.json b/app/_locales/pl/messages.json index ce63a15016eb..7a2dc0132bb7 100644 --- a/app/_locales/pl/messages.json +++ b/app/_locales/pl/messages.json @@ -144,6 +144,10 @@ "message": "Wtyczka przeglądarki do Ethereum", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Zatwierdź" }, diff --git a/app/_locales/pt/messages.json b/app/_locales/pt/messages.json index a0d016b25c82..f6dd551d10a9 100644 --- a/app/_locales/pt/messages.json +++ b/app/_locales/pt/messages.json @@ -57,6 +57,10 @@ "message": "Extensão para o browser de Ethereum", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprovar" }, diff --git a/app/_locales/pt_BR/messages.json b/app/_locales/pt_BR/messages.json index bbcb48eda551..ffee0bc54c15 100644 --- a/app/_locales/pt_BR/messages.json +++ b/app/_locales/pt_BR/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Limpar Dados de Privacidade" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Rejeitar" }, diff --git a/app/_locales/pt_PT/messages.json b/app/_locales/pt_PT/messages.json index 1f282055db63..9fe59448aad4 100644 --- a/app/_locales/pt_PT/messages.json +++ b/app/_locales/pt_PT/messages.json @@ -1,4 +1,8 @@ { + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Rejeitar" }, diff --git a/app/_locales/ro/messages.json b/app/_locales/ro/messages.json index fc5b01e143dd..e2c10cceb53b 100644 --- a/app/_locales/ro/messages.json +++ b/app/_locales/ro/messages.json @@ -141,6 +141,10 @@ "message": "Un portofel Ethereum în browserul dvs.", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Aprobați" }, diff --git a/app/_locales/ru/messages.json b/app/_locales/ru/messages.json index 0227abcc3d37..dd459712f8a5 100644 --- a/app/_locales/ru/messages.json +++ b/app/_locales/ru/messages.json @@ -57,6 +57,10 @@ "message": "Расширение браузера для Ethereum", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Одобрить" }, diff --git a/app/_locales/sk/messages.json b/app/_locales/sk/messages.json index a086350da23a..bb12630339cc 100644 --- a/app/_locales/sk/messages.json +++ b/app/_locales/sk/messages.json @@ -144,6 +144,10 @@ "message": "Ethereum rozšíření prohlížeče", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Schválit" }, diff --git a/app/_locales/sl/messages.json b/app/_locales/sl/messages.json index 9fdf0a8973bc..c89689a18acd 100644 --- a/app/_locales/sl/messages.json +++ b/app/_locales/sl/messages.json @@ -144,6 +144,10 @@ "message": "Denarnica za Ethereum v brskalniku", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Potrdi" }, diff --git a/app/_locales/sr/messages.json b/app/_locales/sr/messages.json index ad9eefb4bd2e..68d416633265 100644 --- a/app/_locales/sr/messages.json +++ b/app/_locales/sr/messages.json @@ -144,6 +144,10 @@ "message": "Ethereum novčanik u vašem pregledaču", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Odobrite" }, diff --git a/app/_locales/sv/messages.json b/app/_locales/sv/messages.json index 441bfe368835..504b78006c70 100644 --- a/app/_locales/sv/messages.json +++ b/app/_locales/sv/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Rensa personlig data" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Avvisa" }, diff --git a/app/_locales/sw/messages.json b/app/_locales/sw/messages.json index dad2436ba340..75547c897a53 100644 --- a/app/_locales/sw/messages.json +++ b/app/_locales/sw/messages.json @@ -26,6 +26,10 @@ "clearApprovalData": { "message": "Futa Data za Faragha" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "Kataa" }, diff --git a/app/_locales/te/messages.json b/app/_locales/te/messages.json index 48198ae599fe..1f8acda66ff3 100644 --- a/app/_locales/te/messages.json +++ b/app/_locales/te/messages.json @@ -1,4 +1,8 @@ { + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "reject": { "message": "తిరస్కరించు" }, diff --git a/app/_locales/th/messages.json b/app/_locales/th/messages.json index 7677bb6aef11..827d7bde06b8 100644 --- a/app/_locales/th/messages.json +++ b/app/_locales/th/messages.json @@ -63,6 +63,10 @@ "message": "ส่วนขยายเบราว์เซอร์สำหรับอีเธอเรียม", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "อนุมัติ" }, diff --git a/app/_locales/tr/messages.json b/app/_locales/tr/messages.json index 7dd6c710a563..20c6b1c7431b 100644 --- a/app/_locales/tr/messages.json +++ b/app/_locales/tr/messages.json @@ -57,6 +57,10 @@ "message": "Ethereum Tarayıcı Uzantısı", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Onaylamak" }, diff --git a/app/_locales/uk/messages.json b/app/_locales/uk/messages.json index c1532301ba22..7aef59de2d9e 100644 --- a/app/_locales/uk/messages.json +++ b/app/_locales/uk/messages.json @@ -144,6 +144,10 @@ "message": "Гаманець Ethereum у вашому браузері", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Затвердити" }, diff --git a/app/_locales/vi/messages.json b/app/_locales/vi/messages.json index b7b6d798817a..abeaa8ac1dff 100644 --- a/app/_locales/vi/messages.json +++ b/app/_locales/vi/messages.json @@ -51,6 +51,10 @@ "message": "Tính năng Ethereum cho trình duyệt", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "Phê duyệt" }, diff --git a/app/_locales/zh_CN/messages.json b/app/_locales/zh_CN/messages.json index 62ebcdbc003d..22656118811a 100644 --- a/app/_locales/zh_CN/messages.json +++ b/app/_locales/zh_CN/messages.json @@ -144,6 +144,10 @@ "message": "以太坊浏览器插件", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "批准" }, diff --git a/app/_locales/zh_TW/messages.json b/app/_locales/zh_TW/messages.json index 76d25a321dd0..40283e1583d3 100644 --- a/app/_locales/zh_TW/messages.json +++ b/app/_locales/zh_TW/messages.json @@ -144,6 +144,10 @@ "message": "乙太坊瀏覽器擴充插件", "description": "The description of the application" }, + "appName": { + "message": "MetaMask", + "description": "The name of the application" + }, "approve": { "message": "批准" }, From 323a0dc73cfb0e6e999c5f82cce2e7842ced6105 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 17 Sep 2019 17:51:31 -0300 Subject: [PATCH 16/34] Update changelog for v7.2.1, v7.2.0, and v7.1.1 A new entry has been added for v7.2.1, and the Brave locales have been moved from v7.1.1 to v7.2.0. That feature was mistakenly included under the v7.1.1 heading - it was in fact released in v7.2.0 --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75522c649c74..09711479a320 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,8 +3,10 @@ ## Current Develop Branch ## 7.2.1 Tue Sep 17 2019 +- [#7180](https://github.com/MetaMask/metamask-extension/pull/7180): Add `appName` message to each locale ## 7.2.0 Mon Sep 8, 2019 +- [#7099](https://github.com/MetaMask/metamask-extension/pull/7099): Update localization from Transifex Brave - [#7137](https://github.com/MetaMask/metamask-extension/pull/7137): Fix validation of empty block explorer url's in custom network form - [#7128](https://github.com/MetaMask/metamask-extension/pull/7128): Support for eth_signTypedData_v4 - [#7110](https://github.com/MetaMask/metamask-extension/pull/7110): Adds `chaindIdChanged` event to the ethereum provider @@ -25,7 +27,6 @@ - [#7072](https://github.com/MetaMask/metamask-extension/pull/7072): Right-to-left CSS (using module for conversion) - [#6878](https://github.com/MetaMask/metamask-extension/pull/6878): Persian translation - [#7012](https://github.com/MetaMask/metamask-extension/pull/7012): Added missed phrases to RU locale -- [#7099](https://github.com/MetaMask/metamask-extension/pull/7099): Update localization from Transifex Brave ## 7.1.0 Fri Aug 16 2019 - [#7035](https://github.com/MetaMask/metamask-extension/pull/7035): Filter non-ERC-20 assets during mobile sync (#7035) From 2fc6c50de2a25a24d31dacee9f5e080e9d44723f Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Tue, 24 Sep 2019 15:50:32 +0000 Subject: [PATCH 17/34] Version v7.2.2 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09711479a320..e835ad77c638 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 7.2.2 Tue Sep 24 2019 + ## 7.2.1 Tue Sep 17 2019 - [#7180](https://github.com/MetaMask/metamask-extension/pull/7180): Add `appName` message to each locale diff --git a/app/manifest.json b/app/manifest.json index 6baedd0b9f4e..7a412691b09b 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.2.1", + "version": "7.2.2", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From 288553f300fcab073e0b3201b813db482a050ceb Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 24 Sep 2019 12:49:24 -0300 Subject: [PATCH 18/34] Update minimum Firefox verison to 56.0 (#7213) The previous minimum version of 56.2 resulted in the build failing validation when it was uploaded to the Firefox web store, because that version doesn't exist. It was set to that version because a Firefox fork uses it. Instead the minimum version has been reduced so that we pass validation. Unfortunately this will mean that a single incompatible version of Firefox Mobile will allow the extension to be installed (in theory), but there was no other way to avoid cutting off support to WaterFox (the Firefox fork). The warning about this from the addons linter can be ignored for now. --- app/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/manifest.json b/app/manifest.json index 7a412691b09b..3740a957a61b 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -22,7 +22,7 @@ "applications": { "gecko": { "id": "webextension@metamask.io", - "strict_min_version": "56.2" + "strict_min_version": "56.0" } }, "default_locale": "en", From 1375a86eaf007ab288348fff6aefffa94932ad79 Mon Sep 17 00:00:00 2001 From: Mark Stacey Date: Tue, 24 Sep 2019 09:57:51 -0600 Subject: [PATCH 19/34] Add v7.2.2 to changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e835ad77c638..5c3f2ca74c10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,7 @@ ## Current Develop Branch ## 7.2.2 Tue Sep 24 2019 +- [#7213](https://github.com/MetaMask/metamask-extension/pull/7213): Update minimum Firefox verison to 56.0 ## 7.2.1 Tue Sep 17 2019 - [#7180](https://github.com/MetaMask/metamask-extension/pull/7180): Add `appName` message to each locale From f94c3b96ed1ac5d0988569423b5036f065ce178a Mon Sep 17 00:00:00 2001 From: MetaMask Bot Date: Fri, 4 Oct 2019 18:54:03 +0000 Subject: [PATCH 20/34] Version v7.2.3 --- CHANGELOG.md | 2 ++ app/manifest.json | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5c3f2ca74c10..6b5a7d375987 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Current Develop Branch +## 7.2.3 Fri Oct 04 2019 + ## 7.2.2 Tue Sep 24 2019 - [#7213](https://github.com/MetaMask/metamask-extension/pull/7213): Update minimum Firefox verison to 56.0 diff --git a/app/manifest.json b/app/manifest.json index 3740a957a61b..3c4028a6d67d 100644 --- a/app/manifest.json +++ b/app/manifest.json @@ -1,7 +1,7 @@ { "name": "__MSG_appName__", "short_name": "__MSG_appName__", - "version": "7.2.2", + "version": "7.2.3", "manifest_version": 2, "author": "https://metamask.io", "description": "__MSG_appDescription__", From b884cd573cd417e17f7a522cbc249759f1e63bc4 Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Mon, 7 Oct 2019 16:59:37 -0230 Subject: [PATCH 21/34] Ensure correct tx category when sending to contracts without tx data (#7252) * Ensure correct transaction category when sending to contracts but there is no txParams data * Update gas when pasting address in send * Gracefully fall back is send.util/estimateGas when blockGasLimit from background is falsy * Remove network request frontend fallback for blockGasLimit * Add some needed slow downs to e2e tests --- app/scripts/controllers/transactions/index.js | 14 ++++----- test/e2e/metamask-ui.spec.js | 8 ++--- .../transactions/tx-controller-test.js | 30 +++++++++++++++++++ ui/app/pages/send/send.component.js | 2 +- ui/app/pages/send/send.constants.js | 3 ++ ui/app/pages/send/send.utils.js | 6 ++++ 6 files changed, 51 insertions(+), 12 deletions(-) diff --git a/app/scripts/controllers/transactions/index.js b/app/scripts/controllers/transactions/index.js index a33b468519fb..8f611854ecda 100644 --- a/app/scripts/controllers/transactions/index.js +++ b/app/scripts/controllers/transactions/index.js @@ -595,21 +595,21 @@ class TransactionController extends EventEmitter { ].find(tokenMethodName => tokenMethodName === name && name.toLowerCase()) let result - let code - if (!txParams.data) { - result = SEND_ETHER_ACTION_KEY - } else if (tokenMethodName) { + if (txParams.data && tokenMethodName) { result = tokenMethodName - } else if (!to) { + } else if (txParams.data && !to) { result = DEPLOY_CONTRACT_ACTION_KEY - } else { + } + + let code + if (!result) { try { code = await this.query.getCode(to) } catch (e) { code = null log.warn(e) } - // For an address with no code, geth will return '0x', and ganache-core v2.2.1 will return '0x0' + const codeIsEmpty = !code || code === '0x' || code === '0x0' result = codeIsEmpty ? SEND_ETHER_ACTION_KEY : CONTRACT_INTERACTION_KEY diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index fadabe7c8943..70fa4404ef29 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -623,18 +623,18 @@ describe('MetaMask', function () { const send3eth = await findElement(driver, By.xpath(`//button[contains(text(), 'Send')]`), 10000) await send3eth.click() - await delay(regularDelayMs) + await delay(largeDelayMs * 2) const contractDeployment = await findElement(driver, By.xpath(`//button[contains(text(), 'Deploy Contract')]`), 10000) await contractDeployment.click() - await delay(regularDelayMs) + await delay(largeDelayMs * 2) await send3eth.click() await contractDeployment.click() - await delay(regularDelayMs) + await delay(largeDelayMs * 2) await driver.switchTo().window(extension) - await delay(regularDelayMs) + await delay(largeDelayMs * 2) let transactions = await findElements(driver, By.css('.transaction-list-item')) await transactions[3].click() diff --git a/test/unit/app/controllers/transactions/tx-controller-test.js b/test/unit/app/controllers/transactions/tx-controller-test.js index 9072dc684caf..642e1b6afd8b 100644 --- a/test/unit/app/controllers/transactions/tx-controller-test.js +++ b/test/unit/app/controllers/transactions/tx-controller-test.js @@ -622,6 +622,36 @@ describe('Transaction Controller', function () { }) assert.deepEqual(result, { transactionCategory: CONTRACT_INTERACTION_KEY, getCodeResponse: '0x0a' }) }) + + it('should return a contract interaction transactionCategory with the correct getCodeResponse when to is a contract address and data is falsey', async function () { + const _providerResultStub = { + // 1 gwei + eth_gasPrice: '0x0de0b6b3a7640000', + // by default, all accounts are external accounts (not contracts) + eth_getCode: '0xa', + } + const _provider = createTestProviderTools({ scaffold: _providerResultStub }).provider + const _fromAccount = getTestAccounts()[0] + const _blockTrackerStub = new EventEmitter() + _blockTrackerStub.getCurrentBlock = noop + _blockTrackerStub.getLatestBlock = noop + const _txController = new TransactionController({ + provider: _provider, + getGasPrice: function () { return '0xee6b2800' }, + networkStore: new ObservableStore(currentNetworkId), + txHistoryLimit: 10, + blockTracker: _blockTrackerStub, + signTransaction: (ethTx) => new Promise((resolve) => { + ethTx.sign(_fromAccount.key) + resolve() + }), + }) + const result = await _txController._determineTransactionCategory({ + to: '0x9e673399f795D01116e9A8B2dD2F156705131ee9', + data: '', + }) + assert.deepEqual(result, { transactionCategory: CONTRACT_INTERACTION_KEY, getCodeResponse: '0x0a' }) + }) }) describe('#getPendingTransactions', function () { diff --git a/ui/app/pages/send/send.component.js b/ui/app/pages/send/send.component.js index cb07dcb599db..d699e27a7104 100644 --- a/ui/app/pages/send/send.component.js +++ b/ui/app/pages/send/send.component.js @@ -304,7 +304,7 @@ export default class SendTransactionScreen extends PersistentForm { }} onChange={this.onRecipientInputChange} onValidAddressTyped={(address) => this.props.updateSendTo(address, '')} - onPaste={text => this.props.updateSendTo(text)} + onPaste={text => { this.props.updateSendTo(text) && this.updateGas() }} onReset={() => this.props.updateSendTo('', '')} updateEnsResolution={this.props.updateSendEnsResolution} updateEnsResolutionError={this.props.updateSendEnsResolutionError} diff --git a/ui/app/pages/send/send.constants.js b/ui/app/pages/send/send.constants.js index d3fa38d10f6c..52ff823cc6c6 100644 --- a/ui/app/pages/send/send.constants.js +++ b/ui/app/pages/send/send.constants.js @@ -6,6 +6,8 @@ const MIN_GAS_PRICE_HEX = (parseInt(MIN_GAS_PRICE_DEC)).toString(16) const MIN_GAS_LIMIT_DEC = '21000' const MIN_GAS_LIMIT_HEX = (parseInt(MIN_GAS_LIMIT_DEC)).toString(16) +const ARBITRARY_HIGH_BLOCK_GAS_LIMIT = (parseInt('8000000')).toString(16) + const MIN_GAS_PRICE_GWEI = ethUtil.addHexPrefix(conversionUtil(MIN_GAS_PRICE_HEX, { fromDenomination: 'WEI', toDenomination: 'GWEI', @@ -58,4 +60,5 @@ module.exports = { SIMPLE_GAS_COST, TOKEN_TRANSFER_FUNCTION_SIGNATURE, BASE_TOKEN_GAS_COST, + ARBITRARY_HIGH_BLOCK_GAS_LIMIT, } diff --git a/ui/app/pages/send/send.utils.js b/ui/app/pages/send/send.utils.js index 32c293701295..f4985e4a0653 100644 --- a/ui/app/pages/send/send.utils.js +++ b/ui/app/pages/send/send.utils.js @@ -18,6 +18,7 @@ const { ONE_GWEI_IN_WEI_HEX, SIMPLE_GAS_COST, TOKEN_TRANSFER_FUNCTION_SIGNATURE, + ARBITRARY_HIGH_BLOCK_GAS_LIMIT, } = require('./send.constants') const abi = require('ethereumjs-abi') const ethUtil = require('ethereumjs-util') @@ -243,12 +244,17 @@ async function estimateGas ({ } // if not, fall back to block gasLimit + if (!blockGasLimit) { + blockGasLimit = ARBITRARY_HIGH_BLOCK_GAS_LIMIT + } + paramsForGasEstimate.gas = ethUtil.addHexPrefix(multiplyCurrencies(blockGasLimit, 0.95, { multiplicandBase: 16, multiplierBase: 10, roundDown: '0', toNumericBase: 'hex', })) + // run tx return new Promise((resolve, reject) => { return estimateGasMethod(paramsForGasEstimate, (err, estimatedGas) => { From 54491974ec140f2344ffdee6d46b4cfbcc2e1c56 Mon Sep 17 00:00:00 2001 From: kumavis Date: Sat, 7 Sep 2019 14:44:22 +0800 Subject: [PATCH 22/34] test - e2e - dedupe fetchMocking + compose script as fn --- test/e2e/address-book.spec.js | 28 ++-------------------- test/e2e/from-import-ui.spec.js | 29 ++-------------------- test/e2e/helpers.js | 32 +++++++++++++++++++++++++ test/e2e/incremental-security.spec.js | 28 ++-------------------- test/e2e/metamask-responsive-ui.spec.js | 28 ++-------------------- test/e2e/metamask-ui.spec.js | 28 ++-------------------- test/e2e/send-edit.spec.js | 29 ++-------------------- test/e2e/web3.spec.js | 29 ++-------------------- 8 files changed, 46 insertions(+), 185 deletions(-) diff --git a/test/e2e/address-book.spec.js b/test/e2e/address-book.spec.js index 3c5e78b505d4..3e95daaef5a2 100644 --- a/test/e2e/address-book.spec.js +++ b/test/e2e/address-book.spec.js @@ -17,8 +17,8 @@ const { findElements, loadExtension, verboseReportOnFailure, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') describe('MetaMask', function () { let extensionId @@ -63,31 +63,7 @@ describe('MetaMask', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/from-import-ui.spec.js b/test/e2e/from-import-ui.spec.js index 896447c7754e..60bba25fa442 100644 --- a/test/e2e/from-import-ui.spec.js +++ b/test/e2e/from-import-ui.spec.js @@ -16,9 +16,8 @@ const { verboseReportOnFailure, findElement, findElements, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') - describe('Using MetaMask with an existing account', function () { let extensionId @@ -66,31 +65,7 @@ describe('Using MetaMask with an existing account', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index 30b8d13f6594..d74e45544400 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -4,6 +4,8 @@ const pify = require('pify') const assert = require('assert') const { delay } = require('./func') const { until } = require('selenium-webdriver') +const fetchMockResponses = require('./fetch-mocks.js') + module.exports = { assertElementNotPresent, @@ -17,6 +19,36 @@ module.exports = { switchToWindowWithUrlThatMatches, verboseReportOnFailure, waitUntilXWindowHandles, + setupFetchMocking, +} + +async function setupFetchMocking (driver) { + // define fetchMocking script, to be evaluated in the browser + function fetchMocking() { + window.origFetch = window.fetch.bind(window) + window.fetch = async (...args) => { + const url = args[0] + if (url === "https://ethgasstation.info/json/ethgasAPI.json") { + return { json: async () => JSON.parse( fetchMockResponses.ethGasBasic ) } + } else if (url === "https://ethgasstation.info/json/predictTable.json") { + return { json: async () => JSON.parse( fetchMockResponses.ethGasPredictTable ) } + } else if (url.match(/chromeextensionmm/)) { + return { json: async () => JSON.parse( fetchMockResponses.metametrics ) } + } else if (url === "https://dev.blockscale.net/api/gasexpress.json") { + return { json: async () => JSON.parse( fetchMockResponses.gasExpress ) } + } + return window.origFetch(...args) + } + function cancelInfuraRequest(requestDetails) { + console.log(`fetchMocking - Canceling request: "${requestDetails.url}"`) + return { cancel: true } + } + if (window.chrome && window.chrome.webRequest) { + window.chrome.webRequest.onBeforeRequest.addListener(cancelInfuraRequest, {urls: ['https://*.infura.io/*']}, ['blocking']) + } + } + // eval the fetchMocking script in the browser + await driver.executeScript(`(${fetchMocking})()`) } async function loadExtension (driver, extensionId) { diff --git a/test/e2e/incremental-security.spec.js b/test/e2e/incremental-security.spec.js index ecd6f5999654..3a44badd670f 100644 --- a/test/e2e/incremental-security.spec.js +++ b/test/e2e/incremental-security.spec.js @@ -19,8 +19,8 @@ const { loadExtension, openNewPage, verboseReportOnFailure, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') describe('MetaMask', function () { let extensionId @@ -65,31 +65,7 @@ describe('MetaMask', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/metamask-responsive-ui.spec.js b/test/e2e/metamask-responsive-ui.spec.js index fa7425d61eae..a7535a47a94f 100644 --- a/test/e2e/metamask-responsive-ui.spec.js +++ b/test/e2e/metamask-responsive-ui.spec.js @@ -17,8 +17,8 @@ const { findElements, loadExtension, verboseReportOnFailure, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') describe('MetaMask', function () { let extensionId @@ -63,31 +63,7 @@ describe('MetaMask', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 70fa4404ef29..cdda279ccb5f 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -21,8 +21,8 @@ const { switchToWindowWithTitle, verboseReportOnFailure, waitUntilXWindowHandles, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') describe('MetaMask', function () { let extensionId @@ -68,31 +68,7 @@ describe('MetaMask', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/send-edit.spec.js b/test/e2e/send-edit.spec.js index 4eca232ee73e..bc51601122e3 100644 --- a/test/e2e/send-edit.spec.js +++ b/test/e2e/send-edit.spec.js @@ -16,9 +16,8 @@ const { verboseReportOnFailure, findElement, findElements, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') - describe('Using MetaMask with an existing account', function () { let extensionId @@ -63,31 +62,7 @@ describe('Using MetaMask with an existing account', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { diff --git a/test/e2e/web3.spec.js b/test/e2e/web3.spec.js index 42f2350457b2..ae1c3091e266 100644 --- a/test/e2e/web3.spec.js +++ b/test/e2e/web3.spec.js @@ -19,9 +19,8 @@ const { switchToWindowWithTitle, verboseReportOnFailure, waitUntilXWindowHandles, + setupFetchMocking, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') - describe('Using MetaMask with an existing account', function () { let extensionId @@ -77,31 +76,7 @@ describe('Using MetaMask with an existing account', function () { }) beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + await setupFetchMocking(driver) }) afterEach(async function () { From d43a78432fe650ccfd3082bfbef02ecaf870551b Mon Sep 17 00:00:00 2001 From: kumavis Date: Sat, 7 Sep 2019 15:13:58 +0800 Subject: [PATCH 23/34] test:e2e - factor out prepareExtensionForTesting --- test/e2e/address-book.spec.js | 38 ++----------- test/e2e/from-import-ui.spec.js | 38 +------------ test/e2e/helpers.js | 75 +++++++++++++++++++++---- test/e2e/incremental-security.spec.js | 38 ++----------- test/e2e/metamask-responsive-ui.spec.js | 38 ++----------- test/e2e/metamask-ui.spec.js | 37 ++---------- test/e2e/send-edit.spec.js | 38 +------------ test/e2e/web3.spec.js | 38 +------------ 8 files changed, 89 insertions(+), 251 deletions(-) diff --git a/test/e2e/address-book.spec.js b/test/e2e/address-book.spec.js index 3e95daaef5a2..b23aa94ad018 100644 --- a/test/e2e/address-book.spec.js +++ b/test/e2e/address-book.spec.js @@ -1,23 +1,17 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, findElement, findElements, loadExtension, verboseReportOnFailure, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('MetaMask', function () { @@ -33,33 +27,9 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath) - extensionId = await getExtensionIdChrome(driver) - await delay(largeDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extPath) - await delay(largeDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver + extensionId = result.extensionId }) beforeEach(async function () { diff --git a/test/e2e/from-import-ui.spec.js b/test/e2e/from-import-ui.spec.js index 60bba25fa442..c0d0048f1de6 100644 --- a/test/e2e/from-import-ui.spec.js +++ b/test/e2e/from-import-ui.spec.js @@ -1,26 +1,19 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, Key, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, verboseReportOnFailure, findElement, findElements, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('Using MetaMask with an existing account', function () { - let extensionId let driver const testSeedPhrase = 'forum vessel pink push lonely enact gentle tail admit parrot grunt dress' @@ -35,33 +28,8 @@ describe('Using MetaMask with an existing account', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extensionPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extensionPath) - extensionId = await getExtensionIdChrome(driver) - await delay(regularDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extensionPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extensionPath) - await delay(regularDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver }) beforeEach(async function () { diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index d74e45544400..4875f9d72b66 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -1,11 +1,23 @@ const fs = require('fs') +const path = require('path') const mkdirp = require('mkdirp') const pify = require('pify') const assert = require('assert') -const { delay } = require('./func') + +const { + delay, + getExtensionIdChrome, + getExtensionIdFirefox, + buildChromeWebDriver, + buildFirefoxWebdriver, + installWebExt, +} = require('./func') const { until } = require('selenium-webdriver') const fetchMockResponses = require('./fetch-mocks.js') +const tinyDelayMs = 200 +const regularDelayMs = tinyDelayMs * 2 +const largeDelayMs = regularDelayMs * 2 module.exports = { assertElementNotPresent, @@ -20,26 +32,67 @@ module.exports = { verboseReportOnFailure, waitUntilXWindowHandles, setupFetchMocking, + prepareExtensionForTesting, + tinyDelayMs, + regularDelayMs, + largeDelayMs, +} + + +async function prepareExtensionForTesting () { + let driver, extensionId, extensionUrl + const targetBrowser = process.env.SELENIUM_BROWSER + switch (targetBrowser) { + case 'chrome': { + const extPath = path.resolve('dist/chrome') + driver = buildChromeWebDriver(extPath, { responsive: true }) + await delay(largeDelayMs) + extensionId = await getExtensionIdChrome(driver) + extensionUrl = `chrome-extension://${extensionId}/home.html` + break + } + case 'firefox': { + const extPath = path.resolve('dist/firefox') + driver = buildFirefoxWebdriver({ responsive: true }) + await installWebExt(driver, extPath) + await delay(largeDelayMs) + extensionId = await getExtensionIdFirefox(driver) + extensionUrl = `moz-extension://${extensionId}/home.html` + break + } + default: { + throw new Error(`prepareExtensionForTesting - unable to prepare extension for unknown browser "${targetBrowser}"`) + } + } + // Depending on the state of the application built into the above directory (extPath) and the value of + // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we + // are closing any extraneous windows to reset us to a single window before continuing. + const [tab1] = await driver.getAllWindowHandles() + await closeAllWindowHandlesExcept(driver, [tab1]) + await driver.switchTo().window(tab1) + await driver.get(extensionUrl) + + return { driver, extensionId, extensionUrl } } async function setupFetchMocking (driver) { - // define fetchMocking script, to be evaluated in the browser - function fetchMocking() { + // define fetchMocking script, to be evaluated in the browser + function fetchMocking () { window.origFetch = window.fetch.bind(window) window.fetch = async (...args) => { const url = args[0] - if (url === "https://ethgasstation.info/json/ethgasAPI.json") { - return { json: async () => JSON.parse( fetchMockResponses.ethGasBasic ) } - } else if (url === "https://ethgasstation.info/json/predictTable.json") { - return { json: async () => JSON.parse( fetchMockResponses.ethGasPredictTable ) } + if (url === 'https://ethgasstation.info/json/ethgasAPI.json') { + return { json: async () => JSON.parse(fetchMockResponses.ethGasBasic) } + } else if (url === 'https://ethgasstation.info/json/predictTable.json') { + return { json: async () => JSON.parse(fetchMockResponses.ethGasPredictTable) } } else if (url.match(/chromeextensionmm/)) { - return { json: async () => JSON.parse( fetchMockResponses.metametrics ) } - } else if (url === "https://dev.blockscale.net/api/gasexpress.json") { - return { json: async () => JSON.parse( fetchMockResponses.gasExpress ) } + return { json: async () => JSON.parse(fetchMockResponses.metametrics) } + } else if (url === 'https://dev.blockscale.net/api/gasexpress.json') { + return { json: async () => JSON.parse(fetchMockResponses.gasExpress) } } return window.origFetch(...args) } - function cancelInfuraRequest(requestDetails) { + function cancelInfuraRequest (requestDetails) { console.log(`fetchMocking - Canceling request: "${requestDetails.url}"`) return { cancel: true } } diff --git a/test/e2e/incremental-security.spec.js b/test/e2e/incremental-security.spec.js index 3a44badd670f..7bf9d09026fb 100644 --- a/test/e2e/incremental-security.spec.js +++ b/test/e2e/incremental-security.spec.js @@ -1,25 +1,19 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { assertElementNotPresent, checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, findElement, findElements, loadExtension, openNewPage, verboseReportOnFailure, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('MetaMask', function () { @@ -35,33 +29,9 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath) - extensionId = await getExtensionIdChrome(driver) - await delay(largeDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extPath) - await delay(largeDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver + extensionId = result.extensionId }) beforeEach(async function () { diff --git a/test/e2e/metamask-responsive-ui.spec.js b/test/e2e/metamask-responsive-ui.spec.js index a7535a47a94f..90b81df41a27 100644 --- a/test/e2e/metamask-responsive-ui.spec.js +++ b/test/e2e/metamask-responsive-ui.spec.js @@ -1,23 +1,17 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, findElement, findElements, loadExtension, verboseReportOnFailure, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('MetaMask', function () { @@ -33,33 +27,9 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath, { responsive: true }) - extensionId = await getExtensionIdChrome(driver) - await delay(largeDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver({ responsive: true }) - await installWebExt(driver, extPath) - await delay(largeDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver + extensionId = result.extensionId }) beforeEach(async function () { diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index cdda279ccb5f..cb732822fca6 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -1,14 +1,8 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, Key, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { assertElementNotPresent, @@ -22,6 +16,7 @@ const { verboseReportOnFailure, waitUntilXWindowHandles, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('MetaMask', function () { @@ -38,33 +33,9 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath) - extensionId = await getExtensionIdChrome(driver) - await delay(largeDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extPath) - await delay(largeDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver + extensionId = result.extensionId }) beforeEach(async function () { diff --git a/test/e2e/send-edit.spec.js b/test/e2e/send-edit.spec.js index bc51601122e3..c007b82fde63 100644 --- a/test/e2e/send-edit.spec.js +++ b/test/e2e/send-edit.spec.js @@ -1,26 +1,19 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, Key, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, verboseReportOnFailure, findElement, findElements, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('Using MetaMask with an existing account', function () { - let extensionId let driver const testSeedPhrase = 'forum vessel pink push lonely enact gentle tail admit parrot grunt dress' @@ -32,33 +25,8 @@ describe('Using MetaMask with an existing account', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extensionPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extensionPath) - extensionId = await getExtensionIdChrome(driver) - await delay(regularDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extensionPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extensionPath) - await delay(regularDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver }) beforeEach(async function () { diff --git a/test/e2e/web3.spec.js b/test/e2e/web3.spec.js index ae1c3091e266..e22d0e5960df 100644 --- a/test/e2e/web3.spec.js +++ b/test/e2e/web3.spec.js @@ -1,18 +1,11 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, findElement, findElements, openNewPage, @@ -20,10 +13,10 @@ const { verboseReportOnFailure, waitUntilXWindowHandles, setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') describe('Using MetaMask with an existing account', function () { - let extensionId let driver const testSeedPhrase = 'forum vessel pink push lonely enact gentle tail admit parrot grunt dress' @@ -46,33 +39,8 @@ describe('Using MetaMask with an existing account', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extensionPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extensionPath) - extensionId = await getExtensionIdChrome(driver) - await delay(regularDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extensionPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extensionPath) - await delay(regularDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) + const result = await prepareExtensionForTesting() + driver = result.driver }) beforeEach(async function () { From 56dae017a98e8b8859ec89c0cb702240a86cb2e5 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 19:53:21 +0800 Subject: [PATCH 24/34] test:e2e - add extra delay before closing popups --- test/e2e/helpers.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index 4875f9d72b66..a65512383305 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -67,6 +67,10 @@ async function prepareExtensionForTesting () { // Depending on the state of the application built into the above directory (extPath) and the value of // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we // are closing any extraneous windows to reset us to a single window before continuing. + + // wait an extra long time so any slow popups can trigger + await delay(4 * largeDelayMs) + const [tab1] = await driver.getAllWindowHandles() await closeAllWindowHandlesExcept(driver, [tab1]) await driver.switchTo().window(tab1) From 11e1c3b95d829dd13a4c4c421047b6c50dde3058 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 23:04:03 +0800 Subject: [PATCH 25/34] test:e2e - rework fetch-mocks --- test/e2e/fetch-mocks.js | 6 - test/e2e/fetch-mocks.json | 5930 ++++++++++++++++++++++++++++++++++ test/e2e/helpers.js | 23 +- test/e2e/metamask-ui.spec.js | 2 +- 4 files changed, 5945 insertions(+), 16 deletions(-) delete mode 100644 test/e2e/fetch-mocks.js create mode 100644 test/e2e/fetch-mocks.json diff --git a/test/e2e/fetch-mocks.js b/test/e2e/fetch-mocks.js deleted file mode 100644 index 6b885cc10130..000000000000 --- a/test/e2e/fetch-mocks.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - ethGasBasic: JSON.stringify({'average': 85.0, 'fastestWait': 0.6, 'fastWait': 0.6, 'fast': 200.0, 'safeLowWait': 4.8, 'blockNum': 6648312, 'avgWait': 4.2, 'block_time': 15.516129032258064, 'speed': 0.7828720873342716, 'fastest': 400.0, 'safeLow': 80.0}), - ethGasPredictTable: JSON.stringify([{'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.2632423756, 'pct_remaining5m': 0.0, 'sum': 7.029975, 'tx_atabove': 4136.0, 'hashpower_accepting': 10.4166666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 1.2, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.433788122, 'pct_remaining5m': 0.0, 'sum': 7.01731875, 'tx_atabove': 4136.0, 'hashpower_accepting': 10.9375, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 1.5, 'pct_mined_5m': 0.0, 'total_seen_5m': 84.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.433788122, 'pct_remaining5m': 0.0, 'sum': 7.01731875, 'tx_atabove': 4136.0, 'hashpower_accepting': 10.9375, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 1.7, 'pct_mined_5m': 0.0, 'total_seen_5m': 5.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.4638844302, 'pct_remaining5m': 0.0, 'sum': 7.01731875, 'tx_atabove': 4136.0, 'hashpower_accepting': 10.9375, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 1.8, 'pct_mined_5m': 0.0, 'total_seen_5m': 20.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.4839486356, 'pct_remaining5m': 0.0, 'sum': 7.01731875, 'tx_atabove': 4136.0, 'hashpower_accepting': 10.9375, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 1.9, 'pct_mined_5m': 0.0, 'total_seen_5m': 8.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.7347512039, 'pct_remaining5m': 0.0, 'sum': 7.0046625, 'tx_atabove': 4136.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 2.0, 'pct_mined_5m': 0.0, 'total_seen_5m': 52.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 17.0, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 1.0, 'sum': 7.0046625, 'tx_atabove': 4136.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 2.1, 'pct_mined_5m': 0.0, 'total_seen_5m': 97.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 20.0, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 1.0, 'sum': 7.0040625, 'tx_atabove': 4135.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 2.2, 'pct_mined_5m': 0.0, 'total_seen_5m': 433.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 68.0, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 0.0, 'sum': 6.9986625, 'tx_atabove': 4126.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 50.0, 'gasprice': 2.3, 'pct_mined_5m': 0.0, 'total_seen_5m': 14.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 0.0, 'sum': 6.9980625, 'tx_atabove': 4125.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 2.4, 'pct_mined_5m': 0.0, 'total_seen_5m': 4.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 20.0, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 37.0, 'sum': 6.9956625, 'tx_atabove': 4121.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 75.0, 'gasprice': 2.5, 'pct_mined_5m': 0.0, 'total_seen_5m': 45.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 79.0, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 0.0, 'sum': 6.9788625, 'tx_atabove': 4093.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 2.6, 'pct_mined_5m': 0.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 27.5, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 100.0, 'sum': 6.9764625, 'tx_atabove': 4089.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 2.7, 'pct_mined_5m': 0.0, 'total_seen_5m': 3.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 22.5, 'hashpower_accepting2': 7.7447833066, 'pct_remaining5m': 66.0, 'sum': 6.9740625, 'tx_atabove': 4085.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 2.8, 'pct_mined_5m': 0.0, 'total_seen_5m': 6.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 20.0, 'hashpower_accepting2': 7.7548154093, 'pct_remaining5m': 38.0, 'sum': 6.9686625, 'tx_atabove': 4076.0, 'hashpower_accepting': 11.4583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 2.9, 'pct_mined_5m': 2.0, 'total_seen_5m': 36.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 27.0, 'hashpower_accepting2': 11.5268860353, 'pct_remaining5m': 77.0, 'sum': 6.8307, 'tx_atabove': 4057.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 127.0, 'int2': 6.9238, 'pct_remaining30m': 48.0, 'gasprice': 3.0, 'pct_mined_5m': 0.0, 'total_seen_5m': 322.0, 'pct_mined_30m': 39.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 67.0, 'hashpower_accepting2': 11.5268860353, 'pct_remaining5m': 100.0, 'sum': 6.5697, 'tx_atabove': 3622.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 85.0, 'int2': 6.9238, 'pct_remaining30m': 98.0, 'gasprice': 3.1, 'pct_mined_5m': 0.0, 'total_seen_5m': 79.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 71.0, 'hashpower_accepting2': 11.5268860353, 'pct_remaining5m': 100.0, 'sum': 6.4311, 'tx_atabove': 3391.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 3.2, 'pct_mined_5m': 0.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 62.0, 'hashpower_accepting2': 11.5268860353, 'pct_remaining5m': 100.0, 'sum': 6.4209, 'tx_atabove': 3374.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 14.0, 'int2': 6.9238, 'pct_remaining30m': 92.0, 'gasprice': 3.3, 'pct_mined_5m': 0.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1472.0, 'hashpower_accepting2': 11.5569823435, 'pct_remaining5m': 100.0, 'sum': 6.3951, 'tx_atabove': 3331.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 29.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 3.4, 'pct_mined_5m': 0.0, 'total_seen_5m': 27.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 307.0, 'hashpower_accepting2': 11.5670144462, 'pct_remaining5m': 100.0, 'sum': 6.1521, 'tx_atabove': 2926.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 3.7, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1399.0, 'hashpower_accepting2': 11.577046549, 'pct_remaining5m': 100.0, 'sum': 6.1395, 'tx_atabove': 2905.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 3.9, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1005.0, 'hashpower_accepting2': 11.5971107544, 'pct_remaining5m': 88.0, 'sum': 6.1035, 'tx_atabove': 2845.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 88.0, 'gasprice': 4.0, 'pct_mined_5m': 0.0, 'total_seen_5m': 9.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1546.0, 'hashpower_accepting2': 11.6171749599, 'pct_remaining5m': null, 'sum': 5.6151, 'tx_atabove': 2031.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 4.1, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1065.0, 'hashpower_accepting2': 11.6171749599, 'pct_remaining5m': 100.0, 'sum': 5.5509, 'tx_atabove': 1924.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 4.3, 'pct_mined_5m': 0.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 459.0, 'hashpower_accepting2': 11.6171749599, 'pct_remaining5m': 50.0, 'sum': 5.5137, 'tx_atabove': 1862.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 4.4, 'pct_mined_5m': 0.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 298.0, 'hashpower_accepting2': 11.6171749599, 'pct_remaining5m': null, 'sum': 5.4903, 'tx_atabove': 1823.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 4.7, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 812.0, 'hashpower_accepting2': 11.6472712681, 'pct_remaining5m': 0.0, 'sum': 5.4831, 'tx_atabove': 1811.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 4.8, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 541.0, 'hashpower_accepting2': 11.6472712681, 'pct_remaining5m': 100.0, 'sum': 5.4375, 'tx_atabove': 1735.0, 'hashpower_accepting': 16.6666666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 4.9, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1134.0, 'hashpower_accepting2': 11.7375601926, 'pct_remaining5m': 100.0, 'sum': 5.41824375, 'tx_atabove': 1724.0, 'hashpower_accepting': 17.1875, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 5.0, 'pct_mined_5m': 0.0, 'total_seen_5m': 5.0, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1958.0, 'hashpower_accepting2': 11.7676565008, 'pct_remaining5m': null, 'sum': 4.9567875, 'tx_atabove': 976.0, 'hashpower_accepting': 17.7083333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 5.2, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1203.5, 'hashpower_accepting2': 11.8077849117, 'pct_remaining5m': null, 'sum': 4.9507875, 'tx_atabove': 966.0, 'hashpower_accepting': 17.7083333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 5.3, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 677.5, 'hashpower_accepting2': 11.8378812199, 'pct_remaining5m': null, 'sum': 4.9141875, 'tx_atabove': 905.0, 'hashpower_accepting': 17.7083333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 100.0, 'gasprice': 5.5, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 250.99, 'avgdiff': 0, 'expectedWait': 1000.0, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 3.0, 'hashpower_accepting2': 13.3928571429, 'pct_remaining5m': 0.0, 'sum': 3.16120625, 'tx_atabove': 832.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 12.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.92, 'avgdiff': 1, 'expectedWait': 23.5990451154, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.0248796148, 'pct_remaining5m': 0.0, 'sum': 3.10120625, 'tx_atabove': 732.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 6.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.58, 'avgdiff': 1, 'expectedWait': 22.2247437161, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 14.1753611557, 'pct_remaining5m': 0.0, 'sum': 3.09640625, 'tx_atabove': 724.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.55, 'avgdiff': 1, 'expectedWait': 22.1183205662, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.3459069021, 'pct_remaining5m': 0.0, 'sum': 3.09580625, 'tx_atabove': 723.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 6.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.55, 'avgdiff': 1, 'expectedWait': 22.1050535543, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.3960674157, 'pct_remaining5m': 0.0, 'sum': 3.09460625, 'tx_atabove': 721.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0785433993, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.5465489567, 'pct_remaining5m': 0.0, 'sum': 3.09460625, 'tx_atabove': 721.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0785433993, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.5666131621, 'pct_remaining5m': null, 'sum': 3.09460625, 'tx_atabove': 721.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.6, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0785433993, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 2.0, 'hashpower_accepting2': 14.6769662921, 'pct_remaining5m': null, 'sum': 3.09460625, 'tx_atabove': 721.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.7, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0785433993, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.7070626003, 'pct_remaining5m': null, 'sum': 3.09400625, 'tx_atabove': 720.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 6.8, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0653002466, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 14.7271268058, 'pct_remaining5m': 0.0, 'sum': 3.09400625, 'tx_atabove': 720.0, 'hashpower_accepting': 20.3125, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 6.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.54, 'avgdiff': 1, 'expectedWait': 22.0653002466, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 3.0, 'hashpower_accepting2': 15.4795345104, 'pct_remaining5m': 0.0, 'sum': 3.06749375, 'tx_atabove': 718.0, 'hashpower_accepting': 21.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 11.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 7.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.39, 'avgdiff': 1, 'expectedWait': 21.4879808804, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 15.5898876404, 'pct_remaining5m': 0.0, 'sum': 3.06089375, 'tx_atabove': 707.0, 'hashpower_accepting': 21.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 7.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.36, 'avgdiff': 1, 'expectedWait': 21.3466271869, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 15.5999197432, 'pct_remaining5m': null, 'sum': 3.06029375, 'tx_atabove': 706.0, 'hashpower_accepting': 21.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 7.2, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.35, 'avgdiff': 1, 'expectedWait': 21.3338230522, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 15.8507223114, 'pct_remaining5m': 0.0, 'sum': 3.05969375, 'tx_atabove': 705.0, 'hashpower_accepting': 21.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 7.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.35, 'avgdiff': 1, 'expectedWait': 21.3210265977, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 15.8607544141, 'pct_remaining5m': null, 'sum': 3.05909375, 'tx_atabove': 704.0, 'hashpower_accepting': 21.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 7.7, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 0.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 5.35, 'avgdiff': 1, 'expectedWait': 21.3082378187, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 18.86035313, 'pct_remaining5m': 0.0, 'sum': 2.8933625, 'tx_atabove': 702.0, 'hashpower_accepting': 28.125, 'hpa_coef2': -0.067, 'total_seen_30m': 30.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 37.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.53, 'avgdiff': 1, 'expectedWait': 18.053913939, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 19.1011235955, 'pct_remaining5m': 0.0, 'sum': 2.85250625, 'tx_atabove': 655.0, 'hashpower_accepting': 28.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 5.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.35, 'avgdiff': 1, 'expectedWait': 17.331163684, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 19.1613162119, 'pct_remaining5m': 0.0, 'sum': 2.84890625, 'tx_atabove': 649.0, 'hashpower_accepting': 28.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.33, 'avgdiff': 1, 'expectedWait': 17.268883666, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 19.231540931, 'pct_remaining5m': 0.0, 'sum': 2.8097375, 'tx_atabove': 647.0, 'hashpower_accepting': 30.2083333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 8.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.17, 'avgdiff': 1, 'expectedWait': 16.6055586875, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 19.5224719101, 'pct_remaining5m': 0.0, 'sum': 2.777225, 'tx_atabove': 635.0, 'hashpower_accepting': 31.25, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 12.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.03, 'avgdiff': 1, 'expectedWait': 16.0743526708, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 19.7331460674, 'pct_remaining5m': 0.0, 'sum': 2.774225, 'tx_atabove': 630.0, 'hashpower_accepting': 31.25, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 4.02, 'avgdiff': 1, 'expectedWait': 16.0262018751, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 19.8033707865, 'pct_remaining5m': 0.0, 'sum': 2.72905625, 'tx_atabove': 618.0, 'hashpower_accepting': 32.8125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 3.84, 'avgdiff': 1, 'expectedWait': 15.3184234339, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 19.9638844302, 'pct_remaining5m': 0.0, 'sum': 2.6954, 'tx_atabove': 583.0, 'hashpower_accepting': 33.3333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 8.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 3.72, 'avgdiff': 1, 'expectedWait': 14.8114421454, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 23.6155698234, 'pct_remaining5m': 0.0, 'sum': 2.3937875, 'tx_atabove': 460.0, 'hashpower_accepting': 42.7083333333, 'hpa_coef2': -0.067, 'total_seen_30m': 43.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 120.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.75, 'avgdiff': 1, 'expectedWait': 10.9549071782, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 24.0268860353, 'pct_remaining5m': 0.0, 'sum': 2.30313125, 'tx_atabove': 330.0, 'hashpower_accepting': 43.2291666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 23.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.51, 'avgdiff': 1, 'expectedWait': 10.0054630618, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 24.1472712681, 'pct_remaining5m': 0.0, 'sum': 2.287475, 'tx_atabove': 325.0, 'hashpower_accepting': 43.75, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 9.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.47, 'avgdiff': 1, 'expectedWait': 9.8500349165, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 24.2174959872, 'pct_remaining5m': 0.0, 'sum': 2.2609625, 'tx_atabove': 323.0, 'hashpower_accepting': 44.7916666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 9.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.41, 'avgdiff': 1, 'expectedWait': 9.5923173304, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 24.3880417335, 'pct_remaining5m': 0.0, 'sum': 2.22239375, 'tx_atabove': 322.0, 'hashpower_accepting': 46.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.32, 'avgdiff': 1, 'expectedWait': 9.2293973144, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 24.5284911717, 'pct_remaining5m': 0.0, 'sum': 2.2091375, 'tx_atabove': 321.0, 'hashpower_accepting': 46.875, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.29, 'avgdiff': 1, 'expectedWait': 9.1078574773, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 24.7391653291, 'pct_remaining5m': 0.0, 'sum': 2.2073375, 'tx_atabove': 318.0, 'hashpower_accepting': 46.875, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 8.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.28, 'avgdiff': 1, 'expectedWait': 9.0914780797, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 24.9699036918, 'pct_remaining5m': 0.0, 'sum': 2.182025, 'tx_atabove': 318.0, 'hashpower_accepting': 47.9166666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.7, 'pct_mined_5m': 88.0, 'total_seen_5m': 9.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.22, 'avgdiff': 1, 'expectedWait': 8.8642381788, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 2.0, 'hashpower_accepting2': 25.1203852327, 'pct_remaining5m': 0.0, 'sum': 2.16936875, 'tx_atabove': 318.0, 'hashpower_accepting': 48.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.8, 'pct_mined_5m': 75.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.2, 'avgdiff': 1, 'expectedWait': 8.7527571186, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 25.1705457464, 'pct_remaining5m': 0.0, 'sum': 2.1561125, 'tx_atabove': 317.0, 'hashpower_accepting': 48.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 9.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 2.17, 'avgdiff': 1, 'expectedWait': 8.637494048, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 36.3864365971, 'pct_remaining5m': 0.0, 'sum': 1.769825, 'tx_atabove': 306.0, 'hashpower_accepting': 64.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 353.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.0, 'pct_mined_5m': 99.0, 'total_seen_5m': 245.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.47, 'avgdiff': 1, 'expectedWait': 5.8698260519, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 36.536918138, 'pct_remaining5m': 0.0, 'sum': 1.733225, 'tx_atabove': 245.0, 'hashpower_accepting': 64.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.42, 'avgdiff': 1, 'expectedWait': 5.658874382, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 36.7576243981, 'pct_remaining5m': 0.0, 'sum': 1.733225, 'tx_atabove': 245.0, 'hashpower_accepting': 64.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.42, 'avgdiff': 1, 'expectedWait': 5.658874382, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 36.8378812199, 'pct_remaining5m': 0.0, 'sum': 1.732625, 'tx_atabove': 244.0, 'hashpower_accepting': 64.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.42, 'avgdiff': 1, 'expectedWait': 5.6554800758, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 36.8679775281, 'pct_remaining5m': 0.0, 'sum': 1.732025, 'tx_atabove': 243.0, 'hashpower_accepting': 64.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.42, 'avgdiff': 1, 'expectedWait': 5.6520878055, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 37.8109951846, 'pct_remaining5m': 0.0, 'sum': 1.69405625, 'tx_atabove': 243.0, 'hashpower_accepting': 66.1458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 12.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 53.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.37, 'avgdiff': 1, 'expectedWait': 5.4415081179, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 37.871187801, 'pct_remaining5m': 0.0, 'sum': 1.69285625, 'tx_atabove': 241.0, 'hashpower_accepting': 66.1458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.36, 'avgdiff': 1, 'expectedWait': 5.4349822245, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 38.1019261637, 'pct_remaining5m': 0.0, 'sum': 1.69285625, 'tx_atabove': 241.0, 'hashpower_accepting': 66.1458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.36, 'avgdiff': 1, 'expectedWait': 5.4349822245, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 38.1821829856, 'pct_remaining5m': 0.0, 'sum': 1.68565625, 'tx_atabove': 229.0, 'hashpower_accepting': 66.1458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 10.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.35, 'avgdiff': 1, 'expectedWait': 5.3959908897, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 40.7002407705, 'pct_remaining5m': 0.0, 'sum': 1.520525, 'tx_atabove': 228.0, 'hashpower_accepting': 72.9166666667, 'hpa_coef2': -0.067, 'total_seen_30m': 84.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 84.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.15, 'avgdiff': 1, 'expectedWait': 4.5746262436, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 40.8206260032, 'pct_remaining5m': 0.0, 'sum': 1.507325, 'tx_atabove': 206.0, 'hashpower_accepting': 72.9166666667, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.13, 'avgdiff': 1, 'expectedWait': 4.5146379708, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 40.8908507223, 'pct_remaining5m': 0.0, 'sum': 1.507325, 'tx_atabove': 206.0, 'hashpower_accepting': 72.9166666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.13, 'avgdiff': 1, 'expectedWait': 4.5146379708, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.4024879615, 'pct_remaining5m': 0.0, 'sum': 1.49466875, 'tx_atabove': 206.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 15.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4578596422, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.4827447833, 'pct_remaining5m': 0.0, 'sum': 1.49466875, 'tx_atabove': 206.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4578596422, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.6131621188, 'pct_remaining5m': 0.0, 'sum': 1.49406875, 'tx_atabove': 205.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 8.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4551857287, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.6332263242, 'pct_remaining5m': 0.0, 'sum': 1.49406875, 'tx_atabove': 205.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4551857287, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.753611557, 'pct_remaining5m': 0.0, 'sum': 1.49406875, 'tx_atabove': 205.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4551857287, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 41.7736757624, 'pct_remaining5m': null, 'sum': 1.49406875, 'tx_atabove': 205.0, 'hashpower_accepting': 73.4375, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 11.9, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.12, 'avgdiff': 1, 'expectedWait': 4.4551857287, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 44.7030497592, 'pct_remaining5m': 0.0, 'sum': 1.41813125, 'tx_atabove': 205.0, 'hashpower_accepting': 76.5625, 'hpa_coef2': -0.067, 'total_seen_30m': 96.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 39.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.04, 'avgdiff': 1, 'expectedWait': 4.1293964158, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 44.9036918138, 'pct_remaining5m': 0.0, 'sum': 1.399475, 'tx_atabove': 195.0, 'hashpower_accepting': 77.0833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 11.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.02, 'avgdiff': 1, 'expectedWait': 4.0530715456, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 45.0341091493, 'pct_remaining5m': null, 'sum': 1.38681875, 'tx_atabove': 195.0, 'hashpower_accepting': 77.6041666667, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.2, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 1.0, 'avgdiff': 1, 'expectedWait': 4.0020981056, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.1845906902, 'pct_remaining5m': 0.0, 'sum': 1.3735625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.125, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.99, 'avgdiff': 1, 'expectedWait': 3.9493953846, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.1946227929, 'pct_remaining5m': null, 'sum': 1.3735625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.125, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.4, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.99, 'avgdiff': 1, 'expectedWait': 3.9493953846, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.3752006421, 'pct_remaining5m': 0.0, 'sum': 1.36090625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 10.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.98, 'avgdiff': 1, 'expectedWait': 3.8997258274, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.4955858748, 'pct_remaining5m': 0.0, 'sum': 1.36090625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.98, 'avgdiff': 1, 'expectedWait': 3.8997258274, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.525682183, 'pct_remaining5m': null, 'sum': 1.36090625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.7, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.98, 'avgdiff': 1, 'expectedWait': 3.8997258274, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.5858747994, 'pct_remaining5m': 0.0, 'sum': 1.36090625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.98, 'avgdiff': 1, 'expectedWait': 3.8997258274, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 45.636035313, 'pct_remaining5m': 0.0, 'sum': 1.36090625, 'tx_atabove': 194.0, 'hashpower_accepting': 78.6458333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 12.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.98, 'avgdiff': 1, 'expectedWait': 3.8997258274, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 46.9903691814, 'pct_remaining5m': 0.0, 'sum': 1.31028125, 'tx_atabove': 194.0, 'hashpower_accepting': 80.7291666667, 'hpa_coef2': -0.067, 'total_seen_30m': 47.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 34.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.93, 'avgdiff': 1, 'expectedWait': 3.7072162202, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 47.5321027287, 'pct_remaining5m': 0.0, 'sum': 1.292825, 'tx_atabove': 186.0, 'hashpower_accepting': 81.25, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.91, 'avgdiff': 1, 'expectedWait': 3.6430636874, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 47.5621990369, 'pct_remaining5m': 0.0, 'sum': 1.292825, 'tx_atabove': 186.0, 'hashpower_accepting': 81.25, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.91, 'avgdiff': 1, 'expectedWait': 3.6430636874, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 47.632423756, 'pct_remaining5m': null, 'sum': 1.292825, 'tx_atabove': 186.0, 'hashpower_accepting': 81.25, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.4, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.91, 'avgdiff': 1, 'expectedWait': 3.6430636874, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.5, 'hashpower_accepting2': 48.1440609952, 'pct_remaining5m': 0.0, 'sum': 1.28016875, 'tx_atabove': 186.0, 'hashpower_accepting': 81.7708333333, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 21.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.9, 'avgdiff': 1, 'expectedWait': 3.5972467097, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 48.4550561798, 'pct_remaining5m': 0.0, 'sum': 1.2651125, 'tx_atabove': 182.0, 'hashpower_accepting': 82.2916666667, 'hpa_coef2': -0.067, 'total_seen_30m': 10.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 10.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.89, 'avgdiff': 1, 'expectedWait': 3.5434913565, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 55.9590690209, 'pct_remaining5m': 0.0, 'sum': 1.2398, 'tx_atabove': 182.0, 'hashpower_accepting': 83.3333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 253.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 212.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.87, 'avgdiff': 1, 'expectedWait': 3.4549224112, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 56.0593900482, 'pct_remaining5m': 0.0, 'sum': 1.226, 'tx_atabove': 159.0, 'hashpower_accepting': 83.3333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.86, 'avgdiff': 1, 'expectedWait': 3.4075719515, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 56.1095505618, 'pct_remaining5m': 0.0, 'sum': 1.226, 'tx_atabove': 159.0, 'hashpower_accepting': 83.3333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 13.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.86, 'avgdiff': 1, 'expectedWait': 3.4075719515, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.5, 'hashpower_accepting2': 59.6408507223, 'pct_remaining5m': 0.0, 'sum': 1.13740625, 'tx_atabove': 159.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 119.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 115.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1186688184, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 59.7311396469, 'pct_remaining5m': 0.0, 'sum': 1.13440625, 'tx_atabove': 154.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 14.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 5.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1093268319, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 59.8214285714, 'pct_remaining5m': 0.0, 'sum': 1.13440625, 'tx_atabove': 154.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1093268319, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 60.1524879615, 'pct_remaining5m': 0.0, 'sum': 1.13380625, 'tx_atabove': 153.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1074617954, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 60.1725521669, 'pct_remaining5m': 0.0, 'sum': 1.13320625, 'tx_atabove': 152.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1055978775, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 60.2528089888, 'pct_remaining5m': 0.0, 'sum': 1.13320625, 'tx_atabove': 152.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1055978775, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 60.6440609952, 'pct_remaining5m': 0.0, 'sum': 1.13320625, 'tx_atabove': 152.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 10.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 10.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1055978775, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 60.6641252006, 'pct_remaining5m': 0.0, 'sum': 1.13320625, 'tx_atabove': 152.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1055978775, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 60.6942215088, 'pct_remaining5m': null, 'sum': 1.13320625, 'tx_atabove': 152.0, 'hashpower_accepting': 86.9791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 14.9, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.78, 'avgdiff': 1, 'expectedWait': 3.1055978775, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 62.9113162119, 'pct_remaining5m': 0.0, 'sum': 1.0952375, 'tx_atabove': 152.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 65.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 48.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.75, 'avgdiff': 1, 'expectedWait': 2.9898926986, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 63.4129213483, 'pct_remaining5m': 0.0, 'sum': 1.0910375, 'tx_atabove': 145.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 11.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 8.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.75, 'avgdiff': 1, 'expectedWait': 2.9773614832, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 64.4161316212, 'pct_remaining5m': 0.0, 'sum': 1.0886375, 'tx_atabove': 141.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.75, 'avgdiff': 1, 'expectedWait': 2.9702243836, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 64.4863563403, 'pct_remaining5m': 0.0, 'sum': 1.0820375, 'tx_atabove': 130.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.6, 'pct_mined_5m': 50.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9506854521, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 66.1817817014, 'pct_remaining5m': 0.0, 'sum': 1.0820375, 'tx_atabove': 130.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 24.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 17.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9506854521, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 66.2620385233, 'pct_remaining5m': 0.0, 'sum': 1.0766375, 'tx_atabove': 121.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 15.8, 'pct_mined_5m': 83.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9347946943, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 67.2853130016, 'pct_remaining5m': 0.0, 'sum': 1.0766375, 'tx_atabove': 121.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 15.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 11.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9347946943, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 67.2953451043, 'pct_remaining5m': null, 'sum': 1.0748375, 'tx_atabove': 118.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.1, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9295168154, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 67.4458266453, 'pct_remaining5m': 0.0, 'sum': 1.0748375, 'tx_atabove': 118.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9295168154, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 67.455858748, 'pct_remaining5m': 0.0, 'sum': 1.0748375, 'tx_atabove': 118.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 16.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9295168154, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 67.6565008026, 'pct_remaining5m': 0.0, 'sum': 1.0748375, 'tx_atabove': 118.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.74, 'avgdiff': 1, 'expectedWait': 2.9295168154, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 67.7267255217, 'pct_remaining5m': 0.0, 'sum': 1.0742375, 'tx_atabove': 117.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9277596325, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 68.6697431782, 'pct_remaining5m': 0.0, 'sum': 1.0742375, 'tx_atabove': 117.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 42.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 16.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 27.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9277596325, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 68.8904494382, 'pct_remaining5m': 0.0, 'sum': 1.0718375, 'tx_atabove': 113.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 11.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 17.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9207414346, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 69.0308988764, 'pct_remaining5m': 0.0, 'sum': 1.0712375, 'tx_atabove': 112.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 8.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 17.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9189895153, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.0409309791, 'pct_remaining5m': null, 'sum': 1.0706375, 'tx_atabove': 111.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 17.3, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9172386469, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.0710272873, 'pct_remaining5m': 0.0, 'sum': 1.0706375, 'tx_atabove': 111.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 17.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9172386469, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.08105939, 'pct_remaining5m': 0.0, 'sum': 1.0706375, 'tx_atabove': 111.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 17.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9172386469, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.1011235955, 'pct_remaining5m': null, 'sum': 1.0706375, 'tx_atabove': 111.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 17.8, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9172386469, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.1111556982, 'pct_remaining5m': 0.0, 'sum': 1.0706375, 'tx_atabove': 111.0, 'hashpower_accepting': 88.5416666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 17.9, 'pct_mined_5m': 0.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.73, 'avgdiff': 1, 'expectedWait': 2.9172386469, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.7632423756, 'pct_remaining5m': 0.0, 'sum': 1.05798125, 'tx_atabove': 111.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': 16.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 18.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 16.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.8805500054, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.7732744783, 'pct_remaining5m': 0.0, 'sum': 1.05618125, 'tx_atabove': 108.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 18.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.875369679, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.8134028892, 'pct_remaining5m': 0.0, 'sum': 1.05618125, 'tx_atabove': 108.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 18.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.875369679, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.823434992, 'pct_remaining5m': 0.0, 'sum': 1.05618125, 'tx_atabove': 108.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 18.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.875369679, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.8535313002, 'pct_remaining5m': null, 'sum': 1.05618125, 'tx_atabove': 108.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 18.8, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.875369679, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 69.8735955056, 'pct_remaining5m': 0.0, 'sum': 1.05618125, 'tx_atabove': 108.0, 'hashpower_accepting': 89.0625, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 18.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.72, 'avgdiff': 1, 'expectedWait': 2.875369679, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.3150080257, 'pct_remaining5m': 0.0, 'sum': 1.043525, 'tx_atabove': 108.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 13.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 19.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 11.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8392076024, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.3350722311, 'pct_remaining5m': 0.0, 'sum': 1.042325, 'tx_atabove': 106.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 19.3, 'pct_mined_5m': 66.0, 'total_seen_5m': 3.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8358025967, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.3752006421, 'pct_remaining5m': 0.0, 'sum': 1.042325, 'tx_atabove': 106.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 19.4, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8358025967, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.3852327448, 'pct_remaining5m': null, 'sum': 1.042325, 'tx_atabove': 106.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 19.5, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8358025967, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.4052969502, 'pct_remaining5m': null, 'sum': 1.042325, 'tx_atabove': 106.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 19.8, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8358025967, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 70.8266452648, 'pct_remaining5m': 0.0, 'sum': 1.042325, 'tx_atabove': 106.0, 'hashpower_accepting': 89.5833333333, 'hpa_coef2': -0.067, 'total_seen_30m': 18.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 19.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 10.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.71, 'avgdiff': 1, 'expectedWait': 2.8358025967, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 75.2708667737, 'pct_remaining5m': 0.0, 'sum': 0.90310625, 'tx_atabove': 106.0, 'hashpower_accepting': 95.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 144.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 20.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 185.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.62, 'avgdiff': 1, 'expectedWait': 2.4672551317, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 75.3009630819, 'pct_remaining5m': null, 'sum': 0.89650625, 'tx_atabove': 95.0, 'hashpower_accepting': 95.3125, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 20.2, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.62, 'avgdiff': 1, 'expectedWait': 2.4510248666, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 75.3210272873, 'pct_remaining5m': 0.0, 'sum': 0.89650625, 'tx_atabove': 95.0, 'hashpower_accepting': 95.3125, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 20.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.62, 'avgdiff': 1, 'expectedWait': 2.4510248666, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 77.7387640449, 'pct_remaining5m': 0.0, 'sum': 0.88385, 'tx_atabove': 95.0, 'hashpower_accepting': 95.8333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 24.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 20.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 9.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.61, 'avgdiff': 1, 'expectedWait': 2.420199561, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 77.7688603531, 'pct_remaining5m': 0.0, 'sum': 0.88325, 'tx_atabove': 94.0, 'hashpower_accepting': 95.8333333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 20.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.61, 'avgdiff': 1, 'expectedWait': 2.4187478768, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 77.9093097913, 'pct_remaining5m': null, 'sum': 0.87059375, 'tx_atabove': 94.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 20.9, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3883285027, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 79.7752808989, 'pct_remaining5m': 0.0, 'sum': 0.87059375, 'tx_atabove': 94.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 39.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 21.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 36.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3883285027, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 79.7953451043, 'pct_remaining5m': 0.0, 'sum': 0.86819375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 21.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3826033871, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 79.8154093098, 'pct_remaining5m': null, 'sum': 0.86819375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 21.4, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3826033871, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 79.845505618, 'pct_remaining5m': 0.0, 'sum': 0.86819375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 21.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3826033871, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.3069823435, 'pct_remaining5m': 0.0, 'sum': 0.86819375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.3541666667, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 21.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.6, 'avgdiff': 1, 'expectedWait': 2.3826033871, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.8888443018, 'pct_remaining5m': 0.0, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 13.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 22.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 13.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.9089085072, 'pct_remaining5m': null, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 22.1, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.91894061, 'pct_remaining5m': 0.0, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 22.2, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.9289727127, 'pct_remaining5m': null, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 22.3, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.9490369181, 'pct_remaining5m': 0.0, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 22.5, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.9791332263, 'pct_remaining5m': 0.0, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 22.8, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 80.9891653291, 'pct_remaining5m': null, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 22.9, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 81.47070626, 'pct_remaining5m': 0.0, 'sum': 0.8555375, 'tx_atabove': 90.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 15.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 23.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 19.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.352638584, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.4907704655, 'pct_remaining5m': 0.0, 'sum': 0.8531375, 'tx_atabove': 86.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 23.1, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3469990216, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.5108346709, 'pct_remaining5m': 0.0, 'sum': 0.8525375, 'tx_atabove': 85.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 23.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3455912446, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.6011235955, 'pct_remaining5m': 0.0, 'sum': 0.8525375, 'tx_atabove': 85.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 23.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3455912446, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.621187801, 'pct_remaining5m': 0.0, 'sum': 0.8525375, 'tx_atabove': 85.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 23.9, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3455912446, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 81.8719903692, 'pct_remaining5m': 0.0, 'sum': 0.8525375, 'tx_atabove': 85.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 24.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 9.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3455912446, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.8820224719, 'pct_remaining5m': 0.0, 'sum': 0.8501375, 'tx_atabove': 81.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 24.3, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3399685755, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.9121187801, 'pct_remaining5m': 0.0, 'sum': 0.8501375, 'tx_atabove': 81.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 24.6, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3399685755, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 81.9321829856, 'pct_remaining5m': 0.0, 'sum': 0.8501375, 'tx_atabove': 81.0, 'hashpower_accepting': 96.875, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 24.7, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.59, 'avgdiff': 1, 'expectedWait': 2.3399685755, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 83.3868378812, 'pct_remaining5m': 0.0, 'sum': 0.83688125, 'tx_atabove': 80.0, 'hashpower_accepting': 97.3958333333, 'hpa_coef2': -0.067, 'total_seen_30m': 24.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 25.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 32.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.58, 'avgdiff': 1, 'expectedWait': 2.3091540608, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 83.6276083467, 'pct_remaining5m': 0.0, 'sum': 0.82128125, 'tx_atabove': 54.0, 'hashpower_accepting': 97.3958333333, 'hpa_coef2': -0.067, 'total_seen_30m': 10.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 26.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.57, 'avgdiff': 1, 'expectedWait': 2.2734107799, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 83.7379614767, 'pct_remaining5m': 0.0, 'sum': 0.82008125, 'tx_atabove': 52.0, 'hashpower_accepting': 97.3958333333, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 27.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.57, 'avgdiff': 1, 'expectedWait': 2.2706843231, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 83.9887640449, 'pct_remaining5m': 0.0, 'sum': 0.81948125, 'tx_atabove': 51.0, 'hashpower_accepting': 97.3958333333, 'hpa_coef2': -0.067, 'total_seen_30m': 13.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 28.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 7.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.57, 'avgdiff': 1, 'expectedWait': 2.2693223212, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 84.0690208668, 'pct_remaining5m': 0.0, 'sum': 0.806825, 'tx_atabove': 51.0, 'hashpower_accepting': 97.9166666667, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 29.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.56, 'avgdiff': 1, 'expectedWait': 2.240782197, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 85.8447030498, 'pct_remaining5m': 0.0, 'sum': 0.7809125, 'tx_atabove': 50.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 55.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 30.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 49.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.55, 'avgdiff': 1, 'expectedWait': 2.1834637674, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 85.9751203852, 'pct_remaining5m': 0.0, 'sum': 0.7743125, 'tx_atabove': 39.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 31.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 5.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.169100358, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.1356340289, 'pct_remaining5m': 0.0, 'sum': 0.7743125, 'tx_atabove': 39.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 32.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 4.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.169100358, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.2760834671, 'pct_remaining5m': 0.0, 'sum': 0.7743125, 'tx_atabove': 39.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 33.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.169100358, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.4165329053, 'pct_remaining5m': 0.0, 'sum': 0.7737125, 'tx_atabove': 38.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 6.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 34.0, 'pct_mined_5m': 60.0, 'total_seen_5m': 5.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1677992881, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.5, 'hashpower_accepting2': 86.7475922953, 'pct_remaining5m': 0.0, 'sum': 0.7737125, 'tx_atabove': 38.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 10.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 35.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 17.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1677992881, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.7877207063, 'pct_remaining5m': 0.0, 'sum': 0.7725125, 'tx_atabove': 36.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 36.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1651994891, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.8579454254, 'pct_remaining5m': 0.0, 'sum': 0.7725125, 'tx_atabove': 36.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 37.0, 'pct_mined_5m': 66.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1651994891, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.908105939, 'pct_remaining5m': 0.0, 'sum': 0.7725125, 'tx_atabove': 36.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 38.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1651994891, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 86.9783306581, 'pct_remaining5m': 0.0, 'sum': 0.7725125, 'tx_atabove': 36.0, 'hashpower_accepting': 98.9583333333, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 39.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1651994891, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 87.4498394864, 'pct_remaining5m': 0.0, 'sum': 0.75985625, 'tx_atabove': 36.0, 'hashpower_accepting': 99.4791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 16.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 40.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 14.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1379688654, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 89.6167736758, 'pct_remaining5m': 0.0, 'sum': 0.75805625, 'tx_atabove': 33.0, 'hashpower_accepting': 99.4791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 112.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 41.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 57.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.54, 'avgdiff': 1, 'expectedWait': 2.1341239829, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 89.6869983949, 'pct_remaining5m': 0.0, 'sum': 0.75445625, 'tx_atabove': 27.0, 'hashpower_accepting': 99.4791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 42.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.1264549491, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 89.7070626003, 'pct_remaining5m': null, 'sum': 0.75385625, 'tx_atabove': 26.0, 'hashpower_accepting': 99.4791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 43.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.1251794588, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 89.9478330658, 'pct_remaining5m': 0.0, 'sum': 0.75385625, 'tx_atabove': 26.0, 'hashpower_accepting': 99.4791666667, 'hpa_coef2': -0.067, 'total_seen_30m': 9.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 44.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 9.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.1251794588, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 90.088282504, 'pct_remaining5m': 0.0, 'sum': 0.7394, 'tx_atabove': 23.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 8.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 45.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 5.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0946783304, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 90.4995987159, 'pct_remaining5m': 0.0, 'sum': 0.7394, 'tx_atabove': 23.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 17.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 46.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 19.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0946783304, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 90.5999197432, 'pct_remaining5m': 0.0, 'sum': 0.7382, 'tx_atabove': 21.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 47.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0921662239, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 90.6199839486, 'pct_remaining5m': null, 'sum': 0.7382, 'tx_atabove': 21.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 48.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0921662239, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 90.6500802568, 'pct_remaining5m': null, 'sum': 0.7382, 'tx_atabove': 21.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 49.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0921662239, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 94.1412520064, 'pct_remaining5m': 0.0, 'sum': 0.7382, 'tx_atabove': 21.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 62.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 50.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 71.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.53, 'avgdiff': 1, 'expectedWait': 2.0921662239, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 94.2114767255, 'pct_remaining5m': 0.0, 'sum': 0.7358, 'tx_atabove': 17.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 51.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0871510456, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 94.4422150883, 'pct_remaining5m': 0.0, 'sum': 0.7358, 'tx_atabove': 17.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 5.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 52.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0871510456, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 94.4723113965, 'pct_remaining5m': null, 'sum': 0.7358, 'tx_atabove': 17.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 54.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0871510456, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 94.4823434992, 'pct_remaining5m': null, 'sum': 0.7346, 'tx_atabove': 15.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 56.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0846479665, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 95.0140449438, 'pct_remaining5m': 0.0, 'sum': 0.7346, 'tx_atabove': 15.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 27.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 60.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 17.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0846479665, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 95.6059390048, 'pct_remaining5m': 0.0, 'sum': 0.7334, 'tx_atabove': 13.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 28.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 61.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 14.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0821478893, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 96.8699839486, 'pct_remaining5m': 0.0, 'sum': 0.7322, 'tx_atabove': 11.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 21.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 63.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 25.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0796508104, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 1.0, 'hashpower_accepting2': 98.3948635634, 'pct_remaining5m': 0.0, 'sum': 0.7298, 'tx_atabove': 7.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 83.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 64.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 38.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0746656331, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.4149277689, 'pct_remaining5m': 0.0, 'sum': 0.728, 'tx_atabove': 4.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 65.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0709345939, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.4951845907, 'pct_remaining5m': 0.0, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 66.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.5052166934, 'pct_remaining5m': null, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 69.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.5152487961, 'pct_remaining5m': null, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 70.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.5553772071, 'pct_remaining5m': 0.0, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 72.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.5754414125, 'pct_remaining5m': 0.0, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 73.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.5854735152, 'pct_remaining5m': 0.0, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 77.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.6055377207, 'pct_remaining5m': null, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 79.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.8663723917, 'pct_remaining5m': 0.0, 'sum': 0.7274, 'tx_atabove': 3.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 14.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 80.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 6.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0696924058, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.8864365971, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 84.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.9466292135, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 88.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 98.9566613162, 'pct_remaining5m': null, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 90.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.0469502408, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 4.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 91.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 3.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.1272070626, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 3.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 96.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.1372391653, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 97.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.1472712681, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 99.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.7090690209, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 23.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 100.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 22.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.8394863563, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 7.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 101.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.9097110754, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 2.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 120.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.9297752809, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': null, 'int2': 6.9238, 'pct_remaining30m': null, 'gasprice': 134.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 2.0, 'pct_mined_30m': null, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': 0.0, 'hashpower_accepting2': 99.9498394864, 'pct_remaining5m': 0.0, 'sum': 0.7268, 'tx_atabove': 2.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 137.0, 'pct_mined_5m': 100.0, 'total_seen_5m': 1.0, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0684509628, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}, {'intercept': 4.8015, 'age': null, 'hashpower_accepting2': 99.9699036918, 'pct_remaining5m': null, 'sum': 0.7256, 'tx_atabove': 0.0, 'hashpower_accepting': 100.0, 'hpa_coef2': -0.067, 'total_seen_30m': 1.0, 'int2': 6.9238, 'pct_remaining30m': 0.0, 'gasprice': 180.0, 'pct_mined_5m': null, 'total_seen_5m': null, 'pct_mined_30m': 100.0, 'tx_atabove_coef': 0.0006, 'average': 600, 'safelow': 600, 'nomine': 550, 'expectedTime': 0.52, 'avgdiff': 1, 'expectedWait': 2.0659703104, 'avgdiff_coef': -1.6459, 'hpa_coef': -0.0243}]), - gasExpress: JSON.stringify({'safeLow': 2.0, 'standard': 3.0, 'fast': 10.0, 'fastest': 52.0, 'block_time': 15, 'blockNum': 6693030}), - metametrics: JSON.stringify({ 'mockMetaMetricsResponse': true }), -} diff --git a/test/e2e/fetch-mocks.json b/test/e2e/fetch-mocks.json new file mode 100644 index 000000000000..61ab1392afbc --- /dev/null +++ b/test/e2e/fetch-mocks.json @@ -0,0 +1,5930 @@ +{ + "ethGasBasic": { + "average": 85, + "fastestWait": 0.6, + "fastWait": 0.6, + "fast": 200, + "safeLowWait": 4.8, + "blockNum": 6648312, + "avgWait": 4.2, + "block_time": 15.516129032258064, + "speed": 0.7828720873342716, + "fastest": 400, + "safeLow": 80 + }, + "ethGasPredictTable": [ + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.2632423756, + "pct_remaining5m": 0, + "sum": 7.029975, + "tx_atabove": 4136, + "hashpower_accepting": 10.4166666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 1.2, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.433788122, + "pct_remaining5m": 0, + "sum": 7.01731875, + "tx_atabove": 4136, + "hashpower_accepting": 10.9375, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 1.5, + "pct_mined_5m": 0, + "total_seen_5m": 84, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.433788122, + "pct_remaining5m": 0, + "sum": 7.01731875, + "tx_atabove": 4136, + "hashpower_accepting": 10.9375, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 1.7, + "pct_mined_5m": 0, + "total_seen_5m": 5, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.4638844302, + "pct_remaining5m": 0, + "sum": 7.01731875, + "tx_atabove": 4136, + "hashpower_accepting": 10.9375, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 1.8, + "pct_mined_5m": 0, + "total_seen_5m": 20, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.4839486356, + "pct_remaining5m": 0, + "sum": 7.01731875, + "tx_atabove": 4136, + "hashpower_accepting": 10.9375, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 1.9, + "pct_mined_5m": 0, + "total_seen_5m": 8, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.7347512039, + "pct_remaining5m": 0, + "sum": 7.0046625, + "tx_atabove": 4136, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 2, + "pct_mined_5m": 0, + "total_seen_5m": 52, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 17, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 1, + "sum": 7.0046625, + "tx_atabove": 4136, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 2.1, + "pct_mined_5m": 0, + "total_seen_5m": 97, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 20, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 1, + "sum": 7.0040625, + "tx_atabove": 4135, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 2.2, + "pct_mined_5m": 0, + "total_seen_5m": 433, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 68, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 0, + "sum": 6.9986625, + "tx_atabove": 4126, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 50, + "gasprice": 2.3, + "pct_mined_5m": 0, + "total_seen_5m": 14, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 0, + "sum": 6.9980625, + "tx_atabove": 4125, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 2.4, + "pct_mined_5m": 0, + "total_seen_5m": 4, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 20, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 37, + "sum": 6.9956625, + "tx_atabove": 4121, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 75, + "gasprice": 2.5, + "pct_mined_5m": 0, + "total_seen_5m": 45, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 79, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 0, + "sum": 6.9788625, + "tx_atabove": 4093, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 2.6, + "pct_mined_5m": 0, + "total_seen_5m": 3, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 27.5, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 100, + "sum": 6.9764625, + "tx_atabove": 4089, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 2.7, + "pct_mined_5m": 0, + "total_seen_5m": 3, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 22.5, + "hashpower_accepting2": 7.7447833066, + "pct_remaining5m": 66, + "sum": 6.9740625, + "tx_atabove": 4085, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 2.8, + "pct_mined_5m": 0, + "total_seen_5m": 6, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 20, + "hashpower_accepting2": 7.7548154093, + "pct_remaining5m": 38, + "sum": 6.9686625, + "tx_atabove": 4076, + "hashpower_accepting": 11.4583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 2.9, + "pct_mined_5m": 2, + "total_seen_5m": 36, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 27, + "hashpower_accepting2": 11.5268860353, + "pct_remaining5m": 77, + "sum": 6.8307, + "tx_atabove": 4057, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 127, + "int2": 6.9238, + "pct_remaining30m": 48, + "gasprice": 3, + "pct_mined_5m": 0, + "total_seen_5m": 322, + "pct_mined_30m": 39, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 67, + "hashpower_accepting2": 11.5268860353, + "pct_remaining5m": 100, + "sum": 6.5697, + "tx_atabove": 3622, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 85, + "int2": 6.9238, + "pct_remaining30m": 98, + "gasprice": 3.1, + "pct_mined_5m": 0, + "total_seen_5m": 79, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 71, + "hashpower_accepting2": 11.5268860353, + "pct_remaining5m": 100, + "sum": 6.4311, + "tx_atabove": 3391, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 3.2, + "pct_mined_5m": 0, + "total_seen_5m": 4, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 62, + "hashpower_accepting2": 11.5268860353, + "pct_remaining5m": 100, + "sum": 6.4209, + "tx_atabove": 3374, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 14, + "int2": 6.9238, + "pct_remaining30m": 92, + "gasprice": 3.3, + "pct_mined_5m": 0, + "total_seen_5m": 7, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1472, + "hashpower_accepting2": 11.5569823435, + "pct_remaining5m": 100, + "sum": 6.3951, + "tx_atabove": 3331, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 29, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 3.4, + "pct_mined_5m": 0, + "total_seen_5m": 27, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 307, + "hashpower_accepting2": 11.5670144462, + "pct_remaining5m": 100, + "sum": 6.1521, + "tx_atabove": 2926, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 3.7, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1399, + "hashpower_accepting2": 11.577046549, + "pct_remaining5m": 100, + "sum": 6.1395, + "tx_atabove": 2905, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 3.9, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1005, + "hashpower_accepting2": 11.5971107544, + "pct_remaining5m": 88, + "sum": 6.1035, + "tx_atabove": 2845, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 88, + "gasprice": 4, + "pct_mined_5m": 0, + "total_seen_5m": 9, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1546, + "hashpower_accepting2": 11.6171749599, + "pct_remaining5m": null, + "sum": 5.6151, + "tx_atabove": 2031, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 4.1, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1065, + "hashpower_accepting2": 11.6171749599, + "pct_remaining5m": 100, + "sum": 5.5509, + "tx_atabove": 1924, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 4.3, + "pct_mined_5m": 0, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 459, + "hashpower_accepting2": 11.6171749599, + "pct_remaining5m": 50, + "sum": 5.5137, + "tx_atabove": 1862, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 4.4, + "pct_mined_5m": 0, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 298, + "hashpower_accepting2": 11.6171749599, + "pct_remaining5m": null, + "sum": 5.4903, + "tx_atabove": 1823, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 4.7, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 812, + "hashpower_accepting2": 11.6472712681, + "pct_remaining5m": 0, + "sum": 5.4831, + "tx_atabove": 1811, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 4.8, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 541, + "hashpower_accepting2": 11.6472712681, + "pct_remaining5m": 100, + "sum": 5.4375, + "tx_atabove": 1735, + "hashpower_accepting": 16.6666666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 4.9, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1134, + "hashpower_accepting2": 11.7375601926, + "pct_remaining5m": 100, + "sum": 5.41824375, + "tx_atabove": 1724, + "hashpower_accepting": 17.1875, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 5, + "pct_mined_5m": 0, + "total_seen_5m": 5, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1958, + "hashpower_accepting2": 11.7676565008, + "pct_remaining5m": null, + "sum": 4.9567875, + "tx_atabove": 976, + "hashpower_accepting": 17.7083333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 5.2, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1203.5, + "hashpower_accepting2": 11.8077849117, + "pct_remaining5m": null, + "sum": 4.9507875, + "tx_atabove": 966, + "hashpower_accepting": 17.7083333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 5.3, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 677.5, + "hashpower_accepting2": 11.8378812199, + "pct_remaining5m": null, + "sum": 4.9141875, + "tx_atabove": 905, + "hashpower_accepting": 17.7083333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 100, + "gasprice": 5.5, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 250.99, + "avgdiff": 0, + "expectedWait": 1000, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 3, + "hashpower_accepting2": 13.3928571429, + "pct_remaining5m": 0, + "sum": 3.16120625, + "tx_atabove": 832, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6, + "pct_mined_5m": 100, + "total_seen_5m": 12, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.92, + "avgdiff": 1, + "expectedWait": 23.5990451154, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.0248796148, + "pct_remaining5m": 0, + "sum": 3.10120625, + "tx_atabove": 732, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 6.1, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.58, + "avgdiff": 1, + "expectedWait": 22.2247437161, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 14.1753611557, + "pct_remaining5m": 0, + "sum": 3.09640625, + "tx_atabove": 724, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.2, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.55, + "avgdiff": 1, + "expectedWait": 22.1183205662, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.3459069021, + "pct_remaining5m": 0, + "sum": 3.09580625, + "tx_atabove": 723, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 6.3, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.55, + "avgdiff": 1, + "expectedWait": 22.1050535543, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.3960674157, + "pct_remaining5m": 0, + "sum": 3.09460625, + "tx_atabove": 721, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.4, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0785433993, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.5465489567, + "pct_remaining5m": 0, + "sum": 3.09460625, + "tx_atabove": 721, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.5, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0785433993, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.5666131621, + "pct_remaining5m": null, + "sum": 3.09460625, + "tx_atabove": 721, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.6, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0785433993, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 2, + "hashpower_accepting2": 14.6769662921, + "pct_remaining5m": null, + "sum": 3.09460625, + "tx_atabove": 721, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.7, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0785433993, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.7070626003, + "pct_remaining5m": null, + "sum": 3.09400625, + "tx_atabove": 720, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 6.8, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0653002466, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 14.7271268058, + "pct_remaining5m": 0, + "sum": 3.09400625, + "tx_atabove": 720, + "hashpower_accepting": 20.3125, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 6.9, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.54, + "avgdiff": 1, + "expectedWait": 22.0653002466, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 3, + "hashpower_accepting2": 15.4795345104, + "pct_remaining5m": 0, + "sum": 3.06749375, + "tx_atabove": 718, + "hashpower_accepting": 21.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 11, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 7, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.39, + "avgdiff": 1, + "expectedWait": 21.4879808804, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 15.5898876404, + "pct_remaining5m": 0, + "sum": 3.06089375, + "tx_atabove": 707, + "hashpower_accepting": 21.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 7.1, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.36, + "avgdiff": 1, + "expectedWait": 21.3466271869, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 15.5999197432, + "pct_remaining5m": null, + "sum": 3.06029375, + "tx_atabove": 706, + "hashpower_accepting": 21.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 7.2, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.35, + "avgdiff": 1, + "expectedWait": 21.3338230522, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 15.8507223114, + "pct_remaining5m": 0, + "sum": 3.05969375, + "tx_atabove": 705, + "hashpower_accepting": 21.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 7.6, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.35, + "avgdiff": 1, + "expectedWait": 21.3210265977, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 15.8607544141, + "pct_remaining5m": null, + "sum": 3.05909375, + "tx_atabove": 704, + "hashpower_accepting": 21.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 7.7, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 0, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 5.35, + "avgdiff": 1, + "expectedWait": 21.3082378187, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 18.86035313, + "pct_remaining5m": 0, + "sum": 2.8933625, + "tx_atabove": 702, + "hashpower_accepting": 28.125, + "hpa_coef2": -0.067, + "total_seen_30m": 30, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8, + "pct_mined_5m": 100, + "total_seen_5m": 37, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.53, + "avgdiff": 1, + "expectedWait": 18.053913939, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 19.1011235955, + "pct_remaining5m": 0, + "sum": 2.85250625, + "tx_atabove": 655, + "hashpower_accepting": 28.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.1, + "pct_mined_5m": 100, + "total_seen_5m": 5, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.35, + "avgdiff": 1, + "expectedWait": 17.331163684, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 19.1613162119, + "pct_remaining5m": 0, + "sum": 2.84890625, + "tx_atabove": 649, + "hashpower_accepting": 28.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.2, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.33, + "avgdiff": 1, + "expectedWait": 17.268883666, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 19.231540931, + "pct_remaining5m": 0, + "sum": 2.8097375, + "tx_atabove": 647, + "hashpower_accepting": 30.2083333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 8.4, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.17, + "avgdiff": 1, + "expectedWait": 16.6055586875, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 19.5224719101, + "pct_remaining5m": 0, + "sum": 2.777225, + "tx_atabove": 635, + "hashpower_accepting": 31.25, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.5, + "pct_mined_5m": 100, + "total_seen_5m": 12, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.03, + "avgdiff": 1, + "expectedWait": 16.0743526708, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 19.7331460674, + "pct_remaining5m": 0, + "sum": 2.774225, + "tx_atabove": 630, + "hashpower_accepting": 31.25, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.6, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 4.02, + "avgdiff": 1, + "expectedWait": 16.0262018751, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 19.8033707865, + "pct_remaining5m": 0, + "sum": 2.72905625, + "tx_atabove": 618, + "hashpower_accepting": 32.8125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.8, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 3.84, + "avgdiff": 1, + "expectedWait": 15.3184234339, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 19.9638844302, + "pct_remaining5m": 0, + "sum": 2.6954, + "tx_atabove": 583, + "hashpower_accepting": 33.3333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 8.9, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 3.72, + "avgdiff": 1, + "expectedWait": 14.8114421454, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 23.6155698234, + "pct_remaining5m": 0, + "sum": 2.3937875, + "tx_atabove": 460, + "hashpower_accepting": 42.7083333333, + "hpa_coef2": -0.067, + "total_seen_30m": 43, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9, + "pct_mined_5m": 100, + "total_seen_5m": 120, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.75, + "avgdiff": 1, + "expectedWait": 10.9549071782, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 24.0268860353, + "pct_remaining5m": 0, + "sum": 2.30313125, + "tx_atabove": 330, + "hashpower_accepting": 43.2291666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.1, + "pct_mined_5m": 100, + "total_seen_5m": 23, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.51, + "avgdiff": 1, + "expectedWait": 10.0054630618, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 24.1472712681, + "pct_remaining5m": 0, + "sum": 2.287475, + "tx_atabove": 325, + "hashpower_accepting": 43.75, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 9.2, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.47, + "avgdiff": 1, + "expectedWait": 9.8500349165, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 24.2174959872, + "pct_remaining5m": 0, + "sum": 2.2609625, + "tx_atabove": 323, + "hashpower_accepting": 44.7916666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 9.3, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.41, + "avgdiff": 1, + "expectedWait": 9.5923173304, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 24.3880417335, + "pct_remaining5m": 0, + "sum": 2.22239375, + "tx_atabove": 322, + "hashpower_accepting": 46.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.4, + "pct_mined_5m": 100, + "total_seen_5m": 7, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.32, + "avgdiff": 1, + "expectedWait": 9.2293973144, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 24.5284911717, + "pct_remaining5m": 0, + "sum": 2.2091375, + "tx_atabove": 321, + "hashpower_accepting": 46.875, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.5, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.29, + "avgdiff": 1, + "expectedWait": 9.1078574773, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 24.7391653291, + "pct_remaining5m": 0, + "sum": 2.2073375, + "tx_atabove": 318, + "hashpower_accepting": 46.875, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.6, + "pct_mined_5m": 100, + "total_seen_5m": 8, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.28, + "avgdiff": 1, + "expectedWait": 9.0914780797, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 24.9699036918, + "pct_remaining5m": 0, + "sum": 2.182025, + "tx_atabove": 318, + "hashpower_accepting": 47.9166666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.7, + "pct_mined_5m": 88, + "total_seen_5m": 9, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.22, + "avgdiff": 1, + "expectedWait": 8.8642381788, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 2, + "hashpower_accepting2": 25.1203852327, + "pct_remaining5m": 0, + "sum": 2.16936875, + "tx_atabove": 318, + "hashpower_accepting": 48.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.8, + "pct_mined_5m": 75, + "total_seen_5m": 4, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.2, + "avgdiff": 1, + "expectedWait": 8.7527571186, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 25.1705457464, + "pct_remaining5m": 0, + "sum": 2.1561125, + "tx_atabove": 317, + "hashpower_accepting": 48.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 9.9, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 2.17, + "avgdiff": 1, + "expectedWait": 8.637494048, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 36.3864365971, + "pct_remaining5m": 0, + "sum": 1.769825, + "tx_atabove": 306, + "hashpower_accepting": 64.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 353, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10, + "pct_mined_5m": 99, + "total_seen_5m": 245, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.47, + "avgdiff": 1, + "expectedWait": 5.8698260519, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 36.536918138, + "pct_remaining5m": 0, + "sum": 1.733225, + "tx_atabove": 245, + "hashpower_accepting": 64.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.1, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.42, + "avgdiff": 1, + "expectedWait": 5.658874382, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 36.7576243981, + "pct_remaining5m": 0, + "sum": 1.733225, + "tx_atabove": 245, + "hashpower_accepting": 64.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.2, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.42, + "avgdiff": 1, + "expectedWait": 5.658874382, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 36.8378812199, + "pct_remaining5m": 0, + "sum": 1.732625, + "tx_atabove": 244, + "hashpower_accepting": 64.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.3, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.42, + "avgdiff": 1, + "expectedWait": 5.6554800758, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 36.8679775281, + "pct_remaining5m": 0, + "sum": 1.732025, + "tx_atabove": 243, + "hashpower_accepting": 64.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.4, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.42, + "avgdiff": 1, + "expectedWait": 5.6520878055, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 37.8109951846, + "pct_remaining5m": 0, + "sum": 1.69405625, + "tx_atabove": 243, + "hashpower_accepting": 66.1458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 12, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.5, + "pct_mined_5m": 100, + "total_seen_5m": 53, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.37, + "avgdiff": 1, + "expectedWait": 5.4415081179, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 37.871187801, + "pct_remaining5m": 0, + "sum": 1.69285625, + "tx_atabove": 241, + "hashpower_accepting": 66.1458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.7, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.36, + "avgdiff": 1, + "expectedWait": 5.4349822245, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 38.1019261637, + "pct_remaining5m": 0, + "sum": 1.69285625, + "tx_atabove": 241, + "hashpower_accepting": 66.1458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.8, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.36, + "avgdiff": 1, + "expectedWait": 5.4349822245, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 38.1821829856, + "pct_remaining5m": 0, + "sum": 1.68565625, + "tx_atabove": 229, + "hashpower_accepting": 66.1458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 10.9, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.35, + "avgdiff": 1, + "expectedWait": 5.3959908897, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 40.7002407705, + "pct_remaining5m": 0, + "sum": 1.520525, + "tx_atabove": 228, + "hashpower_accepting": 72.9166666667, + "hpa_coef2": -0.067, + "total_seen_30m": 84, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11, + "pct_mined_5m": 100, + "total_seen_5m": 84, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.15, + "avgdiff": 1, + "expectedWait": 4.5746262436, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 40.8206260032, + "pct_remaining5m": 0, + "sum": 1.507325, + "tx_atabove": 206, + "hashpower_accepting": 72.9166666667, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.1, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.13, + "avgdiff": 1, + "expectedWait": 4.5146379708, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 40.8908507223, + "pct_remaining5m": 0, + "sum": 1.507325, + "tx_atabove": 206, + "hashpower_accepting": 72.9166666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.2, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.13, + "avgdiff": 1, + "expectedWait": 4.5146379708, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.4024879615, + "pct_remaining5m": 0, + "sum": 1.49466875, + "tx_atabove": 206, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 15, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.4, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4578596422, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.4827447833, + "pct_remaining5m": 0, + "sum": 1.49466875, + "tx_atabove": 206, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.5, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4578596422, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.6131621188, + "pct_remaining5m": 0, + "sum": 1.49406875, + "tx_atabove": 205, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 8, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.6, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4551857287, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.6332263242, + "pct_remaining5m": 0, + "sum": 1.49406875, + "tx_atabove": 205, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.7, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4551857287, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.753611557, + "pct_remaining5m": 0, + "sum": 1.49406875, + "tx_atabove": 205, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.8, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4551857287, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 41.7736757624, + "pct_remaining5m": null, + "sum": 1.49406875, + "tx_atabove": 205, + "hashpower_accepting": 73.4375, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 11.9, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.12, + "avgdiff": 1, + "expectedWait": 4.4551857287, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 44.7030497592, + "pct_remaining5m": 0, + "sum": 1.41813125, + "tx_atabove": 205, + "hashpower_accepting": 76.5625, + "hpa_coef2": -0.067, + "total_seen_30m": 96, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12, + "pct_mined_5m": 100, + "total_seen_5m": 39, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.04, + "avgdiff": 1, + "expectedWait": 4.1293964158, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 44.9036918138, + "pct_remaining5m": 0, + "sum": 1.399475, + "tx_atabove": 195, + "hashpower_accepting": 77.0833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 11, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.1, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1.02, + "avgdiff": 1, + "expectedWait": 4.0530715456, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 45.0341091493, + "pct_remaining5m": null, + "sum": 1.38681875, + "tx_atabove": 195, + "hashpower_accepting": 77.6041666667, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.2, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 1, + "avgdiff": 1, + "expectedWait": 4.0020981056, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.1845906902, + "pct_remaining5m": 0, + "sum": 1.3735625, + "tx_atabove": 194, + "hashpower_accepting": 78.125, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.3, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.99, + "avgdiff": 1, + "expectedWait": 3.9493953846, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.1946227929, + "pct_remaining5m": null, + "sum": 1.3735625, + "tx_atabove": 194, + "hashpower_accepting": 78.125, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.4, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.99, + "avgdiff": 1, + "expectedWait": 3.9493953846, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.3752006421, + "pct_remaining5m": 0, + "sum": 1.36090625, + "tx_atabove": 194, + "hashpower_accepting": 78.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 10, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.5, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.98, + "avgdiff": 1, + "expectedWait": 3.8997258274, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.4955858748, + "pct_remaining5m": 0, + "sum": 1.36090625, + "tx_atabove": 194, + "hashpower_accepting": 78.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.6, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.98, + "avgdiff": 1, + "expectedWait": 3.8997258274, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.525682183, + "pct_remaining5m": null, + "sum": 1.36090625, + "tx_atabove": 194, + "hashpower_accepting": 78.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.7, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.98, + "avgdiff": 1, + "expectedWait": 3.8997258274, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.5858747994, + "pct_remaining5m": 0, + "sum": 1.36090625, + "tx_atabove": 194, + "hashpower_accepting": 78.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.8, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.98, + "avgdiff": 1, + "expectedWait": 3.8997258274, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 45.636035313, + "pct_remaining5m": 0, + "sum": 1.36090625, + "tx_atabove": 194, + "hashpower_accepting": 78.6458333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 12.9, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.98, + "avgdiff": 1, + "expectedWait": 3.8997258274, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 46.9903691814, + "pct_remaining5m": 0, + "sum": 1.31028125, + "tx_atabove": 194, + "hashpower_accepting": 80.7291666667, + "hpa_coef2": -0.067, + "total_seen_30m": 47, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13, + "pct_mined_5m": 100, + "total_seen_5m": 34, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.93, + "avgdiff": 1, + "expectedWait": 3.7072162202, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 47.5321027287, + "pct_remaining5m": 0, + "sum": 1.292825, + "tx_atabove": 186, + "hashpower_accepting": 81.25, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.2, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.91, + "avgdiff": 1, + "expectedWait": 3.6430636874, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 47.5621990369, + "pct_remaining5m": 0, + "sum": 1.292825, + "tx_atabove": 186, + "hashpower_accepting": 81.25, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.3, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.91, + "avgdiff": 1, + "expectedWait": 3.6430636874, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 47.632423756, + "pct_remaining5m": null, + "sum": 1.292825, + "tx_atabove": 186, + "hashpower_accepting": 81.25, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.4, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.91, + "avgdiff": 1, + "expectedWait": 3.6430636874, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0.5, + "hashpower_accepting2": 48.1440609952, + "pct_remaining5m": 0, + "sum": 1.28016875, + "tx_atabove": 186, + "hashpower_accepting": 81.7708333333, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.5, + "pct_mined_5m": 100, + "total_seen_5m": 21, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.9, + "avgdiff": 1, + "expectedWait": 3.5972467097, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 48.4550561798, + "pct_remaining5m": 0, + "sum": 1.2651125, + "tx_atabove": 182, + "hashpower_accepting": 82.2916666667, + "hpa_coef2": -0.067, + "total_seen_30m": 10, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.6, + "pct_mined_5m": 100, + "total_seen_5m": 10, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.89, + "avgdiff": 1, + "expectedWait": 3.5434913565, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 55.9590690209, + "pct_remaining5m": 0, + "sum": 1.2398, + "tx_atabove": 182, + "hashpower_accepting": 83.3333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 253, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.7, + "pct_mined_5m": 100, + "total_seen_5m": 212, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.87, + "avgdiff": 1, + "expectedWait": 3.4549224112, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 56.0593900482, + "pct_remaining5m": 0, + "sum": 1.226, + "tx_atabove": 159, + "hashpower_accepting": 83.3333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.8, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.86, + "avgdiff": 1, + "expectedWait": 3.4075719515, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 56.1095505618, + "pct_remaining5m": 0, + "sum": 1.226, + "tx_atabove": 159, + "hashpower_accepting": 83.3333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 13.9, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.86, + "avgdiff": 1, + "expectedWait": 3.4075719515, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0.5, + "hashpower_accepting2": 59.6408507223, + "pct_remaining5m": 0, + "sum": 1.13740625, + "tx_atabove": 159, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 119, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14, + "pct_mined_5m": 100, + "total_seen_5m": 115, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1186688184, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 59.7311396469, + "pct_remaining5m": 0, + "sum": 1.13440625, + "tx_atabove": 154, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 14.1, + "pct_mined_5m": 100, + "total_seen_5m": 5, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1093268319, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 59.8214285714, + "pct_remaining5m": 0, + "sum": 1.13440625, + "tx_atabove": 154, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.2, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1093268319, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 60.1524879615, + "pct_remaining5m": 0, + "sum": 1.13380625, + "tx_atabove": 153, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.4, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1074617954, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 60.1725521669, + "pct_remaining5m": 0, + "sum": 1.13320625, + "tx_atabove": 152, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.5, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1055978775, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 60.2528089888, + "pct_remaining5m": 0, + "sum": 1.13320625, + "tx_atabove": 152, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.6, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1055978775, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 60.6440609952, + "pct_remaining5m": 0, + "sum": 1.13320625, + "tx_atabove": 152, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 10, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.7, + "pct_mined_5m": 100, + "total_seen_5m": 10, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1055978775, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 60.6641252006, + "pct_remaining5m": 0, + "sum": 1.13320625, + "tx_atabove": 152, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.8, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1055978775, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 60.6942215088, + "pct_remaining5m": null, + "sum": 1.13320625, + "tx_atabove": 152, + "hashpower_accepting": 86.9791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 14.9, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.78, + "avgdiff": 1, + "expectedWait": 3.1055978775, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 62.9113162119, + "pct_remaining5m": 0, + "sum": 1.0952375, + "tx_atabove": 152, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 65, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15, + "pct_mined_5m": 100, + "total_seen_5m": 48, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.75, + "avgdiff": 1, + "expectedWait": 2.9898926986, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 63.4129213483, + "pct_remaining5m": 0, + "sum": 1.0910375, + "tx_atabove": 145, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 11, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15.1, + "pct_mined_5m": 100, + "total_seen_5m": 8, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.75, + "avgdiff": 1, + "expectedWait": 2.9773614832, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 64.4161316212, + "pct_remaining5m": 0, + "sum": 1.0886375, + "tx_atabove": 141, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15.5, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.75, + "avgdiff": 1, + "expectedWait": 2.9702243836, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 64.4863563403, + "pct_remaining5m": 0, + "sum": 1.0820375, + "tx_atabove": 130, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15.6, + "pct_mined_5m": 50, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9506854521, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 66.1817817014, + "pct_remaining5m": 0, + "sum": 1.0820375, + "tx_atabove": 130, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 24, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15.7, + "pct_mined_5m": 100, + "total_seen_5m": 17, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9506854521, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 66.2620385233, + "pct_remaining5m": 0, + "sum": 1.0766375, + "tx_atabove": 121, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 15.8, + "pct_mined_5m": 83, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9347946943, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 67.2853130016, + "pct_remaining5m": 0, + "sum": 1.0766375, + "tx_atabove": 121, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 15, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16, + "pct_mined_5m": 100, + "total_seen_5m": 11, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9347946943, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 67.2953451043, + "pct_remaining5m": null, + "sum": 1.0748375, + "tx_atabove": 118, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16.1, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9295168154, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 67.4458266453, + "pct_remaining5m": 0, + "sum": 1.0748375, + "tx_atabove": 118, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16.2, + "pct_mined_5m": 100, + "total_seen_5m": 7, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9295168154, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 67.455858748, + "pct_remaining5m": 0, + "sum": 1.0748375, + "tx_atabove": 118, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 16.3, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9295168154, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 67.6565008026, + "pct_remaining5m": 0, + "sum": 1.0748375, + "tx_atabove": 118, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16.4, + "pct_mined_5m": 100, + "total_seen_5m": 7, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.74, + "avgdiff": 1, + "expectedWait": 2.9295168154, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 67.7267255217, + "pct_remaining5m": 0, + "sum": 1.0742375, + "tx_atabove": 117, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16.5, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9277596325, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 68.6697431782, + "pct_remaining5m": 0, + "sum": 1.0742375, + "tx_atabove": 117, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 42, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 16.7, + "pct_mined_5m": 100, + "total_seen_5m": 27, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9277596325, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 68.8904494382, + "pct_remaining5m": 0, + "sum": 1.0718375, + "tx_atabove": 113, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 11, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 17, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9207414346, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 69.0308988764, + "pct_remaining5m": 0, + "sum": 1.0712375, + "tx_atabove": 112, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 8, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 17.1, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9189895153, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.0409309791, + "pct_remaining5m": null, + "sum": 1.0706375, + "tx_atabove": 111, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 17.3, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9172386469, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.0710272873, + "pct_remaining5m": 0, + "sum": 1.0706375, + "tx_atabove": 111, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 17.5, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9172386469, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.08105939, + "pct_remaining5m": 0, + "sum": 1.0706375, + "tx_atabove": 111, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 17.6, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9172386469, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.1011235955, + "pct_remaining5m": null, + "sum": 1.0706375, + "tx_atabove": 111, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 17.8, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9172386469, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.1111556982, + "pct_remaining5m": 0, + "sum": 1.0706375, + "tx_atabove": 111, + "hashpower_accepting": 88.5416666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 17.9, + "pct_mined_5m": 0, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.73, + "avgdiff": 1, + "expectedWait": 2.9172386469, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.7632423756, + "pct_remaining5m": 0, + "sum": 1.05798125, + "tx_atabove": 111, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": 16, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 18, + "pct_mined_5m": 100, + "total_seen_5m": 16, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.8805500054, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.7732744783, + "pct_remaining5m": 0, + "sum": 1.05618125, + "tx_atabove": 108, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 18.1, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.875369679, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.8134028892, + "pct_remaining5m": 0, + "sum": 1.05618125, + "tx_atabove": 108, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 18.5, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.875369679, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.823434992, + "pct_remaining5m": 0, + "sum": 1.05618125, + "tx_atabove": 108, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 18.7, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.875369679, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.8535313002, + "pct_remaining5m": null, + "sum": 1.05618125, + "tx_atabove": 108, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 18.8, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.875369679, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 69.8735955056, + "pct_remaining5m": 0, + "sum": 1.05618125, + "tx_atabove": 108, + "hashpower_accepting": 89.0625, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 18.9, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.72, + "avgdiff": 1, + "expectedWait": 2.875369679, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.3150080257, + "pct_remaining5m": 0, + "sum": 1.043525, + "tx_atabove": 108, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 13, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 19, + "pct_mined_5m": 100, + "total_seen_5m": 11, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8392076024, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.3350722311, + "pct_remaining5m": 0, + "sum": 1.042325, + "tx_atabove": 106, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 19.3, + "pct_mined_5m": 66, + "total_seen_5m": 3, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8358025967, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.3752006421, + "pct_remaining5m": 0, + "sum": 1.042325, + "tx_atabove": 106, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 19.4, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8358025967, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.3852327448, + "pct_remaining5m": null, + "sum": 1.042325, + "tx_atabove": 106, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 19.5, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8358025967, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.4052969502, + "pct_remaining5m": null, + "sum": 1.042325, + "tx_atabove": 106, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 19.8, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8358025967, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 70.8266452648, + "pct_remaining5m": 0, + "sum": 1.042325, + "tx_atabove": 106, + "hashpower_accepting": 89.5833333333, + "hpa_coef2": -0.067, + "total_seen_30m": 18, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 19.9, + "pct_mined_5m": 100, + "total_seen_5m": 10, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.71, + "avgdiff": 1, + "expectedWait": 2.8358025967, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 75.2708667737, + "pct_remaining5m": 0, + "sum": 0.90310625, + "tx_atabove": 106, + "hashpower_accepting": 95.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 144, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 20, + "pct_mined_5m": 100, + "total_seen_5m": 185, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.62, + "avgdiff": 1, + "expectedWait": 2.4672551317, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 75.3009630819, + "pct_remaining5m": null, + "sum": 0.89650625, + "tx_atabove": 95, + "hashpower_accepting": 95.3125, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 20.2, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.62, + "avgdiff": 1, + "expectedWait": 2.4510248666, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 75.3210272873, + "pct_remaining5m": 0, + "sum": 0.89650625, + "tx_atabove": 95, + "hashpower_accepting": 95.3125, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 20.3, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.62, + "avgdiff": 1, + "expectedWait": 2.4510248666, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 77.7387640449, + "pct_remaining5m": 0, + "sum": 0.88385, + "tx_atabove": 95, + "hashpower_accepting": 95.8333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 24, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 20.5, + "pct_mined_5m": 100, + "total_seen_5m": 9, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.61, + "avgdiff": 1, + "expectedWait": 2.420199561, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 77.7688603531, + "pct_remaining5m": 0, + "sum": 0.88325, + "tx_atabove": 94, + "hashpower_accepting": 95.8333333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 20.7, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.61, + "avgdiff": 1, + "expectedWait": 2.4187478768, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 77.9093097913, + "pct_remaining5m": null, + "sum": 0.87059375, + "tx_atabove": 94, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 20.9, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3883285027, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 79.7752808989, + "pct_remaining5m": 0, + "sum": 0.87059375, + "tx_atabove": 94, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 39, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 21, + "pct_mined_5m": 100, + "total_seen_5m": 36, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3883285027, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 79.7953451043, + "pct_remaining5m": 0, + "sum": 0.86819375, + "tx_atabove": 90, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 21.1, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3826033871, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 79.8154093098, + "pct_remaining5m": null, + "sum": 0.86819375, + "tx_atabove": 90, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 21.4, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3826033871, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 79.845505618, + "pct_remaining5m": 0, + "sum": 0.86819375, + "tx_atabove": 90, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 21.7, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3826033871, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.3069823435, + "pct_remaining5m": 0, + "sum": 0.86819375, + "tx_atabove": 90, + "hashpower_accepting": 96.3541666667, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 21.9, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.6, + "avgdiff": 1, + "expectedWait": 2.3826033871, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.8888443018, + "pct_remaining5m": 0, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 13, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 22, + "pct_mined_5m": 100, + "total_seen_5m": 13, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.9089085072, + "pct_remaining5m": null, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 22.1, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.91894061, + "pct_remaining5m": 0, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 22.2, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.9289727127, + "pct_remaining5m": null, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 22.3, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.9490369181, + "pct_remaining5m": 0, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 22.5, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.9791332263, + "pct_remaining5m": 0, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 22.8, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 80.9891653291, + "pct_remaining5m": null, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 22.9, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 81.47070626, + "pct_remaining5m": 0, + "sum": 0.8555375, + "tx_atabove": 90, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 15, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 23, + "pct_mined_5m": 100, + "total_seen_5m": 19, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.352638584, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.4907704655, + "pct_remaining5m": 0, + "sum": 0.8531375, + "tx_atabove": 86, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 23.1, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3469990216, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.5108346709, + "pct_remaining5m": 0, + "sum": 0.8525375, + "tx_atabove": 85, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 23.3, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3455912446, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.6011235955, + "pct_remaining5m": 0, + "sum": 0.8525375, + "tx_atabove": 85, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 23.7, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3455912446, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.621187801, + "pct_remaining5m": 0, + "sum": 0.8525375, + "tx_atabove": 85, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 23.9, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3455912446, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 81.8719903692, + "pct_remaining5m": 0, + "sum": 0.8525375, + "tx_atabove": 85, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 24, + "pct_mined_5m": 100, + "total_seen_5m": 9, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3455912446, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.8820224719, + "pct_remaining5m": 0, + "sum": 0.8501375, + "tx_atabove": 81, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 24.3, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3399685755, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.9121187801, + "pct_remaining5m": 0, + "sum": 0.8501375, + "tx_atabove": 81, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 24.6, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3399685755, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 81.9321829856, + "pct_remaining5m": 0, + "sum": 0.8501375, + "tx_atabove": 81, + "hashpower_accepting": 96.875, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 24.7, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.59, + "avgdiff": 1, + "expectedWait": 2.3399685755, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 83.3868378812, + "pct_remaining5m": 0, + "sum": 0.83688125, + "tx_atabove": 80, + "hashpower_accepting": 97.3958333333, + "hpa_coef2": -0.067, + "total_seen_30m": 24, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 25, + "pct_mined_5m": 100, + "total_seen_5m": 32, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.58, + "avgdiff": 1, + "expectedWait": 2.3091540608, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 83.6276083467, + "pct_remaining5m": 0, + "sum": 0.82128125, + "tx_atabove": 54, + "hashpower_accepting": 97.3958333333, + "hpa_coef2": -0.067, + "total_seen_30m": 10, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 26, + "pct_mined_5m": 100, + "total_seen_5m": 7, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.57, + "avgdiff": 1, + "expectedWait": 2.2734107799, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 83.7379614767, + "pct_remaining5m": 0, + "sum": 0.82008125, + "tx_atabove": 52, + "hashpower_accepting": 97.3958333333, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 27, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.57, + "avgdiff": 1, + "expectedWait": 2.2706843231, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 83.9887640449, + "pct_remaining5m": 0, + "sum": 0.81948125, + "tx_atabove": 51, + "hashpower_accepting": 97.3958333333, + "hpa_coef2": -0.067, + "total_seen_30m": 13, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 28, + "pct_mined_5m": 100, + "total_seen_5m": 7, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.57, + "avgdiff": 1, + "expectedWait": 2.2693223212, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 84.0690208668, + "pct_remaining5m": 0, + "sum": 0.806825, + "tx_atabove": 51, + "hashpower_accepting": 97.9166666667, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 29, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.56, + "avgdiff": 1, + "expectedWait": 2.240782197, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 85.8447030498, + "pct_remaining5m": 0, + "sum": 0.7809125, + "tx_atabove": 50, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 55, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 30, + "pct_mined_5m": 100, + "total_seen_5m": 49, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.55, + "avgdiff": 1, + "expectedWait": 2.1834637674, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 85.9751203852, + "pct_remaining5m": 0, + "sum": 0.7743125, + "tx_atabove": 39, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 31, + "pct_mined_5m": 100, + "total_seen_5m": 5, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.169100358, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.1356340289, + "pct_remaining5m": 0, + "sum": 0.7743125, + "tx_atabove": 39, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 32, + "pct_mined_5m": 100, + "total_seen_5m": 4, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.169100358, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.2760834671, + "pct_remaining5m": 0, + "sum": 0.7743125, + "tx_atabove": 39, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 33, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.169100358, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.4165329053, + "pct_remaining5m": 0, + "sum": 0.7737125, + "tx_atabove": 38, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 6, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 34, + "pct_mined_5m": 60, + "total_seen_5m": 5, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1677992881, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0.5, + "hashpower_accepting2": 86.7475922953, + "pct_remaining5m": 0, + "sum": 0.7737125, + "tx_atabove": 38, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 10, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 35, + "pct_mined_5m": 100, + "total_seen_5m": 17, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1677992881, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.7877207063, + "pct_remaining5m": 0, + "sum": 0.7725125, + "tx_atabove": 36, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 36, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1651994891, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.8579454254, + "pct_remaining5m": 0, + "sum": 0.7725125, + "tx_atabove": 36, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 37, + "pct_mined_5m": 66, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1651994891, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.908105939, + "pct_remaining5m": 0, + "sum": 0.7725125, + "tx_atabove": 36, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 38, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1651994891, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 86.9783306581, + "pct_remaining5m": 0, + "sum": 0.7725125, + "tx_atabove": 36, + "hashpower_accepting": 98.9583333333, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 39, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1651994891, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 87.4498394864, + "pct_remaining5m": 0, + "sum": 0.75985625, + "tx_atabove": 36, + "hashpower_accepting": 99.4791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 16, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 40, + "pct_mined_5m": 100, + "total_seen_5m": 14, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1379688654, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 89.6167736758, + "pct_remaining5m": 0, + "sum": 0.75805625, + "tx_atabove": 33, + "hashpower_accepting": 99.4791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 112, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 41, + "pct_mined_5m": 100, + "total_seen_5m": 57, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.54, + "avgdiff": 1, + "expectedWait": 2.1341239829, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 89.6869983949, + "pct_remaining5m": 0, + "sum": 0.75445625, + "tx_atabove": 27, + "hashpower_accepting": 99.4791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 42, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.1264549491, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 89.7070626003, + "pct_remaining5m": null, + "sum": 0.75385625, + "tx_atabove": 26, + "hashpower_accepting": 99.4791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 43, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.1251794588, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 89.9478330658, + "pct_remaining5m": 0, + "sum": 0.75385625, + "tx_atabove": 26, + "hashpower_accepting": 99.4791666667, + "hpa_coef2": -0.067, + "total_seen_30m": 9, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 44, + "pct_mined_5m": 100, + "total_seen_5m": 9, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.1251794588, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 90.088282504, + "pct_remaining5m": 0, + "sum": 0.7394, + "tx_atabove": 23, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 8, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 45, + "pct_mined_5m": 100, + "total_seen_5m": 5, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0946783304, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 90.4995987159, + "pct_remaining5m": 0, + "sum": 0.7394, + "tx_atabove": 23, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 17, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 46, + "pct_mined_5m": 100, + "total_seen_5m": 19, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0946783304, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 90.5999197432, + "pct_remaining5m": 0, + "sum": 0.7382, + "tx_atabove": 21, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 47, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0921662239, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 90.6199839486, + "pct_remaining5m": null, + "sum": 0.7382, + "tx_atabove": 21, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 48, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0921662239, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 90.6500802568, + "pct_remaining5m": null, + "sum": 0.7382, + "tx_atabove": 21, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 49, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0921662239, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 94.1412520064, + "pct_remaining5m": 0, + "sum": 0.7382, + "tx_atabove": 21, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 62, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 50, + "pct_mined_5m": 100, + "total_seen_5m": 71, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.53, + "avgdiff": 1, + "expectedWait": 2.0921662239, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 94.2114767255, + "pct_remaining5m": 0, + "sum": 0.7358, + "tx_atabove": 17, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 51, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0871510456, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 94.4422150883, + "pct_remaining5m": 0, + "sum": 0.7358, + "tx_atabove": 17, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 5, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 52, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0871510456, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 94.4723113965, + "pct_remaining5m": null, + "sum": 0.7358, + "tx_atabove": 17, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 54, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0871510456, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 94.4823434992, + "pct_remaining5m": null, + "sum": 0.7346, + "tx_atabove": 15, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 56, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0846479665, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 95.0140449438, + "pct_remaining5m": 0, + "sum": 0.7346, + "tx_atabove": 15, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 27, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 60, + "pct_mined_5m": 100, + "total_seen_5m": 17, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0846479665, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 95.6059390048, + "pct_remaining5m": 0, + "sum": 0.7334, + "tx_atabove": 13, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 28, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 61, + "pct_mined_5m": 100, + "total_seen_5m": 14, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0821478893, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 96.8699839486, + "pct_remaining5m": 0, + "sum": 0.7322, + "tx_atabove": 11, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 21, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 63, + "pct_mined_5m": 100, + "total_seen_5m": 25, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0796508104, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 1, + "hashpower_accepting2": 98.3948635634, + "pct_remaining5m": 0, + "sum": 0.7298, + "tx_atabove": 7, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 83, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 64, + "pct_mined_5m": 100, + "total_seen_5m": 38, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0746656331, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.4149277689, + "pct_remaining5m": 0, + "sum": 0.728, + "tx_atabove": 4, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 65, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0709345939, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.4951845907, + "pct_remaining5m": 0, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 66, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.5052166934, + "pct_remaining5m": null, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 69, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.5152487961, + "pct_remaining5m": null, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 70, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.5553772071, + "pct_remaining5m": 0, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 72, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.5754414125, + "pct_remaining5m": 0, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 73, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.5854735152, + "pct_remaining5m": 0, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 77, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.6055377207, + "pct_remaining5m": null, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 79, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.8663723917, + "pct_remaining5m": 0, + "sum": 0.7274, + "tx_atabove": 3, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 14, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 80, + "pct_mined_5m": 100, + "total_seen_5m": 6, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0696924058, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.8864365971, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 84, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.9466292135, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 88, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 98.9566613162, + "pct_remaining5m": null, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 90, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.0469502408, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 4, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 91, + "pct_mined_5m": 100, + "total_seen_5m": 3, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.1272070626, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 3, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 96, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.1372391653, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 97, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.1472712681, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 99, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.7090690209, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 23, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 100, + "pct_mined_5m": 100, + "total_seen_5m": 22, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.8394863563, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 7, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 101, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.9097110754, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 2, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 120, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.9297752809, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": null, + "int2": 6.9238, + "pct_remaining30m": null, + "gasprice": 134, + "pct_mined_5m": 100, + "total_seen_5m": 2, + "pct_mined_30m": null, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": 0, + "hashpower_accepting2": 99.9498394864, + "pct_remaining5m": 0, + "sum": 0.7268, + "tx_atabove": 2, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 137, + "pct_mined_5m": 100, + "total_seen_5m": 1, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0684509628, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + }, + { + "intercept": 4.8015, + "age": null, + "hashpower_accepting2": 99.9699036918, + "pct_remaining5m": null, + "sum": 0.7256, + "tx_atabove": 0, + "hashpower_accepting": 100, + "hpa_coef2": -0.067, + "total_seen_30m": 1, + "int2": 6.9238, + "pct_remaining30m": 0, + "gasprice": 180, + "pct_mined_5m": null, + "total_seen_5m": null, + "pct_mined_30m": 100, + "tx_atabove_coef": 0.0006, + "average": 600, + "safelow": 600, + "nomine": 550, + "expectedTime": 0.52, + "avgdiff": 1, + "expectedWait": 2.0659703104, + "avgdiff_coef": -1.6459, + "hpa_coef": -0.0243 + } + ], + "gasExpress": { + "safeLow": 2, + "standard": 3, + "fast": 10, + "fastest": 52, + "block_time": 15, + "blockNum": 6693030 + }, + "metametrics": { + "mockMetaMetricsResponse": true + } +} diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index a65512383305..a10dd17e3a39 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -13,7 +13,7 @@ const { installWebExt, } = require('./func') const { until } = require('selenium-webdriver') -const fetchMockResponses = require('./fetch-mocks.js') +const fetchMockResponses = require('./fetch-mocks.json') const tinyDelayMs = 200 const regularDelayMs = tinyDelayMs * 2 @@ -81,31 +81,36 @@ async function prepareExtensionForTesting () { async function setupFetchMocking (driver) { // define fetchMocking script, to be evaluated in the browser - function fetchMocking () { + function fetchMocking (fetchMockResponses) { window.origFetch = window.fetch.bind(window) window.fetch = async (...args) => { const url = args[0] if (url === 'https://ethgasstation.info/json/ethgasAPI.json') { - return { json: async () => JSON.parse(fetchMockResponses.ethGasBasic) } + return { json: async () => clone(fetchMockResponses.ethGasBasic) } } else if (url === 'https://ethgasstation.info/json/predictTable.json') { - return { json: async () => JSON.parse(fetchMockResponses.ethGasPredictTable) } + return { json: async () => clone(fetchMockResponses.ethGasPredictTable) } } else if (url.match(/chromeextensionmm/)) { - return { json: async () => JSON.parse(fetchMockResponses.metametrics) } + return { json: async () => clone(fetchMockResponses.metametrics) } } else if (url === 'https://dev.blockscale.net/api/gasexpress.json') { - return { json: async () => JSON.parse(fetchMockResponses.gasExpress) } + return { json: async () => clone(fetchMockResponses.gasExpress) } } return window.origFetch(...args) } + if (window.chrome && window.chrome.webRequest) { + window.chrome.webRequest.onBeforeRequest.addListener(cancelInfuraRequest, {urls: ['https://*.infura.io/*']}, ['blocking']) + } function cancelInfuraRequest (requestDetails) { console.log(`fetchMocking - Canceling request: "${requestDetails.url}"`) return { cancel: true } } - if (window.chrome && window.chrome.webRequest) { - window.chrome.webRequest.onBeforeRequest.addListener(cancelInfuraRequest, {urls: ['https://*.infura.io/*']}, ['blocking']) + function clone (obj) { + return JSON.parse(JSON.stringify(obj)) } } + // fetchMockResponses are parsed last minute to ensure that objects are uniquely instantiated + const fetchMockResponsesJson = JSON.stringify(fetchMockResponses) // eval the fetchMocking script in the browser - await driver.executeScript(`(${fetchMocking})()`) + await driver.executeScript(`(${fetchMocking})(${fetchMockResponsesJson})`) } async function loadExtension (driver, extensionId) { diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index cb732822fca6..68ae5b912067 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -30,7 +30,7 @@ describe('MetaMask', function () { const largeDelayMs = regularDelayMs * 2 this.timeout(0) - this.bail(true) + // this.bail(true) before(async function () { const result = await prepareExtensionForTesting() From 133ba76785f99961b244c9882df2d2cfa3bc2d55 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 23:10:24 +0800 Subject: [PATCH 26/34] test:e2e - only overwrite window.fetch once per session --- test/e2e/address-book.spec.js | 3 --- test/e2e/from-import-ui.spec.js | 3 --- test/e2e/incremental-security.spec.js | 3 --- test/e2e/metamask-responsive-ui.spec.js | 3 --- test/e2e/metamask-ui.spec.js | 3 --- test/e2e/send-edit.spec.js | 3 --- test/e2e/web3.spec.js | 3 --- 7 files changed, 21 deletions(-) diff --git a/test/e2e/address-book.spec.js b/test/e2e/address-book.spec.js index b23aa94ad018..c7d846e5a704 100644 --- a/test/e2e/address-book.spec.js +++ b/test/e2e/address-book.spec.js @@ -30,9 +30,6 @@ describe('MetaMask', function () { const result = await prepareExtensionForTesting() driver = result.driver extensionId = result.extensionId - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/from-import-ui.spec.js b/test/e2e/from-import-ui.spec.js index c0d0048f1de6..3bc31734a606 100644 --- a/test/e2e/from-import-ui.spec.js +++ b/test/e2e/from-import-ui.spec.js @@ -30,9 +30,6 @@ describe('Using MetaMask with an existing account', function () { before(async function () { const result = await prepareExtensionForTesting() driver = result.driver - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/incremental-security.spec.js b/test/e2e/incremental-security.spec.js index 7bf9d09026fb..f8d82abc3a64 100644 --- a/test/e2e/incremental-security.spec.js +++ b/test/e2e/incremental-security.spec.js @@ -32,9 +32,6 @@ describe('MetaMask', function () { const result = await prepareExtensionForTesting() driver = result.driver extensionId = result.extensionId - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/metamask-responsive-ui.spec.js b/test/e2e/metamask-responsive-ui.spec.js index 90b81df41a27..ae45c6c087cf 100644 --- a/test/e2e/metamask-responsive-ui.spec.js +++ b/test/e2e/metamask-responsive-ui.spec.js @@ -30,9 +30,6 @@ describe('MetaMask', function () { const result = await prepareExtensionForTesting() driver = result.driver extensionId = result.extensionId - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 68ae5b912067..ab75907d7450 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -36,9 +36,6 @@ describe('MetaMask', function () { const result = await prepareExtensionForTesting() driver = result.driver extensionId = result.extensionId - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/send-edit.spec.js b/test/e2e/send-edit.spec.js index c007b82fde63..3f12aaaf2c1b 100644 --- a/test/e2e/send-edit.spec.js +++ b/test/e2e/send-edit.spec.js @@ -27,9 +27,6 @@ describe('Using MetaMask with an existing account', function () { before(async function () { const result = await prepareExtensionForTesting() driver = result.driver - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) diff --git a/test/e2e/web3.spec.js b/test/e2e/web3.spec.js index e22d0e5960df..a0df97b4ed50 100644 --- a/test/e2e/web3.spec.js +++ b/test/e2e/web3.spec.js @@ -41,9 +41,6 @@ describe('Using MetaMask with an existing account', function () { before(async function () { const result = await prepareExtensionForTesting() driver = result.driver - }) - - beforeEach(async function () { await setupFetchMocking(driver) }) From 7e3f1263f21147cae75c1fb69ee36a6e5b7a41c9 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 23:43:41 +0800 Subject: [PATCH 27/34] test:e2e - refactor missed spec file --- test/e2e/ethereum-on.spec.js | 62 ++++-------------------------------- 1 file changed, 6 insertions(+), 56 deletions(-) diff --git a/test/e2e/ethereum-on.spec.js b/test/e2e/ethereum-on.spec.js index c9ef38a4a935..71ecbd70a859 100644 --- a/test/e2e/ethereum-on.spec.js +++ b/test/e2e/ethereum-on.spec.js @@ -19,8 +19,9 @@ const { verboseReportOnFailure, waitUntilXWindowHandles, switchToWindowWithTitle, + setupFetchMocking, + prepareExtensionForTesting, } = require('./helpers') -const fetchMockResponses = require('./fetch-mocks.js') describe('MetaMask', function () { let extensionId @@ -35,61 +36,10 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - let extensionUrl - switch (process.env.SELENIUM_BROWSER) { - case 'chrome': { - const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath) - extensionId = await getExtensionIdChrome(driver) - await delay(largeDelayMs) - extensionUrl = `chrome-extension://${extensionId}/home.html` - break - } - case 'firefox': { - const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver() - await installWebExt(driver, extPath) - await delay(largeDelayMs) - extensionId = await getExtensionIdFirefox(driver) - extensionUrl = `moz-extension://${extensionId}/home.html` - break - } - } - // Depending on the state of the application built into the above directory (extPath) and the value of - // METAMASK_DEBUG we will see different post-install behaviour and possibly some extra windows. Here we - // are closing any extraneous windows to reset us to a single window before continuing. - const [tab1] = await driver.getAllWindowHandles() - await closeAllWindowHandlesExcept(driver, [tab1]) - await driver.switchTo().window(tab1) - await driver.get(extensionUrl) - }) - - beforeEach(async function () { - await driver.executeScript( - 'window.origFetch = window.fetch.bind(window);' + - 'window.fetch = ' + - '(...args) => { ' + - 'if (args[0] === "https://ethgasstation.info/json/ethgasAPI.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasBasic + '\')) }); } else if ' + - '(args[0] === "https://ethgasstation.info/json/predictTable.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.ethGasPredictTable + '\')) }); } else if ' + - '(args[0].match(/chromeextensionmm/)) { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.metametrics + '\')) }); } else if ' + - '(args[0] === "https://dev.blockscale.net/api/gasexpress.json") { return ' + - 'Promise.resolve({ json: () => Promise.resolve(JSON.parse(\'' + fetchMockResponses.gasExpress + '\')) }); } ' + - 'return window.origFetch(...args); };' + - 'function cancelInfuraRequest(requestDetails) {' + - 'console.log("Canceling: " + requestDetails.url);' + - 'return {' + - 'cancel: true' + - '};' + - ' }' + - 'window.chrome && window.chrome.webRequest && window.chrome.webRequest.onBeforeRequest.addListener(' + - 'cancelInfuraRequest,' + - '{urls: ["https://*.infura.io/*"]},' + - '["blocking"]' + - ');' - ) + const result = await prepareExtensionForTesting() + driver = result.driver + extensionId = result.extensionId + await setupFetchMocking(driver) }) afterEach(async function () { From cd62cc190160328bc9259379f3c817aafd247402 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 23:43:59 +0800 Subject: [PATCH 28/34] test:e2e - fix responsie argument --- test/e2e/helpers.js | 6 +++--- test/e2e/metamask-responsive-ui.spec.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index a10dd17e3a39..7ab78e89532c 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -39,13 +39,13 @@ module.exports = { } -async function prepareExtensionForTesting () { +async function prepareExtensionForTesting ({ responsive }={}) { let driver, extensionId, extensionUrl const targetBrowser = process.env.SELENIUM_BROWSER switch (targetBrowser) { case 'chrome': { const extPath = path.resolve('dist/chrome') - driver = buildChromeWebDriver(extPath, { responsive: true }) + driver = buildChromeWebDriver(extPath, { responsive }) await delay(largeDelayMs) extensionId = await getExtensionIdChrome(driver) extensionUrl = `chrome-extension://${extensionId}/home.html` @@ -53,7 +53,7 @@ async function prepareExtensionForTesting () { } case 'firefox': { const extPath = path.resolve('dist/firefox') - driver = buildFirefoxWebdriver({ responsive: true }) + driver = buildFirefoxWebdriver({ responsive }) await installWebExt(driver, extPath) await delay(largeDelayMs) extensionId = await getExtensionIdFirefox(driver) diff --git a/test/e2e/metamask-responsive-ui.spec.js b/test/e2e/metamask-responsive-ui.spec.js index ae45c6c087cf..a413aae5c863 100644 --- a/test/e2e/metamask-responsive-ui.spec.js +++ b/test/e2e/metamask-responsive-ui.spec.js @@ -27,7 +27,7 @@ describe('MetaMask', function () { this.bail(true) before(async function () { - const result = await prepareExtensionForTesting() + const result = await prepareExtensionForTesting({ responsive: true }) driver = result.driver extensionId = result.extensionId await setupFetchMocking(driver) From e283ff181e4d39dc0b47c766863a6dc7ff2919f7 Mon Sep 17 00:00:00 2001 From: kumavis Date: Tue, 10 Sep 2019 23:45:43 +0800 Subject: [PATCH 29/34] test:e2e - fix bail condition --- test/e2e/metamask-ui.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index ab75907d7450..138967738afb 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -30,7 +30,7 @@ describe('MetaMask', function () { const largeDelayMs = regularDelayMs * 2 this.timeout(0) - // this.bail(true) + this.bail(true) before(async function () { const result = await prepareExtensionForTesting() From e6b4f88d17bdbd01737bb365c4f35905c58e078f Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 11 Sep 2019 00:11:49 +0800 Subject: [PATCH 30/34] lint fix --- test/e2e/ethereum-on.spec.js | 9 --------- test/e2e/helpers.js | 2 +- 2 files changed, 1 insertion(+), 10 deletions(-) diff --git a/test/e2e/ethereum-on.spec.js b/test/e2e/ethereum-on.spec.js index 71ecbd70a859..144da97a4e3d 100644 --- a/test/e2e/ethereum-on.spec.js +++ b/test/e2e/ethereum-on.spec.js @@ -1,18 +1,11 @@ -const path = require('path') const assert = require('assert') const webdriver = require('selenium-webdriver') const { By, until } = webdriver const { delay, - buildChromeWebDriver, - buildFirefoxWebdriver, - installWebExt, - getExtensionIdChrome, - getExtensionIdFirefox, } = require('./func') const { checkBrowserForConsoleErrors, - closeAllWindowHandlesExcept, findElement, findElements, openNewPage, @@ -24,7 +17,6 @@ const { } = require('./helpers') describe('MetaMask', function () { - let extensionId let driver let publicAddress @@ -38,7 +30,6 @@ describe('MetaMask', function () { before(async function () { const result = await prepareExtensionForTesting() driver = result.driver - extensionId = result.extensionId await setupFetchMocking(driver) }) diff --git a/test/e2e/helpers.js b/test/e2e/helpers.js index 7ab78e89532c..9e12ba8da00d 100644 --- a/test/e2e/helpers.js +++ b/test/e2e/helpers.js @@ -39,7 +39,7 @@ module.exports = { } -async function prepareExtensionForTesting ({ responsive }={}) { +async function prepareExtensionForTesting ({ responsive } = {}) { let driver, extensionId, extensionUrl const targetBrowser = process.env.SELENIUM_BROWSER switch (targetBrowser) { From 4a7c7dcda6bcd45da86a75f44eaf8e206cf5e5b6 Mon Sep 17 00:00:00 2001 From: kumavis Date: Wed, 11 Sep 2019 00:13:21 +0800 Subject: [PATCH 31/34] test:integration - fix renamed test data file --- test/integration/lib/confirm-sig-requests.js | 2 +- test/integration/lib/currency-localization.js | 2 +- test/integration/lib/tx-list-items.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/test/integration/lib/confirm-sig-requests.js b/test/integration/lib/confirm-sig-requests.js index 60566bdfe6a7..65cec89e7e8a 100644 --- a/test/integration/lib/confirm-sig-requests.js +++ b/test/integration/lib/confirm-sig-requests.js @@ -3,7 +3,7 @@ const { timeout, queryAsync, } = require('../../lib/util') -const fetchMockResponses = require('../../e2e/fetch-mocks.js') +const fetchMockResponses = require('../../e2e/fetch-mocks.json') QUnit.module('confirm sig requests') diff --git a/test/integration/lib/currency-localization.js b/test/integration/lib/currency-localization.js index 3d686d9c49c6..7485902054dd 100644 --- a/test/integration/lib/currency-localization.js +++ b/test/integration/lib/currency-localization.js @@ -4,7 +4,7 @@ const { queryAsync, findAsync, } = require('../../lib/util') -const fetchMockResponses = require('../../e2e/fetch-mocks.js') +const fetchMockResponses = require('../../e2e/fetch-mocks.json') QUnit.module('currency localization') diff --git a/test/integration/lib/tx-list-items.js b/test/integration/lib/tx-list-items.js index 4c6c3061183e..105e3d687edf 100644 --- a/test/integration/lib/tx-list-items.js +++ b/test/integration/lib/tx-list-items.js @@ -3,7 +3,7 @@ const { queryAsync, findAsync, } = require('../../lib/util') -const fetchMockResponses = require('../../e2e/fetch-mocks.js') +const fetchMockResponses = require('../../e2e/fetch-mocks.json') QUnit.module('tx list items') From e7bf250eabfd5ce95fdda02d66c53406d98762f1 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 7 Oct 2019 10:45:12 -0700 Subject: [PATCH 32/34] Do not transate on seed phrases --- .../ui/export-text-container/export-text-container.component.js | 2 +- .../seed-phrase/confirm-seed-phrase/draggable-seed.component.js | 2 +- .../reveal-seed-phrase/reveal-seed-phrase.component.js | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ui/app/components/ui/export-text-container/export-text-container.component.js b/ui/app/components/ui/export-text-container/export-text-container.component.js index c632e8f26910..21fd5ecec24e 100644 --- a/ui/app/components/ui/export-text-container/export-text-container.component.js +++ b/ui/app/components/ui/export-text-container/export-text-container.component.js @@ -12,7 +12,7 @@ class ExportTextContainer extends Component { return ( h('.export-text-container', [ h('.export-text-container__text-container', [ - h('.export-text-container__text', text), + h('.export-text-container__text.notranslate', text), ]), h('.export-text-container__buttons-container', [ h('.export-text-container__button.export-text-container__button--copy', { diff --git a/ui/app/pages/first-time-flow/seed-phrase/confirm-seed-phrase/draggable-seed.component.js b/ui/app/pages/first-time-flow/seed-phrase/confirm-seed-phrase/draggable-seed.component.js index cdb8819217ac..b0afd4c419e9 100644 --- a/ui/app/pages/first-time-flow/seed-phrase/confirm-seed-phrase/draggable-seed.component.js +++ b/ui/app/pages/first-time-flow/seed-phrase/confirm-seed-phrase/draggable-seed.component.js @@ -52,7 +52,7 @@ class DraggableSeed extends Component { return connectDropTarget(connectDragSource(
{ seedPhrase } From 4ed452e6ede368a364b704fa0362a5a5883fb28b Mon Sep 17 00:00:00 2001 From: Dan J Miller Date: Tue, 8 Oct 2019 14:44:20 -0230 Subject: [PATCH 33/34] Fix e2e tests and gas default (#7267) * Add extra delay after second send3eth.click() in the 'adds multiple transactions' test * Remove use of ARBITRARY_HIGH_BLOCK_GAS_LIMIT as fallback --- test/e2e/metamask-ui.spec.js | 11 ++++++----- ui/app/pages/send/send.constants.js | 3 --- ui/app/pages/send/send.utils.js | 3 +-- 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/test/e2e/metamask-ui.spec.js b/test/e2e/metamask-ui.spec.js index 138967738afb..eed712736e1b 100644 --- a/test/e2e/metamask-ui.spec.js +++ b/test/e2e/metamask-ui.spec.js @@ -563,22 +563,23 @@ describe('MetaMask', function () { const dapp = windowHandles[1] await driver.switchTo().window(dapp) - await delay(regularDelayMs) + await delay(largeDelayMs) const send3eth = await findElement(driver, By.xpath(`//button[contains(text(), 'Send')]`), 10000) await send3eth.click() - await delay(largeDelayMs * 2) + await delay(largeDelayMs) const contractDeployment = await findElement(driver, By.xpath(`//button[contains(text(), 'Deploy Contract')]`), 10000) await contractDeployment.click() - await delay(largeDelayMs * 2) + await delay(largeDelayMs) await send3eth.click() + await delay(largeDelayMs) await contractDeployment.click() - await delay(largeDelayMs * 2) + await delay(largeDelayMs) await driver.switchTo().window(extension) - await delay(largeDelayMs * 2) + await delay(regularDelayMs) let transactions = await findElements(driver, By.css('.transaction-list-item')) await transactions[3].click() diff --git a/ui/app/pages/send/send.constants.js b/ui/app/pages/send/send.constants.js index 52ff823cc6c6..d3fa38d10f6c 100644 --- a/ui/app/pages/send/send.constants.js +++ b/ui/app/pages/send/send.constants.js @@ -6,8 +6,6 @@ const MIN_GAS_PRICE_HEX = (parseInt(MIN_GAS_PRICE_DEC)).toString(16) const MIN_GAS_LIMIT_DEC = '21000' const MIN_GAS_LIMIT_HEX = (parseInt(MIN_GAS_LIMIT_DEC)).toString(16) -const ARBITRARY_HIGH_BLOCK_GAS_LIMIT = (parseInt('8000000')).toString(16) - const MIN_GAS_PRICE_GWEI = ethUtil.addHexPrefix(conversionUtil(MIN_GAS_PRICE_HEX, { fromDenomination: 'WEI', toDenomination: 'GWEI', @@ -60,5 +58,4 @@ module.exports = { SIMPLE_GAS_COST, TOKEN_TRANSFER_FUNCTION_SIGNATURE, BASE_TOKEN_GAS_COST, - ARBITRARY_HIGH_BLOCK_GAS_LIMIT, } diff --git a/ui/app/pages/send/send.utils.js b/ui/app/pages/send/send.utils.js index f4985e4a0653..89513bfc11ef 100644 --- a/ui/app/pages/send/send.utils.js +++ b/ui/app/pages/send/send.utils.js @@ -18,7 +18,6 @@ const { ONE_GWEI_IN_WEI_HEX, SIMPLE_GAS_COST, TOKEN_TRANSFER_FUNCTION_SIGNATURE, - ARBITRARY_HIGH_BLOCK_GAS_LIMIT, } = require('./send.constants') const abi = require('ethereumjs-abi') const ethUtil = require('ethereumjs-util') @@ -245,7 +244,7 @@ async function estimateGas ({ // if not, fall back to block gasLimit if (!blockGasLimit) { - blockGasLimit = ARBITRARY_HIGH_BLOCK_GAS_LIMIT + blockGasLimit = MIN_GAS_LIMIT_HEX } paramsForGasEstimate.gas = ethUtil.addHexPrefix(multiplyCurrencies(blockGasLimit, 0.95, { From a8bd527d7287feb3e1d456edeba60b6968d6ab7c Mon Sep 17 00:00:00 2001 From: Dan Miller Date: Fri, 4 Oct 2019 16:29:12 -0230 Subject: [PATCH 34/34] Update changelog for v7.2.3 --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b5a7d375987..81f5f74cb49a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,8 @@ ## Current Develop Branch ## 7.2.3 Fri Oct 04 2019 +- [#7252](https://github.com/MetaMask/metamask-extension/pull/7252): Fix gas limit when sending tx without data to a contract +- [#7260](https://github.com/MetaMask/metamask-extension/pull/7260): Do not transate on seed phrases ## 7.2.2 Tue Sep 24 2019 - [#7213](https://github.com/MetaMask/metamask-extension/pull/7213): Update minimum Firefox verison to 56.0