UNPKG

@hiero-ledger/sdk

Version:
3 lines (2 loc) 3.34 kB
import e from"fs";import r from"util";import t from"./Client.js";import o from"../channel/NodeChannel.js";import s from"../channel/NodeMirrorChannel.js";import i from"../LedgerId.js";import n from"../account/AccountId.js";import a from"../address_book/NodeAddressBook.js";import{addressBook as w}from"./addressbooks/mainnet.js";import{addressBook as k}from"./addressbooks/testnet.js";import{addressBook as N}from"./addressbooks/previewnet.js";import{decode as m}from"../encoding/hex.js";import{MirrorNetwork as d}from"../constants/ClientConstants.js";const c=r.promisify(e.readFile),h={LOCAL_NODE:{"127.0.0.1:50211":new n(3)}};class f extends t{constructor(e){if(super(e),this._maxExecutionTime=1e4,null!=e){if("string"==typeof e.network)this._setNetworkFromName(e.network);else if(null!=e.network){t._validateNetworkConsistency(e.network);const{shard:r,realm:o}=t._extractShardRealm(e.network);this._shard=r,this._realm=o,this.setNetwork(e.network)}if("string"==typeof e.mirrorNetwork)switch(e.mirrorNetwork){case"mainnet":this.setMirrorNetwork(d.MAINNET);break;case"testnet":this.setMirrorNetwork(d.TESTNET);break;case"previewnet":this.setMirrorNetwork(d.PREVIEWNET);break;default:this.setMirrorNetwork([e.mirrorNetwork])}else null!=e.mirrorNetwork&&this.setMirrorNetwork(e.mirrorNetwork)}}static fromConfig(e){return new f("string"==typeof e?JSON.parse(e):e)}static async fromConfigFile(e){return f.fromConfig(await c(e,"utf8"))}static forNetwork(e,r){return new f({network:e,...r})}static forName(e,r={}){return new f({network:e,...r})}static forMainnet(e={}){return new f({network:"mainnet",...e})}static forTestnet(e={}){return new f({network:"testnet",...e})}static async forMirrorNetwork(e,r,t){const o=new f({mirrorNetwork:e,shard:r,realm:t}).setNetworkUpdatePeriod(1e4);return await o.updateNetwork(),o}static forPreviewnet(e={}){return new f({network:"previewnet",...e})}static forLocalNode(e={scheduleNetworkUpdate:!1}){return new f({network:"local-node",...e})}setNetwork(e){"string"==typeof e?this._setNetworkFromName(e):this._network.setNetwork(e)}setMaxExecutionTime(e){return this._maxExecutionTime=e,this}_setNetworkFromName(e){switch(e){case"mainnet":this.setNetworkFromAddressBook(a.fromBytes(m(w))),this.setMirrorNetwork(d.MAINNET),this.setLedgerId(i.MAINNET);break;case"testnet":this.setNetworkFromAddressBook(a.fromBytes(m(k))),this.setMirrorNetwork(d.TESTNET),this.setLedgerId(i.TESTNET);break;case"previewnet":this.setNetworkFromAddressBook(a.fromBytes(m(N))),this.setMirrorNetwork(d.PREVIEWNET),this.setLedgerId(i.PREVIEWNET);break;case"local-node":this.setNetwork(h.LOCAL_NODE),this.setMirrorNetwork(d.LOCAL_NODE),this.setLedgerId(i.LOCAL_NODE);break;default:throw new Error(`unknown network: ${e}`)}return this}setMirrorNetwork(e){if("string"==typeof e)switch(e){case"local-node":this._mirrorNetwork.setNetwork(d.LOCAL_NODE);break;case"previewnet":this._mirrorNetwork.setNetwork(d.PREVIEWNET);break;case"testnet":this._mirrorNetwork.setNetwork(d.TESTNET);break;case"mainnet":this._mirrorNetwork.setNetwork(d.MAINNET);break;default:this._mirrorNetwork.setNetwork([e])}else this._mirrorNetwork.setNetwork(e);return this}_createNetworkChannel(){return e=>new o(e,this._maxExecutionTime)}_createMirrorNetworkChannel(){return e=>new s(e)}}export{h as Network,f as default}; //# sourceMappingURL=NodeClient.js.map