UNPKG

@hashgraph/sdk

Version:
3 lines (2 loc) 3.58 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 n from"../LedgerId.js";import i from"../address_book/NodeAddressBook.js";import{addressBook as a}from"./addressbooks/mainnet.js";import{addressBook as w}from"./addressbooks/testnet.js";import{addressBook as k}from"./addressbooks/previewnet.js";import{decode as N}from"../encoding/hex.js";import{MirrorNetwork as m,LocalNodeNetwork as c}from"../constants/ClientConstants.js";const d=r.promisify(e.readFile);class h extends t{constructor(e){if(super(e),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(m.MAINNET);break;case"testnet":this.setMirrorNetwork(m.TESTNET);break;case"previewnet":this.setMirrorNetwork(m.PREVIEWNET);break;default:this.setMirrorNetwork([e.mirrorNetwork])}else null!=e.mirrorNetwork&&this.setMirrorNetwork(e.mirrorNetwork)}}static fromConfig(e){return new h("string"==typeof e?JSON.parse(e):e)}static async fromConfigFile(e){return h.fromConfig(await d(e,"utf8"))}static forNetwork(e,r){return new h({network:e,...r})}static forName(e,r={}){return new h({network:e,...r})}static forMainnet(e={}){return new h({network:"mainnet",...e})}static forTestnet(e={}){return new h({network:"testnet",...e})}static async forMirrorNetwork(e,r,t){const o=new h({mirrorNetwork:e,shard:r,realm:t});return await o.updateNetwork(),o}static forPreviewnet(e={}){return new h({network:"previewnet",...e})}static forLocalNode(e={scheduleNetworkUpdate:!1}){return new h({network:"local-node",...e})}static async forMainnetAsync(e={}){return new h({network:"mainnet",...e}).updateNetwork()}static async forTestnetAsync(e={}){return new h({network:"testnet",...e}).updateNetwork()}static async forPreviewnetAsync(e={}){return new h({network:"previewnet",...e}).updateNetwork()}static async forNameAsync(e,r={}){const t=new h({network:e,...r});return"local-node"!==e&&await t.updateNetwork(),t}setNetwork(e){"string"==typeof e?this._setNetworkFromName(e):this._network.setNetwork(e)}setMaxExecutionTime(e){return this.setGrpcDeadline(e),this}_setNetworkFromName(e){switch(e){case"mainnet":this.setNetworkFromAddressBook(i.fromBytes(N(a))),this.setMirrorNetwork(m.MAINNET),this.setLedgerId(n.MAINNET);break;case"testnet":this.setNetworkFromAddressBook(i.fromBytes(N(w))),this.setMirrorNetwork(m.TESTNET),this.setLedgerId(n.TESTNET);break;case"previewnet":this.setNetworkFromAddressBook(i.fromBytes(N(k))),this.setMirrorNetwork(m.PREVIEWNET),this.setLedgerId(n.PREVIEWNET);break;case"local-node":this.setNetwork(c),this.setMirrorNetwork(m.LOCAL_NODE),this.setLedgerId(n.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(m.LOCAL_NODE);break;case"previewnet":this._mirrorNetwork.setNetwork(m.PREVIEWNET);break;case"testnet":this._mirrorNetwork.setNetwork(m.TESTNET);break;case"mainnet":this._mirrorNetwork.setNetwork(m.MAINNET);break;default:this._mirrorNetwork.setNetwork([e])}else this._mirrorNetwork.setNetwork(e);return this}_createNetworkChannel(){return e=>new o(e,this.grpcDeadline)}_createMirrorNetworkChannel(){return e=>new s(e)}}export{h as default}; //# sourceMappingURL=NodeClient.js.map