@soloseng/ganache
Version:
A library and cli to create a local blockchain for fast Ethereum development.
2 lines • 294 kB
JavaScript
/*! For license information please see 1.js.LICENSE.txt */
exports.id=1,exports.ids=[1],exports.modules={12:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Address=void 0;const s=r(0),n=r(1);class Address extends s.Address{constructor(e){super(e)}static from(e){return new Address(n.Data.toBuffer(e,Address.ByteLength))}static toBuffer(e){return Address.from(e).toBuffer()}static toString(e){return Address.from(e).toString()}toJSON(){return this.toString()}}t.Address=Address,Address.ByteLength=20},50:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(420),t),n(r(433),t),n(r(806),t),n(r(219),t)},805:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.BlockParams=void 0,t.BlockParams={INITIAL_BASE_FEE_PER_GAS:1000000000n,ELASTICITY:2n,BASE_FEE_MAX_CHANGE_DENOMINATOR:8n}},420:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Block=void 0;const s=r(1),n=r(31),i=r(16),o=r(433),a=r(1),c=r(219),l=r(805);class Block{constructor(e,t){if(this._common=t,e){const t=(0,i.decode)(e);let r;this._raw=t[0],this._rawTransactions=t[1]||[],7===t.length?(this._rawWithdrawals=t[3]||[],r=t[4],this._rawTransactionMetaData=t[5]||[],this._size=s.Quantity.toNumber(t[6])):(this._rawWithdrawals=null,r=t[3],this._rawTransactionMetaData=t[4]||[],this._size=s.Quantity.toNumber(t[5])),this.header=(0,o.makeHeader)(this._raw,r)}}static migrate(e){const t=(0,i.decode)(e),r=t.slice(0,3);return r[1]=r[1].map((e=>{if(9===e.length)return e;{const t=e[0][0],r=e.slice(1);return(0,n.encodeWithPrefix)(t,r)}})),(0,c.serialize)(r,t.slice(3,5)).serialized}hash(){return this._hash||(this._hash=s.Data.from((0,a.keccak)((0,i.encode)(this._raw)),32))}getTransactions(){const e=this._common,t=this.hash().toBuffer(),r=this.header.number.toBuffer();return this._rawTransactions.map(((n,i)=>{const[o,a]=this._rawTransactionMetaData[i],l=[o,a,t,r,s.Quantity.toBuffer(i)];return(0,c.blockTransactionFromRaw)(n,e,l)}))}toJSON(e){const t=this.hash(),r=this.getTxFn(e),n=t.toBuffer(),i=this.header,o=i.number.toBuffer(),a=this._common,l=this._rawTransactions.map(((e,t)=>{const[l,u]=this._rawTransactionMetaData[t],d=[l,u,n,o,s.Quantity.toBuffer(t)],h=(0,c.blockTransactionFromRaw)(e,a,d);return h.updateEffectiveGasPrice(i.baseFeePerGas?.toBigInt()),r(h)}));return{hash:t,...i,size:s.Quantity.from(this._size),transactions:l,uncles:[],withdrawals:this._rawWithdrawals?.map(c.convertRawWithdrawals)}}getTxFn(e=!1){return e?e=>e.toJSON(this._common):e=>e.hash}static calcNextBaseFeeBigInt(e){let t;const r=e,s=r.gasLimit.toBigInt()/l.BlockParams.ELASTICITY,n=r.gasUsed.toBigInt(),i=r.baseFeePerGas?r.baseFeePerGas.toBigInt():l.BlockParams.INITIAL_BASE_FEE_PER_GAS;if(s===n)t=i;else if(n>s){const e=i*(n-s)/s/l.BlockParams.BASE_FEE_MAX_CHANGE_DENOMINATOR;t=e>1n?i+e:i+1n}else{t=i-i*(s-n)/s/l.BlockParams.BASE_FEE_MAX_CHANGE_DENOMINATOR}return t}static calcNBlocksMaxBaseFee(e,t){const{BASE_FEE_MAX_CHANGE_DENOMINATOR:r}=l.BlockParams;let s=this.calcNextBaseFeeBigInt(t);for(;--e;)s+=s/r;return s}static calcNextBaseFee(e){const t=e.header;return void 0===t.baseFeePerGas?void 0:this.calcNextBaseFeeBigInt(t)}}t.Block=Block,Block.INITIAL_BASE_FEE_PER_GAS=l.BlockParams.INITIAL_BASE_FEE_PER_GAS},433:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RuntimeBlock=t.makeHeader=t.getBlockSize=void 0;const s=r(1),n=r(0),i=r(219),o=r(12),a=r(420),c=r(31);function makeHeader(e,t){return{parentHash:s.Data.from(e[0],32),sha3Uncles:s.Data.from(e[1],32),miner:s.Data.from(e[2],20),stateRoot:s.Data.from(e[3],32),transactionsRoot:s.Data.from(e[4],32),receiptsRoot:s.Data.from(e[5],32),logsBloom:s.Data.from(e[6],256),difficulty:s.Quantity.from(e[7],!1),number:s.Quantity.from(e[8],!1),gasLimit:s.Quantity.from(e[9],!1),gasUsed:s.Quantity.from(e[10],!1),timestamp:s.Quantity.from(e[11],!1),extraData:s.Data.from(e[12]),mixHash:s.Data.from(e[13],32),nonce:s.Data.from(e[14],8),totalDifficulty:s.Quantity.from(t,!1),baseFeePerGas:void 0===e[15]?void 0:s.Quantity.from(e[15],!1),withdrawalsRoot:void 0===e[16]?void 0:s.Data.from(e[16],32)}}t.getBlockSize=function getBlockSize(e,t){return e.length-t.length},t.makeHeader=makeHeader;t.RuntimeBlock=class RuntimeBlock{constructor(e,t,r,n,i,a,c,l,u,d,h,g){this._common=e;const p=n.toBuffer();this.header={parentHash:r.toBuffer(),coinbase:new o.Address(p),number:t.toBigInt(),difficulty:l.toBigInt(),totalDifficulty:s.Quantity.toBuffer(u.toBigInt()+l.toBigInt()),gasLimit:i.toBigInt(),gasUsed:a.toBigInt(),timestamp:c.toBigInt(),baseFeePerGas:h,mixHash:d,prevRandao:d,withdrawalsRoot:g}}finalize(e,t,r,o,l,u,d,h){const{header:g}=this,p=[g.parentHash,n.KECCAK256_RLP_ARRAY,g.coinbase.buf,o,e,t,r,s.Quantity.toBuffer(g.difficulty),s.Quantity.toBuffer(g.number),s.Quantity.toBuffer(g.gasLimit),0n===l?s.BUFFER_EMPTY:s.Quantity.toBuffer(l),s.Quantity.toBuffer(g.timestamp),u.toBuffer(),g.mixHash,s.BUFFER_8_ZERO],m=this._common.isActivatedEIP(4895);void 0!==g.baseFeePerGas&&(p[15]=s.Quantity.toBuffer(g.baseFeePerGas,!1),m&&(p[16]=s.Data.toBuffer(g.withdrawalsRoot)));const{totalDifficulty:b}=g,y=Array(d.length),w=Array(d.length);for(let e=0;e<d.length;e++){const t=d[e];y[e]=9===t.raw.length?t.raw:t.serialized??(0,c.encodeWithPrefix)(t.type.toNumber(),t.raw),w[e]=[t.from.toBuffer(),t.hash.toBuffer()]}const _=m?[p,y,[],[]]:[p,y,[]],{serialized:v,size:k}=(0,i.serialize)(_,[b,w]),E=new a.Block(null,this._common);return E._raw=p,E._rawTransactions=y,E.header=makeHeader(p,b),E._rawWithdrawals=[],E._rawTransactionMetaData=w,E._size=k,{block:E,serialized:v,storageKeys:h,transactions:d}}}},219:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.convertRawWithdrawals=t.blockTransactionFromRaw=t.serialize=void 0;const s=r(12),n=r(31),i=r(16),o=r(1);t.serialize=function serialize(e,t){const r=(0,i.encodeRange)(e,0,e.length),s=r.length,n=(0,i.encodeLength)(s,192).length+s,a=(0,i.encodeRange)(t,0,2),c=(0,i.encode)((0,o.uintToBuffer)(n));return{serialized:(0,i.digest)([r.output,a.output,[c]],s+a.length+c.length),size:n}},t.blockTransactionFromRaw=function blockTransactionFromRaw(e,t,r){let s,o;return!function isLegacyRawTransaction(e){return 9===e.length}(e)?(o=e[0],s=(0,i.decode)(e.subarray(1))):(o=0,s=e),n.TransactionFactory.fromSafeTypeAndTxData(o,s,t,r)},t.convertRawWithdrawals=function convertRawWithdrawals([e,t,r,n]){return{index:o.Quantity.from(e),validatorIndex:o.Quantity.from(t),address:s.Address.from(r),amount:o.Quantity.from(n)}}},806:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},457:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.maybeGetLogs=void 0;var s=r(831);Object.defineProperty(t,"maybeGetLogs",{enumerable:!0,get:function(){return s.maybeGetLogs}})},172:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Handlers=t.bytes=t.address=t.bool=t.string=t.uint256=t.int256=t.fixedBytes=t.WORD_SIZE=void 0;const s=r(286);t.WORD_SIZE=32;const n=-0x10000000000000000000000000000000000000000000000000000000000000000n;function getDynamicDataMarkers(e,r){const s=r+t.WORD_SIZE-4,n=e.readUInt32BE(s)+t.WORD_SIZE;return{start:n,end:n+e.readUInt32BE(n-4)}}function handleBytes(e,t,r){return`0x${e.toString("hex",t,r)}`}t.fixedBytes=function fixedBytes(e){return(t,r)=>handleBytes(t,r,r+e)};t.int256=(e,r)=>{const i=e.subarray(r,r+t.WORD_SIZE),o=(0,s.bufferToBigInt)(i);return 128&i[0]?o|n:o};t.uint256=(e,r)=>(0,s.bufferToBigInt)(e.subarray(r,r+t.WORD_SIZE));t.string=(e,t)=>{const{start:r,end:s}=getDynamicDataMarkers(e,t);return e.toString("utf8",r,s)};t.bool=(e,r)=>0!==e[r+t.WORD_SIZE-1];t.address=(e,r)=>`0x${e.toString("hex",r+12,r+t.WORD_SIZE)}`;t.bytes=(e,t)=>{const{start:r,end:s}=getDynamicDataMarkers(e,t);return handleBytes(e,r,s)},t.Handlers={address:t.address,bool:t.bool,bytes:t.bytes,int256:t.int256,string:t.string,uint256:t.uint256}},831:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.maybeGetLogs=void 0;const s=r(172),n=r(843),i=0x636f6e736f6c652e6c6f67n;t.maybeGetLogs=e=>{if("STATICCALL"!==e.opcode.name)return null;const t=e.stack,[r,o,a]=t.slice(-4,-1);if(a!==i)return null;try{const t=Number(o),i=t+Number(r),a=e.memory.subarray(t,i),c=a.readUInt32BE(0),l=n.signatureMap.get(c);if(!l)return null;const u=a.subarray(4);return l.map(((e,t)=>{const r=t*s.WORD_SIZE;return e(u,r)}))}catch{return null}}},843:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.signatureMap=void 0;const s=r(172);t.signatureMap=new Map([[1368866505,[]],[741264322,[s.address]],[843419373,[s.bool]],[1093685164,[s.string]],[4163653873,[s.uint256]],[4122065833,[s.uint256]],[199720790,[s.bytes]],[760966329,[s.int256]],[1309416733,[s.int256]],[1847107880,[(0,s.fixedBytes)(1)]],[3921027734,[(0,s.fixedBytes)(2)]],[763578662,[(0,s.fixedBytes)(3)]],[3764340945,[(0,s.fixedBytes)(4)]],[2793701517,[(0,s.fixedBytes)(5)]],[2927928721,[(0,s.fixedBytes)(6)]],[1322614312,[(0,s.fixedBytes)(7)]],[1334060334,[(0,s.fixedBytes)(8)]],[2428341456,[(0,s.fixedBytes)(9)]],[20780939,[(0,s.fixedBytes)(10)]],[67127854,[(0,s.fixedBytes)(11)]],[2258660029,[(0,s.fixedBytes)(12)]],[2488442420,[(0,s.fixedBytes)(13)]],[2456219775,[(0,s.fixedBytes)(14)]],[3667227872,[(0,s.fixedBytes)(15)]],[1717330180,[(0,s.fixedBytes)(16)]],[866084666,[(0,s.fixedBytes)(17)]],[3302112666,[(0,s.fixedBytes)(18)]],[1584093747,[(0,s.fixedBytes)(19)]],[1367925737,[(0,s.fixedBytes)(20)]],[3923391840,[(0,s.fixedBytes)(21)]],[3589990556,[(0,s.fixedBytes)(22)]],[2879508237,[(0,s.fixedBytes)(23)]],[4055063348,[(0,s.fixedBytes)(24)]],[193248344,[(0,s.fixedBytes)(25)]],[4172368369,[(0,s.fixedBytes)(26)]],[976705501,[(0,s.fixedBytes)(27)]],[3358255854,[(0,s.fixedBytes)(28)]],[1265222613,[(0,s.fixedBytes)(29)]],[3994207469,[(0,s.fixedBytes)(30)]],[3263516050,[(0,s.fixedBytes)(31)]],[666357637,[(0,s.fixedBytes)(32)]],[3673216170,[s.address,s.address]],[1974863315,[s.address,s.bool]],[1973388987,[s.address,s.string]],[2198464680,[s.address,s.uint256]],[574869411,[s.address,s.uint256]],[2235320393,[s.bool,s.address]],[705760899,[s.bool,s.bool]],[2414527781,[s.bool,s.string]],[965833939,[s.bool,s.uint256]],[910912146,[s.bool,s.uint256]],[832238387,[s.string,s.address]],[3283441205,[s.string,s.bool]],[1264337527,[s.string,s.string]],[3054400204,[s.string,s.uint256]],[2534451664,[s.string,s.uint256]],[1764191366,[s.uint256,s.address]],[1491830284,[s.uint256,s.address]],[480083635,[s.uint256,s.bool]],[510514412,[s.uint256,s.bool]],[1681903839,[s.uint256,s.string]],[262402885,[s.uint256,s.string]],[4133908826,[s.uint256,s.uint256]],[1812949376,[s.uint256,s.uint256]],[25986242,[s.address,s.address,s.address]],[4070990470,[s.address,s.address,s.bool]],[7426238,[s.address,s.address,s.string]],[402547077,[s.address,s.address,s.uint256]],[1815506290,[s.address,s.address,s.uint256]],[4044790253,[s.address,s.bool,s.address]],[3951234194,[s.address,s.bool,s.bool]],[555898316,[s.address,s.bool,s.string]],[2622462459,[s.address,s.bool,s.uint256]],[742821141,[s.address,s.bool,s.uint256]],[4035396840,[s.address,s.string,s.address]],[3473018801,[s.address,s.string,s.bool]],[4218888805,[s.address,s.string,s.string]],[1742565361,[s.address,s.string,s.uint256]],[484110986,[s.address,s.string,s.uint256]],[2076235848,[s.address,s.uint256,s.address]],[2548867988,[s.address,s.uint256,s.address]],[1736575400,[s.address,s.uint256,s.bool]],[3846889796,[s.address,s.uint256,s.bool]],[2717051050,[s.address,s.uint256,s.string]],[3136907337,[s.address,s.uint256,s.string]],[3063663350,[s.address,s.uint256,s.uint256]],[2273710942,[s.address,s.uint256,s.uint256]],[3530962535,[s.bool,s.address,s.address]],[415876934,[s.bool,s.address,s.bool]],[3734671984,[s.bool,s.address,s.string]],[1601936123,[s.bool,s.address,s.uint256]],[3950005167,[s.bool,s.address,s.uint256]],[276362893,[s.bool,s.bool,s.address]],[1349555864,[s.bool,s.bool,s.bool]],[626391622,[s.bool,s.bool,s.string]],[317855234,[s.bool,s.bool,s.uint256]],[2954061243,[s.bool,s.bool,s.uint256]],[2509355347,[s.bool,s.string,s.address]],[3686056519,[s.bool,s.string,s.bool]],[2960557183,[s.bool,s.string,s.string]],[278130193,[s.bool,s.string,s.uint256]],[3224906412,[s.bool,s.string,s.uint256]],[143587794,[s.bool,s.uint256,s.address]],[3302110471,[s.bool,s.uint256,s.address]],[3906927529,[s.bool,s.uint256,s.bool]],[464374251,[s.bool,s.uint256,s.bool]],[3288086896,[s.bool,s.uint256,s.string]],[3359211184,[s.bool,s.uint256,s.string]],[923808615,[s.bool,s.uint256,s.uint256]],[995886048,[s.bool,s.uint256,s.uint256]],[4243355104,[s.string,s.address,s.address]],[3374145236,[s.string,s.address,s.bool]],[3773410639,[s.string,s.address,s.string]],[220641573,[s.string,s.address,s.uint256]],[130552343,[s.string,s.address,s.uint256]],[2469116728,[s.string,s.bool,s.address]],[2232122070,[s.string,s.bool,s.bool]],[3801674877,[s.string,s.bool,s.string]],[3378075862,[s.string,s.bool,s.uint256]],[689682896,[s.string,s.bool,s.uint256]],[2515337621,[s.string,s.string,s.address]],[2967534005,[s.string,s.string,s.bool]],[753761519,[s.string,s.string,s.string]],[1478619041,[s.string,s.string,s.uint256]],[4083337817,[s.string,s.string,s.uint256]],[478069832,[s.string,s.uint256,s.address]],[3817119609,[s.string,s.uint256,s.address]],[3396809649,[s.string,s.uint256,s.bool]],[4043501061,[s.string,s.uint256,s.bool]],[1500569737,[s.string,s.uint256,s.string]],[2750793529,[s.string,s.uint256,s.string]],[3393701099,[s.string,s.uint256,s.uint256]],[2526862595,[s.string,s.uint256,s.uint256]],[3170737120,[s.uint256,s.address,s.address]],[2104993307,[s.uint256,s.address,s.address]],[2607726658,[s.uint256,s.address,s.bool]],[2060456590,[s.uint256,s.address,s.bool]],[1674265081,[s.uint256,s.address,s.string]],[3464692859,[s.uint256,s.address,s.string]],[1520131797,[s.uint256,s.address,s.uint256]],[2286109610,[s.uint256,s.address,s.uint256]],[889741179,[s.uint256,s.bool,s.address]],[1112473535,[s.uint256,s.bool,s.address]],[544310864,[s.uint256,s.bool,s.bool]],[3587091680,[s.uint256,s.bool,s.bool]],[2239189025,[s.uint256,s.bool,s.string]],[2332955902,[s.uint256,s.bool,s.string]],[537493524,[s.uint256,s.bool,s.uint256]],[1515034914,[s.uint256,s.bool,s.uint256]],[2063255897,[s.uint256,s.string,s.address]],[529592906,[s.uint256,s.string,s.address]],[1290643290,[s.uint256,s.string,s.bool]],[1185403086,[s.uint256,s.string,s.bool]],[2970968351,[s.uint256,s.string,s.string]],[1062716053,[s.uint256,s.string,s.string]],[933920076,[s.uint256,s.string,s.uint256]],[1533929535,[s.uint256,s.string,s.uint256]],[1553380145,[s.uint256,s.uint256,s.address]],[3191032091,[s.uint256,s.uint256,s.address]],[1197922930,[s.uint256,s.uint256,s.bool]],[1733758967,[s.uint256,s.uint256,s.bool]],[1909476082,[s.uint256,s.uint256,s.string]],[2104037094,[s.uint256,s.uint256,s.string]],[3522001468,[s.uint256,s.uint256,s.uint256]],[3884059252,[s.uint256,s.uint256,s.uint256]],[1717301556,[s.address,s.address,s.address,s.address]],[238520724,[s.address,s.address,s.address,s.bool]],[4161329696,[s.address,s.address,s.address,s.string]],[2485456247,[s.address,s.address,s.address,s.uint256]],[3982404743,[s.address,s.address,s.address,s.uint256]],[2669396846,[s.address,s.address,s.bool,s.address]],[752096074,[s.address,s.address,s.bool,s.bool]],[2858762440,[s.address,s.address,s.bool,s.string]],[963766156,[s.address,s.address,s.bool,s.uint256]],[2513854225,[s.address,s.address,s.bool,s.uint256]],[2406706454,[s.address,s.address,s.string,s.address]],[1863997774,[s.address,s.address,s.string,s.bool]],[566079269,[s.address,s.address,s.string,s.string]],[4011651047,[s.address,s.address,s.string,s.uint256]],[69767936,[s.address,s.address,s.string,s.uint256]],[2376523509,[s.address,s.address,s.uint256,s.address]],[3603321462,[s.address,s.address,s.uint256,s.address]],[2604815586,[s.address,s.address,s.uint256,s.bool]],[3270936812,[s.address,s.address,s.uint256,s.bool]],[4256496016,[s.address,s.address,s.uint256,s.string]],[2647731885,[s.address,s.address,s.uint256,s.string]],[3193255041,[s.address,s.address,s.uint256,s.uint256]],[1425929188,[s.address,s.address,s.uint256,s.uint256]],[1711502813,[s.address,s.bool,s.address,s.address]],[2801077007,[s.address,s.bool,s.address,s.bool]],[769095910,[s.address,s.bool,s.address,s.string]],[2807847390,[s.address,s.bool,s.address,s.uint256]],[3698398930,[s.address,s.bool,s.address,s.uint256]],[3476636805,[s.address,s.bool,s.bool,s.address]],[3401856121,[s.address,s.bool,s.bool,s.bool]],[3754205928,[s.address,s.bool,s.bool,s.string]],[2353946086,[s.address,s.bool,s.bool,s.uint256]],[3484780374,[s.address,s.bool,s.bool,s.uint256]],[436029782,[s.address,s.bool,s.string,s.address]],[1353532957,[s.address,s.bool,s.string,s.bool]],[1197235251,[s.address,s.bool,s.string,s.string]],[2162598411,[s.address,s.bool,s.string,s.uint256]],[2652011374,[s.address,s.bool,s.string,s.uint256]],[3438776481,[s.address,s.bool,s.uint256,s.address]],[227337758,[s.address,s.bool,s.uint256,s.address]],[3294903840,[s.address,s.bool,s.uint256,s.bool]],[2244855215,[s.address,s.bool,s.uint256,s.bool]],[178704301,[s.address,s.bool,s.uint256,s.string]],[2606272204,[s.address,s.bool,s.uint256,s.string]],[946861556,[s.address,s.bool,s.uint256,s.uint256]],[3255869470,[s.address,s.bool,s.uint256,s.uint256]],[221706784,[s.address,s.string,s.address,s.address]],[233909110,[s.address,s.string,s.address,s.bool]],[4158874181,[s.address,s.string,s.address,s.string]],[1166009295,[s.address,s.string,s.address,s.uint256]],[2350461865,[s.address,s.string,s.address,s.uint256]],[542667202,[s.address,s.string,s.bool,s.address]],[1595759775,[s.address,s.string,s.bool,s.bool]],[3154862590,[s.address,s.string,s.bool,s.string]],[1365129398,[s.address,s.string,s.bool,s.uint256]],[3877655068,[s.address,s.string,s.bool,s.uint256]],[2689478535,[s.address,s.string,s.string,s.address]],[900007711,[s.address,s.string,s.string,s.bool]],[1560462603,[s.address,s.string,s.string,s.string]],[362776871,[s.address,s.string,s.string,s.uint256]],[2706362425,[s.address,s.string,s.string,s.uint256]],[1662531192,[s.address,s.string,s.uint256,s.address]],[3755464715,[s.address,s.string,s.uint256,s.address]],[251125840,[s.address,s.string,s.uint256,s.bool]],[2116357467,[s.address,s.string,s.uint256,s.bool]],[1149776040,[s.address,s.string,s.uint256,s.string]],[1561552329,[s.address,s.string,s.uint256,s.string]],[499704248,[s.address,s.string,s.uint256,s.uint256]],[2764647008,[s.address,s.string,s.uint256,s.uint256]],[1200430178,[s.address,s.uint256,s.address,s.address]],[3961816175,[s.address,s.uint256,s.address,s.address]],[2713504179,[s.address,s.uint256,s.address,s.bool]],[4051804649,[s.address,s.uint256,s.address,s.bool]],[497649386,[s.address,s.uint256,s.address,s.string]],[1567749022,[s.address,s.uint256,s.address,s.string]],[269444366,[s.address,s.uint256,s.address,s.uint256]],[2782496616,[s.address,s.uint256,s.address,s.uint256]],[2736520652,[s.address,s.uint256,s.bool,s.address]],[602229106,[s.address,s.uint256,s.bool,s.address]],[1005970743,[s.address,s.uint256,s.bool,s.bool]],[4272018778,[s.address,s.uint256,s.bool,s.bool]],[3316483577,[s.address,s.uint256,s.bool,s.string]],[2391690869,[s.address,s.uint256,s.bool,s.string]],[586594713,[s.address,s.uint256,s.bool,s.uint256]],[1770996626,[s.address,s.uint256,s.bool,s.uint256]],[1547898183,[s.address,s.uint256,s.string,s.address]],[3698927108,[s.address,s.uint256,s.string,s.address]],[3474460764,[s.address,s.uint256,s.string,s.bool]],[2751614737,[s.address,s.uint256,s.string,s.bool]],[2292761606,[s.address,s.uint256,s.string,s.string]],[2119616147,[s.address,s.uint256,s.string,s.string]],[3204577425,[s.address,s.uint256,s.string,s.uint256]],[4111650715,[s.address,s.uint256,s.string,s.uint256]],[551786573,[s.address,s.uint256,s.uint256,s.address]],[519451700,[s.address,s.uint256,s.uint256,s.address]],[1727118439,[s.address,s.uint256,s.uint256,s.bool]],[3964381346,[s.address,s.uint256,s.uint256,s.bool]],[1244184599,[s.address,s.uint256,s.uint256,s.string]],[2301889963,[s.address,s.uint256,s.uint256,s.string]],[888202806,[s.address,s.uint256,s.uint256,s.uint256]],[1024368100,[s.address,s.uint256,s.uint256,s.uint256]],[487903233,[s.bool,s.address,s.address,s.address]],[1180699616,[s.bool,s.address,s.address,s.bool]],[3625099623,[s.bool,s.address,s.address,s.string]],[208064958,[s.bool,s.address,s.address,s.uint256]],[1384430956,[s.bool,s.address,s.address,s.uint256]],[474063670,[s.bool,s.address,s.bool,s.address]],[1788626827,[s.bool,s.address,s.bool,s.bool]],[1248250676,[s.bool,s.address,s.bool,s.string]],[126031106,[s.bool,s.address,s.bool,s.uint256]],[1287000017,[s.bool,s.address,s.bool,s.uint256]],[1870422078,[s.bool,s.address,s.string,s.address]],[3804222987,[s.bool,s.address,s.string,s.bool]],[2805734838,[s.bool,s.address,s.string,s.string]],[3256837319,[s.bool,s.address,s.string,s.uint256]],[194640930,[s.bool,s.address,s.string,s.uint256]],[325780957,[s.bool,s.address,s.uint256,s.address]],[1760647349,[s.bool,s.address,s.uint256,s.address]],[3590430492,[s.bool,s.address,s.uint256,s.bool]],[4002252402,[s.bool,s.address,s.uint256,s.bool]],[1374724088,[s.bool,s.address,s.uint256,s.string]],[2691192883,[s.bool,s.address,s.uint256,s.string]],[2079424929,[s.bool,s.address,s.uint256,s.uint256]],[2617143996,[s.bool,s.address,s.uint256,s.uint256]],[4102557348,[s.bool,s.bool,s.address,s.address]],[3231908568,[s.bool,s.bool,s.address,s.bool]],[2695133539,[s.bool,s.bool,s.address,s.string]],[1276263767,[s.bool,s.bool,s.address,s.uint256]],[1620281063,[s.bool,s.bool,s.address,s.uint256]],[2352126746,[s.bool,s.bool,s.bool,s.address]],[992632032,[s.bool,s.bool,s.bool,s.bool]],[719587540,[s.bool,s.bool,s.bool,s.string]],[1836074433,[s.bool,s.bool,s.bool,s.uint256]],[3259532109,[s.bool,s.bool,s.bool,s.uint256]],[4188875657,[s.bool,s.bool,s.string,s.address]],[3092715066,[s.bool,s.bool,s.string,s.bool]],[1830717265,[s.bool,s.bool,s.string,s.string]],[3819555375,[s.bool,s.bool,s.string,s.uint256]],[395003525,[s.bool,s.bool,s.string,s.uint256]],[1420274080,[s.bool,s.bool,s.uint256,s.address]],[201299213,[s.bool,s.bool,s.uint256,s.address]],[1637764366,[s.bool,s.bool,s.uint256,s.bool]],[2874982852,[s.bool,s.bool,s.uint256,s.bool]],[2111099104,[s.bool,s.bool,s.uint256,s.string]],[1348569399,[s.bool,s.bool,s.uint256,s.string]],[196087467,[s.bool,s.bool,s.uint256,s.uint256]],[1181212302,[s.bool,s.bool,s.uint256,s.uint256]],[724244700,[s.bool,s.string,s.address,s.address]],[1842623690,[s.bool,s.string,s.address,s.bool]],[316065672,[s.bool,s.string,s.address,s.string]],[2781534868,[s.bool,s.string,s.address,s.uint256]],[453743963,[s.bool,s.string,s.address,s.uint256]],[1401816747,[s.bool,s.string,s.bool,s.address]],[3697185627,[s.bool,s.string,s.bool,s.bool]],[1211958294,[s.bool,s.string,s.bool,s.string]],[369533843,[s.bool,s.string,s.bool,s.uint256]],[2372902053,[s.bool,s.string,s.bool,s.uint256]],[2547225816,[s.bool,s.string,s.string,s.address]],[508266469,[s.bool,s.string,s.string,s.bool]],[392356650,[s.bool,s.string,s.string,s.string]],[2078327787,[s.bool,s.string,s.string,s.uint256]],[1574643090,[s.bool,s.string,s.string,s.uint256]],[362193358,[s.bool,s.string,s.uint256,s.address]],[1529002296,[s.bool,s.string,s.uint256,s.address]],[1796103507,[s.bool,s.string,s.uint256,s.bool]],[549177775,[s.bool,s.string,s.uint256,s.bool]],[450457062,[s.bool,s.string,s.uint256,s.string]],[2007084013,[s.bool,s.string,s.uint256,s.string]],[679886795,[s.bool,s.string,s.uint256,s.uint256]],[2387273838,[s.bool,s.string,s.uint256,s.uint256]],[653615272,[s.bool,s.uint256,s.address,s.address]],[2318373034,[s.bool,s.uint256,s.address,s.address]],[3032683775,[s.bool,s.uint256,s.address,s.bool]],[1705899016,[s.bool,s.uint256,s.address,s.bool]],[464760986,[s.bool,s.uint256,s.address,s.string]],[403247937,[s.bool,s.uint256,s.address,s.string]],[355982471,[s.bool,s.uint256,s.address,s.uint256]],[3399820138,[s.bool,s.uint256,s.address,s.uint256]],[2597139990,[s.bool,s.uint256,s.bool,s.address]],[1114097656,[s.bool,s.uint256,s.bool,s.address]],[3468031191,[s.bool,s.uint256,s.bool,s.bool]],[2650928961,[s.bool,s.uint256,s.bool,s.bool]],[2437143473,[s.bool,s.uint256,s.bool,s.string]],[3067439572,[s.bool,s.uint256,s.bool,s.string]],[2140912802,[s.bool,s.uint256,s.bool,s.uint256]],[3554563475,[s.bool,s.uint256,s.bool,s.uint256]],[4275904511,[s.bool,s.uint256,s.string,s.address]],[2781285673,[s.bool,s.uint256,s.string,s.address]],[3857124139,[s.bool,s.uint256,s.string,s.bool]],[2446522387,[s.bool,s.uint256,s.string,s.bool]],[4122747465,[s.bool,s.uint256,s.string,s.string]],[3542771016,[s.bool,s.uint256,s.string,s.string]],[1779538402,[s.bool,s.uint256,s.string,s.uint256]],[1098907931,[s.bool,s.uint256,s.string,s.uint256]],[14518201,[s.bool,s.uint256,s.uint256,s.address]],[4049711649,[s.bool,s.uint256,s.uint256,s.address]],[3197649747,[s.bool,s.uint256,s.uint256,s.bool]],[2753397214,[s.bool,s.uint256,s.uint256,s.bool]],[2389310301,[s.bool,s.uint256,s.uint256,s.string]],[3657852616,[s.bool,s.uint256,s.uint256,s.string]],[927708338,[s.bool,s.uint256,s.uint256,s.uint256]],[853517604,[s.bool,s.uint256,s.uint256,s.uint256]],[3985582326,[s.string,s.address,s.address,s.address]],[3047013728,[s.string,s.address,s.address,s.bool]],[2148146279,[s.string,s.address,s.address,s.string]],[2398352281,[s.string,s.address,s.address,s.uint256]],[1857524797,[s.string,s.address,s.address,s.uint256]],[573965245,[s.string,s.address,s.bool,s.address]],[2038975531,[s.string,s.address,s.bool,s.bool]],[72663161,[s.string,s.address,s.bool,s.string]],[1050642026,[s.string,s.address,s.bool,s.uint256]],[3318856587,[s.string,s.address,s.bool,s.uint256]],[2864486961,[s.string,s.address,s.string,s.address]],[1595265676,[s.string,s.address,s.string,s.bool]],[609847026,[s.string,s.address,s.string,s.string]],[2446397742,[s.string,s.address,s.string,s.uint256]],[2405583849,[s.string,s.address,s.string,s.uint256]],[1677429701,[s.string,s.address,s.uint256,s.address]],[2741431424,[s.string,s.address,s.uint256,s.address]],[4232594928,[s.string,s.address,s.uint256,s.bool]],[1522647356,[s.string,s.address,s.uint256,s.bool]],[1514632754,[s.string,s.address,s.uint256,s.string]],[1280700980,[s.string,s.address,s.uint256,s.string]],[4176812830,[s.string,s.address,s.uint256,s.uint256]],[3668153533,[s.string,s.address,s.uint256,s.uint256]],[870964509,[s.string,s.bool,s.address,s.address]],[2508990662,[s.string,s.bool,s.address,s.bool]],[764294052,[s.string,s.bool,s.address,s.string]],[1560853253,[s.string,s.bool,s.address,s.uint256]],[685723286,[s.string,s.bool,s.address,s.uint256]],[1905304873,[s.string,s.bool,s.bool,s.address]],[2304440517,[s.string,s.bool,s.bool,s.bool]],[2636305885,[s.string,s.bool,s.bool,s.string]],[2386524329,[s.string,s.bool,s.bool,s.uint256]],[2155164136,[s.string,s.bool,s.bool,s.uint256]],[3764542249,[s.string,s.bool,s.string,s.address]],[1066037277,[s.string,s.bool,s.string,s.bool]],[2821114603,[s.string,s.bool,s.string,s.string]],[620303461,[s.string,s.bool,s.string,s.uint256]],[885731469,[s.string,s.bool,s.string,s.uint256]],[2472413631,[s.string,s.bool,s.uint256,s.address]],[1909687565,[s.string,s.bool,s.uint256,s.address]],[2331496330,[s.string,s.bool,s.uint256,s.bool]],[1019590099,[s.string,s.bool,s.uint256,s.bool]],[1949134567,[s.string,s.bool,s.uint256,s.string]],[1119461927,[s.string,s.bool,s.uint256,s.string]],[1689631591,[s.string,s.bool,s.uint256,s.uint256]],[1572859960,[s.string,s.bool,s.uint256,s.uint256]],[1134328815,[s.string,s.string,s.address,s.address]],[1556958775,[s.string,s.string,s.address,s.bool]],[3944480640,[s.string,s.string,s.address,s.string]],[2093204999,[s.string,s.string,s.address,s.uint256]],[1250010474,[s.string,s.string,s.address,s.uint256]],[3279013851,[s.string,s.string,s.bool,s.address]],[1081628777,[s.string,s.string,s.bool,s.bool]],[1585754346,[s.string,s.string,s.bool,s.string]],[3601791698,[s.string,s.string,s.bool,s.uint256]],[2256636538,[s.string,s.string,s.bool,s.uint256]],[1834430276,[s.string,s.string,s.string,s.address]],[739726573,[s.string,s.string,s.string,s.bool]],[3731419658,[s.string,s.string,s.string,s.string]],[2393878571,[s.string,s.string,s.string,s.uint256]],[2681211381,[s.string,s.string,s.string,s.uint256]],[270792626,[s.string,s.string,s.uint256,s.address]],[1565476480,[s.string,s.string,s.uint256,s.address]],[3282609748,[s.string,s.string,s.uint256,s.bool]],[3864418506,[s.string,s.string,s.uint256,s.bool]],[1562023706,[s.string,s.string,s.uint256,s.string]],[2366909661,[s.string,s.string,s.uint256,s.string]],[4099767596,[s.string,s.string,s.uint256,s.uint256]],[3587119056,[s.string,s.string,s.uint256,s.uint256]],[1587722158,[s.string,s.uint256,s.address,s.address]],[3939013249,[s.string,s.uint256,s.address,s.address]],[2182163010,[s.string,s.uint256,s.address,s.bool]],[285649143,[s.string,s.uint256,s.address,s.bool]],[2684039059,[s.string,s.uint256,s.address,s.string]],[844415720,[s.string,s.uint256,s.address,s.string]],[1325727174,[s.string,s.uint256,s.address,s.uint256]],[1481210622,[s.string,s.uint256,s.address,s.uint256]],[3773389720,[s.string,s.uint256,s.bool,s.address]],[3847527825,[s.string,s.uint256,s.bool,s.address]],[894187222,[s.string,s.uint256,s.bool,s.bool]],[3816813520,[s.string,s.uint256,s.bool,s.bool]],[2885106328,[s.string,s.uint256,s.bool,s.string]],[1993105508,[s.string,s.uint256,s.bool,s.string]],[3827003247,[s.string,s.uint256,s.bool,s.uint256]],[1427009269,[s.string,s.uint256,s.bool,s.uint256]],[2084975268,[s.string,s.uint256,s.string,s.address]],[3144824297,[s.string,s.uint256,s.string,s.address]],[2099530013,[s.string,s.uint256,s.string,s.bool]],[3919545039,[s.string,s.uint256,s.string,s.bool]],[1522028063,[s.string,s.uint256,s.string,s.string]],[1821956834,[s.string,s.uint256,s.string,s.string]],[3330189777,[s.string,s.uint256,s.string,s.uint256]],[2697245221,[s.string,s.uint256,s.string,s.uint256]],[3793609336,[s.string,s.uint256,s.uint256,s.address]],[3201771711,[s.string,s.uint256,s.uint256,s.address]],[1982258066,[s.string,s.uint256,s.uint256,s.bool]],[4147936829,[s.string,s.uint256,s.uint256,s.bool]],[2236298390,[s.string,s.uint256,s.uint256,s.string]],[2773406909,[s.string,s.uint256,s.uint256,s.string]],[2812835923,[s.string,s.uint256,s.uint256,s.uint256]],[149837414,[s.string,s.uint256,s.uint256,s.uint256]],[612938772,[s.uint256,s.address,s.address,s.address]],[1430734329,[s.uint256,s.address,s.address,s.address]],[153090805,[s.uint256,s.address,s.address,s.bool]],[22350596,[s.uint256,s.address,s.address,s.bool]],[52195187,[s.uint256,s.address,s.address,s.string]],[2034490470,[s.uint256,s.address,s.address,s.string]],[1936653238,[s.uint256,s.address,s.address,s.uint256]],[2587672470,[s.uint256,s.address,s.address,s.uint256]],[4017276179,[s.uint256,s.address,s.bool,s.address]],[3056677012,[s.uint256,s.address,s.bool,s.address]],[3813741583,[s.uint256,s.address,s.bool,s.bool]],[2116501773,[s.uint256,s.address,s.bool,s.bool]],[2432370346,[s.uint256,s.address,s.bool,s.string]],[1676730946,[s.uint256,s.address,s.bool,s.string]],[1522374954,[s.uint256,s.address,s.bool,s.uint256]],[2064181483,[s.uint256,s.address,s.bool,s.uint256]],[2629472255,[s.uint256,s.address,s.string,s.address]],[3420819197,[s.uint256,s.address,s.string,s.address]],[3425872647,[s.uint256,s.address,s.string,s.bool]],[581204390,[s.uint256,s.address,s.string,s.bool]],[1041403043,[s.uint256,s.address,s.string,s.string]],[2373420580,[s.uint256,s.address,s.string,s.string]],[1182952285,[s.uint256,s.address,s.string,s.uint256]],[2697204968,[s.uint256,s.address,s.string,s.uint256]],[364980149,[s.uint256,s.address,s.uint256,s.address]],[4256361684,[s.uint256,s.address,s.uint256,s.address]],[1601452668,[s.uint256,s.address,s.uint256,s.bool]],[435581801,[s.uint256,s.address,s.uint256,s.bool]],[3719324961,[s.uint256,s.address,s.uint256,s.string]],[1054063912,[s.uint256,s.address,s.uint256,s.string]],[211605953,[s.uint256,s.address,s.uint256,s.uint256]],[3399106228,[s.uint256,s.address,s.uint256,s.uint256]],[2716814523,[s.uint256,s.bool,s.address,s.address]],[2263728396,[s.uint256,s.bool,s.address,s.address]],[1162695845,[s.uint256,s.bool,s.address,s.bool]],[2449150530,[s.uint256,s.bool,s.address,s.bool]],[2917159623,[s.uint256,s.bool,s.address,s.string]],[2721084958,[s.uint256,s.bool,s.address,s.string]],[125994997,[s.uint256,s.bool,s.address,s.uint256]],[1102442299,[s.uint256,s.bool,s.address,s.uint256]],[1768164185,[s.uint256,s.bool,s.bool,s.address]],[1392910941,[s.uint256,s.bool,s.bool,s.address]],[3069540257,[s.uint256,s.bool,s.bool,s.bool]],[1315722005,[s.uint256,s.bool,s.bool,s.bool]],[3722155361,[s.uint256,s.bool,s.bool,s.string]],[831186331,[s.uint256,s.bool,s.bool,s.string]],[1952763427,[s.uint256,s.bool,s.bool,s.uint256]],[3173363033,[s.uint256,s.bool,s.bool,s.uint256]],[4015165464,[s.uint256,s.bool,s.string,s.address]],[1231956916,[s.uint256,s.bool,s.string,s.address]],[3952250239,[s.uint256,s.bool,s.string,s.bool]],[879671495,[s.uint256,s.bool,s.string,s.bool]],[1757984957,[s.uint256,s.bool,s.string,s.string]],[2754870525,[s.uint256,s.bool,s.string,s.string]],[740099910,[s.uint256,s.bool,s.string,s.uint256]],[2438978344,[s.uint256,s.bool,s.string,s.uint256]],[2295029825,[s.uint256,s.bool,s.uint256,s.address]],[1329595790,[s.uint256,s.bool,s.uint256,s.address]],[2443193898,[s.uint256,s.bool,s.uint256,s.bool]],[3534472445,[s.uint256,s.bool,s.uint256,s.bool]],[3724797812,[s.uint256,s.bool,s.uint256,s.string]],[3906845782,[s.uint256,s.bool,s.uint256,s.string]],[3333212072,[s.uint256,s.bool,s.uint256,s.uint256]],[1451396516,[s.uint256,s.bool,s.uint256,s.uint256]],[1634266465,[s.uint256,s.string,s.address,s.address]],[2141537675,[s.uint256,s.string,s.address,s.address]],[2428701270,[s.uint256,s.string,s.address,s.bool]],[4181720887,[s.uint256,s.string,s.address,s.bool]],[2621104033,[s.uint256,s.string,s.address,s.string]],[4170733439,[s.uint256,s.string,s.address,s.string]],[3906142605,[s.uint256,s.string,s.address,s.uint256]],[2565338099,[s.uint256,s.string,s.address,s.uint256]],[2922300801,[s.uint256,s.string,s.bool,s.address]],[2037328032,[s.uint256,s.string,s.bool,s.address]],[3126025628,[s.uint256,s.string,s.bool,s.bool]],[1371286465,[s.uint256,s.string,s.bool,s.bool]],[3537118157,[s.uint256,s.string,s.bool,s.string]],[2370346144,[s.uint256,s.string,s.bool,s.string]],[3472922752,[s.uint256,s.string,s.bool,s.uint256]],[2763295359,[s.uint256,s.string,s.bool,s.uint256]],[3582182914,[s.uint256,s.string,s.string,s.address]],[3432549024,[s.uint256,s.string,s.string,s.address]],[3014047421,[s.uint256,s.string,s.string,s.bool]],[310782872,[s.uint256,s.string,s.string,s.bool]],[564987523,[s.uint256,s.string,s.string,s.string]],[1474103825,[s.uint256,s.string,s.string,s.string]],[2955463101,[s.uint256,s.string,s.string,s.uint256]],[1995203422,[s.uint256,s.string,s.string,s.uint256]],[992115124,[s.uint256,s.string,s.uint256,s.address]],[2877020669,[s.uint256,s.string,s.uint256,s.address]],[1763348340,[s.uint256,s.string,s.uint256,s.bool]],[2270850606,[s.uint256,s.string,s.uint256,s.bool]],[3082360010,[s.uint256,s.string,s.uint256,s.string]],[2730232985,[s.uint256,s.string,s.uint256,s.string]],[2193775476,[s.uint256,s.string,s.uint256,s.uint256]],[3221501959,[s.uint256,s.string,s.uint256,s.uint256]],[1453707697,[s.uint256,s.uint256,s.address,s.address]],[3398671136,[s.uint256,s.uint256,s.address,s.address]],[365610102,[s.uint256,s.uint256,s.address,s.bool]],[2833785006,[s.uint256,s.uint256,s.address,s.bool]],[1826504888,[s.uint256,s.uint256,s.address,s.string]],[3600994782,[s.uint256,s.uint256,s.address,s.string]],[2297881778,[s.uint256,s.uint256,s.address,s.uint256]],[1628154048,[s.uint256,s.uint256,s.address,s.uint256]],[2592172675,[s.uint256,s.uint256,s.bool,s.address]],[3776410703,[s.uint256,s.uint256,s.bool,s.address]],[2869451494,[s.uint256,s.uint256,s.bool,s.bool]],[2495495089,[s.uint256,s.uint256,s.bool,s.bool]],[2780101785,[s.uint256,s.uint256,s.bool,s.string]],[4024028142,[s.uint256,s.uint256,s.bool,s.string]],[3950997458,[s.uint256,s.uint256,s.bool,s.uint256]],[1818524812,[s.uint256,s.uint256,s.bool,s.uint256]],[1121066423,[s.uint256,s.uint256,s.string,s.address]],[1127384482,[s.uint256,s.uint256,s.string,s.address]],[2062986021,[s.uint256,s.uint256,s.string,s.bool]],[2989403910,[s.uint256,s.uint256,s.string,s.bool]],[668512210,[s.uint256,s.uint256,s.string,s.string]],[2080582194,[s.uint256,s.uint256,s.string,s.string]],[1570936811,[s.uint256,s.uint256,s.string,s.uint256]],[949229117,[s.uint256,s.uint256,s.string,s.uint256]],[4202792367,[s.uint256,s.uint256,s.uint256,s.address]],[3766828905,[s.uint256,s.uint256,s.uint256,s.address]],[3315126661,[s.uint256,s.uint256,s.uint256,s.bool]],[1683143115,[s.uint256,s.uint256,s.uint256,s.bool]],[1506790371,[s.uint256,s.uint256,s.uint256,s.string]],[2024634892,[s.uint256,s.uint256,s.uint256,s.string]],[423606272,[s.uint256,s.uint256,s.uint256,s.uint256]],[1554033982,[s.uint256,s.uint256,s.uint256,s.uint256]]])},302:function(e,t,r){"use strict";var s=this&&this.__createBinding||(Object.create?function(e,t,r,s){void 0===s&&(s=r);var n=Object.getOwnPropertyDescriptor(t,r);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,s,n)}:function(e,t,r,s){void 0===s&&(s=r),e[s]=t[r]}),n=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||s(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),n(r(303),t),n(r(1032),t)},1032:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0})},289:function(e,t,r){"use strict";var s,n,i,o,a,c,l=this&&this.__decorate||function(e,t,r,s){var n,i=arguments.length,o=i<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,r):s;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(e,t,r,s);else for(var a=e.length-1;a>=0;a--)(n=e[a])&&(o=(i<3?n(o):i>3?n(t,r,o):n(t,r))||o);return i>3&&o&&Object.defineProperty(t,r,o),o},u=this&&this.__classPrivateFieldSet||function(e,t,r,s,n){if("m"===s)throw new TypeError("Private method is not writable");if("a"===s&&!n)throw new TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return"a"===s?n.call(e,r):n?n.value=r:t.set(e,r),r},d=this&&this.__classPrivateFieldGet||function(e,t,r,s){if("a"===r&&!s)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!s:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?s:"a"===r?s.call(e):s?s.value:t.get(e)},h=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const g=r(5),p=r(50),m=r(31),b=r(0),y=r(356),w=r(1),_=h(r(171)),v=h(r(359)),k=r(824),E=r(439),B=r(16),P=r(12),A=r(175);async function autofillDefaultTransactionValues(e,t,r,s,n,i){if(e.gas.isNull()){const r=i.miner.defaultTransactionGasLimit;r===w.Quantity.Empty?e.gas=await t(s,g.Tag.latest):e.gas=r}if("gasPrice"in e&&e.gasPrice.isNull()&&(e.gasPrice=i.miner.defaultGasPrice),"maxFeePerGas"in e&&e.maxFeePerGas.isNull()){const t=n.blocks.latest;e.maxFeePerGas=w.Quantity.from(p.Block.calcNBlocksMaxBaseFee(3,t.header))}"maxPriorityFeePerGas"in e&&e.maxPriorityFeePerGas.isNull()&&(e.maxPriorityFeePerGas=await r())}const T="7.8.0-beta.4",O=`Ganache/v${T}/EthereumJS TestRPC/v${T}/ethereum-js`,S=w.Data.from("0x3f"),R={eth:"1.0",net:"1.0",rpc:"1.0",web3:"1.0",evm:"1.0",personal:"1.0"};function assertExceptionalTransactions(e){let t,r=null;const s={};if(e.forEach((e=>{e.execException&&(r?(r=g.VM_EXCEPTIONS,t.push(`${e.hash.toString()}: ${e.execException}\n`),s[e.execException.data.hash]=e.execException.data):(r=g.VM_EXCEPTION,t=[e.execException.message],s[e.execException.data.hash]=e.execException.data))})),r){const e=new Error(r+t.join("\n"));throw e.data=s,e}}class EthereumApi{constructor(e,t,r){var l;s.set(this,(l=0,()=>w.Quantity.from(++l))),n.set(this,new Map),i.set(this,new Map),o.set(this,void 0),a.set(this,void 0),c.set(this,void 0),u(this,o,e,"f"),u(this,c,t,"f"),u(this,a,r,"f")}async db_putString(e,t,r){return!1}async db_getString(e,t){return""}async db_putHex(e,t,r){return!1}async db_getHex(e,t){return"0x00"}async bzz_hive(){return[]}async bzz_info(){return[]}async evm_mine(e){const t=d(this,a,"f"),r=d(this,o,"f").chain.vmErrorsOnRPCResponse;if(null!==e&&"object"==typeof e){let{blocks:s,timestamp:n}=e;null==s&&(s=1);for(let e=0;e<s;e++){const{transactions:e}=await t.mine(A.Capacity.FillBlock,true,n);r&&assertExceptionalTransactions(e)}}else{const s=e,{transactions:n}=await t.mine(A.Capacity.FillBlock,true,s);r&&assertExceptionalTransactions(n)}return"0x0"}async evm_setAccountNonce(e,t){const r=P.Address.from(e),s=d(this,a,"f"),n=s.vm.eei,i=await n.getAccount(r);return i.nonce=w.Quantity.toBigInt(t),await n.checkpoint(),await n.putAccount(r,i),await n.commit(),await s.mine(A.Capacity.Empty),!0}async evm_setAccountBalance(e,t){const r=P.Address.from(e),s=d(this,a,"f"),n=s.vm.eei,i=await n.getAccount(r);return i.balance=w.Quantity.toBigInt(t),await n.checkpoint(),await n.putAccount(r,i),await n.commit(),await s.mine(A.Capacity.Empty),!0}async evm_setAccountCode(e,t){const r=P.Address.from(e),s=w.Data.toBuffer(t),n=d(this,a,"f"),i=n.vm.eei;if(await i.checkpoint(),s.length>0)await i.putContractCode(r,s);else{const e=await i.getAccount(r);e.codeHash=b.KECCAK256_NULL,await i.putAccount(r,e)}return await i.commit(),await n.mine(A.Capacity.Empty),!0}async evm_setAccountStorageAt(e,t,r){const s=P.Address.from(e),n=w.Data.toBuffer(t),i=w.Data.toBuffer(r),o=d(this,a,"f"),c=o.vm.eei;return await c.checkpoint(),await c.putContractStorage(s,n,i),await c.commit(),await o.mine(A.Capacity.Empty),!0}async evm_increaseTime(e){const t=1e3*("number"==typeof e?e:w.Quantity.toNumber(e));return Math.floor(d(this,a,"f").increaseTime(t)/1e3)}async evm_setTime(e){let t;switch(typeof e){case"object":t=e.getTime();break;case"number":t=e;break;default:t=w.Quantity.toNumber(e)}const r=d(this,a,"f").setTimeDiff(t);return Math.floor(r/1e3)}async evm_revert(e){return d(this,a,"f").revert(w.Quantity.from(e))}async evm_snapshot(){return w.Quantity.from(d(this,a,"f").snapshot())}async evm_addAccount(e,t){const r=P.Address.from(e);return d(this,c,"f").addUnknownAccount(r,t)}async evm_removeAccount(e,t){const r=P.Address.from(e);return d(this,c,"f").removeKnownAccount(r,t)}async miner_start(e=1){if("eager"===d(this,o,"f").miner.instamine){const t=await d(this,a,"f").resume(e);t&&null!=t.transactions&&d(this,o,"f").chain.vmErrorsOnRPCResponse&&assertExceptionalTransactions(t.transactions)}else d(this,a,"f").resume(e);return!0}async miner_stop(){return d(this,a,"f").pause(),!0}async miner_setGasPrice(e){return d(this,o,"f").miner.defaultGasPrice=w.Quantity.from(e),!0}async miner_setEtherbase(e){return d(this,a,"f").coinbase=P.Address.from(e),!0}async miner_setExtra(e){const t=w.Data.from(e),r=t.toBuffer().length;if(r>32)throw new Error(`extra exceeds max length. ${r} > 32`);return d(this,o,"f").miner.extraData=t,!0}async web3_clientVersion(){return O}async web3_sha3(e){return w.Data.from((0,w.keccak)(w.Data.toBuffer(e)))}async net_version(){return d(this,o,"f").chain.networkId.toString()}async net_listening(){return!0}async net_peerCount(){return w.Quantity.Zero}async eth_estimateGas(e,t=g.Tag.latest){const r=d(this,a,"f"),s=r.blocks,n=(await s.get(t)).header,i=d(this,o,"f"),generateVM=async()=>await r.createVmFromStateTrie(r.trie.copy(!1),i.chain.allowUnlimitedContractSize,!1);return new Promise(((t,s)=>{const{coinbase:o}=r,a=m.TransactionFactory.fromRpc(e,r.common);null==a.from&&(a.from=o),a.gas.isNull()&&(a.gas=i.miner.callGasLimit);const c=new p.RuntimeBlock(r.common,w.Quantity.from((n.number.toBigInt()||0n)+1n),n.parentHash,new P.Address(n.miner.toBuffer()),a.gas,n.gasUsed,n.timestamp,i.miner.difficulty,n.totalDifficulty,r.getMixHash(n.parentHash.toBuffer()),0n,b.KECCAK256_RLP),l={tx:a.toVmTransaction(),block:c,skipBalance:!0,skipNonce:!0};(0,v.default)(generateVM,l,((e,r)=>{e?s(e):t(w.Quantity.from(r.gasEstimate))}))}))}async eth_protocolVersion(){return S}async eth_syncing(){return!1}async eth_coinbase(){return d(this,a,"f").coinbase}async eth_getBlockByNumber(e,t){void 0===t&&(t=!1);const r=await d(this,a,"f").blocks.get(e).catch((e=>null));return r?r.toJSON(t):null}async eth_getProof(e,t,r=g.Tag.latest){const s=d(this,a,"f");if(s.fallback)throw new Error("eth_getProof is not supported on a forked network. See https://github.com/trufflesuite/ganache/issues/3234 for details.");const n=await s.blocks.get(r),i=P.Address.from(e),o=t.map((e=>w.Data.toBuffer(e,32))),c=s.vm.stateManager.copy();await c.setStateRoot(n.header.stateRoot.toBuffer());const l=await c.getProof(i,o);return{address:i,balance:w.Quantity.from(l.balance),codeHash:w.Data.from(l.codeHash),nonce:w.Quantity.from(l.nonce),storageHash:w.Data.from(l.storageHash),accountProof:l.accountProof.map((e=>w.Data.from(e))),storageProof:l.storageProof.map((e=>({key:w.Data.from(e.key),proof:e.proof.map((e=>w.Data.from(e))),value:w.Quantity.from(e.value)})))}}async eth_getBlockByHash(e,t){void 0===t&&(t=!1);const r=await d(this,a,"f").blocks.getByHash(e).catch((e=>null));return r?r.toJSON(t):null}async eth_getBlockTransactionCountByNumber(e){const{blocks:t}=d(this,a,"f"),r=t.getEffectiveNumber(e),s=await t.getRawByBlockNumber(r);if(!s)return null;const[,n]=(0,B.decode)(s);return w.Quantity.from(n.length)}async eth_getBlockTransactionCountByHash(e){const{blocks:t}=d(this,a,"f"),r=await t.getByHash(e).catch((e=>null));if(!r)return null;const s=r.getTransactions();return w.Quantity.from(s.length)}async eth_getCompilers(){return[]}async eth_getTransactionByBlockHashAndIndex(e,t){const r=d(this,a,"f"),s=await r.blocks.getByHash(e).catch((e=>null));if(!s)return null;return s.getTransactions()[w.Quantity.toNumber(t)].toJSON(r.common)}async eth_getTransactionByBlockNumberAndIndex(e,t){const r=d(this,a,"f"),s=await r.blocks.get(e).catch((e=>null));if(!s)return null;return s.getTransactions()[w.Quantity.toNumber(t)].toJSON(r.common)}async eth_getUncleCountByBlockHash(e){return w.Quantity.Zero}async eth_getUncleCountByBlockNumber(e){return w.Quantity.Zero}async eth_getUncleByBlockHashAndIndex(e,t){return null}async eth_getUncleByBlockNumberAndIndex(e,t){return null}async eth_getWork(){return[]}async eth_submitWork(e,t,r){return!1}async eth_submitHashrate(e,t){return!1}async eth_mining(){return d(this,a,"f").isStarted()}async eth_hashrate(){return w.Quantity.Zero}async eth_gasPrice(){return d(this,o,"f").miner.defaultGasPrice}async eth_maxPriorityFeePerGas(){return w.Quantity.Gwei}async eth_accounts(){return d(this,c,"f").addresses}async eth_blockNumber(){return d(this,a,"f").blocks.latest.header.number}async eth_chainId(){return w.Quantity.from(d(this,o,"f").chain.chainId)}async eth_getBalance(e,t=g.Tag.latest){return d(this,a,"f").accounts.getBalance(P.Address.from(e),t)}async eth_getCode(e,t=g.Tag.latest){const{accounts:r}=d(this,a,"f");return r.getCode(P.Address.from(e),t)}async eth_getStorageAt(e,t,r=g.Tag.latest){const s=d(this,a,"f"),n=s.blocks.getEffectiveNumber(r),i=await s.blocks.getRawByBlockNumber(n);if(!i)throw new Error("header not found");const[[,,,o]]=(0,B.decode)(i),c=s.trie.copy(!1);c.setContext(o,null,n);const l=w.Quantity.toBuffer(t),u=l.length;let h;u<32?(h=Buffer.allocUnsafe(32).fill(0),l.copy(h,32-u)):h=32===u?l:l.slice(-32);const p=P.Address.from(e).toBuffer(),m=await c.get(p),b=(0,B.decode)(m)[2];c.setContext(b,p,n);const y=await c.get(h);return w.Data.from((0,B.decode)(y),32)}async eth_getTransactionByHash(e){const{transactions:t}=d(this,a,"f"),r=w.Data.toBuffer(e),s=await t.get(r);if(null===s){const e=t.transactionPool.find(r);return e?e.toJSON(d(this,a,"f").common):null}return s.toJSON(d(this,a,"f").common)}async eth_getTransactionReceipt(e){const{transactions:t,transactionReceipts:r,blocks:s,common:n}=d(this,a,"f"),i=w.Data.from(e),c=i.toBuffer(),l=t.get(c),u=r.get(c),[h,g]=await Promise.all([l,u]);if(h)return g.toJSON(h,n);const p=d(this,o,"f");if(p.miner.blockTime<=0&&"strict"===p.miner.instamine&&d(this,a,"f").isStarted()){null!=d(this,a,"f").transactions.transactionPool.find(c)&&p.logging.logger.log(` > Ganache \`eth_getTransactionReceipt\` notice: the transaction with hash\n > \`${i.toString()}\` has not\n > yet been mined. See https://trfl.io/v7-instamine for additional information.`)}return null}async eth_sendTransaction(e){const t=d(this,a,"f"),r=m.TransactionFactory.fromRpc(e,t.common);if(null==r.from)throw new Error("from not found; is required");const s=r.from.toString(),n=d(this,c,"f"),i=n.knownAccounts.has(s),l=n.unlockedAccounts.get(s);if(void 0===l){throw new Error(i?"authentication needed: passphrase or unlock":"sender account not recognized")}return await autofillDefaultTransactionValues(r,this.eth_estimateGas.bind(this),this.eth_maxPriorityFeePerGas,e,t,d(this,o,"f")),t.queueTransaction(r,l)}async eth_signTransaction(e){const t=d(this,a,"f"),r=m.TransactionFactory.fromRpc(e,t.common);if(null==r.from)throw new Error("from not found; is required");const s=r.from.toString(),n=d(this,c,"f"),i=n.knownAccounts.has(s),o=n.unlockedAccounts.get(s);if(void 0===o){throw new Error(i?"authentication needed: passphrase or unlock":"sender account not recognized")}return r.signAndHash(o.toBuffer()),w.Data.from(r.serialized)}async eth_sendRawTransaction(e){const t=d(this,a,"f"),r=m.TransactionFactory.fromString(e,t.common);return t.queueTransaction(r)}async eth_sign(e,t){const r=P.Addres