evernode-js-client 0.4.38 → 0.4.39
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +36 -4
- package/package.json +1 -1
package/index.js
CHANGED
@@ -11814,9 +11814,9 @@ class BaseEvernodeClient {
|
|
11814
11814
|
|
11815
11815
|
async getHookStates() {
|
11816
11816
|
const regAcc = new XrplAccount(this.registryAddress, null, { xrplApi: this.xrplApi });
|
11817
|
-
const
|
11818
|
-
if (
|
11819
|
-
const configs = await regAcc.getNamespaceEntries(
|
11817
|
+
const hookNamespaces = (await regAcc.getInfo())?.HookNamespaces;
|
11818
|
+
if (hookNamespaces) {
|
11819
|
+
const configs = await regAcc.getNamespaceEntries(hookNamespaces[0]);
|
11820
11820
|
return configs.filter(c => c.LedgerEntryType === 'HookState').map(c => { return { key: c.HookStateKey, data: c.HookStateData } });
|
11821
11821
|
}
|
11822
11822
|
return [];
|
@@ -13503,6 +13503,14 @@ const HOST_CPU_MICROSEC_OFFSET = 64;
|
|
13503
13503
|
const HOST_RAM_MB_OFFSET = 68;
|
13504
13504
|
const HOST_DISK_MB_OFFSET = 72;
|
13505
13505
|
|
13506
|
+
const STATE_KEY_TYPES = {
|
13507
|
+
TOKEN_ID: 2,
|
13508
|
+
HOST_ADDR: 3
|
13509
|
+
}
|
13510
|
+
|
13511
|
+
const EVERNODE_PREFIX = 'EVR';
|
13512
|
+
const HOST_ADDR_KEY_ZERO_COUNT = 8;
|
13513
|
+
|
13506
13514
|
class StateHelpers {
|
13507
13515
|
static StateTypes = {
|
13508
13516
|
TOKEN_ID: 'tokenId',
|
@@ -13535,7 +13543,7 @@ class StateHelpers {
|
|
13535
13543
|
cpuMicrosec: stateDataBuf.readUInt32BE(HOST_CPU_MICROSEC_OFFSET),
|
13536
13544
|
ramMb: stateDataBuf.readUInt32BE(HOST_RAM_MB_OFFSET),
|
13537
13545
|
diskMb: stateDataBuf.readUInt32BE(HOST_DISK_MB_OFFSET)
|
13538
|
-
|
13546
|
+
}
|
13539
13547
|
}
|
13540
13548
|
|
13541
13549
|
static decodeStateData(stateKey, stateData) {
|
@@ -13655,6 +13663,30 @@ class StateHelpers {
|
|
13655
13663
|
else
|
13656
13664
|
throw { type: 'Validation Error', message: 'Invalid state key.' };
|
13657
13665
|
}
|
13666
|
+
|
13667
|
+
static generateTokenIdStateKey(nfTokenId) {
|
13668
|
+
// 1 byte - Key Type.
|
13669
|
+
let buf = Buffer.allocUnsafe(1);
|
13670
|
+
buf.writeUInt8(STATE_KEY_TYPES.TOKEN_ID);
|
13671
|
+
|
13672
|
+
const nfTokenIdBuf = Buffer.from(nfTokenId, "hex");
|
13673
|
+
const stateKeyBuf = (Buffer.concat([Buffer.from(EVERNODE_PREFIX, "utf-8"), buf, nfTokenIdBuf.slice(4, 32)]));
|
13674
|
+
return stateKeyBuf.toString('hex').toUpperCase();
|
13675
|
+
}
|
13676
|
+
|
13677
|
+
static generateHostAddrStateKey(address) {
|
13678
|
+
// 1 byte - Key Type.
|
13679
|
+
// 8 bytes - Zeros.
|
13680
|
+
let buf = Buffer.allocUnsafe(9);
|
13681
|
+
buf.writeUInt8(STATE_KEY_TYPES.HOST_ADDR);
|
13682
|
+
for (let i = 0; i < HOST_ADDR_KEY_ZERO_COUNT; i++) {
|
13683
|
+
buf.writeUInt8(0, i+1);
|
13684
|
+
}
|
13685
|
+
|
13686
|
+
const addrBuf = Buffer.from(codec.decodeAccountID(address), "hex");
|
13687
|
+
const stateKeyBuf = Buffer.concat([Buffer.from(EVERNODE_PREFIX, "utf-8"), buf, addrBuf]);
|
13688
|
+
return stateKeyBuf.toString('hex').toUpperCase();
|
13689
|
+
}
|
13658
13690
|
}
|
13659
13691
|
|
13660
13692
|
module.exports = {
|