evernode-js-client 0.6.54 → 0.6.55

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/index.js +20 -6
  2. package/package.json +1 -1
package/index.js CHANGED
@@ -60617,7 +60617,9 @@ class BaseEvernodeClient {
60617
60617
  const addrStateData = addrLedgerEntry?.HookStateData;
60618
60618
 
60619
60619
  if (addrStateData) {
60620
- const addrStateDecoded = StateHelpers.decodeReputationHostAddressState(Buffer.from(addrStateKey, 'hex'), Buffer.from(addrStateData, 'hex'));
60620
+ let addrStateDecoded = StateHelpers.decodeReputationHostAddressState(Buffer.from(addrStateKey, 'hex'), Buffer.from(addrStateData, 'hex'));
60621
+ const curMoment = await this.getMoment();
60622
+ addrStateDecoded.valid = !!(addrStateDecoded.lastScoredMoment && (curMoment - addrStateDecoded.lastScoredMoment) <= ReputationConstants.SCORE_EXPIRY_MOMENT_COUNT);
60621
60623
  return addrStateDecoded;
60622
60624
  }
60623
60625
  }
@@ -61685,19 +61687,21 @@ class HostClient extends BaseEvernodeClient {
61685
61687
  * @param {object} scores [Optional] Score object in { host: score } format.
61686
61688
  */
61687
61689
  async sendReputations(scores = null, options = {}) {
61688
- let buffer = null;
61690
+ let buffer = Buffer.alloc(1);
61689
61691
  if (scores) {
61690
61692
  const preparedScores = await this.prepareHostReputationScores(scores);
61691
61693
  if (preparedScores) {
61692
- buffer = Buffer.alloc(64, 0);
61694
+ buffer = Buffer.alloc(65, 0);
61693
61695
  let i = 0;
61694
61696
  for (const reputationScore of preparedScores) {
61695
- buffer.writeUIntLE(Number(reputationScore.scoreValue), i, 1);
61697
+ buffer.writeUIntLE(Number(reputationScore.scoreValue), i + 1, 1);
61696
61698
  i++;
61697
61699
  }
61698
61700
  }
61699
61701
  }
61700
61702
 
61703
+ buffer.writeUIntLE(ReputationConstants.SCORE_VERSION, 0, 1);
61704
+
61701
61705
  const paramData = codec.decodeAccountID(this.xrplAcc.address);
61702
61706
 
61703
61707
  await this.reputationAcc.invoke(this.config.reputationAddress,
@@ -63573,10 +63577,12 @@ const ErrorReasons = {
63573
63577
  }
63574
63578
 
63575
63579
  const ReputationConstants = {
63580
+ SCORE_VERSION: 1,
63576
63581
  REP_INFO_BUFFER_SIZE: 43,
63577
63582
  REP_INFO_PUBKEY_OFFSET: 0,
63578
63583
  REP_INFO_PEER_PORT_OFFSET: 33,
63579
- REP_INFO_MOMENT_OFFSET: 35
63584
+ REP_INFO_MOMENT_OFFSET: 35,
63585
+ SCORE_EXPIRY_MOMENT_COUNT: 2
63580
63586
  }
63581
63587
 
63582
63588
  // All keys are prefixed with 'EVR' (0x455652)
@@ -63965,6 +63971,10 @@ const HOST_ACCUMULATED_REWARD_OFFSET = 116;
63965
63971
  const HOST_REP_LAST_REG_MOMENT_OFFSET = 0;
63966
63972
  const HOST_REP_SCORE_NUMERATOR_OFFSET = 8;
63967
63973
  const HOST_REP_SCORE_DENOMINATOR_OFFSET = 16;
63974
+ const HOST_REP_SCORE_OFFSET = 24;
63975
+ const HOST_REP_LAST_RESET_MOMENT_OFFSET = 32;
63976
+ const HOST_REP_LAST_SCORED_MOMENT_OFFSET = 40;
63977
+ const HOST_REP_LAST_UNIVERSE_SIZE_OFFSET = 48;
63968
63978
 
63969
63979
  const PREV_HOST_ADDRESS_OFFSET = 0;
63970
63980
  const TRANSFER_LEDGER_IDX_OFFSET = 20;
@@ -64054,7 +64064,11 @@ class StateHelpers {
64054
64064
  hostAddress: codec.encodeAccountID(stateKeyBuf.slice(keyOffset)),
64055
64065
  lastRegisteredMoment: Number(stateDataBuf.readBigUInt64LE(HOST_REP_LAST_REG_MOMENT_OFFSET)),
64056
64066
  scoreNumerator: Number(stateDataBuf.readBigUInt64LE(HOST_REP_SCORE_NUMERATOR_OFFSET)),
64057
- scoreDenominator: Number(stateDataBuf.readBigUInt64LE(HOST_REP_SCORE_DENOMINATOR_OFFSET))
64067
+ scoreDenominator: Number(stateDataBuf.readBigUInt64LE(HOST_REP_SCORE_DENOMINATOR_OFFSET)),
64068
+ score: stateDataBuf.length > HOST_REP_SCORE_OFFSET ? Number(stateDataBuf.readBigUInt64LE(HOST_REP_SCORE_OFFSET)) : null,
64069
+ lastResetMoment: stateDataBuf.length > HOST_REP_LAST_RESET_MOMENT_OFFSET ? Number(stateDataBuf.readBigUInt64LE(HOST_REP_LAST_RESET_MOMENT_OFFSET)) : null,
64070
+ lastScoredMoment: stateDataBuf.length > HOST_REP_LAST_SCORED_MOMENT_OFFSET ? Number(stateDataBuf.readBigUInt64LE(HOST_REP_LAST_SCORED_MOMENT_OFFSET)) : null,
64071
+ lastUniverseSize: stateDataBuf.length > HOST_REP_LAST_UNIVERSE_SIZE_OFFSET ? Number(stateDataBuf.readBigUInt64LE(HOST_REP_LAST_UNIVERSE_SIZE_OFFSET)) : null,
64058
64072
  }
64059
64073
  return data;
64060
64074
  }
package/package.json CHANGED
@@ -6,7 +6,7 @@
6
6
  ],
7
7
  "homepage": "https://github.com/HotPocketDev/evernode-js-client",
8
8
  "license": "SEE LICENSE IN https://raw.githubusercontent.com/EvernodeXRPL/evernode-resources/main/license/evernode-license.pdf",
9
- "version": "0.6.54",
9
+ "version": "0.6.55",
10
10
  "dependencies": {
11
11
  "elliptic": "6.5.4",
12
12
  "libsodium-wrappers": "0.7.10",