@keetanetwork/anchor 0.0.1
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/.done +0 -0
- package/LICENSE +35 -0
- package/client/index.d.ts +10 -0
- package/client/index.d.ts.map +1 -0
- package/client/index.js +11 -0
- package/client/index.js.map +1 -0
- package/config.d.ts +10 -0
- package/config.d.ts.map +1 -0
- package/config.js +36 -0
- package/config.js.map +1 -0
- package/lib/certificates.d.ts +106 -0
- package/lib/certificates.d.ts.map +1 -0
- package/lib/certificates.js +463 -0
- package/lib/certificates.js.map +1 -0
- package/lib/encrypted-container.d.ts +106 -0
- package/lib/encrypted-container.d.ts.map +1 -0
- package/lib/encrypted-container.js +594 -0
- package/lib/encrypted-container.js.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +5 -0
- package/lib/index.js.map +1 -0
- package/lib/log/common.d.ts +35 -0
- package/lib/log/common.d.ts.map +1 -0
- package/lib/log/common.js +19 -0
- package/lib/log/common.js.map +1 -0
- package/lib/log/index.d.ts +59 -0
- package/lib/log/index.d.ts.map +1 -0
- package/lib/log/index.js +207 -0
- package/lib/log/index.js.map +1 -0
- package/lib/log/target_console.d.ts +13 -0
- package/lib/log/target_console.d.ts.map +1 -0
- package/lib/log/target_console.js +44 -0
- package/lib/log/target_console.js.map +1 -0
- package/lib/resolver.d.ts +308 -0
- package/lib/resolver.d.ts.map +1 -0
- package/lib/resolver.js +1429 -0
- package/lib/resolver.js.map +1 -0
- package/lib/utils/array.d.ts +10 -0
- package/lib/utils/array.d.ts.map +1 -0
- package/lib/utils/array.js +12 -0
- package/lib/utils/array.js.map +1 -0
- package/lib/utils/asn1.d.ts +13 -0
- package/lib/utils/asn1.d.ts.map +1 -0
- package/lib/utils/asn1.js +8 -0
- package/lib/utils/asn1.js.map +1 -0
- package/lib/utils/buffer.d.ts +4 -0
- package/lib/utils/buffer.d.ts.map +1 -0
- package/lib/utils/buffer.js +3 -0
- package/lib/utils/buffer.js.map +1 -0
- package/lib/utils/crypto.d.ts +4 -0
- package/lib/utils/crypto.d.ts.map +1 -0
- package/lib/utils/crypto.js +4 -0
- package/lib/utils/crypto.js.map +1 -0
- package/lib/utils/index.d.ts +5 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +5 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/json.d.ts +8 -0
- package/lib/utils/json.d.ts.map +1 -0
- package/lib/utils/json.js +164 -0
- package/lib/utils/json.js.map +1 -0
- package/lib/utils/never.d.ts +8 -0
- package/lib/utils/never.d.ts.map +1 -0
- package/lib/utils/never.js +14 -0
- package/lib/utils/never.js.map +1 -0
- package/npm-shrinkwrap.json +16517 -0
- package/package.json +42 -0
- package/services/kyc/client.d.ts +139 -0
- package/services/kyc/client.d.ts.map +1 -0
- package/services/kyc/client.js +390 -0
- package/services/kyc/client.js.map +1 -0
- package/services/kyc/common.d.ts +65 -0
- package/services/kyc/common.d.ts.map +1 -0
- package/services/kyc/common.js +2 -0
- package/services/kyc/common.js.map +1 -0
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
import * as KeetaNetClient from '@keetanetwork/keetanet-client';
|
|
2
|
+
import CurrencyInfo from '@keetanetwork/currency-info';
|
|
3
|
+
import type { Logger } from './log/index.ts';
|
|
4
|
+
import type { JSONSerializable } from './utils/json.ts';
|
|
5
|
+
type ExternalURL = {
|
|
6
|
+
external: '2b828e33-2692-46e9-817e-9b93d63f28fd';
|
|
7
|
+
url: string;
|
|
8
|
+
};
|
|
9
|
+
type KeetaNetAccount = InstanceType<typeof KeetaNetClient.lib.Account>;
|
|
10
|
+
type CurrencySearchInput = CurrencyInfo.ISOCurrencyCode | CurrencyInfo.ISOCurrencyNumber | CurrencyInfo.Currency;
|
|
11
|
+
type CountrySearchInput = CurrencyInfo.ISOCountryCode | CurrencyInfo.ISOCountryNumber | CurrencyInfo.Country;
|
|
12
|
+
/**
|
|
13
|
+
* A cache object
|
|
14
|
+
*/
|
|
15
|
+
type URLCacheObject = Map<string, {
|
|
16
|
+
pass: true;
|
|
17
|
+
value: JSONSerializable;
|
|
18
|
+
expires: Date;
|
|
19
|
+
} | {
|
|
20
|
+
pass: false;
|
|
21
|
+
error: unknown;
|
|
22
|
+
expires: Date;
|
|
23
|
+
}>;
|
|
24
|
+
/**
|
|
25
|
+
* Service Metadata General Structure
|
|
26
|
+
*/
|
|
27
|
+
type ServiceMetadata = {
|
|
28
|
+
version: number;
|
|
29
|
+
services: {
|
|
30
|
+
banking?: {
|
|
31
|
+
[id: string]: {
|
|
32
|
+
operations: {
|
|
33
|
+
createAccount?: string;
|
|
34
|
+
};
|
|
35
|
+
currencyCodes: string[];
|
|
36
|
+
countryCodes: string[];
|
|
37
|
+
kycProviders?: string[];
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
kyc?: {
|
|
41
|
+
[id: string]: {
|
|
42
|
+
operations: {
|
|
43
|
+
/**
|
|
44
|
+
* Check if the KYC provider can
|
|
45
|
+
* service a more specific locality
|
|
46
|
+
* (optional)
|
|
47
|
+
*/
|
|
48
|
+
checkLocality?: string;
|
|
49
|
+
/**
|
|
50
|
+
* Request an estimate for a KYC
|
|
51
|
+
* verification (optional)
|
|
52
|
+
*/
|
|
53
|
+
getEstimate?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Begin the KYC verification process
|
|
56
|
+
* with this KYC provider
|
|
57
|
+
*/
|
|
58
|
+
createVerification?: string;
|
|
59
|
+
/**
|
|
60
|
+
* Get the certificate for the
|
|
61
|
+
* KYC verification
|
|
62
|
+
*/
|
|
63
|
+
getCertificates?: string;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Country codes which this KYC provider can
|
|
67
|
+
* validate accounts in. If this is not
|
|
68
|
+
* specified, then the KYC provider can
|
|
69
|
+
* validate accounts in any country.
|
|
70
|
+
*/
|
|
71
|
+
countryCodes?: string[];
|
|
72
|
+
/**
|
|
73
|
+
* The Certificate Authority (CA) Certificate
|
|
74
|
+
* that this KYC provider uses to sign KYC
|
|
75
|
+
* certificates. This is used to identify the
|
|
76
|
+
* KYC provider.
|
|
77
|
+
*/
|
|
78
|
+
ca: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
fx?: {
|
|
82
|
+
inputCurrencyCodes: {
|
|
83
|
+
outputCurrencyCodes: string[];
|
|
84
|
+
kycProviders: string[];
|
|
85
|
+
}[];
|
|
86
|
+
};
|
|
87
|
+
inbound?: {
|
|
88
|
+
workInProgress?: true;
|
|
89
|
+
};
|
|
90
|
+
outbound?: {
|
|
91
|
+
workInProgress?: true;
|
|
92
|
+
};
|
|
93
|
+
cards?: {
|
|
94
|
+
workInProgress?: true;
|
|
95
|
+
};
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
/**
|
|
99
|
+
* Types of services which can be resolved
|
|
100
|
+
*/
|
|
101
|
+
type Services = keyof ServiceMetadata['services'];
|
|
102
|
+
/**
|
|
103
|
+
* Search criteria for each service type
|
|
104
|
+
*/
|
|
105
|
+
type ServiceSearchCriteria<T extends Services> = {
|
|
106
|
+
'banking': {
|
|
107
|
+
/**
|
|
108
|
+
* Search for a banking provider which supports creating
|
|
109
|
+
* accounts in ALL of the following currencies.
|
|
110
|
+
*/
|
|
111
|
+
currencyCodes?: CurrencySearchInput[];
|
|
112
|
+
/**
|
|
113
|
+
* Search for a banking provider which supports creating
|
|
114
|
+
* accounts in ANY of the following countries.
|
|
115
|
+
*/
|
|
116
|
+
countryCodes?: CountrySearchInput[];
|
|
117
|
+
/**
|
|
118
|
+
* Search for a banking provider which supports creating
|
|
119
|
+
* accounts verified by ANY of the following KYC providers
|
|
120
|
+
* (DN).
|
|
121
|
+
*/
|
|
122
|
+
kycProviders?: string[];
|
|
123
|
+
};
|
|
124
|
+
'fx': {
|
|
125
|
+
/**
|
|
126
|
+
* Search for a provider which can convert from the following
|
|
127
|
+
* input currency
|
|
128
|
+
*/
|
|
129
|
+
inputCurrencyCode: CurrencySearchInput;
|
|
130
|
+
/**
|
|
131
|
+
* Search for a provider which can convert to the following
|
|
132
|
+
* output currency
|
|
133
|
+
*/
|
|
134
|
+
outputCurrencyCode: CurrencySearchInput;
|
|
135
|
+
};
|
|
136
|
+
'kyc': {
|
|
137
|
+
/**
|
|
138
|
+
* Search for a KYC provider which can verify accounts in ALL
|
|
139
|
+
* of the following countries.
|
|
140
|
+
*/
|
|
141
|
+
countryCodes: CountrySearchInput[];
|
|
142
|
+
};
|
|
143
|
+
'inbound': {
|
|
144
|
+
workInProgress: true;
|
|
145
|
+
};
|
|
146
|
+
'outbound': {
|
|
147
|
+
workInProgress: true;
|
|
148
|
+
};
|
|
149
|
+
'cards': {
|
|
150
|
+
workInProgress: true;
|
|
151
|
+
};
|
|
152
|
+
}[T];
|
|
153
|
+
type ResolverConfig = {
|
|
154
|
+
/**
|
|
155
|
+
* The "root" account to use as the basis for all lookups. It should
|
|
156
|
+
* contain the authoritative information for resolving in its
|
|
157
|
+
* Metadata.
|
|
158
|
+
*/
|
|
159
|
+
root: KeetaNetAccount;
|
|
160
|
+
/**
|
|
161
|
+
* A KeetaNet Client to access the network using.
|
|
162
|
+
*/
|
|
163
|
+
client: KeetaNetClient.Client | KeetaNetClient.UserClient;
|
|
164
|
+
/**
|
|
165
|
+
* A list of trusted Certificate Authorities to use when connecting to
|
|
166
|
+
* external HTTPS services.
|
|
167
|
+
*/
|
|
168
|
+
trustedCAs: string[];
|
|
169
|
+
/**
|
|
170
|
+
* Logger to use for debugging
|
|
171
|
+
*/
|
|
172
|
+
logger?: Logger;
|
|
173
|
+
/**
|
|
174
|
+
* ID for this instance of the resolver
|
|
175
|
+
*/
|
|
176
|
+
id?: string;
|
|
177
|
+
/**
|
|
178
|
+
* Caching Parameters
|
|
179
|
+
*/
|
|
180
|
+
cache?: Omit<NonNullable<MetadataConfig['cache']>, 'instance'>;
|
|
181
|
+
};
|
|
182
|
+
type JSONSerializablePrimitive = Exclude<JSONSerializable, object>;
|
|
183
|
+
type ValuizeInput = JSONSerializablePrimitive | ValuizableObject | ValuizableArray;
|
|
184
|
+
type ValuizableArray = (ValuizableMethod | undefined)[];
|
|
185
|
+
type ValuizableObject = {
|
|
186
|
+
[key: string]: ValuizableMethod | undefined;
|
|
187
|
+
};
|
|
188
|
+
type ValuizableKind = 'any' | 'object' | 'array' | 'primitive' | 'string' | 'number' | 'boolean';
|
|
189
|
+
interface ValuizableMethod {
|
|
190
|
+
(expect: 'object'): Promise<ValuizableObject>;
|
|
191
|
+
(expect: 'array'): Promise<ValuizableArray>;
|
|
192
|
+
(expect: 'primitive'): Promise<JSONSerializablePrimitive>;
|
|
193
|
+
(expect: 'string'): Promise<string>;
|
|
194
|
+
(expect: 'number'): Promise<number>;
|
|
195
|
+
(expect: 'boolean'): Promise<boolean>;
|
|
196
|
+
(expect: 'any'): Promise<ValuizeInput>;
|
|
197
|
+
(expect?: ValuizableKind): Promise<ValuizeInput>;
|
|
198
|
+
}
|
|
199
|
+
interface ToValuizableExpectString {
|
|
200
|
+
(expect: 'string'): Promise<string>;
|
|
201
|
+
(expect: 'primitive'): Promise<JSONSerializablePrimitive>;
|
|
202
|
+
}
|
|
203
|
+
interface ToValuizableExpectNumber {
|
|
204
|
+
(expect: 'number'): Promise<number>;
|
|
205
|
+
(expect: 'primitive'): Promise<JSONSerializablePrimitive>;
|
|
206
|
+
}
|
|
207
|
+
interface ToValuizableExpectBoolean {
|
|
208
|
+
(expect: 'boolean'): Promise<boolean>;
|
|
209
|
+
(expect: 'primitive'): Promise<JSONSerializablePrimitive>;
|
|
210
|
+
}
|
|
211
|
+
type ToValuizableObject<T extends object> = {
|
|
212
|
+
[K in keyof T]: T[K] extends string ? ToValuizableExpectString : T[K] extends number ? ToValuizableExpectNumber : T[K] extends boolean ? ToValuizableExpectBoolean : T[K] extends JSONSerializablePrimitive ? (expect: 'primitive') => Promise<JSONSerializablePrimitive> : T[K] extends unknown[] ? (expect: 'array') => Promise<ToValuizableObject<T[K]>> : T[K] extends object ? (expect: 'object') => Promise<ToValuizableObject<T[K]>> : T[K] extends (infer U | undefined) ? ToValuizable<U> | undefined : never;
|
|
213
|
+
};
|
|
214
|
+
type ToValuizable<T> = ToValuizableObject<{
|
|
215
|
+
tmp: T;
|
|
216
|
+
}>['tmp'];
|
|
217
|
+
type ToJSONValuizableObject<T extends object> = {
|
|
218
|
+
[K in keyof T]: (T[K] extends object ? ToJSONValuizableObject<T[K]> : T[K] extends (object | undefined) ? ToJSONValuizableObject<NonNullable<T[K]>> | undefined : T[K]) | ExternalURL;
|
|
219
|
+
};
|
|
220
|
+
type ToJSONValuizable<T> = ToJSONValuizableObject<{
|
|
221
|
+
tmp: T;
|
|
222
|
+
}>['tmp'];
|
|
223
|
+
type MetadataConfig = {
|
|
224
|
+
trustedCAs: ResolverConfig['trustedCAs'];
|
|
225
|
+
client: KeetaNetClient.Client;
|
|
226
|
+
logger?: ResolverConfig['logger'];
|
|
227
|
+
resolver: Resolver;
|
|
228
|
+
cache?: {
|
|
229
|
+
instance: URLCacheObject;
|
|
230
|
+
positiveTTL?: number;
|
|
231
|
+
negativeTTL?: number;
|
|
232
|
+
};
|
|
233
|
+
parent?: Metadata;
|
|
234
|
+
};
|
|
235
|
+
type ValuizableInstance = {
|
|
236
|
+
value: ValuizableMethod;
|
|
237
|
+
};
|
|
238
|
+
declare class Metadata implements ValuizableInstance {
|
|
239
|
+
#private;
|
|
240
|
+
private readonly seenURLs;
|
|
241
|
+
private static readonly instanceTypeID;
|
|
242
|
+
static isInstance(value: unknown): value is Metadata;
|
|
243
|
+
/**
|
|
244
|
+
* Format the supplied Metadata as appropriate to be included
|
|
245
|
+
* within the Metadata field of a KeetaNet acccount to serve
|
|
246
|
+
* as the Metadata for the Resolver.
|
|
247
|
+
*/
|
|
248
|
+
static formatMetadata(metadata: ToJSONValuizable<ServiceMetadata>): string;
|
|
249
|
+
static formatMetadata(metadata: JSONSerializable): string;
|
|
250
|
+
/**
|
|
251
|
+
* Assert that the supplied value is a valid Metadata Root Object
|
|
252
|
+
*/
|
|
253
|
+
static assertMetadata(value: unknown): asserts value is ToJSONValuizable<ServiceMetadata>;
|
|
254
|
+
constructor(url: string | URL, config: MetadataConfig);
|
|
255
|
+
private parseMetadata;
|
|
256
|
+
private readKeetaNetURL;
|
|
257
|
+
private readHTTPSURL;
|
|
258
|
+
private readURL;
|
|
259
|
+
private resolveValue;
|
|
260
|
+
private assertValuizableKind;
|
|
261
|
+
private valuize;
|
|
262
|
+
value(expect: 'object'): Promise<ValuizableObject>;
|
|
263
|
+
value(expect: 'array'): Promise<ValuizableArray>;
|
|
264
|
+
value(expect: 'primitive'): Promise<JSONSerializablePrimitive>;
|
|
265
|
+
value(expect: 'string'): Promise<string>;
|
|
266
|
+
value(expect: 'number'): Promise<number>;
|
|
267
|
+
value(expect: 'boolean'): Promise<boolean>;
|
|
268
|
+
value(expect: 'any'): Promise<ValuizeInput>;
|
|
269
|
+
value(expect?: ValuizableKind): Promise<ValuizeInput>;
|
|
270
|
+
}
|
|
271
|
+
type ResolverStats = {
|
|
272
|
+
keetanet: {
|
|
273
|
+
reads: number;
|
|
274
|
+
};
|
|
275
|
+
https: {
|
|
276
|
+
reads: number;
|
|
277
|
+
};
|
|
278
|
+
unsupported: {
|
|
279
|
+
reads: number;
|
|
280
|
+
};
|
|
281
|
+
reads: number;
|
|
282
|
+
cache: {
|
|
283
|
+
hit: number;
|
|
284
|
+
miss: number;
|
|
285
|
+
};
|
|
286
|
+
};
|
|
287
|
+
type ResolverLookupBankingResults = {
|
|
288
|
+
[id: string]: ToValuizableObject<NonNullable<ServiceMetadata['services']['banking']>[string]>;
|
|
289
|
+
};
|
|
290
|
+
type ResolverLookupKYCResults = {
|
|
291
|
+
[id: string]: ToValuizableObject<NonNullable<ServiceMetadata['services']['kyc']>[string]>;
|
|
292
|
+
};
|
|
293
|
+
declare class Resolver {
|
|
294
|
+
#private;
|
|
295
|
+
readonly id: string;
|
|
296
|
+
static readonly Metadata: typeof Metadata;
|
|
297
|
+
constructor(config: ResolverConfig);
|
|
298
|
+
get stats(): ResolverStats;
|
|
299
|
+
private lookupBankingServices;
|
|
300
|
+
private lookupKYCServices;
|
|
301
|
+
lookup<T extends 'banking'>(service: T, criteria: ServiceSearchCriteria<'banking'>): Promise<ResolverLookupBankingResults | undefined>;
|
|
302
|
+
lookup<T extends 'kyc'>(service: T, criteria: ServiceSearchCriteria<'kyc'>): Promise<ResolverLookupKYCResults | undefined>;
|
|
303
|
+
lookup<T extends Services>(service: T, criteria: ServiceSearchCriteria<T>): Promise<ResolverLookupBankingResults | ResolverLookupKYCResults | undefined>;
|
|
304
|
+
clearCache(): void;
|
|
305
|
+
}
|
|
306
|
+
export default Resolver;
|
|
307
|
+
export type { ServiceMetadata, ServiceSearchCriteria, Services };
|
|
308
|
+
//# sourceMappingURL=resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../../src/lib/resolver.ts"],"names":[],"mappings":"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"}
|