@ottochain/sdk 2.3.0 → 2.4.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/dist/cjs/apps/contracts/index.js +15 -8
- package/dist/cjs/apps/contracts/state-machines/contract-agreement.js +35 -40
- package/dist/cjs/apps/contracts/state-machines/contract-escrow.js +80 -37
- package/dist/cjs/apps/contracts/state-machines/contract-universal.js +4 -4
- package/dist/cjs/apps/corporate/index.js +2 -2
- package/dist/cjs/apps/corporate/state-machines/corp-board.js +169 -59
- package/dist/cjs/apps/corporate/state-machines/corp-entity.js +245 -47
- package/dist/cjs/apps/corporate/state-machines/corp-securities.js +407 -99
- package/dist/cjs/apps/corporate/state-machines/corp-shareholders.js +151 -37
- package/dist/cjs/apps/governance/index.js +14 -14
- package/dist/cjs/apps/governance/state-machines/dao-multisig.js +58 -40
- package/dist/cjs/apps/governance/state-machines/dao-reputation.js +46 -40
- package/dist/cjs/apps/governance/state-machines/dao-single.js +28 -11
- package/dist/cjs/apps/governance/state-machines/dao-token.js +67 -41
- package/dist/cjs/apps/governance/state-machines/governance-simple.js +93 -61
- package/dist/cjs/apps/governance/state-machines/governance-universal.js +2 -2
- package/dist/cjs/apps/identity/constants.js +55 -14
- package/dist/cjs/apps/identity/index.js +27 -11
- package/dist/cjs/apps/identity/state-machines/identity-agent.js +3 -3
- package/dist/cjs/apps/identity/state-machines/identity-oracle.js +25 -22
- package/dist/cjs/apps/identity/state-machines/identity-registry.js +288 -0
- package/dist/cjs/apps/identity/state-machines/identity-universal.js +3 -3
- package/dist/cjs/apps/identity/state-machines/index.js +3 -1
- package/dist/cjs/apps/index.js +19 -8
- package/dist/cjs/apps/lending/assets.js +223 -0
- package/dist/cjs/apps/lending/credit-scoring.js +87 -0
- package/dist/cjs/apps/lending/eligibility.js +121 -0
- package/dist/cjs/apps/lending/index.js +91 -0
- package/dist/cjs/apps/lending/state-machines/index.js +9 -0
- package/dist/cjs/apps/lending/state-machines/lending-zk-loan.js +412 -0
- package/dist/cjs/apps/markets/index.js +21 -11
- package/dist/cjs/apps/markets/state-machines/market-auction.js +14 -13
- package/dist/cjs/apps/markets/state-machines/market-crowdfund.js +29 -24
- package/dist/cjs/apps/markets/state-machines/market-group-buy.js +24 -26
- package/dist/cjs/apps/markets/state-machines/market-prediction.js +80 -53
- package/dist/cjs/apps/markets/state-machines/market-universal.js +5 -5
- package/dist/cjs/apps/oracles/index.js +2 -2
- package/dist/cjs/errors.js +3 -3
- package/dist/cjs/generated/google/protobuf/struct.js +4 -4
- package/dist/cjs/generated/index.js +11 -7
- package/dist/cjs/generated/openapi.js +6 -0
- package/dist/cjs/generated/ottochain/apps/contracts/v1/contract.js +50 -50
- package/dist/cjs/generated/ottochain/apps/corporate/v1/corporate.js +19 -20
- package/dist/cjs/generated/ottochain/apps/governance/v1/governance.js +13 -13
- package/dist/cjs/generated/ottochain/apps/identity/v1/attestation.js +4 -4
- package/dist/cjs/generated/ottochain/apps/identity/v1/identity.js +124 -130
- package/dist/cjs/generated/ottochain/apps/markets/v1/market.js +107 -107
- package/dist/cjs/generated/ottochain/v1/common.js +4 -4
- package/dist/cjs/generated/ottochain/v1/fiber.js +4 -4
- package/dist/cjs/index.js +41 -7
- package/dist/cjs/openapi.js +2 -0
- package/dist/cjs/ottochain/drop-nulls.js +1 -2
- package/dist/cjs/ottochain/genesis-manifest.js +11 -11
- package/dist/cjs/ottochain/index.js +23 -13
- package/dist/cjs/ottochain/metagraph-client.js +65 -8
- package/dist/cjs/ottochain/snapshot.js +11 -12
- package/dist/cjs/ottochain/transaction.js +57 -14
- package/dist/cjs/ottochain/types.js +16 -2
- package/dist/cjs/privacy/index.js +14 -0
- package/dist/cjs/privacy/sealed-bid.js +210 -0
- package/dist/cjs/privacy/shield-app.js +131 -0
- package/dist/cjs/schema/effects.js +40 -0
- package/dist/cjs/schema/fiber-app.js +19 -13
- package/dist/cjs/schema/guard-lint.js +352 -0
- package/dist/cjs/schema/guards.js +246 -0
- package/dist/cjs/signing.js +80 -0
- package/dist/cjs/types.js +2 -3
- package/dist/cjs/validation.js +8 -8
- package/dist/cjs/verify.js +9 -4
- package/dist/cjs/zk/commit.js +53 -0
- package/dist/cjs/zk/guard.js +107 -0
- package/dist/cjs/zk/index.js +48 -0
- package/dist/cjs/zk/preimage.js +37 -0
- package/dist/cjs/zk/prover.js +87 -0
- package/dist/cjs/zk/registry.js +62 -0
- package/dist/cjs/zk/types.js +28 -0
- package/dist/cjs/zk/witness.js +19 -0
- package/dist/esm/apps/contracts/index.js +7 -3
- package/dist/esm/apps/contracts/state-machines/contract-agreement.js +35 -40
- package/dist/esm/apps/contracts/state-machines/contract-escrow.js +80 -37
- package/dist/esm/apps/contracts/state-machines/contract-universal.js +4 -4
- package/dist/esm/apps/corporate/state-machines/corp-board.js +169 -59
- package/dist/esm/apps/corporate/state-machines/corp-entity.js +245 -47
- package/dist/esm/apps/corporate/state-machines/corp-securities.js +407 -99
- package/dist/esm/apps/corporate/state-machines/corp-shareholders.js +151 -37
- package/dist/esm/apps/governance/state-machines/dao-multisig.js +58 -40
- package/dist/esm/apps/governance/state-machines/dao-reputation.js +46 -40
- package/dist/esm/apps/governance/state-machines/dao-single.js +28 -11
- package/dist/esm/apps/governance/state-machines/dao-token.js +67 -41
- package/dist/esm/apps/governance/state-machines/governance-simple.js +93 -61
- package/dist/esm/apps/governance/state-machines/governance-universal.js +2 -2
- package/dist/esm/apps/identity/constants.js +51 -12
- package/dist/esm/apps/identity/index.js +12 -7
- package/dist/esm/apps/identity/state-machines/identity-agent.js +3 -3
- package/dist/esm/apps/identity/state-machines/identity-oracle.js +25 -22
- package/dist/esm/apps/identity/state-machines/identity-registry.js +285 -0
- package/dist/esm/apps/identity/state-machines/identity-universal.js +3 -3
- package/dist/esm/apps/identity/state-machines/index.js +1 -0
- package/dist/esm/apps/index.js +1 -0
- package/dist/esm/apps/lending/assets.js +207 -0
- package/dist/esm/apps/lending/credit-scoring.js +81 -0
- package/dist/esm/apps/lending/eligibility.js +115 -0
- package/dist/esm/apps/lending/index.js +69 -0
- package/dist/esm/apps/lending/state-machines/index.js +5 -0
- package/dist/esm/apps/lending/state-machines/lending-zk-loan.js +409 -0
- package/dist/esm/apps/markets/index.js +8 -4
- package/dist/esm/apps/markets/state-machines/market-auction.js +14 -13
- package/dist/esm/apps/markets/state-machines/market-crowdfund.js +29 -24
- package/dist/esm/apps/markets/state-machines/market-group-buy.js +24 -26
- package/dist/esm/apps/markets/state-machines/market-prediction.js +80 -53
- package/dist/esm/apps/markets/state-machines/market-universal.js +5 -5
- package/dist/esm/generated/index.js +9 -5
- package/dist/esm/generated/openapi.js +5 -0
- package/dist/esm/generated/ottochain/apps/contracts/v1/contract.js +46 -46
- package/dist/esm/generated/ottochain/apps/identity/v1/identity.js +114 -120
- package/dist/esm/generated/ottochain/apps/markets/v1/market.js +100 -100
- package/dist/esm/index.js +21 -2
- package/dist/esm/openapi.js +1 -0
- package/dist/esm/ottochain/genesis-manifest.js +9 -9
- package/dist/esm/ottochain/index.js +2 -3
- package/dist/esm/ottochain/metagraph-client.js +65 -8
- package/dist/esm/ottochain/snapshot.js +4 -4
- package/dist/esm/ottochain/transaction.js +43 -3
- package/dist/esm/ottochain/types.js +15 -1
- package/dist/esm/privacy/index.js +6 -0
- package/dist/esm/privacy/sealed-bid.js +206 -0
- package/dist/esm/privacy/shield-app.js +127 -0
- package/dist/esm/schema/effects.js +35 -0
- package/dist/esm/schema/fiber-app.js +13 -6
- package/dist/esm/schema/guard-lint.js +346 -0
- package/dist/esm/schema/guards.js +229 -0
- package/dist/esm/signing.js +74 -0
- package/dist/esm/verify.js +8 -2
- package/dist/esm/zk/commit.js +44 -0
- package/dist/esm/zk/guard.js +99 -0
- package/dist/esm/zk/index.js +19 -0
- package/dist/esm/zk/preimage.js +30 -0
- package/dist/esm/zk/prover.js +82 -0
- package/dist/esm/zk/registry.js +55 -0
- package/dist/esm/zk/types.js +25 -0
- package/dist/esm/zk/witness.js +15 -0
- package/dist/types/apps/contracts/index.d.ts +69 -209
- package/dist/types/apps/contracts/state-machines/contract-agreement.d.ts +20 -95
- package/dist/types/apps/contracts/state-machines/contract-escrow.d.ts +46 -112
- package/dist/types/apps/corporate/index.d.ts +1040 -304
- package/dist/types/apps/corporate/state-machines/corp-board.d.ts +188 -52
- package/dist/types/apps/corporate/state-machines/corp-entity.d.ts +267 -62
- package/dist/types/apps/corporate/state-machines/corp-securities.d.ts +355 -131
- package/dist/types/apps/corporate/state-machines/corp-shareholders.d.ts +225 -53
- package/dist/types/apps/governance/index.d.ts +296 -398
- package/dist/types/apps/governance/state-machines/dao-multisig.d.ts +77 -92
- package/dist/types/apps/governance/state-machines/dao-reputation.d.ts +42 -66
- package/dist/types/apps/governance/state-machines/dao-single.d.ts +25 -47
- package/dist/types/apps/governance/state-machines/dao-token.d.ts +60 -49
- package/dist/types/apps/governance/state-machines/governance-simple.d.ts +87 -117
- package/dist/types/apps/governance/state-machines/governance-universal.d.ts +2 -2
- package/dist/types/apps/identity/constants.d.ts +32 -4
- package/dist/types/apps/identity/index.d.ts +378 -94
- package/dist/types/apps/identity/state-machines/identity-oracle.d.ts +16 -87
- package/dist/types/apps/identity/state-machines/identity-registry.d.ts +379 -0
- package/dist/types/apps/identity/state-machines/index.d.ts +1 -0
- package/dist/types/apps/index.d.ts +1 -0
- package/dist/types/apps/lending/assets.d.ts +258 -0
- package/dist/types/apps/lending/credit-scoring.d.ts +80 -0
- package/dist/types/apps/lending/eligibility.d.ts +83 -0
- package/dist/types/apps/lending/index.d.ts +548 -0
- package/dist/types/apps/lending/state-machines/index.d.ts +5 -0
- package/dist/types/apps/lending/state-machines/lending-zk-loan.d.ts +528 -0
- package/dist/types/apps/markets/index.d.ts +108 -203
- package/dist/types/apps/markets/state-machines/market-auction.d.ts +13 -37
- package/dist/types/apps/markets/state-machines/market-crowdfund.d.ts +16 -34
- package/dist/types/apps/markets/state-machines/market-group-buy.d.ts +17 -43
- package/dist/types/apps/markets/state-machines/market-prediction.d.ts +51 -72
- package/dist/types/apps/markets/state-machines/market-universal.d.ts +5 -5
- package/dist/types/generated/index.d.ts +5 -5
- package/dist/types/generated/openapi.d.ts +1257 -0
- package/dist/types/generated/ottochain/apps/contracts/v1/contract.d.ts +5 -5
- package/dist/types/generated/ottochain/apps/identity/v1/identity.d.ts +12 -12
- package/dist/types/generated/ottochain/apps/markets/v1/market.d.ts +11 -11
- package/dist/types/index.d.ts +6 -2
- package/dist/types/openapi.d.ts +22 -0
- package/dist/types/ottochain/genesis-manifest.d.ts +5 -5
- package/dist/types/ottochain/index.d.ts +5 -6
- package/dist/types/ottochain/metagraph-client.d.ts +49 -7
- package/dist/types/ottochain/snapshot.d.ts +6 -6
- package/dist/types/ottochain/transaction.d.ts +33 -1
- package/dist/types/ottochain/types.d.ts +335 -30
- package/dist/types/privacy/index.d.ts +6 -0
- package/dist/types/privacy/sealed-bid.d.ts +348 -0
- package/dist/types/privacy/shield-app.d.ts +48 -0
- package/dist/types/schema/effects.d.ts +34 -0
- package/dist/types/schema/fiber-app.d.ts +1 -2
- package/dist/types/schema/guard-lint.d.ts +111 -0
- package/dist/types/schema/guards.d.ts +134 -0
- package/dist/types/signing.d.ts +45 -0
- package/dist/types/validation.d.ts +22 -217
- package/dist/types/verify.d.ts +4 -0
- package/dist/types/zk/commit.d.ts +28 -0
- package/dist/types/zk/guard.d.ts +46 -0
- package/dist/types/zk/index.d.ts +19 -0
- package/dist/types/zk/preimage.d.ts +10 -0
- package/dist/types/zk/prover.d.ts +34 -0
- package/dist/types/zk/registry.d.ts +34 -0
- package/dist/types/zk/types.d.ts +33 -0
- package/dist/types/zk/witness.d.ts +40 -0
- package/package.json +27 -13
- package/dist/cjs/ottochain/normalize.js +0 -186
- package/dist/esm/ottochain/normalize.js +0 -179
- package/dist/types/ottochain/normalize.d.ts +0 -79
|
@@ -7,7 +7,11 @@
|
|
|
7
7
|
* @packageDocumentation
|
|
8
8
|
*/
|
|
9
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.
|
|
10
|
+
exports.REGISTRY_ROLE_MAP = exports.REGISTRY_ROLES = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = void 0;
|
|
11
|
+
exports.registryRolePath = registryRolePath;
|
|
12
|
+
exports.registryReputationPath = registryReputationPath;
|
|
13
|
+
exports.canTransition = canTransition;
|
|
14
|
+
exports.getReputationDelta = getReputationDelta;
|
|
11
15
|
const identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
|
|
12
16
|
const attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
|
|
13
17
|
// ---------------------------------------------------------------------------
|
|
@@ -19,25 +23,25 @@ const attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/att
|
|
|
19
23
|
* Note: Some transitions are type-specific (agent vs oracle)
|
|
20
24
|
*/
|
|
21
25
|
exports.IDENTITY_TRANSITIONS = {
|
|
22
|
-
[identity_js_1.
|
|
23
|
-
[identity_js_1.
|
|
24
|
-
[identity_js_1.
|
|
25
|
-
[identity_js_1.
|
|
26
|
+
[identity_js_1.State.IDENTITY_STATE_UNSPECIFIED]: [],
|
|
27
|
+
[identity_js_1.State.IDENTITY_STATE_UNREGISTERED]: ["register"],
|
|
28
|
+
[identity_js_1.State.IDENTITY_STATE_REGISTERED]: ["activate", "withdraw"],
|
|
29
|
+
[identity_js_1.State.IDENTITY_STATE_ACTIVE]: [
|
|
26
30
|
"challenge",
|
|
27
31
|
"slash",
|
|
28
32
|
"deactivate",
|
|
29
33
|
"withdraw",
|
|
30
34
|
],
|
|
31
|
-
[identity_js_1.
|
|
35
|
+
[identity_js_1.State.IDENTITY_STATE_CHALLENGED]: [
|
|
32
36
|
"uphold_challenge",
|
|
33
37
|
"dismiss_challenge",
|
|
34
38
|
],
|
|
35
|
-
[identity_js_1.
|
|
36
|
-
[identity_js_1.
|
|
37
|
-
[identity_js_1.
|
|
38
|
-
[identity_js_1.
|
|
39
|
-
[identity_js_1.
|
|
40
|
-
[identity_js_1.
|
|
39
|
+
[identity_js_1.State.IDENTITY_STATE_SUSPENDED]: ["begin_probation"],
|
|
40
|
+
[identity_js_1.State.IDENTITY_STATE_PROBATION]: ["complete_probation"],
|
|
41
|
+
[identity_js_1.State.IDENTITY_STATE_SLASHED]: ["reactivate", "withdraw"],
|
|
42
|
+
[identity_js_1.State.IDENTITY_STATE_INACTIVE]: ["activate", "withdraw"],
|
|
43
|
+
[identity_js_1.State.IDENTITY_STATE_WITHDRAWN]: [], // Terminal state
|
|
44
|
+
[identity_js_1.State.UNRECOGNIZED]: [],
|
|
41
45
|
};
|
|
42
46
|
// Legacy alias
|
|
43
47
|
exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS;
|
|
@@ -56,17 +60,54 @@ exports.ATTESTATION_DELTAS = {
|
|
|
56
60
|
[attestation_js_1.AttestationType.ATTESTATION_TYPE_BEHAVIORAL]: 3,
|
|
57
61
|
[attestation_js_1.AttestationType.UNRECOGNIZED]: 0,
|
|
58
62
|
};
|
|
63
|
+
// ---------------------------------------------------------------------------
|
|
64
|
+
// Identity Registry — role attestations
|
|
65
|
+
// ---------------------------------------------------------------------------
|
|
66
|
+
/**
|
|
67
|
+
* Role-attestation types issued by the identity registry (identity-registry fiber).
|
|
68
|
+
* These are the ecosystem-wide authority roles consumer apps gate on via the registry
|
|
69
|
+
* dependency + `signerHasRole` (see docs/design/app-hardening-identity-integration.md §4.2).
|
|
70
|
+
*/
|
|
71
|
+
exports.REGISTRY_ROLES = {
|
|
72
|
+
ARBITER: "ARBITER",
|
|
73
|
+
SLASHER: "SLASHER",
|
|
74
|
+
ISSUER: "ISSUER",
|
|
75
|
+
BOARD_MEMBER: "BOARD_MEMBER",
|
|
76
|
+
};
|
|
77
|
+
/**
|
|
78
|
+
* Maps each role to the registry's flat per-role state-map field. A consumer app reads
|
|
79
|
+
* `machines.<registryDep>.state.<field>` (a `{ <address>: true }` map) and binds membership to a
|
|
80
|
+
* verified signer with `signerHasRole`. Kept in lock-step with the identity-registry stateSchema.
|
|
81
|
+
*/
|
|
82
|
+
exports.REGISTRY_ROLE_MAP = {
|
|
83
|
+
ARBITER: "arbiters",
|
|
84
|
+
SLASHER: "slashers",
|
|
85
|
+
ISSUER: "issuers",
|
|
86
|
+
BOARD_MEMBER: "boardMembers",
|
|
87
|
+
};
|
|
88
|
+
/**
|
|
89
|
+
* Build the `machines.<registryDep>.state.<roleMap>` var path a consumer guard reads to check a role,
|
|
90
|
+
* e.g. `registryRolePath("reg-uuid", "ARBITER")` → `"machines.reg-uuid.state.arbiters"`.
|
|
91
|
+
*/
|
|
92
|
+
function registryRolePath(registryDep, role) {
|
|
93
|
+
return `machines.${registryDep}.state.${exports.REGISTRY_ROLE_MAP[role]}`;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Build the `machines.<registryDep>.state.reputations` var path a consumer guard reads for a
|
|
97
|
+
* reputation gate (`signerHasReputation`).
|
|
98
|
+
*/
|
|
99
|
+
function registryReputationPath(registryDep) {
|
|
100
|
+
return `machines.${registryDep}.state.reputations`;
|
|
101
|
+
}
|
|
59
102
|
/**
|
|
60
103
|
* Check if a transition is valid for the given state.
|
|
61
104
|
*/
|
|
62
105
|
function canTransition(state, event) {
|
|
63
106
|
return exports.IDENTITY_TRANSITIONS[state]?.includes(event) ?? false;
|
|
64
107
|
}
|
|
65
|
-
exports.canTransition = canTransition;
|
|
66
108
|
/**
|
|
67
109
|
* Get reputation delta for an attestation type.
|
|
68
110
|
*/
|
|
69
111
|
function getReputationDelta(type) {
|
|
70
112
|
return exports.ATTESTATION_DELTAS[type] ?? 0;
|
|
71
113
|
}
|
|
72
|
-
exports.getReputationDelta = getReputationDelta;
|
|
@@ -18,11 +18,14 @@
|
|
|
18
18
|
* @packageDocumentation
|
|
19
19
|
*/
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.
|
|
22
|
-
|
|
21
|
+
exports.IDENTITY_DEFINITIONS = exports.identityRegistryDef = exports.identityOracleDef = exports.identityAgentDef = exports.identityUniversalDef = exports.DEFAULT_REPUTATION_CONFIG = exports.getReputationDelta = exports.canTransition = exports.registryReputationPath = exports.registryRolePath = exports.REGISTRY_ROLE_MAP = exports.REGISTRY_ROLES = exports.ATTESTATION_DELTAS = exports.AGENT_TRANSITIONS = exports.IDENTITY_TRANSITIONS = exports.attestationTypeToJSON = exports.attestationTypeFromJSON = exports.ReputationConfig = exports.ChallengeRequest = exports.VouchRequest = exports.Attestation = exports.ReputationDelta = exports.AttestationType = exports.identityStateToJSON = exports.identityStateFromJSON = exports.identityTypeToJSON = exports.identityTypeFromJSON = exports.IdentityState = exports.IdentityType = exports.AgentState = exports.platformToJSON = exports.platformFromJSON = exports.stateToJSON = exports.stateFromJSON = exports.typeToJSON = exports.typeFromJSON = exports.IdentityDefinition = exports.WithdrawIdentityRequest = exports.AddStakeRequest = exports.ChallengeIdentityRequest = exports.LinkPlatformRequest = exports.ActivateIdentityRequest = exports.RegisterIdentityRequest = exports.Identity = exports.PenaltyEvent = exports.Reputation = exports.PlatformLink = exports.Platform = exports.State = exports.Type = void 0;
|
|
22
|
+
exports.getIdentityDefinition = getIdentityDefinition;
|
|
23
|
+
// Re-export generated protobuf types (source of truth).
|
|
24
|
+
// The nested lifecycle/kind enums dropped their app prefix in the proto; under
|
|
25
|
+
// this app-scoped entrypoint they are unambiguously Type / State.
|
|
23
26
|
var identity_js_1 = require("../../generated/ottochain/apps/identity/v1/identity.js");
|
|
24
|
-
Object.defineProperty(exports, "
|
|
25
|
-
Object.defineProperty(exports, "
|
|
27
|
+
Object.defineProperty(exports, "Type", { enumerable: true, get: function () { return identity_js_1.Type; } });
|
|
28
|
+
Object.defineProperty(exports, "State", { enumerable: true, get: function () { return identity_js_1.State; } });
|
|
26
29
|
Object.defineProperty(exports, "Platform", { enumerable: true, get: function () { return identity_js_1.Platform; } });
|
|
27
30
|
Object.defineProperty(exports, "PlatformLink", { enumerable: true, get: function () { return identity_js_1.PlatformLink; } });
|
|
28
31
|
Object.defineProperty(exports, "Reputation", { enumerable: true, get: function () { return identity_js_1.Reputation; } });
|
|
@@ -35,15 +38,23 @@ Object.defineProperty(exports, "ChallengeIdentityRequest", { enumerable: true, g
|
|
|
35
38
|
Object.defineProperty(exports, "AddStakeRequest", { enumerable: true, get: function () { return identity_js_1.AddStakeRequest; } });
|
|
36
39
|
Object.defineProperty(exports, "WithdrawIdentityRequest", { enumerable: true, get: function () { return identity_js_1.WithdrawIdentityRequest; } });
|
|
37
40
|
Object.defineProperty(exports, "IdentityDefinition", { enumerable: true, get: function () { return identity_js_1.IdentityDefinition; } });
|
|
38
|
-
Object.defineProperty(exports, "
|
|
39
|
-
Object.defineProperty(exports, "
|
|
40
|
-
Object.defineProperty(exports, "
|
|
41
|
-
Object.defineProperty(exports, "
|
|
41
|
+
Object.defineProperty(exports, "typeFromJSON", { enumerable: true, get: function () { return identity_js_1.typeFromJSON; } });
|
|
42
|
+
Object.defineProperty(exports, "typeToJSON", { enumerable: true, get: function () { return identity_js_1.typeToJSON; } });
|
|
43
|
+
Object.defineProperty(exports, "stateFromJSON", { enumerable: true, get: function () { return identity_js_1.stateFromJSON; } });
|
|
44
|
+
Object.defineProperty(exports, "stateToJSON", { enumerable: true, get: function () { return identity_js_1.stateToJSON; } });
|
|
42
45
|
Object.defineProperty(exports, "platformFromJSON", { enumerable: true, get: function () { return identity_js_1.platformFromJSON; } });
|
|
43
46
|
Object.defineProperty(exports, "platformToJSON", { enumerable: true, get: function () { return identity_js_1.platformToJSON; } });
|
|
44
47
|
// Legacy aliases for backward compatibility
|
|
45
48
|
var identity_js_2 = require("../../generated/ottochain/apps/identity/v1/identity.js");
|
|
46
|
-
Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.
|
|
49
|
+
Object.defineProperty(exports, "AgentState", { enumerable: true, get: function () { return identity_js_2.State; } });
|
|
50
|
+
// Deprecated app-prefixed aliases (renamed to Type / State); kept for compat.
|
|
51
|
+
var identity_js_3 = require("../../generated/ottochain/apps/identity/v1/identity.js");
|
|
52
|
+
Object.defineProperty(exports, "IdentityType", { enumerable: true, get: function () { return identity_js_3.Type; } });
|
|
53
|
+
Object.defineProperty(exports, "IdentityState", { enumerable: true, get: function () { return identity_js_3.State; } });
|
|
54
|
+
Object.defineProperty(exports, "identityTypeFromJSON", { enumerable: true, get: function () { return identity_js_3.typeFromJSON; } });
|
|
55
|
+
Object.defineProperty(exports, "identityTypeToJSON", { enumerable: true, get: function () { return identity_js_3.typeToJSON; } });
|
|
56
|
+
Object.defineProperty(exports, "identityStateFromJSON", { enumerable: true, get: function () { return identity_js_3.stateFromJSON; } });
|
|
57
|
+
Object.defineProperty(exports, "identityStateToJSON", { enumerable: true, get: function () { return identity_js_3.stateToJSON; } });
|
|
47
58
|
var attestation_js_1 = require("../../generated/ottochain/apps/identity/v1/attestation.js");
|
|
48
59
|
Object.defineProperty(exports, "AttestationType", { enumerable: true, get: function () { return attestation_js_1.AttestationType; } });
|
|
49
60
|
Object.defineProperty(exports, "ReputationDelta", { enumerable: true, get: function () { return attestation_js_1.ReputationDelta; } });
|
|
@@ -58,6 +69,10 @@ var constants_js_1 = require("./constants.js");
|
|
|
58
69
|
Object.defineProperty(exports, "IDENTITY_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.IDENTITY_TRANSITIONS; } });
|
|
59
70
|
Object.defineProperty(exports, "AGENT_TRANSITIONS", { enumerable: true, get: function () { return constants_js_1.AGENT_TRANSITIONS; } });
|
|
60
71
|
Object.defineProperty(exports, "ATTESTATION_DELTAS", { enumerable: true, get: function () { return constants_js_1.ATTESTATION_DELTAS; } });
|
|
72
|
+
Object.defineProperty(exports, "REGISTRY_ROLES", { enumerable: true, get: function () { return constants_js_1.REGISTRY_ROLES; } });
|
|
73
|
+
Object.defineProperty(exports, "REGISTRY_ROLE_MAP", { enumerable: true, get: function () { return constants_js_1.REGISTRY_ROLE_MAP; } });
|
|
74
|
+
Object.defineProperty(exports, "registryRolePath", { enumerable: true, get: function () { return constants_js_1.registryRolePath; } });
|
|
75
|
+
Object.defineProperty(exports, "registryReputationPath", { enumerable: true, get: function () { return constants_js_1.registryReputationPath; } });
|
|
61
76
|
Object.defineProperty(exports, "canTransition", { enumerable: true, get: function () { return constants_js_1.canTransition; } });
|
|
62
77
|
Object.defineProperty(exports, "getReputationDelta", { enumerable: true, get: function () { return constants_js_1.getReputationDelta; } });
|
|
63
78
|
// ---------------------------------------------------------------------------
|
|
@@ -82,17 +97,18 @@ const index_js_1 = require("./state-machines/index.js");
|
|
|
82
97
|
Object.defineProperty(exports, "identityUniversalDef", { enumerable: true, get: function () { return index_js_1.identityUniversalDef; } });
|
|
83
98
|
Object.defineProperty(exports, "identityAgentDef", { enumerable: true, get: function () { return index_js_1.identityAgentDef; } });
|
|
84
99
|
Object.defineProperty(exports, "identityOracleDef", { enumerable: true, get: function () { return index_js_1.identityOracleDef; } });
|
|
100
|
+
Object.defineProperty(exports, "identityRegistryDef", { enumerable: true, get: function () { return index_js_1.identityRegistryDef; } });
|
|
85
101
|
/** All identity state machine definitions */
|
|
86
102
|
exports.IDENTITY_DEFINITIONS = {
|
|
87
103
|
universal: index_js_1.identityUniversalDef,
|
|
88
104
|
agent: index_js_1.identityAgentDef,
|
|
89
105
|
oracle: index_js_1.identityOracleDef,
|
|
106
|
+
registry: index_js_1.identityRegistryDef,
|
|
90
107
|
};
|
|
91
108
|
/**
|
|
92
109
|
* Get an identity state machine definition by type.
|
|
93
|
-
* @param type - 'universal' | 'agent' | 'oracle' (default: 'agent')
|
|
110
|
+
* @param type - 'universal' | 'agent' | 'oracle' | 'registry' (default: 'agent')
|
|
94
111
|
*/
|
|
95
112
|
function getIdentityDefinition(type = "agent") {
|
|
96
113
|
return exports.IDENTITY_DEFINITIONS[type];
|
|
97
114
|
}
|
|
98
|
-
exports.getIdentityDefinition = getIdentityDefinition;
|
|
@@ -197,7 +197,7 @@ exports.identityAgentDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
197
197
|
effect: {
|
|
198
198
|
merge: [
|
|
199
199
|
{ var: "state" },
|
|
200
|
-
{ status: "ACTIVE", activatedAt: { var: "$
|
|
200
|
+
{ status: "ACTIVE", activatedAt: { var: "$ordinal" } },
|
|
201
201
|
],
|
|
202
202
|
},
|
|
203
203
|
},
|
|
@@ -254,7 +254,7 @@ exports.identityAgentDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
254
254
|
effect: {
|
|
255
255
|
merge: [
|
|
256
256
|
{ var: "state" },
|
|
257
|
-
{ status: "SUSPENDED", suspendedAt: { var: "$
|
|
257
|
+
{ status: "SUSPENDED", suspendedAt: { var: "$ordinal" } },
|
|
258
258
|
],
|
|
259
259
|
},
|
|
260
260
|
},
|
|
@@ -266,7 +266,7 @@ exports.identityAgentDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
266
266
|
effect: {
|
|
267
267
|
merge: [
|
|
268
268
|
{ var: "state" },
|
|
269
|
-
{ status: "PROBATION", probationStartedAt: { var: "$
|
|
269
|
+
{ status: "PROBATION", probationStartedAt: { var: "$ordinal" } },
|
|
270
270
|
],
|
|
271
271
|
},
|
|
272
272
|
},
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.identityOracleDef = void 0;
|
|
4
4
|
const fiber_app_js_1 = require("../../../schema/fiber-app.js");
|
|
5
|
+
const guards_js_1 = require("../../../schema/guards.js");
|
|
5
6
|
/**
|
|
6
7
|
* Oracle identity with staking, attestations, reputation, and slashing mechanics.
|
|
7
8
|
*/
|
|
@@ -14,13 +15,18 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
14
15
|
description: "Oracle identity with staking, attestations, reputation, and slashing mechanics",
|
|
15
16
|
},
|
|
16
17
|
createSchema: {
|
|
17
|
-
required: ["owner", "stake", "domains"],
|
|
18
|
+
required: ["owner", "stake", "domains", "slasher"],
|
|
18
19
|
properties: {
|
|
19
20
|
owner: {
|
|
20
21
|
type: "address",
|
|
21
22
|
description: "Oracle owner DAG address",
|
|
22
23
|
immutable: true,
|
|
23
24
|
},
|
|
25
|
+
slasher: {
|
|
26
|
+
type: "address",
|
|
27
|
+
description: "DAG address of the slasher authorized to penalize this oracle's stake",
|
|
28
|
+
immutable: true,
|
|
29
|
+
},
|
|
24
30
|
stake: {
|
|
25
31
|
type: "integer",
|
|
26
32
|
minimum: 0,
|
|
@@ -41,6 +47,7 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
41
47
|
stateSchema: {
|
|
42
48
|
properties: {
|
|
43
49
|
owner: { type: "address", immutable: true },
|
|
50
|
+
slasher: { type: "address", immutable: true },
|
|
44
51
|
address: { type: "address", computed: true },
|
|
45
52
|
stake: { type: "integer", computed: true },
|
|
46
53
|
minStake: { type: "integer" },
|
|
@@ -88,7 +95,6 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
88
95
|
required: ["agent"],
|
|
89
96
|
properties: {
|
|
90
97
|
agent: { type: "address" },
|
|
91
|
-
adminOverride: { type: "boolean", default: false },
|
|
92
98
|
},
|
|
93
99
|
},
|
|
94
100
|
add_stake: {
|
|
@@ -192,7 +198,7 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
192
198
|
status: "REGISTERED",
|
|
193
199
|
address: { var: "event.agent" },
|
|
194
200
|
stake: { var: "event.stake" },
|
|
195
|
-
registeredAt: { var: "$
|
|
201
|
+
registeredAt: { var: "$ordinal" },
|
|
196
202
|
reputation: {
|
|
197
203
|
accuracy: 100,
|
|
198
204
|
totalResolutions: 0,
|
|
@@ -209,16 +215,12 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
209
215
|
from: "REGISTERED",
|
|
210
216
|
to: "ACTIVE",
|
|
211
217
|
eventName: "activate",
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
{ "===": [{ var: "event.agent" }, { var: "state.address" }] },
|
|
215
|
-
{ var: "event.adminOverride" },
|
|
216
|
-
],
|
|
217
|
-
},
|
|
218
|
+
// authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
|
|
219
|
+
guard: (0, guards_js_1.signerIsParty)("state.address"),
|
|
218
220
|
effect: {
|
|
219
221
|
merge: [
|
|
220
222
|
{ var: "state" },
|
|
221
|
-
{ status: "ACTIVE", activatedAt: { var: "$
|
|
223
|
+
{ status: "ACTIVE", activatedAt: { var: "$ordinal" } },
|
|
222
224
|
],
|
|
223
225
|
},
|
|
224
226
|
},
|
|
@@ -228,7 +230,7 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
228
230
|
eventName: "add_stake",
|
|
229
231
|
guard: {
|
|
230
232
|
and: [
|
|
231
|
-
|
|
233
|
+
(0, guards_js_1.signerIsParty)("state.address"),
|
|
232
234
|
{ ">": [{ var: "event.amount" }, 0] },
|
|
233
235
|
],
|
|
234
236
|
},
|
|
@@ -237,7 +239,7 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
237
239
|
{ var: "state" },
|
|
238
240
|
{
|
|
239
241
|
stake: { "+": [{ var: "state.stake" }, { var: "event.amount" }] },
|
|
240
|
-
lastStakeAt: { var: "$
|
|
242
|
+
lastStakeAt: { var: "$ordinal" },
|
|
241
243
|
},
|
|
242
244
|
],
|
|
243
245
|
},
|
|
@@ -268,7 +270,7 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
268
270
|
},
|
|
269
271
|
],
|
|
270
272
|
},
|
|
271
|
-
lastResolutionAt: { var: "$
|
|
273
|
+
lastResolutionAt: { var: "$ordinal" },
|
|
272
274
|
},
|
|
273
275
|
],
|
|
274
276
|
},
|
|
@@ -277,9 +279,10 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
277
279
|
from: "ACTIVE",
|
|
278
280
|
to: "SLASHED",
|
|
279
281
|
eventName: "slash",
|
|
282
|
+
// authority gate — an ARBITER/SLASHER attestation check layers on additively when the identity registry lands (see docs/design/app-hardening-identity-integration.md §4.2)
|
|
280
283
|
guard: {
|
|
281
284
|
and: [
|
|
282
|
-
|
|
285
|
+
(0, guards_js_1.signerIsParty)("state.slasher"),
|
|
283
286
|
{ ">": [{ var: "event.amount" }, 0] },
|
|
284
287
|
{ "<=": [{ var: "event.amount" }, { var: "state.stake" }] },
|
|
285
288
|
],
|
|
@@ -298,12 +301,12 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
298
301
|
reason: { var: "event.reason" },
|
|
299
302
|
amount: { var: "event.amount" },
|
|
300
303
|
marketId: { var: "event.marketId" },
|
|
301
|
-
slashedAt: { var: "$
|
|
304
|
+
slashedAt: { var: "$ordinal" },
|
|
302
305
|
},
|
|
303
306
|
],
|
|
304
307
|
],
|
|
305
308
|
},
|
|
306
|
-
slashedAt: { var: "$
|
|
309
|
+
slashedAt: { var: "$ordinal" },
|
|
307
310
|
},
|
|
308
311
|
],
|
|
309
312
|
},
|
|
@@ -314,14 +317,14 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
314
317
|
eventName: "reactivate",
|
|
315
318
|
guard: {
|
|
316
319
|
and: [
|
|
317
|
-
|
|
320
|
+
(0, guards_js_1.signerIsParty)("state.address"),
|
|
318
321
|
{ ">=": [{ var: "state.stake" }, { var: "state.minStake" }] },
|
|
319
322
|
],
|
|
320
323
|
},
|
|
321
324
|
effect: {
|
|
322
325
|
merge: [
|
|
323
326
|
{ var: "state" },
|
|
324
|
-
{ status: "ACTIVE", reactivatedAt: { var: "$
|
|
327
|
+
{ status: "ACTIVE", reactivatedAt: { var: "$ordinal" } },
|
|
325
328
|
],
|
|
326
329
|
},
|
|
327
330
|
},
|
|
@@ -329,13 +332,13 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
329
332
|
from: "ACTIVE",
|
|
330
333
|
to: "WITHDRAWN",
|
|
331
334
|
eventName: "withdraw",
|
|
332
|
-
guard:
|
|
335
|
+
guard: (0, guards_js_1.signerIsParty)("state.address"),
|
|
333
336
|
effect: {
|
|
334
337
|
merge: [
|
|
335
338
|
{ var: "state" },
|
|
336
339
|
{
|
|
337
340
|
status: "WITHDRAWN",
|
|
338
|
-
withdrawnAt: { var: "$
|
|
341
|
+
withdrawnAt: { var: "$ordinal" },
|
|
339
342
|
finalStake: { var: "state.stake" },
|
|
340
343
|
},
|
|
341
344
|
],
|
|
@@ -345,13 +348,13 @@ exports.identityOracleDef = (0, fiber_app_js_1.defineFiberApp)({
|
|
|
345
348
|
from: "SLASHED",
|
|
346
349
|
to: "WITHDRAWN",
|
|
347
350
|
eventName: "withdraw",
|
|
348
|
-
guard:
|
|
351
|
+
guard: (0, guards_js_1.signerIsParty)("state.address"),
|
|
349
352
|
effect: {
|
|
350
353
|
merge: [
|
|
351
354
|
{ var: "state" },
|
|
352
355
|
{
|
|
353
356
|
status: "WITHDRAWN",
|
|
354
|
-
withdrawnAt: { var: "$
|
|
357
|
+
withdrawnAt: { var: "$ordinal" },
|
|
355
358
|
finalStake: { var: "state.stake" },
|
|
356
359
|
},
|
|
357
360
|
],
|