@ottochain/sdk 1.1.1 → 1.3.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/LICENSE +190 -0
- package/dist/cjs/index.js +35 -13
- package/dist/cjs/ottochain/index.js +20 -1
- package/dist/cjs/ottochain/metagraph-client.js +57 -6
- package/dist/cjs/ottochain/snapshot.js +3 -3
- package/dist/cjs/ottochain/transaction.js +251 -0
- package/dist/cjs/verify.js +17 -0
- package/dist/esm/apps/contracts/index.js +28 -10
- package/dist/esm/apps/corporate/index.js +79 -24
- package/dist/esm/apps/governance/index.js +85 -36
- package/dist/esm/apps/identity/constants.js +27 -22
- package/dist/esm/apps/identity/index.js +35 -7
- package/dist/esm/apps/index.js +32 -6
- package/dist/esm/apps/markets/index.js +27 -6
- package/dist/esm/apps/oracles/index.js +27 -7
- package/dist/esm/errors.js +19 -9
- package/dist/esm/generated/google/protobuf/struct.js +39 -33
- package/dist/esm/generated/google/protobuf/timestamp.js +9 -6
- package/dist/esm/generated/index.js +134 -10
- package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +54 -48
- package/dist/esm/generated/ottochain/apps/corporate/v1/corporate.js +357 -335
- package/dist/esm/generated/ottochain/apps/governance/v1/governance.js +299 -284
- package/dist/esm/generated/ottochain/apps/identity/v1/agent.js +47 -38
- package/dist/esm/generated/ottochain/apps/identity/v1/attestation.js +50 -44
- package/dist/esm/generated/ottochain/apps/markets/v1/market.js +86 -77
- package/dist/esm/generated/ottochain/apps/oracles/v1/oracle.js +72 -66
- package/dist/esm/generated/ottochain/v1/common.js +4 -1
- package/dist/esm/generated/ottochain/v1/fiber.js +96 -90
- package/dist/esm/generated/ottochain/v1/messages.js +82 -79
- package/dist/esm/generated/ottochain/v1/records.js +140 -137
- package/dist/esm/index.js +86 -18
- package/dist/esm/{metakit → ottochain}/drop-nulls.js +5 -1
- package/dist/esm/ottochain/index.js +56 -3
- package/dist/esm/ottochain/metagraph-client.js +65 -10
- package/dist/esm/{metakit → ottochain}/normalize.js +11 -4
- package/dist/esm/ottochain/snapshot.js +20 -10
- package/dist/esm/ottochain/transaction.js +251 -0
- package/dist/esm/ottochain/types.js +2 -1
- package/dist/esm/types.js +7 -2
- package/dist/esm/validation.js +76 -65
- package/dist/esm/verify.js +17 -0
- package/dist/types/index.d.ts +14 -5
- package/dist/types/ottochain/index.d.ts +4 -0
- package/dist/types/ottochain/metagraph-client.d.ts +28 -0
- package/dist/types/ottochain/transaction.d.ts +283 -0
- package/dist/types/validation.d.ts +8 -8
- package/dist/types/verify.d.ts +9 -0
- package/package.json +5 -3
- package/dist/cjs/metakit/binary.js +0 -58
- package/dist/cjs/metakit/canonicalize.js +0 -40
- package/dist/cjs/metakit/codec.js +0 -45
- package/dist/cjs/metakit/currency-transaction.js +0 -319
- package/dist/cjs/metakit/currency-types.js +0 -13
- package/dist/cjs/metakit/hash.js +0 -84
- package/dist/cjs/metakit/index.js +0 -74
- package/dist/cjs/metakit/network/client.js +0 -78
- package/dist/cjs/metakit/network/currency-l1-client.js +0 -101
- package/dist/cjs/metakit/network/data-l1-client.js +0 -76
- package/dist/cjs/metakit/network/index.js +0 -16
- package/dist/cjs/metakit/network/types.js +0 -20
- package/dist/cjs/metakit/sign.js +0 -120
- package/dist/cjs/metakit/signed-object.js +0 -100
- package/dist/cjs/metakit/types.js +0 -14
- package/dist/cjs/metakit/verify.js +0 -217
- package/dist/cjs/metakit/wallet.js +0 -127
- package/dist/esm/metakit/binary.js +0 -53
- package/dist/esm/metakit/canonicalize.js +0 -33
- package/dist/esm/metakit/codec.js +0 -38
- package/dist/esm/metakit/currency-transaction.js +0 -306
- package/dist/esm/metakit/currency-types.js +0 -10
- package/dist/esm/metakit/hash.js +0 -77
- package/dist/esm/metakit/index.js +0 -30
- package/dist/esm/metakit/network/client.js +0 -74
- package/dist/esm/metakit/network/currency-l1-client.js +0 -97
- package/dist/esm/metakit/network/data-l1-client.js +0 -72
- package/dist/esm/metakit/network/index.js +0 -9
- package/dist/esm/metakit/network/types.js +0 -16
- package/dist/esm/metakit/sign.js +0 -114
- package/dist/esm/metakit/signed-object.js +0 -94
- package/dist/esm/metakit/types.js +0 -11
- package/dist/esm/metakit/verify.js +0 -210
- package/dist/esm/metakit/wallet.js +0 -117
- package/dist/types/metakit/binary.d.ts +0 -38
- package/dist/types/metakit/canonicalize.d.ts +0 -26
- package/dist/types/metakit/codec.d.ts +0 -16
- package/dist/types/metakit/currency-transaction.d.ts +0 -157
- package/dist/types/metakit/currency-types.d.ts +0 -55
- package/dist/types/metakit/hash.d.ts +0 -50
- package/dist/types/metakit/index.d.ts +0 -23
- package/dist/types/metakit/network/client.d.ts +0 -23
- package/dist/types/metakit/network/currency-l1-client.d.ts +0 -71
- package/dist/types/metakit/network/data-l1-client.d.ts +0 -57
- package/dist/types/metakit/network/index.d.ts +0 -10
- package/dist/types/metakit/network/types.d.ts +0 -74
- package/dist/types/metakit/sign.d.ts +0 -65
- package/dist/types/metakit/signed-object.d.ts +0 -66
- package/dist/types/metakit/types.d.ts +0 -67
- package/dist/types/metakit/verify.d.ts +0 -55
- package/dist/types/metakit/wallet.d.ts +0 -70
- /package/dist/cjs/{metakit → ottochain}/drop-nulls.js +0 -0
- /package/dist/cjs/{metakit → ottochain}/normalize.js +0 -0
- /package/dist/types/{metakit → ottochain}/drop-nulls.d.ts +0 -0
- /package/dist/types/{metakit → ottochain}/normalize.d.ts +0 -0
package/dist/esm/index.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Ottochain SDK
|
|
3
4
|
*
|
|
4
|
-
* Unified SDK combining
|
|
5
|
+
* Unified SDK combining @constellation-network/metagraph-sdk with OttoChain domain types.
|
|
5
6
|
*
|
|
6
7
|
* Structure:
|
|
7
|
-
* - `
|
|
8
|
+
* - `@constellation-network/metagraph-sdk` — Core signing, hashing, encoding, wallet, currency transactions
|
|
9
|
+
* - `@constellation-network/metagraph-sdk/network` — HttpClient, MetagraphClient, NetworkError
|
|
10
|
+
* - `ottochain` — OttoChain-specific transaction helpers, types, snapshot, and client
|
|
8
11
|
* - `generated` — Protobuf-generated types (source of truth)
|
|
9
12
|
* - `apps/identity` — Agent Identity application types
|
|
10
13
|
* - `apps/contracts` — Contract application types
|
|
@@ -13,21 +16,86 @@
|
|
|
13
16
|
*
|
|
14
17
|
* @packageDocumentation
|
|
15
18
|
*/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
19
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
22
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
23
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(o, k2, desc);
|
|
26
|
+
}) : (function(o, m, k, k2) {
|
|
27
|
+
if (k2 === undefined) k2 = k;
|
|
28
|
+
o[k2] = m[k];
|
|
29
|
+
}));
|
|
30
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
31
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
32
|
+
};
|
|
33
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
34
|
+
exports.OttoMetagraphClient = exports.assert = exports.safeParse = exports.validateKeyPair = exports.validateAddress = exports.validatePublicKey = exports.validatePrivateKey = exports.validate = exports.CompleteContractRequestSchema = exports.AcceptContractRequestSchema = exports.ProposeContractRequestSchema = exports.ContractTermsSchema = exports.PlatformLinkSchema = exports.AgentIdentityRegistrationSchema = exports.TransferParamsSchema = exports.CurrencyTransactionSchema = exports.CurrencyTransactionValueSchema = exports.TransactionReferenceSchema = exports.SignedSchema = exports.SignatureProofSchema = exports.KeyPairSchema = exports.PublicKeySchema = exports.PrivateKeySchema = exports.DagAddressSchema = exports.wrapError = exports.isErrorCode = exports.ErrorCode = exports.TransactionError = exports.SigningError = exports.ValidationError = exports.NetworkError = exports.OttoChainError = exports.dropNulls = exports.normalizeMessage = exports.normalizeArchiveStateMachine = exports.normalizeTransitionStateMachine = exports.normalizeCreateStateMachine = exports.MetagraphNetworkError = exports.HttpClient = exports.createMetagraphClient = exports.MetagraphClient = exports.verify = void 0;
|
|
35
|
+
// ─── Core metagraph SDK ───────────────────────────────────────────────────────
|
|
36
|
+
// Consumers can also import directly from '@constellation-network/metagraph-sdk'
|
|
37
|
+
__exportStar(require("@constellation-network/metagraph-sdk"), exports);
|
|
38
|
+
// Override verify — package embeds `mode` in signed objects and ignores isDataUpdate
|
|
39
|
+
// when mode is present. Our wrapper strips mode so isDataUpdate always wins.
|
|
40
|
+
var verify_js_1 = require("./verify.js");
|
|
41
|
+
Object.defineProperty(exports, "verify", { enumerable: true, get: function () { return verify_js_1.verify; } });
|
|
42
|
+
// ─── Network clients ──────────────────────────────────────────────────────────
|
|
43
|
+
// Re-export from package network subpath
|
|
44
|
+
var network_1 = require("@constellation-network/metagraph-sdk/network");
|
|
45
|
+
Object.defineProperty(exports, "MetagraphClient", { enumerable: true, get: function () { return network_1.MetagraphClient; } });
|
|
46
|
+
Object.defineProperty(exports, "createMetagraphClient", { enumerable: true, get: function () { return network_1.createMetagraphClient; } });
|
|
47
|
+
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return network_1.HttpClient; } });
|
|
48
|
+
Object.defineProperty(exports, "MetagraphNetworkError", { enumerable: true, get: function () { return network_1.NetworkError; } });
|
|
49
|
+
// ─── Type aliases for semantic clarity (matches wire format) ──────────────────
|
|
50
|
+
__exportStar(require("./types.js"), exports);
|
|
51
|
+
// ─── OttoChain-specific transaction helpers ───────────────────────────────────
|
|
52
|
+
__exportStar(require("./ottochain/transaction.js"), exports);
|
|
53
|
+
var normalize_js_1 = require("./ottochain/normalize.js");
|
|
54
|
+
Object.defineProperty(exports, "normalizeCreateStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeCreateStateMachine; } });
|
|
55
|
+
Object.defineProperty(exports, "normalizeTransitionStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeTransitionStateMachine; } });
|
|
56
|
+
Object.defineProperty(exports, "normalizeArchiveStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeArchiveStateMachine; } });
|
|
57
|
+
Object.defineProperty(exports, "normalizeMessage", { enumerable: true, get: function () { return normalize_js_1.normalizeMessage; } });
|
|
58
|
+
var drop_nulls_js_1 = require("./ottochain/drop-nulls.js");
|
|
59
|
+
Object.defineProperty(exports, "dropNulls", { enumerable: true, get: function () { return drop_nulls_js_1.dropNulls; } });
|
|
60
|
+
// ─── Generated protobuf types (canonical definitions) ────────────────────────
|
|
61
|
+
__exportStar(require("./generated/index.js"), exports);
|
|
62
|
+
// ─── Custom error classes ─────────────────────────────────────────────────────
|
|
63
|
+
var errors_js_1 = require("./errors.js");
|
|
64
|
+
Object.defineProperty(exports, "OttoChainError", { enumerable: true, get: function () { return errors_js_1.OttoChainError; } });
|
|
65
|
+
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return errors_js_1.NetworkError; } });
|
|
66
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_js_1.ValidationError; } });
|
|
67
|
+
Object.defineProperty(exports, "SigningError", { enumerable: true, get: function () { return errors_js_1.SigningError; } });
|
|
68
|
+
Object.defineProperty(exports, "TransactionError", { enumerable: true, get: function () { return errors_js_1.TransactionError; } });
|
|
69
|
+
Object.defineProperty(exports, "ErrorCode", { enumerable: true, get: function () { return errors_js_1.ErrorCode; } });
|
|
70
|
+
Object.defineProperty(exports, "isErrorCode", { enumerable: true, get: function () { return errors_js_1.isErrorCode; } });
|
|
71
|
+
Object.defineProperty(exports, "wrapError", { enumerable: true, get: function () { return errors_js_1.wrapError; } });
|
|
72
|
+
// ─── Validation schemas and helpers ──────────────────────────────────────────
|
|
73
|
+
var validation_js_1 = require("./validation.js");
|
|
26
74
|
// Schemas
|
|
27
|
-
|
|
75
|
+
Object.defineProperty(exports, "DagAddressSchema", { enumerable: true, get: function () { return validation_js_1.DagAddressSchema; } });
|
|
76
|
+
Object.defineProperty(exports, "PrivateKeySchema", { enumerable: true, get: function () { return validation_js_1.PrivateKeySchema; } });
|
|
77
|
+
Object.defineProperty(exports, "PublicKeySchema", { enumerable: true, get: function () { return validation_js_1.PublicKeySchema; } });
|
|
78
|
+
Object.defineProperty(exports, "KeyPairSchema", { enumerable: true, get: function () { return validation_js_1.KeyPairSchema; } });
|
|
79
|
+
Object.defineProperty(exports, "SignatureProofSchema", { enumerable: true, get: function () { return validation_js_1.SignatureProofSchema; } });
|
|
80
|
+
Object.defineProperty(exports, "SignedSchema", { enumerable: true, get: function () { return validation_js_1.SignedSchema; } });
|
|
81
|
+
Object.defineProperty(exports, "TransactionReferenceSchema", { enumerable: true, get: function () { return validation_js_1.TransactionReferenceSchema; } });
|
|
82
|
+
Object.defineProperty(exports, "CurrencyTransactionValueSchema", { enumerable: true, get: function () { return validation_js_1.CurrencyTransactionValueSchema; } });
|
|
83
|
+
Object.defineProperty(exports, "CurrencyTransactionSchema", { enumerable: true, get: function () { return validation_js_1.CurrencyTransactionSchema; } });
|
|
84
|
+
Object.defineProperty(exports, "TransferParamsSchema", { enumerable: true, get: function () { return validation_js_1.TransferParamsSchema; } });
|
|
85
|
+
Object.defineProperty(exports, "AgentIdentityRegistrationSchema", { enumerable: true, get: function () { return validation_js_1.AgentIdentityRegistrationSchema; } });
|
|
86
|
+
Object.defineProperty(exports, "PlatformLinkSchema", { enumerable: true, get: function () { return validation_js_1.PlatformLinkSchema; } });
|
|
87
|
+
Object.defineProperty(exports, "ContractTermsSchema", { enumerable: true, get: function () { return validation_js_1.ContractTermsSchema; } });
|
|
88
|
+
Object.defineProperty(exports, "ProposeContractRequestSchema", { enumerable: true, get: function () { return validation_js_1.ProposeContractRequestSchema; } });
|
|
89
|
+
Object.defineProperty(exports, "AcceptContractRequestSchema", { enumerable: true, get: function () { return validation_js_1.AcceptContractRequestSchema; } });
|
|
90
|
+
Object.defineProperty(exports, "CompleteContractRequestSchema", { enumerable: true, get: function () { return validation_js_1.CompleteContractRequestSchema; } });
|
|
28
91
|
// Helpers
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
92
|
+
Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validation_js_1.validate; } });
|
|
93
|
+
Object.defineProperty(exports, "validatePrivateKey", { enumerable: true, get: function () { return validation_js_1.validatePrivateKey; } });
|
|
94
|
+
Object.defineProperty(exports, "validatePublicKey", { enumerable: true, get: function () { return validation_js_1.validatePublicKey; } });
|
|
95
|
+
Object.defineProperty(exports, "validateAddress", { enumerable: true, get: function () { return validation_js_1.validateAddress; } });
|
|
96
|
+
Object.defineProperty(exports, "validateKeyPair", { enumerable: true, get: function () { return validation_js_1.validateKeyPair; } });
|
|
97
|
+
Object.defineProperty(exports, "safeParse", { enumerable: true, get: function () { return validation_js_1.safeParse; } });
|
|
98
|
+
Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return validation_js_1.assert; } });
|
|
99
|
+
// ─── OttoChain metagraph client ───────────────────────────────────────────────
|
|
100
|
+
var metagraph_client_js_1 = require("./ottochain/metagraph-client.js");
|
|
101
|
+
Object.defineProperty(exports, "OttoMetagraphClient", { enumerable: true, get: function () { return metagraph_client_js_1.MetagraphClient; } });
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Drop Null Values from JSON Objects
|
|
3
4
|
*
|
|
@@ -11,6 +12,8 @@
|
|
|
11
12
|
* Note: null values inside arrays are preserved (to maintain index
|
|
12
13
|
* positions). Only object field values that are null are removed.
|
|
13
14
|
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.dropNulls = void 0;
|
|
14
17
|
/**
|
|
15
18
|
* Recursively remove null values from objects
|
|
16
19
|
*
|
|
@@ -26,7 +29,7 @@
|
|
|
26
29
|
* // => [1, null, 3] (array nulls preserved)
|
|
27
30
|
* ```
|
|
28
31
|
*/
|
|
29
|
-
|
|
32
|
+
function dropNulls(value) {
|
|
30
33
|
if (value === null || value === undefined) {
|
|
31
34
|
return value;
|
|
32
35
|
}
|
|
@@ -44,3 +47,4 @@ export function dropNulls(value) {
|
|
|
44
47
|
}
|
|
45
48
|
return value;
|
|
46
49
|
}
|
|
50
|
+
exports.dropNulls = dropNulls;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Ottochain SDK
|
|
3
4
|
*
|
|
@@ -5,9 +6,61 @@
|
|
|
5
6
|
*
|
|
6
7
|
* @packageDocumentation
|
|
7
8
|
*/
|
|
9
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
12
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
13
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
14
|
+
}
|
|
15
|
+
Object.defineProperty(o, k2, desc);
|
|
16
|
+
}) : (function(o, m, k, k2) {
|
|
17
|
+
if (k2 === undefined) k2 = k;
|
|
18
|
+
o[k2] = m[k];
|
|
19
|
+
}));
|
|
20
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
21
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
22
|
+
}) : function(o, v) {
|
|
23
|
+
o["default"] = v;
|
|
24
|
+
});
|
|
25
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
26
|
+
if (mod && mod.__esModule) return mod;
|
|
27
|
+
var result = {};
|
|
28
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
29
|
+
__setModuleDefault(result, mod);
|
|
30
|
+
return result;
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.dropNulls = exports.normalizeMessage = exports.normalizeArchiveStateMachine = exports.normalizeTransitionStateMachine = exports.normalizeCreateStateMachine = exports.createDataTransactionRequest = exports.createScriptPayload = exports.createStateMachinePayload = exports.getPublicKeyForRegistration = exports.addTransactionSignature = exports.signTransaction = exports.createInvokeScriptPayload = exports.createArchivePayload = exports.createTransitionPayload = exports.MetagraphClient = exports.extractOnChainState = exports.getScriptInvocations = exports.getEventReceipts = exports.getLogsForFiber = exports.getLatestOnChainState = exports.getSnapshotOnChainState = exports.decodeOnChainState = exports.proto = void 0;
|
|
8
34
|
// Re-export generated protobuf types (for binary encoding)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
35
|
+
exports.proto = __importStar(require("../generated/index.js"));
|
|
36
|
+
var snapshot_js_1 = require("./snapshot.js");
|
|
37
|
+
Object.defineProperty(exports, "decodeOnChainState", { enumerable: true, get: function () { return snapshot_js_1.decodeOnChainState; } });
|
|
38
|
+
Object.defineProperty(exports, "getSnapshotOnChainState", { enumerable: true, get: function () { return snapshot_js_1.getSnapshotOnChainState; } });
|
|
39
|
+
Object.defineProperty(exports, "getLatestOnChainState", { enumerable: true, get: function () { return snapshot_js_1.getLatestOnChainState; } });
|
|
40
|
+
Object.defineProperty(exports, "getLogsForFiber", { enumerable: true, get: function () { return snapshot_js_1.getLogsForFiber; } });
|
|
41
|
+
Object.defineProperty(exports, "getEventReceipts", { enumerable: true, get: function () { return snapshot_js_1.getEventReceipts; } });
|
|
42
|
+
Object.defineProperty(exports, "getScriptInvocations", { enumerable: true, get: function () { return snapshot_js_1.getScriptInvocations; } });
|
|
43
|
+
Object.defineProperty(exports, "extractOnChainState", { enumerable: true, get: function () { return snapshot_js_1.extractOnChainState; } });
|
|
44
|
+
var metagraph_client_js_1 = require("./metagraph-client.js");
|
|
45
|
+
Object.defineProperty(exports, "MetagraphClient", { enumerable: true, get: function () { return metagraph_client_js_1.MetagraphClient; } });
|
|
46
|
+
// Transaction helpers (state machine payloads, signing)
|
|
47
|
+
var transaction_js_1 = require("./transaction.js");
|
|
48
|
+
Object.defineProperty(exports, "createTransitionPayload", { enumerable: true, get: function () { return transaction_js_1.createTransitionPayload; } });
|
|
49
|
+
Object.defineProperty(exports, "createArchivePayload", { enumerable: true, get: function () { return transaction_js_1.createArchivePayload; } });
|
|
50
|
+
Object.defineProperty(exports, "createInvokeScriptPayload", { enumerable: true, get: function () { return transaction_js_1.createInvokeScriptPayload; } });
|
|
51
|
+
Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return transaction_js_1.signTransaction; } });
|
|
52
|
+
Object.defineProperty(exports, "addTransactionSignature", { enumerable: true, get: function () { return transaction_js_1.addTransactionSignature; } });
|
|
53
|
+
Object.defineProperty(exports, "getPublicKeyForRegistration", { enumerable: true, get: function () { return transaction_js_1.getPublicKeyForRegistration; } });
|
|
54
|
+
Object.defineProperty(exports, "createStateMachinePayload", { enumerable: true, get: function () { return transaction_js_1.createStateMachinePayload; } });
|
|
55
|
+
Object.defineProperty(exports, "createScriptPayload", { enumerable: true, get: function () { return transaction_js_1.createScriptPayload; } });
|
|
56
|
+
Object.defineProperty(exports, "createDataTransactionRequest", { enumerable: true, get: function () { return transaction_js_1.createDataTransactionRequest; } });
|
|
57
|
+
// Data utilities
|
|
58
|
+
var normalize_js_1 = require("./normalize.js");
|
|
59
|
+
Object.defineProperty(exports, "normalizeCreateStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeCreateStateMachine; } });
|
|
60
|
+
Object.defineProperty(exports, "normalizeTransitionStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeTransitionStateMachine; } });
|
|
61
|
+
Object.defineProperty(exports, "normalizeArchiveStateMachine", { enumerable: true, get: function () { return normalize_js_1.normalizeArchiveStateMachine; } });
|
|
62
|
+
Object.defineProperty(exports, "normalizeMessage", { enumerable: true, get: function () { return normalize_js_1.normalizeMessage; } });
|
|
63
|
+
var drop_nulls_js_1 = require("./drop-nulls.js");
|
|
64
|
+
Object.defineProperty(exports, "dropNulls", { enumerable: true, get: function () { return drop_nulls_js_1.dropNulls; } });
|
|
12
65
|
// Note: Governance and Corporate types are now in src/apps/
|
|
13
66
|
// Import from '@ottochain/sdk/apps' instead
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Ottochain Metagraph Client
|
|
3
4
|
*
|
|
@@ -8,9 +9,11 @@
|
|
|
8
9
|
* @see modules/data_l1/src/main/scala/xyz/kd5ujc/data_l1/DataL1CustomRoutes.scala
|
|
9
10
|
* @packageDocumentation
|
|
10
11
|
*/
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.MetagraphClient = void 0;
|
|
14
|
+
const transaction_js_1 = require("./transaction.js");
|
|
15
|
+
const network_1 = require("@constellation-network/metagraph-sdk/network");
|
|
16
|
+
const snapshot_js_1 = require("./snapshot.js");
|
|
14
17
|
/**
|
|
15
18
|
* Client for ottochain metagraph operations.
|
|
16
19
|
*
|
|
@@ -34,12 +37,15 @@ import { extractOnChainState } from './snapshot.js';
|
|
|
34
37
|
* const events = await client.getStateMachineEvents(fiberId);
|
|
35
38
|
* ```
|
|
36
39
|
*/
|
|
37
|
-
|
|
40
|
+
class MetagraphClient {
|
|
38
41
|
constructor(config) {
|
|
39
|
-
this.ml0 = new HttpClient(config.ml0Url, config.timeout);
|
|
42
|
+
this.ml0 = new network_1.HttpClient(config.ml0Url, config.timeout);
|
|
40
43
|
if (config.dl1Url) {
|
|
41
|
-
this.dl1 = new HttpClient(config.dl1Url, config.timeout);
|
|
44
|
+
this.dl1 = new network_1.HttpClient(config.dl1Url, config.timeout);
|
|
42
45
|
}
|
|
46
|
+
// Build DL1 client pool from dl1Urls (falls back to dl1Url if provided)
|
|
47
|
+
const urls = config.dl1Urls ?? (config.dl1Url ? [config.dl1Url] : []);
|
|
48
|
+
this.dl1Clients = urls.map((url) => new network_1.HttpClient(url, config.timeout));
|
|
43
49
|
}
|
|
44
50
|
// -------------------------------------------------------------------------
|
|
45
51
|
// Custom routes (ML0 /data-application/v1/*)
|
|
@@ -71,7 +77,7 @@ export class MetagraphClient {
|
|
|
71
77
|
return await this.ml0.get(`/data-application/v1/state-machines/${fiberId}`);
|
|
72
78
|
}
|
|
73
79
|
catch (error) {
|
|
74
|
-
if (error instanceof NetworkError && error.statusCode === 404) {
|
|
80
|
+
if (error instanceof network_1.NetworkError && error.statusCode === 404) {
|
|
75
81
|
return null;
|
|
76
82
|
}
|
|
77
83
|
throw error;
|
|
@@ -98,7 +104,7 @@ export class MetagraphClient {
|
|
|
98
104
|
return await this.ml0.get(`/data-application/v1/oracles/${scriptId}`);
|
|
99
105
|
}
|
|
100
106
|
catch (error) {
|
|
101
|
-
if (error instanceof NetworkError && error.statusCode === 404) {
|
|
107
|
+
if (error instanceof network_1.NetworkError && error.statusCode === 404) {
|
|
102
108
|
return null;
|
|
103
109
|
}
|
|
104
110
|
throw error;
|
|
@@ -118,14 +124,14 @@ export class MetagraphClient {
|
|
|
118
124
|
*/
|
|
119
125
|
async getLatestSnapshotOnChainState() {
|
|
120
126
|
const snapshot = await this.ml0.get('/snapshots/latest');
|
|
121
|
-
return extractOnChainState(snapshot);
|
|
127
|
+
return (0, snapshot_js_1.extractOnChainState)(snapshot);
|
|
122
128
|
}
|
|
123
129
|
/**
|
|
124
130
|
* Get a snapshot by ordinal and decode its on-chain state.
|
|
125
131
|
*/
|
|
126
132
|
async getSnapshotOnChainState(ordinal) {
|
|
127
133
|
const snapshot = await this.ml0.get(`/snapshots/${ordinal}`);
|
|
128
|
-
return extractOnChainState(snapshot);
|
|
134
|
+
return (0, snapshot_js_1.extractOnChainState)(snapshot);
|
|
129
135
|
}
|
|
130
136
|
/**
|
|
131
137
|
* Get the latest snapshot ordinal.
|
|
@@ -297,4 +303,53 @@ export class MetagraphClient {
|
|
|
297
303
|
}
|
|
298
304
|
return this.dl1.post('/data', signedData);
|
|
299
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Submit a self-signed transaction directly to DL1 nodes.
|
|
308
|
+
*
|
|
309
|
+
* Wraps the signed payload in `{ data, fee: null }` format and submits
|
|
310
|
+
* to one of the configured DL1 nodes. Uses `Promise.any` when multiple
|
|
311
|
+
* DL1 URLs are configured for resilience.
|
|
312
|
+
*
|
|
313
|
+
* @param signed - A `Signed<T>` object from `signTransaction()`
|
|
314
|
+
* @returns Response containing the data hash
|
|
315
|
+
* @throws Error if no DL1 URLs are configured or all nodes fail
|
|
316
|
+
*
|
|
317
|
+
* @example
|
|
318
|
+
* ```typescript
|
|
319
|
+
* const metagraph = new MetagraphClient({
|
|
320
|
+
* ml0Url: 'http://localhost:9200',
|
|
321
|
+
* dl1Urls: ['http://node1:9400', 'http://node2:9400'],
|
|
322
|
+
* });
|
|
323
|
+
* const signed = await signTransaction(payload, privateKey);
|
|
324
|
+
* await metagraph.submitData(signed);
|
|
325
|
+
* ```
|
|
326
|
+
*/
|
|
327
|
+
async submitData(signed) {
|
|
328
|
+
if (this.dl1Clients.length === 0) {
|
|
329
|
+
throw new Error('dl1Url or dl1Urls is required for submitData');
|
|
330
|
+
}
|
|
331
|
+
const request = (0, transaction_js_1.createDataTransactionRequest)(signed);
|
|
332
|
+
if (this.dl1Clients.length === 1) {
|
|
333
|
+
return this.dl1Clients[0].post('/data', request);
|
|
334
|
+
}
|
|
335
|
+
// Try all DL1 nodes concurrently, return first success
|
|
336
|
+
const errors = [];
|
|
337
|
+
return new Promise((resolve, reject) => {
|
|
338
|
+
let settled = false;
|
|
339
|
+
let pending = this.dl1Clients.length;
|
|
340
|
+
for (const client of this.dl1Clients) {
|
|
341
|
+
client.post('/data', request).then((result) => { if (!settled) {
|
|
342
|
+
settled = true;
|
|
343
|
+
resolve(result);
|
|
344
|
+
} }, (err) => {
|
|
345
|
+
errors.push(err instanceof Error ? err : new Error(String(err)));
|
|
346
|
+
pending--;
|
|
347
|
+
if (pending === 0 && !settled) {
|
|
348
|
+
reject(new Error('All DL1 nodes failed: ' + errors.map(e => e.message).join('; ')));
|
|
349
|
+
}
|
|
350
|
+
});
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
}
|
|
300
354
|
}
|
|
355
|
+
exports.MetagraphClient = MetagraphClient;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Normalize OttoChain Messages for Signing
|
|
3
4
|
*
|
|
@@ -17,6 +18,8 @@
|
|
|
17
18
|
* - `List.empty` → `[]`
|
|
18
19
|
* - `Map.empty` → `{}`
|
|
19
20
|
*/
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.normalizeMessage = exports.normalizeArchiveStateMachine = exports.normalizeTransitionStateMachine = exports.normalizeCreateStateMachine = void 0;
|
|
20
23
|
/**
|
|
21
24
|
* Normalize a State object for wire format
|
|
22
25
|
*/
|
|
@@ -80,7 +83,7 @@ function normalizeDefinition(def) {
|
|
|
80
83
|
* // message now has parentFiberId: null, definition.metadata: null, etc.
|
|
81
84
|
* ```
|
|
82
85
|
*/
|
|
83
|
-
|
|
86
|
+
function normalizeCreateStateMachine(msg) {
|
|
84
87
|
return {
|
|
85
88
|
fiberId: msg.fiberId,
|
|
86
89
|
definition: normalizeDefinition(msg.definition),
|
|
@@ -88,10 +91,11 @@ export function normalizeCreateStateMachine(msg) {
|
|
|
88
91
|
parentFiberId: msg.parentFiberId ?? null,
|
|
89
92
|
};
|
|
90
93
|
}
|
|
94
|
+
exports.normalizeCreateStateMachine = normalizeCreateStateMachine;
|
|
91
95
|
/**
|
|
92
96
|
* Normalize a TransitionStateMachine message for wire format
|
|
93
97
|
*/
|
|
94
|
-
|
|
98
|
+
function normalizeTransitionStateMachine(msg) {
|
|
95
99
|
return {
|
|
96
100
|
fiberId: msg.fiberId,
|
|
97
101
|
eventName: msg.eventName,
|
|
@@ -99,15 +103,17 @@ export function normalizeTransitionStateMachine(msg) {
|
|
|
99
103
|
fiberOrdinal: msg.fiberOrdinal,
|
|
100
104
|
};
|
|
101
105
|
}
|
|
106
|
+
exports.normalizeTransitionStateMachine = normalizeTransitionStateMachine;
|
|
102
107
|
/**
|
|
103
108
|
* Normalize an ArchiveStateMachine message for wire format
|
|
104
109
|
*/
|
|
105
|
-
|
|
110
|
+
function normalizeArchiveStateMachine(msg) {
|
|
106
111
|
return {
|
|
107
112
|
fiberId: msg.fiberId,
|
|
108
113
|
reason: msg.reason ?? null,
|
|
109
114
|
};
|
|
110
115
|
}
|
|
116
|
+
exports.normalizeArchiveStateMachine = normalizeArchiveStateMachine;
|
|
111
117
|
/**
|
|
112
118
|
* Normalize any OttochainMessage wrapper for wire format.
|
|
113
119
|
*
|
|
@@ -125,7 +131,7 @@ export function normalizeArchiveStateMachine(msg) {
|
|
|
125
131
|
* const signed = await signDataUpdate(normalized, privateKey);
|
|
126
132
|
* ```
|
|
127
133
|
*/
|
|
128
|
-
|
|
134
|
+
function normalizeMessage(message) {
|
|
129
135
|
if ('CreateStateMachine' in message) {
|
|
130
136
|
return { CreateStateMachine: normalizeCreateStateMachine(message.CreateStateMachine) };
|
|
131
137
|
}
|
|
@@ -138,3 +144,4 @@ export function normalizeMessage(message) {
|
|
|
138
144
|
// CreateScript and InvokeScript — pass through (no optional fields)
|
|
139
145
|
return message;
|
|
140
146
|
}
|
|
147
|
+
exports.normalizeMessage = normalizeMessage;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Snapshot decoder for ottochain on-chain state
|
|
3
4
|
*
|
|
@@ -9,7 +10,9 @@
|
|
|
9
10
|
* @see modules/models/src/main/scala/xyz/kd5ujc/schema/OnChain.scala
|
|
10
11
|
* @packageDocumentation
|
|
11
12
|
*/
|
|
12
|
-
|
|
13
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.getScriptInvocations = exports.getEventReceipts = exports.getLogsForFiber = exports.extractOnChainState = exports.getLatestOnChainState = exports.getSnapshotOnChainState = exports.decodeOnChainState = void 0;
|
|
15
|
+
const network_1 = require("@constellation-network/metagraph-sdk/network");
|
|
13
16
|
/**
|
|
14
17
|
* Decode on-chain state from binary (JsonBinaryCodec format).
|
|
15
18
|
*
|
|
@@ -19,10 +22,11 @@ import { HttpClient } from '../metakit/network/client.js';
|
|
|
19
22
|
* @param bytes - UTF-8 encoded canonical JSON bytes
|
|
20
23
|
* @returns Decoded OnChain state
|
|
21
24
|
*/
|
|
22
|
-
|
|
25
|
+
function decodeOnChainState(bytes) {
|
|
23
26
|
const json = new TextDecoder().decode(bytes);
|
|
24
27
|
return JSON.parse(json);
|
|
25
28
|
}
|
|
29
|
+
exports.decodeOnChainState = decodeOnChainState;
|
|
26
30
|
/**
|
|
27
31
|
* Fetch and decode the on-chain state from a specific snapshot ordinal.
|
|
28
32
|
*
|
|
@@ -30,26 +34,28 @@ export function decodeOnChainState(bytes) {
|
|
|
30
34
|
* @param ordinal - Snapshot ordinal number
|
|
31
35
|
* @returns Decoded OnChain state, or null if no data application part
|
|
32
36
|
*/
|
|
33
|
-
|
|
34
|
-
const client = new HttpClient(ml0BaseUrl);
|
|
37
|
+
async function getSnapshotOnChainState(ml0BaseUrl, ordinal) {
|
|
38
|
+
const client = new network_1.HttpClient(ml0BaseUrl);
|
|
35
39
|
const snapshot = await client.get(`/snapshots/${ordinal}`);
|
|
36
40
|
return extractOnChainState(snapshot);
|
|
37
41
|
}
|
|
42
|
+
exports.getSnapshotOnChainState = getSnapshotOnChainState;
|
|
38
43
|
/**
|
|
39
44
|
* Fetch and decode the on-chain state from the latest snapshot.
|
|
40
45
|
*
|
|
41
46
|
* @param ml0BaseUrl - Metagraph L0 node base URL (e.g., 'http://localhost:9200')
|
|
42
47
|
* @returns Decoded OnChain state, or null if no data application part
|
|
43
48
|
*/
|
|
44
|
-
|
|
45
|
-
const client = new HttpClient(ml0BaseUrl);
|
|
49
|
+
async function getLatestOnChainState(ml0BaseUrl) {
|
|
50
|
+
const client = new network_1.HttpClient(ml0BaseUrl);
|
|
46
51
|
const snapshot = await client.get('/snapshots/latest');
|
|
47
52
|
return extractOnChainState(snapshot);
|
|
48
53
|
}
|
|
54
|
+
exports.getLatestOnChainState = getLatestOnChainState;
|
|
49
55
|
/**
|
|
50
56
|
* Extract and decode on-chain state from a snapshot response.
|
|
51
57
|
*/
|
|
52
|
-
|
|
58
|
+
function extractOnChainState(snapshot) {
|
|
53
59
|
const dataPart = snapshot.value?.dataApplication;
|
|
54
60
|
if (!dataPart?.onChainState) {
|
|
55
61
|
return null;
|
|
@@ -57,6 +63,7 @@ export function extractOnChainState(snapshot) {
|
|
|
57
63
|
const bytes = new Uint8Array(dataPart.onChainState);
|
|
58
64
|
return decodeOnChainState(bytes);
|
|
59
65
|
}
|
|
66
|
+
exports.extractOnChainState = extractOnChainState;
|
|
60
67
|
// ---------------------------------------------------------------------------
|
|
61
68
|
// Log filtering helpers
|
|
62
69
|
// ---------------------------------------------------------------------------
|
|
@@ -67,9 +74,10 @@ export function extractOnChainState(snapshot) {
|
|
|
67
74
|
* @param fiberId - Fiber UUID to filter by
|
|
68
75
|
* @returns Array of log entries for the fiber, or empty array
|
|
69
76
|
*/
|
|
70
|
-
|
|
77
|
+
function getLogsForFiber(onChain, fiberId) {
|
|
71
78
|
return onChain.latestLogs[fiberId] ?? [];
|
|
72
79
|
}
|
|
80
|
+
exports.getLogsForFiber = getLogsForFiber;
|
|
73
81
|
/**
|
|
74
82
|
* Get EventReceipt log entries for a specific fiber.
|
|
75
83
|
*
|
|
@@ -80,10 +88,11 @@ export function getLogsForFiber(onChain, fiberId) {
|
|
|
80
88
|
* @param fiberId - Fiber UUID to filter by
|
|
81
89
|
* @returns Array of EventReceipt entries
|
|
82
90
|
*/
|
|
83
|
-
|
|
91
|
+
function getEventReceipts(onChain, fiberId) {
|
|
84
92
|
return getLogsForFiber(onChain, fiberId)
|
|
85
93
|
.filter((entry) => 'eventName' in entry && 'success' in entry);
|
|
86
94
|
}
|
|
95
|
+
exports.getEventReceipts = getEventReceipts;
|
|
87
96
|
/**
|
|
88
97
|
* Get OracleInvocation log entries for a specific fiber.
|
|
89
98
|
*
|
|
@@ -94,7 +103,8 @@ export function getEventReceipts(onChain, fiberId) {
|
|
|
94
103
|
* @param fiberId - Fiber UUID to filter by
|
|
95
104
|
* @returns Array of OracleInvocation entries
|
|
96
105
|
*/
|
|
97
|
-
|
|
106
|
+
function getScriptInvocations(onChain, fiberId) {
|
|
98
107
|
return getLogsForFiber(onChain, fiberId)
|
|
99
108
|
.filter((entry) => 'method' in entry && 'result' in entry);
|
|
100
109
|
}
|
|
110
|
+
exports.getScriptInvocations = getScriptInvocations;
|