essential-eth 0.9.2-beta.0 → 0.9.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/essential-eth.esm.mjs +1 -1
- package/dist/essential-eth.esm.mjs.map +1 -1
- package/dist/essential-eth.js +1 -1
- package/dist/essential-eth.js.map +1 -1
- package/dist/essential-eth.modern.mjs +1 -1
- package/dist/essential-eth.modern.mjs.map +1 -1
- package/dist/essential-eth.umd.js +1 -1
- package/dist/essential-eth.umd.js.map +1 -1
- package/dist/logger/package-version.d.ts +1 -1
- package/package.json +2 -1
- package/readme.md +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("sha3"),require("big.js"),require("isomorphic-unfetch"),require("@noble/secp256k1"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","sha3","big.js","isomorphic-unfetch","@noble/secp256k1","buffer"],e):e((r||self).essentialEth={},r.sha3,r.Big,r.isomorphicUnfetch,r.secp256k1,r.buffer)}(this,function(r,e,t,n,i,o){function a(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var s=/*#__PURE__*/a(t),u=/*#__PURE__*/a(n);function c(){return c=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},c.apply(this,arguments)}function l(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,h(r,e)}function h(r,e){return h=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},h(r,e)}function f(r){return BigInt(r).toString()}function g(r){var e=r.startsWith("-");return(r=(r=(r=r.replace("-","")).replace(/\.0*$/g,"")).replace(/^0+/,"")).includes(".")&&(r=r.replace(/0+$/,"")),r.startsWith(".")&&(r="0"+r),(e?"-":"")+r}function v(r){if(!r.match(/e/i))return g(r);var e=r.split(/e/i),t=e[0],n=e[1],i=Number(t)<0,o=(t=g(t=t.replace("-",""))).split("."),a=o[0],s=o[1],u=void 0===s?"":s;if(0===Number(n))return(i?"-":"")+g(t);t.includes(".")||(t+=".");var c,l=(t=t.replace(".","")).length;return Number(n)<0?(a.length<Math.abs(Number(n))&&(t=t.padStart(l+Math.abs(Number(n))-a.length,"0")),c=t.split(""),a.length<Math.abs(Number(n))?c=["."].concat(c):c.splice(c.length-Math.abs(Number(n)),0,".")):(u.length<Math.abs(Number(n))&&(t=t.padEnd(l+Math.abs(Number(n))-u.length,"0")),c=t.split(""),u.length>Math.abs(Number(n))&&c.splice(c.length-Math.abs(Number(n)),0,".")),(i?"-":"")+g(c.join(""))}var m=/*#__PURE__*/function(r){function e(e){var t;return"string"==typeof e&&e.startsWith("0x")&&(e=f(e)),(t=r.call(this,e)||this).padAndChop=function(r,e,t){return(Array(t).fill(e).join("")+r).slice(-1*t)},t}l(e,r);var t=e.prototype;return t.toHexString=function(){return"0x"+BigInt(this.toString()).toString(16)},t.toNumber=function(){return Number(v(r.prototype.toString.call(this)))},t.toString=function(){return 0===this.toNumber()?"0":v(r.prototype.toString.call(this))},t.toTwos=function(r){var e;if(this.gte(0)){var t=this.toNumber().toString(2);e=this.padAndChop(t,"0",r||t.length)}else if(e=this.plus(Math.pow(2,r)).toNumber().toString(2),Number(e)<0)throw new Error("Cannot calculate twos complement");return p(Number("0b"+e))},e}(s.default);function p(r){return new m(r)}var d=function(r,e){if(!e.includes(typeof r))throw new Error(e.join(" or ")+" required. Received "+typeof r)};function y(r){if(d(r,["string"]),!/^(0x)?[0-9a-f]{40}$/i.test(r))throw new Error('Invalid Ethereum address "'+r+'"');for(var t=r.toLowerCase().replace(/^0x/i,""),n=new e.Keccak(256).update(t).digest("hex").replace(/^0x/i,""),i="0x",o=0;o<t.length;o++)parseInt(n[o],16)>7?i+=t[o].toUpperCase():i+=t[o];if(r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&i!==r)throw new Error('Invalid Checksum address for "'+r+'"');return i}var b="0".repeat(64),P="0".repeat(63)+"1";function x(r,t){var n=new e.Keccak(256),i=r.name+"("+r.inputs.map(function(r){return"uint[]"===(e=r.type)?"uint256[]":"int[]"===e?"int256[]":e;var e})+")",o=n.update(i).digest("hex"),a=r.inputs.length,s=!0;if(r.inputs.find(function(r){return r.type.includes("[")})&&(s=!1),s&&t.length!==a)throw new Error('args inputs of "'+t.length+'" does not match expected length of "'+r.inputs.length+'"');var u=(r.inputs||[]).reduce(function(r,e,n){if(e.type.includes("[")){var i,o=null==(i=/([^[]*)\[.*$/g.exec(e.type))?void 0:i[1];return t.forEach(function(e){r=r.concat([[e,o]])}),r}return r.concat([[t[n],e.type]])},[]).map(function(r){var e=r[0],t=r[1],n=e;switch(t){case"bool":return e?P:b;case"address":n=e.replace(/^0x/g,"").toLowerCase();break;default:if(t.startsWith("bytes"))return n.split("").map(function(r){return r.charCodeAt(0).toString(16)}).join("").padEnd(64,"0");if("uint256"===t)return BigInt(e).toString(16).padStart(64,"0");if(t.startsWith("uint"))break;throw new Error('essential-eth does not yet support "'+t+'" inputs. Make a PR today!"')}return n.toString(16).padStart(64,"0")});return"0x"+o.slice(0,8)+u.join("")}function w(r,e){var t,n=r.outputs,i=e.slice(2);if(1===(null==r||null==(t=r.outputs)?void 0:t.length)&&"string"===r.outputs[0].type){var o=[i.slice(0,64),i.slice(64)],a=o[1],s=Number(f("0x"+o[0])),u=a.slice(0,2*s),c=Number(f("0x"+u));return function(r){var e="",t=0,n=r.length;for("0x"===r.substring(0,2)&&(t=2);t<n;t+=2){var i=parseInt(r.substr(t,2),16);0!==i&&(e+=String.fromCharCode(i))}try{return decodeURIComponent(escape(e))}catch(r){return e}}(a.slice(2*s,2*s+2*c))}var l=(i.match(/.{1,64}/g)||[]).map(function(r,e){var t=(n||[])[e].type;switch(t){case"bool":return r===P;case"address":return y("0x"+r.slice(24));case"uint256":case"uint120":return p(f("0x"+r));case"bytes32":return"0x"+r;case"uint8":return Number(f("0x"+r));default:throw new Error('essential-eth does not yet support "'+t+'" outputs. Make a PR today!"')}});return 1===l.length?l[0]:l}function E(r){r.split("").reduce(function(r,e){return r+("0"===e?4:68)},0)}var k=function(r,e,t){var n=this,i=this;this._address=void 0,this._provider=void 0,this._address=r,this._provider=t,e.filter(function(r){return"function"===r.type}).forEach(function(r){var e;"name"in r&&"string"==typeof r.name&&(e=function(){try{var e=arguments,t=[].slice.call(e),n=t,o={},a=t[t.length-1];Array.isArray(a)||"object"!=typeof a||(o=a,n=t.slice(0,t.length-1));var s=x(r,n),u="number"==typeof o.gasLimit?o.gasLimit:"number"==typeof(null==r?void 0:r.gas)?E(s):null,l=function(){try{return Promise.resolve(i._provider.call(c({to:i._address.toLowerCase(),data:s},u?{gas:"0x"+u.toString(16)}:{}),"latest"))}catch(r){return Promise.reject(r)}};return Promise.resolve(l()).then(function(e){return w(r,e)})}catch(r){return Promise.reject(r)}},Object.defineProperty(n,r.name,{enumerable:!0,value:e,writable:!1}))})},A=/*#__PURE__*/function(r){function e(){return r.apply(this,arguments)||this}return l(e,r),e}(k);function S(r){var e=c({},r);return Object.keys(r).forEach(function(t){if(r[t])switch(t){case"blockNumber":case"chainId":case"transactionIndex":case"type":case"v":e[t]=Number(f(r[t]));break;case"from":case"to":r[t]&&(e[t]=y(r[t]));break;case"value":case"gas":case"gasPrice":case"maxFeePerGas":case"maxPriorityFeePerGas":case"nonce":e[t]=p(f(r[t]))}}),e}function _(r,e){var t=c({},r);return Object.keys(r).forEach(function(n){switch(n){case"address":t[n]=y(r[n]);break;case"blockNumber":case"logIndex":case"transactionIndex":t[n]=Number(f(r[n]));break;case"removed":e&&delete t[n]}}),t}function j(r,e){return{jsonrpc:"2.0",id:1,method:r,params:e}}var N=new(/*#__PURE__*/function(){function r(){this.packageVersion=void 0,this.packageVersion="0.9.2-beta.0"}var e=r.prototype;return e.throwError=function(r,e){var t=Object.keys(e).length;throw new Error(r+" ("+Object.entries(e).map(function(r,e){return r[0]+"="+r[1]+(e<t-1&&", ")})+", version=essential-eth@"+this.packageVersion+")")},e.throwArgumentError=function(r,e,t){throw new Error(r+' (argument="'+e+'" value='+t+", version=essential-eth@"+this.packageVersion+")")},e.checkSafeUint53=function(r,e){void 0===e&&(e="value not safe"),"number"==typeof r&&((r<0||r>=9007199254740991)&&this.throwError(e,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:r}),r%1&&this.throwError(e,{operation:"checkSafeInteger",fault:"non-integer",value:r}))},r}());function U(r){return!!r.toHexString}function C(r){return T(r)&&!(r.length%2)||G(r)}function B(r){return"number"==typeof r&&r==r&&r%1==0}function G(r){if(null==r)return!1;if(r.constructor===Uint8Array)return!0;if("string"==typeof r)return!1;if(!B(r.length)||r.length<0)return!1;for(var e=0;e<r.length;e++){var t=r[e];if(!B(t)||t<0||t>=256)return!1}return!0}function F(r,e){if(e||(e={}),"number"==typeof r){N.checkSafeUint53(r,"invalid arrayify value");for(var t=[];r;)t.unshift(255&r),r=parseInt(String(r/256));return 0===t.length&&t.push(0),new Uint8Array(t)}if(e.allowMissingPrefix&&"string"==typeof r&&"0x"!==r.substring(0,2)&&(r="0x"+r),U(r)&&(r=r.toHexString()),T(r)){var n=r.substring(2);n.length%2&&("left"===e.hexPad?n="0"+n:"right"===e.hexPad?n+="0":N.throwArgumentError("hex data is odd-length","value",r));for(var i=[],o=0;o<n.length;o+=2)i.push(parseInt(n.substring(o,o+2),16));return new Uint8Array(i)}return G(r)?new Uint8Array(r):N.throwArgumentError("invalid arrayify value","value",r)}function I(r){var e=r.map(function(r){return F(r)}),t=e.reduce(function(r,e){return r+e.length},0),n=new Uint8Array(t);return e.reduce(function(r,e){return n.set(e,r),r+e.length},0),n}function O(r,e){(r=F(r)).length>e&&N.throwArgumentError("value out of range","value",r);var t=new Uint8Array(e);return t.set(r,e-r.length),t}function T(r,e){return!("string"!=typeof r||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}var R="0123456789abcdef";function M(r,e){if(e||(e={}),"number"==typeof r){N.checkSafeUint53(r,"invalid hexlify value");for(var t="";r;)t=R[15&r]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof r)return(r=r.toString(16)).length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&"string"==typeof r&&"0x"!==r.substring(0,2)&&(r="0x"+r),U(r))return r.toHexString();if(T(r))return r.length%2&&("left"===e.hexPad?r="0x0"+r.substring(2):"right"===e.hexPad?r+="0":N.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(G(r)){for(var n="0x",i=0;i<r.length;i++){var o=r[i];n+=R[(240&o)>>4]+R[15&o]}return n}return N.throwArgumentError("invalid hexlify value","value",r)}function L(r,e,t){return"string"!=typeof r?r=M(r):(!T(r)||r.length%2)&&N.throwArgumentError("invalid hexData","value",r),e=2+2*e,null!=t?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function H(r){"string"!=typeof r&&(r=M(r)),T(r)||N.throwArgumentError("invalid hex string","value",r),r=r.substring(2);for(var e=0;e<r.length&&"0"===r[e];)e++;return"0x"+r.substring(e)}function D(r,e){for("string"!=typeof r?r=M(r):T(r)||N.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&N.throwError("value out of range",{value:r,length:e});r.length<2*e+2;)r="0x0"+r.substring(2);return r}function W(r){var e=c({},r);return Object.keys(r).forEach(function(t){switch(t){case"gas":case"gasPrice":case"nonce":case"maxFeePerGas":case"maxPriorityFeePerGas":case"value":var n=r[t];e[t]=n instanceof m?n.toHexString():n instanceof s.default?"0x"+BigInt(n.toString()).toString(16):"number"==typeof r[t]?"0x"+r[t].toString(16):r[t].toString();break;case"data":e[t]=M(r[t])}}),e}var $={1:["eth","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"],5:["gor","0x112234455c3a32fd11230c42e7bccd4a84e02010"],10:["oeth"],50:["xdc"],56:["bnb"],100:["gno"],137:["matic"],250:["ftm"],324:["zksync"],1101:["zkevm"],1337:["geth"],7700:["canto"],9001:["evmos"],42161:["arb1"],42220:["celo"],43114:["avax"],59140:["linea-testnet"],80001:["maticmum"],421613:["arb-goerli"],534352:["scr"],11155111:["sep"]};function q(r){return"number"==typeof r?p(r).toHexString():r}var J=/*#__PURE__*/function(){function r(r){var e=this;this._rpcUrls=[],this._post=function(r){return function(r,e){return u.default(r,function(r){return{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}}(e)).then(function(r){try{return Promise.resolve(r.text()).then(function(r){try{return JSON.parse(r)}catch(e){throw new Error('Invalid JSON RPC response: "'+r+'"')}})}catch(r){return Promise.reject(r)}}).then(function(r){if(!(null==r?void 0:r.result))throw new Error("Invalid JSON RPC response: "+JSON.stringify(r));return r.result})}(e.selectRpcUrl(),r)},this._rpcUrls=r}var e=r.prototype;return e.getNetwork=function(){try{return Promise.resolve(this.post(j("eth_chainId",[]))).then(function(r){var e=f(r),t=$[e];return{chainId:Number(e),name:t[0]||"unknown",ensAddress:t[1]||null}})}catch(r){return Promise.reject(r)}},e.getBlockNumber=function(){try{return Promise.resolve(this.post(j("eth_blockNumber",[]))).then(function(r){return Number(f(r))})}catch(r){return Promise.reject(r)}},e.getTransaction=function(r){try{return Promise.resolve(Promise.all([this.post(j("eth_getTransactionByHash",[r])),this.getBlock("latest")])).then(function(r){var e=r[1],t=S(r[0]);return t.confirmations=e.number-t.blockNumber+1,t})}catch(r){return Promise.reject(r)}},e.getTransactionReceipt=function(r){try{return Promise.resolve(Promise.all([this.post(j("eth_getTransactionReceipt",[r])),this.getBlock("latest")])).then(function(r){var e=r[1],t=function(r){var e=c({},S(r));return Object.keys(r).forEach(function(t){if(r[t])switch(t){case"status":e[t]=Number(f(r[t]));break;case"contractAddress":r[t]&&(e[t]=y(r[t]));break;case"cumulativeGasUsed":case"effectiveGasPrice":case"gasUsed":e[t]=p(f(r[t]));break;case"logs":r[t].forEach(function(r,n){e[t][n]=_(r,!0)})}}),e.byzantium=e.blockNumber>=437e4,e}(r[0]);return t.confirmations=e.number-t.blockNumber+1,t})}catch(r){return Promise.reject(r)}},e.getTransactionCount=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getTransactionCount",[r,e]))).then(function(r){return Number(f(r))})}catch(r){return Promise.reject(r)}},e.getBlock=function(r,e){void 0===r&&(r="latest"),void 0===e&&(e=!1);try{var t="Number";return"string"==typeof r&&66===r.length?t="Hash":r=q(r),Promise.resolve(this.post(j("eth_getBlockBy"+t,[r,e]))).then(function(r){return function(r,e){var t=c({},r);return Object.keys(r).forEach(function(e){if(r[e])switch(e){case"difficulty":case"totalDifficulty":case"gasLimit":case"gasUsed":case"size":case"timestamp":case"baseFeePerGas":t[e]=p(f(r[e]));break;case"number":t[e]=Number(f(r[e]));break;case"miner":t[e]=y(r[e])}}),e&&r.transactions.forEach(function(r,e){t.transactions[e]=S(r)}),t}(r,e)})}catch(r){return Promise.reject(r)}},e.getGasPrice=function(){try{return Promise.resolve(this.post(j("eth_gasPrice",[]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getBalance=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getBalance",[r,e]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getCode=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getCode",[r,e])))}catch(r){return Promise.reject(r)}},e.estimateGas=function(r){try{var e=W(r);return Promise.resolve(this.post(j("eth_estimateGas",[e]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getFeeData=function(){try{return Promise.resolve(Promise.all([this.getBlock("latest"),this.getGasPrice()])).then(function(r){var e=r[0],t=r[1],n=null,i=null,o=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,o=p("1500000000"),i=p(e.baseFeePerGas.mul(2).add(o))),{lastBaseFeePerGas:n,maxFeePerGas:i,maxPriorityFeePerGas:o,gasPrice:t}})}catch(r){return Promise.reject(r)}},e.getLogs=function(r){try{var e=r;return e.fromBlock&&(e.fromBlock=q(e.fromBlock)),e.toBlock&&(e.toBlock=q(e.toBlock)),Promise.resolve(this.post(j("eth_getLogs",[r]))).then(function(r){return r.map(function(r){return _(r,!1)})})}catch(r){return Promise.reject(r)}},e.call=function(r,e){void 0===e&&(e="latest");try{r.gasPrice&&(r.maxPriorityFeePerGas||r.maxFeePerGas)&&N.throwError('Cannot specify both "gasPrice" and ("maxPriorityFeePerGas" or "maxFeePerGas")',{gasPrice:r.gasPrice,maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas}),r.maxFeePerGas&&r.maxPriorityFeePerGas&&N.throwError('Cannot specify both "maxFeePerGas" and "maxPriorityFeePerGas"',{maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas}),e=q(e);var t=W(r);return Promise.resolve(this.post(j("eth_call",[t,e])))}catch(r){return Promise.reject(r)}},r}(),K=/*#__PURE__*/function(r){l(t,r);var e=t.prototype;function t(e){return void 0===e&&(e="https://free-eth-node.com/api/eth"),r.call(this,[e])||this}return e.selectRpcUrl=function(){return this._rpcUrls[0]},e.post=function(r){return this._post(r)},t}(J),z=/*#__PURE__*/function(r){function e(e,t){return void 0===t&&(t="mainnet"),r.call(this,"https://eth-"+t+".alchemyapi.io/v2/"+e)||this}return l(e,r),e}(K),V=/*#__PURE__*/function(r){function e(e,t){var n;return void 0===t&&(t={}),Array.isArray(e)||N.throwError("Array required",{rpcUrls:e}),e.length<=1&&N.throwError("More than one rpcUrl is required",{rpcUrls:e}),(n=r.call(this,e)||this).rpcUrlCounter=0,n.timeoutDuration=void 0,n.post=function(r){var e=n.rpcUrlCounter;return function t(){var i,o,a=n.selectRpcUrl();return(i=n._post(r),o=n.timeoutDuration,new Promise(function(r,e){var t=setTimeout(function(){return e(new Error("Promise timed out"))},o);i.then(function(e){clearTimeout(t),r(e)}).catch(function(r){clearTimeout(t),e(r)})})).catch(function(r){if(a===n.selectRpcUrl()&&(n.rpcUrlCounter=(n.rpcUrlCounter+1)%n._rpcUrls.length),n.rpcUrlCounter===e)throw r;return t()})}()},n.timeoutDuration=t.timeoutDuration||8e3,n}return l(e,r),e.prototype.selectRpcUrl=function(){return this._rpcUrls[this.rpcUrlCounter]},e}(J);function Z(r){return r=M(r).slice(2),"0x"+i.Point.fromPrivateKey(r).toHex()}function Q(r){var t;return t="string"==typeof r?Buffer.from(r.replace(/^0x/,""),"hex"):Buffer.from(r),"0x"+new e.Keccak(256).update(t).digest("hex")}function X(r){return new Uint8Array(Buffer.from(r))}var Y=new RegExp("^bytes([0-9]+)$"),rr=new RegExp("^(u?int)([0-9]*)$"),er=new RegExp("^(.*)\\[([0-9]*)\\]$");function tr(r,e,t){switch(r){case"address":return t?O(e,32):F(e);case"string":return o.Buffer.from(e);case"bytes":return F(e);case"bool":return e=e?"0x01":"0x00",t?O(e,32):F(e)}var n=r.match(rr);if(n){var i=parseInt(n[2]||"256");return(n[2]&&String(i)!==n[2]||i%8!=0||0===i||i>256)&&N.throwArgumentError("invalid number type","type",r),t&&(i=256),O(M(e=p(e).toTwos(i).toNumber()),i/8)}if(n=r.match(Y)){var a=parseInt(n[1]);return(String(a)!==n[1]||0===a||a>32)&&N.throwArgumentError("invalid bytes type","type",r),F(e).byteLength!==a&&N.throwArgumentError("invalid value for "+r,"value",e),t?F((e+b).substring(0,66)):e}if((n=r.match(er))&&Array.isArray(e)){var s=n[1];parseInt(n[2]||String(e.length))!=e.length&&N.throwArgumentError("invalid array length for "+r,"value",e);var u=[];return e.forEach(function(r){u.push(tr(s,r,!0))}),I(u)}return N.throwArgumentError("invalid type","type",r)}function nr(r,e){r.length!=e.length&&N.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);var t=[];return r.forEach(function(r,n){t.push(tr(r,e[n]))}),M(I(t))}r.AlchemyProvider=z,r.BaseContract=k,r.Contract=A,r.FallthroughProvider=V,r.JsonRpcProvider=K,r.TinyBig=m,r.arrayify=F,r.computeAddress=function(r){return r.startsWith("0x04")||r.startsWith("0x03")||r.startsWith("0x02")||(r=Z(r)),y(L(Q(L(r,1)),12))},r.computePublicKey=Z,r.concat=I,r.etherToGwei=function(r){d(r,["string","number","object"]);var e=p(r).times("1000000000");return p(e)},r.etherToWei=function(r){d(r,["string","number","object"]);var e=p(r).times("1000000000000000000");return p(e)},r.gweiToEther=function(r){d(r,["string","number","object"]);var e=p(r).div("1000000000");return p(e)},r.hashMessage=function(r){return"string"==typeof r&&(r=X(r)),Q(I([X("Ethereum Signed Message:\n"),X(String(r.length)),r]))},r.hexConcat=function(r){var e="0x";return r.forEach(function(r){e+=M(r).substring(2)}),e},r.hexDataLength=function(r){if("string"!=typeof r)r=M(r);else if(!T(r)||r.length%2)return null;return(r.length-2)/2},r.hexDataSlice=L,r.hexStripZeros=H,r.hexValue=function(r){var e=H(M(r,{hexPad:"left"}));return"0x"===e?"0x0":e},r.hexZeroPad=D,r.hexlify=M,r.isAddress=function(r){d(r,["string"]);try{return y(r),!0}catch(r){return!1}},r.isBytes=G,r.isBytesLike=C,r.isHexString=T,r.jsonRpcProvider=function(r){return new K(r)},r.keccak256=Q,r.pack=nr,r.solidityKeccak256=function(r,e){return Q(nr(r,e))},r.splitSignature=function(r){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(C(r)){var t=F(r);64===t.length?(e.v=27+(t[32]>>7),t[32]&=127,e.r=M(t.slice(0,32)),e.s=M(t.slice(32,64))):65===t.length?(e.r=M(t.slice(0,32)),e.s=M(t.slice(32,64)),e.v=t[64]):N.throwArgumentError("invalid signature string","signature",r),e.v<27&&(0===e.v||1===e.v?e.v+=27:N.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=M(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,null!=e._vs){var n=O(F(e._vs),32);e._vs=M(n);var i=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=i:e.recoveryParam!==i&&N.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;var o=M(n);null==e.s?e.s=o:e.s!==o&&N.throwArgumentError("signature v mismatch _vs","signature",r)}null==e.recoveryParam?null==e.v?N.throwArgumentError("signature missing v and recoveryParam","signature",r):e.recoveryParam=0===e.v||1===e.v?e.v:1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==(0===e.v||1===e.v?e.v:1-e.v%2)&&N.throwArgumentError("signature recoveryParam mismatch v","signature",r),null!=e.r&&T(e.r)?e.r=D(e.r,32):N.throwArgumentError("signature missing or invalid r","signature",r),null!=e.s&&T(e.s)?e.s=D(e.s,32):N.throwArgumentError("signature missing or invalid s","signature",r);var a=F(e.s);a[0]>=128&&N.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(a[0]|=128);var s=M(a);e._vs&&(T(e._vs)||N.throwArgumentError("signature invalid _vs","signature",r),e._vs=D(e._vs,32)),null==e._vs?e._vs=s:e._vs!==s&&N.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e},r.stripZeros=function(r){var e=F(r);if(0===e.length)return e;for(var t=0;t<e.length&&0===e[t];)t++;return t&&(e=e.slice(t)),e},r.tinyBig=p,r.toChecksumAddress=y,r.toUtf8Bytes=X,r.weiToEther=function(r){d(r,["string","number","object"]);try{var e=r;"string"==typeof r&&"0x"===r.slice(0,2)&&(e=BigInt(r).toString());var t=p(e).div("1000000000000000000");return p(t)}catch(r){throw r}},r.zeroPad=O});
|
|
1
|
+
!function(r,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("sha3"),require("big.js"),require("isomorphic-unfetch"),require("@noble/secp256k1"),require("buffer")):"function"==typeof define&&define.amd?define(["exports","sha3","big.js","isomorphic-unfetch","@noble/secp256k1","buffer"],e):e((r||self).essentialEth={},r.sha3,r.Big,r.isomorphicUnfetch,r.secp256k1,r.buffer)}(this,function(r,e,t,n,i,o){function a(r){return r&&"object"==typeof r&&"default"in r?r:{default:r}}var s=/*#__PURE__*/a(t),u=/*#__PURE__*/a(n);function c(){return c=Object.assign||function(r){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(r[n]=t[n])}return r},c.apply(this,arguments)}function l(r,e){r.prototype=Object.create(e.prototype),r.prototype.constructor=r,h(r,e)}function h(r,e){return h=Object.setPrototypeOf||function(r,e){return r.__proto__=e,r},h(r,e)}function f(r){return BigInt(r).toString()}function g(r){var e=r.startsWith("-");return(r=(r=(r=r.replace("-","")).replace(/\.0*$/g,"")).replace(/^0+/,"")).includes(".")&&(r=r.replace(/0+$/,"")),r.startsWith(".")&&(r="0"+r),(e?"-":"")+r}function v(r){if(!r.match(/e/i))return g(r);var e=r.split(/e/i),t=e[0],n=e[1],i=Number(t)<0,o=(t=g(t=t.replace("-",""))).split("."),a=o[0],s=o[1],u=void 0===s?"":s;if(0===Number(n))return(i?"-":"")+g(t);t.includes(".")||(t+=".");var c,l=(t=t.replace(".","")).length;return Number(n)<0?(a.length<Math.abs(Number(n))&&(t=t.padStart(l+Math.abs(Number(n))-a.length,"0")),c=t.split(""),a.length<Math.abs(Number(n))?c=["."].concat(c):c.splice(c.length-Math.abs(Number(n)),0,".")):(u.length<Math.abs(Number(n))&&(t=t.padEnd(l+Math.abs(Number(n))-u.length,"0")),c=t.split(""),u.length>Math.abs(Number(n))&&c.splice(c.length-Math.abs(Number(n)),0,".")),(i?"-":"")+g(c.join(""))}var m=/*#__PURE__*/function(r){function e(e){var t;return"string"==typeof e&&e.startsWith("0x")&&(e=f(e)),(t=r.call(this,e)||this).padAndChop=function(r,e,t){return(Array(t).fill(e).join("")+r).slice(-1*t)},t}l(e,r);var t=e.prototype;return t.toHexString=function(){return"0x"+BigInt(this.toString()).toString(16)},t.toNumber=function(){return Number(v(r.prototype.toString.call(this)))},t.toString=function(){return 0===this.toNumber()?"0":v(r.prototype.toString.call(this))},t.toTwos=function(r){var e;if(this.gte(0)){var t=this.toNumber().toString(2);e=this.padAndChop(t,"0",r||t.length)}else if(e=this.plus(Math.pow(2,r)).toNumber().toString(2),Number(e)<0)throw new Error("Cannot calculate twos complement");return p(Number("0b"+e))},e}(s.default);function p(r){return new m(r)}var d=function(r,e){if(!e.includes(typeof r))throw new Error(e.join(" or ")+" required. Received "+typeof r)};function y(r){if(d(r,["string"]),!/^(0x)?[0-9a-f]{40}$/i.test(r))throw new Error('Invalid Ethereum address "'+r+'"');for(var t=r.toLowerCase().replace(/^0x/i,""),n=new e.Keccak(256).update(t).digest("hex").replace(/^0x/i,""),i="0x",o=0;o<t.length;o++)parseInt(n[o],16)>7?i+=t[o].toUpperCase():i+=t[o];if(r.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&i!==r)throw new Error('Invalid Checksum address for "'+r+'"');return i}var b="0".repeat(64),P="0".repeat(63)+"1";function x(r,t){var n=new e.Keccak(256),i=r.name+"("+r.inputs.map(function(r){return"uint[]"===(e=r.type)?"uint256[]":"int[]"===e?"int256[]":e;var e})+")",o=n.update(i).digest("hex"),a=r.inputs.length,s=!0;if(r.inputs.find(function(r){return r.type.includes("[")})&&(s=!1),s&&t.length!==a)throw new Error('args inputs of "'+t.length+'" does not match expected length of "'+r.inputs.length+'"');var u=(r.inputs||[]).reduce(function(r,e,n){if(e.type.includes("[")){var i,o=null==(i=/([^[]*)\[.*$/g.exec(e.type))?void 0:i[1];return t.forEach(function(e){r=r.concat([[e,o]])}),r}return r.concat([[t[n],e.type]])},[]).map(function(r){var e=r[0],t=r[1],n=e;switch(t){case"bool":return e?P:b;case"address":n=e.replace(/^0x/g,"").toLowerCase();break;default:if(t.startsWith("bytes"))return n.split("").map(function(r){return r.charCodeAt(0).toString(16)}).join("").padEnd(64,"0");if("uint256"===t)return BigInt(e).toString(16).padStart(64,"0");if(t.startsWith("uint"))break;throw new Error('essential-eth does not yet support "'+t+'" inputs. Make a PR today!"')}return n.toString(16).padStart(64,"0")});return"0x"+o.slice(0,8)+u.join("")}function w(r,e){var t,n=r.outputs,i=e.slice(2);if(1===(null==r||null==(t=r.outputs)?void 0:t.length)&&"string"===r.outputs[0].type){var o=[i.slice(0,64),i.slice(64)],a=o[1],s=Number(f("0x"+o[0])),u=a.slice(0,2*s),c=Number(f("0x"+u));return function(r){var e="",t=0,n=r.length;for("0x"===r.substring(0,2)&&(t=2);t<n;t+=2){var i=parseInt(r.substr(t,2),16);0!==i&&(e+=String.fromCharCode(i))}try{return decodeURIComponent(escape(e))}catch(r){return e}}(a.slice(2*s,2*s+2*c))}var l=(i.match(/.{1,64}/g)||[]).map(function(r,e){var t=(n||[])[e].type;switch(t){case"bool":return r===P;case"address":return y("0x"+r.slice(24));case"uint256":case"uint120":return p(f("0x"+r));case"bytes32":return"0x"+r;case"uint8":return Number(f("0x"+r));default:throw new Error('essential-eth does not yet support "'+t+'" outputs. Make a PR today!"')}});return 1===l.length?l[0]:l}function E(r){r.split("").reduce(function(r,e){return r+("0"===e?4:68)},0)}var k=function(r,e,t){var n=this,i=this;this._address=void 0,this._provider=void 0,this._address=r,this._provider=t,e.filter(function(r){return"function"===r.type}).forEach(function(r){var e;"name"in r&&"string"==typeof r.name&&(e=function(){try{var e=arguments,t=[].slice.call(e),n=t,o={},a=t[t.length-1];Array.isArray(a)||"object"!=typeof a||(o=a,n=t.slice(0,t.length-1));var s=x(r,n),u="number"==typeof o.gasLimit?o.gasLimit:"number"==typeof(null==r?void 0:r.gas)?E(s):null,l=function(){try{return Promise.resolve(i._provider.call(c({to:i._address.toLowerCase(),data:s},u?{gas:"0x"+u.toString(16)}:{}),"latest"))}catch(r){return Promise.reject(r)}};return Promise.resolve(l()).then(function(e){return w(r,e)})}catch(r){return Promise.reject(r)}},Object.defineProperty(n,r.name,{enumerable:!0,value:e,writable:!1}))})},A=/*#__PURE__*/function(r){function e(){return r.apply(this,arguments)||this}return l(e,r),e}(k);function S(r){var e=c({},r);return Object.keys(r).forEach(function(t){if(r[t])switch(t){case"blockNumber":case"chainId":case"transactionIndex":case"type":case"v":e[t]=Number(f(r[t]));break;case"from":case"to":r[t]&&(e[t]=y(r[t]));break;case"value":case"gas":case"gasPrice":case"maxFeePerGas":case"maxPriorityFeePerGas":case"nonce":e[t]=p(f(r[t]))}}),e}function _(r,e){var t=c({},r);return Object.keys(r).forEach(function(n){switch(n){case"address":t[n]=y(r[n]);break;case"blockNumber":case"logIndex":case"transactionIndex":t[n]=Number(f(r[n]));break;case"removed":e&&delete t[n]}}),t}function j(r,e){return{jsonrpc:"2.0",id:1,method:r,params:e}}var N=new(/*#__PURE__*/function(){function r(){this.packageVersion=void 0,this.packageVersion="0.9.2-beta.1"}var e=r.prototype;return e.throwError=function(r,e){var t=Object.keys(e).length;throw new Error(r+" ("+Object.entries(e).map(function(r,e){return r[0]+"="+r[1]+(e<t-1&&", ")})+", version=essential-eth@"+this.packageVersion+")")},e.throwArgumentError=function(r,e,t){throw new Error(r+' (argument="'+e+'" value='+t+", version=essential-eth@"+this.packageVersion+")")},e.checkSafeUint53=function(r,e){void 0===e&&(e="value not safe"),"number"==typeof r&&((r<0||r>=9007199254740991)&&this.throwError(e,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:r}),r%1&&this.throwError(e,{operation:"checkSafeInteger",fault:"non-integer",value:r}))},r}());function U(r){return!!r.toHexString}function C(r){return T(r)&&!(r.length%2)||G(r)}function B(r){return"number"==typeof r&&r==r&&r%1==0}function G(r){if(null==r)return!1;if(r.constructor===Uint8Array)return!0;if("string"==typeof r)return!1;if(!B(r.length)||r.length<0)return!1;for(var e=0;e<r.length;e++){var t=r[e];if(!B(t)||t<0||t>=256)return!1}return!0}function F(r,e){if(e||(e={}),"number"==typeof r){N.checkSafeUint53(r,"invalid arrayify value");for(var t=[];r;)t.unshift(255&r),r=parseInt(String(r/256));return 0===t.length&&t.push(0),new Uint8Array(t)}if(e.allowMissingPrefix&&"string"==typeof r&&"0x"!==r.substring(0,2)&&(r="0x"+r),U(r)&&(r=r.toHexString()),T(r)){var n=r.substring(2);n.length%2&&("left"===e.hexPad?n="0"+n:"right"===e.hexPad?n+="0":N.throwArgumentError("hex data is odd-length","value",r));for(var i=[],o=0;o<n.length;o+=2)i.push(parseInt(n.substring(o,o+2),16));return new Uint8Array(i)}return G(r)?new Uint8Array(r):N.throwArgumentError("invalid arrayify value","value",r)}function I(r){var e=r.map(function(r){return F(r)}),t=e.reduce(function(r,e){return r+e.length},0),n=new Uint8Array(t);return e.reduce(function(r,e){return n.set(e,r),r+e.length},0),n}function O(r,e){(r=F(r)).length>e&&N.throwArgumentError("value out of range","value",r);var t=new Uint8Array(e);return t.set(r,e-r.length),t}function T(r,e){return!("string"!=typeof r||!r.match(/^0x[0-9A-Fa-f]*$/)||e&&r.length!==2+2*e)}var R="0123456789abcdef";function M(r,e){if(e||(e={}),"number"==typeof r){N.checkSafeUint53(r,"invalid hexlify value");for(var t="";r;)t=R[15&r]+t,r=Math.floor(r/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof r)return(r=r.toString(16)).length%2?"0x0"+r:"0x"+r;if(e.allowMissingPrefix&&"string"==typeof r&&"0x"!==r.substring(0,2)&&(r="0x"+r),U(r))return r.toHexString();if(T(r))return r.length%2&&("left"===e.hexPad?r="0x0"+r.substring(2):"right"===e.hexPad?r+="0":N.throwArgumentError("hex data is odd-length","value",r)),r.toLowerCase();if(G(r)){for(var n="0x",i=0;i<r.length;i++){var o=r[i];n+=R[(240&o)>>4]+R[15&o]}return n}return N.throwArgumentError("invalid hexlify value","value",r)}function L(r,e,t){return"string"!=typeof r?r=M(r):(!T(r)||r.length%2)&&N.throwArgumentError("invalid hexData","value",r),e=2+2*e,null!=t?"0x"+r.substring(e,2+2*t):"0x"+r.substring(e)}function H(r){"string"!=typeof r&&(r=M(r)),T(r)||N.throwArgumentError("invalid hex string","value",r),r=r.substring(2);for(var e=0;e<r.length&&"0"===r[e];)e++;return"0x"+r.substring(e)}function D(r,e){for("string"!=typeof r?r=M(r):T(r)||N.throwArgumentError("invalid hex string","value",r),r.length>2*e+2&&N.throwError("value out of range",{value:r,length:e});r.length<2*e+2;)r="0x0"+r.substring(2);return r}function W(r){var e=c({},r);return Object.keys(r).forEach(function(t){switch(t){case"gas":case"gasPrice":case"nonce":case"maxFeePerGas":case"maxPriorityFeePerGas":case"value":var n=r[t];e[t]=n instanceof m?n.toHexString():n instanceof s.default?"0x"+BigInt(n.toString()).toString(16):"number"==typeof r[t]?"0x"+r[t].toString(16):r[t].toString();break;case"data":e[t]=M(r[t])}}),e}var $={1:["eth","0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"],5:["gor","0x112234455c3a32fd11230c42e7bccd4a84e02010"],10:["oeth"],50:["xdc"],56:["bnb"],100:["gno"],137:["matic"],250:["ftm"],324:["zksync"],1101:["zkevm"],1337:["geth"],7700:["canto"],9001:["evmos"],42161:["arb1"],42220:["celo"],43114:["avax"],59140:["linea-testnet"],80001:["maticmum"],421613:["arb-goerli"],534352:["scr"],11155111:["sep"]};function q(r){return"number"==typeof r?p(r).toHexString():r}var J=/*#__PURE__*/function(){function r(r){var e=this;this._rpcUrls=[],this._post=function(r){return function(r,e){return u.default(r,function(r){return{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(r)}}(e)).then(function(r){try{return Promise.resolve(r.text()).then(function(r){try{return JSON.parse(r)}catch(e){throw new Error('Invalid JSON RPC response: "'+r+'"')}})}catch(r){return Promise.reject(r)}}).then(function(r){if(!(null==r?void 0:r.result))throw new Error("Invalid JSON RPC response: "+JSON.stringify(r));return r.result})}(e.selectRpcUrl(),r)},this._rpcUrls=r}var e=r.prototype;return e.getNetwork=function(){try{return Promise.resolve(this.post(j("eth_chainId",[]))).then(function(r){var e=f(r),t=$[e];return{chainId:Number(e),name:t[0]||"unknown",ensAddress:t[1]||null}})}catch(r){return Promise.reject(r)}},e.getBlockNumber=function(){try{return Promise.resolve(this.post(j("eth_blockNumber",[]))).then(function(r){return Number(f(r))})}catch(r){return Promise.reject(r)}},e.getTransaction=function(r){try{return Promise.resolve(Promise.all([this.post(j("eth_getTransactionByHash",[r])),this.getBlock("latest")])).then(function(r){var e=r[1],t=S(r[0]);return t.confirmations=e.number-t.blockNumber+1,t})}catch(r){return Promise.reject(r)}},e.getTransactionReceipt=function(r){try{return Promise.resolve(Promise.all([this.post(j("eth_getTransactionReceipt",[r])),this.getBlock("latest")])).then(function(r){var e=r[1],t=function(r){var e=c({},S(r));return Object.keys(r).forEach(function(t){if(r[t])switch(t){case"status":e[t]=Number(f(r[t]));break;case"contractAddress":r[t]&&(e[t]=y(r[t]));break;case"cumulativeGasUsed":case"effectiveGasPrice":case"gasUsed":e[t]=p(f(r[t]));break;case"logs":r[t].forEach(function(r,n){e[t][n]=_(r,!0)})}}),e.byzantium=e.blockNumber>=437e4,e}(r[0]);return t.confirmations=e.number-t.blockNumber+1,t})}catch(r){return Promise.reject(r)}},e.getTransactionCount=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getTransactionCount",[r,e]))).then(function(r){return Number(f(r))})}catch(r){return Promise.reject(r)}},e.getBlock=function(r,e){void 0===r&&(r="latest"),void 0===e&&(e=!1);try{var t="Number";return"string"==typeof r&&66===r.length?t="Hash":r=q(r),Promise.resolve(this.post(j("eth_getBlockBy"+t,[r,e]))).then(function(r){return function(r,e){var t=c({},r);return Object.keys(r).forEach(function(e){if(r[e])switch(e){case"difficulty":case"totalDifficulty":case"gasLimit":case"gasUsed":case"size":case"timestamp":case"baseFeePerGas":t[e]=p(f(r[e]));break;case"number":t[e]=Number(f(r[e]));break;case"miner":t[e]=y(r[e])}}),e&&r.transactions.forEach(function(r,e){t.transactions[e]=S(r)}),t}(r,e)})}catch(r){return Promise.reject(r)}},e.getGasPrice=function(){try{return Promise.resolve(this.post(j("eth_gasPrice",[]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getBalance=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getBalance",[r,e]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getCode=function(r,e){void 0===e&&(e="latest");try{return e=q(e),Promise.resolve(this.post(j("eth_getCode",[r,e])))}catch(r){return Promise.reject(r)}},e.estimateGas=function(r){try{var e=W(r);return Promise.resolve(this.post(j("eth_estimateGas",[e]))).then(function(r){return p(f(r))})}catch(r){return Promise.reject(r)}},e.getFeeData=function(){try{return Promise.resolve(Promise.all([this.getBlock("latest"),this.getGasPrice()])).then(function(r){var e=r[0],t=r[1],n=null,i=null,o=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,o=p("1500000000"),i=p(e.baseFeePerGas.mul(2).add(o))),{lastBaseFeePerGas:n,maxFeePerGas:i,maxPriorityFeePerGas:o,gasPrice:t}})}catch(r){return Promise.reject(r)}},e.getLogs=function(r){try{var e=r;return e.fromBlock&&(e.fromBlock=q(e.fromBlock)),e.toBlock&&(e.toBlock=q(e.toBlock)),Promise.resolve(this.post(j("eth_getLogs",[r]))).then(function(r){return r.map(function(r){return _(r,!1)})})}catch(r){return Promise.reject(r)}},e.call=function(r,e){void 0===e&&(e="latest");try{r.gasPrice&&(r.maxPriorityFeePerGas||r.maxFeePerGas)&&N.throwError('Cannot specify both "gasPrice" and ("maxPriorityFeePerGas" or "maxFeePerGas")',{gasPrice:r.gasPrice,maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas}),r.maxFeePerGas&&r.maxPriorityFeePerGas&&N.throwError('Cannot specify both "maxFeePerGas" and "maxPriorityFeePerGas"',{maxFeePerGas:r.maxFeePerGas,maxPriorityFeePerGas:r.maxPriorityFeePerGas}),e=q(e);var t=W(r);return Promise.resolve(this.post(j("eth_call",[t,e])))}catch(r){return Promise.reject(r)}},r}(),K=/*#__PURE__*/function(r){l(t,r);var e=t.prototype;function t(e){return void 0===e&&(e="https://free-eth-node.com/api/eth"),r.call(this,[e])||this}return e.selectRpcUrl=function(){return this._rpcUrls[0]},e.post=function(r){return this._post(r)},t}(J),z=/*#__PURE__*/function(r){function e(e,t){return void 0===t&&(t="mainnet"),r.call(this,"https://eth-"+t+".alchemyapi.io/v2/"+e)||this}return l(e,r),e}(K),V=/*#__PURE__*/function(r){function e(e,t){var n;return void 0===t&&(t={}),Array.isArray(e)||N.throwError("Array required",{rpcUrls:e}),e.length<=1&&N.throwError("More than one rpcUrl is required",{rpcUrls:e}),(n=r.call(this,e)||this).rpcUrlCounter=0,n.timeoutDuration=void 0,n.post=function(r){var e=n.rpcUrlCounter;return function t(){var i,o,a=n.selectRpcUrl();return(i=n._post(r),o=n.timeoutDuration,new Promise(function(r,e){var t=setTimeout(function(){return e(new Error("Promise timed out"))},o);i.then(function(e){clearTimeout(t),r(e)}).catch(function(r){clearTimeout(t),e(r)})})).catch(function(r){if(a===n.selectRpcUrl()&&(n.rpcUrlCounter=(n.rpcUrlCounter+1)%n._rpcUrls.length),n.rpcUrlCounter===e)throw r;return t()})}()},n.timeoutDuration=t.timeoutDuration||8e3,n}return l(e,r),e.prototype.selectRpcUrl=function(){return this._rpcUrls[this.rpcUrlCounter]},e}(J);function Z(r){return r=M(r).slice(2),"0x"+i.Point.fromPrivateKey(r).toHex()}function Q(r){var t;return t="string"==typeof r?Buffer.from(r.replace(/^0x/,""),"hex"):Buffer.from(r),"0x"+new e.Keccak(256).update(t).digest("hex")}function X(r){return new Uint8Array(Buffer.from(r))}var Y=new RegExp("^bytes([0-9]+)$"),rr=new RegExp("^(u?int)([0-9]*)$"),er=new RegExp("^(.*)\\[([0-9]*)\\]$");function tr(r,e,t){switch(r){case"address":return t?O(e,32):F(e);case"string":return o.Buffer.from(e);case"bytes":return F(e);case"bool":return e=e?"0x01":"0x00",t?O(e,32):F(e)}var n=r.match(rr);if(n){var i=parseInt(n[2]||"256");return(n[2]&&String(i)!==n[2]||i%8!=0||0===i||i>256)&&N.throwArgumentError("invalid number type","type",r),t&&(i=256),O(M(e=p(e).toTwos(i).toNumber()),i/8)}if(n=r.match(Y)){var a=parseInt(n[1]);return(String(a)!==n[1]||0===a||a>32)&&N.throwArgumentError("invalid bytes type","type",r),F(e).byteLength!==a&&N.throwArgumentError("invalid value for "+r,"value",e),t?F((e+b).substring(0,66)):e}if((n=r.match(er))&&Array.isArray(e)){var s=n[1];parseInt(n[2]||String(e.length))!=e.length&&N.throwArgumentError("invalid array length for "+r,"value",e);var u=[];return e.forEach(function(r){u.push(tr(s,r,!0))}),I(u)}return N.throwArgumentError("invalid type","type",r)}function nr(r,e){r.length!=e.length&&N.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);var t=[];return r.forEach(function(r,n){t.push(tr(r,e[n]))}),M(I(t))}r.AlchemyProvider=z,r.BaseContract=k,r.Contract=A,r.FallthroughProvider=V,r.JsonRpcProvider=K,r.TinyBig=m,r.arrayify=F,r.computeAddress=function(r){return r.startsWith("0x04")||r.startsWith("0x03")||r.startsWith("0x02")||(r=Z(r)),y(L(Q(L(r,1)),12))},r.computePublicKey=Z,r.concat=I,r.etherToGwei=function(r){d(r,["string","number","object"]);var e=p(r).times("1000000000");return p(e)},r.etherToWei=function(r){d(r,["string","number","object"]);var e=p(r).times("1000000000000000000");return p(e)},r.gweiToEther=function(r){d(r,["string","number","object"]);var e=p(r).div("1000000000");return p(e)},r.hashMessage=function(r){return"string"==typeof r&&(r=X(r)),Q(I([X("Ethereum Signed Message:\n"),X(String(r.length)),r]))},r.hexConcat=function(r){var e="0x";return r.forEach(function(r){e+=M(r).substring(2)}),e},r.hexDataLength=function(r){if("string"!=typeof r)r=M(r);else if(!T(r)||r.length%2)return null;return(r.length-2)/2},r.hexDataSlice=L,r.hexStripZeros=H,r.hexValue=function(r){var e=H(M(r,{hexPad:"left"}));return"0x"===e?"0x0":e},r.hexZeroPad=D,r.hexlify=M,r.isAddress=function(r){d(r,["string"]);try{return y(r),!0}catch(r){return!1}},r.isBytes=G,r.isBytesLike=C,r.isHexString=T,r.jsonRpcProvider=function(r){return new K(r)},r.keccak256=Q,r.pack=nr,r.solidityKeccak256=function(r,e){return Q(nr(r,e))},r.splitSignature=function(r){var e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(C(r)){var t=F(r);64===t.length?(e.v=27+(t[32]>>7),t[32]&=127,e.r=M(t.slice(0,32)),e.s=M(t.slice(32,64))):65===t.length?(e.r=M(t.slice(0,32)),e.s=M(t.slice(32,64)),e.v=t[64]):N.throwArgumentError("invalid signature string","signature",r),e.v<27&&(0===e.v||1===e.v?e.v+=27:N.throwArgumentError("signature invalid v byte","signature",r)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(t[32]|=128),e._vs=M(t.slice(32,64))}else{if(e.r=r.r,e.s=r.s,e.v=r.v,e.recoveryParam=r.recoveryParam,e._vs=r._vs,null!=e._vs){var n=O(F(e._vs),32);e._vs=M(n);var i=n[0]>=128?1:0;null==e.recoveryParam?e.recoveryParam=i:e.recoveryParam!==i&&N.throwArgumentError("signature recoveryParam mismatch _vs","signature",r),n[0]&=127;var o=M(n);null==e.s?e.s=o:e.s!==o&&N.throwArgumentError("signature v mismatch _vs","signature",r)}null==e.recoveryParam?null==e.v?N.throwArgumentError("signature missing v and recoveryParam","signature",r):e.recoveryParam=0===e.v||1===e.v?e.v:1-e.v%2:null==e.v?e.v=27+e.recoveryParam:e.recoveryParam!==(0===e.v||1===e.v?e.v:1-e.v%2)&&N.throwArgumentError("signature recoveryParam mismatch v","signature",r),null!=e.r&&T(e.r)?e.r=D(e.r,32):N.throwArgumentError("signature missing or invalid r","signature",r),null!=e.s&&T(e.s)?e.s=D(e.s,32):N.throwArgumentError("signature missing or invalid s","signature",r);var a=F(e.s);a[0]>=128&&N.throwArgumentError("signature s out of range","signature",r),e.recoveryParam&&(a[0]|=128);var s=M(a);e._vs&&(T(e._vs)||N.throwArgumentError("signature invalid _vs","signature",r),e._vs=D(e._vs,32)),null==e._vs?e._vs=s:e._vs!==s&&N.throwArgumentError("signature _vs mismatch v and s","signature",r)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e},r.stripZeros=function(r){var e=F(r);if(0===e.length)return e;for(var t=0;t<e.length&&0===e[t];)t++;return t&&(e=e.slice(t)),e},r.tinyBig=p,r.toChecksumAddress=y,r.toUtf8Bytes=X,r.weiToEther=function(r){d(r,["string","number","object"]);try{var e=r;"string"==typeof r&&"0x"===r.slice(0,2)&&(e=BigInt(r).toString());var t=p(e).div("1000000000000000000");return p(t)}catch(r){throw r}},r.zeroPad=O});
|
|
2
2
|
//# sourceMappingURL=essential-eth.umd.js.map
|