@keetanetwork/keetanet-client 0.14.12 → 0.14.13
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.
- package/client/index-browser.d.ts +35 -3
- package/client/index-browser.js +96 -26
- package/client/index.d.ts +35 -3
- package/client/index.js +116 -49
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Block.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperation.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationRECEIVE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSEND.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_INFO.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationSET_REP.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.BlockOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.CertificateHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSAKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256K1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ECDSASECP256R1Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519KeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PrivateKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519PublicKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ED25519Signature.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.ExternalSet.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdempotentKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetErrorBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerIdempotentKeyError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetLedgerVoteError.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyInterface.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeyStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.Stats.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.StatsPending.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ACLEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ACLUpdate.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ExplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1ImplicitContextTag.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ASN1Object.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.AcceptSwapRequest.html +7 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseExternalKeyPairFunctions.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseGenerationConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BaseIdentifierCreateArguments.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMANAGE_CERTIFICATESerializable.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationMODIFY_PERMISSIONS.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationRECEIVE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSEND.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_INFO.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationSET_REP.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_MODIFY_BALANCE.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationTOKEN_ADMIN_SUPPLY.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.CreateSwapRequest.html +3 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.DisposableTimingHandle.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsNoEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ExternalKeyPairFunctionsSupportsEncryption.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InitialConfigSupply.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.InstanceSet.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVGenericOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.KVSetOptionsType.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerListener.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PPeerRepBase.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.PublishOptions.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.RequestTokenReceiveEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.TokenNumericEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.UserClientConfig.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1BitString.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Date.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1OID.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Set.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1String.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_lib_utils_asn1.ASN1Struct.html +1 -1
- package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.AcceptSwapRequestExpectedDeprecated.html +4 -0
- package/docs/variables/KeetaNetSDK.Referenced.allFullErrorCodes.html +1 -1
- package/lib/block/index.d.ts +1 -1
- package/lib/error/block.d.ts +2 -2
- package/lib/error/client.d.ts +2 -2
- package/lib/error/index.d.ts +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/version.d.ts +1 -1
package/client/index.js
CHANGED
|
@@ -59991,7 +59991,7 @@ class UserClient {
|
|
|
59991
59991
|
}
|
|
59992
59992
|
const builder = userClient.initBuilder({ ...options, account: request.from.account });
|
|
59993
59993
|
builder.send(to.account, from.amount, from.token);
|
|
59994
|
-
builder.receive(to.account, to.amount, to.token,
|
|
59994
|
+
builder.receive(to.account, to.amount, to.token, request.to.exact ?? false);
|
|
59995
59995
|
const blocks = await builder.computeBlocks();
|
|
59996
59996
|
if (blocks.blocks.length !== 1) {
|
|
59997
59997
|
throw (new Error('Compute Swap Request Generated more than 1 block'));
|
|
@@ -60009,7 +60009,7 @@ class UserClient {
|
|
|
60009
60009
|
let userClient;
|
|
60010
60010
|
if (UserClient.isInstance(builderOrUserClient)) {
|
|
60011
60011
|
userClient = builderOrUserClient;
|
|
60012
|
-
account = builderOrUserClient.account;
|
|
60012
|
+
account = options?.account ?? builderOrUserClient.account;
|
|
60013
60013
|
}
|
|
60014
60014
|
else {
|
|
60015
60015
|
const env_1 = { stack: [], error: void 0, hasError: false };
|
|
@@ -60051,13 +60051,41 @@ class UserClient {
|
|
|
60051
60051
|
if (!sendOperation.to.comparePublicKey(account)) {
|
|
60052
60052
|
throw (new client_1.default('CLIENT_SWAP_SEND_ACCOUNT_MISMATCH', 'Swap Request send account does not match'));
|
|
60053
60053
|
}
|
|
60054
|
-
|
|
60055
|
-
|
|
60056
|
-
|
|
60057
|
-
|
|
60058
|
-
|
|
60054
|
+
let sendAmount = receiveOperation.amount;
|
|
60055
|
+
if (request.expected) {
|
|
60056
|
+
let expectedReceive;
|
|
60057
|
+
let expectedSend;
|
|
60058
|
+
if ('receive' in request.expected || 'send' in request.expected) {
|
|
60059
|
+
expectedReceive = request.expected?.receive;
|
|
60060
|
+
expectedSend = request.expected?.send;
|
|
60061
|
+
}
|
|
60062
|
+
else if ('token' in request.expected || 'amount' in request.expected) {
|
|
60063
|
+
expectedReceive = request.expected;
|
|
60064
|
+
}
|
|
60065
|
+
if (expectedReceive) {
|
|
60066
|
+
if (expectedReceive.token !== undefined && !sendOperation.token.comparePublicKey(expectedReceive.token)) {
|
|
60067
|
+
throw (new client_1.default('CLIENT_SWAP_REQUEST_TOKEN_MISMATCH', 'Swap Request send token does not match expected'));
|
|
60068
|
+
}
|
|
60069
|
+
if (expectedReceive.amount !== undefined && sendOperation.amount !== expectedReceive.amount) {
|
|
60070
|
+
throw (new client_1.default('CLIENT_SWAP_REQUEST_AMOUNT_MISMATCH', 'Swap Request send amount does not match expected'));
|
|
60071
|
+
}
|
|
60072
|
+
}
|
|
60073
|
+
if (expectedSend) {
|
|
60074
|
+
if (expectedSend.token !== undefined && !(expectedSend.token.comparePublicKey(receiveOperation.token))) {
|
|
60075
|
+
throw (new client_1.default('CLIENT_SWAP_SEND_TOKEN_MISMATCH', 'Swap acceptance send token does not match swap request receive token'));
|
|
60076
|
+
}
|
|
60077
|
+
if (expectedSend.amount !== undefined) {
|
|
60078
|
+
if (expectedSend.amount < receiveOperation.amount) {
|
|
60079
|
+
throw (new client_1.default('CLIENT_SWAP_SEND_AMOUNT_TOO_LOW', 'Send amount must be at least the receive amount specified in the swap request'));
|
|
60080
|
+
}
|
|
60081
|
+
if (receiveOperation.exact && receiveOperation.amount !== expectedSend.amount) {
|
|
60082
|
+
throw (new client_1.default('CLIENT_SWAP_SEND_AMOUNT_RECEIVE_EXACT_MISMATCH', 'Send value is not allowed to differ from expected receive amount for exact receives'));
|
|
60083
|
+
}
|
|
60084
|
+
sendAmount = expectedSend.amount;
|
|
60085
|
+
}
|
|
60086
|
+
}
|
|
60059
60087
|
}
|
|
60060
|
-
builder.send(request.block.account,
|
|
60088
|
+
builder.send(request.block.account, sendAmount, receiveOperation.token);
|
|
60061
60089
|
const blocks = await builder.computeBlocks();
|
|
60062
60090
|
return ([...blocks.blocks, request.block]);
|
|
60063
60091
|
}
|
|
@@ -62822,7 +62850,7 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
62822
62850
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
62823
62851
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
62824
62852
|
};
|
|
62825
|
-
var _Block_instances, _a, _Block_valueBytes, _Block_valueHash, _Block_getSortedRequiredSigners, _Block_validateOperationsPurpose, _Block_validateSignerField, _Block_validateSignatures, _BlockBuilder_block;
|
|
62853
|
+
var _Block_instances, _a, _Block_valueBytes, _Block_valueHash, _Block_getSortedRequiredSigners, _Block_validateBytes, _Block_validateOperationsPurpose, _Block_validateSignerField, _Block_validateSignatures, _BlockBuilder_block;
|
|
62826
62854
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
62827
62855
|
exports.BlockBuilder = exports.Block = exports.BlockHash = exports.AdjustMethod = exports.BlockPurpose = void 0;
|
|
62828
62856
|
exports.toAdjustMethod = toAdjustMethod;
|
|
@@ -63501,6 +63529,7 @@ class Block {
|
|
|
63501
63529
|
if (this.account.isMultisig()) {
|
|
63502
63530
|
throw (new block_1.default('BLOCK_NO_MULTISIG_OP', 'Cannot create a block for a multisig account'));
|
|
63503
63531
|
}
|
|
63532
|
+
__classPrivateFieldGet(this, _Block_instances, "m", _Block_validateBytes).call(this);
|
|
63504
63533
|
__classPrivateFieldGet(this, _Block_instances, "m", _Block_validateSignerField).call(this);
|
|
63505
63534
|
__classPrivateFieldGet(this, _Block_instances, "m", _Block_validateOperationsPurpose).call(this);
|
|
63506
63535
|
__classPrivateFieldGet(this, _Block_instances, "m", _Block_validateSignatures).call(this);
|
|
@@ -63508,9 +63537,11 @@ class Block {
|
|
|
63508
63537
|
static getAccountOpeningHash(account) {
|
|
63509
63538
|
return (BlockHash.getAccountOpeningHash(account));
|
|
63510
63539
|
}
|
|
63511
|
-
toBytes(includeSignatures = true) {
|
|
63512
|
-
if (
|
|
63513
|
-
|
|
63540
|
+
toBytes(includeSignatures = true, useCached = true) {
|
|
63541
|
+
if (useCached) {
|
|
63542
|
+
if (__classPrivateFieldGet(this, _Block_valueBytes, "f") !== undefined && includeSignatures) {
|
|
63543
|
+
return (__classPrivateFieldGet(this, _Block_valueBytes, "f"));
|
|
63544
|
+
}
|
|
63514
63545
|
}
|
|
63515
63546
|
const sharedBlockValues = {
|
|
63516
63547
|
previous: this.previous,
|
|
@@ -63712,6 +63743,18 @@ _a = Block, _Block_valueBytes = new WeakMap(), _Block_valueHash = new WeakMap(),
|
|
|
63712
63743
|
}
|
|
63713
63744
|
}
|
|
63714
63745
|
return (out);
|
|
63746
|
+
}, _Block_validateBytes = function _Block_validateBytes() {
|
|
63747
|
+
const existingBytes = __classPrivateFieldGet(this, _Block_valueBytes, "f");
|
|
63748
|
+
if (existingBytes === undefined) {
|
|
63749
|
+
return;
|
|
63750
|
+
}
|
|
63751
|
+
const recalculatedBytesBuffer = Buffer.from(this.toBytes(true, false));
|
|
63752
|
+
const existingBytesBuffer = Buffer.from(existingBytes);
|
|
63753
|
+
if (!recalculatedBytesBuffer.equals(existingBytesBuffer)) {
|
|
63754
|
+
const existingBytesHash = Buffer.from((0, hash_1.Hash)(existingBytesBuffer)).toString('hex').toUpperCase();
|
|
63755
|
+
const recalculatedBytesHash = Buffer.from((0, hash_1.Hash)(recalculatedBytesBuffer)).toString('hex').toUpperCase();
|
|
63756
|
+
throw (new block_1.default('BLOCK_INVALID_SIGNATURE', `Block signed bytes (${existingBytesHash}) do not match calculated bytes (${recalculatedBytesHash})`));
|
|
63757
|
+
}
|
|
63715
63758
|
}, _Block_validateOperationsPurpose = function _Block_validateOperationsPurpose() {
|
|
63716
63759
|
/**
|
|
63717
63760
|
* Do not allow blocks to contain invalid constructions
|
|
@@ -63767,7 +63810,7 @@ _a = Block, _Block_valueBytes = new WeakMap(), _Block_valueHash = new WeakMap(),
|
|
|
63767
63810
|
const signature = new buffer_1.BufferStorage(this.signatures[i], 64);
|
|
63768
63811
|
const valid = signers[i].verify(this.hash.get(), signature.get());
|
|
63769
63812
|
if (valid !== true) {
|
|
63770
|
-
throw (new
|
|
63813
|
+
throw (new block_1.default('BLOCK_INVALID_SIGNATURE', `Unable to validate signature of ${this.hash.toString()} against signature ${this.signatures[i].toString('hex')} for account ${signers[i].publicKeyString.get()}`));
|
|
63771
63814
|
}
|
|
63772
63815
|
}
|
|
63773
63816
|
};
|
|
@@ -64354,7 +64397,11 @@ class BlockOperation {
|
|
|
64354
64397
|
if (amount === undefined || amount === null) {
|
|
64355
64398
|
throw (new Error('internal error: "amount" is invalid'));
|
|
64356
64399
|
}
|
|
64357
|
-
|
|
64400
|
+
const bigintAmount = BigInt(amount);
|
|
64401
|
+
if (bigintAmount < 0n) {
|
|
64402
|
+
throw (new block_1.default('BLOCK_AMOUNT_BELOW_ZERO', 'value cannot be negative'));
|
|
64403
|
+
}
|
|
64404
|
+
return (bigintAmount);
|
|
64358
64405
|
}
|
|
64359
64406
|
}
|
|
64360
64407
|
BlockOperation.isInstance = (0, helper_1.checkableGenerator)(BlockOperation);
|
|
@@ -64550,7 +64597,7 @@ class BlockOperationTOKEN_ADMIN_MODIFY_BALANCE extends BlockOperation {
|
|
|
64550
64597
|
}
|
|
64551
64598
|
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_token, __classPrivateFieldGet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_instances, "m", _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_computeToken).call(this, input.token), "f");
|
|
64552
64599
|
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_amount, this.computeAmount(input.amount), "f");
|
|
64553
|
-
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_method, input.method, "f");
|
|
64600
|
+
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_method, (0, _1.toAdjustMethod)(input.method), "f");
|
|
64554
64601
|
}
|
|
64555
64602
|
set token(token) {
|
|
64556
64603
|
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_token, __classPrivateFieldGet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_instances, "m", _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_computeToken).call(this, token), "f");
|
|
@@ -64559,7 +64606,7 @@ class BlockOperationTOKEN_ADMIN_MODIFY_BALANCE extends BlockOperation {
|
|
|
64559
64606
|
return (__classPrivateFieldGet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_token, "f"));
|
|
64560
64607
|
}
|
|
64561
64608
|
set method(newMethod) {
|
|
64562
|
-
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_method, newMethod, "f");
|
|
64609
|
+
__classPrivateFieldSet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_method, (0, _1.toAdjustMethod)(newMethod), "f");
|
|
64563
64610
|
}
|
|
64564
64611
|
get method() {
|
|
64565
64612
|
return (Number(__classPrivateFieldGet(this, _BlockOperationTOKEN_ADMIN_MODIFY_BALANCE_method, "f")));
|
|
@@ -64846,7 +64893,7 @@ class BlockOperationMODIFY_PERMISSIONS extends BlockOperation {
|
|
|
64846
64893
|
}
|
|
64847
64894
|
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_principal, this.computeTo(input.principal), "f");
|
|
64848
64895
|
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_target, account_1.default.toAccount(input.target), "f");
|
|
64849
|
-
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_method, input.method, "f");
|
|
64896
|
+
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_method, (0, _1.toAdjustMethod)(input.method), "f");
|
|
64850
64897
|
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_permissions, __classPrivateFieldGet(this, _BlockOperationMODIFY_PERMISSIONS_instances, "m", _BlockOperationMODIFY_PERMISSIONS_computePermissions).call(this, input.permissions), "f");
|
|
64851
64898
|
}
|
|
64852
64899
|
set principal(principal) {
|
|
@@ -64868,7 +64915,7 @@ class BlockOperationMODIFY_PERMISSIONS extends BlockOperation {
|
|
|
64868
64915
|
return (__classPrivateFieldGet(this, _BlockOperationMODIFY_PERMISSIONS_target, "f"));
|
|
64869
64916
|
}
|
|
64870
64917
|
set method(method) {
|
|
64871
|
-
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_method, method, "f");
|
|
64918
|
+
__classPrivateFieldSet(this, _BlockOperationMODIFY_PERMISSIONS_method, (0, _1.toAdjustMethod)(method), "f");
|
|
64872
64919
|
}
|
|
64873
64920
|
get method() {
|
|
64874
64921
|
return (Number(__classPrivateFieldGet(this, _BlockOperationMODIFY_PERMISSIONS_method, "f")));
|
|
@@ -65495,47 +65542,49 @@ const base_1 = __webpack_require__(1096);
|
|
|
65495
65542
|
const helper_1 = __webpack_require__(3208);
|
|
65496
65543
|
const BlockErrorType = 'BLOCK';
|
|
65497
65544
|
exports.BlockErrorCodes = [
|
|
65498
|
-
'
|
|
65499
|
-
'
|
|
65500
|
-
'NO_MULTIPLE_SET_REP',
|
|
65501
|
-
'IDENTIFIER_NEED_DEFAULT_PERMISSIONS',
|
|
65545
|
+
'AMOUNT_BELOW_ZERO',
|
|
65546
|
+
'CANNOT_FORWARD_TO_SELF',
|
|
65502
65547
|
'CANNOT_SEND_NON_TOKEN',
|
|
65503
|
-
'
|
|
65504
|
-
'
|
|
65505
|
-
'
|
|
65506
|
-
'
|
|
65507
|
-
'
|
|
65508
|
-
'
|
|
65509
|
-
'
|
|
65548
|
+
'CERTIFICATE_SUBJECT_MISMATCH',
|
|
65549
|
+
'EXACT_TRUE_WHEN_FORWARDING',
|
|
65550
|
+
'EXTERNAL_INVALID',
|
|
65551
|
+
'EXTERNAL_MISSING',
|
|
65552
|
+
'EXTERNAL_TOO_LONG',
|
|
65553
|
+
'GENERAL_FIELD_INVALID',
|
|
65554
|
+
'IDENTIFIER_INVALID',
|
|
65555
|
+
'IDENTIFIER_NEED_DEFAULT_PERMISSIONS',
|
|
65556
|
+
'INTERMEDIATE_CERTIFICATES_ONLY_ADD',
|
|
65557
|
+
'INVALID_ACCOUNT_TYPE',
|
|
65558
|
+
'INVALID_CERTIFICATE_VALUE',
|
|
65559
|
+
'INVALID_CREATE_IDENTIFIER_ARGS',
|
|
65560
|
+
'INVALID_IDEMPOTENT_FORMAT',
|
|
65561
|
+
'INVALID_IDEMPOTENT_LENGTH',
|
|
65510
65562
|
'INVALID_MULTISIG_QUORUM',
|
|
65511
|
-
'INVALID_MULTISIG_SIGNER_DEPTH',
|
|
65512
65563
|
'INVALID_MULTISIG_SIGNER_COUNT',
|
|
65564
|
+
'INVALID_MULTISIG_SIGNER_DEPTH',
|
|
65513
65565
|
'INVALID_MULTISIG_SIGNER_DUPLICATE',
|
|
65514
|
-
'
|
|
65566
|
+
'INVALID_PURPOSE_VALIDATION',
|
|
65567
|
+
'INVALID_SIGNATURE',
|
|
65568
|
+
'INVALID_SIGNER',
|
|
65569
|
+
'INVALID_TYPE',
|
|
65570
|
+
'INVALID_VERSION',
|
|
65571
|
+
'NO_ADMIN_ON_TARGET',
|
|
65572
|
+
'NO_DELEGATE_ADMIN',
|
|
65573
|
+
'NO_DUPLICATE_CERTIFICATE_OPERATION',
|
|
65574
|
+
'NO_IDENTIFIER_OP',
|
|
65575
|
+
'NO_MODIFY_PERMISSION_DUPE',
|
|
65576
|
+
'NO_MULTIPLE_SET_REP',
|
|
65515
65577
|
'NO_MULTISIG_OP',
|
|
65516
|
-
'
|
|
65517
|
-
'
|
|
65578
|
+
'NO_TOKEN_OP',
|
|
65579
|
+
'ONLY_IDENTIFIER_OP',
|
|
65580
|
+
'ONLY_TOKEN_OP',
|
|
65518
65581
|
'PERMISSIONS_INVALID_DEFAULT',
|
|
65519
65582
|
'PERMISSIONS_INVALID_ENTITY',
|
|
65520
65583
|
'PERMISSIONS_INVALID_PRINCIPAL',
|
|
65521
65584
|
'PERMISSIONS_INVALID_TARGET',
|
|
65522
|
-
'INVALID_ACCOUNT_TYPE',
|
|
65523
|
-
'NO_ADMIN_ON_TARGET',
|
|
65524
65585
|
'PREVIOUS_SELF',
|
|
65525
|
-
'NO_DELEGATE_ADMIN',
|
|
65526
|
-
'NO_MODIFY_PERMISSION_DUPE',
|
|
65527
|
-
'CANNOT_FORWARD_TO_SELF',
|
|
65528
|
-
'EXACT_TRUE_WHEN_FORWARDING',
|
|
65529
|
-
'CERTIFICATE_SUBJECT_MISMATCH',
|
|
65530
|
-
'NO_DUPLICATE_CERTIFICATE_OPERATION',
|
|
65531
|
-
'INTERMEDIATE_CERTIFICATES_ONLY_ADD',
|
|
65532
|
-
'INVALID_CERTIFICATE_VALUE',
|
|
65533
|
-
'EXTERNAL_TOO_LONG',
|
|
65534
|
-
'EXTERNAL_INVALID',
|
|
65535
|
-
'EXTERNAL_MISSING',
|
|
65536
65586
|
'SUPPLY_INVALID',
|
|
65537
|
-
'
|
|
65538
|
-
'INVALID_IDEMPOTENT_LENGTH'
|
|
65587
|
+
'TOKEN_RECEIVE_DIFFERS'
|
|
65539
65588
|
];
|
|
65540
65589
|
exports.FullBlockErrorCodes = exports.BlockErrorCodes.map(code => `${BlockErrorType}_${code}`);
|
|
65541
65590
|
class KeetaNetBlockError extends base_1.KeetaNetErrorBase {
|
|
@@ -65611,6 +65660,9 @@ exports.ClientErrorCodes = [
|
|
|
65611
65660
|
'SWAP_MISSING_RECEIVE',
|
|
65612
65661
|
'SWAP_SEND_RECEIVE_ACCOUNT_MISMATCH',
|
|
65613
65662
|
'SWAP_SEND_ACCOUNT_MISMATCH',
|
|
65663
|
+
'SWAP_SEND_TOKEN_MISMATCH',
|
|
65664
|
+
'SWAP_SEND_AMOUNT_TOO_LOW',
|
|
65665
|
+
'SWAP_SEND_AMOUNT_RECEIVE_EXACT_MISMATCH',
|
|
65614
65666
|
'SWAP_REQUEST_TOKEN_MISMATCH',
|
|
65615
65667
|
'SWAP_REQUEST_AMOUNT_MISMATCH'
|
|
65616
65668
|
];
|
|
@@ -67334,6 +67386,9 @@ function updateAccountInfoInState(state, account, info) {
|
|
|
67334
67386
|
* Compute the effect of a SEND operation
|
|
67335
67387
|
*/
|
|
67336
67388
|
function computeEffectOfOperationSEND(state, block, operation) {
|
|
67389
|
+
if (operation.amount < 0n) {
|
|
67390
|
+
throw (new Error('Internal error: SEND operation with negative amount'));
|
|
67391
|
+
}
|
|
67337
67392
|
// Decrement sender balance
|
|
67338
67393
|
const senderChange = {
|
|
67339
67394
|
state,
|
|
@@ -67361,6 +67416,9 @@ function computeEffectOfOperationSEND(state, block, operation) {
|
|
|
67361
67416
|
* Compute the effect of a RECEIVE operation
|
|
67362
67417
|
*/
|
|
67363
67418
|
function computeEffectOfOperationRECEIVE(state, block, operation) {
|
|
67419
|
+
if (operation.amount < 0n) {
|
|
67420
|
+
throw (new Error('Internal error: RECEIVE operation with negative amount'));
|
|
67421
|
+
}
|
|
67364
67422
|
// Increment recipient balance
|
|
67365
67423
|
const recipientChange = {
|
|
67366
67424
|
state,
|
|
@@ -67396,6 +67454,9 @@ function computeEffectOfOperationRECEIVE(state, block, operation) {
|
|
|
67396
67454
|
}
|
|
67397
67455
|
}
|
|
67398
67456
|
function computeEffectOfOperationTOKEN_ADMIN_MODIFY_BALANCE(state, block, operation) {
|
|
67457
|
+
if (operation.amount < 0n) {
|
|
67458
|
+
throw (new Error('Internal error: TOKEN_ADMIN_MODIFY_BALANCE operation with negative amount'));
|
|
67459
|
+
}
|
|
67399
67460
|
if (operation.method === block_1.Block.AdjustMethod.SET) {
|
|
67400
67461
|
const setChange = {
|
|
67401
67462
|
state,
|
|
@@ -67465,6 +67526,9 @@ function computeEffectOfOperationCREATE_IDENTIFIER(state, block, operation, cont
|
|
|
67465
67526
|
throw (new Error('Invalid identifier creation arguments'));
|
|
67466
67527
|
}
|
|
67467
67528
|
updateAccountInfoInState(state, operation.identifier, { multisigQuorum: operation.createArguments.quorum });
|
|
67529
|
+
if (operation.createArguments.quorum < 1n || operation.createArguments.quorum > BigInt(operation.createArguments.signers.length)) {
|
|
67530
|
+
throw (new Error('Internal error: operation.createArguments.quorum is invalid'));
|
|
67531
|
+
}
|
|
67468
67532
|
for (const multisigSigner of operation.createArguments.signers) {
|
|
67469
67533
|
state.possibleNewAccounts.add(multisigSigner);
|
|
67470
67534
|
addPermission(state, {
|
|
@@ -67506,6 +67570,9 @@ function computeEffectOfOperationMODIFY_PERMISSIONS(state, block, operation) {
|
|
|
67506
67570
|
});
|
|
67507
67571
|
}
|
|
67508
67572
|
function computeEffectOfOperationTOKEN_ADMIN_SUPPLY(state, block, operation) {
|
|
67573
|
+
if (operation.amount < 0n) {
|
|
67574
|
+
throw (new Error('Internal error: TOKEN_ADMIN_SUPPLY operation with negative amount'));
|
|
67575
|
+
}
|
|
67509
67576
|
const tokenPubKey = block.account.publicKeyString.get();
|
|
67510
67577
|
let value = 0n;
|
|
67511
67578
|
switch (operation.method) {
|
|
@@ -79699,7 +79766,7 @@ exports.Testing = { findRDN, blockHashesFromVote, feeFromVote };
|
|
|
79699
79766
|
|
|
79700
79767
|
Object.defineProperty(exports, "__esModule", ({ value: true }));
|
|
79701
79768
|
exports.version = void 0;
|
|
79702
|
-
exports.version = '0.14.
|
|
79769
|
+
exports.version = '0.14.13+g566b8de2c01660608e6eb5257113db271d7fc075';
|
|
79703
79770
|
exports["default"] = exports.version;
|
|
79704
79771
|
|
|
79705
79772
|
|
package/docs/assets/hierarchy.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
window.hierarchyData = "
|
|
1
|
+
window.hierarchyData = "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"
|