@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
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Transaction Helpers for Self-Signed Mode
|
|
4
|
+
*
|
|
5
|
+
* These helpers create properly formatted payloads for the bridge's
|
|
6
|
+
* self-signed mode, where clients sign their own transactions.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.getPublicKeyForRegistration = exports.addTransactionSignature = exports.createDataTransactionRequest = exports.signTransaction = exports.createInvokeScriptPayload = exports.createScriptPayload = exports.createArchivePayload = exports.createTransitionPayload = exports.createStateMachinePayload = void 0;
|
|
10
|
+
const metagraph_sdk_1 = require("@constellation-network/metagraph-sdk");
|
|
11
|
+
/**
|
|
12
|
+
* Create a new state machine fiber payload.
|
|
13
|
+
*
|
|
14
|
+
* @param params - State machine creation parameters
|
|
15
|
+
* @returns A CreateStateMachine message ready for signing
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```typescript
|
|
19
|
+
* const create = createStateMachinePayload({
|
|
20
|
+
* fiberId: crypto.randomUUID(),
|
|
21
|
+
* definition: {
|
|
22
|
+
* states: { CREATED: { on: { activate: 'ACTIVE' } }, ACTIVE: {} },
|
|
23
|
+
* initialState: 'CREATED',
|
|
24
|
+
* },
|
|
25
|
+
* initialData: { owner: myAddress },
|
|
26
|
+
* });
|
|
27
|
+
* const signed = await signTransaction(create, privateKey);
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
function createStateMachinePayload(params) {
|
|
31
|
+
return {
|
|
32
|
+
CreateStateMachine: {
|
|
33
|
+
fiberId: params.fiberId,
|
|
34
|
+
definition: params.definition,
|
|
35
|
+
initialData: params.initialData ?? {},
|
|
36
|
+
...(params.parentFiberId ? { parentFiberId: params.parentFiberId } : {}),
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
exports.createStateMachinePayload = createStateMachinePayload;
|
|
41
|
+
/**
|
|
42
|
+
* Create a transition payload ready for signing.
|
|
43
|
+
*
|
|
44
|
+
* This creates the exact message structure expected by the metagraph.
|
|
45
|
+
*
|
|
46
|
+
* @param params - Transition parameters
|
|
47
|
+
* @returns A TransitionStateMachine message ready for signing
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```typescript
|
|
51
|
+
* const transition = createTransitionPayload({
|
|
52
|
+
* fiberId: 'my-fiber-id',
|
|
53
|
+
* eventName: 'activate',
|
|
54
|
+
* payload: {},
|
|
55
|
+
* targetSequenceNumber: 0,
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
function createTransitionPayload(params) {
|
|
60
|
+
return {
|
|
61
|
+
TransitionStateMachine: {
|
|
62
|
+
fiberId: params.fiberId,
|
|
63
|
+
eventName: params.eventName,
|
|
64
|
+
payload: params.payload ?? {},
|
|
65
|
+
targetSequenceNumber: params.targetSequenceNumber,
|
|
66
|
+
},
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
exports.createTransitionPayload = createTransitionPayload;
|
|
70
|
+
/**
|
|
71
|
+
* Create an archive payload ready for signing.
|
|
72
|
+
*
|
|
73
|
+
* @param params - Archive parameters
|
|
74
|
+
* @returns An ArchiveStateMachine message ready for signing
|
|
75
|
+
*/
|
|
76
|
+
function createArchivePayload(params) {
|
|
77
|
+
return {
|
|
78
|
+
ArchiveStateMachine: {
|
|
79
|
+
fiberId: params.fiberId,
|
|
80
|
+
targetSequenceNumber: params.targetSequenceNumber,
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
exports.createArchivePayload = createArchivePayload;
|
|
85
|
+
/**
|
|
86
|
+
* Create a new script fiber payload.
|
|
87
|
+
*
|
|
88
|
+
* Note: `initialState` must be an object or array, NOT a primitive.
|
|
89
|
+
*
|
|
90
|
+
* @param params - Script creation parameters
|
|
91
|
+
* @returns A CreateScript message ready for signing
|
|
92
|
+
*
|
|
93
|
+
* @example
|
|
94
|
+
* ```typescript
|
|
95
|
+
* const script = createScriptPayload({
|
|
96
|
+
* fiberId: crypto.randomUUID(),
|
|
97
|
+
* scriptProgram: {
|
|
98
|
+
* methods: {
|
|
99
|
+
* increment: { "+": [{ var: "state.value" }, 1] },
|
|
100
|
+
* },
|
|
101
|
+
* },
|
|
102
|
+
* initialState: { value: 0 },
|
|
103
|
+
* accessControl: { type: 'open' },
|
|
104
|
+
* });
|
|
105
|
+
* const signed = await signTransaction(script, privateKey);
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
function createScriptPayload(params) {
|
|
109
|
+
return {
|
|
110
|
+
CreateScript: {
|
|
111
|
+
fiberId: params.fiberId,
|
|
112
|
+
scriptProgram: params.scriptProgram,
|
|
113
|
+
initialState: params.initialState ?? null,
|
|
114
|
+
accessControl: params.accessControl ?? { type: 'open' },
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
exports.createScriptPayload = createScriptPayload;
|
|
119
|
+
/**
|
|
120
|
+
* Create an invoke script payload ready for signing.
|
|
121
|
+
*
|
|
122
|
+
* @param params - Invoke script parameters
|
|
123
|
+
* @returns An InvokeScript message ready for signing
|
|
124
|
+
*/
|
|
125
|
+
function createInvokeScriptPayload(params) {
|
|
126
|
+
return {
|
|
127
|
+
InvokeScript: {
|
|
128
|
+
fiberId: params.fiberId,
|
|
129
|
+
method: params.method,
|
|
130
|
+
args: params.args ?? {},
|
|
131
|
+
targetSequenceNumber: params.targetSequenceNumber,
|
|
132
|
+
},
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
exports.createInvokeScriptPayload = createInvokeScriptPayload;
|
|
136
|
+
/**
|
|
137
|
+
* Sign a transaction payload for self-signed mode.
|
|
138
|
+
*
|
|
139
|
+
* This creates a Signed<T> object with the exact format expected by the bridge's
|
|
140
|
+
* `/agent/transition` endpoint when using self-signed mode.
|
|
141
|
+
*
|
|
142
|
+
* @param message - The message to sign (e.g., from createTransitionPayload)
|
|
143
|
+
* @param privateKey - The private key in hex format (64 characters)
|
|
144
|
+
* @returns A signed object ready for submission to the bridge
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* import { createTransitionPayload, signTransaction, generateKeyPair } from '@ottochain/sdk';
|
|
149
|
+
*
|
|
150
|
+
* const keyPair = generateKeyPair();
|
|
151
|
+
*
|
|
152
|
+
* // Create the transition message
|
|
153
|
+
* const transition = createTransitionPayload({
|
|
154
|
+
* fiberId: 'my-fiber-id',
|
|
155
|
+
* eventName: 'activate',
|
|
156
|
+
* payload: {},
|
|
157
|
+
* targetSequenceNumber: 0,
|
|
158
|
+
* });
|
|
159
|
+
*
|
|
160
|
+
* // Sign it
|
|
161
|
+
* const signedUpdate = await signTransaction(transition, keyPair.privateKey);
|
|
162
|
+
*
|
|
163
|
+
* // Submit to bridge
|
|
164
|
+
* await fetch('https://bridge/agent/transition', {
|
|
165
|
+
* method: 'POST',
|
|
166
|
+
* body: JSON.stringify({
|
|
167
|
+
* fiberId: 'my-fiber-id',
|
|
168
|
+
* signedUpdate,
|
|
169
|
+
* }),
|
|
170
|
+
* });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
async function signTransaction(message, privateKey) {
|
|
174
|
+
const proof = await (0, metagraph_sdk_1.signDataUpdate)(message, privateKey);
|
|
175
|
+
return {
|
|
176
|
+
value: message,
|
|
177
|
+
proofs: [proof],
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
exports.signTransaction = signTransaction;
|
|
181
|
+
/**
|
|
182
|
+
* Wrap a signed transaction in the DataTransactionRequest format
|
|
183
|
+
* expected by tessellation's DL1 `/data` endpoint.
|
|
184
|
+
*
|
|
185
|
+
* @param signed - A signed transaction from signTransaction()
|
|
186
|
+
* @returns Payload ready for POST to DL1 `/data`
|
|
187
|
+
*
|
|
188
|
+
* @example
|
|
189
|
+
* ```typescript
|
|
190
|
+
* const transition = createTransitionPayload({ ... });
|
|
191
|
+
* const signed = await signTransaction(transition, privateKey);
|
|
192
|
+
* const payload = createDataTransactionRequest(signed);
|
|
193
|
+
*
|
|
194
|
+
* // Submit directly to DL1
|
|
195
|
+
* await fetch('http://dl1-node:9400/data', {
|
|
196
|
+
* method: 'POST',
|
|
197
|
+
* headers: { 'Content-Type': 'application/json' },
|
|
198
|
+
* body: JSON.stringify(payload),
|
|
199
|
+
* });
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
function createDataTransactionRequest(signed) {
|
|
203
|
+
return { data: signed, fee: null };
|
|
204
|
+
}
|
|
205
|
+
exports.createDataTransactionRequest = createDataTransactionRequest;
|
|
206
|
+
/**
|
|
207
|
+
* Add an additional signature to a signed transaction.
|
|
208
|
+
*
|
|
209
|
+
* Use this for multi-signature scenarios where multiple parties
|
|
210
|
+
* need to sign the same transaction.
|
|
211
|
+
*
|
|
212
|
+
* @param signed - The already-signed transaction
|
|
213
|
+
* @param privateKey - Additional signer's private key
|
|
214
|
+
* @returns Transaction with additional signature
|
|
215
|
+
*/
|
|
216
|
+
async function addTransactionSignature(signed, privateKey) {
|
|
217
|
+
const newProof = await (0, metagraph_sdk_1.signDataUpdate)(signed.value, privateKey);
|
|
218
|
+
return {
|
|
219
|
+
value: signed.value,
|
|
220
|
+
proofs: [...signed.proofs, newProof],
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
exports.addTransactionSignature = addTransactionSignature;
|
|
224
|
+
/**
|
|
225
|
+
* Get the public key ID from a private key in the format expected by registration.
|
|
226
|
+
*
|
|
227
|
+
* The bridge's self-signed registration expects the public key as a 128-character
|
|
228
|
+
* hex string (without the 04 prefix).
|
|
229
|
+
*
|
|
230
|
+
* @param privateKey - Private key in hex format
|
|
231
|
+
* @returns Public key ID (128 chars, no prefix)
|
|
232
|
+
*
|
|
233
|
+
* @example
|
|
234
|
+
* ```typescript
|
|
235
|
+
* const keyPair = generateKeyPair();
|
|
236
|
+
* const publicKeyId = getPublicKeyForRegistration(keyPair.privateKey);
|
|
237
|
+
*
|
|
238
|
+
* await fetch('https://bridge/agent/register', {
|
|
239
|
+
* method: 'POST',
|
|
240
|
+
* body: JSON.stringify({
|
|
241
|
+
* signingMode: 'self',
|
|
242
|
+
* publicKey: publicKeyId,
|
|
243
|
+
* displayName: 'My Agent',
|
|
244
|
+
* }),
|
|
245
|
+
* });
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
function getPublicKeyForRegistration(privateKey) {
|
|
249
|
+
return (0, metagraph_sdk_1.getPublicKeyId)(privateKey);
|
|
250
|
+
}
|
|
251
|
+
exports.getPublicKeyForRegistration = getPublicKeyForRegistration;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Backward-compatible verify wrapper.
|
|
4
|
+
*
|
|
5
|
+
* The package embeds `mode: "standard"|"dataUpdate"` in signed objects and
|
|
6
|
+
* its verify() ignores the `isDataUpdate` parameter when `mode` is present.
|
|
7
|
+
* This wrapper strips `mode` so callers' explicit `isDataUpdate` always wins.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.verify = void 0;
|
|
11
|
+
const metagraph_sdk_1 = require("@constellation-network/metagraph-sdk");
|
|
12
|
+
function verify(signed, isDataUpdate) {
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
const { mode, ...rest } = signed;
|
|
15
|
+
return (0, metagraph_sdk_1.verify)(rest, isDataUpdate);
|
|
16
|
+
}
|
|
17
|
+
exports.verify = verify;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Contracts Application
|
|
3
4
|
*
|
|
@@ -17,26 +18,43 @@
|
|
|
17
18
|
*
|
|
18
19
|
* @packageDocumentation
|
|
19
20
|
*/
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.getEscrowDefinition = exports.getContractDefinition = exports.CONTRACT_DEFINITIONS = exports.contractStateToJSON = exports.contractStateFromJSON = exports.ContractDefinition = exports.DisputeContractRequest = exports.RejectContractRequest = exports.CompleteContractRequest = exports.AcceptContractRequest = exports.ProposeContractRequest = exports.Contract = exports.ContractState = void 0;
|
|
20
26
|
// Re-export generated protobuf types (source of truth)
|
|
21
|
-
|
|
27
|
+
var contract_js_1 = require("../../generated/ottochain/apps/contracts/v1/contract.js");
|
|
28
|
+
Object.defineProperty(exports, "ContractState", { enumerable: true, get: function () { return contract_js_1.ContractState; } });
|
|
29
|
+
Object.defineProperty(exports, "Contract", { enumerable: true, get: function () { return contract_js_1.Contract; } });
|
|
30
|
+
Object.defineProperty(exports, "ProposeContractRequest", { enumerable: true, get: function () { return contract_js_1.ProposeContractRequest; } });
|
|
31
|
+
Object.defineProperty(exports, "AcceptContractRequest", { enumerable: true, get: function () { return contract_js_1.AcceptContractRequest; } });
|
|
32
|
+
Object.defineProperty(exports, "CompleteContractRequest", { enumerable: true, get: function () { return contract_js_1.CompleteContractRequest; } });
|
|
33
|
+
Object.defineProperty(exports, "RejectContractRequest", { enumerable: true, get: function () { return contract_js_1.RejectContractRequest; } });
|
|
34
|
+
Object.defineProperty(exports, "DisputeContractRequest", { enumerable: true, get: function () { return contract_js_1.DisputeContractRequest; } });
|
|
35
|
+
Object.defineProperty(exports, "ContractDefinition", { enumerable: true, get: function () { return contract_js_1.ContractDefinition; } });
|
|
36
|
+
Object.defineProperty(exports, "contractStateFromJSON", { enumerable: true, get: function () { return contract_js_1.contractStateFromJSON; } });
|
|
37
|
+
Object.defineProperty(exports, "contractStateToJSON", { enumerable: true, get: function () { return contract_js_1.contractStateToJSON; } });
|
|
22
38
|
// ---------------------------------------------------------------------------
|
|
23
39
|
// State Machine JSON Definitions
|
|
24
40
|
// ---------------------------------------------------------------------------
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
Contract:
|
|
29
|
-
Escrow:
|
|
41
|
+
const contract_json_1 = __importDefault(require("./state-machines/contract.json"));
|
|
42
|
+
const escrow_json_1 = __importDefault(require("./state-machines/escrow.json"));
|
|
43
|
+
exports.CONTRACT_DEFINITIONS = {
|
|
44
|
+
Contract: contract_json_1.default,
|
|
45
|
+
Escrow: escrow_json_1.default,
|
|
30
46
|
};
|
|
31
47
|
/**
|
|
32
48
|
* Get the contract state machine definition.
|
|
33
49
|
*/
|
|
34
|
-
|
|
35
|
-
return
|
|
50
|
+
function getContractDefinition() {
|
|
51
|
+
return contract_json_1.default;
|
|
36
52
|
}
|
|
53
|
+
exports.getContractDefinition = getContractDefinition;
|
|
37
54
|
/**
|
|
38
55
|
* Get the escrow state machine definition.
|
|
39
56
|
*/
|
|
40
|
-
|
|
41
|
-
return
|
|
57
|
+
function getEscrowDefinition() {
|
|
58
|
+
return escrow_json_1.default;
|
|
42
59
|
}
|
|
60
|
+
exports.getEscrowDefinition = getEscrowDefinition;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/**
|
|
2
3
|
* Corporate Governance Application
|
|
3
4
|
*
|
|
@@ -18,40 +19,94 @@
|
|
|
18
19
|
*
|
|
19
20
|
* @packageDocumentation
|
|
20
21
|
*/
|
|
22
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
23
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.getCorporateDefinition = exports.CORPORATE_DEFINITIONS = exports.resolutionStatusToJSON = exports.resolutionStatusFromJSON = exports.boardMeetingTypeToJSON = exports.boardMeetingTypeFromJSON = exports.officerStatusToJSON = exports.officerStatusFromJSON = exports.directorStatusToJSON = exports.directorStatusFromJSON = exports.entityStateToJSON = exports.entityStateFromJSON = exports.entityTypeToJSON = exports.entityTypeFromJSON = exports.ProposeResolutionRequest = exports.IssueSharesRequest = exports.AppointDirectorRequest = exports.CreateEntityRequest = exports.ComplianceRequirement = exports.FilingRecord = exports.CorporateCompliance = exports.SecurityTransfer = exports.SecurityIssuance = exports.CorporateSecurities = exports.ResolutionVote = exports.CorporateResolution = exports.ShareHolding = exports.Shareholder = exports.CorporateShareholders = exports.OfficerAction = exports.Officer = exports.CorporateOfficers = exports.MeetingAttendee = exports.BoardMeeting = exports.QuorumRules = exports.SeatInfo = exports.Director = exports.CorporateBoard = exports.ShareStructure = exports.Incorporator = exports.RegisteredAgent = exports.CorporateEntity = exports.ShareClass = exports.Jurisdiction = exports.ResolutionStatus = exports.BoardMeetingType = exports.OfficerStatus = exports.DirectorStatus = exports.EntityState = exports.EntityType = void 0;
|
|
21
27
|
// Re-export generated protobuf types (source of truth)
|
|
22
|
-
|
|
28
|
+
var corporate_js_1 = require("../../generated/ottochain/apps/corporate/v1/corporate.js");
|
|
29
|
+
Object.defineProperty(exports, "EntityType", { enumerable: true, get: function () { return corporate_js_1.EntityType; } });
|
|
30
|
+
Object.defineProperty(exports, "EntityState", { enumerable: true, get: function () { return corporate_js_1.EntityState; } });
|
|
31
|
+
Object.defineProperty(exports, "DirectorStatus", { enumerable: true, get: function () { return corporate_js_1.DirectorStatus; } });
|
|
32
|
+
Object.defineProperty(exports, "OfficerStatus", { enumerable: true, get: function () { return corporate_js_1.OfficerStatus; } });
|
|
33
|
+
Object.defineProperty(exports, "BoardMeetingType", { enumerable: true, get: function () { return corporate_js_1.BoardMeetingType; } });
|
|
34
|
+
Object.defineProperty(exports, "ResolutionStatus", { enumerable: true, get: function () { return corporate_js_1.ResolutionStatus; } });
|
|
35
|
+
Object.defineProperty(exports, "Jurisdiction", { enumerable: true, get: function () { return corporate_js_1.Jurisdiction; } });
|
|
36
|
+
Object.defineProperty(exports, "ShareClass", { enumerable: true, get: function () { return corporate_js_1.ShareClass; } });
|
|
37
|
+
Object.defineProperty(exports, "CorporateEntity", { enumerable: true, get: function () { return corporate_js_1.CorporateEntity; } });
|
|
38
|
+
Object.defineProperty(exports, "RegisteredAgent", { enumerable: true, get: function () { return corporate_js_1.RegisteredAgent; } });
|
|
39
|
+
Object.defineProperty(exports, "Incorporator", { enumerable: true, get: function () { return corporate_js_1.Incorporator; } });
|
|
40
|
+
Object.defineProperty(exports, "ShareStructure", { enumerable: true, get: function () { return corporate_js_1.ShareStructure; } });
|
|
41
|
+
Object.defineProperty(exports, "CorporateBoard", { enumerable: true, get: function () { return corporate_js_1.CorporateBoard; } });
|
|
42
|
+
Object.defineProperty(exports, "Director", { enumerable: true, get: function () { return corporate_js_1.Director; } });
|
|
43
|
+
Object.defineProperty(exports, "SeatInfo", { enumerable: true, get: function () { return corporate_js_1.SeatInfo; } });
|
|
44
|
+
Object.defineProperty(exports, "QuorumRules", { enumerable: true, get: function () { return corporate_js_1.QuorumRules; } });
|
|
45
|
+
Object.defineProperty(exports, "BoardMeeting", { enumerable: true, get: function () { return corporate_js_1.BoardMeeting; } });
|
|
46
|
+
Object.defineProperty(exports, "MeetingAttendee", { enumerable: true, get: function () { return corporate_js_1.MeetingAttendee; } });
|
|
47
|
+
Object.defineProperty(exports, "CorporateOfficers", { enumerable: true, get: function () { return corporate_js_1.CorporateOfficers; } });
|
|
48
|
+
Object.defineProperty(exports, "Officer", { enumerable: true, get: function () { return corporate_js_1.Officer; } });
|
|
49
|
+
Object.defineProperty(exports, "OfficerAction", { enumerable: true, get: function () { return corporate_js_1.OfficerAction; } });
|
|
50
|
+
Object.defineProperty(exports, "CorporateShareholders", { enumerable: true, get: function () { return corporate_js_1.CorporateShareholders; } });
|
|
51
|
+
Object.defineProperty(exports, "Shareholder", { enumerable: true, get: function () { return corporate_js_1.Shareholder; } });
|
|
52
|
+
Object.defineProperty(exports, "ShareHolding", { enumerable: true, get: function () { return corporate_js_1.ShareHolding; } });
|
|
53
|
+
Object.defineProperty(exports, "CorporateResolution", { enumerable: true, get: function () { return corporate_js_1.CorporateResolution; } });
|
|
54
|
+
Object.defineProperty(exports, "ResolutionVote", { enumerable: true, get: function () { return corporate_js_1.ResolutionVote; } });
|
|
55
|
+
Object.defineProperty(exports, "CorporateSecurities", { enumerable: true, get: function () { return corporate_js_1.CorporateSecurities; } });
|
|
56
|
+
Object.defineProperty(exports, "SecurityIssuance", { enumerable: true, get: function () { return corporate_js_1.SecurityIssuance; } });
|
|
57
|
+
Object.defineProperty(exports, "SecurityTransfer", { enumerable: true, get: function () { return corporate_js_1.SecurityTransfer; } });
|
|
58
|
+
Object.defineProperty(exports, "CorporateCompliance", { enumerable: true, get: function () { return corporate_js_1.CorporateCompliance; } });
|
|
59
|
+
Object.defineProperty(exports, "FilingRecord", { enumerable: true, get: function () { return corporate_js_1.FilingRecord; } });
|
|
60
|
+
Object.defineProperty(exports, "ComplianceRequirement", { enumerable: true, get: function () { return corporate_js_1.ComplianceRequirement; } });
|
|
61
|
+
Object.defineProperty(exports, "CreateEntityRequest", { enumerable: true, get: function () { return corporate_js_1.CreateEntityRequest; } });
|
|
62
|
+
Object.defineProperty(exports, "AppointDirectorRequest", { enumerable: true, get: function () { return corporate_js_1.AppointDirectorRequest; } });
|
|
63
|
+
Object.defineProperty(exports, "IssueSharesRequest", { enumerable: true, get: function () { return corporate_js_1.IssueSharesRequest; } });
|
|
64
|
+
Object.defineProperty(exports, "ProposeResolutionRequest", { enumerable: true, get: function () { return corporate_js_1.ProposeResolutionRequest; } });
|
|
65
|
+
Object.defineProperty(exports, "entityTypeFromJSON", { enumerable: true, get: function () { return corporate_js_1.entityTypeFromJSON; } });
|
|
66
|
+
Object.defineProperty(exports, "entityTypeToJSON", { enumerable: true, get: function () { return corporate_js_1.entityTypeToJSON; } });
|
|
67
|
+
Object.defineProperty(exports, "entityStateFromJSON", { enumerable: true, get: function () { return corporate_js_1.entityStateFromJSON; } });
|
|
68
|
+
Object.defineProperty(exports, "entityStateToJSON", { enumerable: true, get: function () { return corporate_js_1.entityStateToJSON; } });
|
|
69
|
+
Object.defineProperty(exports, "directorStatusFromJSON", { enumerable: true, get: function () { return corporate_js_1.directorStatusFromJSON; } });
|
|
70
|
+
Object.defineProperty(exports, "directorStatusToJSON", { enumerable: true, get: function () { return corporate_js_1.directorStatusToJSON; } });
|
|
71
|
+
Object.defineProperty(exports, "officerStatusFromJSON", { enumerable: true, get: function () { return corporate_js_1.officerStatusFromJSON; } });
|
|
72
|
+
Object.defineProperty(exports, "officerStatusToJSON", { enumerable: true, get: function () { return corporate_js_1.officerStatusToJSON; } });
|
|
73
|
+
Object.defineProperty(exports, "boardMeetingTypeFromJSON", { enumerable: true, get: function () { return corporate_js_1.boardMeetingTypeFromJSON; } });
|
|
74
|
+
Object.defineProperty(exports, "boardMeetingTypeToJSON", { enumerable: true, get: function () { return corporate_js_1.boardMeetingTypeToJSON; } });
|
|
75
|
+
Object.defineProperty(exports, "resolutionStatusFromJSON", { enumerable: true, get: function () { return corporate_js_1.resolutionStatusFromJSON; } });
|
|
76
|
+
Object.defineProperty(exports, "resolutionStatusToJSON", { enumerable: true, get: function () { return corporate_js_1.resolutionStatusToJSON; } });
|
|
23
77
|
// ---------------------------------------------------------------------------
|
|
24
78
|
// State Machine JSON Definitions
|
|
25
79
|
// ---------------------------------------------------------------------------
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
Entity:
|
|
38
|
-
Board:
|
|
39
|
-
Shareholders:
|
|
40
|
-
Officers:
|
|
41
|
-
Securities:
|
|
42
|
-
Compliance:
|
|
43
|
-
Bylaws:
|
|
44
|
-
Committee:
|
|
45
|
-
Proxy:
|
|
46
|
-
Resolution:
|
|
80
|
+
const corporate_entity_json_1 = __importDefault(require("./state-machines/corporate-entity.json"));
|
|
81
|
+
const corporate_board_json_1 = __importDefault(require("./state-machines/corporate-board.json"));
|
|
82
|
+
const corporate_shareholders_json_1 = __importDefault(require("./state-machines/corporate-shareholders.json"));
|
|
83
|
+
const corporate_officers_json_1 = __importDefault(require("./state-machines/corporate-officers.json"));
|
|
84
|
+
const corporate_securities_json_1 = __importDefault(require("./state-machines/corporate-securities.json"));
|
|
85
|
+
const corporate_compliance_json_1 = __importDefault(require("./state-machines/corporate-compliance.json"));
|
|
86
|
+
const corporate_bylaws_json_1 = __importDefault(require("./state-machines/corporate-bylaws.json"));
|
|
87
|
+
const corporate_committee_json_1 = __importDefault(require("./state-machines/corporate-committee.json"));
|
|
88
|
+
const corporate_proxy_json_1 = __importDefault(require("./state-machines/corporate-proxy.json"));
|
|
89
|
+
const corporate_resolution_json_1 = __importDefault(require("./state-machines/corporate-resolution.json"));
|
|
90
|
+
exports.CORPORATE_DEFINITIONS = {
|
|
91
|
+
Entity: corporate_entity_json_1.default,
|
|
92
|
+
Board: corporate_board_json_1.default,
|
|
93
|
+
Shareholders: corporate_shareholders_json_1.default,
|
|
94
|
+
Officers: corporate_officers_json_1.default,
|
|
95
|
+
Securities: corporate_securities_json_1.default,
|
|
96
|
+
Compliance: corporate_compliance_json_1.default,
|
|
97
|
+
Bylaws: corporate_bylaws_json_1.default,
|
|
98
|
+
Committee: corporate_committee_json_1.default,
|
|
99
|
+
Proxy: corporate_proxy_json_1.default,
|
|
100
|
+
Resolution: corporate_resolution_json_1.default,
|
|
47
101
|
};
|
|
48
102
|
/**
|
|
49
103
|
* Get the state machine definition for a corporate type.
|
|
50
104
|
*/
|
|
51
|
-
|
|
52
|
-
const def = CORPORATE_DEFINITIONS[type];
|
|
105
|
+
function getCorporateDefinition(type) {
|
|
106
|
+
const def = exports.CORPORATE_DEFINITIONS[type];
|
|
53
107
|
if (!def) {
|
|
54
108
|
throw new Error(`Unknown corporate type: ${type}`);
|
|
55
109
|
}
|
|
56
110
|
return def;
|
|
57
111
|
}
|
|
112
|
+
exports.getCorporateDefinition = getCorporateDefinition;
|