UNPKG

@hashgraph/sdk

Version:
3 lines (2 loc) 1.57 kB
import*as t from"@ethersproject/rlp";import{decode as s,encode as i}from"./encoding/hex.js";import a from"./EthereumTransactionData.js";import r from"./Cache.js";class e extends a{constructor(t){super(t),this.chainId=t.chainId,this.nonce=t.nonce,this.maxPriorityGas=t.maxPriorityGas,this.maxGas=t.maxGas,this.gasLimit=t.gasLimit,this.to=t.to,this.value=t.value,this.accessList=t.accessList,this.recId=t.recId,this.r=t.r,this.s=t.s}static fromBytes(i){if(0===i.length)throw new Error("empty bytes");const a=t.decode(i.subarray(1));if(!Array.isArray(a))throw new Error("ethereum data is not a list");if(12!=a.length)throw new Error("invalid ethereum transaction data");return new e({chainId:s(a[0]),nonce:s(a[1]),maxPriorityGas:s(a[2]),maxGas:s(a[3]),gasLimit:s(a[4]),to:s(a[5]),value:s(a[6]),callData:s(a[7]),accessList:a[8].map(t=>s(t)),recId:s(a[9]),r:s(a[10]),s:s(a[11])})}toBytes(){const i=t.encode([this.chainId,this.nonce,this.maxPriorityGas,this.maxGas,this.gasLimit,this.to,this.value,this.callData,this.accessList,this.recId,this.r,this.s]);return s("02"+i.substring(2))}toString(){return JSON.stringify(this.toJSON(),null,2)}toJSON(){return{chainId:i(this.chainId),nonce:i(this.nonce),maxPriorityGas:i(this.maxPriorityGas),maxGas:i(this.maxGas),gasLimit:i(this.gasLimit),to:i(this.to),value:i(this.value),callData:i(this.callData),accessList:this.accessList.map(t=>i(t)),recId:i(this.recId),r:i(this.r),s:i(this.s)}}}r.setEthereumTransactionDataEip1559FromBytes(t=>e.fromBytes(t));export{e as default}; //# sourceMappingURL=EthereumTransactionDataEip1559.js.map