--- configure.orig 2009-07-12 12:59:06.000000000 +0200 +++ configure 2009-07-26 09:04:22.000000000 +0200 @@ -2971,9 +2971,9 @@ printf 'P1 3 3 0 0 0 0 0 0 0 0 0 0' > conftest.458086.pbm "$djvulibre_bin_path/cjb2" conftest.458086.pbm conftest.458086.p1.djvu "$djvulibre_bin_path/cjb2" conftest.458086.pbm conftest.458086.p2.djvu -printf 'AT&TFORM\0\0\0\x35DJVMDIRM\0\0\0\x29\x01\0\x02\xff\xff\xc6\xbf\x8a' > conftest.458086.djvu -printf '\x1f\xeb\x4b\xff\x40\x8e\x37\x86\x3f\x6c\xbe\x78\x02\x3c\x93\x9b' >> conftest.458086.djvu -printf '\x17\x57\x16\x67\x1d\x7a\xeb\x57\xf8\xf3\x7e\x64\x32\x42\x88\xd2\x4f' >> conftest.458086.djvu +printf 'AT&TFORM\0\0\0\065DJVMDIRM\0\0\0\051\001\0\002\377\377\306\277\212' > conftest.458086.djvu +printf '\037\353\113\377\100\216\067\206\077\154\276\170\002\074\223\233' >> conftest.458086.djvu +printf '\027\127\026\147\035\172\353\127\370\363\176\144\062\102\210\322\117' >> conftest.458086.djvu printf '(bookmarks ("" ""))' > conftest.458086.outline "$djvulibre_bin_path/djvused" -s -e 'set-outline conftest.458086.outline' conftest.458086.djvu if ! "$djvulibre_bin_path/djvused" -e print-outline conftest.458086.djvu | grep '(bookmarks' > /dev/null @@ -3173,7 +3173,7 @@ fi - +pkg_failed=untried; echo "disabled" if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then rine-wallet-browser</a></td><td class='form'><form method='get'> <input type='hidden' name='id' value='8cd7329c91b047ef15c81b164075ea6c1d15b0df'/><select name='h' onchange='this.form.submit();'> <option value='dependabot/npm_and_yarn/async-2.6.4'>dependabot/npm_and_yarn/async-2.6.4</option> <option value='dependabot/npm_and_yarn/cached-path-relative-1.1.0'>dependabot/npm_and_yarn/cached-path-relative-1.1.0</option> <option value='dependabot/npm_and_yarn/copy-props-2.0.5'>dependabot/npm_and_yarn/copy-props-2.0.5</option> <option value='dependabot/npm_and_yarn/css-what-2.1.3'>dependabot/npm_and_yarn/css-what-2.1.3</option> <option value='dependabot/npm_and_yarn/decode-uri-component-0.2.2'>dependabot/npm_and_yarn/decode-uri-component-0.2.2</option> <option value='dependabot/npm_and_yarn/eth-ledger-bridge-keyring-0.2.1'>dependabot/npm_and_yarn/eth-ledger-bridge-keyring-0.2.1</option> <option value='dependabot/npm_and_yarn/eventsource-1.1.1'>dependabot/npm_and_yarn/eventsource-1.1.1</option> <option value='dependabot/npm_and_yarn/express-4.18.2'>dependabot/npm_and_yarn/express-4.18.2</option> <option value='dependabot/npm_and_yarn/fast-json-patch-3.1.1'>dependabot/npm_and_yarn/fast-json-patch-3.1.1</option> <option value='dependabot/npm_and_yarn/follow-redirects-1.14.7'>dependabot/npm_and_yarn/follow-redirects-1.14.7</option> <option value='dependabot/npm_and_yarn/follow-redirects-1.14.8'>dependabot/npm_and_yarn/follow-redirects-1.14.8</option> <option value='dependabot/npm_and_yarn/handlebars-4.7.6'>dependabot/npm_and_yarn/handlebars-4.7.6</option> <option value='dependabot/npm_and_yarn/handlebars-4.7.7'>dependabot/npm_and_yarn/handlebars-4.7.7</option> <option value='dependabot/npm_and_yarn/hosted-git-info-2.8.9'>dependabot/npm_and_yarn/hosted-git-info-2.8.9</option> <option value='dependabot/npm_and_yarn/i-0.3.7'>dependabot/npm_and_yarn/i-0.3.7</option> <option value='dependabot/npm_and_yarn/jsdom-16.5.0'>dependabot/npm_and_yarn/jsdom-16.5.0</option> <option value='dependabot/npm_and_yarn/jszip-3.10.1'>dependabot/npm_and_yarn/jszip-3.10.1</option> <option value='dependabot/npm_and_yarn/karma-6.3.14'>dependabot/npm_and_yarn/karma-6.3.14</option> <option value='dependabot/npm_and_yarn/karma-6.3.16'>dependabot/npm_and_yarn/karma-6.3.16</option> <option value='dependabot/npm_and_yarn/lodash-es-4.17.21'>dependabot/npm_and_yarn/lodash-es-4.17.21</option> <option value='dependabot/npm_and_yarn/luxon-1.28.1'>dependabot/npm_and_yarn/luxon-1.28.1</option> <option value='dependabot/npm_and_yarn/luxon-2.5.2'>dependabot/npm_and_yarn/luxon-2.5.2</option> <option value='dependabot/npm_and_yarn/markdown-to-jsx-6.11.4'>dependabot/npm_and_yarn/markdown-to-jsx-6.11.4</option> <option value='dependabot/npm_and_yarn/merge-deep-3.0.3'>dependabot/npm_and_yarn/merge-deep-3.0.3</option> <option value='dependabot/npm_and_yarn/moment-2.29.2'>dependabot/npm_and_yarn/moment-2.29.2</option> <option value='dependabot/npm_and_yarn/moment-2.29.4'>dependabot/npm_and_yarn/moment-2.29.4</option> <option value='dependabot/npm_and_yarn/nested-object-assign-1.0.4'>dependabot/npm_and_yarn/nested-object-assign-1.0.4</option> <option value='dependabot/npm_and_yarn/node-sass-4.13.1'>dependabot/npm_and_yarn/node-sass-4.13.1</option> <option value='dependabot/npm_and_yarn/node-sass-7.0.0'>dependabot/npm_and_yarn/node-sass-7.0.0</option> <option value='dependabot/npm_and_yarn/path-parse-1.0.7'>dependabot/npm_and_yarn/path-parse-1.0.7</option> <option value='dependabot/npm_and_yarn/pathval-1.1.1'>dependabot/npm_and_yarn/pathval-1.1.1</option> <option value='dependabot/npm_and_yarn/qs-6.5.3'>dependabot/npm_and_yarn/qs-6.5.3</option> <option value='dependabot/npm_and_yarn/snyk-1.1024.0'>dependabot/npm_and_yarn/snyk-1.1024.0</option> <option value='dependabot/npm_and_yarn/ssri-6.0.2'>dependabot/npm_and_yarn/ssri-6.0.2</option> <option value='dependabot/npm_and_yarn/terser-4.8.1'>dependabot/npm_and_yarn/terser-4.8.1</option> <option value='dependabot/npm_and_yarn/thenify-3.3.1'>dependabot/npm_and_yarn/thenify-3.3.1</option> <option value='dependabot/npm_and_yarn/tree-kill-1.2.2'>dependabot/npm_and_yarn/tree-kill-1.2.2</option> <option value='dependabot/npm_and_yarn/ua-parser-js-0.7.28'>dependabot/npm_and_yarn/ua-parser-js-0.7.28</option> <option value='dependabot/npm_and_yarn/url-parse-1.5.1'>dependabot/npm_and_yarn/url-parse-1.5.1</option> <option value='dependabot/npm_and_yarn/url-parse-1.5.10'>dependabot/npm_and_yarn/url-parse-1.5.10</option> <option value='dependabot/npm_and_yarn/url-parse-1.5.3'>dependabot/npm_and_yarn/url-parse-1.5.3</option> <option value='dependabot/npm_and_yarn/url-parse-1.5.7'>dependabot/npm_and_yarn/url-parse-1.5.7</option> <option value='dependabot/npm_and_yarn/websocket-extensions-0.1.4'>dependabot/npm_and_yarn/websocket-extensions-0.1.4</option> <option value='dependabot/npm_and_yarn/xmldom-and-testem--removed'>dependabot/npm_and_yarn/xmldom-and-testem--removed</option> <option value='dependabot/npm_and_yarn/y18n-3.2.2'>dependabot/npm_and_yarn/y18n-3.2.2</option> <option value='master' selected='selected'>master</option> </select> <input type='submit' value='switch'/></form></td></tr> <tr><td class='sub'>Tangerine fork of MetaMask browser extension (https://github.com/tangerine-network/tangerine-wallet-browser)</td><td class='sub right'></td></tr></table> <table class='tabs'><tr><td> <a href='/~lantw44/cgit/tangerine-wallet-browser/about/'>about</a><a href='/~lantw44/cgit/tangerine-wallet-browser/'>summary</a><a href='/~lantw44/cgit/tangerine-wallet-browser/refs/?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>refs</a><a href='/~lantw44/cgit/tangerine-wallet-browser/log/app/scripts/lib/pending-balance-calculator.js'>log</a><a class='active' href='/~lantw44/cgit/tangerine-wallet-browser/tree/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>tree</a><a href='/~lantw44/cgit/tangerine-wallet-browser/commit/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>commit</a><a href='/~lantw44/cgit/tangerine-wallet-browser/diff/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>diff</a><a href='/~lantw44/cgit/tangerine-wallet-browser/stats/app/scripts/lib/pending-balance-calculator.js'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/tangerine-wallet-browser/log/app/scripts/lib/pending-balance-calculator.js'> <input type='hidden' name='id' value='8cd7329c91b047ef15c81b164075ea6c1d15b0df'/><select name='qt'> <option value='grep'>log msg</option> <option value='author'>author</option> <option value='committer'>committer</option> <option value='range'>range</option> </select> <input class='txt' type='search' size='10' name='q' value=''/> <input type='submit' value='search'/> </form> </td></tr></table> <div class='path'>path: <a href='/~lantw44/cgit/tangerine-wallet-browser/tree/?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>root</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/tree/app?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>app</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/tree/app/scripts?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>scripts</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/tree/app/scripts/lib?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>lib</a>/<a href='/~lantw44/cgit/tangerine-wallet-browser/tree/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>pending-balance-calculator.js</a></div><div class='content'>blob: cea642f1ade5b106834688f3999a083e51c38381 (<a href='/~lantw44/cgit/tangerine-wallet-browser/plain/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>plain</a>) (<a href='/~lantw44/cgit/tangerine-wallet-browser/blame/app/scripts/lib/pending-balance-calculator.js?id=8cd7329c91b047ef15c81b164075ea6c1d15b0df'>blame</a>) <table summary='blob content' class='blob'> <tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a> <a id='n2' href='#n2'>2</a> <a id='n3' href='#n3'>3</a> <a id='n4' href='#n4'>4</a> <a id='n5' href='#n5'>5</a> <a id='n6' href='#n6'>6</a> <a id='n7' href='#n7'>7</a> <a id='n8' href='#n8'>8</a> <a id='n9' href='#n9'>9</a> <a id='n10' href='#n10'>10</a> <a id='n11' href='#n11'>11</a> <a id='n12' href='#n12'>12</a> <a id='n13' href='#n13'>13</a> <a id='n14' href='#n14'>14</a> <a id='n15' href='#n15'>15</a> <a id='n16' href='#n16'>16</a> <a id='n17' href='#n17'>17</a> <a id='n18' href='#n18'>18</a> <a id='n19' href='#n19'>19</a> <a id='n20' href='#n20'>20</a> <a id='n21' href='#n21'>21</a> <a id='n22' href='#n22'>22</a> <a id='n23' href='#n23'>23</a> <a id='n24' href='#n24'>24</a> <a id='n25' href='#n25'>25</a> <a id='n26' href='#n26'>26</a> <a id='n27' href='#n27'>27</a> <a id='n28' href='#n28'>28</a> <a id='n29' href='#n29'>29</a> <a id='n30' href='#n30'>30</a> <a id='n31' href='#n31'>31</a> <a id='n32' href='#n32'>32</a> <a id='n33' href='#n33'>33</a> <a id='n34' href='#n34'>34</a> <a id='n35' href='#n35'>35</a> <a id='n36' href='#n36'>36</a> <a id='n37' href='#n37'>37</a> <a id='n38' href='#n38'>38</a> <a id='n39' href='#n39'>39</a> <a id='n40' href='#n40'>40</a> <a id='n41' href='#n41'>41</a> <a id='n42' href='#n42'>42</a> <a id='n43' href='#n43'>43</a> <a id='n44' href='#n44'>44</a> <a id='n45' href='#n45'>45</a> <a id='n46' href='#n46'>46</a> <a id='n47' href='#n47'>47</a> <a id='n48' href='#n48'>48</a> <a id='n49' href='#n49'>49</a> <a id='n50' href='#n50'>50</a> <a id='n51' href='#n51'>51</a> </pre></td> <td class='lines'><pre><code><span style="color:#a52a35">const</span> BN <span style="color:#3a3935">=</span> <span style="color:#3a3935; font-weight:bold">require</span><span style="color:#3a3935">(</span><span style="color:#ff00ff">'ethereumjs-util'</span><span style="color:#3a3935">).</span>BN <span style="color:#a52a35">const</span> normalize <span style="color:#3a3935">=</span> <span style="color:#3a3935; font-weight:bold">require</span><span style="color:#3a3935">(</span><span style="color:#ff00ff">'eth-sig-util'</span><span style="color:#3a3935">).</span>normalize <span style="color:#a52a35">class</span> PendingBalanceCalculator <span style="color:#3a3935">{</span> <span style="color:#003cff">// Must be initialized with two functions:</span> <span style="color:#003cff">// getBalance => Returns a promise of a BN of the current balance in Wei</span> <span style="color:#003cff">// getPendingTransactions => Returns an array of TxMeta Objects,</span> <span style="color:#003cff">// which have txParams properties, which include value, gasPrice, and gas,</span> <span style="color:#003cff">// all in a base=16 hex format.</span> <span style="color:#a52a35">constructor</span> <span style="color:#3a3935">({</span> getBalance<span style="color:#3a3935">,</span> getPendingTransactions <span style="color:#3a3935">}) {</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span>getPendingTransactions <span style="color:#3a3935">=</span> getPendingTransactions <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span>getNetworkBalance <span style="color:#3a3935">=</span> getBalance <span style="color:#3a3935">}</span> async <span style="color:#3a3935; font-weight:bold">getBalance</span><span style="color:#3a3935">() {</span> <span style="color:#a52a35">const</span> results <span style="color:#3a3935">=</span> await Promise<span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">all</span><span style="color:#3a3935">([</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">getNetworkBalance</span><span style="color:#3a3935">(),</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">getPendingTransactions</span><span style="color:#3a3935">(),</span> <span style="color:#3a3935">])</span> <span style="color:#a52a35">const</span> <span style="color:#3a3935">[</span> balance<span style="color:#3a3935">,</span> pending <span style="color:#3a3935">] =</span> results <span style="color:#a52a35">if</span> <span style="color:#3a3935">(!</span>balance<span style="color:#3a3935">)</span> <span style="color:#a52a35">return</span> <span style="color:#2e8b57">undefined</span> <span style="color:#a52a35">const</span> pendingValue <span style="color:#3a3935">=</span> pending<span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">reduce</span><span style="color:#3a3935">((</span>total<span style="color:#3a3935">,</span> tx<span style="color:#3a3935">) => {</span> <span style="color:#a52a35">return</span> total<span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">add</span><span style="color:#3a3935">(</span><span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">calculateMaxCost</span><span style="color:#3a3935">(</span>tx<span style="color:#3a3935">))</span> <span style="color:#3a3935">},</span> <span style="color:#a52a35">new</span> <span style="color:#3a3935; font-weight:bold">BN</span><span style="color:#3a3935">(</span><span style="color:#ff00ff">0</span><span style="color:#3a3935">))</span> <span style="color:#a52a35">return</span> <span style="color:#ff00ff">`0x</span><span style="color:#ff00ff">${balance.sub(pendingValue).toString(16)}</span><span style="color:#ff00ff">`</span> <span style="color:#3a3935">}</span> <span style="color:#3a3935; font-weight:bold">calculateMaxCost</span> <span style="color:#3a3935">(</span>tx<span style="color:#3a3935">) {</span> <span style="color:#a52a35">const</span> txValue <span style="color:#3a3935">=</span> tx<span style="color:#3a3935">.</span>txParams<span style="color:#3a3935">.</span>value <span style="color:#a52a35">const</span> value <span style="color:#3a3935">=</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">hexToBn</span><span style="color:#3a3935">(</span>txValue<span style="color:#3a3935">)</span> <span style="color:#a52a35">const</span> gasPrice <span style="color:#3a3935">=</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">hexToBn</span><span style="color:#3a3935">(</span>tx<span style="color:#3a3935">.</span>txParams<span style="color:#3a3935">.</span>gasPrice<span style="color:#3a3935">)</span> <span style="color:#a52a35">const</span> gas <span style="color:#3a3935">=</span> tx<span style="color:#3a3935">.</span>txParams<span style="color:#3a3935">.</span>gas <span style="color:#a52a35">const</span> gasLimit <span style="color:#3a3935">=</span> tx<span style="color:#3a3935">.</span>txParams<span style="color:#3a3935">.</span>gasLimit <span style="color:#a52a35">const</span> gasLimitBn <span style="color:#3a3935">=</span> <span style="color:#a52a35">this</span><span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">hexToBn</span><span style="color:#3a3935">(</span>gas <span style="color:#3a3935">||</span> gasLimit<span style="color:#3a3935">)</span> <span style="color:#a52a35">const</span> gasCost <span style="color:#3a3935">=</span> gasPrice<span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">mul</span><span style="color:#3a3935">(</span>gasLimitBn<span style="color:#3a3935">)</span> <span style="color:#a52a35">return</span> value<span style="color:#3a3935">.</span><span style="color:#3a3935; font-weight:bold">add</span><span style="color:#3a3935">(</span>gasCost<span style="color:#3a3935">)</span> <span style="color:#3a3935">}</span> <span style="color:#3a3935; font-weight:bold">hexToBn</span> <span style="color:#3a3935">(</span>hex<span style="color:#3a3935">) {</span> <span style="color:#a52a35">return new</span> <span style="color:#3a3935; font-weight:bold">BN</span><span style="color:#3a3935">(</span><span style="color:#3a3935; font-weight:bold">normalize</span><span style="color:#3a3935">(</span>hex<span style="color:#3a3935">).</span><span style="color:#3a3935; font-weight:bold">substring</span><span style="color:#3a3935">(</span><span style="color:#ff00ff">2</span><span style="color:#3a3935">),</span> <span style="color:#ff00ff">16</span><span style="color:#3a3935">)</span> <span style="color:#3a3935">}</span> <span style="color:#3a3935">}</span> module<span style="color:#3a3935">.</span>exports <span style="color:#3a3935">=</span> PendingBalanceCalculator </code></pre></td></tr></table> </div> <!-- class=content --> <div class='footer'>generated by <a href='https://git.zx2c4.com/cgit/about/'>cgit </a> (<a href='https://git-scm.com/'>git 2.34.1</a>) at 2025-08-13 11:33:35 +0800</div> </div> <!-- id=cgit --> </body> </html>