UNPKG

@hiero-ledger/sdk

Version:
3 lines (2 loc) 1.76 kB
import{constructor as t,fromString as r,validateChecksum as s,fromSolidityAddress as e,fromEvmAddress as o,toSolidityAddress as n,toEvmAddress as m,toStringWithChecksum as i,compare as h}from"../EntityIdHelper.js";import*as u from"@hashgraph/proto";import a from"../EvmAddress.js";import{isLongZeroAddress as d}from"../util.js";class c{constructor(r,s,e){const o=t(r,s,e);this.shard=o.shard,this.realm=o.realm,this.num=o.num,this._checksum=null}static fromString(t){const s=r(t),e=new c(s);return e._checksum=s.checksum,e}static _fromProtobuf(t){return new c(null!=t.shardNum?t.shardNum:0,null!=t.realmNum?t.realmNum:0,null!=t.tokenNum?t.tokenNum:0)}get checksum(){return this._checksum}validate(t){console.warn("Deprecated: Use `validateChecksum` instead"),this.validateChecksum(t)}validateChecksum(t){s(this.shard,this.realm,this.num,this._checksum,t)}static fromBytes(t){return c._fromProtobuf(u.proto.TokenID.decode(t))}static fromSolidityAddress(t){return new c(...e(t))}static fromEvmAddress(t,r,s){const e=a.fromString(s).toBytes();if(!d(e))throw new Error("TokenId.fromEvmAddress does not support non-long-zero addresses");const[n,m,i]=o(t,r,s);return new c(n,m,i)}toSolidityAddress(){return n([this.shard,this.realm,this.num])}toEvmAddress(){return m(this.num)}_toProtobuf(){return{tokenNum:this.num,shardNum:this.shard,realmNum:this.realm}}toString(){return`${this.shard.toString()}.${this.realm.toString()}.${this.num.toString()}`}toStringWithChecksum(t){return i(this.toString(),t)}toBytes(){return u.proto.TokenID.encode(this._toProtobuf()).finish()}clone(){const t=new c(this);return t._checksum=this._checksum,t}compare(t){return h([this.shard,this.realm,this.num],[t.shard,t.realm,t.num])}}export{c as default}; //# sourceMappingURL=TokenId.js.map