@keetanetwork/keetanet-client 0.12.2 → 0.14.0
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/api/index.d.ts +23 -2
- package/api/node.d.ts +7 -1
- package/api/p2p.d.ts +13 -0
- package/api/vote.d.ts +10 -0
- package/benchmarking/test.d.ts +4 -0
- package/client/builder.d.ts +6 -4
- package/client/client_common_tests.d.ts +18 -0
- package/client/index-browser.d.ts +42 -14
- package/client/index-browser.js +2068 -640
- package/client/index.d.ts +42 -14
- package/client/index.js +1964 -550
- package/config/index.d.ts +2 -0
- package/docs/assets/hierarchy.js +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/KeetaNetSDK.Client.html +14 -10
- package/docs/classes/KeetaNetSDK.Referenced.BaseSet.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.BaseVoteBuilder.html +10 -0
- package/docs/classes/KeetaNetSDK.Referenced.Block.html +9 -5
- package/docs/classes/KeetaNetSDK.Referenced.BlockBuilder.html +3 -2
- 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 +4 -4
- 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.Certificate.html +6 -2
- 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.IdentifierKey.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.IdentifierKeyPair.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.KeetaNetError.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.Ledger.html +5 -2
- package/docs/classes/KeetaNetSDK.Referenced.LedgerAtomicInterface.html +3 -1
- package/docs/classes/KeetaNetSDK.Referenced.P2PSwitch.html +6 -2
- package/docs/classes/KeetaNetSDK.Referenced.PermissionSetHolder.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.PossiblyExpiredVote.html +31 -27
- package/docs/classes/KeetaNetSDK.Referenced.SignatureStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.Referenced.UserClientBuilder.html +4 -3
- package/docs/classes/KeetaNetSDK.Referenced.Vote.html +7 -3
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockBundle.html +3 -3
- package/docs/classes/KeetaNetSDK.Referenced.VoteBlockHash.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.VoteBuilder.html +10 -8
- package/docs/classes/KeetaNetSDK.Referenced.VoteHash.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.VoteLikeBase.html +32 -0
- package/docs/classes/KeetaNetSDK.Referenced.VoteQuote.html +34 -0
- package/docs/classes/KeetaNetSDK.Referenced.VoteQuoteBuilder.html +11 -0
- package/docs/classes/KeetaNetSDK.Referenced.VoteStaple.html +3 -3
- package/docs/classes/KeetaNetSDK.Referenced.VoteStapleHash.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.html +2 -2
- package/docs/classes/KeetaNetSDK.Referenced.src_lib_utils_buffer.BufferStorage.html +1 -1
- package/docs/classes/KeetaNetSDK.UserClient.html +7 -2
- package/docs/enums/KeetaNetSDK.Referenced.BaseFlag.html +2 -1
- package/docs/enums/KeetaNetSDK.Referenced.BasePermissionGroup.html +3 -1
- package/docs/enums/KeetaNetSDK.Referenced.BlockPurpose.html +3 -0
- package/docs/functions/KeetaNetSDK.Referenced.src_lib_utils_helper.bufferToBigInt.html +1 -0
- package/docs/hierarchy.html +1 -1
- package/docs/interfaces/KeetaNetSDK.PublishOptions.html +5 -0
- 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.AccountInfo.html +4 -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 +3 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperation.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSONOperationCREATE_IDENTIFIER.html +3 -3
- 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.BlockCanonical.html → KeetaNetSDK.Referenced.BlockV1Canonical.html} +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1JSON.html +12 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV1UnsignedCanonical.html +11 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2Canonical.html +11 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2JSON.html +12 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockV2UnsignedCanonical.html +11 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.ComputedBlocksEffectFields.html +3 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.Constructor.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.CreateIdentifierRequest.html +4 -0
- 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.LedgerConfig.html +5 -3
- package/docs/interfaces/KeetaNetSDK.Referenced.LedgerStorageAPI.html +3 -3
- package/docs/interfaces/KeetaNetSDK.Referenced.ModifyTokenBalanceEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.MultiSigIdentifierCreateArguments.html +5 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.MultisigConfig.html +3 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.NumericValueEntry.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.P2PConfig.html +4 -2
- 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 +4 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.PrincipalACLWithInfoParsed.html +1 -0
- package/docs/interfaces/KeetaNetSDK.Referenced.PublicKeyStorage.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 +5 -3
- package/docs/interfaces/KeetaNetSDK.Referenced.UserClientOptions.html +4 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.VoteJSON.html +3 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.VoteStapleJSON.html +2 -2
- package/docs/interfaces/KeetaNetSDK.Referenced.WithIsInstance.html +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.src_config.ValidationConfig.html +2 -2
- 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_helper.InstanceSetConstructor.html +2 -2
- package/docs/modules/KeetaNetSDK.Referenced.html +1 -1
- package/docs/modules/KeetaNetSDK.Referenced.src_lib_utils_helper.html +1 -1
- package/docs/modules/KeetaNetSDK.html +2 -2
- package/docs/types/KeetaNetSDK.Referenced.BlockASN1SchemaWithoutSignature.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockJSON.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockJSONIncomplete.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.BlockOperationASN1SchemaType.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockOperationTypes.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockSignature.html +2 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockSignatureField.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockSignerField.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockSignerFieldJSON.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockV1ASN1WithoutSignature.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.BlockV2ASN1WithoutSignature.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.CertificateBuilderParams.html +8 -3
- package/docs/types/KeetaNetSDK.Referenced.ComputedEffectOfBlocks.html +2 -2
- package/docs/types/KeetaNetSDK.Referenced.GetAccountStateAPIResponseFormatted.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.HashNames.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.MultisigAddress.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.MultisigSignerField.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.MultisigSignerFieldJSON.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.OmitLastArrayValue.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.P2PUpdateOptions.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.UserEditableAccountInfo.html +1 -0
- package/docs/types/KeetaNetSDK.Referenced.src_config.NetworkConfig.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.Schema.html +1 -1
- package/docs/types/KeetaNetSDK.Referenced.src_lib_utils_asn1.ValidateASN1.SchemaMap.html +1 -1
- package/docs/variables/KeetaNetSDK.Referenced.BlockErrorCodes.html +1 -1
- package/docs/variables/KeetaNetSDK.Referenced.BlockOperationASN1Schema.html +2 -0
- package/docs/variables/KeetaNetSDK.Referenced.LedgerErrorCodes.html +1 -1
- package/docs/variables/KeetaNetSDK.Referenced.VoteErrorCodes.html +1 -1
- package/lib/block/index.d.ts +104 -36
- package/lib/block/operations.d.ts +31 -3
- package/lib/error/block.d.ts +1 -1
- package/lib/error/ledger.d.ts +1 -1
- package/lib/error/vote.d.ts +1 -1
- package/lib/ledger/common.d.ts +14 -1
- package/lib/ledger/db_dynamodb.d.ts +2 -2
- package/lib/ledger/db_postgres.d.ts +1 -1
- package/lib/ledger/db_spanner.d.ts +1 -1
- package/lib/ledger/db_spanner_helper.d.ts +28 -5
- package/lib/ledger/db_sqlite.d.ts +1 -1
- package/lib/ledger/effects.d.ts +10 -9
- package/lib/ledger/index.d.ts +17 -8
- package/lib/ledger/types.d.ts +10 -1
- package/lib/node/utils.d.ts +5 -0
- package/lib/p2p.d.ts +32 -0
- package/lib/permissions.d.ts +5 -2
- package/lib/utils/asn1.d.ts +4 -4
- package/lib/utils/certificate.d.ts +38 -1
- package/lib/utils/helper.d.ts +2 -1
- package/lib/vote.d.ts +55 -20
- package/package.json +1 -1
- package/version.d.ts +1 -1
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockJSON.html +0 -11
- package/docs/interfaces/KeetaNetSDK.Referenced.BlockUnsignedCanonical.html +0 -11
- package/docs/types/KeetaNetSDK.Referenced.CreateIdentifierRequest.html +0 -6
package/api/index.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ declare const rootTree: {
|
|
|
6
6
|
POST: (request: APIRequest, payload: {
|
|
7
7
|
blocks: string[];
|
|
8
8
|
votes?: string[];
|
|
9
|
+
quote?: string;
|
|
9
10
|
}) => Promise<{
|
|
10
11
|
vote: import("../lib/vote").Vote;
|
|
11
12
|
}>;
|
|
@@ -16,6 +17,13 @@ declare const rootTree: {
|
|
|
16
17
|
votes: import("../lib/vote").Vote[] | null;
|
|
17
18
|
}>;
|
|
18
19
|
};
|
|
20
|
+
quote: {
|
|
21
|
+
POST: (request: APIRequest, payload: {
|
|
22
|
+
blocks: string[];
|
|
23
|
+
}) => Promise<{
|
|
24
|
+
quote: import("../lib/vote").VoteQuote;
|
|
25
|
+
}>;
|
|
26
|
+
};
|
|
19
27
|
};
|
|
20
28
|
node: {
|
|
21
29
|
peers: {
|
|
@@ -67,6 +75,9 @@ declare const rootTree: {
|
|
|
67
75
|
representatives: import("./node").NodeAPIGetAllRepresentativesResponse[];
|
|
68
76
|
}>;
|
|
69
77
|
};
|
|
78
|
+
history: {
|
|
79
|
+
GET: (request: APIRequest, account?: string | unknown, startFromURL?: unknown) => Promise<import("./node").NodeAPIGetAccountHistoryResponse>;
|
|
80
|
+
};
|
|
70
81
|
account: {
|
|
71
82
|
':account': {
|
|
72
83
|
GET: (request: APIRequest, pubKey: string) => Promise<import("./node").NodeAPIAccountState | import("./node").NodeAPIAccountStateError>;
|
|
@@ -80,10 +91,10 @@ declare const rootTree: {
|
|
|
80
91
|
GET: (request: APIRequest, account: string) => Promise<import("./node").NodeAPIGetAccountChainResponse>;
|
|
81
92
|
};
|
|
82
93
|
history: {
|
|
83
|
-
GET: (request: APIRequest, account
|
|
94
|
+
GET: (request: APIRequest, account?: string | unknown, startFromURL?: unknown) => Promise<import("./node").NodeAPIGetAccountHistoryResponse>;
|
|
84
95
|
start: {
|
|
85
96
|
':block': {
|
|
86
|
-
GET: (request: APIRequest, account
|
|
97
|
+
GET: (request: APIRequest, account?: string | unknown, startFromURL?: unknown) => Promise<import("./node").NodeAPIGetAccountHistoryResponse>;
|
|
87
98
|
};
|
|
88
99
|
};
|
|
89
100
|
};
|
|
@@ -171,6 +182,16 @@ declare const rootTree: {
|
|
|
171
182
|
}>;
|
|
172
183
|
};
|
|
173
184
|
};
|
|
185
|
+
p2p: {
|
|
186
|
+
message: {
|
|
187
|
+
POST: (request: APIRequest, payload: {
|
|
188
|
+
message: string;
|
|
189
|
+
greeting: object;
|
|
190
|
+
}) => Promise<{
|
|
191
|
+
success: boolean;
|
|
192
|
+
}>;
|
|
193
|
+
};
|
|
194
|
+
};
|
|
174
195
|
};
|
|
175
196
|
export interface APIRequest {
|
|
176
197
|
node: Node;
|
package/api/node.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import KeetaNet from '../lib';
|
|
1
2
|
import type { AccountInfo, GetAllBalancesResponse, LedgerStatistics, ACLRow } from '../lib/ledger/types';
|
|
2
3
|
import type { P2PSwitchStatistics } from '../lib/p2p';
|
|
3
4
|
import { NodeKind } from '../lib/node';
|
|
@@ -14,6 +15,7 @@ interface GetPeersAPIResponse {
|
|
|
14
15
|
p2p: string;
|
|
15
16
|
api: string;
|
|
16
17
|
};
|
|
18
|
+
preferUpdates?: string;
|
|
17
19
|
signature?: string;
|
|
18
20
|
}
|
|
19
21
|
interface GetAccountChainAPIResponse {
|
|
@@ -63,6 +65,7 @@ interface GetAccountHistoryResponse {
|
|
|
63
65
|
'$id': string;
|
|
64
66
|
'$timestamp': string;
|
|
65
67
|
}[];
|
|
68
|
+
nextKey: InstanceType<typeof KeetaNet.Vote.VoteBlocksHash> | null;
|
|
66
69
|
}
|
|
67
70
|
declare function getPeers(request: APIRequest): Promise<{
|
|
68
71
|
peers: GetPeersAPIResponse[];
|
|
@@ -130,7 +133,7 @@ declare function listACLsByPrincipal(request: APIRequest, principal: string | Ge
|
|
|
130
133
|
}>;
|
|
131
134
|
declare function listACLsByPrincipalWithInfo(request: APIRequest, principalPubKey: string, entityList?: string): Promise<PrincipalACLWithInfoResponse>;
|
|
132
135
|
declare function getAccountChain(request: APIRequest, account: string): Promise<GetAccountChainAPIResponse>;
|
|
133
|
-
declare function getAccountHistory(request: APIRequest, account
|
|
136
|
+
declare function getAccountHistory(request: APIRequest, account?: string | unknown, startFromURL?: unknown): Promise<GetAccountHistoryResponse>;
|
|
134
137
|
declare function getAllRepresentatives(request: APIRequest): Promise<{
|
|
135
138
|
representatives: GetAllRepresentativesAPIResponse[];
|
|
136
139
|
}>;
|
|
@@ -173,6 +176,9 @@ declare const _default: {
|
|
|
173
176
|
representatives: {
|
|
174
177
|
GET: typeof getAllRepresentatives;
|
|
175
178
|
};
|
|
179
|
+
history: {
|
|
180
|
+
GET: typeof getAccountHistory;
|
|
181
|
+
};
|
|
176
182
|
account: {
|
|
177
183
|
':account': {
|
|
178
184
|
GET: typeof getAccountState;
|
package/api/p2p.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { APIRequest } from ".";
|
|
2
|
+
declare function handleMessage(request: APIRequest, payload: {
|
|
3
|
+
message: string;
|
|
4
|
+
greeting: object;
|
|
5
|
+
}): Promise<{
|
|
6
|
+
success: boolean;
|
|
7
|
+
}>;
|
|
8
|
+
declare const _default: {
|
|
9
|
+
message: {
|
|
10
|
+
POST: typeof handleMessage;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export default _default;
|
package/api/vote.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { APIRequest } from '.';
|
|
2
2
|
import KeetaNet from '../lib';
|
|
3
3
|
type Vote = InstanceType<typeof KeetaNet['Vote']>;
|
|
4
|
+
type VoteQuote = InstanceType<typeof KeetaNet['Vote']['Quote']>;
|
|
4
5
|
type BlockHash = InstanceType<typeof KeetaNet['Block']['Hash']>;
|
|
5
6
|
declare function createNewVote(request: APIRequest, payload: {
|
|
6
7
|
blocks: string[];
|
|
7
8
|
votes?: string[];
|
|
9
|
+
quote?: string;
|
|
8
10
|
}): Promise<{
|
|
9
11
|
vote: Vote;
|
|
10
12
|
}>;
|
|
@@ -12,6 +14,11 @@ declare function getVotes(request: APIRequest, blockhash: string): Promise<{
|
|
|
12
14
|
blockhash: BlockHash;
|
|
13
15
|
votes: Vote[] | null;
|
|
14
16
|
}>;
|
|
17
|
+
declare function createNewQuote(request: APIRequest, payload: {
|
|
18
|
+
blocks: string[];
|
|
19
|
+
}): Promise<{
|
|
20
|
+
quote: VoteQuote;
|
|
21
|
+
}>;
|
|
15
22
|
declare const _default: {
|
|
16
23
|
_root: {
|
|
17
24
|
POST: typeof createNewVote;
|
|
@@ -19,5 +26,8 @@ declare const _default: {
|
|
|
19
26
|
':blockhash': {
|
|
20
27
|
GET: typeof getVotes;
|
|
21
28
|
};
|
|
29
|
+
quote: {
|
|
30
|
+
POST: typeof createNewQuote;
|
|
31
|
+
};
|
|
22
32
|
};
|
|
23
33
|
export default _default;
|
package/client/builder.d.ts
CHANGED
|
@@ -2,12 +2,13 @@ import type { GenericAccount, IdentifierKeyAlgorithm } from '../lib/account';
|
|
|
2
2
|
import { Account, AccountKeyAlgorithm } from '../lib/account';
|
|
3
3
|
import type { AdjustMethod, BlockHash } from '../lib/block';
|
|
4
4
|
import { Block } from '../lib/block';
|
|
5
|
-
import type
|
|
5
|
+
import { type BlockJSONOperations } from '../lib/block/operations';
|
|
6
6
|
import type { AccountInfo } from '../lib/ledger/types';
|
|
7
7
|
import type { AcceptedPermissionTypes } from '../lib/permissions';
|
|
8
|
-
import type { UserClient } from '.';
|
|
8
|
+
import type { UserClient, PublishOptions } from '.';
|
|
9
9
|
import { Permissions } from '../lib/permissions';
|
|
10
10
|
import { Certificate, CertificateBundle } from '../lib/utils/certificate';
|
|
11
|
+
import type { VoteStaple } from '../lib/vote';
|
|
11
12
|
type GetPrevFunction = (acct: GenericAccount | string) => Promise<BlockHash | string | null | undefined>;
|
|
12
13
|
interface AccountSignerOptions {
|
|
13
14
|
account: GenericAccount;
|
|
@@ -166,8 +167,9 @@ export declare class UserClientBuilder {
|
|
|
166
167
|
get defaultOptions(): BuilderOptions;
|
|
167
168
|
updateAccounts(accountOptions: Partial<AccountSignerOptions>): void;
|
|
168
169
|
clone(): Promise<UserClientBuilder>;
|
|
169
|
-
publish(): Promise<Awaited<ReturnType<UserClient['publishBuilder']>>>;
|
|
170
|
-
publish(client?: UserClientOrClientAndNetwork): Promise<Awaited<ReturnType<UserClient['publishBuilder']>>>;
|
|
170
|
+
publish(options?: PublishOptions): Promise<Awaited<ReturnType<UserClient['publishBuilder']>>>;
|
|
171
|
+
publish(options?: PublishOptions, client?: UserClientOrClientAndNetwork): Promise<Awaited<ReturnType<UserClient['publishBuilder']>>>;
|
|
172
|
+
computeFeeBlock(staple: VoteStaple, options?: BuilderBlockOptions, renderOptions?: RenderOptions | UserClientOrClientAndNetwork): Promise<Block>;
|
|
171
173
|
computeBlocks(): Promise<ComputeBlocksResponse>;
|
|
172
174
|
computeBlocks(client?: UserClientOrClientAndNetwork): Promise<ComputeBlocksResponse>;
|
|
173
175
|
computeBlocks(renderOptions: RenderOptions): Promise<ComputeBlocksResponse>;
|
|
@@ -7,6 +7,9 @@ import { UserClient } from '.';
|
|
|
7
7
|
import { type CreateTestNodeOptions } from '../lib/utils/helper_testing';
|
|
8
8
|
import { toJSONSerializable } from '../lib/utils/conversion';
|
|
9
9
|
import { KeetaNetError as KeetaError } from '../lib/error';
|
|
10
|
+
import { type Block } from '../lib/block';
|
|
11
|
+
import type { Ledger } from '../lib/ledger';
|
|
12
|
+
import type { ComputedEffectOfBlocks } from '../lib/ledger/effects';
|
|
10
13
|
export type ClientParams = {
|
|
11
14
|
ip?: string;
|
|
12
15
|
port?: number;
|
|
@@ -37,6 +40,7 @@ export declare function setup(options?: NodeCreationOptions): Promise<{
|
|
|
37
40
|
cleanupFunctions: (() => Promise<void>)[];
|
|
38
41
|
}>;
|
|
39
42
|
declare function runBasicTests(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, _ignoreExpectErrorCode: any): Promise<void>;
|
|
43
|
+
declare function runFeeBlockTests(_ignore_nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
|
|
40
44
|
declare function runBuilderStorageTests(_ignoreNodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
|
|
41
45
|
declare function runRecoverAccountTest(nodes: LocalNode[], userClient: UserClient, trustedClient: UserClient, params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
|
|
42
46
|
declare function runNonNodeTests(_ignore_nodes: LocalNode[], _ignore_userClient: UserClient, _ignore_trustedClient: UserClient, _ignore_params: ClientParams, expect: any, ExpectErrorCode: any): Promise<void>;
|
|
@@ -57,6 +61,20 @@ export declare const clientTests: {
|
|
|
57
61
|
timeout: number;
|
|
58
62
|
};
|
|
59
63
|
};
|
|
64
|
+
'Fee Block Tests': {
|
|
65
|
+
test: typeof runFeeBlockTests;
|
|
66
|
+
options: {
|
|
67
|
+
p2pTested: boolean;
|
|
68
|
+
count: number;
|
|
69
|
+
customNodeOptions: {
|
|
70
|
+
ledger: {
|
|
71
|
+
computeFeeFromBlocks: (ledger: Ledger, blocks: Block[], effects: ComputedEffectOfBlocks) => {
|
|
72
|
+
amount: bigint;
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
}[];
|
|
76
|
+
};
|
|
77
|
+
};
|
|
60
78
|
'Builder/Storage Test': {
|
|
61
79
|
test: typeof runBuilderStorageTests;
|
|
62
80
|
options: {
|
|
@@ -24,8 +24,8 @@ import type { AcceptedPermissionTypes } from '../lib/permissions';
|
|
|
24
24
|
import { type BlockOperations } from '../lib/block/operations';
|
|
25
25
|
import { Certificate } from '../lib/utils/certificate';
|
|
26
26
|
import { CertificateBundle, type CertificateHash } from '../lib/utils/certificate';
|
|
27
|
+
import { VoteStaple, type VoteQuote } from '../lib/vote';
|
|
27
28
|
type Vote = InstanceType<typeof KeetaNet['Vote']>;
|
|
28
|
-
type VoteStaple = InstanceType<typeof KeetaNet['Vote']['Staple']>;
|
|
29
29
|
type VoteBlocksHash = Vote['blocksHash'];
|
|
30
30
|
/**
|
|
31
31
|
* Account information
|
|
@@ -119,6 +119,16 @@ interface CertificateWithIntermediatesResponse {
|
|
|
119
119
|
certificate: Certificate;
|
|
120
120
|
intermediates: CertificateBundle | null;
|
|
121
121
|
}
|
|
122
|
+
export interface PublishOptions {
|
|
123
|
+
/**
|
|
124
|
+
* Client provided function to compute the fee block associated with any transactions
|
|
125
|
+
*/
|
|
126
|
+
generateFeeBlock?: (staple: VoteStaple) => Promise<Block>;
|
|
127
|
+
/**
|
|
128
|
+
* Quotes if provided will be sent to the representative
|
|
129
|
+
*/
|
|
130
|
+
quotes?: VoteQuote[];
|
|
131
|
+
}
|
|
122
132
|
/**
|
|
123
133
|
*/
|
|
124
134
|
interface UserClientOptions {
|
|
@@ -146,6 +156,10 @@ interface UserClientOptions {
|
|
|
146
156
|
* be no account and some operations may not be available.
|
|
147
157
|
*/
|
|
148
158
|
account?: GenericAccount;
|
|
159
|
+
/**
|
|
160
|
+
* Client provided function to compute the fee block associated with any transactions
|
|
161
|
+
*/
|
|
162
|
+
generateFeeBlock?: PublishOptions['generateFeeBlock'];
|
|
149
163
|
}
|
|
150
164
|
/**
|
|
151
165
|
* The set of options that are applicable to read-only operations
|
|
@@ -324,22 +338,28 @@ export declare class Client {
|
|
|
324
338
|
* votes and permanent votes for the blocks and then publish them to
|
|
325
339
|
* the network.
|
|
326
340
|
*
|
|
327
|
-
*
|
|
341
|
+
* The `blocks` builder will be computed using {@link computeBuilderBlocks} and then transmitted.
|
|
342
|
+
*
|
|
343
|
+
* @param builder The UserClientBuilder to compute and transmit transmit
|
|
344
|
+
* @param network The network to use for the builder (if using a builder)
|
|
328
345
|
* @return The result of the publish operation
|
|
329
346
|
*/
|
|
330
|
-
|
|
347
|
+
transmitBuilder(builder: UserClientBuilder, network: bigint, options?: PublishOptions): ReturnType<Client['transmit']>;
|
|
331
348
|
/**
|
|
332
349
|
* Transmit a set of blocks to the network. This will request short
|
|
333
350
|
* votes and permanent votes for the blocks and then publish them to
|
|
334
|
-
* the network.
|
|
351
|
+
* the network. Optionally it will generate a fee block from a user
|
|
352
|
+
* provided function if fees are required.
|
|
335
353
|
*
|
|
336
|
-
*
|
|
337
|
-
*
|
|
338
|
-
* @param blocks The UserClientBuilder to compute and transmit transmit
|
|
339
|
-
* @param network The network to use for the builder (if using a builder)
|
|
354
|
+
* @param blocks The blocks to transmit
|
|
355
|
+
* @param options User provided options {@link PublishOptions }
|
|
340
356
|
* @return The result of the publish operation
|
|
341
357
|
*/
|
|
342
|
-
transmit(blocks:
|
|
358
|
+
transmit(blocks: Block[], options?: PublishOptions): Promise<{
|
|
359
|
+
voteStaple: VoteStaple;
|
|
360
|
+
publish: boolean;
|
|
361
|
+
from: "direct";
|
|
362
|
+
}>;
|
|
343
363
|
/**
|
|
344
364
|
* Publish a Vote Staple to the network. This will publish the votes
|
|
345
365
|
* and blocks to the network.
|
|
@@ -570,13 +590,13 @@ export declare class Client {
|
|
|
570
590
|
* that it will always return at least 1 vote staple if there are any
|
|
571
591
|
* vote staples available.
|
|
572
592
|
*
|
|
573
|
-
* @param account The account to get the history for
|
|
593
|
+
* @param account The account to get the history for -- if null then the history for all accounts will be returned
|
|
574
594
|
* @param options The options to use for the request
|
|
575
595
|
* @param options.startBlocksHash The block hash to start from -- this is used to paginate the request
|
|
576
596
|
* @param options.depth The maximum number of vote staples to return -- this is used to limit the number of vote staples returned
|
|
577
597
|
* @return The history of vote staples for the given account, in reverse order starting with the most recent vote staple
|
|
578
598
|
*/
|
|
579
|
-
getHistory(account: GenericAccount | string, options?: {
|
|
599
|
+
getHistory(account: GenericAccount | string | null, options?: {
|
|
580
600
|
startBlocksHash?: VoteBlocksHash | string;
|
|
581
601
|
depth?: number;
|
|
582
602
|
}): Promise<{
|
|
@@ -701,6 +721,7 @@ export declare class Client {
|
|
|
701
721
|
* @param publish Publish the recovered staple to the network (default is true)
|
|
702
722
|
*/
|
|
703
723
|
recoverAccount(account: GenericAccount, publish?: boolean): Promise<VoteStaple | null>;
|
|
724
|
+
getVoteQuotes(blocks: Block[]): Promise<VoteQuote[]>;
|
|
704
725
|
/** Work in progress */
|
|
705
726
|
getLedgerChecksum(rep?: ClientRepresentative | 'ANY'): Promise<{
|
|
706
727
|
moment: string;
|
|
@@ -911,9 +932,10 @@ export declare class UserClient {
|
|
|
911
932
|
* instead of this one.
|
|
912
933
|
*
|
|
913
934
|
* @param builder The builder to publish
|
|
935
|
+
* @param options options for publishing {@link PublishOptions }
|
|
914
936
|
* @return The vote staple that was generated and whether it was able to be published
|
|
915
937
|
*/
|
|
916
|
-
publishBuilder(builder: UserClientBuilder): Promise<{
|
|
938
|
+
publishBuilder(builder: UserClientBuilder, options?: PublishOptions): Promise<{
|
|
917
939
|
voteStaple: VoteStaple;
|
|
918
940
|
publish: boolean;
|
|
919
941
|
from: "direct";
|
|
@@ -1008,6 +1030,12 @@ export declare class UserClient {
|
|
|
1008
1030
|
* @return The vote staple that was generated and whether it was able to be published
|
|
1009
1031
|
*/
|
|
1010
1032
|
send(to: GenericAccount | string, amount: bigint | number, token: TokenAddress | string, external?: string, options?: UserClientOptions, retries?: number): Promise<Awaited<ReturnType<typeof this.publishBuilder>>>;
|
|
1033
|
+
/**
|
|
1034
|
+
* Gets a quote for the cost for a given set of blocks from each representative
|
|
1035
|
+
* @param blocks
|
|
1036
|
+
* @returns A list of quotes from representatives the client knows about
|
|
1037
|
+
*/
|
|
1038
|
+
getQuotes(blocks: Block[]): Promise<VoteQuote[]>;
|
|
1011
1039
|
/**
|
|
1012
1040
|
* Generate a new identifier for the given type and publish the blocks
|
|
1013
1041
|
*
|
|
@@ -1089,7 +1117,7 @@ export declare class UserClient {
|
|
|
1089
1117
|
* @return The history for the account, paginated
|
|
1090
1118
|
*/
|
|
1091
1119
|
history(query?: Parameters<Client['getHistory']>[1], options?: UserClientOptionsReadOnly): Promise<{
|
|
1092
|
-
voteStaple:
|
|
1120
|
+
voteStaple: VoteStaple;
|
|
1093
1121
|
effects: import("../lib/ledger/effects").ComputedEffectOfBlocks;
|
|
1094
1122
|
}[]>;
|
|
1095
1123
|
/**
|
|
@@ -1214,7 +1242,7 @@ export declare class UserClient {
|
|
|
1214
1242
|
get readonly(): boolean;
|
|
1215
1243
|
}
|
|
1216
1244
|
/** @hidden */
|
|
1217
|
-
export declare function blockGenerator(seed: string, index: number, transactionCount: number, network?: bigint): Promise<
|
|
1245
|
+
export declare function blockGenerator(seed: string, index: number, transactionCount: number, network?: bigint): Promise<VoteStaple>;
|
|
1218
1246
|
/** @hidden */
|
|
1219
1247
|
export declare function emitBlocks(client: Client, blocks: number, seed: string, index: number, transactionCount: number, network?: bigint): Promise<void>;
|
|
1220
1248
|
/**
|