diff --git a/README.md b/README.md index 0437f3c..292ce7a 100644 --- a/README.md +++ b/README.md @@ -84,197 +84,35 @@ Which transactors are native differs per backend — see matrix, and note that a transactor can be native while a specific _field_ on it is not, in which case that call also takes the raw path. -## Ripple Custody API +## Ripple Custody -Beyond the verticals, a `RippleCustody` exposes the whole Custody API, typed -from the bundled spec: +`RippleCustody` signs and submits through Ripple Custody. Configure it from the +environment and add it to the client's signers: ```ts -// Any endpoint by operationId, or by method and path (including the ones -// with no operationId, such as user invitations). -await custody.api.call('getIntent', { path: { domainId, intentId } }) -await custody.api.request('GET', '/v1/domains/{domainId}/users/invitations', { - path: { domainId }, -}) - -// Governed intents, signed with the API user key. The returned intentId is -// the handle for reading, awaiting, approving, or rejecting the intent. -const { intentId } = await custody.api.propose(payload) -await custody.api.approve(intentId, { reason: 'within limits' }) -await custody.api.reject(intentId, { reason: 'unexpected destination' }) -``` - -`approve` and `reject` fetch the intent and sign the decision for you; the API -user must be allowed to decide on that intent under its policy. - -To find out how an intent ended, `api.waitForIntent` reports the outcome -instead of throwing. A rejected, expired, or failed intent, or one still -pending when the wait runs out, comes back as an answer: - -```ts -const outcome = await custody.api.waitForIntent(intentId, { timeoutMs: 30_000 }) -// → { status, isTerminal, isSuccess, reason, intent } -if (!outcome.isSuccess) console.log(outcome.reason) - -// Or propose and wait in one call. -const result = await custody.api.proposeAndWait(payload) -``` - -An intent still `Open` when the wait ends is most likely waiting for a person -to approve it, so keep the `intentId` and check back later. -`client.intent.outcome(intentId)` does the same from a `SimpleXRPL` client. - -`api.dryRun` asks Custody whether an intent would go through, without creating -it, and returns the verdict instead of throwing. `api.dryRunTransaction` does -the same for an XRPL transaction, and includes the fee estimate: - -```ts -const check = await custody.api.dryRunTransaction(payment, { ledgerId: 'xrpl' }) -// → { success, errors, result, estimate: { fee, minimumCostInDrops, ... } } -``` - -To pre-flight a single vertical write, pass `dryRun: true`, e.g. -`client.xrp.transfer(params, { dryRun: true })`. If the dry-run fails, the -write throws a `DryRunFailedError` (carrying Custody's full response) and -nothing is submitted. This works for Ripple Custody accounts; other signers -reject the option. - -List endpoints return one page at a time. `api.paginate` follows the -`nextStartingAfter` cursor and yields every item, fetching each page only when -the loop needs it: - -```ts -for await (const account of custody.api.paginate('getAccounts', { - path: { domainId }, - query: { limit: 100 }, -})) { - // every account in the domain -} -``` - -`api.findByAddress` finds the account that holds an address, across every -domain the API user can see: - -```ts -const ref = await custody.api.findByAddress('r...', { ledgerId: 'xrpl' }) -// → { domainId, accountId, ledgerId, ... }, or undefined if no account holds it -``` - -It throws if more than one account matches. That includes one account holding -the address on several ledgers, so pass `ledgerId` and/or `domainId` to pick -one. - -`api.getPublicKey` reads that account's XRPL public key in the form XRPL uses -(compressed, uppercase hex), e.g. to set up a regular key or a signer list: - -```ts -const publicKey = await custody.api.getPublicKey('r...', { ledgerId: 'xrpl' }) -// → '02218AB4…' -``` - -`domainId` is optional when creating a `RippleCustody`. If it's left out, the -domain holding the `primary` address is looked up when the custodian is -created; `custody.domainId` returns it either way. - -## Creating a Ripple Custody API key - -`generateCustodyKeypair` makes a new key pair for an API user, in any of the -three algorithms Custody supports: - -```ts -import { generateCustodyKeypair } from 'simplexrpl' +import { RippleCustody, SimpleXRPL } from 'simplexrpl' -const { privateKey, publicKey } = await generateCustodyKeypair('ed25519') // or 'secp256k1', 'secp256r1' -``` - -Register `publicKey` (base64 SPKI DER) for the API user in Custody, and store -`privateKey` (PKCS#8 PEM) wherever the SDK reads its signing key from: -`auth.signingKey`, or `RIPPLE_CUSTODY_AUTH_SIGNING_KEY` as the PEM itself, a -path to a `.pem` file, or an AWS Secrets Manager secret ARN. To keep the key in -an HSM or KMS instead, generate it there; see below. - -## Ripple Custody API key in an HSM or KMS - -The Ripple Custody API user's key signs the login challenge and every intent -the SDK proposes. By default it is a PEM key held in the process -(`auth.signingKey`, or `RIPPLE_CUSTODY_AUTH_SIGNING_KEY` with `fromEnv`). To -keep it inside an HSM or KMS instead, pass a `signer`: - -```ts -import { RippleCustody } from 'simplexrpl' -import { AwsKmsCustodySigner } from 'simplexrpl/aws-kms' - -const signer = await AwsKmsCustodySigner.create({ - keyId: 'alias/custody-api-user', // an ECC_SECG_P256K1 or ECC_NIST_P256 key - region: 'us-east-1', -}) -const custody = await RippleCustody.fromEnv({ primary: 'r...', signer }) -``` - -Other HSMs and KMSs implement `CustodySignerPort`: `algorithm`, `publicKey()`, -and `sign(data, context)`, which runs only the raw signing primitive. - -- **secp256k1 and secp256r1** keys receive a 32-byte SHA-256 digest to sign as - a digest, and return a DER signature. -- **ed25519** keys receive the exact bytes to sign, and return the raw 64-byte - signature. - -`context` (`'auth-challenge'` or `'intent'`) lets an HSM policy treat the two -differently. The SDK checks every signature against the public key before -sending it, so a misconfigured signer fails with a clear error rather than a -401 from Custody. - -## Ripple Custody versions - -Each Custody instance runs its own version, so not every instance serves every -endpoint or operation the SDK knows about. `RippleCustody.create()` reads the -instance's version from the OpenAPI document it serves, and blocks a call the -instance can't handle — an `api.call` endpoint, an `api.propose` intent type, or -a vertical's native XRPL operation — with an `UnsupportedInVersionError` naming -what is missing, before anything is sent. - -```ts const custody = await RippleCustody.fromEnv({ primary: 'r...' }) -custody.backendVersion // e.g. '1.43.4' -``` - -To skip the detection request, pin the version instead; calls are then checked -against data bundled with the SDK (one entry per minor version): - -```ts -await RippleCustody.fromEnv({ primary: 'r...', apiVersion: '1.43' }) -``` - -The error also says where the missing piece _is_ available — e.g. `official -1.37+`, or `pre-release Custody builds` for a feature only those have so far. The -full table is in [`docs/custody-endpoints.md`](./docs/custody-endpoints.md). - -If the version can't be detected, the SDK emits a single Node warning -(`SIMPLEXRPL_CUSTODY_VERSION_UNDETECTED`) and lets every call through to the -server. `autoDetectVersion: false` turns detection off without the warning, and -`openApiUrl` points it at a different document URL. - -## Ripple Custody errors - -A failed Custody call throws a `CustodyApiError` whose message leads with -Custody's own reason and explanation: - -``` -Custody API error (404 EntityNotFoundError): Intent 3f1c… not found. +const client = await SimpleXRPL.init({ + xrpldUrl: 'wss://s.altnet.rippletest.net:51233', + signers: [custody], +}) ``` -The same parts are fields, beside the full response body: `status`, `reason`, -`detail`, `hint`, and `raw`. `toJSON()` gives a plain object for structured -logs. - -A `401` that a token refresh doesn't fix throws a `CustodyAuthError` named for -its reason: `CustodySignatureError` (`InvalidSignatureError`) or -`CustodyPermissionError` (`PermissionDeniedError`). Its `apiError` is the -underlying `CustodyApiError`. - -When a failure matches a known Custody server bug, `hint` says how to work -around it. For example, a `quarantineStatus` filter can return a 500 on the -transfers endpoint. +Beyond the verticals, it exposes the whole Custody API, typed from the bundled +spec. The [Ripple Custody guide](./docs/ripple-custody.md) covers: + +- [setting up](./docs/ripple-custody.md#setting-up) (environment variables, + timeouts); +- [calling any Custody endpoint](./docs/ripple-custody.md#calling-the-custody-api), + and proposing, approving, and rejecting intents; +- [waiting on intents](./docs/ripple-custody.md#waiting-on-intents) and + [dry runs](./docs/ripple-custody.md#dry-runs); +- [pagination, address lookups, and account keys](./docs/ripple-custody.md#lists-lookups-and-account-keys); +- [creating an API key](./docs/ripple-custody.md#creating-an-api-key), or + [keeping it in an HSM or KMS](./docs/ripple-custody.md#api-key-in-an-hsm-or-kms); +- [Custody versions](./docs/ripple-custody.md#custody-versions) and + [errors](./docs/ripple-custody.md#errors). ## Debug logging diff --git a/docs/ripple-custody.md b/docs/ripple-custody.md new file mode 100644 index 0000000..42341c8 --- /dev/null +++ b/docs/ripple-custody.md @@ -0,0 +1,251 @@ +# Ripple Custody + +`RippleCustody` signs and submits through Ripple Custody. +Writes from the verticals map to native Custody operations where Custody has +one, and beyond the verticals the whole Custody API is available, typed from +the bundled spec. + +- [Setting up](#setting-up) +- [Calling the Custody API](#calling-the-custody-api) +- [Waiting on intents](#waiting-on-intents) +- [Dry runs](#dry-runs) +- [Lists, lookups, and account keys](#lists-lookups-and-account-keys) +- [Creating an API key](#creating-an-api-key) +- [API key in an HSM or KMS](#api-key-in-an-hsm-or-kms) +- [Custody versions](#custody-versions) +- [Errors](#errors) + +## Setting up + +`RippleCustody.fromEnv()` reads its configuration from the environment: + +| Variable | | +| --------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | +| `RIPPLE_CUSTODY_GATEWAY_URL` | The Custody API gateway (HTTPS). | +| `RIPPLE_CUSTODY_AUTH_TOKEN_URL` | The full OAuth token endpoint, not the auth server's base URL. | +| `RIPPLE_CUSTODY_AUTH_SIGNING_KEY` | The API user's private key: the PEM itself, a path to a `.pem` file, or an AWS Secrets Manager secret ARN. Not read when a `signer` is passed. | +| `RIPPLE_CUSTODY_DOMAIN_ID` | Optional: the Custody domain. Left out, the domain holding the `primary` address is used. | +| `RIPPLE_CUSTODY_AUTH_CLIENT_ID` | Optional: the OAuth client id; defaults to `customer_api`. | + +```ts +import { RippleCustody, SimpleXRPL } from 'simplexrpl' + +const custody = await RippleCustody.fromEnv({ primary: 'r...' }) +const client = await SimpleXRPL.init({ + xrpldUrl: 'wss://s.altnet.rippletest.net:51233', + signers: [custody], +}) +``` + +`RippleCustody.create()` takes the same settings as options. Each Custody +request is abandoned after 30 s; `requestTimeoutMs` changes that. `debug` logs +the HTTP traffic with credentials masked; see +[Debug logging](../README.md#debug-logging). + +## Calling the Custody API + +Beyond the verticals, a `RippleCustody` exposes the whole Custody API, typed +from the bundled spec: + +```ts +// Any endpoint by operationId, or by method and path (including the ones +// with no operationId, such as user invitations). +await custody.api.call('getIntent', { path: { domainId, intentId } }) +await custody.api.request('GET', '/v1/domains/{domainId}/users/invitations', { + path: { domainId }, +}) + +// Governed intents, signed with the API user key. The returned intentId is +// the handle for reading, awaiting, approving, or rejecting the intent. +const { intentId } = await custody.api.propose(payload) +await custody.api.approve(intentId, { reason: 'within limits' }) +await custody.api.reject(intentId, { reason: 'unexpected destination' }) +``` + +`approve` and `reject` fetch the intent and sign the decision for you; the API +user must be allowed to decide on that intent under its policy. + +## Waiting on intents + +To find out how an intent ended, `api.waitForIntent` reports the outcome +instead of throwing. A rejected, expired, or failed intent, or one still +pending when the wait runs out, comes back as an answer: + +```ts +const outcome = await custody.api.waitForIntent(intentId, { timeoutMs: 30_000 }) +// → { status, isTerminal, isSuccess, reason, intent } +if (!outcome.isSuccess) console.log(outcome.reason) + +// Or propose and wait in one call. +const result = await custody.api.proposeAndWait(payload) +``` + +An intent still `Open` when the wait ends is most likely waiting for a person +to approve it, so keep the `intentId` and check back later. +`client.intent.outcome(intentId)` does the same from a `SimpleXRPL` client. + +## Dry runs + +`api.dryRun` asks Custody whether an intent would go through, without creating +it, and returns the verdict instead of throwing. `api.dryRunTransaction` does +the same for an XRPL transaction, and includes the fee estimate: + +```ts +const check = await custody.api.dryRunTransaction(payment, { ledgerId: 'xrpl' }) +// → { success, errors, result, estimate: { fee, minimumCostInDrops, ... } } +``` + +To pre-flight a single vertical write, pass `dryRun: true`, e.g. +`client.xrp.transfer(params, { dryRun: true })`. If the dry-run fails, the +write throws a `DryRunFailedError` (carrying Custody's full response) and +nothing is submitted. This works for Ripple Custody accounts; other signers +reject the option. + +## Lists, lookups, and account keys + +List endpoints return one page at a time. `api.paginate` follows the +`nextStartingAfter` cursor and yields every item, fetching each page only when +the loop needs it: + +```ts +for await (const account of custody.api.paginate('getAccounts', { + path: { domainId }, + query: { limit: 100 }, +})) { + // every account in the domain +} +``` + +`api.findByAddress` finds the account that holds an address, across every +domain the API user can see: + +```ts +const ref = await custody.api.findByAddress('r...', { ledgerId: 'xrpl' }) +// → { domainId, accountId, ledgerId, ... }, or undefined if no account holds it +``` + +It throws if more than one account matches. That includes one account holding +the address on several ledgers, so pass `ledgerId` and/or `domainId` to pick +one. + +`api.getPublicKey` reads that account's XRPL public key in the form XRPL uses +(compressed, uppercase hex), e.g. to set up a regular key or a signer list: + +```ts +const publicKey = await custody.api.getPublicKey('r...', { ledgerId: 'xrpl' }) +// → '02218AB4…' +``` + +`domainId` is optional when creating a `RippleCustody`. If it's left out, the +domain holding the `primary` address is looked up when the custodian is +created; `custody.domainId` returns it either way. + +## Creating an API key + +`generateCustodyKeypair` makes a new key pair for an API user, in any of the +three algorithms Custody supports: + +```ts +import { generateCustodyKeypair } from 'simplexrpl' + +const { privateKey, publicKey } = await generateCustodyKeypair('ed25519') // or 'secp256k1', 'secp256r1' +``` + +Register `publicKey` (base64 SPKI DER) for the API user in Custody, and store +`privateKey` (PKCS#8 PEM) wherever the SDK reads its signing key from: +`auth.signingKey`, or `RIPPLE_CUSTODY_AUTH_SIGNING_KEY` as the PEM itself, a +path to a `.pem` file, or an AWS Secrets Manager secret ARN. To keep the key in +an HSM or KMS instead, generate it there; see +[API key in an HSM or KMS](#api-key-in-an-hsm-or-kms). + +## API key in an HSM or KMS + +The Ripple Custody API user's key signs the login challenge and every intent +the SDK proposes. By default it is a PEM key held in the process +(`auth.signingKey`, or `RIPPLE_CUSTODY_AUTH_SIGNING_KEY` with `fromEnv`). To +keep it inside an HSM or KMS instead, pass a `signer`: + +```ts +import { RippleCustody } from 'simplexrpl' +import { AwsKmsCustodySigner } from 'simplexrpl/aws-kms' + +const signer = await AwsKmsCustodySigner.create({ + keyId: 'alias/custody-api-user', // an ECC_SECG_P256K1 or ECC_NIST_P256 key + region: 'us-east-1', +}) +const custody = await RippleCustody.fromEnv({ primary: 'r...', signer }) +``` + +Other HSMs and KMSs implement `CustodySignerPort`: `algorithm`, `publicKey()`, +and `sign(data, context)`, which runs only the raw signing primitive. + +- **secp256k1 and secp256r1** keys receive a 32-byte SHA-256 digest to sign as + a digest, and return a DER signature. +- **ed25519** keys receive the exact bytes to sign, and return the raw 64-byte + signature. + +`context` (`'auth-challenge'` or `'intent'`) lets an HSM policy treat the two +differently. The SDK checks every signature against the public key before +sending it, so a misconfigured signer fails with a clear error rather than a +401 from Custody. + +## Custody versions + +Each Custody instance runs its own version, so not every instance serves every +endpoint or operation the SDK knows about. `RippleCustody.create()` reads the +instance's version from the OpenAPI document it serves, and blocks a call the +instance can't handle — an `api.call` endpoint, an `api.propose` intent type, or +a vertical's native XRPL operation — with an `UnsupportedInVersionError` naming +what is missing, before anything is sent. + +```ts +const custody = await RippleCustody.fromEnv({ primary: 'r...' }) +custody.backendVersion // e.g. '1.43.4' +``` + +To skip the detection request, pin the version instead; calls are then checked +against data bundled with the SDK (one entry per minor version): + +```ts +await RippleCustody.fromEnv({ primary: 'r...', apiVersion: '1.43' }) +``` + +The error also says where the missing piece _is_ available — e.g. `official +1.37+`, or `pre-release Custody builds` for a feature only those have so far. The +full table is in [`custody-endpoints.md`](./custody-endpoints.md). + +If the version can't be detected, the SDK emits a single Node warning +(`SIMPLEXRPL_CUSTODY_VERSION_UNDETECTED`) and lets every call through to the +server. `autoDetectVersion: false` turns detection off without the warning, and +`openApiUrl` points it at a different document URL. + +## Errors + +A failed Custody call throws a `CustodyApiError` whose message leads with +Custody's own reason and explanation: + +``` +Custody API error (404 EntityNotFoundError): Intent 3f1c… not found. +``` + +The same parts are fields, beside the full response body: `status`, `reason`, +`detail`, `hint`, and `raw`. `toJSON()` gives a plain object for structured +logs. + +A `401` that a token refresh doesn't fix throws a `CustodyAuthError` named for +its reason: `CustodySignatureError` (`InvalidSignatureError`) or +`CustodyPermissionError` (`PermissionDeniedError`). Its `apiError` is the +underlying `CustodyApiError`. + +When a failure matches a known Custody server bug, `hint` says how to work +around it. For example, a `quarantineStatus` filter can return a 500 on the +transfers endpoint. + +A request that gets no response within its timeout throws a +`CustodyTimeoutError`. Its outcome is unknown: Custody may still have processed +it. For an intent proposal, the error carries the `intentId` — check it with +`api.waitForIntent`, or re-submit with that idempotency key, rather than +proposing it again under a new one. + +A failed dry-run pre-flight throws a `DryRunFailedError`, carrying Custody's full +`response`. diff --git a/eslint.config.mjs b/eslint.config.mjs index bc60eb1..f862f80 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -81,6 +81,7 @@ export default [ 'src/custodians/palisade/palisade-custody.ts', 'src/custodians/ripple/ripple-custody.ts', 'src/custodians/ripple/api.ts', + 'src/errors.ts', ], rules: { 'max-lines': [ diff --git a/openapi/README.md b/openapi/README.md index 68a95c2..c1a2290 100644 --- a/openapi/README.md +++ b/openapi/README.md @@ -9,7 +9,7 @@ rather than a silent drift. | File / folder | Upstream source | Version | | --- | --- | --- | | `custody/official/public.json` | Custody product docs: `products/custody/@/reference/api/openapi.json` | the file's `info.x-app-version` | -| `custody/official/internal.json` | A live official instance (`npm run fetch:custody-instance-spec`) | the file's `info.x-app-version` | +| `custody/official/internal.json` | Not vendored at present (optional). Fetch it from a live official instance (`npm run fetch:custody-instance-spec`) only when an SDK feature needs an official internal endpoint | the file's `info.x-app-version` | | `custody/devbox//{public,internal}.json` | A live devbox instance (`npm run fetch:custody-instance-spec`) | the files' `info.x-app-version` | | `custody/capabilities.json` | Derived from every spec the Custody docs publish (1.15 onward) | one entry per minor version | | `palisade-api.yaml` | `ripplenet-docs/products/wallet/api-docs/palisade-api/palisade-api.yaml` | Palisade v2.0 | @@ -68,7 +68,8 @@ which serves both documents without authentication: ```sh # a devbox build: writes custody/devbox//public.json and internal.json npm run fetch:custody-instance-spec -- --gateway https:// --channel devbox --build cmpt -# an official instance's internal API: writes custody/official/internal.json +# an official instance's internal API, only when a feature needs it: +# writes custody/official/internal.json npm run fetch:custody-instance-spec -- --gateway https:// --channel official npm run typegen && npm run typecheck ``` diff --git a/openapi/custody/official/internal.json b/openapi/custody/official/internal.json deleted file mode 100644 index f3df727..0000000 --- a/openapi/custody/official/internal.json +++ /dev/null @@ -1,18162 +0,0 @@ -{ - "components": { - "schemas": { - "InternalCoreExtensions_Authentication": { - "additionalProperties": false, - "properties": { - "oidcDiscoveryUrl": { - "type": "string" - } - }, - "required": [ - "oidcDiscoveryUrl" - ], - "type": "object" - }, - "InternalCoreExtensions_DomainScope": { - "enum": [ - "Self", - "SelfAndDescendants" - ], - "type": "string" - }, - "InternalCoreExtensions_Notary": { - "additionalProperties": false, - "properties": { - "apiPublicKey": { - "type": "string" - }, - "messagingPublicKey": { - "type": "string" - } - }, - "required": [ - "apiPublicKey", - "messagingPublicKey" - ], - "type": "object" - }, - "InternalCoreExtensions_NotificationSource": { - "enum": [ - "TransactionDetected", - "IntentApproved" - ], - "type": "string" - }, - "InternalCoreExtensions_SystemInformation": { - "additionalProperties": false, - "properties": { - "authentication": { - "$ref": "#/components/schemas/InternalCoreExtensions_Authentication" - }, - "notary": { - "$ref": "#/components/schemas/InternalCoreExtensions_Notary" - } - }, - "required": [ - "authentication" - ], - "type": "object" - }, - "InternalCoreExtensions_UserAvailableNotificationSourceResponse": { - "additionalProperties": false, - "properties": { - "availableSources": { - "additionalProperties": { - "items": { - "$ref": "#/components/schemas/InternalCoreExtensions_NotificationSource" - }, - "type": "array" - }, - "type": "object" - }, - "domainId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "availableSources", - "domainId" - ], - "type": "object" - }, - "InternalCoreExtensions_UserNotificationPreferencesUpdateRequest": { - "additionalProperties": false, - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "domainScope": { - "$ref": "#/components/schemas/InternalCoreExtensions_DomainScope" - }, - "subscriptions": { - "items": { - "$ref": "#/components/schemas/InternalCoreExtensions_NotificationSource" - }, - "type": "array" - } - }, - "required": [ - "domainId", - "domainScope", - "subscriptions" - ], - "type": "object" - }, - "InternalCoreExtensions_UserSubscribedNotificationSourceResponse": { - "additionalProperties": false, - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "scope": { - "$ref": "#/components/schemas/InternalCoreExtensions_DomainScope" - }, - "subscriptions": { - "items": { - "$ref": "#/components/schemas/InternalCoreExtensions_NotificationSource" - }, - "type": "array" - } - }, - "required": [ - "domainId", - "scope", - "subscriptions" - ], - "type": "object" - }, - "Internal_Account": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "deprecated": true, - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "ledgerIds": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "providerDetails": { - "$ref": "#/components/schemas/Internal_AccountProviderInformation" - } - }, - "required": [ - "id", - "domainId", - "alias", - "providerDetails", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_AccountBalanceOutcome": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "availableAmount": { - "description": "This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "quarantinedAmount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "reservedAmount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/Internal_AccountBalanceStatus" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "totalAmount": { - "description": "This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - } - }, - "required": [ - "accountId", - "tickerId", - "status" - ], - "type": "object" - }, - "Internal_AccountBalanceStatus": { - "enum": [ - "Found", - "NotFound" - ], - "type": "string" - }, - "Internal_AccountCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "AccountCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_AccountKeyStrategy": { - "enum": [ - "VaultHard", - "VaultSoft", - "Random" - ], - "type": "string" - }, - "Internal_AccountPending": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - } - }, - "required": [ - "domainId", - "accountId", - "signedPayload" - ], - "type": "object" - }, - "Internal_AccountProvider": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "provider": { - "$ref": "#/components/schemas/Internal_AccountProviderType" - } - }, - "required": [ - "id", - "provider", - "alias", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_AccountProviderAction": { - "discriminator": { - "mapping": { - "External": "#/components/schemas/Internal_AccountProviderAction_External", - "Mco": "#/components/schemas/Internal_AccountProviderAction_Mco" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountProviderAction_External" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderAction_Mco" - } - ] - }, - "Internal_AccountProviderAction_External": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_ApiAccountProviderKey" - }, - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "publicKey", - "type" - ], - "type": "object" - }, - "Internal_AccountProviderAction_Mco": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "encryptedCreds": { - "maxLength": 65536, - "minLength": 1, - "type": "string" - }, - "providerKind": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Mco" - ], - "type": "string" - } - }, - "required": [ - "providerKind", - "encryptedCreds", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_AccountProviderCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "AccountProviderCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_AccountProviderInformation": { - "discriminator": { - "mapping": { - "External": "#/components/schemas/Internal_AccountProviderInformation_External", - "Mco": "#/components/schemas/Internal_AccountProviderInformation_Mco", - "Vault": "#/components/schemas/Internal_AccountProviderInformation_Vault" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountProviderInformation_External" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderInformation_Mco" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderInformation_Vault" - } - ] - }, - "Internal_AccountProviderInformation_External": { - "properties": { - "locationId": { - "format": "uuid", - "type": "string" - }, - "providerAccountId": { - "format": "uuid", - "type": "string" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "providerId", - "locationId", - "type" - ], - "type": "object" - }, - "Internal_AccountProviderInformation_Mco": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "locationId": { - "format": "uuid", - "type": "string" - }, - "providerAccountId": { - "format": "uuid", - "type": "string" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "subcustodianAccountId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Mco" - ], - "type": "string" - } - }, - "required": [ - "providerId", - "locationId", - "subcustodianAccountId", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_AccountProviderInformation_Vault": { - "properties": { - "keyInformation": { - "$ref": "#/components/schemas/Internal_VaultAccountKeyInformation" - }, - "keyStrategy": { - "$ref": "#/components/schemas/Internal_AccountKeyStrategy" - }, - "keys": { - "items": { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_Key" - }, - "type": "array" - }, - "type": { - "enum": [ - "Vault" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "keyStrategy", - "keyInformation", - "type" - ], - "type": "object" - }, - "Internal_AccountProviderKey": { - "properties": { - "details": { - "type": "string" - }, - "keySignature": { - "format": "base64", - "type": "string" - }, - "predecessor": { - "format": "base64", - "type": "string" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/Internal_AccountProviderKeyStatus" - }, - "validAfterSequenceId": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_AccountProviderKeyStatus": { - "enum": [ - "AwaitingActivation", - "ActivationFailed", - "Active", - "Replaced" - ], - "type": "string" - }, - "Internal_AccountProviderType": { - "discriminator": { - "mapping": { - "ExternalProvider": "#/components/schemas/Internal_AccountProviderType_ExternalProvider", - "Mco": "#/components/schemas/Internal_AccountProviderType_Mco" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountProviderType_ExternalProvider" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderType_Mco" - } - ] - }, - "Internal_AccountProviderType_ExternalProvider": { - "properties": { - "publicKeys": { - "items": { - "$ref": "#/components/schemas/Internal_AccountProviderKey" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "ExternalProvider" - ], - "type": "string" - } - }, - "required": [ - "publicKeys", - "type" - ], - "type": "object" - }, - "Internal_AccountProviderType_Mco": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "error": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_McoProviderError" - } - ], - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "providerKind": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "status": { - "$ref": "#/components/schemas/Internal_McoProviderStatus" - }, - "type": { - "enum": [ - "Mco" - ], - "type": "string" - } - }, - "required": [ - "providerKind", - "status", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_AccountProviderUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "AccountProviderUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_AccountPublicKey": { - "discriminator": { - "mapping": { - "ExtendedPublicKey": "#/components/schemas/Internal_AccountPublicKey_ExtendedPublicKey", - "PublicKey": "#/components/schemas/Internal_AccountPublicKey_PublicKey" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountPublicKey_ExtendedPublicKey" - }, - { - "$ref": "#/components/schemas/Internal_AccountPublicKey_PublicKey" - } - ] - }, - "Internal_AccountPublicKeyExtendedOnly": { - "discriminator": { - "mapping": { - "ExtendedPublicKey": "#/components/schemas/Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey" - } - ] - }, - "Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey": { - "properties": { - "chainCode": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "ExtendedPublicKey" - ], - "type": "string" - }, - "value": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "value", - "chainCode", - "type" - ], - "type": "object" - }, - "Internal_AccountPublicKeyOnly": { - "discriminator": { - "mapping": { - "PublicKey": "#/components/schemas/Internal_AccountPublicKeyOnly_PublicKey" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly_PublicKey" - } - ] - }, - "Internal_AccountPublicKeyOnly_PublicKey": { - "properties": { - "type": { - "enum": [ - "PublicKey" - ], - "type": "string" - }, - "value": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_AccountPublicKey_ExtendedPublicKey": { - "properties": { - "chainCode": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "ExtendedPublicKey" - ], - "type": "string" - }, - "value": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "value", - "chainCode", - "type" - ], - "type": "object" - }, - "Internal_AccountPublicKey_PublicKey": { - "properties": { - "type": { - "enum": [ - "PublicKey" - ], - "type": "string" - }, - "value": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_AccountReference": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "id", - "domainId" - ], - "type": "object" - }, - "Internal_AccountTickers": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "tickerIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "accountId", - "tickerIds" - ], - "type": "object" - }, - "Internal_AccountUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "AccountUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_AccountsBalancesQuery": { - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/Internal_AccountTickers" - }, - "type": "array" - } - }, - "required": [ - "accounts" - ], - "type": "object" - }, - "Internal_AccountsBalancesQueryResult": { - "properties": { - "balances": { - "items": { - "$ref": "#/components/schemas/Internal_AccountBalanceOutcome" - }, - "type": "array" - } - }, - "required": [ - "balances" - ], - "type": "object" - }, - "Internal_AddressCreated": { - "properties": { - "accountReference": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "AddressCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountReference", - "type" - ], - "type": "object" - }, - "Internal_AddressDetails": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "resolvedEndpoints": { - "items": { - "$ref": "#/components/schemas/Internal_ResolvedEndpoint" - }, - "type": "array" - } - }, - "required": [ - "address", - "resolvedEndpoints" - ], - "type": "object" - }, - "Internal_AddressForChange": { - "description": "Override default change address strategy to set explicitly PrimaryAddress or GenerateNewAddress.", - "enum": [ - "GenerateNewAddress", - "PrimaryAddress" - ], - "type": "string" - }, - "Internal_AlgorandFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_AlgorandFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AlgorandFeeStrategy_Priority" - } - ] - }, - "Internal_AlgorandFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_AlgorandOperation": { - "discriminator": { - "mapping": { - "Payment": "#/components/schemas/Internal_AlgorandOperation_Payment" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AlgorandOperation_Payment" - } - ] - }, - "Internal_AlgorandOperation_Payment": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Payment" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_AlgorandTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_AlgorandTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AlgorandTickerProperties_Native" - } - ] - }, - "Internal_AlgorandTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_AntiRewindMode": { - "enum": [ - "STRICT", - "BALANCED", - "DISABLED" - ], - "type": "string" - }, - "Internal_AntiRewindModeValue": { - "properties": { - "mode": { - "$ref": "#/components/schemas/Internal_AntiRewindMode" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - "Internal_ApiAccountProviderKey": { - "properties": { - "publicKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_ApiTicker": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_ApiTickerData" - }, - "decimals": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "format": "int32", - "type": "integer" - }, - "id": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "format": "uuid", - "type": "string" - }, - "kind": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_TickerKind" - } - ], - "deprecated": true - }, - "ledgerDetails": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - } - ], - "deprecated": true - }, - "ledgerId": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "name": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "symbol": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "ledgerId", - "kind", - "name", - "ledgerDetails", - "data" - ], - "type": "object" - }, - "Internal_ApiTickerData": { - "properties": { - "decimals": { - "format": "int32", - "type": "integer" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "kind": { - "$ref": "#/components/schemas/Internal_TickerKind" - }, - "ledgerDetails": { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "symbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "ledgerId", - "kind", - "name", - "ledgerDetails", - "lock" - ], - "type": "object" - }, - "Internal_ApiTransfer": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "kind": { - "$ref": "#/components/schemas/Internal_TransferKind" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_TransferMetadata" - }, - "quarantineStatus": { - "$ref": "#/components/schemas/Internal_QuarantineStatus" - }, - "quarantined": { - "deprecated": true, - "type": "boolean" - }, - "recipient": { - "$ref": "#/components/schemas/Internal_RecipientTransferParty" - }, - "registeredAt": { - "format": "date-time", - "type": "string" - }, - "senders": { - "items": { - "$ref": "#/components/schemas/Internal_SenderTransferParty" - }, - "type": "array" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "transactionId": { - "format": "uuid", - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "id", - "tickerId", - "quarantined", - "senders", - "value", - "kind", - "registeredAt", - "metadata" - ], - "type": "object" - }, - "Internal_ApprovalDecision": { - "enum": [ - "Approve", - "Reject" - ], - "type": "string" - }, - "Internal_AttemptInterruptTransaction": { - "properties": { - "reason": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "transactionId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionId", - "reason" - ], - "type": "object" - }, - "Internal_AuthorizationReference": { - "properties": { - "transactionOrderId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionOrderId" - ], - "type": "object" - }, - "Internal_Backup": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_BackupData" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - } - }, - "required": [ - "id", - "data", - "metadata" - ], - "type": "object" - }, - "Internal_BackupCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "BackupCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_BackupData": { - "discriminator": { - "mapping": { - "VaultHsm": "#/components/schemas/Internal_BackupData_VaultHsm", - "VaultMpc": "#/components/schemas/Internal_BackupData_VaultMpc" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_BackupData_VaultHsm" - }, - { - "$ref": "#/components/schemas/Internal_BackupData_VaultMpc" - } - ] - }, - "Internal_BackupData_VaultHsm": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_VaultHsmBackupData" - }, - "type": { - "enum": [ - "VaultHsm" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "data", - "type" - ], - "type": "object" - }, - "Internal_BackupData_VaultMpc": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_VaultMpcBackupData" - }, - "type": { - "enum": [ - "VaultMpc" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "type" - ], - "type": "object" - }, - "Internal_BackupPending": { - "properties": { - "backupId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "backupId", - "vaultId", - "signedPayload" - ], - "type": "object" - }, - "Internal_BackupPrepared": { - "properties": { - "backupId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - } - }, - "required": [ - "backupId", - "signedPayload" - ], - "type": "object" - }, - "Internal_BackupUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "BackupUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_BalancesUpdated": { - "properties": { - "accountReference": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "tickerIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - }, - "type": { - "enum": [ - "BalancesUpdated" - ], - "type": "string" - } - }, - "required": [ - "accountReference", - "tickerIds", - "type" - ], - "type": "object" - }, - "Internal_BitcoinFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_BitcoinFeeStrategy_Priority", - "SpecifiedRate": "#/components/schemas/Internal_BitcoinFeeStrategy_SpecifiedRate" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_BitcoinFeeStrategy_Priority" - }, - { - "$ref": "#/components/schemas/Internal_BitcoinFeeStrategy_SpecifiedRate" - } - ] - }, - "Internal_BitcoinFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_BitcoinFeeStrategy_SpecifiedRate": { - "properties": { - "satoshiPerVbyte": { - "description": "This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "SpecifiedRate" - ], - "type": "string" - } - }, - "required": [ - "satoshiPerVbyte", - "type" - ], - "type": "object" - }, - "Internal_BitcoinLikeVaultLedgerIdentifier": { - "enum": [ - "btc", - "ltc", - "bch", - "doge", - "dash" - ], - "type": "string" - }, - "Internal_BitcoinOutputParameters": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "paysFee": { - "type": "boolean" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_BitcoinResourceStrategy": { - "discriminator": { - "mapping": { - "OrderReplacement": "#/components/schemas/Internal_BitcoinResourceStrategy_OrderReplacement" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_BitcoinResourceStrategy_OrderReplacement" - } - ] - }, - "Internal_BitcoinResourceStrategy_OrderReplacement": { - "properties": { - "reason": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "transactionOrderId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "OrderReplacement" - ], - "type": "string" - } - }, - "required": [ - "transactionOrderId", - "type" - ], - "type": "object" - }, - "Internal_BitcoinTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_BitcoinTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_BitcoinTickerProperties_Native" - } - ] - }, - "Internal_BitcoinTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CantonOperation": { - "discriminator": { - "mapping": { - "Accept": "#/components/schemas/Internal_CantonOperation_Accept", - "CancelNativeTransferPreapproval": "#/components/schemas/Internal_CantonOperation_CancelNativeTransferPreapproval", - "CancelTokenTransferPreapproval": "#/components/schemas/Internal_CantonOperation_CancelTokenTransferPreapproval", - "CreateNativeTransferPreapproval": "#/components/schemas/Internal_CantonOperation_CreateNativeTransferPreapproval", - "CreateParty": "#/components/schemas/Internal_CantonOperation_CreateParty", - "CreateTokenTransferPreapproval": "#/components/schemas/Internal_CantonOperation_CreateTokenTransferPreapproval", - "NativeTransfer": "#/components/schemas/Internal_CantonOperation_NativeTransfer", - "Reject": "#/components/schemas/Internal_CantonOperation_Reject", - "TokenTransfer": "#/components/schemas/Internal_CantonOperation_TokenTransfer", - "Withdraw": "#/components/schemas/Internal_CantonOperation_Withdraw" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_CantonOperation_Accept" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_CancelNativeTransferPreapproval" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_CancelTokenTransferPreapproval" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_CreateNativeTransferPreapproval" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_CreateParty" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_CreateTokenTransferPreapproval" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_NativeTransfer" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_Reject" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_TokenTransfer" - }, - { - "$ref": "#/components/schemas/Internal_CantonOperation_Withdraw" - } - ] - }, - "Internal_CantonOperation_Accept": { - "properties": { - "contractId": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Accept" - ], - "type": "string" - } - }, - "required": [ - "contractId", - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_CancelNativeTransferPreapproval": { - "description": "**Experimental** (CantonPreapprovalCancellation): subject to change until 2026-12-31.", - "properties": { - "type": { - "enum": [ - "CancelNativeTransferPreapproval" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "CantonPreapprovalCancellation" - } - }, - "Internal_CantonOperation_CancelTokenTransferPreapproval": { - "description": "**Experimental** (CantonPreapprovalCancellation): subject to change until 2026-12-31.", - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "CancelTokenTransferPreapproval" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "CantonPreapprovalCancellation" - } - }, - "Internal_CantonOperation_CreateNativeTransferPreapproval": { - "properties": { - "type": { - "enum": [ - "CreateNativeTransferPreapproval" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_CreateParty": { - "properties": { - "type": { - "enum": [ - "CreateParty" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_CreateTokenTransferPreapproval": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "CreateTokenTransferPreapproval" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_NativeTransfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "executeBefore": { - "format": "date-time", - "type": "string" - }, - "memo": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "NativeTransfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_Reject": { - "properties": { - "contractId": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Reject" - ], - "type": "string" - } - }, - "required": [ - "contractId", - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_TokenTransfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "executeBefore": { - "format": "date-time", - "type": "string" - }, - "memo": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TokenTransfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_CantonOperation_Withdraw": { - "properties": { - "contractId": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Withdraw" - ], - "type": "string" - } - }, - "required": [ - "contractId", - "type" - ], - "type": "object" - }, - "Internal_CantonTickerProperties": { - "discriminator": { - "mapping": { - "Instrument": "#/components/schemas/Internal_CantonTickerProperties_Instrument", - "Native": "#/components/schemas/Internal_CantonTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_CantonTickerProperties_Instrument" - }, - { - "$ref": "#/components/schemas/Internal_CantonTickerProperties_Native" - } - ] - }, - "Internal_CantonTickerProperties_Instrument": { - "properties": { - "instrumentAdmin": { - "maxLength": 255, - "minLength": 5, - "type": "string" - }, - "instrumentId": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Instrument" - ], - "type": "string" - } - }, - "required": [ - "instrumentAdmin", - "instrumentId", - "type" - ], - "type": "object" - }, - "Internal_CantonTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CardanoFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_CardanoFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_CardanoFeeStrategy_Priority" - } - ] - }, - "Internal_CardanoFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation": { - "discriminator": { - "mapping": { - "DelegateRepresentative": "#/components/schemas/Internal_CardanoOperation_DelegateRepresentative", - "DelegateStaking": "#/components/schemas/Internal_CardanoOperation_DelegateStaking", - "RegisterStaking": "#/components/schemas/Internal_CardanoOperation_RegisterStaking", - "Transfer": "#/components/schemas/Internal_CardanoOperation_Transfer", - "UnregisterStaking": "#/components/schemas/Internal_CardanoOperation_UnregisterStaking", - "WithdrawRewards": "#/components/schemas/Internal_CardanoOperation_WithdrawRewards" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_CardanoOperation_DelegateRepresentative" - }, - { - "$ref": "#/components/schemas/Internal_CardanoOperation_DelegateStaking" - }, - { - "$ref": "#/components/schemas/Internal_CardanoOperation_RegisterStaking" - }, - { - "$ref": "#/components/schemas/Internal_CardanoOperation_Transfer" - }, - { - "$ref": "#/components/schemas/Internal_CardanoOperation_UnregisterStaking" - }, - { - "$ref": "#/components/schemas/Internal_CardanoOperation_WithdrawRewards" - } - ] - }, - "Internal_CardanoOperation_DelegateRepresentative": { - "properties": { - "parameters": { - "$ref": "#/components/schemas/Internal_DelegateRepresentativeParameters" - }, - "type": { - "enum": [ - "DelegateRepresentative" - ], - "type": "string" - } - }, - "required": [ - "parameters", - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation_DelegateStaking": { - "properties": { - "poolId": { - "description": "A valid Cardano pool id", - "example": "pool1ywpt43nttzjd7883wafg255mh0hmjypwe65ercw6p2sxg5lt7ez", - "maxLength": 56, - "minLength": 56, - "type": "string" - }, - "type": { - "enum": [ - "DelegateStaking" - ], - "type": "string" - } - }, - "required": [ - "poolId", - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation_RegisterStaking": { - "properties": { - "type": { - "enum": [ - "RegisterStaking" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation_Transfer": { - "properties": { - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_CardanoOutputParameters" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "Transfer" - ], - "type": "string" - } - }, - "required": [ - "outputs", - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation_UnregisterStaking": { - "properties": { - "type": { - "enum": [ - "UnregisterStaking" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_CardanoOperation_WithdrawRewards": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "type": { - "enum": [ - "WithdrawRewards" - ], - "type": "string" - } - }, - "required": [ - "amount", - "type" - ], - "type": "object" - }, - "Internal_CardanoOutputParameters": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "paysFee": { - "type": "boolean" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_CardanoTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_CardanoTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_CardanoTickerProperties_Native" - } - ] - }, - "Internal_CardanoTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_ComplianceConfigurationUpdated": { - "properties": { - "accountReference": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "modifiedBy": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - }, - "skipQuarantineFrom": { - "$ref": "#/components/schemas/Internal_SkipQuarantineScope" - }, - "type": { - "enum": [ - "ComplianceConfigurationUpdated" - ], - "type": "string" - } - }, - "required": [ - "accountReference", - "skipQuarantineFrom", - "revision", - "type" - ], - "type": "object" - }, - "Internal_Connected": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_ContractParameters": { - "discriminator": { - "mapping": { - "Raw": "#/components/schemas/Internal_ContractParameters_Raw" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ContractParameters_Raw" - } - ] - }, - "Internal_ContractParameters_Raw": { - "properties": { - "type": { - "enum": [ - "Raw" - ], - "type": "string" - }, - "value": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_CreateDomainGenesisPolicy": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "condition": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "intentOrigin": { - "$ref": "#/components/schemas/Internal_IntentOrigin" - }, - "intentTypes": { - "items": { - "$ref": "#/components/schemas/Internal_IntentType" - }, - "type": "array" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "rank": { - "format": "int32", - "maximum": 1000, - "minimum": 0, - "type": "integer" - }, - "scope": { - "$ref": "#/components/schemas/Internal_PolicyScope" - }, - "scriptingEngine": { - "$ref": "#/components/schemas/Internal_ScriptingEngine" - }, - "workflow": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "rank", - "scope", - "scriptingEngine", - "lock", - "customProperties" - ], - "type": "object" - }, - "Internal_CreateDomainGenesisUser": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "loginIds": { - "description": "Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed.", - "items": { - "$ref": "#/components/schemas/Internal_LoginId" - }, - "type": "array" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "roles": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "publicKey", - "roles", - "lock", - "customProperties" - ], - "type": "object" - }, - "Internal_CreateDomainsPayload": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "descendants": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainsPayload" - }, - "type": "array" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "governingStrategy": { - "$ref": "#/components/schemas/Internal_GoverningStrategy" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "permissions": { - "$ref": "#/components/schemas/Internal_Permissions" - }, - "policies": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisPolicy" - }, - "type": "array" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisUser" - }, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "lock", - "permissions", - "customProperties", - "users", - "policies", - "descendants" - ], - "type": "object" - }, - "Internal_CreateLedgerGenesis": { - "properties": { - "alias": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_LedgerParameters" - } - }, - "required": [ - "id", - "alias", - "parameters", - "customProperties" - ], - "type": "object" - }, - "Internal_CreateTransferOrderOutput": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "paysFee": { - "type": "boolean" - }, - "tag": { - "$ref": "#/components/schemas/Internal_TransferDestinationTag" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_CreatedEntitiesReferences": { - "description": "A list of all entities created during genesis.", - "properties": { - "rootPolicies": { - "items": { - "$ref": "#/components/schemas/Internal_CreatedEntitiesReferences_Policy" - }, - "type": "array" - }, - "rootUsers": { - "items": { - "$ref": "#/components/schemas/Internal_CreatedEntitiesReferences_User" - }, - "type": "array" - } - }, - "required": [ - "rootUsers", - "rootPolicies" - ], - "type": "object" - }, - "Internal_CreatedEntitiesReferences_Policy": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "Internal_CreatedEntitiesReferences_User": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "id" - ], - "type": "object" - }, - "Internal_CurrentVault": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "processingStatus": { - "$ref": "#/components/schemas/Internal_VaultProcessingStatus" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "vaultApiVersion": { - "$ref": "#/components/schemas/Internal_VaultApiVersion" - } - }, - "required": [ - "id", - "publicKey", - "processingStatus" - ], - "type": "object" - }, - "Internal_DecisionPayload": { - "properties": { - "approvalReason": { - "maxLength": 5000, - "minLength": 0, - "type": "string" - }, - "author": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "authorRoles": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "decision": { - "$ref": "#/components/schemas/Internal_ApprovalDecision" - }, - "expiryAt": { - "format": "date-time", - "type": "string" - }, - "rawRequest": { - "maxLength": 80000, - "minLength": 1, - "type": "string" - }, - "rejectionReason": { - "maxLength": 5000, - "minLength": 1, - "type": "string" - }, - "seenBySystemAt": { - "format": "date-time", - "type": "string" - }, - "signature": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "author", - "authorRoles", - "seenBySystemAt", - "decision", - "rawRequest", - "signature" - ], - "type": "object" - }, - "Internal_DelegateRepresentativeParameters": { - "discriminator": { - "mapping": { - "AlwaysAbstain": "#/components/schemas/Internal_DelegateRepresentativeParameters_AlwaysAbstain" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_DelegateRepresentativeParameters_AlwaysAbstain" - } - ] - }, - "Internal_DelegateRepresentativeParameters_AlwaysAbstain": { - "properties": { - "type": { - "enum": [ - "AlwaysAbstain" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_DepositInstructionsCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "DepositInstructionsCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_DepositInstructionsUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "DepositInstructionsUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_Domain": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "governingStrategy": { - "$ref": "#/components/schemas/Internal_GoverningStrategy" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "parentId": { - "format": "uuid", - "type": "string" - }, - "permissions": { - "$ref": "#/components/schemas/Internal_Permissions" - } - }, - "required": [ - "id", - "alias", - "lock", - "permissions", - "metadata" - ], - "type": "object" - }, - "Internal_DomainCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "parentId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "DomainCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "parentId", - "type" - ], - "type": "object" - }, - "Internal_DomainUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "parentId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "DomainUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_Endpoint": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters" - }, - "trustScore": { - "format": "int32", - "maximum": 100, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "id", - "domainId", - "address", - "ledgerId", - "alias", - "lock", - "metadata", - "trustScore" - ], - "type": "object" - }, - "Internal_EndpointCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "EndpointCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_EndpointLedgerParameters": { - "discriminator": { - "mapping": { - "Ethereum": "#/components/schemas/Internal_EndpointLedgerParameters_Ethereum", - "Hedera": "#/components/schemas/Internal_EndpointLedgerParameters_Hedera", - "Stellar": "#/components/schemas/Internal_EndpointLedgerParameters_Stellar", - "XRPL": "#/components/schemas/Internal_EndpointLedgerParameters_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters_XRPL" - } - ] - }, - "Internal_EndpointLedgerParameters_Ethereum": { - "properties": { - "ABI": { - "description": "This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end.", - "type": "string" - }, - "type": { - "enum": [ - "Ethereum" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EndpointLedgerParameters_Hedera": { - "properties": { - "memo": { - "description": "String encoded using UTF-8, up to 100-bytes long", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EndpointLedgerParameters_Stellar": { - "properties": { - "memo": { - "$ref": "#/components/schemas/Internal_StellarMemo" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EndpointLedgerParameters_XRPL": { - "properties": { - "destinationTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EndpointUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "EndpointUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_EntityIdAndRevision": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "id", - "revision" - ], - "type": "object" - }, - "Internal_EntityMetadata": { - "properties": { - "createdAt": { - "format": "date-time", - "type": "string" - }, - "createdBy": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "lastModifiedAt": { - "format": "date-time", - "type": "string" - }, - "lastModifiedBy": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "revision", - "createdAt", - "lastModifiedAt", - "customProperties" - ], - "type": "object" - }, - "Internal_EntityStringIdAndRevision": { - "properties": { - "id": { - "type": "string" - }, - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "id", - "revision" - ], - "type": "object" - }, - "Internal_ErrorMessage": { - "properties": { - "message": { - "type": "string" - }, - "reason": { - "type": "string" - } - }, - "required": [ - "reason" - ], - "type": "object" - }, - "Internal_EthereumFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_EthereumFeeStrategy_Priority", - "SpecifiedRate": "#/components/schemas/Internal_EthereumFeeStrategy_SpecifiedRate", - "SpecifiedRateEIP1559": "#/components/schemas/Internal_EthereumFeeStrategy_SpecifiedRateEIP1559", - "Sponsored": "#/components/schemas/Internal_EthereumFeeStrategy_Sponsored" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_EthereumFeeStrategy_Priority" - }, - { - "$ref": "#/components/schemas/Internal_EthereumFeeStrategy_SpecifiedRate" - }, - { - "$ref": "#/components/schemas/Internal_EthereumFeeStrategy_SpecifiedRateEIP1559" - }, - { - "$ref": "#/components/schemas/Internal_EthereumFeeStrategy_Sponsored" - } - ] - }, - "Internal_EthereumFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_EthereumFeeStrategy_SpecifiedRate": { - "properties": { - "gasPrice": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "SpecifiedRate" - ], - "type": "string" - } - }, - "required": [ - "gasPrice", - "type" - ], - "type": "object" - }, - "Internal_EthereumFeeStrategy_SpecifiedRateEIP1559": { - "properties": { - "maxFeePerGas": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "maxPriorityFeePerGas": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "SpecifiedRateEIP1559" - ], - "type": "string" - } - }, - "required": [ - "maxFeePerGas", - "maxPriorityFeePerGas", - "type" - ], - "type": "object" - }, - "Internal_EthereumFeeStrategy_Sponsored": { - "properties": { - "sponsor": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Sponsored" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EthereumLikeVaultLedgerIdentifier": { - "enum": [ - "eth", - "etc" - ], - "type": "string" - }, - "Internal_EthereumOperation": { - "discriminator": { - "mapping": { - "SetDelegation": "#/components/schemas/Internal_EthereumOperation_SetDelegation", - "SubmitAuthorization": "#/components/schemas/Internal_EthereumOperation_SubmitAuthorization" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_EthereumOperation_SetDelegation" - }, - { - "$ref": "#/components/schemas/Internal_EthereumOperation_SubmitAuthorization" - } - ] - }, - "Internal_EthereumOperation_SetDelegation": { - "properties": { - "delegationContract": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "SetDelegation" - ], - "type": "string" - } - }, - "required": [ - "delegationContract", - "type" - ], - "type": "object" - }, - "Internal_EthereumOperation_SubmitAuthorization": { - "properties": { - "authorizations": { - "items": { - "$ref": "#/components/schemas/Internal_AuthorizationReference" - }, - "type": "array" - }, - "type": { - "enum": [ - "SubmitAuthorization" - ], - "type": "string" - } - }, - "required": [ - "authorizations", - "type" - ], - "type": "object" - }, - "Internal_EthereumResourceStrategy": { - "discriminator": { - "mapping": { - "OrderReplacement": "#/components/schemas/Internal_EthereumResourceStrategy_OrderReplacement" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_EthereumResourceStrategy_OrderReplacement" - } - ] - }, - "Internal_EthereumResourceStrategy_OrderReplacement": { - "properties": { - "reason": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "transactionOrderId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "OrderReplacement" - ], - "type": "string" - } - }, - "required": [ - "transactionOrderId", - "type" - ], - "type": "object" - }, - "Internal_EthereumTickerProperties": { - "discriminator": { - "mapping": { - "ERC1155": "#/components/schemas/Internal_EthereumTickerProperties_ERC1155", - "ERC20": "#/components/schemas/Internal_EthereumTickerProperties_ERC20", - "ERC721": "#/components/schemas/Internal_EthereumTickerProperties_ERC721", - "Native": "#/components/schemas/Internal_EthereumTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_EthereumTickerProperties_ERC1155" - }, - { - "$ref": "#/components/schemas/Internal_EthereumTickerProperties_ERC20" - }, - { - "$ref": "#/components/schemas/Internal_EthereumTickerProperties_ERC721" - }, - { - "$ref": "#/components/schemas/Internal_EthereumTickerProperties_Native" - } - ] - }, - "Internal_EthereumTickerProperties_ERC1155": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "tokenId": { - "type": "string" - }, - "type": { - "enum": [ - "ERC1155" - ], - "type": "string" - } - }, - "required": [ - "address", - "tokenId", - "type" - ], - "type": "object" - }, - "Internal_EthereumTickerProperties_ERC20": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "ERC20" - ], - "type": "string" - } - }, - "required": [ - "address", - "type" - ], - "type": "object" - }, - "Internal_EthereumTickerProperties_ERC721": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "tokenId": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "ERC721" - ], - "type": "string" - } - }, - "required": [ - "address", - "tokenId", - "type" - ], - "type": "object" - }, - "Internal_EthereumTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_EvaluationContext": { - "properties": { - "intentOrigin": { - "$ref": "#/components/schemas/Internal_IntentOrigin" - }, - "references": { - "$ref": "#/components/schemas/Internal_EvaluationContextReferences" - }, - "request": { - "$ref": "#/components/schemas/Internal_ProposalPayload" - }, - "submitter": { - "$ref": "#/components/schemas/Internal_Submitter" - } - }, - "required": [ - "request", - "references", - "submitter", - "intentOrigin" - ], - "type": "object" - }, - "Internal_EvaluationContextReferences": { - "properties": { - "accountProviders": { - "$ref": "#/components/schemas/Internal_Map_AccountProvider" - }, - "accounts": { - "$ref": "#/components/schemas/Internal_Map_Account" - }, - "backups": { - "$ref": "#/components/schemas/Internal_Map_Backup" - }, - "domains": { - "$ref": "#/components/schemas/Internal_Map_Domain" - }, - "endpoints": { - "$ref": "#/components/schemas/Internal_Map_Endpoint" - }, - "ledgers": { - "$ref": "#/components/schemas/Internal_Map_Ledger" - }, - "locations": { - "$ref": "#/components/schemas/Internal_Map_Location" - }, - "manifests": { - "$ref": "#/components/schemas/Internal_Map_Manifest" - }, - "policies": { - "$ref": "#/components/schemas/Internal_Map_Policy" - }, - "systemProperties": { - "$ref": "#/components/schemas/Internal_Map_SystemProperty" - }, - "tickers": { - "$ref": "#/components/schemas/Internal_Map_ValidatedTicker" - }, - "transactionOrders": { - "$ref": "#/components/schemas/Internal_Map_TransactionOrder" - }, - "users": { - "$ref": "#/components/schemas/Internal_Map_User" - }, - "vaults": { - "$ref": "#/components/schemas/Internal_Map_Vault" - } - }, - "required": [ - "backups", - "users", - "domains", - "policies", - "ledgers", - "endpoints", - "vaults", - "accounts", - "tickers", - "manifests", - "systemProperties", - "accountProviders", - "locations", - "transactionOrders" - ], - "type": "object" - }, - "Internal_EventsCollection": { - "properties": { - "count": { - "format": "int32", - "type": "integer" - }, - "currentStartingAfter": { - "type": "string" - }, - "items": { - "items": { - "$ref": "#/components/schemas/Internal_HarmonizeEvent" - }, - "type": "array" - }, - "nextStartingAfter": { - "type": "string" - } - }, - "required": [ - "items", - "count" - ], - "type": "object" - }, - "Internal_ExternalOperation": { - "discriminator": { - "mapping": { - "Transfer": "#/components/schemas/Internal_ExternalOperation_Transfer" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ExternalOperation_Transfer" - } - ] - }, - "Internal_ExternalOperation_Transfer": { - "properties": { - "memo": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_Output" - }, - "minItems": 1, - "type": "array" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Transfer" - ], - "type": "string" - } - }, - "required": [ - "outputs", - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_ExternalTickerProperties": { - "discriminator": { - "mapping": { - "Asset": "#/components/schemas/Internal_ExternalTickerProperties_Asset" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ExternalTickerProperties_Asset" - } - ] - }, - "Internal_ExternalTickerProperties_Asset": { - "properties": { - "providerAssetId": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Asset" - ], - "type": "string" - } - }, - "required": [ - "providerAssetId", - "type" - ], - "type": "object" - }, - "Internal_Failed": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_FeePriority": { - "enum": [ - "High", - "Medium", - "Low" - ], - "type": "string" - }, - "Internal_Genesis": { - "description": "Complete genesis payload, copied in and signed by the notary at genesis.", - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_GenesisData" - }, - "signature": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature" - ], - "type": "object" - }, - "Internal_GenesisCryptoSetup": { - "properties": { - "apiSigning": { - "$ref": "#/components/schemas/Internal_KeyType" - }, - "collectionSigning": { - "$ref": "#/components/schemas/Internal_KeyType" - }, - "messageSigning": { - "$ref": "#/components/schemas/Internal_KeyType" - } - }, - "required": [ - "apiSigning", - "collectionSigning", - "messageSigning" - ], - "type": "object" - }, - "Internal_GenesisData": { - "properties": { - "executedAt": { - "format": "date-time", - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/Internal_GenesisPayload" - } - }, - "required": [ - "executedAt", - "payload" - ], - "type": "object" - }, - "Internal_GenesisPayload": { - "properties": { - "antiRewindMode": { - "$ref": "#/components/schemas/Internal_AntiRewindMode" - }, - "cryptoSetup": { - "$ref": "#/components/schemas/Internal_GenesisCryptoSetup" - }, - "ledgers": { - "items": { - "$ref": "#/components/schemas/Internal_CreateLedgerGenesis" - }, - "type": "array" - }, - "rootDomainSetup": { - "$ref": "#/components/schemas/Internal_RootDomainSetup" - }, - "systemProperties": { - "items": { - "$ref": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue" - }, - "type": "array" - }, - "systemSignaturesPublicKey": { - "format": "base64", - "type": "string" - }, - "tickers": { - "items": { - "$ref": "#/components/schemas/Internal_TickerToValidate" - }, - "type": "array" - } - }, - "required": [ - "rootDomainSetup", - "cryptoSetup" - ], - "type": "object" - }, - "Internal_GenesisSucceeded": { - "properties": { - "apiPublicKey": { - "format": "base64", - "type": "string" - }, - "createdEntitiesReferences": { - "$ref": "#/components/schemas/Internal_CreatedEntitiesReferences" - }, - "genesis": { - "$ref": "#/components/schemas/Internal_Genesis" - }, - "messagingPublicKey": { - "format": "base64", - "type": "string" - }, - "systemSignaturesPublicKey": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "GenesisSucceeded" - ], - "type": "string" - } - }, - "required": [ - "apiPublicKey", - "messagingPublicKey", - "type" - ], - "type": "object" - }, - "Internal_GoverningStrategy": { - "enum": [ - "ConsiderDescendants", - "CoerceDescendants" - ], - "type": "string" - }, - "Internal_HarmonizeEvent": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/Internal_HarmonizeEventPayload" - }, - "savedAt": { - "format": "date-time", - "type": "string" - }, - "sequenceNumber": { - "format": "int64", - "type": "integer" - } - }, - "required": [ - "domainId", - "payload", - "id", - "sequenceNumber", - "savedAt" - ], - "type": "object" - }, - "Internal_HarmonizeEventPayload": { - "discriminator": { - "mapping": { - "AccountCreated": "#/components/schemas/Internal_AccountCreated", - "AccountProviderCreated": "#/components/schemas/Internal_AccountProviderCreated", - "AccountProviderUpdated": "#/components/schemas/Internal_AccountProviderUpdated", - "AccountUpdated": "#/components/schemas/Internal_AccountUpdated", - "AddressCreated": "#/components/schemas/Internal_AddressCreated", - "BackupCreated": "#/components/schemas/Internal_BackupCreated", - "BackupUpdated": "#/components/schemas/Internal_BackupUpdated", - "BalancesUpdated": "#/components/schemas/Internal_BalancesUpdated", - "ComplianceConfigurationUpdated": "#/components/schemas/Internal_ComplianceConfigurationUpdated", - "DepositInstructionsCreated": "#/components/schemas/Internal_DepositInstructionsCreated", - "DepositInstructionsUpdated": "#/components/schemas/Internal_DepositInstructionsUpdated", - "DomainCreated": "#/components/schemas/Internal_DomainCreated", - "DomainUpdated": "#/components/schemas/Internal_DomainUpdated", - "EndpointCreated": "#/components/schemas/Internal_EndpointCreated", - "EndpointUpdated": "#/components/schemas/Internal_EndpointUpdated", - "GenesisSucceeded": "#/components/schemas/Internal_GenesisSucceeded", - "IntentClosed": "#/components/schemas/Internal_IntentClosed", - "IntentCreated": "#/components/schemas/Internal_IntentCreated", - "IntentExecuted": "#/components/schemas/Internal_IntentExecuted", - "IntentUpdated": "#/components/schemas/Internal_IntentUpdated", - "LedgerCreated": "#/components/schemas/Internal_LedgerCreated", - "LedgerUpdated": "#/components/schemas/Internal_LedgerUpdated", - "LocationCreated": "#/components/schemas/Internal_LocationCreated", - "LocationUpdated": "#/components/schemas/Internal_LocationUpdated", - "ManifestCreated": "#/components/schemas/Internal_ManifestCreated", - "ManifestUpdated": "#/components/schemas/Internal_ManifestUpdated", - "McoInstanceRegistered": "#/components/schemas/Internal_McoInstanceRegistered", - "PolicyCreated": "#/components/schemas/Internal_PolicyCreated", - "PolicyUpdated": "#/components/schemas/Internal_PolicyUpdated", - "QuarantineApplied": "#/components/schemas/Internal_QuarantineApplied", - "QuarantineSkipped": "#/components/schemas/Internal_QuarantineSkipped", - "SystemPropertySet": "#/components/schemas/Internal_SystemPropertySet", - "TickerCreated": "#/components/schemas/Internal_TickerCreated", - "TickerUpdated": "#/components/schemas/Internal_TickerUpdated", - "TransactionCreated": "#/components/schemas/Internal_TransactionCreated", - "TransactionDetected": "#/components/schemas/Internal_TransactionDetected", - "TransactionUpdated": "#/components/schemas/Internal_TransactionUpdated", - "TransferUpdated": "#/components/schemas/Internal_TransferUpdated", - "TrustedPublicKeyAdded": "#/components/schemas/Internal_TrustedPublicKeyAdded", - "TrustedPublicKeyUpdated": "#/components/schemas/Internal_TrustedPublicKeyUpdated", - "UserCreated": "#/components/schemas/Internal_UserCreated", - "UserUpdated": "#/components/schemas/Internal_UserUpdated", - "VaultCreated": "#/components/schemas/Internal_VaultCreated", - "VaultKeyMaterialRewrapCompleted": "#/components/schemas/Internal_VaultKeyMaterialRewrapCompleted", - "VaultKeyMaterialRewrapFailed": "#/components/schemas/Internal_VaultKeyMaterialRewrapFailed", - "VaultUpdated": "#/components/schemas/Internal_VaultUpdated" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_AccountCreated" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderCreated" - }, - { - "$ref": "#/components/schemas/Internal_AccountProviderUpdated" - }, - { - "$ref": "#/components/schemas/Internal_AccountUpdated" - }, - { - "$ref": "#/components/schemas/Internal_AddressCreated" - }, - { - "$ref": "#/components/schemas/Internal_BackupCreated" - }, - { - "$ref": "#/components/schemas/Internal_BackupUpdated" - }, - { - "$ref": "#/components/schemas/Internal_BalancesUpdated" - }, - { - "$ref": "#/components/schemas/Internal_ComplianceConfigurationUpdated" - }, - { - "$ref": "#/components/schemas/Internal_DepositInstructionsCreated" - }, - { - "$ref": "#/components/schemas/Internal_DepositInstructionsUpdated" - }, - { - "$ref": "#/components/schemas/Internal_DomainCreated" - }, - { - "$ref": "#/components/schemas/Internal_DomainUpdated" - }, - { - "$ref": "#/components/schemas/Internal_EndpointCreated" - }, - { - "$ref": "#/components/schemas/Internal_EndpointUpdated" - }, - { - "$ref": "#/components/schemas/Internal_GenesisSucceeded" - }, - { - "$ref": "#/components/schemas/Internal_IntentClosed" - }, - { - "$ref": "#/components/schemas/Internal_IntentCreated" - }, - { - "$ref": "#/components/schemas/Internal_IntentExecuted" - }, - { - "$ref": "#/components/schemas/Internal_IntentUpdated" - }, - { - "$ref": "#/components/schemas/Internal_LedgerCreated" - }, - { - "$ref": "#/components/schemas/Internal_LedgerUpdated" - }, - { - "$ref": "#/components/schemas/Internal_LocationCreated" - }, - { - "$ref": "#/components/schemas/Internal_LocationUpdated" - }, - { - "$ref": "#/components/schemas/Internal_ManifestCreated" - }, - { - "$ref": "#/components/schemas/Internal_ManifestUpdated" - }, - { - "$ref": "#/components/schemas/Internal_McoInstanceRegistered" - }, - { - "$ref": "#/components/schemas/Internal_PolicyCreated" - }, - { - "$ref": "#/components/schemas/Internal_PolicyUpdated" - }, - { - "$ref": "#/components/schemas/Internal_QuarantineApplied" - }, - { - "$ref": "#/components/schemas/Internal_QuarantineSkipped" - }, - { - "$ref": "#/components/schemas/Internal_SystemPropertySet" - }, - { - "$ref": "#/components/schemas/Internal_TickerCreated" - }, - { - "$ref": "#/components/schemas/Internal_TickerUpdated" - }, - { - "$ref": "#/components/schemas/Internal_TransactionCreated" - }, - { - "$ref": "#/components/schemas/Internal_TransactionDetected" - }, - { - "$ref": "#/components/schemas/Internal_TransactionUpdated" - }, - { - "$ref": "#/components/schemas/Internal_TransferUpdated" - }, - { - "$ref": "#/components/schemas/Internal_TrustedPublicKeyAdded" - }, - { - "$ref": "#/components/schemas/Internal_TrustedPublicKeyUpdated" - }, - { - "$ref": "#/components/schemas/Internal_UserCreated" - }, - { - "$ref": "#/components/schemas/Internal_UserUpdated" - }, - { - "$ref": "#/components/schemas/Internal_VaultCreated" - }, - { - "$ref": "#/components/schemas/Internal_VaultKeyMaterialRewrapCompleted" - }, - { - "$ref": "#/components/schemas/Internal_VaultKeyMaterialRewrapFailed" - }, - { - "$ref": "#/components/schemas/Internal_VaultUpdated" - } - ] - }, - "Internal_HederaFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_HederaFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_HederaFeeStrategy_Priority" - } - ] - }, - "Internal_HederaFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_HederaOperation": { - "discriminator": { - "mapping": { - "AccountUpdate": "#/components/schemas/Internal_HederaOperation_AccountUpdate", - "TokenAssociate": "#/components/schemas/Internal_HederaOperation_TokenAssociate", - "TokenDissociate": "#/components/schemas/Internal_HederaOperation_TokenDissociate", - "Transfer": "#/components/schemas/Internal_HederaOperation_Transfer" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_HederaOperation_AccountUpdate" - }, - { - "$ref": "#/components/schemas/Internal_HederaOperation_TokenAssociate" - }, - { - "$ref": "#/components/schemas/Internal_HederaOperation_TokenDissociate" - }, - { - "$ref": "#/components/schemas/Internal_HederaOperation_Transfer" - } - ] - }, - "Internal_HederaOperation_AccountUpdate": { - "properties": { - "maxAutomaticTokenAssociations": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "AccountUpdate" - ], - "type": "string" - } - }, - "required": [ - "maxAutomaticTokenAssociations", - "type" - ], - "type": "object" - }, - "Internal_HederaOperation_TokenAssociate": { - "properties": { - "tokens": { - "items": { - "$ref": "#/components/schemas/Internal_TokenDestination" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "TokenAssociate" - ], - "type": "string" - } - }, - "required": [ - "tokens", - "type" - ], - "type": "object" - }, - "Internal_HederaOperation_TokenDissociate": { - "properties": { - "tokens": { - "items": { - "$ref": "#/components/schemas/Internal_TokenDestination" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "TokenDissociate" - ], - "type": "string" - } - }, - "required": [ - "tokens", - "type" - ], - "type": "object" - }, - "Internal_HederaOperation_Transfer": { - "properties": { - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_HederaTransferOutput" - }, - "minItems": 1, - "type": "array" - }, - "tokenOutputs": { - "items": { - "$ref": "#/components/schemas/Internal_TokenOutput" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "Transfer" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_HederaTickerProperties": { - "discriminator": { - "mapping": { - "FungibleToken": "#/components/schemas/Internal_HederaTickerProperties_FungibleToken", - "Native": "#/components/schemas/Internal_HederaTickerProperties_Native", - "NonFungibleToken": "#/components/schemas/Internal_HederaTickerProperties_NonFungibleToken" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_HederaTickerProperties_FungibleToken" - }, - { - "$ref": "#/components/schemas/Internal_HederaTickerProperties_Native" - }, - { - "$ref": "#/components/schemas/Internal_HederaTickerProperties_NonFungibleToken" - } - ] - }, - "Internal_HederaTickerProperties_FungibleToken": { - "properties": { - "id": { - "description": "String consisting Hedera Token Id", - "maxLength": 20, - "minLength": 5, - "type": "string" - }, - "type": { - "enum": [ - "FungibleToken" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_HederaTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_HederaTickerProperties_NonFungibleToken": { - "properties": { - "id": { - "description": "String consisting Hedera Token Id", - "maxLength": 20, - "minLength": 5, - "type": "string" - }, - "serialNumber": { - "format": "int64", - "type": "integer" - }, - "type": { - "enum": [ - "NonFungibleToken" - ], - "type": "string" - } - }, - "required": [ - "id", - "serialNumber", - "type" - ], - "type": "object" - }, - "Internal_HederaTransferOutput": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_IntentAuthor": { - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_IntentAuthor_Service" - }, - { - "$ref": "#/components/schemas/Internal_IntentAuthor_User" - } - ] - }, - "Internal_IntentAuthor_Service": { - "properties": { - "subject": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[\\x20-\\x7E]*$", - "type": "string" - } - }, - "required": [ - "subject" - ], - "type": "object" - }, - "Internal_IntentAuthor_User": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "id", - "domainId" - ], - "type": "object" - }, - "Internal_IntentClosed": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "IntentClosed" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_IntentContextResponse": { - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedAccount" - }, - "type": "array" - }, - "domains": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedDomain" - }, - "type": "array" - }, - "endpoints": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedEndpoint" - }, - "type": "array" - }, - "intents": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedIntent" - }, - "type": "array" - }, - "ledgers": { - "items": { - "$ref": "#/components/schemas/Internal_Ledger" - }, - "type": "array" - }, - "manifests": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedManifest" - }, - "type": "array" - }, - "policies": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedPolicy" - }, - "type": "array" - }, - "tickers": { - "items": { - "$ref": "#/components/schemas/Internal_ApiTicker" - }, - "type": "array" - }, - "transactionOrders": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedTransactionOrder" - }, - "type": "array" - }, - "transfers": { - "items": { - "$ref": "#/components/schemas/Internal_ApiTransfer" - }, - "type": "array" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedUser" - }, - "type": "array" - }, - "vaults": { - "items": { - "$ref": "#/components/schemas/Internal_TrustedVault" - }, - "type": "array" - } - }, - "required": [ - "accounts", - "domains", - "endpoints", - "intents", - "ledgers", - "policies", - "tickers", - "transactionOrders", - "transfers", - "users", - "vaults", - "manifests" - ], - "type": "object" - }, - "Internal_IntentCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "IntentCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_IntentDetails": { - "properties": { - "author": { - "$ref": "#/components/schemas/Internal_IntentAuthor" - }, - "expiryAt": { - "format": "date-time", - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_IntentMetadata" - }, - "payload": { - "$ref": "#/components/schemas/Internal_UserIntentPayload" - }, - "proposalSignature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "payload", - "expiryAt", - "author", - "targetDomainId", - "metadata", - "proposalSignature" - ], - "type": "object" - }, - "Internal_IntentEntity": { - "properties": { - "details": { - "$ref": "#/components/schemas/Internal_IntentDetails" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "state": { - "$ref": "#/components/schemas/Internal_IntentState" - } - }, - "required": [ - "id", - "details", - "state" - ], - "type": "object" - }, - "Internal_IntentError": { - "properties": { - "code": { - "$ref": "#/components/schemas/Internal_UserOperationRejectionCode" - }, - "message": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "code", - "message" - ], - "type": "object" - }, - "Internal_IntentExecuted": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "IntentExecuted" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_IntentLockStatus": { - "enum": [ - "Unlocked", - "Locked" - ], - "type": "string" - }, - "Internal_IntentMetadata": { - "properties": { - "createdAt": { - "format": "date-time", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "createdAt", - "customProperties" - ], - "type": "object" - }, - "Internal_IntentOrigin": { - "enum": [ - "UserSigned", - "SystemSigned" - ], - "type": "string" - }, - "Internal_IntentState": { - "properties": { - "error": { - "$ref": "#/components/schemas/Internal_IntentError" - }, - "lastModifiedAt": { - "format": "date-time", - "type": "string" - }, - "progressPerPolicy": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowProgress" - }, - "minItems": 1, - "type": "array" - }, - "status": { - "$ref": "#/components/schemas/Internal_IntentStatus" - } - }, - "required": [ - "status" - ], - "type": "object" - }, - "Internal_IntentStatus": { - "enum": [ - "Open", - "Approved", - "Executed", - "Failed", - "Expired", - "Rejected", - "Executing" - ], - "type": "string" - }, - "Internal_IntentType": { - "enum": [ - "v0_NotarizeData", - "v0_ExecuteExtension", - "v0_CreateDomain", - "v0_UpdateDomain", - "v0_UpdateDomainPermissions", - "v0_UnlockDomain", - "v0_LockDomain", - "v0_CreateUser", - "v0_UpdateUser", - "v0_UnlockUser", - "v0_LockUser", - "v0_CreatePolicy", - "v0_UpdatePolicy", - "v0_UnlockPolicy", - "v0_LockPolicy", - "v0_CreateVault", - "v0_UpdateVault", - "v0_UnlockVault", - "v0_LockVault", - "v0_RewrapVaultKeyMaterial", - "v0_UnlockTicker", - "v0_LockTicker", - "v0_CreateEndpoint", - "v0_UpdateEndpoint", - "v0_UnlockEndpoint", - "v0_LockEndpoint", - "v0_CreateAccount", - "v0_MigrateSilo3AccountBatch", - "v0_UpdateAccount", - "v0_UnlockAccount", - "v0_LockAccount", - "v0_AddAccountLedgers", - "v0_CreateTransactionOrder", - "v0_ReleaseQuarantinedTransfers", - "v0_CreateTicker", - "v0_AttemptTransactionOrderCancellation", - "v0_ValidateTickers", - "v0_UpdateTicker", - "v0_CreateTransferOrder", - "v0_SignManifest", - "v0_SetSystemProperty", - "v0_ConnectProvider", - "v0_RegisterMcoInstance", - "v0_RequestDepositInstructions", - "v0_CreateLedger", - "v0_UpdateLedger", - "v0_AddTrustedPublicKeysForMigration", - "v0_RegisterTrustedPublicKey", - "v0_AddProviderKey", - "v0_CreateBackup", - "v0_AcknowledgeBackup" - ], - "type": "string" - }, - "Internal_IntentUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "IntentUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_KeyType": { - "enum": [ - "Secp256r1", - "Secp256k1", - "Ed25519" - ], - "type": "string" - }, - "Internal_LarPhase1MigrationSanityCheck": { - "properties": { - "quarantineExceedsTotalBalance": { - "items": { - "$ref": "#/components/schemas/Internal_QuarantineExceedsTotalBalance" - }, - "type": "array" - } - }, - "required": [ - "quarantineExceedsTotalBalance" - ], - "type": "object" - }, - "Internal_Ledger": { - "properties": { - "alias": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "id": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_LedgerParameters" - } - }, - "required": [ - "id", - "alias", - "parameters", - "metadata" - ], - "type": "object" - }, - "Internal_LedgerCreated": { - "properties": { - "id": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "LedgerCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters": { - "discriminator": { - "mapping": { - "Algorand": "#/components/schemas/Internal_LedgerParameters_Algorand", - "Bitcoin": "#/components/schemas/Internal_LedgerParameters_Bitcoin", - "Canton": "#/components/schemas/Internal_LedgerParameters_Canton", - "Cardano": "#/components/schemas/Internal_LedgerParameters_Cardano", - "Ethereum": "#/components/schemas/Internal_LedgerParameters_Ethereum", - "External": "#/components/schemas/Internal_LedgerParameters_External", - "Hedera": "#/components/schemas/Internal_LedgerParameters_Hedera", - "Solana": "#/components/schemas/Internal_LedgerParameters_Solana", - "Stellar": "#/components/schemas/Internal_LedgerParameters_Stellar", - "Substrate": "#/components/schemas/Internal_LedgerParameters_Substrate", - "Sui": "#/components/schemas/Internal_LedgerParameters_Sui", - "Tezos": "#/components/schemas/Internal_LedgerParameters_Tezos", - "Tron": "#/components/schemas/Internal_LedgerParameters_Tron", - "XRPL": "#/components/schemas/Internal_LedgerParameters_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Algorand" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Bitcoin" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Canton" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Cardano" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_External" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Solana" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Substrate" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Sui" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Tezos" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_Tron" - }, - { - "$ref": "#/components/schemas/Internal_LedgerParameters_XRPL" - } - ] - }, - "Internal_LedgerParameters_Algorand": { - "properties": { - "genesisHash": { - "maxLength": 44, - "minLength": 44, - "type": "string" - }, - "genesisId": { - "maxLength": 50, - "minLength": 0, - "type": "string" - }, - "nativeTickerDecimals": { - "format": "int32", - "type": "integer" - }, - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Algorand" - ], - "type": "string" - } - }, - "required": [ - "genesisId", - "genesisHash", - "nativeTickerSymbol", - "nativeTickerName", - "nativeTickerDecimals", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Bitcoin": { - "properties": { - "dustLimit": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "network": { - "$ref": "#/components/schemas/Internal_Network" - }, - "supportsSegWit": { - "type": "boolean" - }, - "tickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "tickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Bitcoin" - ], - "type": "string" - }, - "vaultLedgerIdentifier": { - "$ref": "#/components/schemas/Internal_BitcoinLikeVaultLedgerIdentifier" - } - }, - "required": [ - "supportsSegWit", - "vaultLedgerIdentifier", - "network", - "tickerSymbol", - "tickerName", - "dustLimit", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Canton": { - "properties": { - "daRegistryOperator": { - "maxLength": 255, - "minLength": 5, - "type": "string" - }, - "dsoPartyId": { - "maxLength": 255, - "minLength": 5, - "type": "string" - }, - "operatorId": { - "maxLength": 255, - "minLength": 5, - "type": "string" - }, - "synchronizerId": { - "maxLength": 255, - "minLength": 5, - "type": "string" - }, - "type": { - "enum": [ - "Canton" - ], - "type": "string" - } - }, - "required": [ - "synchronizerId", - "operatorId", - "dsoPartyId", - "daRegistryOperator", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Cardano": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "testnetMagic": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "Cardano" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Ethereum": { - "properties": { - "chainId": { - "format": "int32", - "type": "integer" - }, - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "supportsEIP1559": { - "type": "boolean" - }, - "type": { - "enum": [ - "Ethereum" - ], - "type": "string" - }, - "vaultLedgerIdentifier": { - "$ref": "#/components/schemas/Internal_EthereumLikeVaultLedgerIdentifier" - } - }, - "required": [ - "chainId", - "vaultLedgerIdentifier", - "nativeTickerSymbol", - "nativeTickerName", - "supportsEIP1559", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_External": { - "properties": { - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Hedera": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Solana": { - "properties": { - "lamportsPerSignature": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Solana" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "lamportsPerSignature", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Stellar": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "networkPassphrase": { - "maxLength": 100, - "minLength": 12, - "type": "string" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "networkPassphrase", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Substrate": { - "properties": { - "addressPrefix": { - "maximum": 16383, - "minimum": 0, - "type": "integer" - }, - "genesisHash": { - "format": "^0x[a-f0-9]{64}$", - "type": "string" - }, - "nativeTickerDecimals": { - "format": "int32", - "type": "integer" - }, - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "supportedRuntimeVersions": { - "items": { - "$ref": "#/components/schemas/Internal_SubstrateRuntimeInfo" - }, - "type": "array" - }, - "type": { - "enum": [ - "Substrate" - ], - "type": "string" - } - }, - "required": [ - "genesisHash", - "addressPrefix", - "nativeTickerSymbol", - "nativeTickerName", - "nativeTickerDecimals", - "supportedRuntimeVersions", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Sui": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Sui" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Tezos": { - "properties": { - "chainId": { - "type": "string" - }, - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Tezos" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "chainId", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_Tron": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Tron" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "type" - ], - "type": "object" - }, - "Internal_LedgerParameters_XRPL": { - "properties": { - "nativeTickerName": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "nativeTickerSymbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "networkId": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "nativeTickerSymbol", - "nativeTickerName", - "networkId", - "type" - ], - "type": "object" - }, - "Internal_LedgerUpdated": { - "properties": { - "id": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "LedgerUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_Location": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "providerLocationId": { - "description": "ID of the location as reported by the provider", - "maxLength": 28, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "providerId", - "providerLocationId", - "alias", - "metadata" - ], - "type": "object" - }, - "Internal_LocationCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "LocationCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_LocationUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "LocationUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_LockStatus": { - "enum": [ - "Unlocked", - "Locked", - "Archived" - ], - "type": "string" - }, - "Internal_LoginId": { - "properties": { - "id": { - "description": "User identifier used by the provider.", - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "providerId": { - "description": "Login provider. For internal login, set to `harmonize`. For external identity providers, must match the provider name.", - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "providerId" - ], - "type": "object" - }, - "Internal_MPTokenIssuanceMetadata": { - "discriminator": { - "mapping": { - "HexEncodedMetadata": "#/components/schemas/Internal_MPTokenIssuanceMetadata_HexEncodedMetadata" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_MPTokenIssuanceMetadata_HexEncodedMetadata" - } - ] - }, - "Internal_MPTokenIssuanceMetadata_HexEncodedMetadata": { - "properties": { - "type": { - "enum": [ - "HexEncodedMetadata" - ], - "type": "string" - }, - "value": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_Manifest": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "content": { - "$ref": "#/components/schemas/Internal_ManifestContent" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_ManifestValue" - } - }, - "required": [ - "id", - "domainId", - "accountId", - "content", - "metadata" - ], - "type": "object" - }, - "Internal_ManifestContent": { - "discriminator": { - "mapping": { - "EIP-191": "#/components/schemas/Internal_ManifestContent_EIP-191", - "JWT": "#/components/schemas/Internal_ManifestContent_JWT", - "Unsafe": "#/components/schemas/Internal_ManifestContent_Unsafe" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ManifestContent_EIP-191" - }, - { - "$ref": "#/components/schemas/Internal_ManifestContent_JWT" - }, - { - "$ref": "#/components/schemas/Internal_ManifestContent_Unsafe" - } - ] - }, - "Internal_ManifestContent_EIP-191": { - "properties": { - "type": { - "enum": [ - "EIP-191" - ], - "type": "string" - }, - "value": { - "maxLength": 20002, - "minLength": 2, - "pattern": "^0[xX](([a-fA-F0-9][a-fA-F0-9])*)$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ManifestContent_JWT": { - "properties": { - "header": { - "$ref": "#/components/schemas/Internal_ManifestContent_JWT_Header" - }, - "payload": { - "$ref": "#/components/schemas/Internal_ManifestContent_JWT_Payload" - }, - "type": { - "enum": [ - "JWT" - ], - "type": "string" - } - }, - "required": [ - "header", - "payload", - "type" - ], - "type": "object" - }, - "Internal_ManifestContent_JWT_Header": { - "properties": { - "additionalParameters": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "algorithm": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "type": { - "maxLength": 75, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Internal_ManifestContent_JWT_Payload": { - "properties": { - "additionalClaims": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "audience": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "expiration": { - "format": "int64", - "type": "integer" - }, - "issuedAt": { - "format": "int64", - "type": "integer" - }, - "issuer": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "jwtId": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "notBefore": { - "format": "int64", - "type": "integer" - }, - "subject": { - "maxLength": 75, - "minLength": 1, - "type": "string" - } - }, - "type": "object" - }, - "Internal_ManifestContent_Unsafe": { - "properties": { - "type": { - "enum": [ - "Unsafe" - ], - "type": "string" - }, - "value": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ManifestCreated": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "ManifestCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_ManifestPending": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "manifestId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - } - }, - "required": [ - "domainId", - "manifestId", - "signedPayload" - ], - "type": "object" - }, - "Internal_ManifestUpdated": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "ManifestUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_ManifestValue": { - "discriminator": { - "mapping": { - "EIP-191": "#/components/schemas/Internal_ManifestValue_EIP-191", - "JWT": "#/components/schemas/Internal_ManifestValue_JWT", - "Unsafe": "#/components/schemas/Internal_ManifestValue_Unsafe" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ManifestValue_EIP-191" - }, - { - "$ref": "#/components/schemas/Internal_ManifestValue_JWT" - }, - { - "$ref": "#/components/schemas/Internal_ManifestValue_Unsafe" - } - ] - }, - "Internal_ManifestValue_EIP-191": { - "properties": { - "type": { - "enum": [ - "EIP-191" - ], - "type": "string" - }, - "value": { - "maxLength": 20002, - "minLength": 2, - "pattern": "^0[xX](([a-fA-F0-9][a-fA-F0-9])*)$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ManifestValue_JWT": { - "properties": { - "type": { - "enum": [ - "JWT" - ], - "type": "string" - }, - "value": { - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ManifestValue_Unsafe": { - "properties": { - "recoveryId": { - "format": "base64", - "type": "string" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "Unsafe" - ], - "type": "string" - } - }, - "required": [ - "signature", - "type" - ], - "type": "object" - }, - "Internal_Map_Account": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Account" - }, - "type": "object" - }, - "Internal_Map_AccountProvider": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_AccountProvider" - }, - "type": "object" - }, - "Internal_Map_Backup": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Backup" - }, - "type": "object" - }, - "Internal_Map_Domain": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Domain" - }, - "type": "object" - }, - "Internal_Map_Endpoint": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Endpoint" - }, - "type": "object" - }, - "Internal_Map_Ledger": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Ledger" - }, - "type": "object" - }, - "Internal_Map_Location": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Location" - }, - "type": "object" - }, - "Internal_Map_Manifest": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Manifest" - }, - "type": "object" - }, - "Internal_Map_Policy": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Policy" - }, - "type": "object" - }, - "Internal_Map_SystemProperty": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_SystemProperty" - }, - "type": "object" - }, - "Internal_Map_TransactionOrder": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_TransactionOrder" - }, - "type": "object" - }, - "Internal_Map_User": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_User" - }, - "type": "object" - }, - "Internal_Map_ValidatedTicker": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_ValidatedTicker" - }, - "type": "object" - }, - "Internal_Map_Vault": { - "additionalProperties": { - "$ref": "#/components/schemas/Internal_Vault" - }, - "type": "object" - }, - "Internal_McoInstanceRegistered": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "McoInstanceRegistered" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_McoProviderError": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "code": { - "type": "string" - }, - "message": { - "type": "string" - } - }, - "required": [ - "code" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_McoProviderStatus": { - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_Connected" - }, - { - "$ref": "#/components/schemas/Internal_Failed" - }, - { - "$ref": "#/components/schemas/Internal_Pending" - } - ] - }, - "Internal_McoTicker": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "mcoAssetId": { - "format": "uuid", - "type": "string" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "providerLocationId": { - "description": "ID of the location as reported by the provider", - "maxLength": 28, - "minLength": 1, - "type": "string" - }, - "suggestedLedgerDetails": { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - }, - "suggestedLedgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "underlyingTickerId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "providerId", - "mcoAssetId" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_Network": { - "enum": [ - "mainnet", - "testnet", - "regtest" - ], - "type": "string" - }, - "Internal_NonFungibleTokenDestination": { - "discriminator": { - "mapping": { - "NftTokenId": "#/components/schemas/Internal_NonFungibleTokenDestination_NftTokenId", - "Ticker": "#/components/schemas/Internal_NonFungibleTokenDestination_Ticker" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_NonFungibleTokenDestination_NftTokenId" - }, - { - "$ref": "#/components/schemas/Internal_NonFungibleTokenDestination_Ticker" - } - ] - }, - "Internal_NonFungibleTokenDestination_NftTokenId": { - "properties": { - "serialNumber": { - "format": "int64", - "type": "integer" - }, - "tokenId": { - "description": "String consisting Hedera Token Id", - "maxLength": 20, - "minLength": 5, - "type": "string" - }, - "type": { - "enum": [ - "NftTokenId" - ], - "type": "string" - } - }, - "required": [ - "tokenId", - "serialNumber", - "type" - ], - "type": "object" - }, - "Internal_NonFungibleTokenDestination_Ticker": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Ticker" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_NotaryApiKeyValue": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_NotaryCollectionsKeyValue": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_NotaryCommunicationKeyValue": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_NotarySystemSignedIntentsEnabledValue": { - "properties": { - "enabled": { - "type": "boolean" - } - }, - "required": [ - "enabled" - ], - "type": "object" - }, - "Internal_NotarySystemSigningKeyValue": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_Output": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "destinationTag": { - "maxLength": 1000, - "minLength": 0, - "type": "string" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_Pending": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_Permissions": { - "properties": { - "readAccess": { - "$ref": "#/components/schemas/Internal_ReadAccess" - } - }, - "required": [ - "readAccess" - ], - "type": "object" - }, - "Internal_Policy": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "condition": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "intentOrigin": { - "$ref": "#/components/schemas/Internal_IntentOrigin" - }, - "intentTypes": { - "items": { - "$ref": "#/components/schemas/Internal_IntentType" - }, - "type": "array" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "rank": { - "format": "int32", - "maximum": 1000, - "minimum": 0, - "type": "integer" - }, - "scope": { - "$ref": "#/components/schemas/Internal_PolicyScope" - }, - "scriptingEngine": { - "$ref": "#/components/schemas/Internal_ScriptingEngine" - }, - "workflow": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": "array" - } - }, - "required": [ - "id", - "domainId", - "alias", - "rank", - "scope", - "scriptingEngine", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_PolicyCondition": { - "discriminator": { - "mapping": { - "And": "#/components/schemas/Internal_PolicyCondition_And", - "Expression": "#/components/schemas/Internal_PolicyCondition_Expression", - "Or": "#/components/schemas/Internal_PolicyCondition_Or" - }, - "propertyName": "type" - }, - "example": { - "left": { - "left": { - "expression": "true == true", - "type": "Expression" - }, - "right": { - "expression": "false == true", - "type": "Expression" - }, - "type": "And" - }, - "right": { - "left": { - "expression": "true == false", - "type": "Expression" - }, - "right": { - "expression": "false == false", - "type": "Expression" - }, - "type": "Or" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_PolicyCondition_And" - }, - { - "$ref": "#/components/schemas/Internal_PolicyCondition_Expression" - }, - { - "$ref": "#/components/schemas/Internal_PolicyCondition_Or" - } - ] - }, - "Internal_PolicyCondition_And": { - "properties": { - "left": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "right": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "type": { - "enum": [ - "And" - ], - "type": "string" - } - }, - "required": [ - "left", - "right", - "type" - ], - "type": "object" - }, - "Internal_PolicyCondition_Expression": { - "properties": { - "expression": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Expression" - ], - "type": "string" - } - }, - "required": [ - "expression", - "type" - ], - "type": "object" - }, - "Internal_PolicyCondition_Or": { - "properties": { - "left": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "right": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "type": { - "enum": [ - "Or" - ], - "type": "string" - } - }, - "required": [ - "left", - "right", - "type" - ], - "type": "object" - }, - "Internal_PolicyCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "PolicyCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_PolicyReference": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "id", - "revision", - "domainId" - ], - "type": "object" - }, - "Internal_PolicyScope": { - "enum": [ - "Self", - "Descendants", - "SelfAndDescendants" - ], - "type": "string" - }, - "Internal_PolicyUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "PolicyUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_PreferredAddressForChange": { - "description": "Hint for specifically bitcoin ledgers to have the transaction happen with addressForChange PrimaryAddress - so change utxo goes to address \\0\\0 - aligned with dry-runs - rather than the default generate a new chain-internal address.", - "enum": [ - "PrimaryAddress" - ], - "type": "string" - }, - "Internal_ProposalPayload": { - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_Propose" - }, - { - "$ref": "#/components/schemas/Internal_ServicePropose" - } - ] - }, - "Internal_Propose": { - "properties": { - "author": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "expiryAt": { - "format": "date-time", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/Internal_ProposeUserIntentPayload" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Propose" - ], - "type": "string" - } - }, - "required": [ - "author", - "expiryAt", - "targetDomainId", - "id", - "payload", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_ProposeTransactionOrderParameters": { - "discriminator": { - "mapping": { - "Algorand": "#/components/schemas/Internal_TransactionOrderParameters_Algorand", - "Bitcoin": "#/components/schemas/Internal_TransactionOrderParameters_Bitcoin", - "Canton": "#/components/schemas/Internal_TransactionOrderParameters_Canton", - "Cardano": "#/components/schemas/Internal_TransactionOrderParameters_Cardano", - "Ethereum": "#/components/schemas/Internal_TransactionOrderParameters_Ethereum", - "External": "#/components/schemas/Internal_TransactionOrderParameters_External", - "Hedera": "#/components/schemas/Internal_TransactionOrderParameters_Hedera", - "Solana": "#/components/schemas/Internal_TransactionOrderParameters_Solana", - "Stellar": "#/components/schemas/Internal_TransactionOrderParameters_Stellar", - "Substrate": "#/components/schemas/Internal_TransactionOrderParameters_Substrate", - "Sui": "#/components/schemas/Internal_TransactionOrderParameters_Sui", - "Tezos": "#/components/schemas/Internal_TransactionOrderParameters_Tezos", - "Tron": "#/components/schemas/Internal_TransactionOrderParameters_Tron", - "XRPL": "#/components/schemas/Internal_TransactionOrderParameters_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Algorand" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Bitcoin" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Canton" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Cardano" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_External" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Solana" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Substrate" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Sui" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Tezos" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Tron" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_XRPL" - } - ] - }, - "Internal_ProposeUserIntentPayload": { - "discriminator": { - "mapping": { - "v0_AcknowledgeBackup": "#/components/schemas/Internal_v0_AcknowledgeBackup", - "v0_AddAccountLedgers": "#/components/schemas/Internal_v0_AddAccountLedgers", - "v0_AddProviderKey": "#/components/schemas/Internal_v0_AddProviderKey", - "v0_AddTrustedPublicKeysForMigration": "#/components/schemas/Internal_v0_AddTrustedPublicKeysForMigration", - "v0_AttemptTransactionOrderCancellation": "#/components/schemas/Internal_v0_AttemptTransactionOrderCancellation", - "v0_ConnectProvider": "#/components/schemas/Internal_v0_ConnectProvider", - "v0_CreateAccount": "#/components/schemas/Internal_v0_CreateAccount", - "v0_CreateBackup": "#/components/schemas/Internal_v0_CreateBackup", - "v0_CreateDomain": "#/components/schemas/Internal_v0_CreateDomain", - "v0_CreateEndpoint": "#/components/schemas/Internal_v0_CreateEndpoint", - "v0_CreateLedger": "#/components/schemas/Internal_v0_CreateLedger", - "v0_CreatePolicy": "#/components/schemas/Internal_v0_CreatePolicy", - "v0_CreateTicker": "#/components/schemas/Internal_v0_CreateTicker", - "v0_CreateTransactionOrder": "#/components/schemas/Internal_Propose_v0_CreateTransactionOrder", - "v0_CreateTransferOrder": "#/components/schemas/Internal_v0_CreateTransferOrder", - "v0_CreateUser": "#/components/schemas/Internal_v0_CreateUser", - "v0_CreateVault": "#/components/schemas/Internal_v0_CreateVault", - "v0_ExecuteExtension": "#/components/schemas/Internal_v0_ExecuteExtension", - "v0_LockAccount": "#/components/schemas/Internal_v0_LockAccount", - "v0_LockDomain": "#/components/schemas/Internal_v0_LockDomain", - "v0_LockEndpoint": "#/components/schemas/Internal_v0_LockEndpoint", - "v0_LockPolicy": "#/components/schemas/Internal_v0_LockPolicy", - "v0_LockTicker": "#/components/schemas/Internal_v0_LockTicker", - "v0_LockUser": "#/components/schemas/Internal_v0_LockUser", - "v0_LockVault": "#/components/schemas/Internal_v0_LockVault", - "v0_MigrateSilo3AccountBatch": "#/components/schemas/Internal_v0_MigrateSilo3AccountBatch", - "v0_NotarizeData": "#/components/schemas/Internal_v0_NotarizeData", - "v0_RegisterMcoInstance": "#/components/schemas/Internal_v0_RegisterMcoInstance", - "v0_RegisterTrustedPublicKey": "#/components/schemas/Internal_v0_RegisterTrustedPublicKey", - "v0_ReleaseQuarantinedTransfers": "#/components/schemas/Internal_v0_ReleaseQuarantinedTransfers", - "v0_RequestDepositInstructions": "#/components/schemas/Internal_v0_RequestDepositInstructions", - "v0_RewrapVaultKeyMaterial": "#/components/schemas/Internal_v0_RewrapVaultKeyMaterial", - "v0_SetSystemProperty": "#/components/schemas/Internal_v0_SetSystemProperty", - "v0_SignManifest": "#/components/schemas/Internal_v0_SignManifest", - "v0_UnlockAccount": "#/components/schemas/Internal_v0_UnlockAccount", - "v0_UnlockDomain": "#/components/schemas/Internal_v0_UnlockDomain", - "v0_UnlockEndpoint": "#/components/schemas/Internal_v0_UnlockEndpoint", - "v0_UnlockPolicy": "#/components/schemas/Internal_v0_UnlockPolicy", - "v0_UnlockTicker": "#/components/schemas/Internal_v0_UnlockTicker", - "v0_UnlockUser": "#/components/schemas/Internal_v0_UnlockUser", - "v0_UnlockVault": "#/components/schemas/Internal_v0_UnlockVault", - "v0_UpdateAccount": "#/components/schemas/Internal_v0_UpdateAccount", - "v0_UpdateDomain": "#/components/schemas/Internal_v0_UpdateDomain", - "v0_UpdateDomainPermissions": "#/components/schemas/Internal_v0_UpdateDomainPermissions", - "v0_UpdateEndpoint": "#/components/schemas/Internal_v0_UpdateEndpoint", - "v0_UpdateLedger": "#/components/schemas/Internal_v0_UpdateLedger", - "v0_UpdatePolicy": "#/components/schemas/Internal_v0_UpdatePolicy", - "v0_UpdateTicker": "#/components/schemas/Internal_v0_UpdateTicker", - "v0_UpdateUser": "#/components/schemas/Internal_v0_UpdateUser", - "v0_UpdateVault": "#/components/schemas/Internal_v0_UpdateVault", - "v0_ValidateTickers": "#/components/schemas/Internal_v0_ValidateTickers" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_Propose_v0_CreateTransactionOrder" - }, - { - "$ref": "#/components/schemas/Internal_v0_AcknowledgeBackup" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddAccountLedgers" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddProviderKey" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddTrustedPublicKeysForMigration" - }, - { - "$ref": "#/components/schemas/Internal_v0_AttemptTransactionOrderCancellation" - }, - { - "$ref": "#/components/schemas/Internal_v0_ConnectProvider" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateBackup" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateLedger" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreatePolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateTransferOrder" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_ExecuteExtension" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockPolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_MigrateSilo3AccountBatch" - }, - { - "$ref": "#/components/schemas/Internal_v0_NotarizeData" - }, - { - "$ref": "#/components/schemas/Internal_v0_RegisterMcoInstance" - }, - { - "$ref": "#/components/schemas/Internal_v0_RegisterTrustedPublicKey" - }, - { - "$ref": "#/components/schemas/Internal_v0_ReleaseQuarantinedTransfers" - }, - { - "$ref": "#/components/schemas/Internal_v0_RequestDepositInstructions" - }, - { - "$ref": "#/components/schemas/Internal_v0_RewrapVaultKeyMaterial" - }, - { - "$ref": "#/components/schemas/Internal_v0_SetSystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_v0_SignManifest" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockPolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateDomainPermissions" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateLedger" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdatePolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_ValidateTickers" - } - ] - }, - "Internal_Propose_v0_CreateTransactionOrder": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_ProposeTransactionOrderParameters" - }, - "type": { - "enum": [ - "v0_CreateTransactionOrder" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountId", - "parameters", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_QuarantineApplied": { - "properties": { - "transferId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "QuarantineApplied" - ], - "type": "string" - } - }, - "required": [ - "transferId", - "type" - ], - "type": "object" - }, - "Internal_QuarantineExceedsTotalBalance": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "excessAmount": { - "description": "This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "quarantinedAmount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "quarantinedTransfers": { - "items": { - "$ref": "#/components/schemas/Internal_QuarantinedTransfer" - }, - "type": "array" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "totalAmount": { - "description": "This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - } - }, - "required": [ - "accountId", - "domainId", - "tickerId", - "totalAmount", - "quarantinedAmount", - "excessAmount", - "quarantinedTransfers" - ], - "type": "object" - }, - "Internal_QuarantineSkipped": { - "properties": { - "transferId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "QuarantineSkipped" - ], - "type": "string" - } - }, - "required": [ - "transferId", - "type" - ], - "type": "object" - }, - "Internal_QuarantineStatus": { - "enum": [ - "Quarantined", - "Released", - "Skipped" - ], - "type": "string" - }, - "Internal_QuarantinedTransfer": { - "properties": { - "registeredAt": { - "format": "date-time", - "type": "string" - }, - "transactionId": { - "format": "uuid", - "type": "string" - }, - "transferId": { - "format": "uuid", - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "transferId", - "value", - "registeredAt" - ], - "type": "object" - }, - "Internal_ReadAccess": { - "properties": { - "accounts": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "domains": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "endpoints": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "events": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "policies": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "requests": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "transactions": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - }, - "users": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domains", - "users", - "endpoints", - "policies", - "accounts", - "transactions", - "requests", - "events" - ], - "type": "object" - }, - "Internal_ReadWriteSystemPropertyKeyValue": { - "discriminator": { - "mapping": { - "AntiRewindModeProperty": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_AntiRewindModeProperty", - "NotarySystemSignedIntentsEnabledProperty": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_NotarySystemSignedIntentsEnabledProperty", - "StateReviewAuthorityProperty": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_StateReviewAuthorityProperty" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_AntiRewindModeProperty" - }, - { - "$ref": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_NotarySystemSignedIntentsEnabledProperty" - }, - { - "$ref": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue_StateReviewAuthorityProperty" - } - ] - }, - "Internal_ReadWriteSystemPropertyKeyValue_AntiRewindModeProperty": { - "properties": { - "type": { - "enum": [ - "AntiRewindModeProperty" - ], - "type": "string" - }, - "value": { - "$ref": "#/components/schemas/Internal_AntiRewindModeValue" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ReadWriteSystemPropertyKeyValue_NotarySystemSignedIntentsEnabledProperty": { - "properties": { - "type": { - "enum": [ - "NotarySystemSignedIntentsEnabledProperty" - ], - "type": "string" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotarySystemSignedIntentsEnabledValue" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_ReadWriteSystemPropertyKeyValue_StateReviewAuthorityProperty": { - "properties": { - "type": { - "enum": [ - "StateReviewAuthorityProperty" - ], - "type": "string" - }, - "value": { - "$ref": "#/components/schemas/Internal_StateReviewAuthorityValue" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_RecipientTransferParty": { - "discriminator": { - "mapping": { - "Account": "#/components/schemas/Internal_RecipientTransferParty_Account", - "Address": "#/components/schemas/Internal_RecipientTransferParty_Address" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_RecipientTransferParty_Account" - }, - { - "$ref": "#/components/schemas/Internal_RecipientTransferParty_Address" - } - ] - }, - "Internal_RecipientTransferParty_Account": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "address": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "addressDetails": { - "$ref": "#/components/schemas/Internal_AddressDetails" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Account" - ], - "type": "string" - } - }, - "required": [ - "domainId", - "accountId", - "type" - ], - "type": "object" - }, - "Internal_RecipientTransferParty_Address": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "addressDetails": { - "$ref": "#/components/schemas/Internal_AddressDetails" - }, - "type": { - "enum": [ - "Address" - ], - "type": "string" - } - }, - "required": [ - "address", - "addressDetails", - "type" - ], - "type": "object" - }, - "Internal_ResolvedEndpoint": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "endpointId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "endpointId", - "domainId" - ], - "type": "object" - }, - "Internal_RewrapPending": { - "properties": { - "rewrapSecretMaterialsId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "rewrapSecretMaterialsId", - "vaultId", - "signedPayload" - ], - "type": "object" - }, - "Internal_RewrapPrepared": { - "properties": { - "rewrapSecretMaterialsId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "rewrapSecretMaterialsId", - "vaultId", - "signedPayload" - ], - "type": "object" - }, - "Internal_RootDomainSetup": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "descendants": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainsPayload" - }, - "type": "array" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "governingStrategy": { - "$ref": "#/components/schemas/Internal_GoverningStrategy" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "permissions": { - "$ref": "#/components/schemas/Internal_Permissions" - }, - "policies": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisPolicy" - }, - "type": "array" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisUser" - }, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "lock", - "permissions", - "customProperties", - "users", - "policies" - ], - "type": "object" - }, - "Internal_ScriptingEngine": { - "enum": [ - "Javascript_v0" - ], - "type": "string" - }, - "Internal_SenderTransferParty": { - "discriminator": { - "mapping": { - "Account": "#/components/schemas/Internal_SenderTransferParty_Account", - "Address": "#/components/schemas/Internal_SenderTransferParty_Address" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SenderTransferParty_Account" - }, - { - "$ref": "#/components/schemas/Internal_SenderTransferParty_Address" - } - ] - }, - "Internal_SenderTransferParty_Account": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "addresses": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "items": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "addressesDetails": { - "items": { - "$ref": "#/components/schemas/Internal_AddressDetails" - }, - "type": "array" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Account" - ], - "type": "string" - } - }, - "required": [ - "domainId", - "accountId", - "type" - ], - "type": "object" - }, - "Internal_SenderTransferParty_Address": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "addressDetails": { - "$ref": "#/components/schemas/Internal_AddressDetails" - }, - "type": { - "enum": [ - "Address" - ], - "type": "string" - } - }, - "required": [ - "address", - "addressDetails", - "type" - ], - "type": "object" - }, - "Internal_ServicePropose": { - "properties": { - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "expiryAt": { - "format": "date-time", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/Internal_UserIntentPayload" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "expiryAt", - "targetDomainId", - "id", - "payload", - "customProperties" - ], - "type": "object" - }, - "Internal_SignedAccountPending": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - } - }, - "required": [ - "domainId", - "accountId", - "signedPayload" - ], - "type": "object" - }, - "Internal_SignedManifestPending": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "manifestId": { - "format": "uuid", - "type": "string" - }, - "signedPayload": { - "type": "string" - } - }, - "required": [ - "domainId", - "manifestId", - "signedPayload" - ], - "type": "object" - }, - "Internal_SignedVaultPending": { - "properties": { - "signedPayload": { - "type": "string" - } - }, - "required": [ - "signedPayload" - ], - "type": "object" - }, - "Internal_SkipQuarantineScope": { - "enum": [ - "None", - "Domain", - "Instance" - ], - "type": "string" - }, - "Internal_SolanaFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_SolanaFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SolanaFeeStrategy_Priority" - } - ] - }, - "Internal_SolanaFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_SolanaMintAccount": { - "discriminator": { - "mapping": { - "Destination": "#/components/schemas/Internal_SolanaMintAccount_Destination", - "Ticker": "#/components/schemas/Internal_SolanaMintAccount_Ticker" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SolanaMintAccount_Destination" - }, - { - "$ref": "#/components/schemas/Internal_SolanaMintAccount_Ticker" - } - ] - }, - "Internal_SolanaMintAccount_Destination": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Destination" - ], - "type": "string" - } - }, - "required": [ - "destination", - "type" - ], - "type": "object" - }, - "Internal_SolanaMintAccount_Ticker": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Ticker" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation": { - "discriminator": { - "mapping": { - "Burn": "#/components/schemas/Internal_SolanaOperation_Burn", - "CreateNonceAccount": "#/components/schemas/Internal_SolanaOperation_CreateNonceAccount", - "FundAtaAccount": "#/components/schemas/Internal_SolanaOperation_FundAtaAccount", - "InitializeMint": "#/components/schemas/Internal_SolanaOperation_InitializeMint", - "MintTo": "#/components/schemas/Internal_SolanaOperation_MintTo", - "Transfer": "#/components/schemas/Internal_SolanaOperation_Transfer", - "TransferToken": "#/components/schemas/Internal_SolanaOperation_TransferToken" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SolanaOperation_Burn" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_CreateNonceAccount" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_FundAtaAccount" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_InitializeMint" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_MintTo" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_Transfer" - }, - { - "$ref": "#/components/schemas/Internal_SolanaOperation_TransferToken" - } - ] - }, - "Internal_SolanaOperation_Burn": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "mintAccount": { - "$ref": "#/components/schemas/Internal_SolanaMintAccount" - }, - "type": { - "enum": [ - "Burn" - ], - "type": "string" - } - }, - "required": [ - "mintAccount", - "amount", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_CreateNonceAccount": { - "properties": { - "createOnAccount": { - "format": "uuid", - "type": "string" - }, - "nonceAuthority": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "CreateNonceAccount" - ], - "type": "string" - } - }, - "required": [ - "createOnAccount", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_FundAtaAccount": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "mintAccount": { - "$ref": "#/components/schemas/Internal_SolanaMintAccount" - }, - "type": { - "enum": [ - "FundAtaAccount" - ], - "type": "string" - } - }, - "required": [ - "mintAccount", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_InitializeMint": { - "properties": { - "decimals": { - "format": "int32", - "minimum": 0, - "type": "integer" - }, - "mintAccount": { - "format": "uuid", - "type": "string" - }, - "tokenType": { - "$ref": "#/components/schemas/Internal_SolanaTokenType" - }, - "type": { - "enum": [ - "InitializeMint" - ], - "type": "string" - } - }, - "required": [ - "mintAccount", - "decimals", - "tokenType", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_MintTo": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "mintAccount": { - "$ref": "#/components/schemas/Internal_SolanaMintAccount" - }, - "type": { - "enum": [ - "MintTo" - ], - "type": "string" - } - }, - "required": [ - "destination", - "mintAccount", - "amount", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_Transfer": { - "properties": { - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_SolanaTransferOutput" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "Transfer" - ], - "type": "string" - } - }, - "required": [ - "outputs", - "type" - ], - "type": "object" - }, - "Internal_SolanaOperation_TransferToken": { - "properties": { - "mintAccount": { - "$ref": "#/components/schemas/Internal_SolanaMintAccount" - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_SolanaTransferOutput" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "TransferToken" - ], - "type": "string" - } - }, - "required": [ - "outputs", - "mintAccount", - "type" - ], - "type": "object" - }, - "Internal_SolanaTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_SolanaTickerProperties_Native", - "Token": "#/components/schemas/Internal_SolanaTickerProperties_Token" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SolanaTickerProperties_Native" - }, - { - "$ref": "#/components/schemas/Internal_SolanaTickerProperties_Token" - } - ] - }, - "Internal_SolanaTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SolanaTickerProperties_Token": { - "properties": { - "mint": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "tokenType": { - "$ref": "#/components/schemas/Internal_SolanaTokenType" - }, - "type": { - "enum": [ - "Token" - ], - "type": "string" - } - }, - "required": [ - "mint", - "tokenType", - "type" - ], - "type": "object" - }, - "Internal_SolanaTokenType": { - "enum": [ - "SPL", - "SPL2022" - ], - "type": "string" - }, - "Internal_SolanaTransferOutput": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - }, - "required": [ - "destination", - "amount" - ], - "type": "object" - }, - "Internal_SortOrder": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - }, - "Internal_StateReviewAuthorityValue": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - } - }, - "required": [ - "publicKey" - ], - "type": "object" - }, - "Internal_StellarAsset": { - "properties": { - "code": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 512, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "code", - "issuer" - ], - "type": "object" - }, - "Internal_StellarFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_StellarFeeStrategy_Priority", - "SpecifiedRate": "#/components/schemas/Internal_StellarFeeStrategy_SpecifiedRate" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_StellarFeeStrategy_Priority" - }, - { - "$ref": "#/components/schemas/Internal_StellarFeeStrategy_SpecifiedRate" - } - ] - }, - "Internal_StellarFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_StellarFeeStrategy_SpecifiedRate": { - "properties": { - "baseFee": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "SpecifiedRate" - ], - "type": "string" - } - }, - "required": [ - "baseFee", - "type" - ], - "type": "object" - }, - "Internal_StellarMemo": { - "discriminator": { - "mapping": { - "Hash": "#/components/schemas/Internal_StellarMemo_Hash", - "Id": "#/components/schemas/Internal_StellarMemo_Id", - "Return": "#/components/schemas/Internal_StellarMemo_Return", - "Text": "#/components/schemas/Internal_StellarMemo_Text" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_StellarMemo_Hash" - }, - { - "$ref": "#/components/schemas/Internal_StellarMemo_Id" - }, - { - "$ref": "#/components/schemas/Internal_StellarMemo_Return" - }, - { - "$ref": "#/components/schemas/Internal_StellarMemo_Text" - } - ] - }, - "Internal_StellarMemo_Hash": { - "properties": { - "type": { - "enum": [ - "Hash" - ], - "type": "string" - }, - "value": { - "description": "Hex encoded stellar hash.", - "maxLength": 64, - "minLength": 64, - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_StellarMemo_Id": { - "properties": { - "type": { - "enum": [ - "Id" - ], - "type": "string" - }, - "value": { - "description": "This field is a unsigned 64bit integer that can store values in range from 0 to 18446744073709551615.It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "maximum": 18446744073709552000, - "minimum": 0, - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_StellarMemo_Return": { - "properties": { - "type": { - "enum": [ - "Return" - ], - "type": "string" - }, - "value": { - "description": "Hex encoded stellar hash.", - "maxLength": 64, - "minLength": 64, - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_StellarMemo_Text": { - "properties": { - "type": { - "enum": [ - "Text" - ], - "type": "string" - }, - "value": { - "description": "String encoded using either ASCII or UTF-8, up to 28-bytes long", - "maxLength": 28, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_StellarOperation": { - "discriminator": { - "mapping": { - "AccountMerge": "#/components/schemas/Internal_StellarOperation_AccountMerge", - "ChangeTrust": "#/components/schemas/Internal_StellarOperation_ChangeTrust", - "CreateAccount": "#/components/schemas/Internal_StellarOperation_CreateAccount", - "Payment": "#/components/schemas/Internal_StellarOperation_Payment", - "SetOptions": "#/components/schemas/Internal_StellarOperation_SetOptions" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_StellarOperation_AccountMerge" - }, - { - "$ref": "#/components/schemas/Internal_StellarOperation_ChangeTrust" - }, - { - "$ref": "#/components/schemas/Internal_StellarOperation_CreateAccount" - }, - { - "$ref": "#/components/schemas/Internal_StellarOperation_Payment" - }, - { - "$ref": "#/components/schemas/Internal_StellarOperation_SetOptions" - } - ] - }, - "Internal_StellarOperation_AccountMerge": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "AccountMerge" - ], - "type": "string" - } - }, - "required": [ - "destination", - "type" - ], - "type": "object" - }, - "Internal_StellarOperation_ChangeTrust": { - "properties": { - "asset": { - "$ref": "#/components/schemas/Internal_StellarAsset" - }, - "limit": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "type": { - "enum": [ - "ChangeTrust" - ], - "type": "string" - } - }, - "required": [ - "limit", - "asset", - "type" - ], - "type": "object" - }, - "Internal_StellarOperation_CreateAccount": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "startingBalance": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "type": { - "enum": [ - "CreateAccount" - ], - "type": "string" - } - }, - "required": [ - "destination", - "startingBalance", - "type" - ], - "type": "object" - }, - "Internal_StellarOperation_Payment": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "asset": { - "$ref": "#/components/schemas/Internal_StellarAsset" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Payment" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_StellarOperation_SetOptions": { - "properties": { - "option": { - "$ref": "#/components/schemas/Internal_StellarOption" - }, - "type": { - "enum": [ - "SetOptions" - ], - "type": "string" - } - }, - "required": [ - "option", - "type" - ], - "type": "object" - }, - "Internal_StellarOption": { - "discriminator": { - "mapping": { - "OptionHomeDomain": "#/components/schemas/Internal_StellarOption_OptionHomeDomain", - "OptionSetFlag": "#/components/schemas/Internal_StellarOption_OptionSetFlag" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_StellarOption_OptionHomeDomain" - }, - { - "$ref": "#/components/schemas/Internal_StellarOption_OptionSetFlag" - } - ] - }, - "Internal_StellarOption_OptionHomeDomain": { - "properties": { - "homeDomain": { - "type": "string" - }, - "type": { - "enum": [ - "OptionHomeDomain" - ], - "type": "string" - } - }, - "required": [ - "homeDomain", - "type" - ], - "type": "object" - }, - "Internal_StellarOption_OptionSetFlag": { - "properties": { - "setFlag": { - "$ref": "#/components/schemas/Internal_Stellar_OptionFlag" - }, - "type": { - "enum": [ - "OptionSetFlag" - ], - "type": "string" - } - }, - "required": [ - "setFlag", - "type" - ], - "type": "object" - }, - "Internal_StellarTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_StellarTickerProperties_Native", - "Token": "#/components/schemas/Internal_StellarTickerProperties_Token" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_StellarTickerProperties_Native" - }, - { - "$ref": "#/components/schemas/Internal_StellarTickerProperties_Token" - } - ] - }, - "Internal_StellarTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_StellarTickerProperties_Token": { - "properties": { - "code": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Token" - ], - "type": "string" - } - }, - "required": [ - "code", - "issuer", - "type" - ], - "type": "object" - }, - "Internal_Stellar_OptionFlag": { - "enum": [ - "AuthImmutable" - ], - "type": "string" - }, - "Internal_StringsMap": { - "additionalProperties": { - "type": "string" - }, - "type": "object" - }, - "Internal_SubmittedTransactionPending": { - "properties": { - "transactionId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionId" - ], - "type": "object" - }, - "Internal_SubmittedTransactionPrepared": { - "properties": { - "signedPayload": { - "type": "string" - }, - "transactionId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionId", - "signedPayload" - ], - "type": "object" - }, - "Internal_Submitter": { - "discriminator": { - "mapping": { - "Service": "#/components/schemas/Internal_Submitter_Service", - "User": "#/components/schemas/Internal_Submitter_User" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_Submitter_Service" - }, - { - "$ref": "#/components/schemas/Internal_Submitter_User" - } - ] - }, - "Internal_Submitter_Service": { - "properties": { - "custodyRoles": { - "items": { - "maxLength": 255, - "minLength": 1, - "pattern": "[A-Za-z0-9_.:\\-]+", - "type": "string" - }, - "type": "array" - }, - "subject": { - "maxLength": 255, - "minLength": 1, - "pattern": "^[\\x20-\\x7E]*$", - "type": "string" - }, - "type": { - "enum": [ - "Service" - ], - "type": "string" - } - }, - "required": [ - "subject", - "custodyRoles", - "type" - ], - "type": "object" - }, - "Internal_Submitter_User": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "type": { - "enum": [ - "User" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_SubstrateBalancesMethod": { - "discriminator": { - "mapping": { - "TransferKeepAlive": "#/components/schemas/Internal_SubstrateBalancesMethod_TransferKeepAlive" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateBalancesMethod_TransferKeepAlive" - } - ] - }, - "Internal_SubstrateBalancesMethod_TransferKeepAlive": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "TransferKeepAlive" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_SubstrateChainType": { - "enum": [ - "RelayChain", - "AssetHub" - ], - "type": "string" - }, - "Internal_SubstrateFeeParameters": { - "discriminator": { - "mapping": { - "TransactionPayment": "#/components/schemas/Internal_SubstrateFeeParameters_TransactionPayment" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateFeeParameters_TransactionPayment" - } - ] - }, - "Internal_SubstrateFeeParameters_TransactionPayment": { - "properties": { - "baseExtrinsic": { - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "readWeight": { - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "transactionByteFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "type": { - "enum": [ - "TransactionPayment" - ], - "type": "string" - }, - "weightToFeePolynomial": { - "items": { - "description": "This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": "array" - }, - "writeWeight": { - "format": "int64", - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "baseExtrinsic", - "readWeight", - "writeWeight", - "transactionByteFee", - "weightToFeePolynomial", - "type" - ], - "type": "object" - }, - "Internal_SubstrateFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_SubstrateFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateFeeStrategy_Priority" - } - ] - }, - "Internal_SubstrateFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_SubstrateMethodFeeParameters": { - "discriminator": { - "mapping": { - "MethodWeight": "#/components/schemas/Internal_SubstrateMethodFeeParameters_MethodWeight" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateMethodFeeParameters_MethodWeight" - } - ] - }, - "Internal_SubstrateMethodFeeParameters_MethodWeight": { - "properties": { - "base": { - "format": "int64", - "minimum": 0, - "type": "integer" - }, - "reads": { - "format": "int32", - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "MethodWeight" - ], - "type": "string" - }, - "writes": { - "format": "int32", - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "base", - "reads", - "writes", - "type" - ], - "type": "object" - }, - "Internal_SubstrateMethodInfo": { - "properties": { - "feeParameters": { - "$ref": "#/components/schemas/Internal_SubstrateMethodFeeParameters" - }, - "methodId": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "methodId", - "feeParameters" - ], - "type": "object" - }, - "Internal_SubstratePallet": { - "discriminator": { - "mapping": { - "Balances": "#/components/schemas/Internal_SubstratePallet_Balances", - "Staking": "#/components/schemas/Internal_SubstratePallet_Staking" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstratePallet_Balances" - }, - { - "$ref": "#/components/schemas/Internal_SubstratePallet_Staking" - } - ] - }, - "Internal_SubstratePalletInfo": { - "properties": { - "methods": { - "items": { - "$ref": "#/components/schemas/Internal_SubstrateMethodInfo" - }, - "type": "array" - }, - "moduleId": { - "format": "int32", - "type": "integer" - }, - "name": { - "type": "string" - } - }, - "required": [ - "name", - "moduleId", - "methods" - ], - "type": "object" - }, - "Internal_SubstratePallet_Balances": { - "properties": { - "method": { - "$ref": "#/components/schemas/Internal_SubstrateBalancesMethod" - }, - "type": { - "enum": [ - "Balances" - ], - "type": "string" - } - }, - "required": [ - "method", - "type" - ], - "type": "object" - }, - "Internal_SubstratePallet_Staking": { - "properties": { - "method": { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod" - }, - "type": { - "enum": [ - "Staking" - ], - "type": "string" - } - }, - "required": [ - "method", - "type" - ], - "type": "object" - }, - "Internal_SubstrateRuntimeInfo": { - "properties": { - "chainType": { - "$ref": "#/components/schemas/Internal_SubstrateChainType" - }, - "feeParameters": { - "$ref": "#/components/schemas/Internal_SubstrateFeeParameters" - }, - "pallets": { - "items": { - "$ref": "#/components/schemas/Internal_SubstratePalletInfo" - }, - "type": "array" - }, - "transactionVersion": { - "format": "int32", - "type": "integer" - } - }, - "required": [ - "transactionVersion", - "feeParameters", - "pallets" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod": { - "discriminator": { - "mapping": { - "Bond": "#/components/schemas/Internal_SubstrateStakingMethod_Bond", - "BondExtra": "#/components/schemas/Internal_SubstrateStakingMethod_BondExtra", - "Chill": "#/components/schemas/Internal_SubstrateStakingMethod_Chill", - "Nominate": "#/components/schemas/Internal_SubstrateStakingMethod_Nominate", - "Rebond": "#/components/schemas/Internal_SubstrateStakingMethod_Rebond", - "SetController": "#/components/schemas/Internal_SubstrateStakingMethod_SetController", - "SetPayee": "#/components/schemas/Internal_SubstrateStakingMethod_SetPayee", - "Unbond": "#/components/schemas/Internal_SubstrateStakingMethod_Unbond", - "WithdrawUnbonded": "#/components/schemas/Internal_SubstrateStakingMethod_WithdrawUnbonded" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_Bond" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_BondExtra" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_Chill" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_Nominate" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_Rebond" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_SetController" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_SetPayee" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_Unbond" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingMethod_WithdrawUnbonded" - } - ] - }, - "Internal_SubstrateStakingMethod_Bond": { - "properties": { - "controller": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - ], - "deprecated": true - }, - "payee": { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee" - }, - "type": { - "enum": [ - "Bond" - ], - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "value", - "payee", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_BondExtra": { - "properties": { - "maxAdditional": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "type": { - "enum": [ - "BondExtra" - ], - "type": "string" - } - }, - "required": [ - "maxAdditional", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_Chill": { - "properties": { - "type": { - "enum": [ - "Chill" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_Nominate": { - "properties": { - "targets": { - "items": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": "array" - }, - "type": { - "enum": [ - "Nominate" - ], - "type": "string" - } - }, - "required": [ - "targets", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_Rebond": { - "properties": { - "type": { - "enum": [ - "Rebond" - ], - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_SetController": { - "properties": { - "controller": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - ], - "deprecated": true - }, - "type": { - "enum": [ - "SetController" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_SetPayee": { - "properties": { - "payee": { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee" - }, - "type": { - "enum": [ - "SetPayee" - ], - "type": "string" - } - }, - "required": [ - "payee", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_Unbond": { - "properties": { - "type": { - "enum": [ - "Unbond" - ], - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingMethod_WithdrawUnbonded": { - "properties": { - "numSlashingSpans": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "WithdrawUnbonded" - ], - "type": "string" - } - }, - "required": [ - "numSlashingSpans", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingPayee": { - "discriminator": { - "mapping": { - "Account": "#/components/schemas/Internal_SubstrateStakingPayee_Account", - "Controller": "#/components/schemas/Internal_SubstrateStakingPayee_Controller", - "Staked": "#/components/schemas/Internal_SubstrateStakingPayee_Staked", - "Stash": "#/components/schemas/Internal_SubstrateStakingPayee_Stash" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee_Account" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee_Controller" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee_Staked" - }, - { - "$ref": "#/components/schemas/Internal_SubstrateStakingPayee_Stash" - } - ] - }, - "Internal_SubstrateStakingPayee_Account": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Account" - ], - "type": "string" - } - }, - "required": [ - "destination", - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingPayee_Controller": { - "properties": { - "type": { - "enum": [ - "Controller" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingPayee_Staked": { - "properties": { - "type": { - "enum": [ - "Staked" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SubstrateStakingPayee_Stash": { - "properties": { - "type": { - "enum": [ - "Stash" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SubstrateTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_SubstrateTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SubstrateTickerProperties_Native" - } - ] - }, - "Internal_SubstrateTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SuiFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_SuiFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SuiFeeStrategy_Priority" - } - ] - }, - "Internal_SuiFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_SuiOperation": { - "discriminator": { - "mapping": { - "CoinTransfer": "#/components/schemas/Internal_SuiOperation_CoinTransfer", - "NativeTransfer": "#/components/schemas/Internal_SuiOperation_NativeTransfer" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SuiOperation_CoinTransfer" - }, - { - "$ref": "#/components/schemas/Internal_SuiOperation_NativeTransfer" - } - ] - }, - "Internal_SuiOperation_CoinTransfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "coinType": { - "description": "Move coin type tag, e.g. 0x2::sui::SUI (no generic type parameters).", - "pattern": "^0x[0-9a-fA-F]{1,64}::[A-Za-z_][A-Za-z0-9_]*::[A-Za-z_][A-Za-z0-9_]*$", - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "CoinTransfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "coinType", - "type" - ], - "type": "object" - }, - "Internal_SuiOperation_NativeTransfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "NativeTransfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_SuiTickerProperties": { - "discriminator": { - "mapping": { - "Coin": "#/components/schemas/Internal_SuiTickerProperties_Coin", - "Native": "#/components/schemas/Internal_SuiTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SuiTickerProperties_Coin" - }, - { - "$ref": "#/components/schemas/Internal_SuiTickerProperties_Native" - } - ] - }, - "Internal_SuiTickerProperties_Coin": { - "properties": { - "coinType": { - "description": "Move coin type tag, e.g. 0x2::sui::SUI (no generic type parameters).", - "pattern": "^0x[0-9a-fA-F]{1,64}::[A-Za-z_][A-Za-z0-9_]*::[A-Za-z_][A-Za-z0-9_]*$", - "type": "string" - }, - "type": { - "enum": [ - "Coin" - ], - "type": "string" - } - }, - "required": [ - "coinType", - "type" - ], - "type": "object" - }, - "Internal_SuiTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_SystemProperty": { - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_SystemProperty_AntiRewindModeSystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_NotaryApiKeySystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_NotaryCollectionsKeySystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_NotaryCommunicationKeySystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_NotarySystemSignedIntentsEnabledSystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_NotarySystemSigningKeySystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_SystemProperty_StateReviewAuthoritySystemProperty" - } - ] - }, - "Internal_SystemPropertyId": { - "enum": [ - "NOTARY_COMMUNICATION_KEY", - "NOTARY_COLLECTIONS_KEY", - "NOTARY_API_KEY", - "STATE_REVIEW_AUTHORITY", - "NOTARY_SYSTEM_SIGNING_KEY", - "NOTARY_SYSTEM_SIGNED_INTENTS_ENABLED", - "ANTI_REWIND_MODE" - ], - "type": "string" - }, - "Internal_SystemPropertySet": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "type": { - "enum": [ - "SystemPropertySet" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_SystemProperty_AntiRewindModeSystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_AntiRewindModeValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_NotaryApiKeySystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotaryApiKeyValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_NotaryCollectionsKeySystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotaryCollectionsKeyValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_NotaryCommunicationKeySystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotaryCommunicationKeyValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_NotarySystemSignedIntentsEnabledSystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotarySystemSignedIntentsEnabledValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_NotarySystemSigningKeySystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_NotarySystemSigningKeyValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_SystemProperty_StateReviewAuthoritySystemProperty": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_SystemPropertyId" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "value": { - "$ref": "#/components/schemas/Internal_StateReviewAuthorityValue" - } - }, - "required": [ - "id", - "value", - "metadata" - ], - "type": "object" - }, - "Internal_TezosFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_TezosFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TezosFeeStrategy_Priority" - } - ] - }, - "Internal_TezosFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_TezosOperation": { - "discriminator": { - "mapping": { - "Delegation": "#/components/schemas/Internal_TezosOperation_Delegation", - "Reveal": "#/components/schemas/Internal_TezosOperation_Reveal", - "Transaction": "#/components/schemas/Internal_TezosOperation_Transaction", - "Undelegation": "#/components/schemas/Internal_TezosOperation_Undelegation" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TezosOperation_Delegation" - }, - { - "$ref": "#/components/schemas/Internal_TezosOperation_Reveal" - }, - { - "$ref": "#/components/schemas/Internal_TezosOperation_Transaction" - }, - { - "$ref": "#/components/schemas/Internal_TezosOperation_Undelegation" - } - ] - }, - "Internal_TezosOperation_Delegation": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Delegation" - ], - "type": "string" - } - }, - "required": [ - "destination", - "type" - ], - "type": "object" - }, - "Internal_TezosOperation_Reveal": { - "properties": { - "type": { - "enum": [ - "Reveal" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TezosOperation_Transaction": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "contractParameters": { - "$ref": "#/components/schemas/Internal_ContractParameters" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Transaction" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_TezosOperation_Undelegation": { - "properties": { - "type": { - "enum": [ - "Undelegation" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TezosTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_TezosTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TezosTickerProperties_Native" - } - ] - }, - "Internal_TezosTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TickerCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_TickerKind": { - "enum": [ - "Native", - "Contract", - "Token" - ], - "type": "string" - }, - "Internal_TickerLedgerDetails": { - "discriminator": { - "mapping": { - "Algorand": "#/components/schemas/Internal_TickerLedgerDetails_Algorand", - "Bitcoin": "#/components/schemas/Internal_TickerLedgerDetails_Bitcoin", - "Canton": "#/components/schemas/Internal_TickerLedgerDetails_Canton", - "Cardano": "#/components/schemas/Internal_TickerLedgerDetails_Cardano", - "Ethereum": "#/components/schemas/Internal_TickerLedgerDetails_Ethereum", - "External": "#/components/schemas/Internal_TickerLedgerDetails_External", - "Hedera": "#/components/schemas/Internal_TickerLedgerDetails_Hedera", - "Mco": "#/components/schemas/Internal_TickerLedgerDetails_Mco", - "Solana": "#/components/schemas/Internal_TickerLedgerDetails_Solana", - "Stellar": "#/components/schemas/Internal_TickerLedgerDetails_Stellar", - "Substrate": "#/components/schemas/Internal_TickerLedgerDetails_Substrate", - "Sui": "#/components/schemas/Internal_TickerLedgerDetails_Sui", - "Tezos": "#/components/schemas/Internal_TickerLedgerDetails_Tezos", - "Tron": "#/components/schemas/Internal_TickerLedgerDetails_Tron", - "XRPL": "#/components/schemas/Internal_TickerLedgerDetails_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Algorand" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Bitcoin" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Canton" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Cardano" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_External" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Mco" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Solana" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Substrate" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Sui" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Tezos" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_Tron" - }, - { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails_XRPL" - } - ] - }, - "Internal_TickerLedgerDetails_Algorand": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_AlgorandTickerProperties" - }, - "type": { - "enum": [ - "Algorand" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Bitcoin": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_BitcoinTickerProperties" - }, - "type": { - "enum": [ - "Bitcoin" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Canton": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_CantonTickerProperties" - }, - "type": { - "enum": [ - "Canton" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Cardano": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_CardanoTickerProperties" - }, - "type": { - "enum": [ - "Cardano" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Ethereum": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_EthereumTickerProperties" - }, - "type": { - "enum": [ - "Ethereum" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_External": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_ExternalTickerProperties" - }, - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Hedera": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_HederaTickerProperties" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Mco": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "properties": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_McoTicker" - } - ], - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "type": { - "enum": [ - "Mco" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_TickerLedgerDetails_Solana": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_SolanaTickerProperties" - }, - "type": { - "enum": [ - "Solana" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Stellar": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_StellarTickerProperties" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Substrate": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_SubstrateTickerProperties" - }, - "type": { - "enum": [ - "Substrate" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Sui": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_SuiTickerProperties" - }, - "type": { - "enum": [ - "Sui" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Tezos": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_TezosTickerProperties" - }, - "type": { - "enum": [ - "Tezos" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_Tron": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_TronTickerProperties" - }, - "type": { - "enum": [ - "Tron" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerLedgerDetails_XRPL": { - "properties": { - "properties": { - "$ref": "#/components/schemas/Internal_XrplTickerProperties" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "properties", - "type" - ], - "type": "object" - }, - "Internal_TickerToValidate": { - "properties": { - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "decimals": { - "format": "int32", - "type": "integer" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "kind": { - "$ref": "#/components/schemas/Internal_ValidatedTickerKind" - }, - "ledgerDetails": { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "symbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "ledgerId", - "kind", - "name", - "ledgerDetails", - "lock", - "customProperties" - ], - "type": "object" - }, - "Internal_TickerUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_TokenDestination": { - "discriminator": { - "mapping": { - "Ticker": "#/components/schemas/Internal_TokenDestination_Ticker", - "TokenId": "#/components/schemas/Internal_TokenDestination_TokenId" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TokenDestination_Ticker" - }, - { - "$ref": "#/components/schemas/Internal_TokenDestination_TokenId" - } - ] - }, - "Internal_TokenDestination_Ticker": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Ticker" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_TokenDestination_TokenId": { - "properties": { - "tokenId": { - "description": "String consisting Hedera Token Id", - "maxLength": 20, - "minLength": 5, - "type": "string" - }, - "type": { - "enum": [ - "TokenId" - ], - "type": "string" - } - }, - "required": [ - "tokenId", - "type" - ], - "type": "object" - }, - "Internal_TokenOutput": { - "discriminator": { - "mapping": { - "HederaFungibleTokenOutput": "#/components/schemas/Internal_TokenOutput_HederaFungibleTokenOutput", - "HederaNonFungibleTokenOutput": "#/components/schemas/Internal_TokenOutput_HederaNonFungibleTokenOutput" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TokenOutput_HederaFungibleTokenOutput" - }, - { - "$ref": "#/components/schemas/Internal_TokenOutput_HederaNonFungibleTokenOutput" - } - ] - }, - "Internal_TokenOutput_HederaFungibleTokenOutput": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "token": { - "$ref": "#/components/schemas/Internal_TokenDestination" - }, - "type": { - "enum": [ - "HederaFungibleTokenOutput" - ], - "type": "string" - } - }, - "required": [ - "token", - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_TokenOutput_HederaNonFungibleTokenOutput": { - "properties": { - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "token": { - "$ref": "#/components/schemas/Internal_NonFungibleTokenDestination" - }, - "type": { - "enum": [ - "HederaNonFungibleTokenOutput" - ], - "type": "string" - } - }, - "required": [ - "token", - "destination", - "type" - ], - "type": "object" - }, - "Internal_TransactionCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "senderReferences": { - "items": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "type": "array" - }, - "type": { - "enum": [ - "TransactionCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "senderReferences", - "type" - ], - "type": "object" - }, - "Internal_TransactionDestination": { - "discriminator": { - "mapping": { - "Account": "#/components/schemas/Internal_TransactionDestination_Account", - "Address": "#/components/schemas/Internal_TransactionDestination_Address", - "Endpoint": "#/components/schemas/Internal_TransactionDestination_Endpoint" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionDestination_Account" - }, - { - "$ref": "#/components/schemas/Internal_TransactionDestination_Address" - }, - { - "$ref": "#/components/schemas/Internal_TransactionDestination_Endpoint" - } - ] - }, - "Internal_TransactionDestination_Account": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Account" - ], - "type": "string" - } - }, - "required": [ - "accountId", - "type" - ], - "type": "object" - }, - "Internal_TransactionDestination_Address": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Address" - ], - "type": "string" - } - }, - "required": [ - "address", - "type" - ], - "type": "object" - }, - "Internal_TransactionDestination_Endpoint": { - "properties": { - "endpointId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Endpoint" - ], - "type": "string" - } - }, - "required": [ - "endpointId", - "type" - ], - "type": "object" - }, - "Internal_TransactionDetected": { - "properties": { - "accountReferences": { - "items": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "type": "array" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TransactionDetected" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountReferences", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrder": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters" - } - }, - "required": [ - "id", - "domainId", - "accountId", - "parameters", - "metadata" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters": { - "discriminator": { - "mapping": { - "Algorand": "#/components/schemas/Internal_TransactionOrderParameters_Algorand", - "Bitcoin": "#/components/schemas/Internal_TransactionOrderParameters_Bitcoin", - "BitcoinRedirect": "#/components/schemas/Internal_TransactionOrderParameters_BitcoinRedirect", - "Canton": "#/components/schemas/Internal_TransactionOrderParameters_Canton", - "Cardano": "#/components/schemas/Internal_TransactionOrderParameters_Cardano", - "Ethereum": "#/components/schemas/Internal_TransactionOrderParameters_Ethereum", - "External": "#/components/schemas/Internal_TransactionOrderParameters_External", - "Hedera": "#/components/schemas/Internal_TransactionOrderParameters_Hedera", - "Solana": "#/components/schemas/Internal_TransactionOrderParameters_Solana", - "Stellar": "#/components/schemas/Internal_TransactionOrderParameters_Stellar", - "Substrate": "#/components/schemas/Internal_TransactionOrderParameters_Substrate", - "Sui": "#/components/schemas/Internal_TransactionOrderParameters_Sui", - "Tezos": "#/components/schemas/Internal_TransactionOrderParameters_Tezos", - "Tron": "#/components/schemas/Internal_TransactionOrderParameters_Tron", - "XRPL": "#/components/schemas/Internal_TransactionOrderParameters_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Algorand" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Bitcoin" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_BitcoinRedirect" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Canton" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Cardano" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_External" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Solana" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Substrate" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Sui" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Tezos" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_Tron" - }, - { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters_XRPL" - } - ] - }, - "Internal_TransactionOrderParameters_Algorand": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_AlgorandFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "note": { - "maxLength": 1024, - "minLength": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_AlgorandOperation" - }, - "type": { - "enum": [ - "Algorand" - ], - "type": "string" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Bitcoin": { - "properties": { - "addressForChange": { - "$ref": "#/components/schemas/Internal_AddressForChange" - }, - "feeStrategy": { - "$ref": "#/components/schemas/Internal_BitcoinFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_BitcoinOutputParameters" - }, - "type": "array" - }, - "resourceStrategy": { - "$ref": "#/components/schemas/Internal_BitcoinResourceStrategy" - }, - "type": { - "enum": [ - "Bitcoin" - ], - "type": "string" - } - }, - "required": [ - "outputs", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_BitcoinRedirect": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_BitcoinFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_BitcoinOutputParameters" - }, - "type": "array" - }, - "transferIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - }, - "type": { - "enum": [ - "BitcoinRedirect" - ], - "type": "string" - } - }, - "required": [ - "transferIds", - "outputs", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Canton": { - "properties": { - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_CantonOperation" - }, - "type": { - "enum": [ - "Canton" - ], - "type": "string" - } - }, - "required": [ - "operation", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Cardano": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_CardanoFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_CardanoOperation" - }, - "type": { - "enum": [ - "Cardano" - ], - "type": "string" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Ethereum": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "data": { - "pattern": "^0[xX]([a-fA-F0-9]*)$", - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "feeStrategy": { - "$ref": "#/components/schemas/Internal_EthereumFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_EthereumOperation" - }, - "resourceStrategy": { - "$ref": "#/components/schemas/Internal_EthereumResourceStrategy" - }, - "type": { - "enum": [ - "Ethereum" - ], - "type": "string" - } - }, - "required": [ - "amount", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_External": { - "properties": { - "operation": { - "$ref": "#/components/schemas/Internal_ExternalOperation" - }, - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "operation", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Hedera": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_HederaFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "memo": { - "description": "String encoded using UTF-8, up to 100-bytes long", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_HederaOperation" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Solana": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_SolanaFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "memos": { - "items": { - "maxLength": 566, - "minLength": 0, - "type": "string" - }, - "type": "array" - }, - "nonceAccount": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "nonceAuthority": { - "format": "uuid", - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_SolanaOperation" - }, - "type": { - "enum": [ - "Solana" - ], - "type": "string" - } - }, - "required": [ - "operation", - "memos", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Stellar": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_StellarFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "memo": { - "$ref": "#/components/schemas/Internal_StellarMemo" - }, - "operation": { - "$ref": "#/components/schemas/Internal_StellarOperation" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Substrate": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_SubstrateFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "pallet": { - "$ref": "#/components/schemas/Internal_SubstratePallet" - }, - "type": { - "enum": [ - "Substrate" - ], - "type": "string" - } - }, - "required": [ - "pallet", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Sui": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_SuiFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_SuiOperation" - }, - "type": { - "enum": [ - "Sui" - ], - "type": "string" - }, - "validityEpochs": { - "description": "Expiry window in whole Sui epochs (approximately 24 hours each) from preparation; omit for the platform default.", - "format": "int32", - "maximum": 14, - "minimum": 1, - "type": "integer" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Tezos": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_TezosFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_TezosOperation" - }, - "type": { - "enum": [ - "Tezos" - ], - "type": "string" - } - }, - "required": [ - "operation", - "feeStrategy", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_Tron": { - "properties": { - "feeStrategy": { - "$ref": "#/components/schemas/Internal_TronFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "operation": { - "$ref": "#/components/schemas/Internal_TronOperation" - }, - "type": { - "enum": [ - "Tron" - ], - "type": "string" - } - }, - "required": [ - "feeStrategy", - "operation", - "type" - ], - "type": "object" - }, - "Internal_TransactionOrderParameters_XRPL": { - "properties": { - "amount": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027. This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "allOf": [ - { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - ], - "deprecated": true - }, - "destinationTag": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "feeStrategy": { - "$ref": "#/components/schemas/Internal_XrplFeeStrategy" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "memos": { - "items": { - "$ref": "#/components/schemas/Internal_XrplMemo" - }, - "type": "array" - }, - "operation": { - "$ref": "#/components/schemas/Internal_XrplOperation" - }, - "sourceTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "feeStrategy", - "memos", - "type" - ], - "type": "object" - }, - "Internal_TransactionPending": { - "properties": { - "transactionId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionId" - ], - "type": "object" - }, - "Internal_TransactionPrepared": { - "properties": { - "signedPayload": { - "type": "string" - }, - "transactionId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "transactionId", - "signedPayload" - ], - "type": "object" - }, - "Internal_TransactionUpdated": { - "properties": { - "accountReferences": { - "items": { - "$ref": "#/components/schemas/Internal_AccountReference" - }, - "type": "array" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TransactionUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountReferences", - "type" - ], - "type": "object" - }, - "Internal_TransferDestinationTag": { - "discriminator": { - "mapping": { - "Hedera": "#/components/schemas/Internal_TransferDestinationTag_Hedera", - "Stellar": "#/components/schemas/Internal_TransferDestinationTag_Stellar", - "XRPL": "#/components/schemas/Internal_TransferDestinationTag_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TransferDestinationTag_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_TransferDestinationTag_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_TransferDestinationTag_XRPL" - } - ] - }, - "Internal_TransferDestinationTag_Hedera": { - "properties": { - "memo": { - "description": "String encoded using UTF-8, up to 100-bytes long", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "memo", - "type" - ], - "type": "object" - }, - "Internal_TransferDestinationTag_Stellar": { - "properties": { - "memo": { - "$ref": "#/components/schemas/Internal_StellarMemo" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "memo", - "type" - ], - "type": "object" - }, - "Internal_TransferDestinationTag_XRPL": { - "properties": { - "destinationTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "destinationTag", - "type" - ], - "type": "object" - }, - "Internal_TransferKind": { - "enum": [ - "Transfer", - "Fee", - "Recovery" - ], - "type": "string" - }, - "Internal_TransferMetadata": { - "discriminator": { - "mapping": { - "Algorand": "#/components/schemas/Internal_TransferMetadata_Algorand", - "Bitcoin": "#/components/schemas/Internal_TransferMetadata_Bitcoin", - "Canton": "#/components/schemas/Internal_TransferMetadata_Canton", - "Cardano": "#/components/schemas/Internal_TransferMetadata_Cardano", - "Ethereum": "#/components/schemas/Internal_TransferMetadata_Ethereum", - "External": "#/components/schemas/Internal_TransferMetadata_External", - "Hedera": "#/components/schemas/Internal_TransferMetadata_Hedera", - "Solana": "#/components/schemas/Internal_TransferMetadata_Solana", - "Stellar": "#/components/schemas/Internal_TransferMetadata_Stellar", - "Substrate": "#/components/schemas/Internal_TransferMetadata_Substrate", - "Sui": "#/components/schemas/Internal_TransferMetadata_Sui", - "Tezos": "#/components/schemas/Internal_TransferMetadata_Tezos", - "Tron": "#/components/schemas/Internal_TransferMetadata_Tron", - "XRPL": "#/components/schemas/Internal_TransferMetadata_XRPL" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Algorand" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Bitcoin" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Canton" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Cardano" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Ethereum" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_External" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Hedera" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Solana" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Stellar" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Substrate" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Sui" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Tezos" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_Tron" - }, - { - "$ref": "#/components/schemas/Internal_TransferMetadata_XRPL" - } - ] - }, - "Internal_TransferMetadata_Algorand": { - "properties": { - "type": { - "enum": [ - "Algorand" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Bitcoin": { - "properties": { - "outputIndex": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "Bitcoin" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Canton": { - "properties": { - "memo": { - "type": "string" - }, - "type": { - "enum": [ - "Canton" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Cardano": { - "properties": { - "type": { - "enum": [ - "Cardano" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Ethereum": { - "properties": { - "type": { - "enum": [ - "Ethereum" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_External": { - "properties": { - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Hedera": { - "properties": { - "memo": { - "description": "String encoded using UTF-8, up to 100-bytes long", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Hedera" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Solana": { - "properties": { - "type": { - "enum": [ - "Solana" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Stellar": { - "properties": { - "memo": { - "$ref": "#/components/schemas/Internal_StellarMemo" - }, - "type": { - "enum": [ - "Stellar" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Substrate": { - "properties": { - "type": { - "enum": [ - "Substrate" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Sui": { - "properties": { - "type": { - "enum": [ - "Sui" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Tezos": { - "properties": { - "type": { - "enum": [ - "Tezos" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_Tron": { - "properties": { - "type": { - "enum": [ - "Tron" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferMetadata_XRPL": { - "properties": { - "destinationTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "sourceTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "XRPL" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TransferUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TransferUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_TronFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_TronFeeStrategy_Priority" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TronFeeStrategy_Priority" - } - ] - }, - "Internal_TronFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_TronOperation": { - "discriminator": { - "mapping": { - "NativeTransfer": "#/components/schemas/Internal_TronOperation_NativeTransfer", - "TRC20Transfer": "#/components/schemas/Internal_TronOperation_TRC20Transfer" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TronOperation_NativeTransfer" - }, - { - "$ref": "#/components/schemas/Internal_TronOperation_TRC20Transfer" - } - ] - }, - "Internal_TronOperation_NativeTransfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "NativeTransfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_TronOperation_TRC20Transfer": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "contractAddress": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "TRC20Transfer" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "contractAddress", - "type" - ], - "type": "object" - }, - "Internal_TronTickerProperties": { - "discriminator": { - "mapping": { - "Native": "#/components/schemas/Internal_TronTickerProperties_Native", - "TRC20": "#/components/schemas/Internal_TronTickerProperties_TRC20" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_TronTickerProperties_Native" - }, - { - "$ref": "#/components/schemas/Internal_TronTickerProperties_TRC20" - } - ] - }, - "Internal_TronTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_TronTickerProperties_TRC20": { - "properties": { - "contractAddress": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "TRC20" - ], - "type": "string" - } - }, - "required": [ - "contractAddress", - "type" - ], - "type": "object" - }, - "Internal_TrustedAccount": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Account" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedDomain": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Domain" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedEndpoint": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Endpoint" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedIntent": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_IntentEntity" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedManifest": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Manifest" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedPolicy": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Policy" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedPublicKeyAdded": { - "properties": { - "publicKey": { - "format": "base64", - "type": "string" - }, - "signingPurpose": { - "$ref": "#/components/schemas/Internal_TrustedPublicKeyPurpose" - }, - "type": { - "enum": [ - "TrustedPublicKeyAdded" - ], - "type": "string" - } - }, - "required": [ - "publicKey", - "signingPurpose", - "type" - ], - "type": "object" - }, - "Internal_TrustedPublicKeyPurpose": { - "enum": [ - "ApiSignatures", - "TrustedCollectionSignatures", - "MessagingSignatures", - "SystemSignatures" - ], - "type": "string" - }, - "Internal_TrustedPublicKeyUpdated": { - "properties": { - "publicKey": { - "format": "base64", - "type": "string" - }, - "signingPurpose": { - "$ref": "#/components/schemas/Internal_TrustedPublicKeyPurpose" - }, - "type": { - "enum": [ - "TrustedPublicKeyUpdated" - ], - "type": "string" - } - }, - "required": [ - "publicKey", - "signingPurpose", - "type" - ], - "type": "object" - }, - "Internal_TrustedTransactionOrder": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_TransactionOrder" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedUser": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_User" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_TrustedVault": { - "properties": { - "data": { - "$ref": "#/components/schemas/Internal_Vault" - }, - "signature": { - "format": "base64", - "type": "string" - }, - "signingKey": { - "format": "base64", - "type": "string" - } - }, - "required": [ - "data", - "signature", - "signingKey" - ], - "type": "object" - }, - "Internal_User": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "loginIds": { - "description": "Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values.", - "items": { - "$ref": "#/components/schemas/Internal_LoginId" - }, - "type": "array" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "roles": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "id", - "domainId", - "alias", - "publicKey", - "roles", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_UserCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "UserCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_UserDifferentPublicKey": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "userId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "userId", - "publicKey", - "domainId" - ], - "type": "object" - }, - "Internal_UserIntentPayload": { - "discriminator": { - "mapping": { - "v0_AcknowledgeBackup": "#/components/schemas/Internal_v0_AcknowledgeBackup", - "v0_AddAccountLedgers": "#/components/schemas/Internal_v0_AddAccountLedgers", - "v0_AddProviderKey": "#/components/schemas/Internal_v0_AddProviderKey", - "v0_AddTrustedPublicKeysForMigration": "#/components/schemas/Internal_v0_AddTrustedPublicKeysForMigration", - "v0_AttemptTransactionOrderCancellation": "#/components/schemas/Internal_v0_AttemptTransactionOrderCancellation", - "v0_ConnectProvider": "#/components/schemas/Internal_v0_ConnectProvider", - "v0_CreateAccount": "#/components/schemas/Internal_v0_CreateAccount", - "v0_CreateBackup": "#/components/schemas/Internal_v0_CreateBackup", - "v0_CreateDomain": "#/components/schemas/Internal_v0_CreateDomain", - "v0_CreateEndpoint": "#/components/schemas/Internal_v0_CreateEndpoint", - "v0_CreateLedger": "#/components/schemas/Internal_v0_CreateLedger", - "v0_CreatePolicy": "#/components/schemas/Internal_v0_CreatePolicy", - "v0_CreateTicker": "#/components/schemas/Internal_v0_CreateTicker", - "v0_CreateTransactionOrder": "#/components/schemas/Internal_v0_CreateTransactionOrder", - "v0_CreateTransferOrder": "#/components/schemas/Internal_v0_CreateTransferOrder", - "v0_CreateUser": "#/components/schemas/Internal_v0_CreateUser", - "v0_CreateVault": "#/components/schemas/Internal_v0_CreateVault", - "v0_ExecuteExtension": "#/components/schemas/Internal_v0_ExecuteExtension", - "v0_LockAccount": "#/components/schemas/Internal_v0_LockAccount", - "v0_LockDomain": "#/components/schemas/Internal_v0_LockDomain", - "v0_LockEndpoint": "#/components/schemas/Internal_v0_LockEndpoint", - "v0_LockPolicy": "#/components/schemas/Internal_v0_LockPolicy", - "v0_LockTicker": "#/components/schemas/Internal_v0_LockTicker", - "v0_LockUser": "#/components/schemas/Internal_v0_LockUser", - "v0_LockVault": "#/components/schemas/Internal_v0_LockVault", - "v0_MigrateSilo3AccountBatch": "#/components/schemas/Internal_v0_MigrateSilo3AccountBatch", - "v0_NotarizeData": "#/components/schemas/Internal_v0_NotarizeData", - "v0_RegisterMcoInstance": "#/components/schemas/Internal_v0_RegisterMcoInstance", - "v0_RegisterTrustedPublicKey": "#/components/schemas/Internal_v0_RegisterTrustedPublicKey", - "v0_ReleaseQuarantinedTransfers": "#/components/schemas/Internal_v0_ReleaseQuarantinedTransfers", - "v0_RequestDepositInstructions": "#/components/schemas/Internal_v0_RequestDepositInstructions", - "v0_RewrapVaultKeyMaterial": "#/components/schemas/Internal_v0_RewrapVaultKeyMaterial", - "v0_SetSystemProperty": "#/components/schemas/Internal_v0_SetSystemProperty", - "v0_SignManifest": "#/components/schemas/Internal_v0_SignManifest", - "v0_UnlockAccount": "#/components/schemas/Internal_v0_UnlockAccount", - "v0_UnlockDomain": "#/components/schemas/Internal_v0_UnlockDomain", - "v0_UnlockEndpoint": "#/components/schemas/Internal_v0_UnlockEndpoint", - "v0_UnlockPolicy": "#/components/schemas/Internal_v0_UnlockPolicy", - "v0_UnlockTicker": "#/components/schemas/Internal_v0_UnlockTicker", - "v0_UnlockUser": "#/components/schemas/Internal_v0_UnlockUser", - "v0_UnlockVault": "#/components/schemas/Internal_v0_UnlockVault", - "v0_UpdateAccount": "#/components/schemas/Internal_v0_UpdateAccount", - "v0_UpdateDomain": "#/components/schemas/Internal_v0_UpdateDomain", - "v0_UpdateDomainPermissions": "#/components/schemas/Internal_v0_UpdateDomainPermissions", - "v0_UpdateEndpoint": "#/components/schemas/Internal_v0_UpdateEndpoint", - "v0_UpdateLedger": "#/components/schemas/Internal_v0_UpdateLedger", - "v0_UpdatePolicy": "#/components/schemas/Internal_v0_UpdatePolicy", - "v0_UpdateTicker": "#/components/schemas/Internal_v0_UpdateTicker", - "v0_UpdateUser": "#/components/schemas/Internal_v0_UpdateUser", - "v0_UpdateVault": "#/components/schemas/Internal_v0_UpdateVault", - "v0_ValidateTickers": "#/components/schemas/Internal_v0_ValidateTickers" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_v0_AcknowledgeBackup" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddAccountLedgers" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddProviderKey" - }, - { - "$ref": "#/components/schemas/Internal_v0_AddTrustedPublicKeysForMigration" - }, - { - "$ref": "#/components/schemas/Internal_v0_AttemptTransactionOrderCancellation" - }, - { - "$ref": "#/components/schemas/Internal_v0_ConnectProvider" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateBackup" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateLedger" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreatePolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateTransactionOrder" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateTransferOrder" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_ExecuteExtension" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockPolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_LockVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_MigrateSilo3AccountBatch" - }, - { - "$ref": "#/components/schemas/Internal_v0_NotarizeData" - }, - { - "$ref": "#/components/schemas/Internal_v0_RegisterMcoInstance" - }, - { - "$ref": "#/components/schemas/Internal_v0_RegisterTrustedPublicKey" - }, - { - "$ref": "#/components/schemas/Internal_v0_ReleaseQuarantinedTransfers" - }, - { - "$ref": "#/components/schemas/Internal_v0_RequestDepositInstructions" - }, - { - "$ref": "#/components/schemas/Internal_v0_RewrapVaultKeyMaterial" - }, - { - "$ref": "#/components/schemas/Internal_v0_SetSystemProperty" - }, - { - "$ref": "#/components/schemas/Internal_v0_SignManifest" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockPolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_UnlockVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateAccount" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateDomain" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateDomainPermissions" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateEndpoint" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateLedger" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdatePolicy" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateTicker" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateUser" - }, - { - "$ref": "#/components/schemas/Internal_v0_UpdateVault" - }, - { - "$ref": "#/components/schemas/Internal_v0_ValidateTickers" - } - ] - }, - "Internal_UserOperationRejectionCode": { - "enum": [ - "AccountLocked", - "AccountNotReady", - "DecisionInvalid", - "DomainLocked", - "TickerLocked", - "EndpointLocked", - "EntityAlreadyCreated", - "EntityRevisionMismatch", - "EntityAlreadyUnlocked", - "EntityAlreadyLocked", - "LockStatusCannotBeChanged", - "IntentAlreadyComplete", - "IntentAlreadyExists", - "IntentMissing", - "InvalidParentDomain", - "LedgerNotFound", - "LedgerNotProvided", - "InvalidLedgerParameters", - "InvalidSystemPropertyParameters", - "MustBeExecutedInCurrentDomain", - "MustBeExecutedInParentDomain", - "MustBeExecutedInRootDomain", - "NoApplicablePoliciesForDomain", - "NonUniquePoliciesById", - "NonUniqueUsersByAlias", - "NonUniqueValidatedTickersByLedgerDetails", - "NonUniqueUsersById", - "NonUniqueUsersByPublicKey", - "NotApplicableForRootDomain", - "PolicyRevisionMismatch", - "PolicyScriptingExecutionFailed", - "PolicyWorkflowFailed", - "PublicKeyInvalid", - "LoginIdAlreadyAssigned", - "ProposerIntentSignatureMismatches", - "RequestExpired", - "IntentExpired", - "StaleIntent", - "RequestSubmitterLocked", - "RequestSubmitterNotFound", - "RequestSubmitterSignatureInvalid", - "SystemSignatureInvalid", - "SystemSigningKeyNotRegistered", - "SystemSigningKeyMismatch", - "SystemSignaturesKeyAlreadyRegistered", - "SystemSignedProcessingDisabled", - "UnsupportedAccountKeyStrategy", - "VaultNotFound", - "VaultLocked", - "VaultHasRandomKeyAccounts", - "ExternalProviderNotFound", - "ExternalProviderLocked", - "ExternalProviderUnexpectedState", - "LocationNotFound", - "VaultNotReady", - "InvalidDestination", - "InvalidTransactionOrderState", - "InvalidTransactionOrderParameters", - "InvalidTransferOrderParameters", - "ConflictingDestinationTag", - "InvalidEndpointUpdateParameters", - "InvalidEndpointCreateParameters", - "InvalidManifestContent", - "BatchTooLarge", - "MigrateSilo3AccountBatchContainsDuplicateDerivationData", - "MigrateSilo3AccountBatchContainsDuplicateAccountIds", - "MigrateSilo3AccountAlreadyImported", - "InvalidTickerLedgerDetails", - "DuplicateTickerIdsToValidate", - "DuplicateTickerLedgerDatasToValidate", - "InvalidEntityId", - "TickerUnderlyingAssetIsNotInMetacoAssets", - "MissingLoginIds", - "DuplicatedLoginIds", - "FeatureFlagDisabled", - "InvalidCreateAccountParameters", - "InvalidAddAccountLedgersParameters", - "CurrentPublicKeyNotMatching", - "InvalidTrustedCollectionPublicKeySignature", - "InvalidMigrationKeyMaterial", - "InvalidEntityType", - "DuplicatePublicKey", - "UnsupportedTrustedPublicKeyPurpose", - "TrustedPublicKeyAlreadyActive", - "InvalidVaultParameters", - "BackupNotReady", - "BackupAcknowledgeDenied", - "VaultOperationOnExternalAccount", - "ExternalOperationOnVaultAccount", - "MalformedCredentials", - "McoNotRegistered", - "McoTickerAlreadyValidated", - "McoTickerUnderlyingNotResolved", - "McoTickerConflictingChainIdentity", - "ValidateTickersPostProcessingFailure", - "DepositInstructionPostProcessingFailure", - "SignManifestAddressResolutionFailure" - ], - "type": "string" - }, - "Internal_UserReference": { - "properties": { - "domainId": { - "format": "uuid", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "id", - "domainId" - ], - "type": "object" - }, - "Internal_UserRequestPayload": { - "discriminator": { - "mapping": { - "Approve": "#/components/schemas/Internal_UserRequestPayload_Approve", - "Propose": "#/components/schemas/Internal_UserRequestPayload_Propose", - "Reject": "#/components/schemas/Internal_UserRequestPayload_Reject" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_UserRequestPayload_Approve" - }, - { - "$ref": "#/components/schemas/Internal_UserRequestPayload_Propose" - }, - { - "$ref": "#/components/schemas/Internal_UserRequestPayload_Reject" - } - ] - }, - "Internal_UserRequestPayload_Approve": { - "properties": { - "approvalReason": { - "maxLength": 5000, - "minLength": 0, - "type": "string" - }, - "author": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "expiryAt": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "format": "date-time", - "type": "string" - }, - "intentId": { - "format": "uuid", - "type": "string" - }, - "proposalSignature": { - "format": "base64", - "type": "string" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Approve" - ], - "type": "string" - } - }, - "required": [ - "author", - "targetDomainId", - "intentId", - "proposalSignature", - "type" - ], - "type": "object" - }, - "Internal_UserRequestPayload_Propose": { - "properties": { - "author": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "expiryAt": { - "format": "date-time", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "payload": { - "$ref": "#/components/schemas/Internal_UserIntentPayload" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Propose" - ], - "type": "string" - } - }, - "required": [ - "author", - "expiryAt", - "targetDomainId", - "id", - "payload", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_UserRequestPayload_Reject": { - "properties": { - "author": { - "$ref": "#/components/schemas/Internal_UserReference" - }, - "expiryAt": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "format": "date-time", - "type": "string" - }, - "intentId": { - "format": "uuid", - "type": "string" - }, - "proposalSignature": { - "format": "base64", - "type": "string" - }, - "rejectReason": { - "maxLength": 5000, - "minLength": 1, - "type": "string" - }, - "targetDomainId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "Reject" - ], - "type": "string" - } - }, - "required": [ - "author", - "targetDomainId", - "intentId", - "proposalSignature", - "rejectReason", - "type" - ], - "type": "object" - }, - "Internal_UserSamePublicKey": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "userId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "domainId", - "alias", - "userId" - ], - "type": "object" - }, - "Internal_UserUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "UserUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_UsersConflicts": { - "properties": { - "differentPublicKey": { - "items": { - "$ref": "#/components/schemas/Internal_UsersDifferentPublicKey" - }, - "type": "array" - }, - "sameAlias": { - "items": { - "$ref": "#/components/schemas/Internal_UsersSameAlias" - }, - "type": "array" - }, - "samePublicKey": { - "items": { - "$ref": "#/components/schemas/Internal_UsersSamePublicKey" - }, - "type": "array" - } - }, - "required": [ - "sameAlias", - "samePublicKey", - "differentPublicKey" - ], - "type": "object" - }, - "Internal_UsersDifferentPublicKey": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_UserDifferentPublicKey" - }, - "type": "array" - } - }, - "required": [ - "alias", - "users" - ], - "type": "object" - }, - "Internal_UsersSameAlias": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "domainId": { - "format": "uuid", - "type": "string" - }, - "userIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "domainId", - "alias", - "userIds" - ], - "type": "object" - }, - "Internal_UsersSamePublicKey": { - "properties": { - "publicKey": { - "format": "base64", - "type": "string" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_UserSamePublicKey" - }, - "type": "array" - } - }, - "required": [ - "publicKey", - "users" - ], - "type": "object" - }, - "Internal_V3AccountToMigrate": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lockStatus": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "publicId": { - "example": "D37D-04ACF7C4", - "pattern": "^([A-Fa-f0-9]{4})-([0-7][A-Fa-f0-9]{7})$", - "type": "string" - } - }, - "required": [ - "id", - "alias", - "ledgerId", - "lockStatus", - "publicId", - "customProperties" - ], - "type": "object" - }, - "Internal_ValidatedTicker": { - "properties": { - "decimals": { - "format": "int32", - "type": "integer" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "kind": { - "$ref": "#/components/schemas/Internal_ValidatedTickerKind" - }, - "ledgerDetails": { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "symbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "id", - "ledgerId", - "kind", - "name", - "ledgerDetails", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_ValidatedTickerKind": { - "enum": [ - "Native", - "Contract", - "Token" - ], - "type": "string" - }, - "Internal_Vault": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "enabledKeyStrategies": { - "items": { - "$ref": "#/components/schemas/Internal_VaultKeyStrategy" - }, - "minItems": 1, - "type": "array" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_EntityMetadata" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_VaultParameters" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "supportedDerivations": { - "items": { - "$ref": "#/components/schemas/Internal_VaultDerivation" - }, - "type": "array" - } - }, - "required": [ - "id", - "publicKey", - "alias", - "lock", - "metadata" - ], - "type": "object" - }, - "Internal_VaultAccountKeyInformation": { - "deprecated": true, - "discriminator": { - "mapping": { - "Random": "#/components/schemas/Internal_VaultAccountKeyInformation_Random", - "VaultDerived": "#/components/schemas/Internal_VaultAccountKeyInformation_VaultDerived" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_VaultAccountKeyInformation_Random" - }, - { - "$ref": "#/components/schemas/Internal_VaultAccountKeyInformation_VaultDerived" - } - ] - }, - "Internal_VaultAccountKeyInformation_Random": { - "properties": { - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKey" - }, - "type": { - "enum": [ - "Random" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_VaultAccountKeyInformation_VaultDerived": { - "properties": { - "derivationPath": { - "minLength": 1, - "type": "string" - }, - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKey" - }, - "type": { - "enum": [ - "VaultDerived" - ], - "type": "string" - } - }, - "required": [ - "derivationPath", - "type" - ], - "type": "object" - }, - "Internal_VaultAccountProviderInformation_Key": { - "discriminator": { - "mapping": { - "VaultDerived": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultDerived", - "VaultDerivedNonExtended": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultDerivedNonExtended", - "VaultRandom": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultRandom", - "VaultReserved": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultReserved" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultDerived" - }, - { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultDerivedNonExtended" - }, - { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultRandom" - }, - { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_Key_VaultReserved" - } - ] - }, - "Internal_VaultAccountProviderInformation_KeyId": { - "enum": [ - "SECP256K1_CUSTODY_1", - "ED25519_CUSTODY_1", - "ED25519_CUSTODY_2", - "ED25519_STAKING_1", - "ED25519_CANTON_PARTY_1" - ], - "type": "string" - }, - "Internal_VaultAccountProviderInformation_Key_VaultDerived": { - "properties": { - "derivationPath": { - "minLength": 1, - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_KeyId" - }, - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyExtendedOnly" - }, - "type": { - "enum": [ - "VaultDerived" - ], - "type": "string" - } - }, - "required": [ - "id", - "derivationPath", - "type" - ], - "type": "object" - }, - "Internal_VaultAccountProviderInformation_Key_VaultDerivedNonExtended": { - "properties": { - "derivationPath": { - "minLength": 1, - "type": "string" - }, - "id": { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_KeyId" - }, - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - }, - "type": { - "enum": [ - "VaultDerivedNonExtended" - ], - "type": "string" - } - }, - "required": [ - "id", - "derivationPath", - "publicKey", - "type" - ], - "type": "object" - }, - "Internal_VaultAccountProviderInformation_Key_VaultRandom": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_KeyId" - }, - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKey" - }, - "type": { - "enum": [ - "VaultRandom" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_VaultAccountProviderInformation_Key_VaultReserved": { - "properties": { - "id": { - "$ref": "#/components/schemas/Internal_VaultAccountProviderInformation_KeyId" - }, - "publicKey": { - "$ref": "#/components/schemas/Internal_AccountPublicKeyOnly" - }, - "type": { - "enum": [ - "VaultReserved" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_VaultApiVersion": { - "properties": { - "major": { - "format": "int32", - "minimum": 0, - "type": "integer" - }, - "minor": { - "format": "int32", - "minimum": 0, - "type": "integer" - }, - "patch": { - "format": "int32", - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "major", - "minor", - "patch" - ], - "type": "object" - }, - "Internal_VaultBackupParameters": { - "discriminator": { - "mapping": { - "VaultHsm": "#/components/schemas/Internal_VaultBackupParameters_VaultHsm", - "VaultMpc": "#/components/schemas/Internal_VaultBackupParameters_VaultMpc" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_VaultBackupParameters_VaultHsm" - }, - { - "$ref": "#/components/schemas/Internal_VaultBackupParameters_VaultMpc" - } - ] - }, - "Internal_VaultBackupParameters_VaultHsm": { - "properties": { - "type": { - "enum": [ - "VaultHsm" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "type" - ], - "type": "object" - }, - "Internal_VaultBackupParameters_VaultMpc": { - "properties": { - "type": { - "enum": [ - "VaultMpc" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "type" - ], - "type": "object" - }, - "Internal_VaultCreated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "VaultCreated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_VaultDerivation": { - "enum": [ - "Slip10", - "SoftBip32", - "None", - "Bip32" - ], - "type": "string" - }, - "Internal_VaultHsmBackupData": { - "properties": { - "acknowledged": { - "type": "boolean" - }, - "encryptedSeed": { - "format": "base64", - "type": "string" - }, - "hash": { - "type": "string" - } - }, - "required": [ - "acknowledged", - "encryptedSeed", - "hash" - ], - "type": "object" - }, - "Internal_VaultKeyMaterialRewrapCompleted": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "VaultKeyMaterialRewrapCompleted" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_VaultKeyMaterialRewrapFailed": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "VaultKeyMaterialRewrapFailed" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_VaultKeyStrategy": { - "enum": [ - "VaultHard", - "VaultSoft", - "Random" - ], - "type": "string" - }, - "Internal_VaultMpcBackupData": { - "properties": { - "acknowledged": { - "type": "boolean" - }, - "hash": { - "type": "string" - }, - "json": { - "type": "string" - } - }, - "required": [ - "acknowledged", - "json", - "hash" - ], - "type": "object" - }, - "Internal_VaultParameters": { - "discriminator": { - "mapping": { - "HSM": "#/components/schemas/Internal_VaultParameters_HSM", - "MPC": "#/components/schemas/Internal_VaultParameters_MPC" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_VaultParameters_HSM" - }, - { - "$ref": "#/components/schemas/Internal_VaultParameters_MPC" - } - ] - }, - "Internal_VaultParameters_HSM": { - "properties": { - "type": { - "enum": [ - "HSM" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_VaultParameters_MPC": { - "properties": { - "backupEncryptionKey": { - "description": "0x prefixed Hex encoded backup encryption key, supported key size between 2048 and 4096 bits.", - "pattern": "^0[xX](([a-fA-F0-9][a-fA-F0-9])*)$", - "type": "string" - }, - "type": { - "enum": [ - "MPC" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_VaultProcessingStatus": { - "enum": [ - "Pending", - "Preparing", - "Completed" - ], - "type": "string" - }, - "Internal_VaultUpdated": { - "properties": { - "id": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "VaultUpdated" - ], - "type": "string" - } - }, - "required": [ - "id", - "type" - ], - "type": "object" - }, - "Internal_WorkflowCondition": { - "discriminator": { - "mapping": { - "And": "#/components/schemas/Internal_WorkflowCondition_And", - "Or": "#/components/schemas/Internal_WorkflowCondition_Or", - "RoleQuorum": "#/components/schemas/Internal_WorkflowCondition_RoleQuorum" - }, - "propertyName": "type" - }, - "example": { - "left": { - "left": { - "quorum": 1, - "role": "Admin", - "type": "RoleQuorum" - }, - "right": { - "quorum": 2, - "role": "Trader", - "type": "RoleQuorum" - }, - "type": "And" - }, - "right": { - "left": { - "quorum": 3, - "role": "Customer", - "type": "RoleQuorum" - }, - "right": { - "quorum": 4, - "role": "Manager", - "type": "RoleQuorum" - }, - "type": "Or" - } - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_WorkflowCondition_And" - }, - { - "$ref": "#/components/schemas/Internal_WorkflowCondition_Or" - }, - { - "$ref": "#/components/schemas/Internal_WorkflowCondition_RoleQuorum" - } - ] - }, - "Internal_WorkflowCondition_And": { - "properties": { - "left": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "right": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": { - "enum": [ - "And" - ], - "type": "string" - } - }, - "required": [ - "left", - "right", - "type" - ], - "type": "object" - }, - "Internal_WorkflowCondition_Or": { - "properties": { - "left": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "right": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": { - "enum": [ - "Or" - ], - "type": "string" - } - }, - "required": [ - "left", - "right", - "type" - ], - "type": "object" - }, - "Internal_WorkflowCondition_RoleQuorum": { - "properties": { - "quorum": { - "format": "int32", - "minimum": 1, - "type": "integer" - }, - "role": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "type": { - "enum": [ - "RoleQuorum" - ], - "type": "string" - } - }, - "required": [ - "role", - "quorum", - "type" - ], - "type": "object" - }, - "Internal_WorkflowProgress": { - "properties": { - "policyReference": { - "$ref": "#/components/schemas/Internal_PolicyReference" - }, - "stepProgress": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowStep" - }, - "type": "array" - } - }, - "required": [ - "stepProgress", - "policyReference" - ], - "type": "object" - }, - "Internal_WorkflowStep": { - "properties": { - "decisions": { - "items": { - "$ref": "#/components/schemas/Internal_DecisionPayload" - }, - "type": "array" - }, - "state": { - "$ref": "#/components/schemas/Internal_WorkflowStepStatus" - } - }, - "required": [ - "state", - "decisions" - ], - "type": "object" - }, - "Internal_WorkflowStepStatus": { - "enum": [ - "Open", - "Approved", - "Failed", - "Rejected" - ], - "type": "string" - }, - "Internal_XrplClawbackCurrency": { - "discriminator": { - "mapping": { - "Currency": "#/components/schemas/Internal_XrplClawbackCurrency_Currency", - "MultiPurposeToken": "#/components/schemas/Internal_XrplClawbackCurrency_MultiPurposeToken", - "TickerId": "#/components/schemas/Internal_XrplClawbackCurrency_TickerId" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplClawbackCurrency_Currency" - }, - { - "$ref": "#/components/schemas/Internal_XrplClawbackCurrency_MultiPurposeToken" - }, - { - "$ref": "#/components/schemas/Internal_XrplClawbackCurrency_TickerId" - } - ] - }, - "Internal_XrplClawbackCurrency_Currency": { - "properties": { - "code": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 35, - "minLength": 25, - "type": "string" - }, - "type": { - "enum": [ - "Currency" - ], - "type": "string" - } - }, - "required": [ - "code", - "issuer", - "type" - ], - "type": "object" - }, - "Internal_XrplClawbackCurrency_MultiPurposeToken": { - "properties": { - "issuanceId": { - "description": "XRPL MPToken Issuance ID (192-bit integer hex encoded)", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "type": { - "enum": [ - "MultiPurposeToken" - ], - "type": "string" - } - }, - "required": [ - "issuanceId", - "type" - ], - "type": "object" - }, - "Internal_XrplClawbackCurrency_TickerId": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerId" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_XrplFeeStrategy": { - "discriminator": { - "mapping": { - "Priority": "#/components/schemas/Internal_XrplFeeStrategy_Priority", - "SpecifiedAdditionalFee": "#/components/schemas/Internal_XrplFeeStrategy_SpecifiedAdditionalFee" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplFeeStrategy_Priority" - }, - { - "$ref": "#/components/schemas/Internal_XrplFeeStrategy_SpecifiedAdditionalFee" - } - ] - }, - "Internal_XrplFeeStrategy_Priority": { - "properties": { - "priority": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "type": { - "enum": [ - "Priority" - ], - "type": "string" - } - }, - "required": [ - "priority", - "type" - ], - "type": "object" - }, - "Internal_XrplFeeStrategy_SpecifiedAdditionalFee": { - "properties": { - "drops": { - "description": "This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "type": "string" - }, - "type": { - "enum": [ - "SpecifiedAdditionalFee" - ], - "type": "string" - } - }, - "required": [ - "drops", - "type" - ], - "type": "object" - }, - "Internal_XrplIouCurrency": { - "discriminator": { - "mapping": { - "Currency": "#/components/schemas/Internal_XrplIouCurrency_Currency", - "TickerId": "#/components/schemas/Internal_XrplIouCurrency_TickerId" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplIouCurrency_Currency" - }, - { - "$ref": "#/components/schemas/Internal_XrplIouCurrency_TickerId" - } - ] - }, - "Internal_XrplIouCurrency_Currency": { - "properties": { - "code": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 35, - "minLength": 25, - "type": "string" - }, - "type": { - "enum": [ - "Currency" - ], - "type": "string" - } - }, - "required": [ - "code", - "issuer", - "type" - ], - "type": "object" - }, - "Internal_XrplIouCurrency_TickerId": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerId" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_XrplMemo": { - "properties": { - "memoData": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "memoFormat": { - "description": "Hex encoded string. The encoded string must only characters defined in RFC 3986 URLs", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "memoType": { - "description": "Hex encoded string. The encoded string must only characters defined in RFC 3986 URLs", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - } - }, - "type": "object" - }, - "Internal_XrplOperation": { - "discriminator": { - "mapping": { - "AccountSet": "#/components/schemas/Internal_XrplOperation_AccountSet", - "Clawback": "#/components/schemas/Internal_XrplOperation_Clawback", - "DepositPreauth": "#/components/schemas/Internal_XrplOperation_DepositPreauth", - "EscrowFinish": "#/components/schemas/Internal_XrplOperation_EscrowFinish", - "MPTokenAuthorize": "#/components/schemas/Internal_XrplOperation_MPTokenAuthorize", - "MPTokenIssuanceCreate": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceCreate", - "MPTokenIssuanceDestroy": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceDestroy", - "MPTokenIssuanceSet": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceSet", - "OfferCreate": "#/components/schemas/Internal_XrplOperation_OfferCreate", - "Payment": "#/components/schemas/Internal_XrplOperation_Payment", - "TrustSet": "#/components/schemas/Internal_XrplOperation_TrustSet" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplOperation_AccountSet" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_Clawback" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_DepositPreauth" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_EscrowFinish" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_MPTokenAuthorize" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceCreate" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceDestroy" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_MPTokenIssuanceSet" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_OfferCreate" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_Payment" - }, - { - "$ref": "#/components/schemas/Internal_XrplOperation_TrustSet" - } - ] - }, - "Internal_XrplOperation_AccountSet": { - "properties": { - "clearFlag": { - "$ref": "#/components/schemas/Internal_Xrpl_AccountSetFlag" - }, - "setFlag": { - "$ref": "#/components/schemas/Internal_Xrpl_AccountSetFlag" - }, - "transferRate": { - "format": "int32", - "type": "integer" - }, - "type": { - "enum": [ - "AccountSet" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_Clawback": { - "properties": { - "currency": { - "$ref": "#/components/schemas/Internal_XrplClawbackCurrency" - }, - "holder": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "Clawback" - ], - "type": "string" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "currency", - "holder", - "value", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_DepositPreauth": { - "properties": { - "authorize": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "DepositPreauth" - ], - "type": "string" - }, - "unauthorize": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_EscrowFinish": { - "properties": { - "condition": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "credentialIds": { - "items": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "fulfillment": { - "description": "Hex encoded string.", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "offerSequence": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "owner": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "type": { - "enum": [ - "EscrowFinish" - ], - "type": "string" - } - }, - "required": [ - "owner", - "offerSequence", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_MPTokenAuthorize": { - "properties": { - "flags": { - "items": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenAuthorizeFlag" - }, - "type": "array" - }, - "holder": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "tokenIdentifier": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier" - }, - "type": { - "enum": [ - "MPTokenAuthorize" - ], - "type": "string" - } - }, - "required": [ - "tokenIdentifier", - "flags", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_MPTokenIssuanceCreate": { - "properties": { - "assetScale": { - "format": "int32", - "maximum": 255, - "minimum": 0, - "type": "integer" - }, - "flags": { - "items": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIssuanceCreateFlag" - }, - "type": "array" - }, - "maximumAmount": { - "description": "This field is a unsigned 64bit integer that can store values in range from 0 to 18446744073709551615.It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "maximum": 18446744073709552000, - "minimum": 0, - "type": "string" - }, - "metadata": { - "$ref": "#/components/schemas/Internal_MPTokenIssuanceMetadata" - }, - "transferFee": { - "description": "Transfer fee for MultiPurposeToken, must be from 0 to 50000", - "format": "int32", - "maximum": 50000, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "MPTokenIssuanceCreate" - ], - "type": "string" - } - }, - "required": [ - "flags", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_MPTokenIssuanceDestroy": { - "properties": { - "tokenIdentifier": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier" - }, - "type": { - "enum": [ - "MPTokenIssuanceDestroy" - ], - "type": "string" - } - }, - "required": [ - "tokenIdentifier", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_MPTokenIssuanceSet": { - "properties": { - "flags": { - "items": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIssuanceSetFlag" - }, - "type": "array" - }, - "holder": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "tokenIdentifier": { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier" - }, - "type": { - "enum": [ - "MPTokenIssuanceSet" - ], - "type": "string" - } - }, - "required": [ - "tokenIdentifier", - "flags", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_OfferCreate": { - "properties": { - "flags": { - "items": { - "$ref": "#/components/schemas/Internal_Xrpl_OfferCreateFlag" - }, - "type": "array" - }, - "takerGets": { - "$ref": "#/components/schemas/Internal_Xrpl_AssetQuantity" - }, - "takerPays": { - "$ref": "#/components/schemas/Internal_Xrpl_AssetQuantity" - }, - "type": { - "enum": [ - "OfferCreate" - ], - "type": "string" - } - }, - "required": [ - "flags", - "takerGets", - "takerPays", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_Payment": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "currency": { - "$ref": "#/components/schemas/Internal_XrplPaymentCurrency" - }, - "destination": { - "$ref": "#/components/schemas/Internal_TransactionDestination" - }, - "destinationTag": { - "format": "int64", - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "Payment" - ], - "type": "string" - } - }, - "required": [ - "destination", - "amount", - "type" - ], - "type": "object" - }, - "Internal_XrplOperation_TrustSet": { - "properties": { - "enableRippling": { - "type": "boolean" - }, - "flags": { - "items": { - "$ref": "#/components/schemas/Internal_Xrpl_TrustSetFlag" - }, - "type": "array" - }, - "limitAmount": { - "$ref": "#/components/schemas/Internal_Xrpl_LimitAmount" - }, - "type": { - "enum": [ - "TrustSet" - ], - "type": "string" - } - }, - "required": [ - "flags", - "limitAmount", - "type" - ], - "type": "object" - }, - "Internal_XrplPaymentCurrency": { - "discriminator": { - "mapping": { - "Currency": "#/components/schemas/Internal_XrplPaymentCurrency_Currency", - "MultiPurposeToken": "#/components/schemas/Internal_XrplPaymentCurrency_MultiPurposeToken", - "TickerId": "#/components/schemas/Internal_XrplPaymentCurrency_TickerId" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplPaymentCurrency_Currency" - }, - { - "$ref": "#/components/schemas/Internal_XrplPaymentCurrency_MultiPurposeToken" - }, - { - "$ref": "#/components/schemas/Internal_XrplPaymentCurrency_TickerId" - } - ] - }, - "Internal_XrplPaymentCurrency_Currency": { - "properties": { - "code": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 35, - "minLength": 25, - "type": "string" - }, - "type": { - "enum": [ - "Currency" - ], - "type": "string" - } - }, - "required": [ - "code", - "issuer", - "type" - ], - "type": "object" - }, - "Internal_XrplPaymentCurrency_MultiPurposeToken": { - "properties": { - "issuanceId": { - "description": "XRPL MPToken Issuance ID (192-bit integer hex encoded)", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "type": { - "enum": [ - "MultiPurposeToken" - ], - "type": "string" - } - }, - "required": [ - "issuanceId", - "type" - ], - "type": "object" - }, - "Internal_XrplPaymentCurrency_TickerId": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerId" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_XrplTickerProperties": { - "discriminator": { - "mapping": { - "FungibleToken": "#/components/schemas/Internal_XrplTickerProperties_FungibleToken", - "MultiPurposeToken": "#/components/schemas/Internal_XrplTickerProperties_MultiPurposeToken", - "Native": "#/components/schemas/Internal_XrplTickerProperties_Native" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_XrplTickerProperties_FungibleToken" - }, - { - "$ref": "#/components/schemas/Internal_XrplTickerProperties_MultiPurposeToken" - }, - { - "$ref": "#/components/schemas/Internal_XrplTickerProperties_Native" - } - ] - }, - "Internal_XrplTickerProperties_FungibleToken": { - "properties": { - "currencyCode": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "issuer": { - "maxLength": 35, - "minLength": 25, - "type": "string" - }, - "type": { - "enum": [ - "FungibleToken" - ], - "type": "string" - } - }, - "required": [ - "currencyCode", - "issuer", - "type" - ], - "type": "object" - }, - "Internal_XrplTickerProperties_MultiPurposeToken": { - "properties": { - "issuanceId": { - "description": "XRPL MPToken Issuance ID (192-bit integer hex encoded)", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "type": { - "enum": [ - "MultiPurposeToken" - ], - "type": "string" - } - }, - "required": [ - "issuanceId", - "type" - ], - "type": "object" - }, - "Internal_XrplTickerProperties_Native": { - "properties": { - "type": { - "enum": [ - "Native" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "Internal_Xrpl_AccountSetFlag": { - "enum": [ - "asfGlobalFreeze", - "asfNoFreeze", - "asfRequireAuth", - "asfAllowTrustLineClawback", - "asfAccountTxnID", - "asfDepositAuth", - "asfRequireDest", - "asfDefaultRipple" - ], - "type": "string" - }, - "Internal_Xrpl_AssetQuantity": { - "properties": { - "amount": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "currency": { - "$ref": "#/components/schemas/Internal_XrplIouCurrency" - } - }, - "required": [ - "amount" - ], - "type": "object" - }, - "Internal_Xrpl_LimitAmount": { - "properties": { - "currency": { - "$ref": "#/components/schemas/Internal_XrplIouCurrency" - }, - "value": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - } - }, - "required": [ - "currency", - "value" - ], - "type": "object" - }, - "Internal_Xrpl_MPTokenAuthorizeFlag": { - "enum": [ - "tfMPTUnauthorize" - ], - "type": "string" - }, - "Internal_Xrpl_MPTokenIdentifier": { - "discriminator": { - "mapping": { - "MPTokenIssuanceId": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier_MPTokenIssuanceId", - "TickerId": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier_TickerId" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier_MPTokenIssuanceId" - }, - { - "$ref": "#/components/schemas/Internal_Xrpl_MPTokenIdentifier_TickerId" - } - ] - }, - "Internal_Xrpl_MPTokenIdentifier_MPTokenIssuanceId": { - "properties": { - "issuanceId": { - "description": "XRPL MPToken Issuance ID (192-bit integer hex encoded)", - "pattern": "^[A-Fa-f0-9]*$", - "type": "string" - }, - "type": { - "enum": [ - "MPTokenIssuanceId" - ], - "type": "string" - } - }, - "required": [ - "issuanceId", - "type" - ], - "type": "object" - }, - "Internal_Xrpl_MPTokenIdentifier_TickerId": { - "properties": { - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "TickerId" - ], - "type": "string" - } - }, - "required": [ - "tickerId", - "type" - ], - "type": "object" - }, - "Internal_Xrpl_MPTokenIssuanceCreateFlag": { - "enum": [ - "tfMPTRequireAuth", - "tfMPTCanClawback", - "tfMPTCanTransfer", - "tfMPTCanEscrow", - "tfMPTCanLock", - "tfMPTCanTrade" - ], - "type": "string" - }, - "Internal_Xrpl_MPTokenIssuanceSetFlag": { - "enum": [ - "tfMPTLock", - "tfMPTUnlock" - ], - "type": "string" - }, - "Internal_Xrpl_OfferCreateFlag": { - "enum": [ - "tfImmediateOrCancel", - "tfFillOrKill", - "tfSell" - ], - "type": "string" - }, - "Internal_Xrpl_TrustSetFlag": { - "enum": [ - "tfSetFreeze", - "tfClearFreeze", - "tfSetfAuth" - ], - "type": "string" - }, - "Internal_v0_AcknowledgeBackup": { - "properties": { - "backupId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "v0_AcknowledgeBackup" - ], - "type": "string" - } - }, - "required": [ - "backupId", - "type" - ], - "type": "object" - }, - "Internal_v0_AddAccountLedgers": { - "properties": { - "ledgerIds": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_AddAccountLedgers" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_AddProviderKey": { - "properties": { - "providerId": { - "format": "uuid", - "type": "string" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "v0_AddProviderKey" - ], - "type": "string" - } - }, - "required": [ - "providerId", - "publicKey", - "type" - ], - "type": "object" - }, - "Internal_v0_AddTrustedPublicKeysForMigration": { - "properties": { - "currentCollectionSigningPublicKey": { - "format": "base64", - "type": "string" - }, - "currentCollectionSigningPublicKeySignature": { - "format": "base64", - "type": "string" - }, - "newApiSigningPublicKey": { - "format": "base64", - "type": "string" - }, - "newCollectionSigningPublicKey": { - "format": "base64", - "type": "string" - }, - "newKeyMaterial": { - "maxLength": 5000, - "minLength": 1, - "type": "string" - }, - "newMessageSigningPublicKey": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "v0_AddTrustedPublicKeysForMigration" - ], - "type": "string" - } - }, - "required": [ - "newCollectionSigningPublicKey", - "newMessageSigningPublicKey", - "newApiSigningPublicKey", - "newKeyMaterial", - "currentCollectionSigningPublicKey", - "currentCollectionSigningPublicKeySignature", - "type" - ], - "type": "object" - }, - "Internal_v0_AttemptTransactionOrderCancellation": { - "properties": { - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "reason": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "replacementTransactionOrderId": { - "format": "uuid", - "type": "string" - }, - "targetTransactionOrderId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "v0_AttemptTransactionOrderCancellation" - ], - "type": "string" - } - }, - "required": [ - "targetTransactionOrderId", - "replacementTransactionOrderId", - "reason", - "type" - ], - "type": "object" - }, - "Internal_v0_ConnectProvider": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_LockStatus" - }, - "provider": { - "$ref": "#/components/schemas/Internal_AccountProviderAction" - }, - "type": { - "enum": [ - "v0_ConnectProvider" - ], - "type": "string" - } - }, - "required": [ - "id", - "alias", - "provider", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateAccount": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "ledgerIds": { - "items": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "providerDetails": { - "$ref": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload" - }, - "type": { - "enum": [ - "v0_CreateAccount" - ], - "type": "string" - } - }, - "required": [ - "id", - "alias", - "providerDetails", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateAccountProviderDetailsPayload": { - "discriminator": { - "mapping": { - "External": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_External", - "Mco": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_Mco", - "Vault": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_Vault" - }, - "propertyName": "type" - }, - "oneOf": [ - { - "$ref": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_External" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_Mco" - }, - { - "$ref": "#/components/schemas/Internal_v0_CreateAccountProviderDetailsPayload_Vault" - } - ] - }, - "Internal_v0_CreateAccountProviderDetailsPayload_External": { - "properties": { - "locationId": { - "format": "uuid", - "type": "string" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "External" - ], - "type": "string" - } - }, - "required": [ - "providerId", - "locationId", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateAccountProviderDetailsPayload_Mco": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "locationId": { - "format": "uuid", - "type": "string" - }, - "providerId": { - "format": "uuid", - "type": "string" - }, - "subcustodianAccountId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "Mco" - ], - "type": "string" - } - }, - "required": [ - "providerId", - "locationId", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_v0_CreateAccountProviderDetailsPayload_Vault": { - "properties": { - "keyStrategy": { - "$ref": "#/components/schemas/Internal_AccountKeyStrategy" - }, - "type": { - "enum": [ - "Vault" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "keyStrategy", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateBackup": { - "properties": { - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_VaultBackupParameters" - }, - "type": { - "enum": [ - "v0_CreateBackup" - ], - "type": "string" - } - }, - "required": [ - "id", - "parameters", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateDomain": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "childrenDomainIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "governingStrategy": { - "$ref": "#/components/schemas/Internal_GoverningStrategy" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "permissions": { - "$ref": "#/components/schemas/Internal_Permissions" - }, - "policies": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisPolicy" - }, - "type": "array" - }, - "type": { - "enum": [ - "v0_CreateDomain" - ], - "type": "string" - }, - "users": { - "items": { - "$ref": "#/components/schemas/Internal_CreateDomainGenesisUser" - }, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "lock", - "permissions", - "customProperties", - "users", - "policies", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateEndpoint": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "allowDuplicate": { - "deprecated": true, - "description": "Whether an endpoint duplicating the address, ledger and tag of an existing one is accepted. Defaults to true. Deletion target: Oct. 1st 2027 — after this date such an endpoint is always rejected.", - "type": "boolean" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters" - }, - "trustScore": { - "format": "int32", - "maximum": 100, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "v0_CreateEndpoint" - ], - "type": "string" - } - }, - "required": [ - "id", - "address", - "trustScore", - "ledgerId", - "alias", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateLedger": { - "properties": { - "alias": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_LedgerParameters" - }, - "type": { - "enum": [ - "v0_CreateLedger" - ], - "type": "string" - } - }, - "required": [ - "id", - "alias", - "parameters", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreatePolicy": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "condition": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "intentOrigin": { - "$ref": "#/components/schemas/Internal_IntentOrigin" - }, - "intentTypes": { - "items": { - "$ref": "#/components/schemas/Internal_IntentType" - }, - "type": "array" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "rank": { - "format": "int32", - "maximum": 1000, - "minimum": 0, - "type": "integer" - }, - "scope": { - "$ref": "#/components/schemas/Internal_PolicyScope" - }, - "scriptingEngine": { - "$ref": "#/components/schemas/Internal_ScriptingEngine" - }, - "type": { - "enum": [ - "v0_CreatePolicy" - ], - "type": "string" - }, - "workflow": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": "array" - } - }, - "required": [ - "id", - "alias", - "rank", - "scope", - "scriptingEngine", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateTicker": { - "properties": { - "decimals": { - "format": "int32", - "type": "integer" - }, - "kind": { - "$ref": "#/components/schemas/Internal_TickerKind" - }, - "ledgerDetails": { - "$ref": "#/components/schemas/Internal_TickerLedgerDetails" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "symbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "v0_CreateTicker" - ], - "type": "string" - } - }, - "required": [ - "ledgerId", - "kind", - "name", - "ledgerDetails", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateTransactionOrder": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_TransactionOrderParameters" - }, - "type": { - "enum": [ - "v0_CreateTransactionOrder" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountId", - "parameters", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateTransferOrder": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "feeStrategy": { - "$ref": "#/components/schemas/Internal_FeePriority" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "maximumFee": { - "description": "This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision.", - "minimum": 0, - "type": "string" - }, - "memo": { - "maxLength": 2000, - "minLength": 1, - "type": "string" - }, - "outputs": { - "items": { - "$ref": "#/components/schemas/Internal_CreateTransferOrderOutput" - }, - "minItems": 1, - "type": "array" - }, - "preferredAddressForChange": { - "$ref": "#/components/schemas/Internal_PreferredAddressForChange" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "v0_CreateTransferOrder" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountId", - "tickerId", - "outputs", - "feeStrategy", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateUser": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "loginIds": { - "description": "Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed.", - "items": { - "$ref": "#/components/schemas/Internal_LoginId" - }, - "type": "array" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "roles": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "v0_CreateUser" - ], - "type": "string" - } - }, - "required": [ - "id", - "alias", - "publicKey", - "roles", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_CreateVault": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "lock": { - "$ref": "#/components/schemas/Internal_IntentLockStatus" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_VaultParameters" - }, - "publicKey": { - "format": "base64", - "type": "string" - }, - "type": { - "enum": [ - "v0_CreateVault" - ], - "type": "string" - } - }, - "required": [ - "id", - "alias", - "publicKey", - "lock", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_ExecuteExtension": { - "properties": { - "payload": { - "additionalProperties": { - "type": "object" - }, - "type": "object" - }, - "type": { - "enum": [ - "v0_ExecuteExtension" - ], - "type": "string" - } - }, - "required": [ - "payload", - "type" - ], - "type": "object" - }, - "Internal_v0_LockAccount": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockAccount" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockDomain": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockDomain" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockEndpoint": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockEndpoint" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockPolicy": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockPolicy" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockTicker": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockTicker" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockUser": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockUser" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_LockVault": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_LockVault" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_MigrateSilo3AccountBatch": { - "properties": { - "accounts": { - "items": { - "$ref": "#/components/schemas/Internal_V3AccountToMigrate" - }, - "type": "array" - }, - "type": { - "enum": [ - "v0_MigrateSilo3AccountBatch" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - }, - "wasColdSilo": { - "type": "boolean" - }, - "wasTestSilo": { - "type": "boolean" - } - }, - "required": [ - "vaultId", - "wasColdSilo", - "wasTestSilo", - "accounts", - "type" - ], - "type": "object" - }, - "Internal_v0_NotarizeData": { - "properties": { - "data": { - "maxLength": 10000, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "v0_NotarizeData" - ], - "type": "string" - } - }, - "required": [ - "data", - "type" - ], - "type": "object" - }, - "Internal_v0_RegisterMcoInstance": { - "description": "**Experimental** (Mco): subject to change until 2026-12-31.", - "properties": { - "commPubKey": { - "format": "base64", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "encPubKey": { - "format": "base64", - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "mcoTenantId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "v0_RegisterMcoInstance" - ], - "type": "string" - } - }, - "required": [ - "id", - "mcoTenantId", - "commPubKey", - "encPubKey", - "customProperties", - "type" - ], - "type": "object", - "x-experimental": { - "expectedStableBy": "2026-12-31", - "feature": "Mco" - } - }, - "Internal_v0_RegisterTrustedPublicKey": { - "properties": { - "publicKey": { - "format": "base64", - "type": "string" - }, - "purpose": { - "$ref": "#/components/schemas/Internal_TrustedPublicKeyPurpose" - }, - "type": { - "enum": [ - "v0_RegisterTrustedPublicKey" - ], - "type": "string" - } - }, - "required": [ - "publicKey", - "purpose", - "type" - ], - "type": "object" - }, - "Internal_v0_ReleaseQuarantinedTransfers": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "transferIds": { - "items": { - "format": "uuid", - "type": "string" - }, - "type": "array" - }, - "type": { - "enum": [ - "v0_ReleaseQuarantinedTransfers" - ], - "type": "string" - } - }, - "required": [ - "accountId", - "transferIds", - "type" - ], - "type": "object" - }, - "Internal_v0_RequestDepositInstructions": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "tickerId": { - "format": "uuid", - "type": "string" - }, - "type": { - "enum": [ - "v0_RequestDepositInstructions" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountId", - "tickerId", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_RewrapVaultKeyMaterial": { - "properties": { - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "type": { - "enum": [ - "v0_RewrapVaultKeyMaterial" - ], - "type": "string" - }, - "vaultId": { - "format": "uuid", - "type": "string" - } - }, - "required": [ - "vaultId", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_SetSystemProperty": { - "properties": { - "revision": { - "format": "int64", - "minimum": 1, - "type": "integer" - }, - "type": { - "enum": [ - "v0_SetSystemProperty" - ], - "type": "string" - }, - "value": { - "$ref": "#/components/schemas/Internal_ReadWriteSystemPropertyKeyValue" - } - }, - "required": [ - "value", - "type" - ], - "type": "object" - }, - "Internal_v0_SignManifest": { - "properties": { - "accountId": { - "format": "uuid", - "type": "string" - }, - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "content": { - "$ref": "#/components/schemas/Internal_ManifestContent" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "id": { - "format": "uuid", - "type": "string" - }, - "ledgerId": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "v0_SignManifest" - ], - "type": "string" - } - }, - "required": [ - "id", - "accountId", - "content", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockAccount": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockAccount" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockDomain": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockDomain" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockEndpoint": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockEndpoint" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockPolicy": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockPolicy" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockTicker": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockTicker" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockUser": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockUser" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UnlockVault": { - "properties": { - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UnlockVault" - ], - "type": "string" - } - }, - "required": [ - "reference", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateAccount": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UpdateAccount" - ], - "type": "string" - } - }, - "required": [ - "reference", - "alias", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateDomain": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UpdateDomain" - ], - "type": "string" - } - }, - "required": [ - "reference", - "alias", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateDomainPermissions": { - "properties": { - "permissions": { - "$ref": "#/components/schemas/Internal_Permissions" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UpdateDomainPermissions" - ], - "type": "string" - } - }, - "required": [ - "reference", - "permissions", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateEndpoint": { - "properties": { - "address": { - "maxLength": 512, - "minLength": 1, - "type": "string" - }, - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "allowDuplicate": { - "deprecated": true, - "description": "Whether an endpoint duplicating the address, ledger and tag of an existing one is accepted. Defaults to true. Deletion target: Oct. 1st 2027 — after this date such an endpoint is always rejected.", - "type": "boolean" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "ledgerId": { - "deprecated": true, - "description": "Deletion target: Mar. 31st 2027", - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_EndpointLedgerParameters" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "trustScore": { - "format": "int32", - "maximum": 100, - "minimum": 0, - "type": "integer" - }, - "type": { - "enum": [ - "v0_UpdateEndpoint" - ], - "type": "string" - } - }, - "required": [ - "reference", - "address", - "trustScore", - "alias", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateLedger": { - "properties": { - "alias": { - "maxLength": 200, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_LedgerParameters" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityStringIdAndRevision" - }, - "type": { - "enum": [ - "v0_UpdateLedger" - ], - "type": "string" - } - }, - "required": [ - "reference", - "alias", - "parameters", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdatePolicy": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "condition": { - "$ref": "#/components/schemas/Internal_PolicyCondition" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "intentOrigin": { - "$ref": "#/components/schemas/Internal_IntentOrigin" - }, - "intentTypes": { - "items": { - "$ref": "#/components/schemas/Internal_IntentType" - }, - "type": "array" - }, - "rank": { - "format": "int32", - "maximum": 1000, - "minimum": 0, - "type": "integer" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "scope": { - "$ref": "#/components/schemas/Internal_PolicyScope" - }, - "scriptingEngine": { - "$ref": "#/components/schemas/Internal_ScriptingEngine" - }, - "type": { - "enum": [ - "v0_UpdatePolicy" - ], - "type": "string" - }, - "workflow": { - "items": { - "$ref": "#/components/schemas/Internal_WorkflowCondition" - }, - "type": "array" - } - }, - "required": [ - "reference", - "alias", - "rank", - "scope", - "scriptingEngine", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateTicker": { - "properties": { - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "decimals": { - "format": "int32", - "type": "integer" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "name": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "symbol": { - "maxLength": 100, - "minLength": 1, - "type": "string" - }, - "type": { - "enum": [ - "v0_UpdateTicker" - ], - "type": "string" - } - }, - "required": [ - "reference", - "name", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateUser": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "loginIds": { - "description": "Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed.", - "items": { - "$ref": "#/components/schemas/Internal_LoginId" - }, - "type": "array" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "roles": { - "items": { - "maxLength": 50, - "minLength": 1, - "pattern": "[a-z0-9\\-]+", - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "v0_UpdateUser" - ], - "type": "string" - } - }, - "required": [ - "reference", - "alias", - "roles", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_UpdateVault": { - "properties": { - "alias": { - "maxLength": 75, - "minLength": 1, - "type": "string" - }, - "customProperties": { - "$ref": "#/components/schemas/Internal_StringsMap" - }, - "description": { - "maxLength": 250, - "minLength": 0, - "type": "string" - }, - "parameters": { - "$ref": "#/components/schemas/Internal_VaultParameters" - }, - "reference": { - "$ref": "#/components/schemas/Internal_EntityIdAndRevision" - }, - "type": { - "enum": [ - "v0_UpdateVault" - ], - "type": "string" - } - }, - "required": [ - "reference", - "alias", - "customProperties", - "type" - ], - "type": "object" - }, - "Internal_v0_ValidateTickers": { - "properties": { - "tickers": { - "items": { - "$ref": "#/components/schemas/Internal_TickerToValidate" - }, - "minItems": 1, - "type": "array" - }, - "type": { - "enum": [ - "v0_ValidateTickers" - ], - "type": "string" - } - }, - "required": [ - "tickers", - "type" - ], - "type": "object" - }, - "Notification_EntityToSign": { - "properties": { - "entity": { - "type": "object" - }, - "hash": { - "type": "string" - }, - "verificationCode": { - "type": "string" - }, - "verificationCodeMode": { - "enum": [ - "open" - ], - "type": "string" - } - }, - "required": [ - "entity", - "hash", - "verificationCodeMode" - ], - "type": "object" - }, - "Notification_ExtendedEntityToSign": { - "properties": { - "entity": { - "type": "object" - }, - "hash": { - "type": "string" - }, - "intentContext": { - "type": "object" - }, - "verificationCode": { - "type": "string" - }, - "verificationCodeMode": { - "enum": [ - "open" - ], - "type": "string" - } - }, - "required": [ - "intentContext", - "entity", - "hash", - "verificationCodeMode" - ], - "type": "object" - }, - "Notification_RegisterMobile": { - "properties": { - "email": { - "type": "string" - }, - "nativeAppVersion": { - "type": "string" - }, - "pushToken": { - "type": "string" - } - }, - "required": [ - "email", - "pushToken", - "nativeAppVersion" - ], - "type": "object" - }, - "Notification_ResponseSignature": { - "properties": { - "hash": { - "type": "string" - }, - "signature": { - "type": "string" - } - }, - "required": [ - "hash", - "signature" - ], - "type": "object" - }, - "Notification_SecuredRegisterMobile": { - "properties": { - "email": { - "type": "string" - }, - "nativeAppVersion": { - "type": "string" - }, - "nonce": { - "type": "string" - }, - "publicKey": { - "type": "string" - }, - "pushToken": { - "type": "string" - }, - "signature": { - "type": "string" - } - }, - "required": [ - "nonce", - "email", - "pushToken", - "nativeAppVersion", - "publicKey", - "signature" - ], - "type": "object" - }, - "Notification_SecuredUnregisterMobile": { - "properties": { - "email": { - "type": "string" - }, - "nonce": { - "type": "string" - }, - "publicKey": { - "type": "string" - }, - "pushToken": { - "type": "string" - }, - "signature": { - "type": "string" - } - }, - "required": [ - "nonce", - "email", - "pushToken", - "publicKey", - "signature" - ], - "type": "object" - }, - "Notification_SignEntity": { - "properties": { - "email": { - "maxLength": 254, - "minLength": 1, - "type": "string" - }, - "hash": { - "pattern": "^[0-9a-fA-F]{64}$", - "type": "string" - }, - "signature": { - "type": "string" - } - }, - "required": [ - "email", - "hash", - "signature" - ], - "type": "object" - }, - "Notification_SignWeb": { - "properties": { - "email": { - "minLength": 1, - "type": "string" - }, - "entity": { - "type": "object" - }, - "hash": { - "pattern": "^[0-9a-fA-F]{64}$", - "type": "string" - } - }, - "required": [ - "email", - "entity", - "hash" - ], - "type": "object" - }, - "Web3Connector_ChangeAccount": { - "properties": { - "ledgerId": { - "type": "string" - }, - "to": { - "type": "string" - } - }, - "required": [ - "to" - ], - "type": "object" - }, - "Web3Connector_ConnectAccount": { - "properties": { - "accountId": { - "type": "string" - }, - "ledgerId": { - "type": "string" - }, - "uri": { - "type": "string" - } - }, - "required": [ - "uri", - "accountId" - ], - "type": "object" - }, - "Web3Connector_Session": { - "properties": { - "connectedAccountIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "connectedOn": { - "format": "date-time", - "type": "string" - }, - "description": { - "type": "string" - }, - "icons": { - "items": { - "type": "string" - }, - "type": "array" - }, - "id": { - "type": "string" - }, - "isConnected": { - "type": "boolean" - }, - "lastActivity": { - "format": "date-time", - "type": "string" - }, - "ledgerId": { - "type": "string" - }, - "name": { - "type": "string" - }, - "url": { - "type": "string" - } - }, - "required": [ - "id", - "description", - "url", - "icons", - "name", - "isConnected", - "connectedAccountIds", - "ledgerId", - "lastActivity" - ], - "type": "object" - }, - "Web3Connector_SessionApproval": { - "properties": { - "approve": { - "type": "boolean" - } - }, - "required": [ - "approve" - ], - "type": "object" - }, - "Web3Connector_SessionEvent": { - "properties": { - "date": { - "format": "date-time", - "type": "string" - }, - "handled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "params": { - "type": "string" - }, - "sessionId": { - "type": "string" - } - }, - "required": [ - "sessionId", - "date", - "name", - "handled", - "params" - ], - "type": "object" - } - }, - "securitySchemes": { - "bearer": { - "bearerFormat": "JWT", - "scheme": "bearer", - "type": "http" - }, - "httpAuth": { - "scheme": "bearer", - "type": "http" - } - } - }, - "info": { - "title": "Ripple Custody Platform", - "version": "v1", - "x-app-version": "1.43.4", - "x-logo": { - "altText": "Ripple Custody logo", - "url": "images/ripple-custody.png" - } - }, - "openapi": "3.0.4", - "paths": { - "/api/notifications/entities": { - "get": { - "description": "Get pending entities of the user. use by desktop app.", - "operationId": "NotificationController.getEntities", - "parameters": [ - { - "description": "User alias/loginId/profile from device. Must match Core-user alias or loginId for access control.", - "in": "query", - "name": "email", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Notification_EntityToSign" - }, - "type": "array" - } - }, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Get entities", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/entity/{hash}": { - "delete": { - "description": "Delete entity", - "operationId": "NotificationController.deleteEntity", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "pattern": "[^\\/#\\?]+?", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Malformed hash" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Delete entity", - "tags": [ - "Notification" - ] - }, - "get": { - "description": "Get entity by hash", - "operationId": "NotificationController.getEntity", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "pattern": "[^\\/#\\?]+?", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_EntityToSign" - } - }, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Malformed hash" - }, - "404": { - "description": "No such entity" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Get entity", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/entity/{hash}/signature": { - "delete": { - "description": "fetch signed entity", - "operationId": "NotificationController.getSignedEntity", - "parameters": [ - { - "in": "path", - "name": "hash", - "required": true, - "schema": { - "pattern": "[^\\/#\\?]+?", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_ResponseSignature" - } - }, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Malformed hash" - }, - "404": { - "description": "Signature not found" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Get signed entity", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/nonce": { - "get": { - "description": "Generate nonce for device registration", - "operationId": "NotificationController.getNonce", - "parameters": [ - { - "in": "query", - "name": "email", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "publicKey", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Get nonce", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/register-mobile": { - "post": { - "description": "register mobile phone for event notifications", - "operationId": "NotificationController.registerMobile", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_RegisterMobile" - } - } - }, - "description": "RegisterMobile" - }, - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Register mobile", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/secured-register-mobile": { - "post": { - "description": "register mobile phone for event notifications", - "operationId": "NotificationController.securedRegisterMobile", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_SecuredRegisterMobile" - } - } - }, - "description": "SecuredRegisterMobile" - }, - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": null - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Secured register mobile", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/secured-unregister-mobile": { - "post": { - "description": "Unregister a mobile device. The signature covers \"unregister:\" + email + pushToken + nonce, signed with the user Core key. See ADR-0005.", - "operationId": "NotificationController.securedUnregisterMobile", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_SecuredUnregisterMobile" - } - } - }, - "description": "SecuredUnregisterMobile" - }, - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Invalid signature, nonce or user" - }, - "500": { - "description": "Internal Server error" - }, - "503": { - "description": "The user directory could not be reached, retry" - } - }, - "summary": "Secured unregister mobile", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/sign-web": { - "post": { - "description": "Send notification to mobile", - "operationId": "NotificationController.signWeb", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_SignWeb" - } - } - }, - "description": "SignWeb" - }, - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "202": { - "description": "Push notification not sent" - }, - "400": { - "description": "Bad request" - }, - "403": { - "description": "The caller does not own the requested alias" - }, - "404": { - "description": "Hash already proposed by another user" - }, - "500": { - "description": "Internal Server error" - } - }, - "summary": "Sign web", - "tags": [ - "Notification" - ] - } - }, - "/api/notifications/signature": { - "post": { - "description": "Store a signed entity for the requester to poll from DELETE /api/notifications/entity/{hash}/signature.", - "operationId": "NotificationController.sendSignatureToWeb", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Notification_SignEntity" - } - } - }, - "description": "SignEntity" - }, - "responses": { - "200": { - "content": { - "application/json": {}, - "text/html; charset=utf-8": {} - }, - "description": "Successful response" - }, - "400": { - "description": "Bad request" - }, - "401": { - "description": "Signature verification failed" - }, - "500": { - "description": "Internal Server error" - }, - "503": { - "description": "The user directory could not be reached, retry" - } - }, - "summary": "Send signature to web", - "tags": [ - "Notification" - ] - } - }, - "/internal/v1/accounts/pending": { - "get": { - "operationId": "getPendingAccounts", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_AccountPending" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List pending accounts", - "tags": [ - "Accounts" - ] - }, - "post": { - "operationId": "postPendingAccount", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_SignedAccountPending" - } - } - }, - "description": "A signed pending account.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid signature (InvalidSignatureError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a pending account", - "tags": [ - "Accounts" - ] - } - }, - "/internal/v1/backups/pending": { - "get": { - "operationId": "getPendingBackups", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_BackupPending" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List pending backups", - "tags": [ - "Backups" - ] - }, - "post": { - "operationId": "postPreparedBackup", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_BackupPrepared" - } - } - }, - "description": "A signed prepared backup.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid signature (InvalidSignatureError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a prepared backup", - "tags": [ - "Backups" - ] - } - }, - "/internal/v1/domains/{domainId}/account-balances/query": { - "post": { - "operationId": "queryAccountsBalances", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "format": "uuid", - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_AccountsBalancesQuery" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_AccountsBalancesQueryResult" - } - } - }, - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid request (InvalidRequestError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Get current balances for up to 1000 account-ticker pairs in one domain", - "tags": [ - "Accounts" - ] - } - }, - "/internal/v1/events": { - "get": { - "operationId": "getAllEvents", - "parameters": [ - { - "description": "The number of entities to return.", - "in": "query", - "name": "limit", - "schema": { - "format": "int32", - "maximum": 100, - "minimum": 1, - "type": "integer" - } - }, - { - "description": "Entity id used to the determine beginning of query results.", - "in": "query", - "name": "startingAfter", - "schema": { - "format": "uuid", - "type": "string" - } - }, - { - "description": "Property name used to sort the query results.", - "in": "query", - "name": "sortBy", - "schema": { - "enum": [ - "sequenceNumber" - ], - "type": "string" - } - }, - { - "description": "Sort order applied to the query results.", - "in": "query", - "name": "sortOrder", - "schema": { - "$ref": "#/components/schemas/Internal_SortOrder" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_EventsCollection" - } - } - }, - "description": "" - }, - "400": { - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "description": "Invalid value for: query parameter limit, Invalid value for: query parameter startingAfter, Invalid value for: query parameter sortBy, Invalid value for: query parameter sortOrder" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List all events", - "tags": [ - "Events" - ] - } - }, - "/internal/v1/intents/context": { - "post": { - "operationId": "intentContext", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_UserRequestPayload" - } - } - }, - "required": true - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_IntentContextResponse" - } - } - }, - "description": "" - }, - "400": { - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "description": "Invalid value for: body" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Returns entities related to given intent", - "tags": [ - "IntentContext" - ] - } - }, - "/internal/v1/manifests/pending": { - "get": { - "operationId": "getPendingManifests", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_ManifestPending" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List pending manifests", - "tags": [ - "Manifests" - ] - }, - "post": { - "operationId": "postPendingManifest", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_SignedManifestPending" - } - } - }, - "description": "A signed pending manifest.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid signature (InvalidSignatureError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a pending manifest", - "tags": [ - "Manifests" - ] - } - }, - "/internal/v1/me/domains/{domainId}/session": { - "get": { - "operationId": "getConnectedSession", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "accountId", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "ledgerId", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "dAppName", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "name", - "schema": { - "type": "string" - } - }, - { - "in": "query", - "name": "connectedAccountIds", - "schema": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - { - "in": "query", - "name": "connectedOn.lt", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "in": "query", - "name": "connectedOn.gt", - "schema": { - "format": "date-time", - "type": "string" - } - }, - { - "in": "query", - "name": "sortBy", - "schema": { - "enum": [ - "name", - "lastActivity" - ], - "type": "string" - } - }, - { - "in": "query", - "name": "sortOrder", - "schema": { - "enum": [ - "ASC", - "DESC" - ], - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Web3Connector_Session" - }, - "type": "array" - } - } - }, - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - }, - "post": { - "operationId": "postConnect", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Web3Connector_ConnectAccount" - } - } - }, - "required": true - }, - "responses": { - "201": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Web3Connector_Session" - } - } - }, - "description": "" - }, - "400": { - "description": "" - }, - "408": { - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - } - }, - "/internal/v1/me/domains/{domainId}/session/{sessionId}": { - "delete": { - "operationId": "deleteDisconnect", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - }, - "get": { - "operationId": "getDAppDetails", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Web3Connector_Session" - } - } - }, - "description": "" - }, - "404": { - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - }, - "post": { - "operationId": "postApproveSession", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Web3Connector_SessionApproval" - } - } - }, - "required": true - }, - "responses": { - "204": { - "description": "" - }, - "400": { - "description": "" - }, - "408": { - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - } - }, - "/internal/v1/me/domains/{domainId}/session/{sessionId}/change": { - "post": { - "operationId": "postChangeAccount", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Web3Connector_ChangeAccount" - } - } - }, - "required": true - }, - "responses": { - "400": { - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - } - }, - "/internal/v1/me/domains/{domainId}/session/{sessionId}/events": { - "get": { - "operationId": "getSessionEvents", - "parameters": [ - { - "in": "path", - "name": "domainId", - "required": true, - "schema": { - "type": "string" - } - }, - { - "in": "path", - "name": "sessionId", - "required": true, - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Web3Connector_SessionEvent" - }, - "type": "array" - } - } - }, - "description": "" - } - }, - "security": [ - { - "bearer": [] - } - ], - "tags": [ - "Web3Connector" - ] - } - }, - "/internal/v1/me/settings/notifications": { - "get": { - "description": "Get subscribed notification sources", - "parameters": [ - { - "in": "query", - "name": "domainId", - "schema": { - "format": "uuid", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserSubscribedNotificationSourceResponse" - }, - "type": "array" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "tags": [ - "Notification" - ] - }, - "post": { - "description": "Change user notification preferences", - "requestBody": { - "content": { - "application/*+json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserNotificationPreferencesUpdateRequest" - } - }, - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserNotificationPreferencesUpdateRequest" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserNotificationPreferencesUpdateRequest" - } - } - } - }, - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserSubscribedNotificationSourceResponse" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "tags": [ - "Notification" - ] - } - }, - "/internal/v1/me/settings/notifications/available": { - "get": { - "description": "Get available notification sources", - "parameters": [ - { - "in": "query", - "name": "domainId", - "schema": { - "format": "uuid", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/InternalCoreExtensions_UserAvailableNotificationSourceResponse" - }, - "type": "array" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "tags": [ - "Notification" - ] - } - }, - "/internal/v1/migrations/lar-phase1-migration-sanity-check": { - "get": { - "operationId": "getLarPhase1MigrationSanityCheck", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_LarPhase1MigrationSanityCheck" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Report the data that would block the LAR phase 1 balance migration", - "tags": [ - "Migrations" - ] - } - }, - "/internal/v1/rewraps/pending": { - "get": { - "operationId": "getPendingRewraps", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_RewrapPending" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List pending rewraps", - "tags": [ - "Rewraps" - ] - }, - "post": { - "operationId": "postPreparedRewrap", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_RewrapPrepared" - } - } - }, - "description": "A signed prepared rewrap.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "description": "Invalid value for: body" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid signature (InvalidSignatureError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Submit a rewrap response", - "tags": [ - "Rewraps" - ] - } - }, - "/internal/v1/scripting": { - "get": { - "operationId": "getExampleContextV0", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_EvaluationContext" - } - } - }, - "description": "" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Returns the shape of the scripting engine v0 evaluation context (documentation-only)", - "tags": [ - "Scripting" - ] - } - }, - "/internal/v1/system/information": { - "get": { - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_SystemInformation" - } - }, - "text/json": { - "schema": { - "$ref": "#/components/schemas/InternalCoreExtensions_SystemInformation" - } - } - }, - "description": "OK" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "tags": [ - "internal" - ] - } - }, - "/internal/v1/transaction/{transactionId}/blocker": { - "get": { - "operationId": "getTransactionBlocker", - "parameters": [ - { - "in": "path", - "name": "transactionId", - "required": true, - "schema": { - "format": "uuid", - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "format": "uuid", - "type": "string" - } - } - }, - "description": "" - }, - "400": { - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "description": "Invalid value for: path parameter transactionId" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Get the blocking transaction for a stuck Broadcasting transaction", - "tags": [ - "Transactions" - ] - } - }, - "/internal/v1/transactions/interrupt": { - "post": { - "operationId": "postTransactionInterruption", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_AttemptInterruptTransaction" - } - } - }, - "description": "A transaction to interrupt.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid request (InvalidRequestError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - }, - "409": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Transaction cannot be interrupted (TransactionCannotBeInterrupted)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a transaction interruption attempt", - "tags": [ - "Transactions" - ] - } - }, - "/internal/v1/transactions/pending": { - "get": { - "operationId": "getPendingTransactions", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_TransactionPending" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List pending transactions", - "tags": [ - "Transactions" - ] - }, - "post": { - "operationId": "postPendingTransaction", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_SubmittedTransactionPending" - } - } - }, - "description": "A pending transaction.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a pending transaction", - "tags": [ - "Transactions" - ] - } - }, - "/internal/v1/transactions/prepared": { - "get": { - "operationId": "getPreparedTransactions", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "items": { - "$ref": "#/components/schemas/Internal_TransactionPrepared" - }, - "type": "array" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "List prepared transactions", - "tags": [ - "Transactions" - ] - }, - "post": { - "operationId": "postPreparedTransaction", - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_SubmittedTransactionPrepared" - } - } - }, - "description": "A prepared transaction.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a prepared transaction", - "tags": [ - "Transactions" - ] - } - }, - "/internal/v1/users/conflicts": { - "get": { - "operationId": "getUsersConflicts", - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_UsersConflicts" - } - } - }, - "description": "" - }, - "default": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Helper endpoint for checking conflicts before doing a migration to SSO", - "tags": [ - "Users" - ] - } - }, - "/internal/v1/vaults/current": { - "get": { - "operationId": "getCurrentVault", - "parameters": [ - { - "description": "Vault API Version asking", - "in": "query", - "name": "vaultApiVersion", - "schema": { - "type": "string" - } - } - ], - "responses": { - "200": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_CurrentVault" - } - } - }, - "description": "" - }, - "400": { - "content": { - "text/plain": { - "schema": { - "type": "string" - } - } - }, - "description": "Invalid value for: query parameter vaultApiVersion" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Returns the current vault", - "tags": [ - "Vaults" - ] - }, - "post": { - "operationId": "postPendingVault", - "parameters": [ - { - "description": "Vault API Version asking", - "in": "query", - "name": "vaultApiVersion", - "schema": { - "type": "string" - } - } - ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_SignedVaultPending" - } - } - }, - "description": "A signed pending vault.", - "required": true - }, - "responses": { - "200": { - "description": "" - }, - "400": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Domain locked (DomainLockedError)" - }, - "401": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Invalid signature (InvalidSignatureError)" - }, - "404": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Internal_ErrorMessage" - } - } - }, - "description": "Entity or Domain not found (EntityNotFoundError)" - } - }, - "security": [ - { - "httpAuth": [] - } - ], - "summary": "Post a pending vault", - "tags": [ - "Vaults" - ] - } - } - }, - "tags": [ - { - "description": "TODO", - "name": "Accounts" - }, - { - "description": "TODO", - "name": "IntentContext" - }, - { - "name": "internal" - }, - { - "description": "TODO", - "name": "Manifests" - }, - { - "description": "**Migration** endpoints report data conditions that would make a one-time data migration fail, so they can be remediated before the migration runs.\r\n\r\nThe **LAR phase 1 migration sanity check** lists, per check, every account and ticker that blocks the migration. The tenant is ready to migrate once every list in the response is empty.", - "name": "Migrations" - }, - { - "name": "Notification" - }, - { - "description": "A **rewrap** operation updates the wrapping of vault secret material when the HSM master key is rotated. This ensures that vault seed and signature keys remain usable after HSM key rotation events.\r\n\r\nThe **vault** polls for pending rewrap requests and submits the rewrapped key material back to the system. The rewrap process is transparent to accounts and does not affect their ability to sign transactions once completed.\r\n\r\nRewrap operations are triggered by a rewrap intent and follow a lazy rotation pattern where vault seeds are rewrapped on-demand rather than all at once.\r\n", - "name": "Rewraps" - }, - { - "description": "The `EvaluationContext` returned by this endpoint documents the input shape passed to the v0 scripting engine when policies evaluate an intent. The endpoint is documentation-only — calls return an error. Consult the generated OpenAPI schema (or the `EvaluationContext` case class in `silo-domain/src/main/scala/com/metaco/silo/domain/scripting/v0/EvaluationContext.scala`) for the authoritative shape.", - "name": "Scripting" - }, - { - "description": "TODO", - "name": "Transactions" - }, - { - "description": "TODO", - "name": "Users" - }, - { - "description": "TODO", - "name": "Vaults" - } - ] -} diff --git a/src/custodians/ripple/submission/account-key.ts b/src/custodians/ripple/submission/account-key.ts index cd3848a..43f8160 100644 --- a/src/custodians/ripple/submission/account-key.ts +++ b/src/custodians/ripple/submission/account-key.ts @@ -1,4 +1,5 @@ import { createPublicKey } from 'node:crypto' +import type { JsonWebKey } from 'node:crypto' import { SignerCapabilityError, SimpleXRPLError } from '../../../errors.js' import type { components } from '../../../generated/custody.js' @@ -27,33 +28,66 @@ function compressPoint(x: Buffer, y: Buffer): string { return `${prefix}${x.toString('hex')}`.toUpperCase() } +/** XRPL's 33-byte public key: a secp256k1 key (`02`/`03`) or ed25519 (`ED`). */ +const XRPL_KEY_LENGTH = 33 +const SECP256K1_EVEN_PREFIX = 0x02 +const SECP256K1_ODD_PREFIX = 0x03 +const ED25519_PREFIX = 0xed +const XRPL_KEY_PREFIXES: ReadonlySet = new Set([ + SECP256K1_EVEN_PREFIX, + SECP256K1_ODD_PREFIX, + ED25519_PREFIX, +]) + +/** + * Read an SPKI key in XRPL's form, if it is one XRPL supports. + * + * @param bytes - The candidate SPKI DER. + * @returns The XRPL key; `undefined` if `bytes` isn't SPKI. + * @throws {@link SimpleXRPLError} for an SPKI key on a curve XRPL can't use. + */ +function fromSpki(bytes: Buffer): string | undefined { + let jwk: JsonWebKey + try { + jwk = createPublicKey({ key: bytes, format: 'der', type: 'spki' }).export({ + format: 'jwk', + }) + } catch { + return undefined + } + if (jwk.crv === 'secp256k1' && jwk.x !== undefined && jwk.y !== undefined) { + return compressPoint( + Buffer.from(jwk.x, 'base64url'), + Buffer.from(jwk.y, 'base64url'), + ) + } + if (jwk.crv === 'Ed25519' && jwk.x !== undefined) { + return `ED${Buffer.from(jwk.x, 'base64url').toString('hex')}`.toUpperCase() + } + throw new SimpleXRPLError( + `Custody returned a ${String(jwk.crv ?? jwk.kty)} public key, which XRPL can't use`, + ) +} + /** * Convert a public key as Custody encodes it to the form XRPL uses - * (`SigningPubKey`): compressed secp256k1, uppercase hex. + * (`SigningPubKey`): uppercase hex of a compressed secp256k1 key, or of an + * `ED`-prefixed ed25519 key. * - * Custody sends vault keys as base64 SPKI DER, which is compressed here; a raw - * uncompressed point is compressed too, and any other raw bytes (an - * already-compressed key) are hex-encoded as they are. + * Custody sends vault keys as base64 SPKI DER, converted here; a raw + * uncompressed secp256k1 point is compressed, and a key already in XRPL's + * 33-byte form is kept. * * @param base64 - The key, base64. * @returns The XRPL public key, uppercase hex. + * @throws {@link SimpleXRPLError} if the key isn't in an encoding XRPL can use, + * rather than pass on bytes that would fail as a `SigningPubKey`. */ export function toXrplPublicKey(base64: string): string { const bytes = Buffer.from(base64, 'base64') - try { - const jwk = createPublicKey({ - key: bytes, - format: 'der', - type: 'spki', - }).export({ format: 'jwk' }) - if (jwk.crv === 'secp256k1' && jwk.x !== undefined && jwk.y !== undefined) { - return compressPoint( - Buffer.from(jwk.x, 'base64url'), - Buffer.from(jwk.y, 'base64url'), - ) - } - } catch { - // Not SPKI: fall through to the raw encodings. + const spki = fromSpki(bytes) + if (spki !== undefined) { + return spki } if ( bytes.length === UNCOMPRESSED_POINT_LENGTH && @@ -64,7 +98,12 @@ export function toXrplPublicKey(base64: string): string { bytes.subarray(1 + COORDINATE_LENGTH), ) } - return bytes.toString('hex').toUpperCase() + if (bytes.length === XRPL_KEY_LENGTH && XRPL_KEY_PREFIXES.has(bytes[0])) { + return bytes.toString('hex').toUpperCase() + } + throw new SimpleXRPLError( + `Custody returned a ${bytes.length}-byte public key in an encoding the SDK doesn't recognise`, + ) } /** diff --git a/src/custodians/ripple/submission/intent-polling.ts b/src/custodians/ripple/submission/intent-polling.ts index 12378be..2521adc 100644 --- a/src/custodians/ripple/submission/intent-polling.ts +++ b/src/custodians/ripple/submission/intent-polling.ts @@ -1,5 +1,6 @@ import { CustodyApiError, + CustodyTimeoutError, IntentPendingError, IntentValidationError, } from '../../../errors.js' @@ -145,11 +146,12 @@ function describeUnfinished( } /** - * Read the intent once, treating a 404 as "not readable yet". + * Read the intent once, treating a 404 as "not readable yet" and a timed-out + * read as "no answer this time". * * @param readIntent - Reads the intent. - * @returns The intent, or `undefined` on a 404. - * @throws Whatever reading the intent throws, other than a 404. + * @returns The intent, or `undefined` on a 404 or a timeout. + * @throws Whatever reading the intent throws, other than a 404 or a timeout. */ async function readIfVisible( readIntent: () => Promise, @@ -157,7 +159,11 @@ async function readIfVisible( try { return await readIntent() } catch (error) { - if (error instanceof CustodyApiError && error.status === HTTP_NOT_FOUND) { + // A read that timed out says nothing about the intent: try again. + if ( + (error instanceof CustodyApiError && error.status === HTTP_NOT_FOUND) || + error instanceof CustodyTimeoutError + ) { return undefined } throw error @@ -199,7 +205,9 @@ function terminalOutcome( * A 404 means "not readable yet", not "does not exist": Custody accepts an * intent with 202 and materializes it in the read model a moment later, so a * wait that starts right after proposing can race it. It is retried within the - * same budget; a genuinely absent intent is reported as never readable. + * same budget, as is a read that timed out; a genuinely absent intent is + * reported as never readable. The last read lands on the deadline, so the + * whole budget is used. * * @param options - How to read the intent, its id, the budget, and an * optional per-read callback. @@ -214,16 +222,17 @@ export async function waitForIntentOutcome( let last: TrustedIntent | undefined for (let attempt = 0; ; attempt += 1) { // eslint-disable-next-line no-await-in-loop -- Sequential polling is inherent to waiting for a terminal state. - last = (await readIfVisible(options.readIntent)) ?? last - if (last !== undefined) { - options.onStatusCheck?.(last.data.state.status, attempt + 1) - const outcome = terminalOutcome(intentId, last) + const read = await readIfVisible(options.readIntent) + if (read !== undefined) { + last = read + options.onStatusCheck?.(read.data.state.status, attempt + 1) + const outcome = terminalOutcome(intentId, read) if (outcome !== undefined) { return outcome } } - const delay = pollDelayMs(attempt, POLL_SCHEDULE) - if (Date.now() + delay >= deadline) { + const remaining = deadline - Date.now() + if (remaining <= 0) { const status = last?.data.state.status return { intentId, @@ -234,8 +243,10 @@ export async function waitForIntentOutcome( intent: last, } } + // Never sleep past the deadline, so the last read lands on it — the whole + // budget is used, and the reported wait is the real one. // eslint-disable-next-line no-await-in-loop -- Sequential polling is inherent to waiting for a terminal state. - await sleep(delay) + await sleep(Math.min(pollDelayMs(attempt, POLL_SCHEDULE), remaining)) } } diff --git a/src/custodians/ripple/transport/custody-http-client.ts b/src/custodians/ripple/transport/custody-http-client.ts index 9a825a1..3dc66d2 100644 --- a/src/custodians/ripple/transport/custody-http-client.ts +++ b/src/custodians/ripple/transport/custody-http-client.ts @@ -3,6 +3,7 @@ import { CustodyAuthError, CustodyPermissionError, CustodySignatureError, + CustodyTimeoutError, SimpleXRPLError, } from '../../../errors.js' import type { CustodyAuthService } from '../auth/custody-auth.service.js' @@ -109,6 +110,50 @@ function toError( return apiError } +/** + * Whether a transport error is the request timing out (`AbortSignal.timeout` + * rejects with a `TimeoutError`; an aborted fetch with an `AbortError`). + * + * @param error - The transport's error. + * @returns `true` for a timeout or abort. + */ +function isTimeout(error: unknown): boolean { + // Matched by name, not class: the DOMException can come from another realm + // (e.g. a Jest sandbox), where `instanceof Error` is false. + const name: unknown = + typeof error === 'object' && error !== null + ? Reflect.get(error, 'name') + : undefined + return name === 'TimeoutError' || name === 'AbortError' +} + +/** + * The intent id a request proposes, if it is an intent proposal. + * + * @param body - The serialized request body. + * @returns The proposed intent's id, or `undefined`. + */ +function proposedIntentId(body: string | undefined): string | undefined { + try { + const parsed: unknown = JSON.parse(body ?? '') + const request: unknown = + typeof parsed === 'object' && parsed !== null + ? Reflect.get(parsed, 'request') + : undefined + if ( + typeof request === 'object' && + request !== null && + Reflect.get(request, 'type') === 'Propose' + ) { + const id: unknown = Reflect.get(request, 'id') + return typeof id === 'string' ? id : undefined + } + } catch { + // Not JSON: not a proposal. + } + return undefined +} + /** * Authenticated client for the Custody gateway API. * @@ -203,34 +248,17 @@ export class CustodyHttpClient { * @param body - Optional serialized request body. * @returns The successful HTTP response. * @throws {@link CustodyAuthError} or {@link CustodyApiError} on failure. + * @throws {@link CustodyTimeoutError} if no response came within the timeout. */ private async send( method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE', url: string, body?: string, ): Promise { - const attempt = async (forceRefresh: boolean): Promise => { - const token = await this.auth.getToken(forceRefresh) - const headers: Record = { - Authorization: `Bearer ${token}`, - Accept: 'application/json', - } - if (body !== undefined) { - headers['Content-Type'] = 'application/json' - } - return this.http.send({ - method, - url, - headers, - body, - timeoutMs: this.timeoutMs, - }) - } - - let response = await attempt(false) + let response = await this.sendOnce({ method, url, body }, false) if (response.status === HTTP_UNAUTHORIZED) { // One refresh-and-retry with a fresh challenge-signed token. - response = await attempt(true) + response = await this.sendOnce({ method, url, body }, true) } if (response.status >= HTTP_ERROR_THRESHOLD) { throw toError({ url, body }, response) @@ -238,6 +266,58 @@ export class CustodyHttpClient { return response } + /** + * Send once with a bearer token, turning a timeout into a typed error. + * + * @param request - The request. + * @param request.method - The HTTP method. + * @param request.url - The absolute request URL. + * @param request.body - Optional serialized request body. + * @param forceRefresh - Fetch a fresh token first. + * @returns The HTTP response, whatever its status. + * @throws {@link CustodyTimeoutError} if no response came within the timeout. + */ + private async sendOnce( + request: { + method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' + url: string + body: string | undefined + }, + forceRefresh: boolean, + ): Promise { + const { method, url, body } = request + const token = await this.auth.getToken(forceRefresh) + const headers: Record = { + Authorization: `Bearer ${token}`, + Accept: 'application/json', + } + if (body !== undefined) { + headers['Content-Type'] = 'application/json' + } + try { + return await this.http.send({ + method, + url, + headers, + body, + timeoutMs: this.timeoutMs, + }) + } catch (error) { + if (!isTimeout(error)) { + throw error + } + throw new CustodyTimeoutError( + { + method, + path: new URL(url).pathname, + timeoutMs: this.timeoutMs, + intentId: proposedIntentId(body), + }, + { cause: error }, + ) + } + } + /** * Build an absolute URL with optional scalar query params. * diff --git a/src/errors.ts b/src/errors.ts index f768a18..24441b2 100644 --- a/src/errors.ts +++ b/src/errors.ts @@ -279,6 +279,61 @@ export class CustodySignatureError extends CustodyAuthError {} */ export class CustodyPermissionError extends CustodyAuthError {} +/** + * A Ripple Custody request got no response within its timeout + * (`requestTimeoutMs`, 30 s by default). Its outcome is **unknown**: Custody + * may still have processed it. For an intent proposal, `intentId` is the id it + * was proposed under — check it with `api.waitForIntent`, or re-submit with the + * same idempotency key (an intent already accepted under that id isn't + * created twice). + */ +export class CustodyTimeoutError extends SimpleXRPLError { + /** The HTTP method. */ + public readonly method: string + /** The request path, e.g. `/v1/intents`. */ + public readonly path: string + /** How long the request ran before it was abandoned. */ + public readonly timeoutMs: number + /** For an intent proposal, the id it was proposed under. */ + public readonly intentId?: string + + /** + * Construct a CustodyTimeoutError. + * + * @param request - The request that timed out. + * @param request.method - The HTTP method. + * @param request.path - The request path. + * @param request.timeoutMs - The timeout that elapsed. + * @param request.intentId - For an intent proposal, its id. + * @param options - Optional settings. + * @param options.cause - The transport's abort error. + */ + public constructor( + request: { + method: string + path: string + timeoutMs: number + intentId?: string + }, + options?: { cause?: unknown }, + ) { + const intent = + request.intentId === undefined + ? '' + : ` The intent was proposed as ${request.intentId}: check it with ` + + 'api.waitForIntent, or re-submit with that idempotency key.' + super( + `Custody ${request.method} ${request.path} got no response within ` + + `${request.timeoutMs} ms; it may still have been processed.${intent}`, + options, + ) + this.method = request.method + this.path = request.path + this.timeoutMs = request.timeoutMs + this.intentId = request.intentId + } +} + /** Labels for each capability kind, as they read in an error message. */ const CAPABILITY_LABELS = { endpoint: 'endpoint', diff --git a/src/generated/custody-internal-routes.ts b/src/generated/custody-internal-routes.ts index 8f3a9ac..0770ea0 100644 --- a/src/generated/custody-internal-routes.ts +++ b/src/generated/custody-internal-routes.ts @@ -30,10 +30,6 @@ export const CUSTODY_INTERNAL_ROUTES = { path: '/internal/v1/me/domains/{domainId}/session/{sessionId}', }, getExampleContextV0: { method: 'GET', path: '/internal/v1/scripting' }, - getLarPhase1MigrationSanityCheck: { - method: 'GET', - path: '/internal/v1/migrations/lar-phase1-migration-sanity-check', - }, getPendingAccounts: { method: 'GET', path: '/internal/v1/accounts/pending' }, getPendingBackups: { method: 'GET', path: '/internal/v1/backups/pending' }, getPendingDecryptCbs: { @@ -101,10 +97,6 @@ export const CUSTODY_INTERNAL_ROUTES = { method: 'POST', path: '/api/notifications/secured-register-mobile', }, - 'NotificationController.securedUnregisterMobile': { - method: 'POST', - path: '/api/notifications/secured-unregister-mobile', - }, 'NotificationController.sendSignatureToWeb': { method: 'POST', path: '/api/notifications/signature', @@ -157,8 +149,4 @@ export const CUSTODY_INTERNAL_ROUTES = { method: 'POST', path: '/internal/v1/transactions/interrupt', }, - queryAccountsBalances: { - method: 'POST', - path: '/internal/v1/domains/{domainId}/account-balances/query', - }, } as const satisfies Record diff --git a/src/generated/custody-internal.ts b/src/generated/custody-internal.ts index cc3b20e..c349036 100644 --- a/src/generated/custody-internal.ts +++ b/src/generated/custody-internal.ts @@ -108,27 +108,27 @@ export interface paths { patch?: never trace?: never } - '/api/notifications/secured-register-mobile': { + '/api/notifications/register-web': { parameters: { query?: never header?: never path?: never cookie?: never } - get?: never - put?: never /** - * Secured register mobile - * @description register mobile phone for event notifications + * Register web client + * @description register web client for event notifications */ - post: operations['NotificationController.securedRegisterMobile'] + get: operations['NotificationController.registerWebClient'] + put?: never + post?: never delete?: never options?: never head?: never patch?: never trace?: never } - '/api/notifications/secured-unregister-mobile': { + '/api/notifications/secured-register-mobile': { parameters: { query?: never header?: never @@ -138,10 +138,10 @@ export interface paths { get?: never put?: never /** - * Secured unregister mobile - * @description Unregister a mobile device. The signature covers "unregister:" + email + pushToken + nonce, signed with the user Core key. See ADR-0005. + * Secured register mobile + * @description register mobile phone for event notifications */ - post: operations['NotificationController.securedUnregisterMobile'] + post: operations['NotificationController.securedRegisterMobile'] delete?: never options?: never head?: never @@ -179,7 +179,7 @@ export interface paths { put?: never /** * Send signature to web - * @description Store a signed entity for the requester to poll from DELETE /api/notifications/entity/{hash}/signature. + * @description Return signed entity to requester */ post: operations['NotificationController.sendSignatureToWeb'] delete?: never @@ -188,6 +188,26 @@ export interface paths { patch?: never trace?: never } + '/api/notifications/unregister-mobile': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + get?: never + put?: never + /** + * Unregister mobile + * @description Unregister mobile phone from push notification + */ + post: operations['NotificationController.unregisterMobile'] + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } '/internal/v1/accounts/pending': { parameters: { query?: never @@ -224,7 +244,7 @@ export interface paths { patch?: never trace?: never } - '/internal/v1/domains/{domainId}/account-balances/query': { + '/internal/v1/cmpt-cb-in': { parameters: { query?: never header?: never @@ -233,8 +253,43 @@ export interface paths { } get?: never put?: never - /** Get current balances for up to 1000 account-ticker pairs in one domain */ - post: operations['queryAccountsBalances'] + /** Initiate a CB_IN inbox balance decryption for a cMPT account */ + post: operations['initiateCbInDecryption'] + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } + '/internal/v1/cmpt-cb-in/{requestId}': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + /** Get the status of a CB_IN inbox balance decryption */ + get: operations['getCbInDecryptionStatus'] + put?: never + post?: never + delete?: never + options?: never + head?: never + patch?: never + trace?: never + } + '/internal/v1/decrypt-cbs/pending': { + parameters: { + query?: never + header?: never + path?: never + cookie?: never + } + /** List pending CBS decryptions */ + get: operations['getPendingDecryptCbs'] + put?: never + /** Submit a CBS decryption response */ + post: operations['postDecryptCbsResponse'] delete?: never options?: never head?: never @@ -459,17 +514,18 @@ export interface paths { patch?: never trace?: never } - '/internal/v1/migrations/lar-phase1-migration-sanity-check': { + '/internal/v1/parameters-computed/pending': { parameters: { query?: never header?: never path?: never cookie?: never } - /** Report the data that would block the LAR phase 1 balance migration */ - get: operations['getLarPhase1MigrationSanityCheck'] + /** List pending cMPT parameter computations */ + get: operations['getPendingParametersComputes'] put?: never - post?: never + /** Submit a cMPT parameter computation response */ + post: operations['postParametersComputeResponse'] delete?: never options?: never head?: never @@ -501,7 +557,7 @@ export interface paths { path?: never cookie?: never } - /** Returns the shape of the scripting engine v0 evaluation context (documentation-only) */ + /** Return an example context for scripting engine v0 */ get: operations['getExampleContextV0'] put?: never post?: never @@ -617,53 +673,15 @@ export interface paths { patch?: never trace?: never } - '/internal/v1/users/conflicts': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Helper endpoint for checking conflicts before doing a migration to SSO */ - get: operations['getUsersConflicts'] - put?: never - post?: never - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/internal/v1/vaults/current': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** Returns the current vault */ - get: operations['getCurrentVault'] - put?: never - /** Post a pending vault */ - post: operations['postPendingVault'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/api/notifications/register-web': { + '/internal/v1/users': { parameters: { query?: never header?: never path?: never cookie?: never } - /** - * Register web client - * @description register web client for event notifications - */ - get: operations['NotificationController.registerWebClient'] + /** Return users by alias, public key, loginId, or loginProviderId */ + get: operations['getUsers'] put?: never post?: never delete?: never @@ -672,52 +690,15 @@ export interface paths { patch?: never trace?: never } - '/api/notifications/unregister-mobile': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** - * Unregister mobile - * @description Unregister mobile phone from push notification - */ - post: operations['NotificationController.unregisterMobile'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/internal/v1/cmpt-cb-in': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - get?: never - put?: never - /** Initiate a CB_IN inbox balance decryption for a cMPT account */ - post: operations['initiateCbInDecryption'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/internal/v1/cmpt-cb-in/{requestId}': { + '/internal/v1/users/conflicts': { parameters: { query?: never header?: never path?: never cookie?: never } - /** Get the status of a CB_IN inbox balance decryption */ - get: operations['getCbInDecryptionStatus'] + /** Helper endpoint for checking conflicts before doing a migration to SSO */ + get: operations['getUsersConflicts'] put?: never post?: never delete?: never @@ -726,53 +707,18 @@ export interface paths { patch?: never trace?: never } - '/internal/v1/decrypt-cbs/pending': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** List pending CBS decryptions */ - get: operations['getPendingDecryptCbs'] - put?: never - /** Submit a CBS decryption response */ - post: operations['postDecryptCbsResponse'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/internal/v1/parameters-computed/pending': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** List pending cMPT parameter computations */ - get: operations['getPendingParametersComputes'] - put?: never - /** Submit a cMPT parameter computation response */ - post: operations['postParametersComputeResponse'] - delete?: never - options?: never - head?: never - patch?: never - trace?: never - } - '/internal/v1/users': { + '/internal/v1/vaults/current': { parameters: { query?: never header?: never path?: never cookie?: never } - /** Return users by alias, public key, loginId, or loginProviderId */ - get: operations['getUsers'] + /** Returns the current vault */ + get: operations['getCurrentVault'] put?: never - post?: never + /** Post a pending vault */ + post: operations['postPendingVault'] delete?: never options?: never head?: never @@ -826,30 +772,11 @@ export interface components { domainId: string /** Format: uuid */ id: string - /** @deprecated */ ledgerId?: string - ledgerIds?: string[] lock: components['schemas']['Internal_LockStatus'] metadata: components['schemas']['Internal_EntityMetadata'] providerDetails: components['schemas']['Internal_AccountProviderInformation'] } - Internal_AccountBalanceOutcome: { - /** Format: uuid */ - accountId: string - /** @description This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - availableAmount?: string - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - quarantinedAmount?: string - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - reservedAmount?: string - status: components['schemas']['Internal_AccountBalanceStatus'] - /** Format: uuid */ - tickerId: string - /** @description This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - totalAmount?: string - } - /** @enum {string} */ - Internal_AccountBalanceStatus: 'Found' | 'NotFound' Internal_AccountCreated: { /** Format: uuid */ id: string @@ -868,164 +795,48 @@ export interface components { domainId: string signedPayload: string } - Internal_AccountProvider: { - alias: string + Internal_AccountProviderInformation: components['schemas']['Internal_AccountProviderInformation_Vault'] + Internal_AccountProviderInformation_Vault: { + keyInformation: components['schemas']['Internal_VaultAccountKeyInformation'] + keyStrategy: components['schemas']['Internal_AccountKeyStrategy'] + keys?: components['schemas']['Internal_VaultAccountProviderInformation_Key'][] + purposeKeys: components['schemas']['Internal_PurposeKey'][] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Vault' /** Format: uuid */ - id: string - lock: components['schemas']['Internal_LockStatus'] - metadata: components['schemas']['Internal_EntityMetadata'] - provider: components['schemas']['Internal_AccountProviderType'] + vaultId: string } - Internal_AccountProviderAction: - | components['schemas']['Internal_AccountProviderAction_External'] - | components['schemas']['Internal_AccountProviderAction_Mco'] - Internal_AccountProviderAction_External: { - publicKey: components['schemas']['Internal_ApiAccountProviderKey'] + Internal_AccountPublicKey: + | components['schemas']['Internal_AccountPublicKey_ExtendedPublicKey'] + | components['schemas']['Internal_AccountPublicKey_PublicKey'] + Internal_AccountPublicKeyExtendedOnly: components['schemas']['Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey'] + Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey: { + /** Format: base64 */ + chainCode: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'External' + type: 'ExtendedPublicKey' + /** Format: base64 */ + value: string } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_AccountProviderAction_Mco: { - encryptedCreds: string - providerKind: string + Internal_AccountPublicKeyOnly: components['schemas']['Internal_AccountPublicKeyOnly_PublicKey'] + Internal_AccountPublicKeyOnly_PublicKey: { /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Mco' + type: 'PublicKey' + /** Format: base64 */ + value: string } - Internal_AccountProviderCreated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AccountProviderCreated' - } - Internal_AccountProviderInformation: - | components['schemas']['Internal_AccountProviderInformation_External'] - | components['schemas']['Internal_AccountProviderInformation_Mco'] - | components['schemas']['Internal_AccountProviderInformation_Vault'] - Internal_AccountProviderInformation_External: { - /** Format: uuid */ - locationId: string - /** Format: uuid */ - providerAccountId?: string - /** Format: uuid */ - providerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_AccountProviderInformation_Mco: { - /** Format: uuid */ - locationId: string - /** Format: uuid */ - providerAccountId?: string - /** Format: uuid */ - providerId: string - subcustodianAccountId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Mco' - } - Internal_AccountProviderInformation_Vault: { - keyInformation: components['schemas']['Internal_VaultAccountKeyInformation'] - keyStrategy: components['schemas']['Internal_AccountKeyStrategy'] - keys?: components['schemas']['Internal_VaultAccountProviderInformation_Key'][] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Vault' - /** Format: uuid */ - vaultId: string - purposeKeys?: components['schemas']['Internal_PurposeKey'][] - } - Internal_AccountProviderKey: { - details?: string - /** Format: base64 */ - keySignature?: string - /** Format: base64 */ - predecessor?: string - /** Format: base64 */ - publicKey: string - status?: components['schemas']['Internal_AccountProviderKeyStatus'] - /** @description This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - validAfterSequenceId?: string - } - /** @enum {string} */ - Internal_AccountProviderKeyStatus: - 'AwaitingActivation' | 'ActivationFailed' | 'Active' | 'Replaced' - Internal_AccountProviderType: - | components['schemas']['Internal_AccountProviderType_ExternalProvider'] - | components['schemas']['Internal_AccountProviderType_Mco'] - Internal_AccountProviderType_ExternalProvider: { - publicKeys: components['schemas']['Internal_AccountProviderKey'][] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ExternalProvider' - } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_AccountProviderType_Mco: { - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - error?: components['schemas']['Internal_McoProviderError'] - providerKind: string - status: components['schemas']['Internal_McoProviderStatus'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Mco' - } - Internal_AccountProviderUpdated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AccountProviderUpdated' - } - Internal_AccountPublicKey: - | components['schemas']['Internal_AccountPublicKey_ExtendedPublicKey'] - | components['schemas']['Internal_AccountPublicKey_PublicKey'] - Internal_AccountPublicKeyExtendedOnly: components['schemas']['Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey'] - Internal_AccountPublicKeyExtendedOnly_ExtendedPublicKey: { - /** Format: base64 */ - chainCode: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ExtendedPublicKey' - /** Format: base64 */ - value: string - } - Internal_AccountPublicKeyOnly: components['schemas']['Internal_AccountPublicKeyOnly_PublicKey'] - Internal_AccountPublicKeyOnly_PublicKey: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'PublicKey' - /** Format: base64 */ - value: string - } - Internal_AccountPublicKey_ExtendedPublicKey: { - /** Format: base64 */ - chainCode: string + Internal_AccountPublicKey_ExtendedPublicKey: { + /** Format: base64 */ + chainCode: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -1049,11 +860,6 @@ export interface components { /** Format: uuid */ id: string } - Internal_AccountTickers: { - /** Format: uuid */ - accountId: string - tickerIds: string[] - } Internal_AccountUpdated: { /** Format: uuid */ id: string @@ -1063,12 +869,6 @@ export interface components { */ type: 'AccountUpdated' } - Internal_AccountsBalancesQuery: { - accounts: components['schemas']['Internal_AccountTickers'][] - } - Internal_AccountsBalancesQueryResult: { - balances: components['schemas']['Internal_AccountBalanceOutcome'][] - } Internal_AddressCreated: { accountReference: components['schemas']['Internal_AccountReference'] /** Format: uuid */ @@ -1116,27 +916,36 @@ export interface components { */ type: 'Native' } - /** @enum {string} */ - Internal_AntiRewindMode: 'STRICT' | 'BALANCED' | 'DISABLED' - Internal_AntiRewindModeValue: { - mode: components['schemas']['Internal_AntiRewindMode'] + Internal_ApiCbInDecryptionStatusResponse: { + decryptedAmount?: string + error?: string + /** Format: uuid */ + id: string + status: string } - Internal_ApiAccountProviderKey: { - /** Format: base64 */ - publicKey: string + Internal_ApiInitiateCbInDecryptionRequest: { + /** Format: uuid */ + accountId: string + /** Format: uuid */ + domainId: string + issuanceId: string + ledgerId: string + } + Internal_ApiInitiateCbInDecryptionResponse: { + /** Format: uuid */ + id: string + status: string } Internal_ApiTicker: { data: components['schemas']['Internal_ApiTickerData'] /** * Format: int32 * @deprecated - * @description Deletion target: Mar. 31st 2027 */ decimals?: number /** * Format: uuid * @deprecated - * @description Deletion target: Mar. 31st 2027 */ id: string /** @deprecated */ @@ -1146,22 +955,13 @@ export interface components { components['schemas']['Internal_TickerLedgerDetails'], 'type' > - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ ledgerId: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ name: string /** Format: base64 */ signature?: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ symbol?: string } Internal_ApiTickerData: { @@ -1200,13 +1000,9 @@ export interface components { Internal_ApprovalDecision: 'Approve' | 'Reject' Internal_AttemptInterruptTransaction: { reason: string - /** Format: uuid */ - transactionId: string signedPayload?: string - } - Internal_AuthorizationReference: { /** Format: uuid */ - transactionOrderId: string + transactionId: string } Internal_Backup: { data: components['schemas']['Internal_BackupData'] @@ -1276,171 +1072,281 @@ export interface components { */ type: 'BalancesUpdated' } - Internal_BitcoinFeeStrategy: - | components['schemas']['Internal_BitcoinFeeStrategy_Priority'] - | components['schemas']['Internal_BitcoinFeeStrategy_SpecifiedRate'] - Internal_BitcoinFeeStrategy_Priority: { - priority: components['schemas']['Internal_FeePriority'] + Internal_BatchEntry: + | components['schemas']['Internal_BatchEntry_ParticipantOperation'] + | components['schemas']['Internal_BatchEntry_SubmitterOperation'] + Internal_BatchEntry_ParticipantOperation: { + operation: components['schemas']['Internal_BatchInnerOperation'] + participant: components['schemas']['Internal_Participant'] + sequencing: components['schemas']['Internal_ParticipantSequencing'] + sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Priority' + type: 'ParticipantOperation' } - Internal_BitcoinFeeStrategy_SpecifiedRate: { - /** @description This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - satoshiPerVbyte: string + Internal_BatchEntry_SubmitterOperation: { + operation: components['schemas']['Internal_BatchInnerOperation'] + sequencing: components['schemas']['Internal_Sequencing'] + sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'SpecifiedRate' - } - /** @enum {string} */ - Internal_BitcoinLikeVaultLedgerIdentifier: - 'btc' | 'ltc' | 'bch' | 'doge' | 'dash' - Internal_BitcoinOutputParameters: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - destination: components['schemas']['Internal_TransactionDestination'] - paysFee?: boolean + type: 'SubmitterOperation' } - Internal_BitcoinResourceStrategy: components['schemas']['Internal_BitcoinResourceStrategy_OrderReplacement'] - Internal_BitcoinResourceStrategy_OrderReplacement: { - reason?: string - /** Format: uuid */ - transactionOrderId: string + Internal_BatchInnerOperation: + | components['schemas']['Internal_BatchInnerOperation_AccountSet'] + | components['schemas']['Internal_BatchInnerOperation_Clawback'] + | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTConvert'] + | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTConvertBack'] + | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTMergeInbox'] + | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTSend'] + | components['schemas']['Internal_BatchInnerOperation_DepositPreauth'] + | components['schemas']['Internal_BatchInnerOperation_EscrowFinish'] + | components['schemas']['Internal_BatchInnerOperation_MPTokenAuthorize'] + | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceCreate'] + | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceDestroy'] + | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceSet'] + | components['schemas']['Internal_BatchInnerOperation_OfferCreate'] + | components['schemas']['Internal_BatchInnerOperation_Payment'] + | components['schemas']['Internal_BatchInnerOperation_TicketCreate'] + | components['schemas']['Internal_BatchInnerOperation_TrustSet'] + Internal_BatchInnerOperation_AccountSet: { + clearFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] + setFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] + /** Format: int32 */ + transferRate?: number /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'OrderReplacement' + type: 'AccountSet' } - Internal_BitcoinTickerProperties: components['schemas']['Internal_BitcoinTickerProperties_Native'] - Internal_BitcoinTickerProperties_Native: { + Internal_BatchInnerOperation_Clawback: { + currency: components['schemas']['Internal_XrplClawbackCurrency'] + holder: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Native' + type: 'Clawback' + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + value: string } - Internal_CantonOperation: - | components['schemas']['Internal_CantonOperation_Accept'] - | components['schemas']['Internal_CantonOperation_CancelNativeTransferPreapproval'] - | components['schemas']['Internal_CantonOperation_CancelTokenTransferPreapproval'] - | components['schemas']['Internal_CantonOperation_CreateNativeTransferPreapproval'] - | components['schemas']['Internal_CantonOperation_CreateParty'] - | components['schemas']['Internal_CantonOperation_CreateTokenTransferPreapproval'] - | components['schemas']['Internal_CantonOperation_NativeTransfer'] - | components['schemas']['Internal_CantonOperation_Reject'] - | components['schemas']['Internal_CantonOperation_TokenTransfer'] - | components['schemas']['Internal_CantonOperation_Withdraw'] - Internal_CantonOperation_Accept: { - contractId: string + Internal_BatchInnerOperation_ConfidentialMPTConvert: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount: string + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Accept' + type: 'ConfidentialMPTConvert' } - /** @description **Experimental** (CantonPreapprovalCancellation): subject to change until 2026-12-31. */ - Internal_CantonOperation_CancelNativeTransferPreapproval: { + Internal_BatchInnerOperation_ConfidentialMPTConvertBack: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount: string + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'CancelNativeTransferPreapproval' + type: 'ConfidentialMPTConvertBack' } - /** @description **Experimental** (CantonPreapprovalCancellation): subject to change until 2026-12-31. */ - Internal_CantonOperation_CancelTokenTransferPreapproval: { - /** Format: uuid */ - tickerId: string + Internal_BatchInnerOperation_ConfidentialMPTMergeInbox: { + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'CancelTokenTransferPreapproval' + type: 'ConfidentialMPTMergeInbox' } - Internal_CantonOperation_CreateNativeTransferPreapproval: { + Internal_BatchInnerOperation_ConfidentialMPTSend: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount?: string + cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] + destination: components['schemas']['Internal_TransactionDestination'] + /** @description Hex encoded string. */ + senderEncryptedBalance?: string + /** Format: int64 */ + senderEncryptedBalanceVersion?: number + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'CreateNativeTransferPreapproval' + type: 'ConfidentialMPTSend' } - Internal_CantonOperation_CreateParty: { + Internal_BatchInnerOperation_DepositPreauth: { + authorize?: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'CreateParty' + type: 'DepositPreauth' + unauthorize?: components['schemas']['Internal_TransactionDestination'] } - Internal_CantonOperation_CreateTokenTransferPreapproval: { - /** Format: uuid */ - tickerId: string + Internal_BatchInnerOperation_EscrowFinish: { + /** @description Hex encoded string. */ + condition?: string + credentialIds?: string[] + /** @description Hex encoded string. */ + fulfillment?: string + /** Format: int64 */ + offerSequence: number + owner: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'CreateTokenTransferPreapproval' + type: 'EscrowFinish' } - Internal_CantonOperation_NativeTransfer: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - destination: components['schemas']['Internal_TransactionDestination'] - /** Format: date-time */ - executeBefore?: string - memo?: string + Internal_BatchInnerOperation_MPTokenAuthorize: { + flags: components['schemas']['Internal_Xrpl_MPTokenAuthorizeFlag'][] + holder?: components['schemas']['Internal_TransactionDestination'] + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'NativeTransfer' + type: 'MPTokenAuthorize' } - Internal_CantonOperation_Reject: { - contractId: string - /** + Internal_BatchInnerOperation_MPTokenIssuanceCreate: { + /** Format: int32 */ + assetScale?: number + flags: components['schemas']['Internal_Xrpl_MPTokenIssuanceCreateFlag'][] + /** @description This field is a unsigned 64bit integer that can store values in range from 0 to 18446744073709551615.It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + maximumAmount?: string + metadata?: components['schemas']['Internal_MPTokenIssuanceMetadata'] + /** + * Format: int32 + * @description Transfer fee for MultiPurposeToken, must be from 0 to 50000 + */ + transferFee?: number + /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Reject' + type: 'MPTokenIssuanceCreate' + } + Internal_BatchInnerOperation_MPTokenIssuanceDestroy: { + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'MPTokenIssuanceDestroy' + } + Internal_BatchInnerOperation_MPTokenIssuanceSet: { + auditorEncryptionKey?: string + flags: components['schemas']['Internal_Xrpl_MPTokenIssuanceSetFlag'][] + holder?: components['schemas']['Internal_TransactionDestination'] + issuerEncryptionKey?: string + mutableFlags: components['schemas']['Internal_Xrpl_MPTokenIssuanceMutableFlag'][] + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'MPTokenIssuanceSet' + } + Internal_BatchInnerOperation_OfferCreate: { + flags: components['schemas']['Internal_Xrpl_OfferCreateFlag'][] + takerGets: components['schemas']['Internal_Xrpl_AssetQuantity'] + takerPays: components['schemas']['Internal_Xrpl_AssetQuantity'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'OfferCreate' } - Internal_CantonOperation_TokenTransfer: { + Internal_BatchInnerOperation_Payment: { /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ amount: string + currency?: components['schemas']['Internal_XrplPaymentCurrency'] destination: components['schemas']['Internal_TransactionDestination'] - /** Format: date-time */ - executeBefore?: string - memo?: string - /** Format: uuid */ - tickerId: string + /** Format: int64 */ + destinationTag?: number + flags?: components['schemas']['Internal_Xrpl_PaymentFlag'][] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Payment' + } + Internal_BatchInnerOperation_TicketCreate: { + /** + * Format: int32 + * @description Number of tickets to create, must be from 1 to 250 + */ + ticketCount: number + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'TicketCreate' + } + Internal_BatchInnerOperation_TrustSet: { + enableRippling?: boolean + flags: components['schemas']['Internal_Xrpl_TrustSetFlag'][] + limitAmount: components['schemas']['Internal_Xrpl_LimitAmount'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'TrustSet' + } + Internal_BatchSigner: { + participant: components['schemas']['Internal_Participant'] + /** @description Hex encoded string. */ + publicKey: string + /** @description Hex encoded string. */ + signature: string + } + Internal_BitcoinFeeStrategy: + | components['schemas']['Internal_BitcoinFeeStrategy_Priority'] + | components['schemas']['Internal_BitcoinFeeStrategy_SpecifiedRate'] + Internal_BitcoinFeeStrategy_Priority: { + priority: components['schemas']['Internal_FeePriority'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'TokenTransfer' + type: 'Priority' } - Internal_CantonOperation_Withdraw: { - contractId: string + Internal_BitcoinFeeStrategy_SpecifiedRate: { + /** @description This field is a large decimal and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + satoshiPerVbyte: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Withdraw' + type: 'SpecifiedRate' + } + /** @enum {string} */ + Internal_BitcoinLikeVaultLedgerIdentifier: + 'btc' | 'ltc' | 'bch' | 'doge' | 'dash' + Internal_BitcoinOutputParameters: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount: string + destination: components['schemas']['Internal_TransactionDestination'] + paysFee?: boolean } - Internal_CantonTickerProperties: - | components['schemas']['Internal_CantonTickerProperties_Instrument'] - | components['schemas']['Internal_CantonTickerProperties_Native'] - Internal_CantonTickerProperties_Instrument: { - instrumentAdmin: string - instrumentId: string + Internal_BitcoinResourceStrategy: components['schemas']['Internal_BitcoinResourceStrategy_OrderReplacement'] + Internal_BitcoinResourceStrategy_OrderReplacement: { + reason?: string + /** Format: uuid */ + transactionOrderId: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Instrument' + type: 'OrderReplacement' } - Internal_CantonTickerProperties_Native: { + Internal_BitcoinTickerProperties: components['schemas']['Internal_BitcoinTickerProperties_Native'] + Internal_BitcoinTickerProperties_Native: { /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -1528,6 +1434,83 @@ export interface components { */ type: 'Native' } + Internal_CmptCryptographicFields: + | components['schemas']['Internal_CmptCryptographicFields_Clawback'] + | components['schemas']['Internal_CmptCryptographicFields_Convert'] + | components['schemas']['Internal_CmptCryptographicFields_ConvertBack'] + | components['schemas']['Internal_CmptCryptographicFields_Send'] + Internal_CmptCryptographicFields_Clawback: { + /** Format: int64 */ + amount: number + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Clawback' + /** Format: base64 */ + zkProof: string + } + Internal_CmptCryptographicFields_Convert: { + /** Format: base64 */ + auditorEncryptedAmount?: string + /** Format: base64 */ + blindingFactor: string + /** Format: base64 */ + holderEncryptedAmount: string + /** Format: base64 */ + issuerEncryptedAmount: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Convert' + /** Format: base64 */ + zkProof?: string + } + Internal_CmptCryptographicFields_ConvertBack: { + /** Format: base64 */ + auditorEncryptedAmount?: string + /** Format: base64 */ + balanceCommitment: string + /** Format: base64 */ + blindingFactor: string + /** Format: base64 */ + holderEncryptedAmount: string + /** Format: base64 */ + issuerEncryptedAmount: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConvertBack' + /** Format: base64 */ + zkProof: string + } + Internal_CmptCryptographicFields_Send: { + /** Format: base64 */ + amountCommitment: string + /** Format: base64 */ + auditorEncryptedAmount?: string + /** Format: base64 */ + balanceCommitment: string + /** Format: base64 */ + destinationEncryptedAmount: string + /** Format: base64 */ + issuerEncryptedAmount: string + /** Format: base64 */ + senderEncryptedAmount: string + /** Format: base64 */ + senderEncryptedBalance?: string + /** Format: int64 */ + senderEncryptedBalanceVersion?: number + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Send' + /** Format: base64 */ + zkProof: string + } Internal_ComplianceConfigurationUpdated: { accountReference: components['schemas']['Internal_AccountReference'] modifiedBy?: components['schemas']['Internal_UserReference'] @@ -1540,8 +1523,6 @@ export interface components { */ type: 'ComplianceConfigurationUpdated' } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_Connected: Record Internal_ContractParameters: components['schemas']['Internal_ContractParameters_Raw'] Internal_ContractParameters_Raw: { /** @@ -1575,7 +1556,7 @@ export interface components { /** Format: uuid */ id: string lock: components['schemas']['Internal_IntentLockStatus'] - /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed. */ + /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. */ loginIds?: components['schemas']['Internal_LoginId'][] /** Format: base64 */ publicKey: string @@ -1606,7 +1587,6 @@ export interface components { amount: string destination: components['schemas']['Internal_TransactionDestination'] paysFee?: boolean - tag?: components['schemas']['Internal_TransferDestinationTag'] } /** @description A list of all entities created during genesis. */ Internal_CreatedEntitiesReferences: { @@ -1643,6 +1623,14 @@ export interface components { /** Format: base64 */ signature: string } + Internal_DecryptCbsPending: { + decryptCbsId: string + signedPayload: string + } + Internal_DecryptCbsPrepared: { + decryptCbsId: string + signedPayload: string + } Internal_DelegateRepresentativeParameters: components['schemas']['Internal_DelegateRepresentativeParameters_AlwaysAbstain'] Internal_DelegateRepresentativeParameters_AlwaysAbstain: { /** @@ -1651,24 +1639,6 @@ export interface components { */ type: 'AlwaysAbstain' } - Internal_DepositInstructionsCreated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'DepositInstructionsCreated' - } - Internal_DepositInstructionsUpdated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'DepositInstructionsUpdated' - } Internal_Domain: { alias: string governingStrategy?: components['schemas']['Internal_GoverningStrategy'] @@ -1702,6 +1672,24 @@ export interface components { */ type: 'DomainUpdated' } + Internal_ElGamalKeyProvisioned: { + /** Format: uuid */ + id: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ElGamalKeyProvisioned' + } + Internal_ElGamalKeyProvisioningFailed: { + /** Format: uuid */ + id: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ElGamalKeyProvisioningFailed' + } Internal_Endpoint: { address: string alias: string @@ -1725,11 +1713,7 @@ export interface components { */ type: 'EndpointCreated' } - Internal_EndpointLedgerParameters: - | components['schemas']['Internal_EndpointLedgerParameters_Ethereum'] - | components['schemas']['Internal_EndpointLedgerParameters_Hedera'] - | components['schemas']['Internal_EndpointLedgerParameters_Stellar'] - | components['schemas']['Internal_EndpointLedgerParameters_XRPL'] + Internal_EndpointLedgerParameters: components['schemas']['Internal_EndpointLedgerParameters_Ethereum'] Internal_EndpointLedgerParameters_Ethereum: { /** @description This field can be used to provide an Application Binary Interface (ABI) for EVM-based smart contracts, Ripple Custody's front-end uses the field to provide an extended support when interacting with smart contracts, therefore it is not recommended to submit invalid ABIs in this field but Ripple Custody will not prevent the submission of invalid ABIs to tolerate use cases outside of Ripple Custody's front-end. */ ABI?: string @@ -1739,44 +1723,18 @@ export interface components { */ type: 'Ethereum' } - Internal_EndpointLedgerParameters_Hedera: { - /** @description String encoded using UTF-8, up to 100-bytes long */ - memo?: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Hedera' - } - Internal_EndpointLedgerParameters_Stellar: { - memo?: components['schemas']['Internal_StellarMemo'] + Internal_EndpointUpdated: { + /** Format: uuid */ + id: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Stellar' + type: 'EndpointUpdated' } - Internal_EndpointLedgerParameters_XRPL: { - /** Format: int64 */ - destinationTag?: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'XRPL' - } - Internal_EndpointUpdated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'EndpointUpdated' - } - Internal_EntityIdAndRevision: { - /** Format: uuid */ - id: string + Internal_EntityIdAndRevision: { + /** Format: uuid */ + id: string /** Format: int64 */ revision: number } @@ -1805,7 +1763,6 @@ export interface components { | components['schemas']['Internal_EthereumFeeStrategy_Priority'] | components['schemas']['Internal_EthereumFeeStrategy_SpecifiedRate'] | components['schemas']['Internal_EthereumFeeStrategy_SpecifiedRateEIP1559'] - | components['schemas']['Internal_EthereumFeeStrategy_Sponsored'] Internal_EthereumFeeStrategy_Priority: { priority: components['schemas']['Internal_FeePriority'] /** @@ -1834,36 +1791,8 @@ export interface components { */ type: 'SpecifiedRateEIP1559' } - Internal_EthereumFeeStrategy_Sponsored: { - /** Format: uuid */ - sponsor?: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Sponsored' - } /** @enum {string} */ Internal_EthereumLikeVaultLedgerIdentifier: 'eth' | 'etc' - Internal_EthereumOperation: - | components['schemas']['Internal_EthereumOperation_SetDelegation'] - | components['schemas']['Internal_EthereumOperation_SubmitAuthorization'] - Internal_EthereumOperation_SetDelegation: { - delegationContract: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'SetDelegation' - } - Internal_EthereumOperation_SubmitAuthorization: { - authorizations: components['schemas']['Internal_AuthorizationReference'][] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'SubmitAuthorization' - } Internal_EthereumResourceStrategy: components['schemas']['Internal_EthereumResourceStrategy_OrderReplacement'] Internal_EthereumResourceStrategy_OrderReplacement: { reason?: string @@ -1921,13 +1850,11 @@ export interface components { submitter: components['schemas']['Internal_Submitter'] } Internal_EvaluationContextReferences: { - accountProviders: components['schemas']['Internal_Map_AccountProvider'] accounts: components['schemas']['Internal_Map_Account'] backups: components['schemas']['Internal_Map_Backup'] domains: components['schemas']['Internal_Map_Domain'] endpoints: components['schemas']['Internal_Map_Endpoint'] ledgers: components['schemas']['Internal_Map_Ledger'] - locations: components['schemas']['Internal_Map_Location'] manifests: components['schemas']['Internal_Map_Manifest'] policies: components['schemas']['Internal_Map_Policy'] systemProperties: components['schemas']['Internal_Map_SystemProperty'] @@ -1943,29 +1870,6 @@ export interface components { items: components['schemas']['Internal_HarmonizeEvent'][] nextStartingAfter?: string } - Internal_ExternalOperation: components['schemas']['Internal_ExternalOperation_Transfer'] - Internal_ExternalOperation_Transfer: { - memo?: string - outputs: components['schemas']['Internal_Output'][] - /** Format: uuid */ - tickerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Transfer' - } - Internal_ExternalTickerProperties: components['schemas']['Internal_ExternalTickerProperties_Asset'] - Internal_ExternalTickerProperties_Asset: { - providerAssetId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Asset' - } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_Failed: Record /** @enum {string} */ Internal_FeePriority: 'High' | 'Medium' | 'Low' /** @description Complete genesis payload, copied in and signed by the notary at genesis. */ @@ -1985,7 +1889,6 @@ export interface components { payload: components['schemas']['Internal_GenesisPayload'] } Internal_GenesisPayload: { - antiRewindMode?: components['schemas']['Internal_AntiRewindMode'] cryptoSetup: components['schemas']['Internal_GenesisCryptoSetup'] ledgers?: components['schemas']['Internal_CreateLedgerGenesis'][] rootDomainSetup: components['schemas']['Internal_RootDomainSetup'] @@ -2024,18 +1927,16 @@ export interface components { } Internal_HarmonizeEventPayload: | components['schemas']['Internal_AccountCreated'] - | components['schemas']['Internal_AccountProviderCreated'] - | components['schemas']['Internal_AccountProviderUpdated'] | components['schemas']['Internal_AccountUpdated'] | components['schemas']['Internal_AddressCreated'] | components['schemas']['Internal_BackupCreated'] | components['schemas']['Internal_BackupUpdated'] | components['schemas']['Internal_BalancesUpdated'] | components['schemas']['Internal_ComplianceConfigurationUpdated'] - | components['schemas']['Internal_DepositInstructionsCreated'] - | components['schemas']['Internal_DepositInstructionsUpdated'] | components['schemas']['Internal_DomainCreated'] | components['schemas']['Internal_DomainUpdated'] + | components['schemas']['Internal_ElGamalKeyProvisioned'] + | components['schemas']['Internal_ElGamalKeyProvisioningFailed'] | components['schemas']['Internal_EndpointCreated'] | components['schemas']['Internal_EndpointUpdated'] | components['schemas']['Internal_GenesisSucceeded'] @@ -2045,11 +1946,8 @@ export interface components { | components['schemas']['Internal_IntentUpdated'] | components['schemas']['Internal_LedgerCreated'] | components['schemas']['Internal_LedgerUpdated'] - | components['schemas']['Internal_LocationCreated'] - | components['schemas']['Internal_LocationUpdated'] | components['schemas']['Internal_ManifestCreated'] | components['schemas']['Internal_ManifestUpdated'] - | components['schemas']['Internal_McoInstanceRegistered'] | components['schemas']['Internal_PolicyCreated'] | components['schemas']['Internal_PolicyUpdated'] | components['schemas']['Internal_QuarantineApplied'] @@ -2069,8 +1967,6 @@ export interface components { | components['schemas']['Internal_VaultKeyMaterialRewrapCompleted'] | components['schemas']['Internal_VaultKeyMaterialRewrapFailed'] | components['schemas']['Internal_VaultUpdated'] - | components['schemas']['Internal_ElGamalKeyProvisioned'] - | components['schemas']['Internal_ElGamalKeyProvisioningFailed'] Internal_HederaFeeStrategy: components['schemas']['Internal_HederaFeeStrategy_Priority'] Internal_HederaFeeStrategy_Priority: { priority: components['schemas']['Internal_FeePriority'] @@ -2300,14 +2196,10 @@ export interface components { | 'v0_CreateTransferOrder' | 'v0_SignManifest' | 'v0_SetSystemProperty' - | 'v0_ConnectProvider' - | 'v0_RegisterMcoInstance' - | 'v0_RequestDepositInstructions' | 'v0_CreateLedger' | 'v0_UpdateLedger' | 'v0_AddTrustedPublicKeysForMigration' | 'v0_RegisterTrustedPublicKey' - | 'v0_AddProviderKey' | 'v0_CreateBackup' | 'v0_AcknowledgeBackup' | 'v0_ProvisionElGamalKeyPair' @@ -2321,10 +2213,9 @@ export interface components { type: 'IntentUpdated' } /** @enum {string} */ + Internal_KeyPurpose: 'ElGamal' + /** @enum {string} */ Internal_KeyType: 'Secp256r1' | 'Secp256k1' | 'Ed25519' - Internal_LarPhase1MigrationSanityCheck: { - quarantineExceedsTotalBalance: components['schemas']['Internal_QuarantineExceedsTotalBalance'][] - } Internal_Ledger: { alias: string id: string @@ -2342,15 +2233,12 @@ export interface components { Internal_LedgerParameters: | components['schemas']['Internal_LedgerParameters_Algorand'] | components['schemas']['Internal_LedgerParameters_Bitcoin'] - | components['schemas']['Internal_LedgerParameters_Canton'] | components['schemas']['Internal_LedgerParameters_Cardano'] | components['schemas']['Internal_LedgerParameters_Ethereum'] - | components['schemas']['Internal_LedgerParameters_External'] | components['schemas']['Internal_LedgerParameters_Hedera'] | components['schemas']['Internal_LedgerParameters_Solana'] | components['schemas']['Internal_LedgerParameters_Stellar'] | components['schemas']['Internal_LedgerParameters_Substrate'] - | components['schemas']['Internal_LedgerParameters_Sui'] | components['schemas']['Internal_LedgerParameters_Tezos'] | components['schemas']['Internal_LedgerParameters_Tron'] | components['schemas']['Internal_LedgerParameters_XRPL'] @@ -2381,17 +2269,6 @@ export interface components { type: 'Bitcoin' vaultLedgerIdentifier: components['schemas']['Internal_BitcoinLikeVaultLedgerIdentifier'] } - Internal_LedgerParameters_Canton: { - daRegistryOperator: string - dsoPartyId: string - operatorId: string - synchronizerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Canton' - } Internal_LedgerParameters_Cardano: { nativeTickerName: string nativeTickerSymbol: string @@ -2416,13 +2293,6 @@ export interface components { type: 'Ethereum' vaultLedgerIdentifier: components['schemas']['Internal_EthereumLikeVaultLedgerIdentifier'] } - Internal_LedgerParameters_External: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } Internal_LedgerParameters_Hedera: { nativeTickerName: string nativeTickerSymbol: string @@ -2468,15 +2338,6 @@ export interface components { */ type: 'Substrate' } - Internal_LedgerParameters_Sui: { - nativeTickerName: string - nativeTickerSymbol: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Sui' - } Internal_LedgerParameters_Tezos: { chainId: string nativeTickerName: string @@ -2515,34 +2376,6 @@ export interface components { */ type: 'LedgerUpdated' } - Internal_Location: { - alias: string - /** Format: uuid */ - id: string - metadata: components['schemas']['Internal_EntityMetadata'] - /** Format: uuid */ - providerId: string - /** @description ID of the location as reported by the provider */ - providerLocationId: string - } - Internal_LocationCreated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'LocationCreated' - } - Internal_LocationUpdated: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'LocationUpdated' - } /** @enum {string} */ Internal_LockStatus: 'Unlocked' | 'Locked' | 'Archived' Internal_LoginId: { @@ -2564,7 +2397,6 @@ export interface components { Internal_Manifest: { /** Format: uuid */ accountId: string - address?: string content: components['schemas']['Internal_ManifestContent'] /** Format: uuid */ domainId: string @@ -2685,9 +2517,6 @@ export interface components { Internal_Map_Account: { [key: string]: components['schemas']['Internal_Account'] } - Internal_Map_AccountProvider: { - [key: string]: components['schemas']['Internal_AccountProvider'] - } Internal_Map_Backup: { [key: string]: components['schemas']['Internal_Backup'] } @@ -2700,9 +2529,6 @@ export interface components { Internal_Map_Ledger: { [key: string]: components['schemas']['Internal_Ledger'] } - Internal_Map_Location: { - [key: string]: components['schemas']['Internal_Location'] - } Internal_Map_Manifest: { [key: string]: components['schemas']['Internal_Manifest'] } @@ -2724,38 +2550,6 @@ export interface components { Internal_Map_Vault: { [key: string]: components['schemas']['Internal_Vault'] } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_McoInstanceRegistered: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'McoInstanceRegistered' - } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_McoProviderError: { - code: string - message?: string - } - Internal_McoProviderStatus: - | components['schemas']['Internal_Connected'] - | components['schemas']['Internal_Failed'] - | components['schemas']['Internal_Pending'] - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_McoTicker: { - /** Format: uuid */ - mcoAssetId: string - /** Format: uuid */ - providerId: string - /** @description ID of the location as reported by the provider */ - providerLocationId?: string - suggestedLedgerDetails?: components['schemas']['Internal_TickerLedgerDetails'] - suggestedLedgerId?: string - /** Format: uuid */ - underlyingTickerId?: string - } /** @enum {string} */ Internal_Network: 'mainnet' | 'testnet' | 'regtest' Internal_NonFungibleTokenDestination: @@ -2796,14 +2590,65 @@ export interface components { Internal_NotarySystemSigningKeyValue: { publicKey: components['schemas']['Internal_AccountPublicKeyOnly'] } - Internal_Output: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - destination: components['schemas']['Internal_TransactionDestination'] - destinationTag?: string + Internal_ParametersComputePending: { + parametersId: string + signedPayload: string + } + Internal_ParametersComputePrepared: { + parametersId: string + signedPayload: string + } + Internal_Participant: + | components['schemas']['Internal_Participant_Account'] + | components['schemas']['Internal_Participant_Address'] + | components['schemas']['Internal_Participant_Endpoint'] + Internal_ParticipantSequencing: + | components['schemas']['Internal_ParticipantSequencing_AccountSequence'] + | components['schemas']['Internal_ParticipantSequencing_Ticket'] + Internal_ParticipantSequencing_AccountSequence: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'AccountSequence' + /** Format: int64 */ + value: number + } + Internal_ParticipantSequencing_Ticket: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Ticket' + /** Format: int64 */ + value: number + } + Internal_Participant_Account: { + /** Format: uuid */ + accountId: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Account' + } + Internal_Participant_Address: { + address: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Address' + } + Internal_Participant_Endpoint: { + /** Format: uuid */ + endpointId: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Endpoint' } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_Pending: Record Internal_Permissions: { readAccess: components['schemas']['Internal_ReadAccess'] } @@ -2933,15 +2778,12 @@ export interface components { Internal_ProposeTransactionOrderParameters: | components['schemas']['Internal_TransactionOrderParameters_Algorand'] | components['schemas']['Internal_TransactionOrderParameters_Bitcoin'] - | components['schemas']['Internal_TransactionOrderParameters_Canton'] | components['schemas']['Internal_TransactionOrderParameters_Cardano'] | components['schemas']['Internal_TransactionOrderParameters_Ethereum'] - | components['schemas']['Internal_TransactionOrderParameters_External'] | components['schemas']['Internal_TransactionOrderParameters_Hedera'] | components['schemas']['Internal_TransactionOrderParameters_Solana'] | components['schemas']['Internal_TransactionOrderParameters_Stellar'] | components['schemas']['Internal_TransactionOrderParameters_Substrate'] - | components['schemas']['Internal_TransactionOrderParameters_Sui'] | components['schemas']['Internal_TransactionOrderParameters_Tezos'] | components['schemas']['Internal_TransactionOrderParameters_Tron'] | components['schemas']['Internal_TransactionOrderParameters_XRPL'] @@ -2949,10 +2791,8 @@ export interface components { | components['schemas']['Internal_Propose_v0_CreateTransactionOrder'] | components['schemas']['Internal_v0_AcknowledgeBackup'] | components['schemas']['Internal_v0_AddAccountLedgers'] - | components['schemas']['Internal_v0_AddProviderKey'] | components['schemas']['Internal_v0_AddTrustedPublicKeysForMigration'] | components['schemas']['Internal_v0_AttemptTransactionOrderCancellation'] - | components['schemas']['Internal_v0_ConnectProvider'] | components['schemas']['Internal_v0_CreateAccount'] | components['schemas']['Internal_v0_CreateBackup'] | components['schemas']['Internal_v0_CreateDomain'] @@ -2973,10 +2813,9 @@ export interface components { | components['schemas']['Internal_v0_LockVault'] | components['schemas']['Internal_v0_MigrateSilo3AccountBatch'] | components['schemas']['Internal_v0_NotarizeData'] - | components['schemas']['Internal_v0_RegisterMcoInstance'] + | components['schemas']['Internal_v0_ProvisionElGamalKeyPair'] | components['schemas']['Internal_v0_RegisterTrustedPublicKey'] | components['schemas']['Internal_v0_ReleaseQuarantinedTransfers'] - | components['schemas']['Internal_v0_RequestDepositInstructions'] | components['schemas']['Internal_v0_RewrapVaultKeyMaterial'] | components['schemas']['Internal_v0_SetSystemProperty'] | components['schemas']['Internal_v0_SignManifest'] @@ -2997,7 +2836,6 @@ export interface components { | components['schemas']['Internal_v0_UpdateUser'] | components['schemas']['Internal_v0_UpdateVault'] | components['schemas']['Internal_v0_ValidateTickers'] - | components['schemas']['Internal_v0_ProvisionElGamalKeyPair'] Internal_Propose_v0_CreateTransactionOrder: { /** Format: uuid */ accountId: string @@ -3013,6 +2851,12 @@ export interface components { */ type: 'v0_CreateTransactionOrder' } + Internal_PurposeKey: { + ledgerId: string + /** Format: base64 */ + publicKey: string + purpose: components['schemas']['Internal_KeyPurpose'] + } Internal_QuarantineApplied: { /** Format: uuid */ transferId: string @@ -3022,21 +2866,6 @@ export interface components { */ type: 'QuarantineApplied' } - Internal_QuarantineExceedsTotalBalance: { - /** Format: uuid */ - accountId: string - /** Format: uuid */ - domainId: string - /** @description This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - excessAmount: string - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - quarantinedAmount: string - quarantinedTransfers: components['schemas']['Internal_QuarantinedTransfer'][] - /** Format: uuid */ - tickerId: string - /** @description This field is a large integer that can be negative, zero, or positive. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - totalAmount: string - } Internal_QuarantineSkipped: { /** Format: uuid */ transferId: string @@ -3048,16 +2877,6 @@ export interface components { } /** @enum {string} */ Internal_QuarantineStatus: 'Quarantined' | 'Released' | 'Skipped' - Internal_QuarantinedTransfer: { - /** Format: date-time */ - registeredAt: string - /** Format: uuid */ - transactionId?: string - /** Format: uuid */ - transferId: string - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - value: string - } Internal_ReadAccess: { accounts: string[] domains: string[] @@ -3069,17 +2888,8 @@ export interface components { users: string[] } Internal_ReadWriteSystemPropertyKeyValue: - | components['schemas']['Internal_ReadWriteSystemPropertyKeyValue_AntiRewindModeProperty'] | components['schemas']['Internal_ReadWriteSystemPropertyKeyValue_NotarySystemSignedIntentsEnabledProperty'] | components['schemas']['Internal_ReadWriteSystemPropertyKeyValue_StateReviewAuthorityProperty'] - Internal_ReadWriteSystemPropertyKeyValue_AntiRewindModeProperty: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AntiRewindModeProperty' - value: components['schemas']['Internal_AntiRewindModeValue'] - } Internal_ReadWriteSystemPropertyKeyValue_NotarySystemSignedIntentsEnabledProperty: { /** * @description discriminator enum property added by openapi-typescript @@ -3102,10 +2912,7 @@ export interface components { Internal_RecipientTransferParty_Account: { /** Format: uuid */ accountId: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ address?: string addressDetails?: components['schemas']['Internal_AddressDetails'] /** Format: uuid */ @@ -3166,10 +2973,7 @@ export interface components { Internal_SenderTransferParty_Account: { /** Format: uuid */ accountId: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ addresses?: string[] addressesDetails?: components['schemas']['Internal_AddressDetails'][] /** Format: uuid */ @@ -3189,6 +2993,39 @@ export interface components { */ type: 'Address' } + Internal_Sequencing: + | components['schemas']['Internal_Sequencing_AccountSequence'] + | components['schemas']['Internal_Sequencing_PlatformManaged'] + | components['schemas']['Internal_Sequencing_Ticket'] + Internal_Sequencing_AccountSequence: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'AccountSequence' + /** Format: int64 */ + value: number + } + Internal_Sequencing_PlatformManaged: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'PlatformManaged' + } + Internal_Sequencing_Ticket: { + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Ticket' + /** Format: int64 */ + value: number + } + Internal_Service: { + custodyRoles: string[] + subject: string + } Internal_ServicePropose: { customProperties: components['schemas']['Internal_StringsMap'] description?: string @@ -3269,7 +3106,6 @@ export interface components { Internal_SolanaOperation_CreateNonceAccount: { /** Format: uuid */ createOnAccount: string - nonceAuthority?: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -3527,27 +3363,8 @@ export interface components { transactionId: string } Internal_Submitter: - | components['schemas']['Internal_Submitter_Service'] - | components['schemas']['Internal_Submitter_User'] | components['schemas']['Internal_Service'] | components['schemas']['Internal_User1'] - Internal_Submitter_Service: { - custodyRoles: string[] - subject: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Service' - } - Internal_Submitter_User: { - reference: components['schemas']['Internal_UserReference'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'User' - } Internal_SubstrateBalancesMethod: components['schemas']['Internal_SubstrateBalancesMethod_TransferKeepAlive'] Internal_SubstrateBalancesMethod_TransferKeepAlive: { /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ @@ -3777,61 +3594,7 @@ export interface components { */ type: 'Native' } - Internal_SuiFeeStrategy: components['schemas']['Internal_SuiFeeStrategy_Priority'] - Internal_SuiFeeStrategy_Priority: { - priority: components['schemas']['Internal_FeePriority'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Priority' - } - Internal_SuiOperation: - | components['schemas']['Internal_SuiOperation_CoinTransfer'] - | components['schemas']['Internal_SuiOperation_NativeTransfer'] - Internal_SuiOperation_CoinTransfer: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - /** @description Move coin type tag, e.g. 0x2::sui::SUI (no generic type parameters). */ - coinType: string - destination: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'CoinTransfer' - } - Internal_SuiOperation_NativeTransfer: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - destination: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'NativeTransfer' - } - Internal_SuiTickerProperties: - | components['schemas']['Internal_SuiTickerProperties_Coin'] - | components['schemas']['Internal_SuiTickerProperties_Native'] - Internal_SuiTickerProperties_Coin: { - /** @description Move coin type tag, e.g. 0x2::sui::SUI (no generic type parameters). */ - coinType: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Coin' - } - Internal_SuiTickerProperties_Native: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Native' - } Internal_SystemProperty: - | components['schemas']['Internal_SystemProperty_AntiRewindModeSystemProperty'] | components['schemas']['Internal_SystemProperty_NotaryApiKeySystemProperty'] | components['schemas']['Internal_SystemProperty_NotaryCollectionsKeySystemProperty'] | components['schemas']['Internal_SystemProperty_NotaryCommunicationKeySystemProperty'] @@ -3846,7 +3609,6 @@ export interface components { | 'STATE_REVIEW_AUTHORITY' | 'NOTARY_SYSTEM_SIGNING_KEY' | 'NOTARY_SYSTEM_SIGNED_INTENTS_ENABLED' - | 'ANTI_REWIND_MODE' Internal_SystemPropertySet: { id: components['schemas']['Internal_SystemPropertyId'] /** @@ -3855,11 +3617,6 @@ export interface components { */ type: 'SystemPropertySet' } - Internal_SystemProperty_AntiRewindModeSystemProperty: { - id: components['schemas']['Internal_SystemPropertyId'] - metadata: components['schemas']['Internal_EntityMetadata'] - value: components['schemas']['Internal_AntiRewindModeValue'] - } Internal_SystemProperty_NotaryApiKeySystemProperty: { id: components['schemas']['Internal_SystemPropertyId'] metadata: components['schemas']['Internal_EntityMetadata'] @@ -3959,16 +3716,12 @@ export interface components { Internal_TickerLedgerDetails: | components['schemas']['Internal_TickerLedgerDetails_Algorand'] | components['schemas']['Internal_TickerLedgerDetails_Bitcoin'] - | components['schemas']['Internal_TickerLedgerDetails_Canton'] | components['schemas']['Internal_TickerLedgerDetails_Cardano'] | components['schemas']['Internal_TickerLedgerDetails_Ethereum'] - | components['schemas']['Internal_TickerLedgerDetails_External'] | components['schemas']['Internal_TickerLedgerDetails_Hedera'] - | components['schemas']['Internal_TickerLedgerDetails_Mco'] | components['schemas']['Internal_TickerLedgerDetails_Solana'] | components['schemas']['Internal_TickerLedgerDetails_Stellar'] | components['schemas']['Internal_TickerLedgerDetails_Substrate'] - | components['schemas']['Internal_TickerLedgerDetails_Sui'] | components['schemas']['Internal_TickerLedgerDetails_Tezos'] | components['schemas']['Internal_TickerLedgerDetails_Tron'] | components['schemas']['Internal_TickerLedgerDetails_XRPL'] @@ -3988,14 +3741,6 @@ export interface components { */ type: 'Bitcoin' } - Internal_TickerLedgerDetails_Canton: { - properties: components['schemas']['Internal_CantonTickerProperties'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Canton' - } Internal_TickerLedgerDetails_Cardano: { properties: components['schemas']['Internal_CardanoTickerProperties'] /** @@ -4012,14 +3757,6 @@ export interface components { */ type: 'Ethereum' } - Internal_TickerLedgerDetails_External: { - properties: components['schemas']['Internal_ExternalTickerProperties'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } Internal_TickerLedgerDetails_Hedera: { properties: components['schemas']['Internal_HederaTickerProperties'] /** @@ -4028,16 +3765,6 @@ export interface components { */ type: 'Hedera' } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_TickerLedgerDetails_Mco: { - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - properties: components['schemas']['Internal_McoTicker'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Mco' - } Internal_TickerLedgerDetails_Solana: { properties: components['schemas']['Internal_SolanaTickerProperties'] /** @@ -4062,14 +3789,6 @@ export interface components { */ type: 'Substrate' } - Internal_TickerLedgerDetails_Sui: { - properties: components['schemas']['Internal_SuiTickerProperties'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Sui' - } Internal_TickerLedgerDetails_Tezos: { properties: components['schemas']['Internal_TezosTickerProperties'] /** @@ -4226,15 +3945,12 @@ export interface components { | components['schemas']['Internal_TransactionOrderParameters_Algorand'] | components['schemas']['Internal_TransactionOrderParameters_Bitcoin'] | components['schemas']['Internal_TransactionOrderParameters_BitcoinRedirect'] - | components['schemas']['Internal_TransactionOrderParameters_Canton'] | components['schemas']['Internal_TransactionOrderParameters_Cardano'] | components['schemas']['Internal_TransactionOrderParameters_Ethereum'] - | components['schemas']['Internal_TransactionOrderParameters_External'] | components['schemas']['Internal_TransactionOrderParameters_Hedera'] | components['schemas']['Internal_TransactionOrderParameters_Solana'] | components['schemas']['Internal_TransactionOrderParameters_Stellar'] | components['schemas']['Internal_TransactionOrderParameters_Substrate'] - | components['schemas']['Internal_TransactionOrderParameters_Sui'] | components['schemas']['Internal_TransactionOrderParameters_Tezos'] | components['schemas']['Internal_TransactionOrderParameters_Tron'] | components['schemas']['Internal_TransactionOrderParameters_XRPL'] @@ -4275,16 +3991,6 @@ export interface components { */ type: 'BitcoinRedirect' } - Internal_TransactionOrderParameters_Canton: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - maximumFee?: string - operation: components['schemas']['Internal_CantonOperation'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Canton' - } Internal_TransactionOrderParameters_Cardano: { feeStrategy: components['schemas']['Internal_CardanoFeeStrategy'] /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ @@ -4304,7 +4010,6 @@ export interface components { feeStrategy: components['schemas']['Internal_EthereumFeeStrategy'] /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ maximumFee?: string - operation?: components['schemas']['Internal_EthereumOperation'] resourceStrategy?: components['schemas']['Internal_EthereumResourceStrategy'] /** * @description discriminator enum property added by openapi-typescript @@ -4312,14 +4017,6 @@ export interface components { */ type: 'Ethereum' } - Internal_TransactionOrderParameters_External: { - operation: components['schemas']['Internal_ExternalOperation'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } Internal_TransactionOrderParameters_Hedera: { feeStrategy: components['schemas']['Internal_HederaFeeStrategy'] /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ @@ -4339,8 +4036,6 @@ export interface components { maximumFee?: string memos: string[] nonceAccount?: components['schemas']['Internal_TransactionDestination'] - /** Format: uuid */ - nonceAuthority?: string operation: components['schemas']['Internal_SolanaOperation'] /** * @description discriminator enum property added by openapi-typescript @@ -4371,22 +4066,6 @@ export interface components { */ type: 'Substrate' } - Internal_TransactionOrderParameters_Sui: { - feeStrategy: components['schemas']['Internal_SuiFeeStrategy'] - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - maximumFee?: string - operation: components['schemas']['Internal_SuiOperation'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Sui' - /** - * Format: int32 - * @description Expiry window in whole Sui epochs (approximately 24 hours each) from preparation; omit for the platform default. - */ - validityEpochs?: number - } Internal_TransactionOrderParameters_Tezos: { feeStrategy: components['schemas']['Internal_TezosFeeStrategy'] /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ @@ -4412,7 +4091,7 @@ export interface components { Internal_TransactionOrderParameters_XRPL: { /** * @deprecated - * @description Deletion target: Mar. 31st 2027. This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. + * @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ amount?: string /** @deprecated */ @@ -4423,7 +4102,6 @@ export interface components { /** * Format: int64 * @deprecated - * @description Deletion target: Mar. 31st 2027 */ destinationTag?: number feeStrategy: components['schemas']['Internal_XrplFeeStrategy'] @@ -4433,12 +4111,12 @@ export interface components { operation?: components['schemas']['Internal_XrplOperation'] /** Format: int64 */ sourceTag?: number + sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: 'XRPL' - sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] } Internal_TransactionPending: { /** Format: uuid */ @@ -4459,50 +4137,17 @@ export interface components { */ type: 'TransactionUpdated' } - Internal_TransferDestinationTag: - | components['schemas']['Internal_TransferDestinationTag_Hedera'] - | components['schemas']['Internal_TransferDestinationTag_Stellar'] - | components['schemas']['Internal_TransferDestinationTag_XRPL'] - Internal_TransferDestinationTag_Hedera: { - /** @description String encoded using UTF-8, up to 100-bytes long */ - memo: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Hedera' - } - Internal_TransferDestinationTag_Stellar: { - memo: components['schemas']['Internal_StellarMemo'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Stellar' - } - Internal_TransferDestinationTag_XRPL: { - /** Format: int64 */ - destinationTag: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'XRPL' - } /** @enum {string} */ Internal_TransferKind: 'Transfer' | 'Fee' | 'Recovery' Internal_TransferMetadata: | components['schemas']['Internal_TransferMetadata_Algorand'] | components['schemas']['Internal_TransferMetadata_Bitcoin'] - | components['schemas']['Internal_TransferMetadata_Canton'] | components['schemas']['Internal_TransferMetadata_Cardano'] | components['schemas']['Internal_TransferMetadata_Ethereum'] - | components['schemas']['Internal_TransferMetadata_External'] | components['schemas']['Internal_TransferMetadata_Hedera'] | components['schemas']['Internal_TransferMetadata_Solana'] | components['schemas']['Internal_TransferMetadata_Stellar'] | components['schemas']['Internal_TransferMetadata_Substrate'] - | components['schemas']['Internal_TransferMetadata_Sui'] | components['schemas']['Internal_TransferMetadata_Tezos'] | components['schemas']['Internal_TransferMetadata_Tron'] | components['schemas']['Internal_TransferMetadata_XRPL'] @@ -4522,14 +4167,6 @@ export interface components { */ type: 'Bitcoin' } - Internal_TransferMetadata_Canton: { - memo?: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Canton' - } Internal_TransferMetadata_Cardano: { /** * @description discriminator enum property added by openapi-typescript @@ -4544,16 +4181,7 @@ export interface components { */ type: 'Ethereum' } - Internal_TransferMetadata_External: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } Internal_TransferMetadata_Hedera: { - /** @description String encoded using UTF-8, up to 100-bytes long */ - memo?: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -4568,7 +4196,6 @@ export interface components { type: 'Solana' } Internal_TransferMetadata_Stellar: { - memo?: components['schemas']['Internal_StellarMemo'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -4582,13 +4209,6 @@ export interface components { */ type: 'Substrate' } - Internal_TransferMetadata_Sui: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Sui' - } Internal_TransferMetadata_Tezos: { /** * @description discriminator enum property added by openapi-typescript @@ -4756,6 +4376,13 @@ export interface components { /** Format: base64 */ signingKey: string } + Internal_TrustedUsersCollection: { + /** Format: int32 */ + count: number + currentStartingAfter?: string + items: components['schemas']['Internal_TrustedUser'][] + nextStartingAfter?: string + } Internal_TrustedVault: { data: components['schemas']['Internal_Vault'] /** Format: base64 */ @@ -4777,6 +4404,9 @@ export interface components { publicKey: string roles: string[] } + Internal_User1: { + reference: components['schemas']['Internal_UserReference'] + } Internal_UserCreated: { /** Format: uuid */ id: string @@ -4797,10 +4427,8 @@ export interface components { Internal_UserIntentPayload: | components['schemas']['Internal_v0_AcknowledgeBackup'] | components['schemas']['Internal_v0_AddAccountLedgers'] - | components['schemas']['Internal_v0_AddProviderKey'] | components['schemas']['Internal_v0_AddTrustedPublicKeysForMigration'] | components['schemas']['Internal_v0_AttemptTransactionOrderCancellation'] - | components['schemas']['Internal_v0_ConnectProvider'] | components['schemas']['Internal_v0_CreateAccount'] | components['schemas']['Internal_v0_CreateBackup'] | components['schemas']['Internal_v0_CreateDomain'] @@ -4822,10 +4450,9 @@ export interface components { | components['schemas']['Internal_v0_LockVault'] | components['schemas']['Internal_v0_MigrateSilo3AccountBatch'] | components['schemas']['Internal_v0_NotarizeData'] - | components['schemas']['Internal_v0_RegisterMcoInstance'] + | components['schemas']['Internal_v0_ProvisionElGamalKeyPair'] | components['schemas']['Internal_v0_RegisterTrustedPublicKey'] | components['schemas']['Internal_v0_ReleaseQuarantinedTransfers'] - | components['schemas']['Internal_v0_RequestDepositInstructions'] | components['schemas']['Internal_v0_RewrapVaultKeyMaterial'] | components['schemas']['Internal_v0_SetSystemProperty'] | components['schemas']['Internal_v0_SignManifest'] @@ -4846,7 +4473,6 @@ export interface components { | components['schemas']['Internal_v0_UpdateUser'] | components['schemas']['Internal_v0_UpdateVault'] | components['schemas']['Internal_v0_ValidateTickers'] - | components['schemas']['Internal_v0_ProvisionElGamalKeyPair'] /** @enum {string} */ Internal_UserOperationRejectionCode: | 'AccountLocked' @@ -4899,16 +4525,11 @@ export interface components { | 'VaultNotFound' | 'VaultLocked' | 'VaultHasRandomKeyAccounts' - | 'ExternalProviderNotFound' - | 'ExternalProviderLocked' - | 'ExternalProviderUnexpectedState' - | 'LocationNotFound' | 'VaultNotReady' | 'InvalidDestination' | 'InvalidTransactionOrderState' | 'InvalidTransactionOrderParameters' | 'InvalidTransferOrderParameters' - | 'ConflictingDestinationTag' | 'InvalidEndpointUpdateParameters' | 'InvalidEndpointCreateParameters' | 'InvalidManifestContent' @@ -4920,7 +4541,6 @@ export interface components { | 'DuplicateTickerIdsToValidate' | 'DuplicateTickerLedgerDatasToValidate' | 'InvalidEntityId' - | 'TickerUnderlyingAssetIsNotInMetacoAssets' | 'MissingLoginIds' | 'DuplicatedLoginIds' | 'FeatureFlagDisabled' @@ -4938,14 +4558,7 @@ export interface components { | 'BackupAcknowledgeDenied' | 'VaultOperationOnExternalAccount' | 'ExternalOperationOnVaultAccount' - | 'MalformedCredentials' - | 'McoNotRegistered' - | 'McoTickerAlreadyValidated' - | 'McoTickerUnderlyingNotResolved' - | 'McoTickerConflictingChainIdentity' | 'ValidateTickersPostProcessingFailure' - | 'DepositInstructionPostProcessingFailure' - | 'SignManifestAddressResolutionFailure' Internal_UserReference: { /** Format: uuid */ domainId: string @@ -4962,7 +4575,6 @@ export interface components { /** * Format: date-time * @deprecated - * @description Deletion target: Mar. 31st 2027 */ expiryAt?: string /** Format: uuid */ @@ -4999,7 +4611,6 @@ export interface components { /** * Format: date-time * @deprecated - * @description Deletion target: Mar. 31st 2027 */ expiryAt?: string /** Format: uuid */ @@ -5114,14 +4725,12 @@ export interface components { | components['schemas']['Internal_VaultAccountProviderInformation_Key_VaultDerived'] | components['schemas']['Internal_VaultAccountProviderInformation_Key_VaultDerivedNonExtended'] | components['schemas']['Internal_VaultAccountProviderInformation_Key_VaultRandom'] - | components['schemas']['Internal_VaultAccountProviderInformation_Key_VaultReserved'] /** @enum {string} */ Internal_VaultAccountProviderInformation_KeyId: | 'SECP256K1_CUSTODY_1' | 'ED25519_CUSTODY_1' | 'ED25519_CUSTODY_2' | 'ED25519_STAKING_1' - | 'ED25519_CANTON_PARTY_1' Internal_VaultAccountProviderInformation_Key_VaultDerived: { derivationPath: string id: components['schemas']['Internal_VaultAccountProviderInformation_KeyId'] @@ -5151,15 +4760,6 @@ export interface components { */ type: 'VaultRandom' } - Internal_VaultAccountProviderInformation_Key_VaultReserved: { - id: components['schemas']['Internal_VaultAccountProviderInformation_KeyId'] - publicKey?: components['schemas']['Internal_AccountPublicKeyOnly'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'VaultReserved' - } Internal_VaultApiVersion: { /** Format: int32 */ major: number @@ -5415,7 +5015,13 @@ export interface components { } Internal_XrplOperation: | components['schemas']['Internal_XrplOperation_AccountSet'] + | components['schemas']['Internal_XrplOperation_Batch'] | components['schemas']['Internal_XrplOperation_Clawback'] + | components['schemas']['Internal_XrplOperation_ConfidentialMPTClawback'] + | components['schemas']['Internal_XrplOperation_ConfidentialMPTConvert'] + | components['schemas']['Internal_XrplOperation_ConfidentialMPTConvertBack'] + | components['schemas']['Internal_XrplOperation_ConfidentialMPTMergeInbox'] + | components['schemas']['Internal_XrplOperation_ConfidentialMPTSend'] | components['schemas']['Internal_XrplOperation_DepositPreauth'] | components['schemas']['Internal_XrplOperation_EscrowFinish'] | components['schemas']['Internal_XrplOperation_MPTokenAuthorize'] @@ -5424,16 +5030,10 @@ export interface components { | components['schemas']['Internal_XrplOperation_MPTokenIssuanceSet'] | components['schemas']['Internal_XrplOperation_OfferCreate'] | components['schemas']['Internal_XrplOperation_Payment'] - | components['schemas']['Internal_XrplOperation_TrustSet'] - | components['schemas']['Internal_XrplOperation_Batch'] - | components['schemas']['Internal_XrplOperation_ConfidentialMPTClawback'] - | components['schemas']['Internal_XrplOperation_ConfidentialMPTConvert'] - | components['schemas']['Internal_XrplOperation_ConfidentialMPTConvertBack'] - | components['schemas']['Internal_XrplOperation_ConfidentialMPTMergeInbox'] - | components['schemas']['Internal_XrplOperation_ConfidentialMPTSend'] | components['schemas']['Internal_XrplOperation_SponsorshipSetAsSponsee'] | components['schemas']['Internal_XrplOperation_SponsorshipSetAsSponsor'] | components['schemas']['Internal_XrplOperation_TicketCreate'] + | components['schemas']['Internal_XrplOperation_TrustSet'] Internal_XrplOperation_AccountSet: { clearFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] setFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] @@ -5445,6 +5045,19 @@ export interface components { */ type: 'AccountSet' } + Internal_XrplOperation_Batch: { + batchSigners: components['schemas']['Internal_BatchSigner'][] + entries: components['schemas']['Internal_BatchEntry'][] + executionMode: components['schemas']['Internal_Xrpl_BatchExecutionMode'] + /** Format: int64 */ + lastLedgerSequence?: number + sequencing: components['schemas']['Internal_Sequencing'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Batch' + } Internal_XrplOperation_Clawback: { currency: components['schemas']['Internal_XrplClawbackCurrency'] holder: components['schemas']['Internal_TransactionDestination'] @@ -5456,6 +5069,60 @@ export interface components { /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ value: string } + Internal_XrplOperation_ConfidentialMPTClawback: { + cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] + holder: components['schemas']['Internal_TransactionDestination'] + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMPTClawback' + } + Internal_XrplOperation_ConfidentialMPTConvert: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount: string + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMPTConvert' + } + Internal_XrplOperation_ConfidentialMPTConvertBack: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount: string + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMPTConvertBack' + } + Internal_XrplOperation_ConfidentialMPTMergeInbox: { + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMPTMergeInbox' + } + Internal_XrplOperation_ConfidentialMPTSend: { + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + amount?: string + cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] + destination: components['schemas']['Internal_TransactionDestination'] + /** @description Hex encoded string. */ + senderEncryptedBalance?: string + /** Format: int64 */ + senderEncryptedBalanceVersion?: number + tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMPTSend' + } Internal_XrplOperation_DepositPreauth: { authorize?: components['schemas']['Internal_TransactionDestination'] /** @@ -5517,17 +5184,17 @@ export interface components { type: 'MPTokenIssuanceDestroy' } Internal_XrplOperation_MPTokenIssuanceSet: { + auditorEncryptionKey?: string flags: components['schemas']['Internal_Xrpl_MPTokenIssuanceSetFlag'][] holder?: components['schemas']['Internal_TransactionDestination'] + issuerEncryptionKey?: string + mutableFlags: components['schemas']['Internal_Xrpl_MPTokenIssuanceMutableFlag'][] tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: 'MPTokenIssuanceSet' - auditorEncryptionKey?: string - issuerEncryptionKey?: string - mutableFlags?: components['schemas']['Internal_Xrpl_MPTokenIssuanceMutableFlag'][] } Internal_XrplOperation_OfferCreate: { flags: components['schemas']['Internal_Xrpl_OfferCreateFlag'][] @@ -5546,39 +5213,74 @@ export interface components { destination: components['schemas']['Internal_TransactionDestination'] /** Format: int64 */ destinationTag?: number + flags?: components['schemas']['Internal_Xrpl_PaymentFlag'][] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ type: 'Payment' - flags?: components['schemas']['Internal_Xrpl_PaymentFlag'][] } - Internal_XrplOperation_TrustSet: { - enableRippling?: boolean - flags: components['schemas']['Internal_Xrpl_TrustSetFlag'][] - limitAmount: components['schemas']['Internal_Xrpl_LimitAmount'] + Internal_XrplOperation_SponsorshipSetAsSponsee: { + sponsor: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'TrustSet' + type: 'SponsorshipSetAsSponsee' } - Internal_XrplPaymentCurrency: - | components['schemas']['Internal_XrplPaymentCurrency_Currency'] - | components['schemas']['Internal_XrplPaymentCurrency_MultiPurposeToken'] - | components['schemas']['Internal_XrplPaymentCurrency_TickerId'] - Internal_XrplPaymentCurrency_Currency: { - code: string - issuer: string + Internal_XrplOperation_SponsorshipSetAsSponsor: { + /** @description This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + feeAmountDelta?: string + flags: components['schemas']['Internal_Xrpl_SponsorshipSetFlag'][] + /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ + maxFee?: string + /** Format: int32 */ + remainingOwnerCountDelta?: number + sponsee: components['schemas']['Internal_TransactionDestination'] /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'Currency' + type: 'SponsorshipSetAsSponsor' } - Internal_XrplPaymentCurrency_MultiPurposeToken: { - /** @description XRPL MPToken Issuance ID (192-bit integer hex encoded) */ - issuanceId: string + Internal_XrplOperation_TicketCreate: { + /** + * Format: int32 + * @description Number of tickets to create, must be from 1 to 250 + */ + ticketCount: number + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'TicketCreate' + } + Internal_XrplOperation_TrustSet: { + enableRippling?: boolean + flags: components['schemas']['Internal_Xrpl_TrustSetFlag'][] + limitAmount: components['schemas']['Internal_Xrpl_LimitAmount'] + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'TrustSet' + } + Internal_XrplPaymentCurrency: + | components['schemas']['Internal_XrplPaymentCurrency_Currency'] + | components['schemas']['Internal_XrplPaymentCurrency_MultiPurposeToken'] + | components['schemas']['Internal_XrplPaymentCurrency_TickerId'] + Internal_XrplPaymentCurrency_Currency: { + code: string + issuer: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'Currency' + } + Internal_XrplPaymentCurrency_MultiPurposeToken: { + /** @description XRPL MPToken Issuance ID (192-bit integer hex encoded) */ + issuanceId: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} @@ -5594,11 +5296,24 @@ export interface components { */ type: 'TickerId' } + Internal_XrplSponsorshipParams: { + flags: components['schemas']['Internal_Xrpl_SponsorFlag'][] + sponsor: components['schemas']['Internal_TransactionDestination'] + } Internal_XrplTickerProperties: + | components['schemas']['Internal_XrplTickerProperties_ConfidentialMultiPurposeToken'] | components['schemas']['Internal_XrplTickerProperties_FungibleToken'] | components['schemas']['Internal_XrplTickerProperties_MultiPurposeToken'] | components['schemas']['Internal_XrplTickerProperties_Native'] - | components['schemas']['Internal_XrplTickerProperties_ConfidentialMultiPurposeToken'] + Internal_XrplTickerProperties_ConfidentialMultiPurposeToken: { + /** @description XRPL MPToken Issuance ID (192-bit integer hex encoded) */ + issuanceId: string + /** + * @description discriminator enum property added by openapi-typescript + * @enum {string} + */ + type: 'ConfidentialMultiPurposeToken' + } Internal_XrplTickerProperties_FungibleToken: { currencyCode: string issuer: string @@ -5639,6 +5354,9 @@ export interface components { amount: string currency?: components['schemas']['Internal_XrplIouCurrency'] } + /** @enum {string} */ + Internal_Xrpl_BatchExecutionMode: + 'AllOrNothing' | 'OnlyOne' | 'UntilFailure' | 'Independent' Internal_Xrpl_LimitAmount: { currency: components['schemas']['Internal_XrplIouCurrency'] /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ @@ -5677,11 +5395,27 @@ export interface components { | 'tfMPTCanTrade' | 'tfMPTCanConfidentialAmount' /** @enum {string} */ + Internal_Xrpl_MPTokenIssuanceMutableFlag: 'MPTSetCanConfidentialAmount' + /** @enum {string} */ Internal_Xrpl_MPTokenIssuanceSetFlag: 'tfMPTLock' | 'tfMPTUnlock' /** @enum {string} */ Internal_Xrpl_OfferCreateFlag: 'tfImmediateOrCancel' | 'tfFillOrKill' | 'tfSell' /** @enum {string} */ + Internal_Xrpl_PaymentFlag: 'tfSponsorCreatedAccount' + /** + * @description spfSponsorFee sponsors the transaction fee, spfSponsorReserve the owner reserve. spfSponsorReserve is rejected on transaction types for which the ledger does not allow reserve sponsorship (e.g. OfferCreate, TicketCreate, ConfidentialMPT operations) + * @enum {string} + */ + Internal_Xrpl_SponsorFlag: 'spfSponsorFee' | 'spfSponsorReserve' + /** @enum {string} */ + Internal_Xrpl_SponsorshipSetFlag: + | 'tfRequireSignForFee' + | 'tfClearRequireSignForFee' + | 'tfRequireSignForReserve' + | 'tfClearRequireSignForReserve' + | 'tfDeleteObject' + /** @enum {string} */ Internal_Xrpl_TrustSetFlag: 'tfSetFreeze' | 'tfClearFreeze' | 'tfSetfAuth' Internal_v0_AcknowledgeBackup: { /** Format: uuid */ @@ -5701,17 +5435,6 @@ export interface components { */ type: 'v0_AddAccountLedgers' } - Internal_v0_AddProviderKey: { - /** Format: uuid */ - providerId: string - /** Format: base64 */ - publicKey: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'v0_AddProviderKey' - } Internal_v0_AddTrustedPublicKeysForMigration: { /** Format: base64 */ currentCollectionSigningPublicKey: string @@ -5744,30 +5467,13 @@ export interface components { */ type: 'v0_AttemptTransactionOrderCancellation' } - Internal_v0_ConnectProvider: { - alias: string - customProperties: components['schemas']['Internal_StringsMap'] - description?: string - /** Format: uuid */ - id: string - lock: components['schemas']['Internal_LockStatus'] - provider: components['schemas']['Internal_AccountProviderAction'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'v0_ConnectProvider' - } Internal_v0_CreateAccount: { alias: string customProperties: components['schemas']['Internal_StringsMap'] description?: string /** Format: uuid */ id: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ ledgerId?: string ledgerIds?: string[] lock: components['schemas']['Internal_IntentLockStatus'] @@ -5778,34 +5484,7 @@ export interface components { */ type: 'v0_CreateAccount' } - Internal_v0_CreateAccountProviderDetailsPayload: - | components['schemas']['Internal_v0_CreateAccountProviderDetailsPayload_External'] - | components['schemas']['Internal_v0_CreateAccountProviderDetailsPayload_Mco'] - | components['schemas']['Internal_v0_CreateAccountProviderDetailsPayload_Vault'] - Internal_v0_CreateAccountProviderDetailsPayload_External: { - /** Format: uuid */ - locationId: string - /** Format: uuid */ - providerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'External' - } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_v0_CreateAccountProviderDetailsPayload_Mco: { - /** Format: uuid */ - locationId: string - /** Format: uuid */ - providerId: string - subcustodianAccountId?: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Mco' - } + Internal_v0_CreateAccountProviderDetailsPayload: components['schemas']['Internal_v0_CreateAccountProviderDetailsPayload_Vault'] Internal_v0_CreateAccountProviderDetailsPayload_Vault: { keyStrategy: components['schemas']['Internal_AccountKeyStrategy'] /** @@ -5849,11 +5528,6 @@ export interface components { Internal_v0_CreateEndpoint: { address: string alias: string - /** - * @deprecated - * @description Whether an endpoint duplicating the address, ledger and tag of an existing one is accepted. Defaults to true. Deletion target: Oct. 1st 2027 — after this date such an endpoint is always rejected. - */ - allowDuplicate?: boolean customProperties: components['schemas']['Internal_StringsMap'] description?: string /** Format: uuid */ @@ -5941,7 +5615,6 @@ export interface components { id: string /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ maximumFee?: string - memo?: string outputs: components['schemas']['Internal_CreateTransferOrderOutput'][] preferredAddressForChange?: components['schemas']['Internal_PreferredAddressForChange'] /** Format: uuid */ @@ -5959,7 +5632,7 @@ export interface components { /** Format: uuid */ id: string lock: components['schemas']['Internal_IntentLockStatus'] - /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed. */ + /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. */ loginIds?: components['schemas']['Internal_LoginId'][] /** Format: base64 */ publicKey: string @@ -6072,23 +5745,15 @@ export interface components { */ type: 'v0_NotarizeData' } - /** @description **Experimental** (Mco): subject to change until 2026-12-31. */ - Internal_v0_RegisterMcoInstance: { - /** Format: base64 */ - commPubKey: string - customProperties: components['schemas']['Internal_StringsMap'] - description?: string - /** Format: base64 */ - encPubKey: string - /** Format: uuid */ - id: string + Internal_v0_ProvisionElGamalKeyPair: { /** Format: uuid */ - mcoTenantId: string + accountId: string + ledgerId: string /** * @description discriminator enum property added by openapi-typescript * @enum {string} */ - type: 'v0_RegisterMcoInstance' + type: 'v0_ProvisionElGamalKeyPair' } Internal_v0_RegisterTrustedPublicKey: { /** Format: base64 */ @@ -6110,21 +5775,6 @@ export interface components { */ type: 'v0_ReleaseQuarantinedTransfers' } - Internal_v0_RequestDepositInstructions: { - /** Format: uuid */ - accountId: string - customProperties: components['schemas']['Internal_StringsMap'] - description?: string - /** Format: uuid */ - id: string - /** Format: uuid */ - tickerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'v0_RequestDepositInstructions' - } Internal_v0_RewrapVaultKeyMaterial: { customProperties: components['schemas']['Internal_StringsMap'] description?: string @@ -6149,7 +5799,6 @@ export interface components { Internal_v0_SignManifest: { /** Format: uuid */ accountId: string - address?: string content: components['schemas']['Internal_ManifestContent'] customProperties: components['schemas']['Internal_StringsMap'] description?: string @@ -6252,17 +5901,9 @@ export interface components { Internal_v0_UpdateEndpoint: { address: string alias: string - /** - * @deprecated - * @description Whether an endpoint duplicating the address, ledger and tag of an existing one is accepted. Defaults to true. Deletion target: Oct. 1st 2027 — after this date such an endpoint is always rejected. - */ - allowDuplicate?: boolean customProperties: components['schemas']['Internal_StringsMap'] description?: string - /** - * @deprecated - * @description Deletion target: Mar. 31st 2027 - */ + /** @deprecated */ ledgerId?: string parameters?: components['schemas']['Internal_EndpointLedgerParameters'] reference: components['schemas']['Internal_EntityIdAndRevision'] @@ -6323,7 +5964,7 @@ export interface components { alias: string customProperties: components['schemas']['Internal_StringsMap'] description?: string - /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. Required when proposing or dry-running the intent; absent only on intents created before login ids existed. */ + /** @description Domain-unique `loginId`-`loginProviderId` pairs. Must be specified for login and match pre-configured values. */ loginIds?: components['schemas']['Internal_LoginId'][] reference: components['schemas']['Internal_EntityIdAndRevision'] roles: string[] @@ -6356,17 +5997,11 @@ export interface components { Notification_EntityToSign: { entity: Record hash: string - verificationCode?: string - /** @enum {string} */ - verificationCodeMode: 'open' } Notification_ExtendedEntityToSign: { entity: Record hash: string intentContext: Record - verificationCode?: string - /** @enum {string} */ - verificationCodeMode: 'open' } Notification_RegisterMobile: { email: string @@ -6385,13 +6020,6 @@ export interface components { pushToken: string signature: string } - Notification_SecuredUnregisterMobile: { - email: string - nonce: string - publicKey: string - pushToken: string - signature: string - } Notification_SignEntity: { email: string hash: string @@ -6402,6 +6030,9 @@ export interface components { entity: Record hash: string } + Notification_UnregisterDevice: { + pushToken: string + } Web3Connector_ChangeAccount: { ledgerId?: string to: string @@ -6436,684 +6067,61 @@ export interface components { params: string sessionId: string } - Internal_ApiCbInDecryptionStatusResponse: { - decryptedAmount?: string - error?: string - /** Format: uuid */ - id: string - status: string - } - Internal_ApiInitiateCbInDecryptionRequest: { - /** Format: uuid */ - accountId: string - /** Format: uuid */ - domainId: string - issuanceId: string - ledgerId: string - } - Internal_ApiInitiateCbInDecryptionResponse: { - /** Format: uuid */ - id: string - status: string + } + responses: never + parameters: never + requestBodies: never + headers: never + pathItems: never +} +export type $defs = Record +export interface operations { + 'NotificationController.getEntities': { + parameters: { + query?: { + /** @description User alias/loginId/profile from device. Must match Core-user alias or loginId for access control. */ + email?: string + } + header?: never + path?: never + cookie?: never } - Internal_BatchEntry: - | components['schemas']['Internal_BatchEntry_ParticipantOperation'] - | components['schemas']['Internal_BatchEntry_SubmitterOperation'] - Internal_BatchEntry_ParticipantOperation: { - operation: components['schemas']['Internal_BatchInnerOperation'] - participant: components['schemas']['Internal_Participant'] - sequencing: components['schemas']['Internal_ParticipantSequencing'] - sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ParticipantOperation' + requestBody?: never + responses: { + /** @description Successful response */ + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['Notification_EntityToSign'] + 'text/html; charset=utf-8': unknown + } + } + /** @description Bad request */ + 400: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Internal Server error */ + 500: { + headers: { + [name: string]: unknown + } + content?: never + } } - Internal_BatchEntry_SubmitterOperation: { - operation: components['schemas']['Internal_BatchInnerOperation'] - sequencing: components['schemas']['Internal_Sequencing'] - sponsorship?: components['schemas']['Internal_XrplSponsorshipParams'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'SubmitterOperation' - } - Internal_BatchInnerOperation: - | components['schemas']['Internal_BatchInnerOperation_AccountSet'] - | components['schemas']['Internal_BatchInnerOperation_Clawback'] - | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTConvert'] - | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTConvertBack'] - | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTMergeInbox'] - | components['schemas']['Internal_BatchInnerOperation_ConfidentialMPTSend'] - | components['schemas']['Internal_BatchInnerOperation_DepositPreauth'] - | components['schemas']['Internal_BatchInnerOperation_EscrowFinish'] - | components['schemas']['Internal_BatchInnerOperation_MPTokenAuthorize'] - | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceCreate'] - | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceDestroy'] - | components['schemas']['Internal_BatchInnerOperation_MPTokenIssuanceSet'] - | components['schemas']['Internal_BatchInnerOperation_OfferCreate'] - | components['schemas']['Internal_BatchInnerOperation_Payment'] - | components['schemas']['Internal_BatchInnerOperation_TicketCreate'] - | components['schemas']['Internal_BatchInnerOperation_TrustSet'] - Internal_BatchInnerOperation_AccountSet: { - clearFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] - setFlag?: components['schemas']['Internal_Xrpl_AccountSetFlag'] - /** Format: int32 */ - transferRate?: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AccountSet' - } - Internal_BatchInnerOperation_Clawback: { - currency: components['schemas']['Internal_XrplClawbackCurrency'] - holder: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Clawback' - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - value: string - } - Internal_BatchInnerOperation_ConfidentialMPTConvert: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTConvert' - } - Internal_BatchInnerOperation_ConfidentialMPTConvertBack: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTConvertBack' - } - Internal_BatchInnerOperation_ConfidentialMPTMergeInbox: { - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTMergeInbox' - } - Internal_BatchInnerOperation_ConfidentialMPTSend: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount?: string - cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] - destination: components['schemas']['Internal_TransactionDestination'] - /** @description Hex encoded string. */ - senderEncryptedBalance?: string - /** Format: int64 */ - senderEncryptedBalanceVersion?: number - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTSend' - } - Internal_BatchInnerOperation_DepositPreauth: { - authorize?: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'DepositPreauth' - unauthorize?: components['schemas']['Internal_TransactionDestination'] - } - Internal_BatchInnerOperation_EscrowFinish: { - /** @description Hex encoded string. */ - condition?: string - credentialIds?: string[] - /** @description Hex encoded string. */ - fulfillment?: string - /** Format: int64 */ - offerSequence: number - owner: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'EscrowFinish' - } - Internal_BatchInnerOperation_MPTokenAuthorize: { - flags: components['schemas']['Internal_Xrpl_MPTokenAuthorizeFlag'][] - holder?: components['schemas']['Internal_TransactionDestination'] - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'MPTokenAuthorize' - } - Internal_BatchInnerOperation_MPTokenIssuanceCreate: { - /** Format: int32 */ - assetScale?: number - flags: components['schemas']['Internal_Xrpl_MPTokenIssuanceCreateFlag'][] - /** @description This field is a unsigned 64bit integer that can store values in range from 0 to 18446744073709551615.It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - maximumAmount?: string - metadata?: components['schemas']['Internal_MPTokenIssuanceMetadata'] - /** - * Format: int32 - * @description Transfer fee for MultiPurposeToken, must be from 0 to 50000 - */ - transferFee?: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'MPTokenIssuanceCreate' - } - Internal_BatchInnerOperation_MPTokenIssuanceDestroy: { - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'MPTokenIssuanceDestroy' - } - Internal_BatchInnerOperation_MPTokenIssuanceSet: { - auditorEncryptionKey?: string - flags: components['schemas']['Internal_Xrpl_MPTokenIssuanceSetFlag'][] - holder?: components['schemas']['Internal_TransactionDestination'] - issuerEncryptionKey?: string - mutableFlags: components['schemas']['Internal_Xrpl_MPTokenIssuanceMutableFlag'][] - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'MPTokenIssuanceSet' - } - Internal_BatchInnerOperation_OfferCreate: { - flags: components['schemas']['Internal_Xrpl_OfferCreateFlag'][] - takerGets: components['schemas']['Internal_Xrpl_AssetQuantity'] - takerPays: components['schemas']['Internal_Xrpl_AssetQuantity'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'OfferCreate' - } - Internal_BatchInnerOperation_Payment: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - currency?: components['schemas']['Internal_XrplPaymentCurrency'] - destination: components['schemas']['Internal_TransactionDestination'] - /** Format: int64 */ - destinationTag?: number - flags?: components['schemas']['Internal_Xrpl_PaymentFlag'][] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Payment' - } - Internal_BatchInnerOperation_TicketCreate: { - /** - * Format: int32 - * @description Number of tickets to create, must be from 1 to 250 - */ - ticketCount: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'TicketCreate' - } - Internal_BatchInnerOperation_TrustSet: { - enableRippling?: boolean - flags: components['schemas']['Internal_Xrpl_TrustSetFlag'][] - limitAmount: components['schemas']['Internal_Xrpl_LimitAmount'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'TrustSet' - } - Internal_BatchSigner: { - participant: components['schemas']['Internal_Participant'] - /** @description Hex encoded string. */ - publicKey: string - /** @description Hex encoded string. */ - signature: string - } - Internal_CmptCryptographicFields: - | components['schemas']['Internal_CmptCryptographicFields_Clawback'] - | components['schemas']['Internal_CmptCryptographicFields_Convert'] - | components['schemas']['Internal_CmptCryptographicFields_ConvertBack'] - | components['schemas']['Internal_CmptCryptographicFields_Send'] - Internal_CmptCryptographicFields_Clawback: { - /** Format: int64 */ - amount: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Clawback' - /** Format: base64 */ - zkProof: string - } - Internal_CmptCryptographicFields_Convert: { - /** Format: base64 */ - auditorEncryptedAmount?: string - /** Format: base64 */ - blindingFactor: string - /** Format: base64 */ - holderEncryptedAmount: string - /** Format: base64 */ - issuerEncryptedAmount: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Convert' - /** Format: base64 */ - zkProof?: string - } - Internal_CmptCryptographicFields_ConvertBack: { - /** Format: base64 */ - auditorEncryptedAmount?: string - /** Format: base64 */ - balanceCommitment: string - /** Format: base64 */ - blindingFactor: string - /** Format: base64 */ - holderEncryptedAmount: string - /** Format: base64 */ - issuerEncryptedAmount: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConvertBack' - /** Format: base64 */ - zkProof: string - } - Internal_CmptCryptographicFields_Send: { - /** Format: base64 */ - amountCommitment: string - /** Format: base64 */ - auditorEncryptedAmount?: string - /** Format: base64 */ - balanceCommitment: string - /** Format: base64 */ - destinationEncryptedAmount: string - /** Format: base64 */ - issuerEncryptedAmount: string - /** Format: base64 */ - senderEncryptedAmount: string - /** Format: base64 */ - senderEncryptedBalance?: string - /** Format: int64 */ - senderEncryptedBalanceVersion?: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Send' - /** Format: base64 */ - zkProof: string - } - Internal_DecryptCbsPending: { - decryptCbsId: string - signedPayload: string - } - Internal_DecryptCbsPrepared: { - decryptCbsId: string - signedPayload: string - } - Internal_ElGamalKeyProvisioned: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ElGamalKeyProvisioned' - } - Internal_ElGamalKeyProvisioningFailed: { - /** Format: uuid */ - id: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ElGamalKeyProvisioningFailed' - } - /** @enum {string} */ - Internal_KeyPurpose: 'ElGamal' - Internal_ParametersComputePending: { - parametersId: string - signedPayload: string - } - Internal_ParametersComputePrepared: { - parametersId: string - signedPayload: string - } - Internal_Participant: - | components['schemas']['Internal_Participant_Account'] - | components['schemas']['Internal_Participant_Address'] - | components['schemas']['Internal_Participant_Endpoint'] - Internal_ParticipantSequencing: - | components['schemas']['Internal_ParticipantSequencing_AccountSequence'] - | components['schemas']['Internal_ParticipantSequencing_Ticket'] - Internal_ParticipantSequencing_AccountSequence: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AccountSequence' - /** Format: int64 */ - value: number - } - Internal_ParticipantSequencing_Ticket: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Ticket' - /** Format: int64 */ - value: number - } - Internal_Participant_Account: { - /** Format: uuid */ - accountId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Account' - } - Internal_Participant_Address: { - address: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Address' - } - Internal_Participant_Endpoint: { - /** Format: uuid */ - endpointId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Endpoint' - } - Internal_PurposeKey: { - ledgerId: string - /** Format: base64 */ - publicKey: string - purpose: components['schemas']['Internal_KeyPurpose'] - } - Internal_Sequencing: - | components['schemas']['Internal_Sequencing_AccountSequence'] - | components['schemas']['Internal_Sequencing_PlatformManaged'] - | components['schemas']['Internal_Sequencing_Ticket'] - Internal_Sequencing_AccountSequence: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'AccountSequence' - /** Format: int64 */ - value: number - } - Internal_Sequencing_PlatformManaged: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'PlatformManaged' - } - Internal_Sequencing_Ticket: { - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Ticket' - /** Format: int64 */ - value: number - } - Internal_Service: { - custodyRoles: string[] - subject: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Internal_Service' - } - Internal_TrustedUsersCollection: { - /** Format: int32 */ - count: number - currentStartingAfter?: string - items: components['schemas']['Internal_TrustedUser'][] - nextStartingAfter?: string - } - Internal_User1: { - reference: components['schemas']['Internal_UserReference'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Internal_User1' - } - Internal_XrplOperation_Batch: { - batchSigners: components['schemas']['Internal_BatchSigner'][] - entries: components['schemas']['Internal_BatchEntry'][] - executionMode: components['schemas']['Internal_Xrpl_BatchExecutionMode'] - /** Format: int64 */ - lastLedgerSequence?: number - sequencing: components['schemas']['Internal_Sequencing'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'Batch' - } - Internal_XrplOperation_ConfidentialMPTClawback: { - cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] - holder: components['schemas']['Internal_TransactionDestination'] - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTClawback' - } - Internal_XrplOperation_ConfidentialMPTConvert: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTConvert' - } - Internal_XrplOperation_ConfidentialMPTConvertBack: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount: string - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTConvertBack' - } - Internal_XrplOperation_ConfidentialMPTMergeInbox: { - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTMergeInbox' - } - Internal_XrplOperation_ConfidentialMPTSend: { - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - amount?: string - cryptographicFields?: components['schemas']['Internal_CmptCryptographicFields'] - destination: components['schemas']['Internal_TransactionDestination'] - /** @description Hex encoded string. */ - senderEncryptedBalance?: string - /** Format: int64 */ - senderEncryptedBalanceVersion?: number - tokenIdentifier: components['schemas']['Internal_Xrpl_MPTokenIdentifier'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMPTSend' - } - Internal_XrplOperation_SponsorshipSetAsSponsee: { - sponsor: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'SponsorshipSetAsSponsee' - } - Internal_XrplOperation_SponsorshipSetAsSponsor: { - /** @description This field is a large integer and represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - feeAmountDelta?: string - flags: components['schemas']['Internal_Xrpl_SponsorshipSetFlag'][] - /** @description This field is a large integer that can be positive or zero. It is represented as a string because it may contain value that cannot be expressed with JSON number without a loss of precision. */ - maxFee?: string - /** Format: int32 */ - remainingOwnerCountDelta?: number - sponsee: components['schemas']['Internal_TransactionDestination'] - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'SponsorshipSetAsSponsor' - } - Internal_XrplOperation_TicketCreate: { - /** - * Format: int32 - * @description Number of tickets to create, must be from 1 to 250 - */ - ticketCount: number - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'TicketCreate' - } - Internal_XrplSponsorshipParams: { - flags: components['schemas']['Internal_Xrpl_SponsorFlag'][] - sponsor: components['schemas']['Internal_TransactionDestination'] - } - Internal_XrplTickerProperties_ConfidentialMultiPurposeToken: { - /** @description XRPL MPToken Issuance ID (192-bit integer hex encoded) */ - issuanceId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'ConfidentialMultiPurposeToken' - } - /** @enum {string} */ - Internal_Xrpl_BatchExecutionMode: - 'AllOrNothing' | 'OnlyOne' | 'UntilFailure' | 'Independent' - /** @enum {string} */ - Internal_Xrpl_MPTokenIssuanceMutableFlag: 'MPTSetCanConfidentialAmount' - /** @enum {string} */ - Internal_Xrpl_PaymentFlag: 'tfSponsorCreatedAccount' - /** - * @description spfSponsorFee sponsors the transaction fee, spfSponsorReserve the owner reserve. spfSponsorReserve is rejected on transaction types for which the ledger does not allow reserve sponsorship (e.g. OfferCreate, TicketCreate, ConfidentialMPT operations) - * @enum {string} - */ - Internal_Xrpl_SponsorFlag: 'spfSponsorFee' | 'spfSponsorReserve' - /** @enum {string} */ - Internal_Xrpl_SponsorshipSetFlag: - | 'tfRequireSignForFee' - | 'tfClearRequireSignForFee' - | 'tfRequireSignForReserve' - | 'tfClearRequireSignForReserve' - | 'tfDeleteObject' - Internal_v0_ProvisionElGamalKeyPair: { - /** Format: uuid */ - accountId: string - ledgerId: string - /** - * @description discriminator enum property added by openapi-typescript - * @enum {string} - */ - type: 'v0_ProvisionElGamalKeyPair' - } - Notification_UnregisterDevice: { - pushToken: string - } - } - responses: never - parameters: never - requestBodies: never - headers: never - pathItems: never -} -export type $defs = Record -export interface operations { - 'NotificationController.getEntities': { - parameters: { - query?: { - /** @description User alias/loginId/profile from device. Must match Core-user alias or loginId for access control. */ - email?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Notification_EntityToSign'][] - 'text/html; charset=utf-8': unknown - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - 'NotificationController.getEntity': { - parameters: { - query?: never - header?: never - path: { - hash: string - } - cookie?: never + } + 'NotificationController.getEntity': { + parameters: { + query?: never + header?: never + path: { + hash: string + } + cookie?: never } requestBody?: never responses: { @@ -7127,20 +6135,13 @@ export interface operations { 'text/html; charset=utf-8': unknown } } - /** @description Malformed hash */ + /** @description Bad request */ 400: { headers: { [name: string]: unknown } content?: never } - /** @description No such entity */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } /** @description Internal Server error */ 500: { headers: { @@ -7167,11 +6168,11 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': unknown + 'application/json': components['schemas']['Notification_EntityToSign'] 'text/html; charset=utf-8': unknown } } - /** @description Malformed hash */ + /** @description Bad request */ 400: { headers: { [name: string]: unknown @@ -7192,96 +6193,11 @@ export interface operations { query?: never header?: never path: { - hash: string - } - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Notification_ResponseSignature'] - 'text/html; charset=utf-8': unknown - } - } - /** @description Malformed hash */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Signature not found */ - 404: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - 'NotificationController.getNonce': { - parameters: { - query?: { - email?: string - publicKey?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - /** @description Successful response */ - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': unknown - 'text/html; charset=utf-8': unknown - } - } - /** @description Bad request */ - 400: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Internal Server error */ - 500: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - 'NotificationController.registerMobile': { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - /** @description RegisterMobile */ - requestBody?: { - content: { - 'application/json': components['schemas']['Notification_RegisterMobile'] + hash: string } + cookie?: never } + requestBody?: never responses: { /** @description Successful response */ 200: { @@ -7289,7 +6205,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': unknown + 'application/json': components['schemas']['Notification_ResponseSignature'] 'text/html; charset=utf-8': unknown } } @@ -7300,6 +6216,13 @@ export interface operations { } content?: never } + /** @description Signature not found */ + 404: { + headers: { + [name: string]: unknown + } + content?: never + } /** @description Internal Server error */ 500: { headers: { @@ -7309,19 +6232,17 @@ export interface operations { } } } - 'NotificationController.securedRegisterMobile': { + 'NotificationController.getNonce': { parameters: { - query?: never + query?: { + email?: string + publicKey?: string + } header?: never path?: never cookie?: never } - /** @description SecuredRegisterMobile */ - requestBody?: { - content: { - 'application/json': components['schemas']['Notification_SecuredRegisterMobile'] - } - } + requestBody?: never responses: { /** @description Successful response */ 200: { @@ -7340,13 +6261,6 @@ export interface operations { } content?: never } - /** @description null */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } /** @description Internal Server error */ 500: { headers: { @@ -7356,17 +6270,17 @@ export interface operations { } } } - 'NotificationController.securedUnregisterMobile': { + 'NotificationController.registerMobile': { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description SecuredUnregisterMobile */ + /** @description RegisterMobile */ requestBody?: { content: { - 'application/json': components['schemas']['Notification_SecuredUnregisterMobile'] + 'application/json': components['schemas']['Notification_RegisterMobile'] } } responses: { @@ -7387,13 +6301,6 @@ export interface operations { } content?: never } - /** @description Invalid signature, nonce or user */ - 401: { - headers: { - [name: string]: unknown - } - content?: never - } /** @description Internal Server error */ 500: { headers: { @@ -7401,36 +6308,27 @@ export interface operations { } content?: never } - /** @description The user directory could not be reached, retry */ - 503: { - headers: { - [name: string]: unknown - } - content?: never - } } } - 'NotificationController.signWeb': { + 'NotificationController.registerWebClient': { parameters: { - query?: never + query?: { + email?: string + } header?: never path?: never cookie?: never } - /** @description SignWeb */ - requestBody?: { - content: { - 'application/json': components['schemas']['Notification_SignWeb'] - } - } + requestBody?: never responses: { /** @description Successful response */ 200: { headers: { + Connection?: 'keep-alive' [name: string]: unknown } content: { - 'application/json': unknown + 'text/event-stream': unknown 'text/html; charset=utf-8': unknown } } @@ -7448,19 +6346,14 @@ export interface operations { } content?: never } - /** @description The caller does not own the requested alias */ + /** @description Could not found signing device for this email. */ 403: { headers: { [name: string]: unknown } - content?: never - } - /** @description Hash already proposed by another user */ - 404: { - headers: { - [name: string]: unknown + content: { + 'application/json': unknown } - content?: never } /** @description Internal Server error */ 500: { @@ -7471,17 +6364,17 @@ export interface operations { } } } - 'NotificationController.sendSignatureToWeb': { + 'NotificationController.securedRegisterMobile': { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description SignEntity */ + /** @description SecuredRegisterMobile */ requestBody?: { content: { - 'application/json': components['schemas']['Notification_SignEntity'] + 'application/json': components['schemas']['Notification_SecuredRegisterMobile'] } } responses: { @@ -7502,7 +6395,7 @@ export interface operations { } content?: never } - /** @description Signature verification failed */ + /** @description null */ 401: { headers: { [name: string]: unknown @@ -7516,231 +6409,138 @@ export interface operations { } content?: never } - /** @description The user directory could not be reached, retry */ - 503: { - headers: { - [name: string]: unknown - } - content?: never - } - } - } - getPendingAccounts: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_AccountPending'][] - } - } - default: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } } } - postPendingAccount: { + 'NotificationController.signWeb': { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed pending account. */ - requestBody: { + /** @description SignWeb */ + requestBody?: { content: { - 'application/json': components['schemas']['Internal_SignedAccountPending'] + 'application/json': components['schemas']['Notification_SignWeb'] } } responses: { + /** @description Successful response */ 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Domain locked (DomainLockedError) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description Invalid signature (InvalidSignatureError) */ - 401: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'application/json': unknown + 'text/html; charset=utf-8': unknown } } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { + /** @description Push notification not sent */ + 202: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } - } - } - getPendingBackups: { - parameters: { - query?: never - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { + /** @description Bad request */ + 400: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_BackupPending'][] - } + content?: never } - default: { + /** @description Internal Server error */ + 500: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } } } - postPreparedBackup: { + 'NotificationController.sendSignatureToWeb': { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed prepared backup. */ - requestBody: { + /** @description SignEntity */ + requestBody?: { content: { - 'application/json': components['schemas']['Internal_BackupPrepared'] + 'application/json': components['schemas']['Notification_SignEntity'] } } responses: { + /** @description Successful response */ 200: { - headers: { - [name: string]: unknown - } - content?: never - } - /** @description Domain locked (DomainLockedError) */ - 400: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'application/json': unknown + 'text/html; charset=utf-8': unknown } } - /** @description Invalid signature (InvalidSignatureError) */ - 401: { + /** @description Bad request */ + 400: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { + /** @description Internal Server error */ + 500: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } } } - queryAccountsBalances: { + 'NotificationController.unregisterMobile': { parameters: { query?: never header?: never - path: { - domainId: string - } + path?: never cookie?: never } - requestBody: { + /** @description UnregisterDevice */ + requestBody?: { content: { - 'application/json': components['schemas']['Internal_AccountsBalancesQuery'] + 'application/json': components['schemas']['Notification_UnregisterDevice'] } } responses: { + /** @description Successful response */ 200: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_AccountsBalancesQueryResult'] + 'application/json': unknown + 'text/html; charset=utf-8': unknown } } - /** @description Invalid request (InvalidRequestError) */ + /** @description Bad request */ 400: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } - } - } - getAllEvents: { - parameters: { - query?: { - /** @description The number of entities to return. */ - limit?: number - /** @description Entity id used to the determine beginning of query results. */ - startingAfter?: string - /** @description Property name used to sort the query results. */ - sortBy?: 'sequenceNumber' - /** @description Sort order applied to the query results. */ - sortOrder?: components['schemas']['Internal_SortOrder'] + /** @description Internal Server error */ + 500: { + headers: { + [name: string]: unknown + } + content?: never } + } + } + getPendingAccounts: { + parameters: { + query?: never header?: never path?: never cookie?: never @@ -7752,20 +6552,10 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_EventsCollection'] - } - } - /** @description Invalid value for: query parameter limit, Invalid value for: query parameter startingAfter, Invalid value for: query parameter sortBy, Invalid value for: query parameter sortOrder */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'text/plain': string + 'application/json': components['schemas']['Internal_AccountPending'][] } } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { + default: { headers: { [name: string]: unknown } @@ -7775,16 +6565,17 @@ export interface operations { } } } - intentContext: { + postPendingAccount: { parameters: { query?: never header?: never path?: never cookie?: never } + /** @description A signed pending account. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_UserRequestPayload'] + 'application/json': components['schemas']['Internal_SignedAccountPending'] } } responses: { @@ -7792,21 +6583,19 @@ export interface operations { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_IntentContextResponse'] - } + content?: never } - /** @description Invalid value for: body */ + /** @description Domain locked (DomainLockedError) */ 400: { headers: { [name: string]: unknown } content: { - 'text/plain': string + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } @@ -7816,7 +6605,7 @@ export interface operations { } } } - getPendingManifests: { + getPendingBackups: { parameters: { query?: never header?: never @@ -7830,7 +6619,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ManifestPending'][] + 'application/json': components['schemas']['Internal_BackupPending'][] } } default: { @@ -7843,17 +6632,17 @@ export interface operations { } } } - postPendingManifest: { + postPreparedBackup: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed pending manifest. */ + /** @description A signed prepared backup. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_SignedManifestPending'] + 'application/json': components['schemas']['Internal_BackupPrepared'] } } responses: { @@ -7872,15 +6661,6 @@ export interface operations { 'application/json': components['schemas']['Internal_ErrorMessage'] } } - /** @description Invalid signature (InvalidSignatureError) */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } /** @description Entity or Domain not found (EntityNotFoundError) */ 404: { headers: { @@ -7892,82 +6672,89 @@ export interface operations { } } } - getConnectedSession: { + initiateCbInDecryption: { parameters: { - query?: { - accountId?: string - ledgerId?: string - dAppName?: string - name?: string - connectedAccountIds?: string[] - 'connectedOn.lt'?: string - 'connectedOn.gt'?: string - sortBy?: 'name' | 'lastActivity' - sortOrder?: 'ASC' | 'DESC' - } + query?: never header?: never - path: { - domainId: string - } + path?: never cookie?: never } - requestBody?: never + requestBody: { + content: { + 'application/json': components['schemas']['Internal_ApiInitiateCbInDecryptionRequest'] + } + } responses: { - 200: { + 202: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Web3Connector_Session'][] + 'application/json': components['schemas']['Internal_ApiInitiateCbInDecryptionResponse'] + } + } + /** @description Invalid value for: body */ + 400: { + headers: { + [name: string]: unknown + } + content: { + 'text/plain': string + } + } + default: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] } } } } - postConnect: { + getCbInDecryptionStatus: { parameters: { query?: never header?: never path: { - domainId: string + requestId: string } cookie?: never } - requestBody: { - content: { - 'application/json': components['schemas']['Web3Connector_ConnectAccount'] - } - } + requestBody?: never responses: { - 201: { + 200: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Web3Connector_Session'] + 'application/json': components['schemas']['Internal_ApiCbInDecryptionStatusResponse'] } } + /** @description Invalid value for: path parameter requestId */ 400: { headers: { [name: string]: unknown } - content?: never + content: { + 'text/plain': string + } } - 408: { + default: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } } } - getDAppDetails: { + getPendingDecryptCbs: { parameters: { query?: never header?: never - path: { - domainId: string - sessionId: string - } + path?: never cookie?: never } requestBody?: never @@ -7977,61 +6764,72 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Web3Connector_Session'] + 'application/json': components['schemas']['Internal_DecryptCbsPending'][] } } - 404: { + default: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } } } - postApproveSession: { + postDecryptCbsResponse: { parameters: { query?: never header?: never - path: { - domainId: string - sessionId: string - } + path?: never cookie?: never } + /** @description A signed CBS decryption response. */ requestBody: { content: { - 'application/json': components['schemas']['Web3Connector_SessionApproval'] + 'application/json': components['schemas']['Internal_DecryptCbsPrepared'] } } responses: { - 204: { + 200: { headers: { [name: string]: unknown } content?: never } + /** @description Invalid value for: body */ 400: { headers: { [name: string]: unknown } - content?: never + content: { + 'text/plain': string + } } - 408: { + default: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } } } - deleteDisconnect: { + getAllEvents: { parameters: { - query?: never - header?: never - path: { - domainId: string - sessionId: string + query?: { + /** @description The number of entities to return. */ + limit?: number + /** @description Entity id used to the determine beginning of query results. */ + startingAfter?: string + /** @description Property name used to sort the query results. */ + sortBy?: 'sequenceNumber' + /** @description Sort order applied to the query results. */ + sortOrder?: components['schemas']['Internal_SortOrder'] } + header?: never + path?: never cookie?: never } requestBody?: never @@ -8040,71 +6838,58 @@ export interface operations { headers: { [name: string]: unknown } - content?: never - } - } - } - postChangeAccount: { - parameters: { - query?: never - header?: never - path: { - domainId: string - sessionId: string - } - cookie?: never - } - requestBody: { - content: { - 'application/json': components['schemas']['Web3Connector_ChangeAccount'] + content: { + 'application/json': components['schemas']['Internal_EventsCollection'] + } } - } - responses: { + /** @description Invalid value for: query parameter limit, Invalid value for: query parameter startingAfter, Invalid value for: query parameter sortBy, Invalid value for: query parameter sortOrder */ 400: { headers: { [name: string]: unknown } - content?: never - } - } - } - getSessionEvents: { - parameters: { - query?: never - header?: never - path: { - domainId: string - sessionId: string + content: { + 'text/plain': string + } } - cookie?: never - } - requestBody?: never - responses: { - 200: { + /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ + 401: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Web3Connector_SessionEvent'][] + 'application/json': components['schemas']['Internal_ErrorMessage'] } } } } - getLarPhase1MigrationSanityCheck: { + intentContext: { parameters: { query?: never header?: never path?: never cookie?: never } - requestBody?: never + requestBody: { + content: { + 'application/json': components['schemas']['Internal_UserRequestPayload'] + } + } responses: { 200: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_LarPhase1MigrationSanityCheck'] + 'application/json': components['schemas']['Internal_IntentContextResponse'] + } + } + /** @description Invalid value for: body */ + 400: { + headers: { + [name: string]: unknown + } + content: { + 'text/plain': string } } /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ @@ -8118,7 +6903,7 @@ export interface operations { } } } - getPendingRewraps: { + getPendingManifests: { parameters: { query?: never header?: never @@ -8132,7 +6917,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_RewrapPending'][] + 'application/json': components['schemas']['Internal_ManifestPending'][] } } default: { @@ -8145,17 +6930,17 @@ export interface operations { } } } - postPreparedRewrap: { + postPendingManifest: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed prepared rewrap. */ + /** @description A signed pending manifest. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_RewrapPrepared'] + 'application/json': components['schemas']['Internal_SignedManifestPending'] } } responses: { @@ -8165,17 +6950,8 @@ export interface operations { } content?: never } - /** @description Invalid value for: body */ + /** @description Domain locked (DomainLockedError) */ 400: { - headers: { - [name: string]: unknown - } - content: { - 'text/plain': string - } - } - /** @description Invalid signature (InvalidSignatureError) */ - 401: { headers: { [name: string]: unknown } @@ -8194,11 +6970,23 @@ export interface operations { } } } - getExampleContextV0: { + getConnectedSession: { parameters: { - query?: never + query?: { + accountId?: string + ledgerId?: string + dAppName?: string + name?: string + connectedAccountIds?: string[] + 'connectedOn.lt'?: string + 'connectedOn.gt'?: string + sortBy?: 'name' | 'lastActivity' + sortOrder?: 'ASC' | 'DESC' + } header?: never - path?: never + path: { + domainId: string + } cookie?: never } requestBody?: never @@ -8208,131 +6996,120 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_EvaluationContext'] - } - } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'application/json': components['schemas']['Web3Connector_Session'][] } } } } - getTransactionBlocker: { + postConnect: { parameters: { query?: never header?: never path: { - transactionId: string + domainId: string } cookie?: never } - requestBody?: never + requestBody: { + content: { + 'application/json': components['schemas']['Web3Connector_ConnectAccount'] + } + } responses: { - 200: { + 201: { headers: { [name: string]: unknown } content: { - 'application/json': string + 'application/json': components['schemas']['Web3Connector_Session'] } } - /** @description Invalid value for: path parameter transactionId */ 400: { headers: { [name: string]: unknown } - content: { - 'text/plain': string + content?: never + } + 408: { + headers: { + [name: string]: unknown } + content?: never } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { + } + } + getDAppDetails: { + parameters: { + query?: never + header?: never + path: { + domainId: string + sessionId: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'application/json': components['schemas']['Web3Connector_Session'] } } - /** @description Entity or Domain not found (EntityNotFoundError) */ 404: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } } } - postTransactionInterruption: { + postApproveSession: { parameters: { query?: never header?: never - path?: never + path: { + domainId: string + sessionId: string + } cookie?: never } - /** @description A transaction to interrupt. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_AttemptInterruptTransaction'] + 'application/json': components['schemas']['Web3Connector_SessionApproval'] } } responses: { - 200: { + 204: { headers: { [name: string]: unknown } content?: never } - /** @description Invalid request (InvalidRequestError) */ 400: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } - /** @description Transaction cannot be interrupted (TransactionCannotBeInterrupted) */ - 409: { + 408: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } } } - getPendingTransactions: { + deleteDisconnect: { parameters: { query?: never header?: never - path?: never + path: { + domainId: string + sessionId: string + } cookie?: never } requestBody?: never @@ -8341,61 +7118,57 @@ export interface operations { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_TransactionPending'][] - } - } - default: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + content?: never } } } - postPendingTransaction: { + postChangeAccount: { parameters: { query?: never header?: never - path?: never + path: { + domainId: string + sessionId: string + } cookie?: never } - /** @description A pending transaction. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_SubmittedTransactionPending'] + 'application/json': components['schemas']['Web3Connector_ChangeAccount'] } } responses: { - 200: { + 400: { headers: { [name: string]: unknown } content?: never } - /** @description Domain locked (DomainLockedError) */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } + } + } + getSessionEvents: { + parameters: { + query?: never + header?: never + path: { + domainId: string + sessionId: string } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { + cookie?: never + } + requestBody?: never + responses: { + 200: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'application/json': components['schemas']['Web3Connector_SessionEvent'][] } } } } - getPreparedTransactions: { + getPendingParametersComputes: { parameters: { query?: never header?: never @@ -8409,7 +7182,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_TransactionPrepared'][] + 'application/json': components['schemas']['Internal_ParametersComputePending'][] } } default: { @@ -8422,17 +7195,17 @@ export interface operations { } } } - postPreparedTransaction: { + postParametersComputeResponse: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A prepared transaction. */ + /** @description A signed cMPT parameter computation response. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_SubmittedTransactionPrepared'] + 'application/json': components['schemas']['Internal_ParametersComputePrepared'] } } responses: { @@ -8442,17 +7215,16 @@ export interface operations { } content?: never } - /** @description Domain locked (DomainLockedError) */ + /** @description Invalid value for: body */ 400: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'text/plain': string } } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { + default: { headers: { [name: string]: unknown } @@ -8462,7 +7234,7 @@ export interface operations { } } } - getUsersConflicts: { + getPendingRewraps: { parameters: { query?: never header?: never @@ -8476,7 +7248,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_UsersConflicts'] + 'application/json': components['schemas']['Internal_RewrapPending'][] } } default: { @@ -8489,60 +7261,17 @@ export interface operations { } } } - getCurrentVault: { - parameters: { - query?: { - /** @description Vault API Version asking */ - vaultApiVersion?: string - } - header?: never - path?: never - cookie?: never - } - requestBody?: never - responses: { - 200: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_CurrentVault'] - } - } - /** @description Invalid value for: query parameter vaultApiVersion */ - 400: { - headers: { - [name: string]: unknown - } - content: { - 'text/plain': string - } - } - /** @description Entity or Domain not found (EntityNotFoundError) */ - 404: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - } - } - postPendingVault: { + postPreparedRewrap: { parameters: { - query?: { - /** @description Vault API Version asking */ - vaultApiVersion?: string - } + query?: never header?: never path?: never cookie?: never } - /** @description A signed pending vault. */ + /** @description A signed prepared rewrap. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_SignedVaultPending'] + 'application/json': components['schemas']['Internal_RewrapPrepared'] } } responses: { @@ -8552,22 +7281,13 @@ export interface operations { } content?: never } - /** @description Domain locked (DomainLockedError) */ + /** @description Invalid value for: body */ 400: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] - } - } - /** @description Invalid signature (InvalidSignatureError) */ - 401: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ErrorMessage'] + 'text/plain': string } } /** @description Entity or Domain not found (EntityNotFoundError) */ @@ -8581,128 +7301,137 @@ export interface operations { } } } - 'NotificationController.registerWebClient': { + getExampleContextV0: { parameters: { - query?: { - email?: string - } + query?: never header?: never path?: never cookie?: never } requestBody?: never responses: { - /** @description Successful response */ 200: { headers: { - Connection?: 'keep-alive' [name: string]: unknown } content: { - 'text/event-stream': unknown - 'text/html; charset=utf-8': unknown + 'application/json': components['schemas']['Internal_EvaluationContext'] } } - /** @description Push notification not sent */ - 202: { + } + } + getTransactionBlocker: { + parameters: { + query?: never + header?: never + path: { + transactionId: string + } + cookie?: never + } + requestBody?: never + responses: { + 200: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': string + } } - /** @description Bad request */ + /** @description Invalid value for: path parameter transactionId */ 400: { headers: { [name: string]: unknown } - content?: never + content: { + 'text/plain': string + } } - /** @description Could not found signing device for this email. */ - 403: { + /** @description One of: Invalid JWT (InvalidJwtError); User not authorized (PermissionDeniedError) */ + 401: { headers: { [name: string]: unknown } content: { - 'application/json': unknown + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - /** @description Internal Server error */ - 500: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } } } - 'NotificationController.unregisterMobile': { + postTransactionInterruption: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description UnregisterDevice */ - requestBody?: { + /** @description A transaction to interrupt. */ + requestBody: { content: { - 'application/json': components['schemas']['Notification_UnregisterDevice'] + 'application/json': components['schemas']['Internal_AttemptInterruptTransaction'] } } responses: { - /** @description Successful response */ 200: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Invalid request (InvalidRequestError) */ + 400: { headers: { [name: string]: unknown } content: { - 'application/json': unknown - 'text/html; charset=utf-8': unknown + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - /** @description Bad request */ - 400: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } - /** @description Internal Server error */ - 500: { + /** @description Transaction cannot be interrupted (TransactionCannotBeInterrupted) */ + 409: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } } } } - initiateCbInDecryption: { + getPendingTransactions: { parameters: { query?: never header?: never path?: never cookie?: never } - requestBody: { - content: { - 'application/json': components['schemas']['Internal_ApiInitiateCbInDecryptionRequest'] - } - } + requestBody?: never responses: { - 202: { - headers: { - [name: string]: unknown - } - content: { - 'application/json': components['schemas']['Internal_ApiInitiateCbInDecryptionResponse'] - } - } - /** @description Invalid value for: body */ - 400: { + 200: { headers: { [name: string]: unknown } content: { - 'text/plain': string + 'application/json': components['schemas']['Internal_TransactionPending'][] } } default: { @@ -8715,35 +7444,37 @@ export interface operations { } } } - getCbInDecryptionStatus: { + postPendingTransaction: { parameters: { query?: never header?: never - path: { - requestId: string - } + path?: never cookie?: never } - requestBody?: never + /** @description A pending transaction. */ + requestBody: { + content: { + 'application/json': components['schemas']['Internal_SubmittedTransactionPending'] + } + } responses: { 200: { headers: { [name: string]: unknown } - content: { - 'application/json': components['schemas']['Internal_ApiCbInDecryptionStatusResponse'] - } + content?: never } - /** @description Invalid value for: path parameter requestId */ + /** @description Domain locked (DomainLockedError) */ 400: { headers: { [name: string]: unknown } content: { - 'text/plain': string + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - default: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } @@ -8753,7 +7484,7 @@ export interface operations { } } } - getPendingDecryptCbs: { + getPreparedTransactions: { parameters: { query?: never header?: never @@ -8767,7 +7498,7 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_DecryptCbsPending'][] + 'application/json': components['schemas']['Internal_TransactionPrepared'][] } } default: { @@ -8780,17 +7511,17 @@ export interface operations { } } } - postDecryptCbsResponse: { + postPreparedTransaction: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed CBS decryption response. */ + /** @description A prepared transaction. */ requestBody: { content: { - 'application/json': components['schemas']['Internal_DecryptCbsPrepared'] + 'application/json': components['schemas']['Internal_SubmittedTransactionPrepared'] } } responses: { @@ -8800,16 +7531,17 @@ export interface operations { } content?: never } - /** @description Invalid value for: body */ + /** @description Domain locked (DomainLockedError) */ 400: { headers: { [name: string]: unknown } content: { - 'text/plain': string + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - default: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } @@ -8819,9 +7551,18 @@ export interface operations { } } } - getPendingParametersComputes: { + getUsers: { parameters: { - query?: never + query?: { + /** @description Return entities matching given alias. */ + alias?: string + /** @description Return entities matching given public key. */ + publicKey?: string + /** @description Return entities matching given loginId. */ + loginId?: string + /** @description Return entities matching given loginProviderId. */ + loginProviderId?: string + } header?: never path?: never cookie?: never @@ -8833,10 +7574,11 @@ export interface operations { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_ParametersComputePending'][] + 'application/json': components['schemas']['Internal_TrustedUsersCollection'] } } - default: { + /** @description Invalid request (InvalidRequestError) */ + 400: { headers: { [name: string]: unknown } @@ -8846,27 +7588,54 @@ export interface operations { } } } - postParametersComputeResponse: { + getUsersConflicts: { parameters: { query?: never header?: never path?: never cookie?: never } - /** @description A signed cMPT parameter computation response. */ - requestBody: { - content: { - 'application/json': components['schemas']['Internal_ParametersComputePrepared'] + requestBody?: never + responses: { + 200: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['Internal_UsersConflicts'] + } + } + default: { + headers: { + [name: string]: unknown + } + content: { + 'application/json': components['schemas']['Internal_ErrorMessage'] + } + } + } + } + getCurrentVault: { + parameters: { + query?: { + /** @description Vault API Version asking */ + vaultApiVersion?: string } + header?: never + path?: never + cookie?: never } + requestBody?: never responses: { 200: { headers: { [name: string]: unknown } - content?: never + content: { + 'application/json': components['schemas']['Internal_CurrentVault'] + } } - /** @description Invalid value for: body */ + /** @description Invalid value for: query parameter vaultApiVersion */ 400: { headers: { [name: string]: unknown @@ -8875,7 +7644,8 @@ export interface operations { 'text/plain': string } } - default: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } @@ -8885,34 +7655,40 @@ export interface operations { } } } - getUsers: { + postPendingVault: { parameters: { query?: { - /** @description Return entities matching given alias. */ - alias?: string - /** @description Return entities matching given public key. */ - publicKey?: string - /** @description Return entities matching given loginId. */ - loginId?: string - /** @description Return entities matching given loginProviderId. */ - loginProviderId?: string + /** @description Vault API Version asking */ + vaultApiVersion?: string } header?: never path?: never cookie?: never } - requestBody?: never + /** @description A signed pending vault. */ + requestBody: { + content: { + 'application/json': components['schemas']['Internal_SignedVaultPending'] + } + } responses: { 200: { + headers: { + [name: string]: unknown + } + content?: never + } + /** @description Domain locked (DomainLockedError) */ + 400: { headers: { [name: string]: unknown } content: { - 'application/json': components['schemas']['Internal_TrustedUsersCollection'] + 'application/json': components['schemas']['Internal_ErrorMessage'] } } - /** @description Invalid request (InvalidRequestError) */ - 400: { + /** @description Entity or Domain not found (EntityNotFoundError) */ + 404: { headers: { [name: string]: unknown } diff --git a/src/ports/logger.ts b/src/ports/logger.ts index de6dcc2..6b22821 100644 --- a/src/ports/logger.ts +++ b/src/ports/logger.ts @@ -36,11 +36,20 @@ export const REDACTED_FIELDS: readonly string[] = [ 'privateKeyPem', 'private_key', 'seed', + 'encryptedSeed', 'mnemonic', // API credentials. 'apiKey', 'clientSecret', 'client_secret', + 'secret', + 'password', + 'passphrase', + // A signed login challenge: the SDK picks the challenge, so the pair is + // exchangeable for a token. (Masks intent-envelope signatures too, which + // are harmless either way.) + 'challenge', + 'signature', // Bearer tokens, and the header that carries them. 'accessToken', 'access_token', diff --git a/test/unit/custodians/http-logging.test.ts b/test/unit/custodians/http-logging.test.ts index 4fb9c1f..355eda4 100644 --- a/test/unit/custodians/http-logging.test.ts +++ b/test/unit/custodians/http-logging.test.ts @@ -187,6 +187,64 @@ describe('withHttpLogging', () => { }) }) + it('masks the signed challenge in a Custody token request', async () => { + const { logger, entries } = recordingLogger() + const port = withHttpLogging( + answering({ status: 200, body: '{"access_token":"jwt"}' }), + logger, + OPTIONS, + ) + + // The form HttpCustodyAuthPort sends: the SDK picks the challenge, so the + // challenge + signature pair is exchangeable for a token. + await port.send({ + method: 'POST', + url: 'https://auth.example.com/token', + headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, + body: new URLSearchParams({ + grant_type: 'password', + client_id: 'customer_api', + signature: 'MEUCIQDsigned', + challenge: '738d4753-1f2e-4c3d-9b8a-112233445566', + public_key: 'MCowBQYDK2VwAyEA', + }).toString(), + }) + + const logged = JSON.stringify(entries) + expect(logged).not.toContain('MEUCIQDsigned') + expect(logged).not.toContain('738d4753') + expect(logged).not.toContain('"jwt"') + expect(entries[0]?.fields.requestBody).toBe( + 'grant_type=password&client_id=customer_api&signature=%5BREDACTED%5D' + + '&challenge=%5BREDACTED%5D&public_key=MCowBQYDK2VwAyEA', + ) + }) + + it('masks other secrets an api.call body can carry', async () => { + const { logger, entries } = recordingLogger() + const port = withHttpLogging( + answering({ + status: 200, + body: JSON.stringify({ backup: { encryptedSeed: 'seed-bytes' } }), + }), + logger, + OPTIONS, + ) + + await port.send({ + ...GET, + method: 'POST', + body: JSON.stringify({ + credential: { apiKey: 'k', secret: 's3cret', password: 'pw' }, + }), + }) + + const logged = JSON.stringify(entries) + for (const value of ['seed-bytes', 's3cret', '"pw"']) { + expect(logged).not.toContain(value) + } + }) + it('cuts a long body', async () => { const { logger, entries } = recordingLogger() const port = withHttpLogging( diff --git a/test/unit/custody-discovery/custody-http-client.test.ts b/test/unit/custody-discovery/custody-http-client.test.ts index e3b79ab..3088827 100644 --- a/test/unit/custody-discovery/custody-http-client.test.ts +++ b/test/unit/custody-discovery/custody-http-client.test.ts @@ -5,6 +5,7 @@ import { CustodyAuthError, CustodyPermissionError, CustodySignatureError, + CustodyTimeoutError, SimpleXRPLError, } from '../../../src/errors.js' import { @@ -352,6 +353,74 @@ describe('CustodyHttpClient', () => { }) }) + describe('reports a request that timed out as a CustodyTimeoutError', () => { + /** + * What `AbortSignal.timeout` rejects a fetch with. + * + * @throws The timeout's DOMException, always. + */ + const timedOut = (): never => { + throw new DOMException( + 'The operation was aborted due to timeout', + 'TimeoutError', + ) + } + + it('naming the request, and that its outcome is unknown', async () => { + const { auth } = makeAuth() + const http = new FakeHttpPort(timedOut) + const client = new CustodyHttpClient({ + gatewayUrl: GATEWAY, + http, + auth, + timeoutMs: 5000, + }) + + const error = await failureOf(client.get('/v1/thing', { limit: 1 })) + + expect(error).toBeInstanceOf(CustodyTimeoutError) + expect(error).toBeInstanceOf(SimpleXRPLError) + expect(error).toMatchObject({ + method: 'GET', + path: '/v1/thing', + timeoutMs: 5000, + intentId: undefined, + message: + 'Custody GET /v1/thing got no response within 5000 ms; it may still have been processed.', + }) + expect((error as Error).cause).toBeInstanceOf(DOMException) + }) + + it('carrying the id of an intent proposal, so it is not re-proposed blindly', async () => { + const { auth } = makeAuth() + const http = new FakeHttpPort(timedOut) + const client = new CustodyHttpClient({ gatewayUrl: GATEWAY, http, auth }) + + const error = await failureOf( + client.post('/v1/intents', { + request: { type: 'Propose', id: 'intent-7' }, + signature: 's', + }), + ) + + expect(error).toMatchObject({ intentId: 'intent-7' }) + expect((error as Error).message).toContain( + 'The intent was proposed as intent-7', + ) + }) + + it('but passes other transport errors through unchanged', async () => { + const { auth } = makeAuth() + const failure = new Error('ECONNRESET') + const http = new FakeHttpPort(() => { + throw failure + }) + const client = new CustodyHttpClient({ gatewayUrl: GATEWAY, http, auth }) + + await expect(client.get('/v1/thing')).rejects.toBe(failure) + }) + }) + it('normalizes a trailing-slash gateway URL (no double slash)', async () => { const { auth } = makeAuth() const http = new FakeHttpPort(() => ok({})) diff --git a/test/unit/ripple-custody/account-key.test.ts b/test/unit/ripple-custody/account-key.test.ts index 330ec12..0466069 100644 --- a/test/unit/ripple-custody/account-key.test.ts +++ b/test/unit/ripple-custody/account-key.test.ts @@ -7,7 +7,7 @@ import { resolveSigningPublicKey, toXrplPublicKey, } from '../../../src/custodians/ripple/submission/account-key.js' -import { SignerCapabilityError } from '../../../src/errors.js' +import { SignerCapabilityError, SimpleXRPLError } from '../../../src/errors.js' import { DOMAIN_ID, makeClient, ok } from './test-utils.js' @@ -93,6 +93,38 @@ describe('toXrplPublicKey', () => { }) }) +describe('toXrplPublicKey — keys it must not pass on', () => { + it('converts an ed25519 SPKI key to XRPL’s ED-prefixed form', () => { + const { publicKey } = generateKeyPairSync('ed25519') + const spki = publicKey.export({ type: 'spki', format: 'der' }) + const raw = spki.subarray(spki.length - 32).toString('hex') + + expect(toXrplPublicKey(spki.toString('base64'))).toBe( + `ED${raw}`.toUpperCase(), + ) + }) + + it('throws for an SPKI key on a curve XRPL can’t use', () => { + const { publicKey } = generateKeyPairSync('ec', { + namedCurve: 'prime256v1', + }) + const spki = publicKey.export({ type: 'spki', format: 'der' }) + + expect(() => toXrplPublicKey(spki.toString('base64'))).toThrow( + "Custody returned a P-256 public key, which XRPL can't use", + ) + }) + + it.each([ + ['too short', Buffer.from('EDPUBKEY')], + ['33 bytes with no key prefix', Buffer.alloc(33, 0x09)], + ])('throws for an unrecognised encoding (%s)', (_case, bytes) => { + expect(() => toXrplPublicKey(bytes.toString('base64'))).toThrow( + SimpleXRPLError, + ) + }) +}) + describe('fetchXrplPublicKey', () => { it('reads the SECP256K1_CUSTODY_1 key from keys[], ignoring the others', async () => { const xrplKey = secp256k1Key() diff --git a/test/unit/ripple-custody/intent-polling.test.ts b/test/unit/ripple-custody/intent-polling.test.ts index 3ef38e7..dcd83a3 100644 --- a/test/unit/ripple-custody/intent-polling.test.ts +++ b/test/unit/ripple-custody/intent-polling.test.ts @@ -4,6 +4,7 @@ import { } from '../../../src/custodians/ripple/submission/intent-polling.js' import { CustodyApiError, + CustodyTimeoutError, IntentPendingError, IntentValidationError, } from '../../../src/errors.js' @@ -383,3 +384,81 @@ describe('waitForIntentOutcome', () => { ).rejects.toBe(failure) }) }) + +describe('waitForIntentOutcome — the time budget', () => { + it('uses the whole budget, with a last read at the deadline', async () => { + jest.useFakeTimers() + try { + const reads: number[] = [] + const start = Date.now() + const readIntent = async (): Promise< + components['schemas']['Core_TrustedIntent'] + > => { + reads.push(Date.now() - start) + return intentBody( + 'intent-1', + 'Open', + ) as unknown as components['schemas']['Core_TrustedIntent'] + } + + let settled = false + const promise = waitForIntentOutcome({ + readIntent, + intentId: 'intent-1', + timeoutMs: 6500, + }).finally(() => { + settled = true + }) + + await jest.advanceTimersByTimeAsync(6400) + expect(settled).toBe(false) + await jest.advanceTimersByTimeAsync(200) + + // Backoff of 1 s then 2 s, then a short sleep to land on the deadline. + expect(reads).toEqual([0, 1000, 3000, 6500]) + await expect(promise).resolves.toMatchObject({ + status: 'Open', + reason: expect.stringContaining('still Open after 6500 ms') as unknown, + }) + } finally { + jest.useRealTimers() + } + }) + + it('treats a read that timed out as no answer, and keeps waiting', async () => { + jest.useFakeTimers() + try { + let calls = 0 + const readIntent = async (): Promise< + components['schemas']['Core_TrustedIntent'] + > => { + calls += 1 + if (calls === 1) { + throw new CustodyTimeoutError({ + method: 'GET', + path: '/v1/domains/d/intents/intent-1', + timeoutMs: 30_000, + }) + } + return intentBody( + 'intent-1', + 'Executed', + ) as unknown as components['schemas']['Core_TrustedIntent'] + } + + const promise = waitForIntentOutcome({ + readIntent, + intentId: 'intent-1', + timeoutMs: 10_000, + }) + await jest.advanceTimersByTimeAsync(2000) + + await expect(promise).resolves.toMatchObject({ + status: 'Executed', + isSuccess: true, + }) + } finally { + jest.useRealTimers() + } + }) +}) diff --git a/test/unit/ripple-custody/ripple-custody.test.ts b/test/unit/ripple-custody/ripple-custody.test.ts index 22986f0..874e17e 100644 --- a/test/unit/ripple-custody/ripple-custody.test.ts +++ b/test/unit/ripple-custody/ripple-custody.test.ts @@ -217,7 +217,8 @@ function buildRoutes(routes: Routes): Route[] { ok( apiAccountBody( ACCOUNT_ID, - Buffer.from('EDPUBKEY').toString('base64'), + // A key already in XRPL's compressed form. + Buffer.from(`02${'11'.repeat(32)}`, 'hex').toString('base64'), ), )) )(),