evernode-js-client 0.5.17-beta-v3.2 → 0.5.17-beta-v3.1
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +2 -53
- package/package.json +1 -1
package/index.js
CHANGED
@@ -13100,20 +13100,7 @@ class HostClient extends BaseEvernodeClient {
|
|
13100
13100
|
Buffer.from(tosHash, 'hex').copy(uriBuf, prefixLen + 2, 0, halfToSLen);
|
13101
13101
|
uriBuf.writeBigInt64BE(XflHelpers.getXfl(leaseAmount.toString()), prefixLen + 2 + halfToSLen);
|
13102
13102
|
const uri = uriBuf.toString('base64');
|
13103
|
-
|
13104
|
-
try {
|
13105
|
-
await this.xrplAcc.mintURIToken(uri, null, { isBurnable: true, isHexUri: false });
|
13106
|
-
} catch (e) {
|
13107
|
-
// Re-minting the URIToken after burning that sold URIToken.
|
13108
|
-
if (e.code === "tecDUPLICATE") {
|
13109
|
-
const uriTokenId = this.xrplAcc.generateIssuedURITokenId(uri);
|
13110
|
-
console.log(`Burning URIToken related to a previously sold lease.`);
|
13111
|
-
await this.xrplAcc.burnURIToken(uriTokenId);
|
13112
|
-
console.log("Re-mint the URIToken for the new lease offer.")
|
13113
|
-
await this.xrplAcc.mintURIToken(uri, null, { isBurnable: true, isHexUri: false });
|
13114
|
-
}
|
13115
|
-
}
|
13116
|
-
|
13103
|
+
await this.xrplAcc.mintURIToken(uri, null, { isBurnable: true, isHexUri: false });
|
13117
13104
|
const uriToken = await this.xrplAcc.getURITokenByUri(uri);
|
13118
13105
|
if (!uriToken)
|
13119
13106
|
throw "Offer lease NFT creation error.";
|
@@ -13159,15 +13146,6 @@ class HostClient extends BaseEvernodeClient {
|
|
13159
13146
|
if (await this.isRegistered())
|
13160
13147
|
throw "Host already registered.";
|
13161
13148
|
|
13162
|
-
// Check whether are there lease offers in for the host due to a previous registration.
|
13163
|
-
const existingLeaseURITokens = (await this.xrplAcc.getURITokens()).filter(n => EvernodeHelpers.isValidURI(n.URI, EvernodeConstants.LEASE_TOKEN_PREFIX_HEX));
|
13164
|
-
if (existingLeaseURITokens) {
|
13165
|
-
console.log("Burning unsold URITokens related to the previous leases.");
|
13166
|
-
for (const uriToken of existingLeaseURITokens) {
|
13167
|
-
await this.xrplAcc.burnURIToken(uriToken.index);
|
13168
|
-
}
|
13169
|
-
}
|
13170
|
-
|
13171
13149
|
// Check whether is there any missed NFT sell offer that needs to be accepted
|
13172
13150
|
// from the client-side in order to complete the registration.
|
13173
13151
|
const registryAcc = new XrplAccount(this.config.registryAddress, null, { xrplApi: this.xrplApi });
|
@@ -15353,7 +15331,7 @@ class StateHelpers {
|
|
15353
15331
|
voteBaseCountChangedTimestamp: Number(stateData.readBigUInt64BE(VOTER_BASE_COUNT_CHANGED_TIMESTAMP_OFFSET)),
|
15354
15332
|
foundationLastVotedCandidateIdx: stateData.readUInt32BE(FOUNDATION_LAST_VOTED_CANDIDATE_IDX),
|
15355
15333
|
foundationLastVotedTimestamp: Number(stateData.readBigUInt64BE(FOUNDATION_LAST_VOTED_TIMESTAMP_OFFSET)),
|
15356
|
-
electedProposalUniqueId: stateData.
|
15334
|
+
electedProposalUniqueId: stateData.readUInt32BE(ELECTED_PROPOSAL_UNIQUE_ID_OFFSET),
|
15357
15335
|
proposalElectedTimestamp: Number(stateData.readBigUInt64BE(PROPOSAL_ELECTED_TIMESTAMP_OFFSET)),
|
15358
15336
|
updatedHookCount: stateData.readUInt8(UPDATED_HOOK_COUNT_OFFSET),
|
15359
15337
|
supportVoteSent: stateData.readUInt8(FOUNDATION_SUPPORT_VOTE_FLAG_OFFSET)
|
@@ -16459,35 +16437,6 @@ class XrplAccount {
|
|
16459
16437
|
const hexUri = isHexUri ? uri : TransactionHelper.asciiToHex(uri).toUpperCase();
|
16460
16438
|
return tokens.find(t => t.URI == hexUri);
|
16461
16439
|
}
|
16462
|
-
|
16463
|
-
|
16464
|
-
generateIssuedURITokenId(uri) {
|
16465
|
-
if (uri.length < 1 || uri.length > 256)
|
16466
|
-
throw 'Invalid URI';
|
16467
|
-
|
16468
|
-
const URITOKEN_LEDGER_TYPE_PREFIX = 85; // Decimal value of ASCII 'U'
|
16469
|
-
const accIdHex = (codec.decodeAccountID(this.address)).toString('hex').toUpperCase();
|
16470
|
-
let uriHex = '';
|
16471
|
-
for (let n in uri) {
|
16472
|
-
let digit = uri.charCodeAt(n).toString(16).toUpperCase();
|
16473
|
-
uriHex += (digit.length == 1 ? '0' : '') + digit
|
16474
|
-
}
|
16475
|
-
|
16476
|
-
let hash = crypto.createHash('sha512');
|
16477
|
-
|
16478
|
-
const typeBuf = Buffer.allocUnsafe(2);
|
16479
|
-
typeBuf.writeInt16BE(URITOKEN_LEDGER_TYPE_PREFIX);
|
16480
|
-
|
16481
|
-
const dataBuf = Buffer.from(`${accIdHex}${uriHex}`, 'hex');
|
16482
|
-
|
16483
|
-
let output = hash.update(typeBuf);
|
16484
|
-
output = hash.update(dataBuf);
|
16485
|
-
|
16486
|
-
const digest = output.digest('hex');
|
16487
|
-
|
16488
|
-
// Get the first 32 bytes of hash.
|
16489
|
-
return digest.substring(0, 64).toUpperCase();
|
16490
|
-
}
|
16491
16440
|
}
|
16492
16441
|
|
16493
16442
|
function makeAmountObject(amount, currency, issuer) {
|
package/package.json
CHANGED