@fairmint/canton-node-sdk 0.0.214 → 0.0.215
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/build/src/utils/canton-response-utils.d.ts +41 -0
- package/build/src/utils/canton-response-utils.d.ts.map +1 -1
- package/build/src/utils/canton-response-utils.js +70 -0
- package/build/src/utils/canton-response-utils.js.map +1 -1
- package/build/src/utils/index.d.ts +1 -0
- package/build/src/utils/index.d.ts.map +1 -1
- package/build/src/utils/index.js +1 -0
- package/build/src/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,3 +1,44 @@
|
|
|
1
|
+
export type CantonContractCreateArgument = readonly unknown[] | Record<string, unknown> | string | number | boolean | null;
|
|
2
|
+
export interface CantonNormalizedContract {
|
|
3
|
+
readonly contractId: string;
|
|
4
|
+
readonly templateId: string;
|
|
5
|
+
readonly createArgument: CantonContractCreateArgument;
|
|
6
|
+
readonly createdEventBlob: string | null;
|
|
7
|
+
readonly createdAt: string | null;
|
|
8
|
+
}
|
|
9
|
+
export interface CantonInstrumentId {
|
|
10
|
+
readonly admin: string;
|
|
11
|
+
readonly id: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CantonUnlockedUtxo {
|
|
14
|
+
readonly contractId: string;
|
|
15
|
+
readonly amount: string;
|
|
16
|
+
readonly metadata?: Record<string, unknown>;
|
|
17
|
+
}
|
|
18
|
+
export interface CantonLockedUtxo {
|
|
19
|
+
readonly contractId: string;
|
|
20
|
+
readonly amount: string;
|
|
21
|
+
readonly lock?: Record<string, unknown>;
|
|
22
|
+
readonly metadata?: Record<string, unknown>;
|
|
23
|
+
}
|
|
24
|
+
export interface CantonTokenBalance {
|
|
25
|
+
readonly instrumentId: CantonInstrumentId;
|
|
26
|
+
readonly totalUnlockedBalance: string;
|
|
27
|
+
readonly totalLockedBalance: string;
|
|
28
|
+
readonly totalBalance: string;
|
|
29
|
+
readonly unlockedUtxos: readonly CantonUnlockedUtxo[];
|
|
30
|
+
readonly lockedUtxos: readonly CantonLockedUtxo[];
|
|
31
|
+
}
|
|
32
|
+
export interface CantonWalletBalances {
|
|
33
|
+
readonly partyId: string;
|
|
34
|
+
readonly fetchedAt: string;
|
|
35
|
+
readonly tokens: readonly CantonTokenBalance[];
|
|
36
|
+
}
|
|
37
|
+
export interface CantonCoinBalanceLookupOptions {
|
|
38
|
+
readonly expectedAdmin: string;
|
|
39
|
+
}
|
|
1
40
|
export declare function readRequiredString(source: unknown, key: string, operation: string): string;
|
|
2
41
|
export declare function objectOrEmpty(value: unknown): Record<string, unknown>;
|
|
42
|
+
export declare function normalizeCantonContractItem(item: unknown): CantonNormalizedContract;
|
|
43
|
+
export declare function findCantonCoinBalance(balances: CantonWalletBalances | null | undefined, options: CantonCoinBalanceLookupOptions): CantonTokenBalance | null;
|
|
3
44
|
//# sourceMappingURL=canton-response-utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canton-response-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/canton-response-utils.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErE"}
|
|
1
|
+
{"version":3,"file":"canton-response-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/canton-response-utils.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,4BAA4B,GACpC,SAAS,OAAO,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACvB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,CAAC;AAET,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,cAAc,EAAE,4BAA4B,CAAC;IACtD,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;IAC1C,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,kBAAkB,EAAE,CAAC;IACtD,QAAQ,CAAC,WAAW,EAAE,SAAS,gBAAgB,EAAE,CAAC;CACnD;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,SAAS,kBAAkB,EAAE,CAAC;CAChD;AAED,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAS1F;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAErE;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,OAAO,GAAG,wBAAwB,CAMnF;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,oBAAoB,GAAG,IAAI,GAAG,SAAS,EACjD,OAAO,EAAE,8BAA8B,GACtC,kBAAkB,GAAG,IAAI,CAe3B"}
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.readRequiredString = readRequiredString;
|
|
4
4
|
exports.objectOrEmpty = objectOrEmpty;
|
|
5
|
+
exports.normalizeCantonContractItem = normalizeCantonContractItem;
|
|
6
|
+
exports.findCantonCoinBalance = findCantonCoinBalance;
|
|
5
7
|
const errors_1 = require("../core/errors");
|
|
6
8
|
const utils_1 = require("../core/utils");
|
|
7
9
|
function readRequiredString(source, key, operation) {
|
|
@@ -15,4 +17,72 @@ function readRequiredString(source, key, operation) {
|
|
|
15
17
|
function objectOrEmpty(value) {
|
|
16
18
|
return (0, utils_1.isRecord)(value) ? value : {};
|
|
17
19
|
}
|
|
20
|
+
function normalizeCantonContractItem(item) {
|
|
21
|
+
if (!(0, utils_1.isRecord)(item)) {
|
|
22
|
+
return emptyNormalizedContract();
|
|
23
|
+
}
|
|
24
|
+
return contractFromCreatedEvent(findCreatedEventPayload(item));
|
|
25
|
+
}
|
|
26
|
+
function findCantonCoinBalance(balances, options) {
|
|
27
|
+
const expectedAdmin = options.expectedAdmin.trim();
|
|
28
|
+
if (!expectedAdmin)
|
|
29
|
+
return null;
|
|
30
|
+
let partialMatch = null;
|
|
31
|
+
for (const token of balances?.tokens ?? []) {
|
|
32
|
+
if (token.instrumentId.admin !== expectedAdmin)
|
|
33
|
+
continue;
|
|
34
|
+
const instrumentId = token.instrumentId.id;
|
|
35
|
+
if (instrumentId === 'Amulet')
|
|
36
|
+
return token;
|
|
37
|
+
if (!partialMatch && instrumentId.toLowerCase() === 'amulet') {
|
|
38
|
+
partialMatch = token;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
return partialMatch;
|
|
42
|
+
}
|
|
43
|
+
function findCreatedEventPayload(item) {
|
|
44
|
+
const contractEntry = toRecord(item['contractEntry']);
|
|
45
|
+
const activeContract = toRecord(contractEntry?.['JsActiveContract']);
|
|
46
|
+
const createdEvent = toRecord(activeContract?.['createdEvent']);
|
|
47
|
+
return createdEvent ?? item;
|
|
48
|
+
}
|
|
49
|
+
function contractFromCreatedEvent(createdEvent) {
|
|
50
|
+
return {
|
|
51
|
+
contractId: toStringField(createdEvent['contractId']),
|
|
52
|
+
templateId: toStringField(createdEvent['templateId']),
|
|
53
|
+
createArgument: toCreateArgument(createdEvent['createArgument']),
|
|
54
|
+
createdEventBlob: toNullableStringField(createdEvent['createdEventBlob']),
|
|
55
|
+
createdAt: toNullableStringField(createdEvent['createdAt']),
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
function emptyNormalizedContract() {
|
|
59
|
+
return {
|
|
60
|
+
contractId: '',
|
|
61
|
+
templateId: '',
|
|
62
|
+
createArgument: null,
|
|
63
|
+
createdEventBlob: null,
|
|
64
|
+
createdAt: null,
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
function toRecord(value) {
|
|
68
|
+
return (0, utils_1.isRecord)(value) ? value : null;
|
|
69
|
+
}
|
|
70
|
+
function toCreateArgument(value) {
|
|
71
|
+
if (value == null)
|
|
72
|
+
return null;
|
|
73
|
+
if (Array.isArray(value))
|
|
74
|
+
return value;
|
|
75
|
+
if ((0, utils_1.isRecord)(value))
|
|
76
|
+
return value;
|
|
77
|
+
if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
|
|
78
|
+
return value;
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
function toStringField(value) {
|
|
83
|
+
return typeof value === 'string' ? value : '';
|
|
84
|
+
}
|
|
85
|
+
function toNullableStringField(value) {
|
|
86
|
+
return typeof value === 'string' ? value : null;
|
|
87
|
+
}
|
|
18
88
|
//# sourceMappingURL=canton-response-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canton-response-utils.js","sourceRoot":"","sources":["../../../src/utils/canton-response-utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"canton-response-utils.js","sourceRoot":"","sources":["../../../src/utils/canton-response-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,yBAAyB,CAAC;AACxC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,gBAAgB,CAAC"}
|
package/build/src/utils/index.js
CHANGED
|
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./amulet"), exports);
|
|
18
|
+
__exportStar(require("./canton-response-utils"), exports);
|
|
18
19
|
__exportStar(require("./contracts"), exports);
|
|
19
20
|
__exportStar(require("./external-signing"), exports);
|
|
20
21
|
__exportStar(require("./health"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,8CAA4B;AAC5B,qDAAmC;AACnC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,4CAA0B;AAC1B,iDAA+B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0DAAwC;AACxC,8CAA4B;AAC5B,qDAAmC;AACnC,2CAAyB;AACzB,2CAAyB;AACzB,4CAA0B;AAC1B,0CAAwB;AACxB,4CAA0B;AAC1B,iDAA+B"}
|