From 13a32e26df10db93fe442cb2df001c84a5c2f590 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Sat, 23 May 2026 12:41:16 +0300 Subject: [PATCH 01/10] update daml finance config Signed-off-by: Ibo Sy --- .../daml-finance-snippet-list-remote.json | 7353 ++++++++++++++++- 1 file changed, 7352 insertions(+), 1 deletion(-) diff --git a/config/snippet-config/daml-finance-snippet-list-remote.json b/config/snippet-config/daml-finance-snippet-list-remote.json index 39d3df60..31a3fdc8 100644 --- a/config/snippet-config/daml-finance-snippet-list-remote.json +++ b/config/snippet-config/daml-finance-snippet-list-remote.json @@ -1,3 +1,7354 @@ { - "snippets": [] + "snippets": [ + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-scripts-callable-bond", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-scripts-floating-rate-bond", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FloatingRateBond.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-scripts-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-workflow-create-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Workflow/CreateAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-lifecycling-daml-workflow-credit-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Workflow/CreditAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-payoff-modeling-daml-payoff-builder", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/PayoffBuilder.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-payoff-modeling-daml-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-payoff-modeling-daml-util-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Util/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-payoff-modeling-daml-util-setup", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Util/Setup.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-scripts-intermediated", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-scripts-internal", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-scripts-setup", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Setup.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-scripts-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-scripts-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-workflow-create-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Workflow/CreateAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-workflow-credit-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Workflow/CreditAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-settlement-daml-workflow-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Workflow/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-extensions-my-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Extensions/MyAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-extensions-my-transferable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Extensions/MyTransferable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-scripts-setup", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/Setup.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-scripts-upgrade-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-scripts-upgrade-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeHolding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-scripts-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-workflow-create-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Workflow/CreateAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-finance-upgrades-daml-workflow-credit-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Workflow/CreditAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-scripts-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-scripts-lifecycling", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-scripts-settlement", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-scripts-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-scripts-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-workflow-create-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/CreateAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-workflow-credit-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/CreditAccount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-workflow-dv-p", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/DvP.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-quickstart-finance-daml-workflow-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-core-v3-builders", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Core/V3/Builders.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-core-v3-claim", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Core/V3/Claim.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-core-v3-internal-claim", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Core/V3/Internal/Claim.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-core-v3-observation", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Core/V3/Observation.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-core-v3-util-recursion", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Core/V3/Util/Recursion.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-lifecycle-v3-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Lifecycle/V3/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-lifecycle-v3-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Lifecycle/V3/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-valuation-v0-math-ml", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Valuation/V0/MathML.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-contingent-claims-valuation-v0-stochastic", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Valuation/V0/Stochastic.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-account-v4-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Account/V4/Account.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-claims-v3-lifecycle-rule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Lifecycle/Rule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-claims-v3-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-claims-v3-util-builders", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Builders.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-claims-v3-util-date", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Date.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-claims-v3-util-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-numeric-observation", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Numeric/Observation.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-reference-holiday-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Reference/HolidayCalendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-time-date-clock", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Time/DateClock.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-time-date-clock-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Time/DateClock/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-time-date-clock-update", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Time/DateClockUpdate.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-data-v4-time-ledger-time", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Data/V4/Time/LedgerTime.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-base-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/BaseHolding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/Fungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-transferable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/Transferable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-transferable-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/TransferableFungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-holding-v4-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Holding/V4/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-callable-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/Callable/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-callable-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/Callable/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-fixed-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FixedRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-fixed-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FixedRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-floating-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FloatingRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-floating-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FloatingRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-inflation-linked-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/InflationLinked/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-inflation-linked-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/InflationLinked/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-zero-coupon-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/ZeroCoupon/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-zero-coupon-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/ZeroCoupon/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-equity-v0-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Equity/V0/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-equity-v0-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Equity/V0/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-generic-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Generic/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-generic-v4-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Generic/V4/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-generic-v4-lifecycle-rule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Generic/V4/Lifecycle/Rule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-barrier-european-cash-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/BarrierEuropeanCash/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-barrier-european-cash-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/BarrierEuropeanCash/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-dividend-election", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/Dividend/Election.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-dividend-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/Dividend/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-dividend-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/Dividend/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-european-cash-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/EuropeanCash/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-european-cash-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/EuropeanCash/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-european-physical-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/EuropeanPhysical/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-option-v0-european-physical-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Option/V0/EuropeanPhysical/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-structured-product-v0-auto-callable-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/StructuredProduct/V0/AutoCallable/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-structured-product-v0-auto-callable-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/StructuredProduct/V0/AutoCallable/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-structured-product-v0-barrier-reverse-convertible-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/StructuredProduct/V0/BarrierReverseConvertible/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-structured-product-v0-barrier-reverse-convertible-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/StructuredProduct/V0/BarrierReverseConvertible/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-structured-product-v0-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/StructuredProduct/V0/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-asset-distribution-rule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Asset/DistributionRule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-asset-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Asset/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-asset-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Asset/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-credit-default-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/CreditDefault/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-credit-default-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/CreditDefault/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-currency-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Currency/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-currency-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Currency/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-foreign-exchange-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/ForeignExchange/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-foreign-exchange-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/ForeignExchange/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-fpml-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Fpml/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-fpml-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Fpml/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-fpml-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/Fpml/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-interest-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/InterestRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-swap-v0-interest-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Swap/V0/InterestRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-token-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Token/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-instrument-token-v4-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Token/V4/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-account-v4-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Account/V4/Account.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-account-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Account/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-account-v4-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Account/V4/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-claims-v4-claim", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Claims/V4/Claim.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-claims-v4-dynamic-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Claims/V4/Dynamic/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-claims-v4-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Claims/V4/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-data-v4-numeric-observation", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Data/V4/Numeric/Observation.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-data-v4-numeric-observation-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Data/V4/Numeric/Observation/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-data-v4-reference-holiday-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Data/V4/Reference/HolidayCalendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-data-v4-reference-holiday-calendar-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Data/V4/Reference/HolidayCalendar/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-data-v4-reference-time", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Data/V4/Reference/Time.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-holding-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Holding/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-holding-v4-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Holding/V4/Fungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-holding-v4-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Holding/V4/Holding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-holding-v4-transferable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Holding/V4/Transferable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-holding-v4-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Holding/V4/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-base-v4-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Base/V4/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-callable-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/Callable/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-callable-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/Callable/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-callable-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/Callable/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-fixed-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FixedRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-fixed-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FixedRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-fixed-rate-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FixedRate/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-floating-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FloatingRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-floating-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FloatingRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-floating-rate-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/FloatingRate/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-inflation-linked-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/InflationLinked/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-inflation-linked-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/InflationLinked/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-inflation-linked-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/InflationLinked/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-zero-coupon-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/ZeroCoupon/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-zero-coupon-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/ZeroCoupon/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-bond-v3-zero-coupon-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Bond/V3/ZeroCoupon/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-equity-v0-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Equity/V0/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-equity-v0-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Equity/V0/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-generic-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Generic/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-generic-v4-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Generic/V4/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-barrier-european-cash-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/BarrierEuropeanCash/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-barrier-european-cash-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/BarrierEuropeanCash/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-barrier-european-cash-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/BarrierEuropeanCash/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-dividend-election-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/Dividend/Election/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-dividend-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/Dividend/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-dividend-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/Dividend/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-dividend-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/Dividend/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-cash-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanCash/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-cash-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanCash/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-cash-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanCash/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-physical-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanPhysical/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-physical-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanPhysical/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-european-physical-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/EuropeanPhysical/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-option-v0-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Option/V0/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-auto-callable-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/AutoCallable/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-auto-callable-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/AutoCallable/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-auto-callable-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/AutoCallable/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-barrier-reverse-convertible-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/BarrierReverseConvertible/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-barrier-reverse-convertible-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/BarrierReverseConvertible/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-barrier-reverse-convertible-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/BarrierReverseConvertible/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-structured-product-v0-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/StructuredProduct/V0/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-asset-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Asset/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-asset-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Asset/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-asset-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Asset/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-credit-default-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/CreditDefault/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-credit-default-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/CreditDefault/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-credit-default-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/CreditDefault/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-currency-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Currency/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-currency-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Currency/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-currency-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Currency/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-foreign-exchange-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/ForeignExchange/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-foreign-exchange-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/ForeignExchange/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-foreign-exchange-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/ForeignExchange/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-fpml-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Fpml/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-fpml-fpml-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Fpml/FpmlTypes.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-fpml-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Fpml/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-fpml-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/Fpml/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-interest-rate-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/InterestRate/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-interest-rate-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/InterestRate/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-swap-v0-interest-rate-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Swap/V0/InterestRate/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-token-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Token/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-token-v4-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Token/V4/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-token-v4-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Token/V4/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-instrument-types-v2-floating-rate", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Instrument/Types/V2/FloatingRate.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-effect", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Effect.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-election", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Election.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-election-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Election/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-event", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Event.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-event-distribution", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Event/Distribution.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-event-replacement", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Event/Replacement.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-event-time", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Event/Time.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-observable-numeric-observable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Observable/NumericObservable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-observable-time-observable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Observable/TimeObservable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-rule-claim", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Rule/Claim.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-lifecycle-v4-rule-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Lifecycle/V4/Rule/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-settlement-v4-batch", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Settlement/V4/Batch.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-settlement-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Settlement/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-settlement-v4-instruction", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Settlement/V4/Instruction.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-settlement-v4-route-provider", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Settlement/V4/RouteProvider.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-settlement-v4-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Settlement/V4/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-common-v3-types", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Common/V3/Types.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/Calendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-classes", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/Classes.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-date-offset", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/DateOffset.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-day-count", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/DayCount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-roll-convention", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/RollConvention.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-types-date-v3-schedule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Types/Date/V3/Schedule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-util-v3-common", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Util/V3/Common.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-util-v3-disclosure", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Util/V3/Disclosure.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-util-v3-interface-key", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Util/V3/InterfaceKey.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-interface-util-v3-lockable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Interface/Util/V3/Lockable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-effect", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Effect.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-election", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Election.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-election-effect", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/ElectionEffect.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-event-distribution", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Event/Distribution.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-event-replacement", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Event/Replacement.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-rule-claim", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Rule/Claim.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-rule-distribution", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Rule/Distribution.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-rule-replacement", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Rule/Replacement.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-lifecycle-v4-rule-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Lifecycle/V4/Rule/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-batch", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/Batch.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-hierarchy", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/Hierarchy.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-instruction", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/Instruction.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-route-provider-intermediated-static", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/RouteProvider/IntermediatedStatic.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-settlement-v4-route-provider-single-custodian", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Settlement/V4/RouteProvider/SingleCustodian.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-common", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Common.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-date-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Date/Calendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-date-day-count", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Date/DayCount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-date-roll-convention", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Date/RollConvention.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-date-schedule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Date/Schedule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-disclosure", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Disclosure.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-main-daml-daml-finance-util-v4-lockable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Util/V4/Lockable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-currency", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Currency.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-financial-contract", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/FinancialContract.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-initialization", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Initialization.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-pricing", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Pricing.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-templating", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Templating.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-contingent-claims-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-account-test-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Account/Test/Account.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-account-test-controllers", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Account/Test/Controllers.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-account-test-lock", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Account/Test/Lock.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-data-test-date-clock", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Data/Test/DateClock.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-data-test-holiday-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Data/Test/HolidayCalendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-data-test-observation", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Data/Test/Observation.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-common", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/Common.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/Holding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-transferable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/Transferable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-transferable-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/TransferableFungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-holding-test-upgrade", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Holding/Test/Upgrade.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-callable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Callable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-fixed-rate", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/FixedRate.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-floating-rate", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/FloatingRate.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-inflation-linked", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/InflationLinked.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-bond-test-zero-coupon", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/ZeroCoupon.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-div-option", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/DivOption.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-merger", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Merger.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-rights-issue", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/RightsIssue.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-stock-split", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/StockSplit.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-equity-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-callable-bond", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/CallableBond.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-election-workflow", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Election/Workflow.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-forward-cash", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/ForwardCash.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-forward-physical", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/ForwardPhysical.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-reverse-convertible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/ReverseConvertible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-generic-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-option-test-barrier-european-cash", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/BarrierEuropeanCash.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-option-test-dividend", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Dividend.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-option-test-european-cash", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/EuropeanCash.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-option-test-european-physical", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/EuropeanPhysical.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-option-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-auto-callable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/AutoCallable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-barrier-reverse-convertible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/BarrierReverseConvertible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-asset", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Asset.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-credit-default", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/CreditDefault.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-currency", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Currency.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-foreign-exchange", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/ForeignExchange.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-fpml", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Fpml.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-interest-rate", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/InterestRate.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-token-test-token", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Token/Test/Token.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-instrument-token-test-util", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Token/Test/Util.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-settlement-test-batch", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Settlement/Test/Batch.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-settlement-test-batch-with-intermediaries", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Settlement/Test/BatchWithIntermediaries.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-settlement-test-hierarchy", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Settlement/Test/Hierarchy.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-settlement-test-intermediated", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Settlement/Test/Intermediated.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-settlement-test-transfer", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Settlement/Test/Transfer.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-account", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Account.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-common", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Common.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Holding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-duplicates-base-holding", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingDuplicates/BaseHolding.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-duplicates-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingDuplicates/Factory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-duplicates-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingDuplicates/Fungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-duplicates-transferable", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingDuplicates/Transferable.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-duplicates-transferable-fungible", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingDuplicates/TransferableFungible.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-holding-factory", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/HoldingFactory.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-instrument", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Instrument.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-lifecycle", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Lifecycle.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-test-util-time", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Time.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-common", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Common.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-date-calendar", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-date-day-count", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/DayCount.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-date-schedule", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-full-docs-generated-src-test-daml-daml-finance-util-test-disclosure", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Disclosure.daml", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-fixed-rate-create-fixed-rate-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/FixedRate.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FIXED_RATE_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_FIXED_RATE_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-test-util-time-create-periodic-schedule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Test/Util/Time.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_PERIODIC_SCHEDULE_BEGIN", + "end": "-- CREATE_PERIODIC_SCHEDULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util-create-fixed-rate-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FIXED_RATE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_FIXED_RATE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-floating-rate-create-floating-rate-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/FloatingRate.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FLOATING_RATE_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_FLOATING_RATE_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util-create-floating-rate-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FLOATING_RATE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_FLOATING_RATE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-callable-create-3-m-cap-floor-floating-6-m-callable-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Callable.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-callable-create-3-m-cap-floor-floating-6-m-callable-bond-coupon-schedule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Callable.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_COUPON_SCHEDULE_BEGIN", + "end": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_COUPON_SCHEDULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-callable-create-6-m-sofr-callable-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Callable.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_6M_SOFR_CALLABLE_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_6M_SOFR_CALLABLE_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-callable-create-3-m-cap-floor-floating-6-m-callable-bond-schedule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Callable.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_SCHEDULE_BEGIN", + "end": "-- CREATE_3M_CAP_FLOOR_FLOATING_6M_CALLABLE_BOND_SCHEDULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util-create-multi-schedule-callable-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_MULTI_SCHEDULE_CALLABLE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_MULTI_SCHEDULE_CALLABLE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-inflation-linked-create-inflation-linked-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/InflationLinked.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_INFLATION_LINKED_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_INFLATION_LINKED_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util-create-inflation-linked-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_INFLATION_LINKED_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_INFLATION_LINKED_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-zero-coupon-create-zero-coupon-bond-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/ZeroCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ZERO_COUPON_BOND_VARIABLES_BEGIN", + "end": "-- CREATE_ZERO_COUPON_BOND_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-bond-test-util-create-zero-coupon-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Bond/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ZERO_COUPON_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_ZERO_COUPON_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-instruments-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_INSTRUMENTS_BEGIN", + "end": "-- CREATE_EQUITY_INSTRUMENTS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-holding-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_HOLDING_BEGIN", + "end": "-- CREATE_EQUITY_HOLDING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-distribution-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_DISTRIBUTION_RULE_BEGIN", + "end": "-- CREATE_EQUITY_DISTRIBUTION_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-distribution-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_DISTRIBUTION_EVENT_BEGIN", + "end": "-- CREATE_EQUITY_DISTRIBUTION_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-lifecycle-cash-dividend-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_CASH_DIVIDEND_BEGIN", + "end": "-- LIFECYCLE_CASH_DIVIDEND_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-bonus-issue-distribution-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_BONUS_ISSUE_DISTRIBUTION_EVENT_BEGIN", + "end": "-- CREATE_EQUITY_BONUS_ISSUE_DISTRIBUTION_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-create-equity-dividend-option-distribution-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_DIVIDEND_OPTION_DISTRIBUTION_EVENT_BEGIN", + "end": "-- CREATE_EQUITY_DIVIDEND_OPTION_DISTRIBUTION_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-livecycle-dividend-option-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- LIVECYCLE_DIVIDEND_OPTION_BEGIN", + "end": "-- LIVECYCLE_DIVIDEND_OPTION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-dividend-investor-claims-dividend-option-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- INVESTOR_CLAIMS_DIVIDEND_OPTION_BEGIN", + "end": "-- INVESTOR_CLAIMS_DIVIDEND_OPTION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-stock-split-create-equity-instruments-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/StockSplit.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_INSTRUMENTS_BEGIN", + "end": "-- CREATE_EQUITY_INSTRUMENTS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-stock-split-create-equity-replacement-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/StockSplit.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_REPLACEMENT_RULE_BEGIN", + "end": "-- CREATE_EQUITY_REPLACEMENT_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-stock-split-create-equity-replacement-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/StockSplit.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_REPLACEMENT_EVENT_BEGIN", + "end": "-- CREATE_EQUITY_REPLACEMENT_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-stock-split-lifecycle-stock-split-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/StockSplit.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_STOCK_SPLIT_BEGIN", + "end": "-- LIFECYCLE_STOCK_SPLIT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-merger-create-equity-instruments-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Merger.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_INSTRUMENTS_BEGIN", + "end": "-- CREATE_EQUITY_INSTRUMENTS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-merger-create-equity-replacement-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Merger.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_REPLACEMENT_RULE_BEGIN", + "end": "-- CREATE_EQUITY_REPLACEMENT_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-merger-create-equity-replacement-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Merger.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EQUITY_REPLACEMENT_EVENT_BEGIN", + "end": "-- CREATE_EQUITY_REPLACEMENT_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-equity-test-merger-lifecycle-merger-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Equity/Test/Merger.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_MERGER_BEGIN", + "end": "-- LIFECYCLE_MERGER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-create-cc-instrument-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CC_INSTRUMENT_VARIABLES_BEGIN", + "end": "-- CREATE_CC_INSTRUMENT_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-create-cc-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CC_INSTRUMENT_BEGIN", + "end": "-- CREATE_CC_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-cc-option-instrument-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CC_OPTION_INSTRUMENT_VARIABLES_BEGIN", + "end": "-- CREATE_CC_OPTION_INSTRUMENT_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-election-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_FACTORY_BEGIN", + "end": "-- CREATE_ELECTION_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-election-offer-exercise-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_OFFER_EXERCISE_BEGIN", + "end": "-- CREATE_ELECTION_OFFER_EXERCISE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-election-offer-expire-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_OFFER_EXPIRE_BEGIN", + "end": "-- CREATE_ELECTION_OFFER_EXPIRE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-too-big-election-candidate-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_TOO_BIG_ELECTION_CANDIDATE_BEGIN", + "end": "-- CREATE_TOO_BIG_ELECTION_CANDIDATE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-election-candidate-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_CANDIDATE_BEGIN", + "end": "-- CREATE_ELECTION_CANDIDATE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-clock-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CLOCK_BEGIN", + "end": "-- CREATE_CLOCK_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-election-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_BEGIN", + "end": "-- CREATE_ELECTION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-create-lifecycle-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_LIFECYCLE_RULE_BEGIN", + "end": "-- CREATE_LIFECYCLE_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-european-option-apply-election-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/EuropeanOption.daml", + "location": { + "type": "stringMarker", + "start": "-- APPLY_ELECTION_BEGIN", + "end": "-- APPLY_ELECTION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-contingent-claims-lifecycle-v3-lifecycle-claims-lifecycle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/ContingentClaims/Lifecycle/V3/Lifecycle.daml", + "location": { + "type": "stringMarker", + "start": "-- CLAIMS_LIFECYCLE_BEGIN", + "end": "-- CLAIMS_LIFECYCLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-contingent-claims-test-financial-contract-claims-lifecycle-test-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/ContingentClaims/Test/FinancialContract.daml", + "location": { + "type": "stringMarker", + "start": "-- CLAIMS_LIFECYCLE_TEST_BEGIN", + "end": "-- CLAIMS_LIFECYCLE_TEST_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-european-physical-create-european-physical-option-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/EuropeanPhysical.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EUROPEAN_PHYSICAL_OPTION_VARIABLES_BEGIN", + "end": "-- CREATE_EUROPEAN_PHYSICAL_OPTION_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-util-create-european-physical-option-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EUROPEAN_PHYSICAL_OPTION_INSTRUMENT_BEGIN", + "end": "-- CREATE_EUROPEAN_PHYSICAL_OPTION_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-european-cash-create-european-option-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/EuropeanCash.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EUROPEAN_OPTION_VARIABLES_BEGIN", + "end": "-- CREATE_EUROPEAN_OPTION_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-util-create-european-option-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EUROPEAN_OPTION_INSTRUMENT_BEGIN", + "end": "-- CREATE_EUROPEAN_OPTION_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-european-cash-create-european-option-observations-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/EuropeanCash.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EUROPEAN_OPTION_OBSERVATIONS_BEGIN", + "end": "-- CREATE_EUROPEAN_OPTION_OBSERVATIONS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-barrier-european-cash-create-barrier-european-option-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/BarrierEuropeanCash.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BARRIER_EUROPEAN_OPTION_VARIABLES_BEGIN", + "end": "-- CREATE_BARRIER_EUROPEAN_OPTION_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-util-create-barrier-european-option-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BARRIER_EUROPEAN_OPTION_INSTRUMENT_BEGIN", + "end": "-- CREATE_BARRIER_EUROPEAN_OPTION_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-dividend-create-dividend-option-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Dividend.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_DIVIDEND_OPTION_VARIABLES_BEGIN", + "end": "-- CREATE_DIVIDEND_OPTION_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-option-test-util-create-dividend-option-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Option/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_DIVIDEND_OPTION_INSTRUMENT_BEGIN", + "end": "-- CREATE_DIVIDEND_OPTION_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-barrier-reverse-convertible-create-barrier-reverse-convertible-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/BarrierReverseConvertible.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_VARIABLES_BEGIN", + "end": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-util-create-barrier-reverse-convertible-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_INSTRUMENT_BEGIN", + "end": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-barrier-reverse-convertible-create-barrier-reverse-convertible-observations-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/BarrierReverseConvertible.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_OBSERVATIONS_BEGIN", + "end": "-- CREATE_BARRIER_REVERSE_CONVERTIBLE_OBSERVATIONS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-auto-callable-create-auto-callable-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/AutoCallable.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_AUTO_CALLABLE_VARIABLES_BEGIN", + "end": "-- CREATE_AUTO_CALLABLE_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-structured-product-test-util-create-auto-callable-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/StructuredProduct/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_AUTO_CALLABLE_INSTRUMENT_BEGIN", + "end": "-- CREATE_AUTO_CALLABLE_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-interest-rate-create-interest-rate-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/InterestRate.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_INTEREST_RATE_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_INTEREST_RATE_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-interest-rate-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_INTEREST_RATE_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_INTEREST_RATE_SWAP_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-currency-create-currency-swap-cash-instruments-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Currency.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CURRENCY_SWAP_CASH_INSTRUMENTS_BEGIN", + "end": "-- CREATE_CURRENCY_SWAP_CASH_INSTRUMENTS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-currency-create-currency-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Currency.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CURRENCY_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_CURRENCY_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-currency-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CURRENCY_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_CURRENCY_SWAP_INSTRUMENT_BEGIN" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-foreign-exchange-create-fx-swap-cash-instruments-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/ForeignExchange.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FX_SWAP_CASH_INSTRUMENTS_BEGIN", + "end": "-- CREATE_FX_SWAP_CASH_INSTRUMENTS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-foreign-exchange-create-fx-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/ForeignExchange.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FX_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_FX_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-foreign-exchange-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FOREIGN_EXCHANGE_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_FOREIGN_EXCHANGE_SWAP_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-credit-default-create-credit-default-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/CreditDefault.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CREDIT_DEFAULT_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_CREDIT_DEFAULT_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-credit-default-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CREDIT_DEFAULT_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_CREDIT_DEFAULT_SWAP_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-asset-create-asset-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Asset.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ASSET_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_ASSET_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-asset-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ASSET_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_ASSET_SWAP_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-asset-asset-swap-div-lifecycling-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Asset.daml", + "location": { + "type": "stringMarker", + "start": "-- ASSET_SWAP_DIV_LIFECYCLING_START", + "end": "-- ASSET_SWAP_DIV_LIFECYCLING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-fpml-create-fpml-swap-variables-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Fpml.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FPML_SWAP_VARIABLES_BEGIN", + "end": "-- CREATE_FPML_SWAP_VARIABLES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-fpml-create-fpml-swap-fix-leg-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Fpml.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FPML_SWAP_FIX_LEG_BEGIN", + "end": "-- CREATE_FPML_SWAP_FIX_LEG_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-fpml-create-fpml-swap-float-leg-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Fpml.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FPML_SWAP_FLOAT_LEG_BEGIN", + "end": "-- CREATE_FPML_SWAP_FLOAT_LEG_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-swap-test-util-create-fpml-swap-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Swap/Test/Util.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FPML_SWAP_INSTRUMENT_BEGIN", + "end": "-- CREATE_FPML_SWAP_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-create-instrument-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_INSTRUMENT_FACTORY_BEGIN", + "end": "-- CREATE_INSTRUMENT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-issue-cash-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- ISSUE_CASH_INSTRUMENT_BEGIN", + "end": "-- ISSUE_CASH_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-fixed-rate-instrument-fixed-rate-bond-template-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FixedRate/Instrument.daml", + "location": { + "type": "stringMarker", + "start": "-- FIXED_RATE_BOND_TEMPLATE_BEGIN", + "end": "-- FIXED_RATE_BOND_TEMPLATE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-fixed-rate-instrument-fixed-rate-bond-claims-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FixedRate/Instrument.daml", + "location": { + "type": "stringMarker", + "start": "-- FIXED_RATE_BOND_CLAIMS_BEGIN", + "end": "-- FIXED_RATE_BOND_CLAIMS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-util-builders-fixed-rate-bond-redemption-claim-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Builders.daml", + "location": { + "type": "stringMarker", + "start": "-- FIXED_RATE_BOND_REDEMPTION_CLAIM_BEGIN", + "end": "-- FIXED_RATE_BOND_REDEMPTION_CLAIM_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-util-builders-fixed-rate-bond-coupon-claims-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Builders.daml", + "location": { + "type": "stringMarker", + "start": "-- FIXED_RATE_BOND_COUPON_CLAIMS_BEGIN", + "end": "-- FIXED_RATE_BOND_COUPON_CLAIMS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-lifecycle-rule-bond-process-clock-update-inital-claims-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Lifecycle/Rule.daml", + "location": { + "type": "stringMarker", + "start": "-- BOND_PROCESS_CLOCK_UPDATE_INITAL_CLAIMS_BEGIN", + "end": "-- BOND_PROCESS_CLOCK_UPDATE_INITAL_CLAIMS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-lifecycle-rule-bond-process-clock-update-lifecycle-fastforward-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Lifecycle/Rule.daml", + "location": { + "type": "stringMarker", + "start": "-- BOND_PROCESS_CLOCK_UPDATE_LIFECYCLE_FASTFORWARD_BEGIN", + "end": "-- BOND_PROCESS_CLOCK_UPDATE_LIFECYCLE_FASTFORWARD_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-lifecycle-rule-bond-process-clock-update-lifecycle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Lifecycle/Rule.daml", + "location": { + "type": "stringMarker", + "start": "-- BOND_PROCESS_CLOCK_UPDATE_LIFECYCLE_BEGIN", + "end": "-- BOND_PROCESS_CLOCK_UPDATE_LIFECYCLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-lifecycle-rule-create-new-dynamic-instrument-version-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Lifecycle/Rule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_NEW_DYNAMIC_INSTRUMENT_VERSION_BEGIN", + "end": "-- CREATE_NEW_DYNAMIC_INSTRUMENT_VERSION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-instrument-bond-v3-floating-rate-instrument-floating-rate-bond-template-until-refrate-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Instrument/Bond/V3/FloatingRate/Instrument.daml", + "location": { + "type": "stringMarker", + "start": "-- FLOATING_RATE_BOND_TEMPLATE_UNTIL_REFRATE_BEGIN", + "end": "-- FLOATING_RATE_BOND_TEMPLATE_UNTIL_REFRATE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-main-daml-daml-finance-claims-v3-util-builders-floating-rate-bond-coupon-claims-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/main/daml/Daml/Finance/Claims/V3/Util/Builders.daml", + "location": { + "type": "stringMarker", + "start": "-- FLOATING_RATE_BOND_COUPON_CLAIMS_BEGIN", + "end": "-- FLOATING_RATE_BOND_COUPON_CLAIMS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-create-holiday-calendar-data-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_HOLIDAY_CALENDAR_DATA_BEGIN", + "end": "-- CREATE_HOLIDAY_CALENDAR_DATA_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-is-business-day-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_IS_BUSINESS_DAY_BEGIN", + "end": "-- TEST_IS_BUSINESS_DAY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-previous-business-day-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_PREVIOUS_BUSINESS_DAY_BEGIN", + "end": "-- TEST_PREVIOUS_BUSINESS_DAY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-next-business-day-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_NEXT_BUSINESS_DAY_BEGIN", + "end": "-- TEST_NEXT_BUSINESS_DAY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-add-business-days-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADD_BUSINESS_DAYS_BEGIN", + "end": "-- TEST_ADD_BUSINESS_DAYS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-add-business-days-negative-offset-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADD_BUSINESS_DAYS_NEGATIVE_OFFSET_BEGIN", + "end": "-- TEST_ADD_BUSINESS_DAYS_NEGATIVE_OFFSET_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-calendar-test-adjust-date-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Calendar.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADJUST_DATE_BEGIN", + "end": "-- TEST_ADJUST_DATE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-add-period-day-week-month-year-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADD_PERIOD_DAY_WEEK_MONTH_YEAR_BEGIN", + "end": "-- TEST_ADD_PERIOD_DAY_WEEK_MONTH_YEAR_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-add-period-month-end-edge-case-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADD_PERIOD_MONTH_END_EDGE_CASE_BEGIN", + "end": "-- TEST_ADD_PERIOD_MONTH_END_EDGE_CASE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-add-period-negative-offset-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_ADD_PERIOD_NEGATIVE_OFFSET_BEGIN", + "end": "-- TEST_ADD_PERIOD_NEGATIVE_OFFSET_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-next-eom-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_NEXT_EOM_BEGIN", + "end": "-- TEST_NEXT_EOM_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-next-dom1-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_NEXT_DOM1_BEGIN", + "end": "-- TEST_NEXT_DOM1_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-next-dom-past-eom-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_NEXT_DOM_PAST_EOM_BEGIN", + "end": "-- TEST_NEXT_DOM_PAST_EOM_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-next-dom-past-eofeb-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_NEXT_DOM_PAST_EOFEB_BEGIN", + "end": "-- TEST_NEXT_DOM_PAST_EOFEB_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-roll-convention-test-previous-dom-from-eofeb-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/RollConvention.daml", + "location": { + "type": "stringMarker", + "start": "-- TEST_PREVIOUS_DOM_FROM_EOFEB_BEGIN", + "end": "-- TEST_PREVIOUS_DOM_FROM_EOFEB_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-periodic-schedule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_PERIODIC_SCHEDULE_BEGIN", + "end": "-- CREATE_PERIODIC_SCHEDULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-expected-schedule-result-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EXPECTED_SCHEDULE_RESULT_BEGIN", + "end": "-- CREATE_EXPECTED_SCHEDULE_RESULT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-schedule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_SCHEDULE_BEGIN", + "end": "-- CREATE_SCHEDULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-periodic-schedule-with-stub-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_PERIODIC_SCHEDULE_WITH_STUB_BEGIN", + "end": "-- CREATE_PERIODIC_SCHEDULE_WITH_STUB_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-expected-schedule-result-with-stub-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EXPECTED_SCHEDULE_RESULT_WITH_STUB_BEGIN", + "end": "-- CREATE_EXPECTED_SCHEDULE_RESULT_WITH_STUB_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-schedule-create-schedule-with-stub-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/Schedule.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_SCHEDULE_WITH_STUB_BEGIN", + "end": "-- CREATE_SCHEDULE_WITH_STUB_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-day-count-calculate-act360-dcf-period1-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/DayCount.daml", + "location": { + "type": "stringMarker", + "start": "-- CALCULATE_ACT360_DCF_PERIOD1_BEGIN", + "end": "-- CALCULATE_ACT360_DCF_PERIOD1_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-day-count-calculate-act360-dcf-period2-and3-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/DayCount.daml", + "location": { + "type": "stringMarker", + "start": "-- CALCULATE_ACT360_DCF_PERIOD2AND3_BEGIN", + "end": "-- CALCULATE_ACT360_DCF_PERIOD2AND3_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-util-test-date-day-count-calculate-actactisda-dcf-schedule-period-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Util/Test/Date/DayCount.daml", + "location": { + "type": "stringMarker", + "start": "-- CALCULATE_ACTACTISDA_DCF_SCHEDULE_PERIOD_BEGIN", + "end": "-- CALCULATE_ACTACTISDA_DCF_SCHEDULE_PERIOD_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-create-bond-route-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_BOND_ROUTE_BEGIN", + "end": "-- CREATE_BOND_ROUTE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-create-cash-route-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CASH_ROUTE_BEGIN", + "end": "-- CREATE_CASH_ROUTE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-create-clock-for-bond-lifecycling-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CLOCK_FOR_BOND_LIFECYCLING_BEGIN", + "end": "-- CREATE_CLOCK_FOR_BOND_LIFECYCLING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-create-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_CREATE_RULE_BEGIN", + "end": "-- LIFECYCLE_BOND_CREATE_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_BEGIN", + "end": "-- LIFECYCLE_BOND_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-issuer-csd-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_ISSUER_CSD_BEGIN", + "end": "-- LIFECYCLE_BOND_ISSUER_CSD_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-settlement-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_SETTLEMENT_FACTORY_BEGIN", + "end": "-- LIFECYCLE_BOND_SETTLEMENT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-csd-investor-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_CSD_INVESTOR_BEGIN", + "end": "-- LIFECYCLE_BOND_CSD_INVESTOR_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-allocate-approve-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_ALLOCATE_APPROVE_SETTLE_BEGIN", + "end": "-- LIFECYCLE_BOND_ALLOCATE_APPROVE_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-atomic-claimeffect-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_ATOMIC_CLAIMEFFECT_BEGIN", + "end": "-- LIFECYCLE_BOND_ATOMIC_CLAIMEFFECT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-src-test-daml-daml-finance-instrument-generic-test-intermediated-bond-coupon-lifecycle-bond-atomic-instructions-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/src/test/daml/Daml/Finance/Instrument/Generic/Test/Intermediated/BondCoupon.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_ATOMIC_INSTRUCTIONS_BEGIN", + "end": "-- LIFECYCLE_BOND_ATOMIC_INSTRUCTIONS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-create-account-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ACCOUNT_FACTORY_BEGIN", + "end": "-- CREATE_ACCOUNT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-create-holding-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_HOLDING_FACTORY_BEGIN", + "end": "-- CREATE_HOLDING_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-setup-alice-account-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- SETUP_ALICE_ACCOUNT_BEGIN", + "end": "-- SETUP_ALICE_ACCOUNT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-holding-create-alice-holding-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Holding.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ALICE_HOLDING_BEGIN", + "end": "-- CREATE_ALICE_HOLDING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-new-version-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- NEW_VERSION_BEGIN", + "end": "-- NEW_VERSION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-lifecycle-rules-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_RULES_BEGIN", + "end": "-- LIFECYCLE_RULES_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-create-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_EVENT_BEGIN", + "end": "-- CREATE_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-lifecycle-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_EVENT_BEGIN", + "end": "-- LIFECYCLE_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-claim-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- CLAIM_EVENT_BEGIN", + "end": "-- CLAIM_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-lifecycling-effect-settlement-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Lifecycling.daml", + "location": { + "type": "stringMarker", + "start": "-- EFFECT_SETTLEMENT_BEGIN", + "end": "-- EFFECT_SETTLEMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-route-provider-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- ROUTE_PROVIDER_BEGIN", + "end": "-- ROUTE_PROVIDER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-settlement-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- SETTLEMENT_FACTORY_BEGIN", + "end": "-- SETTLEMENT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-dvp-propose-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- DVP_PROPOSE_BEGIN", + "end": "-- DVP_PROPOSE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-dvp-accept-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- DVP_ACCEPT_BEGIN", + "end": "-- DVP_ACCEPT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-workflow-dv-p-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/DvP.daml", + "location": { + "type": "stringMarker", + "start": "-- INSTRUCT_BEGIN", + "end": "-- INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-allocate-approve-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- ALLOCATE_APPROVE_BEGIN", + "end": "-- ALLOCATE_APPROVE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-settlement-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Settlement.daml", + "location": { + "type": "stringMarker", + "start": "-- SETTLE_BEGIN", + "end": "-- SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-scripts-transfer-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- TRANSFER_BEGIN", + "end": "-- TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-quickstart-finance-daml-workflow-transfer-do-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/quickstart-finance/daml/Workflow/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- DO_TRANSFER_BEGIN", + "end": "-- DO_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-create-callable-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CALLABLE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_CALLABLE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-create-callable-bond-holding-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CALLABLE_BOND_HOLDING_BEGIN", + "end": "-- CREATE_CALLABLE_BOND_HOLDING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-create-election-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_FACTORY_BEGIN", + "end": "-- CREATE_ELECTION_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-create-election-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_ELECTION_BEGIN", + "end": "-- CREATE_ELECTION_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-lifecycle-bond-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_BEGIN", + "end": "-- LIFECYCLE_BOND_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-create-claim-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CLAIM_RULE_BEGIN", + "end": "-- CREATE_CLAIM_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-callable-bond-claim-effect-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/CallableBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CLAIM_EFFECT_BEGIN", + "end": "-- CLAIM_EFFECT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-create-fixed-rate-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FIXED_RATE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_FIXED_RATE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-create-fixed-rate-bond-holding-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FIXED_RATE_BOND_HOLDING_BEGIN", + "end": "-- CREATE_FIXED_RATE_BOND_HOLDING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-create-lifecycle-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_LIFECYCLE_RULE_BEGIN", + "end": "-- CREATE_LIFECYCLE_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-create-clock-update-event-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CLOCK_UPDATE_EVENT_BEGIN", + "end": "-- CREATE_CLOCK_UPDATE_EVENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-lifecycle-bond-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_BEGIN", + "end": "-- LIFECYCLE_BOND_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-create-claim-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_CLAIM_RULE_BEGIN", + "end": "-- CREATE_CLAIM_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-claim-effect-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CLAIM_EFFECT_BEGIN", + "end": "-- CLAIM_EFFECT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-fixed-rate-bond-effect-settlement-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FixedRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- EFFECT_SETTLEMENT_BEGIN", + "end": "-- EFFECT_SETTLEMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-floating-rate-bond-create-floating-rate-bond-instrument-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FloatingRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FLOATING_RATE_BOND_INSTRUMENT_BEGIN", + "end": "-- CREATE_FLOATING_RATE_BOND_INSTRUMENT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-floating-rate-bond-create-floating-rate-bond-holding-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FloatingRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FLOATING_RATE_BOND_HOLDING_BEGIN", + "end": "-- CREATE_FLOATING_RATE_BOND_HOLDING_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-floating-rate-bond-create-floating-rate-observations-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FloatingRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- CREATE_FLOATING_RATE_OBSERVATIONS_BEGIN", + "end": "-- CREATE_FLOATING_RATE_OBSERVATIONS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-lifecycling-daml-scripts-floating-rate-bond-lifecycle-bond-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-lifecycling/daml/Scripts/FloatingRateBond.daml", + "location": { + "type": "stringMarker", + "start": "-- LIFECYCLE_BOND_BEGIN", + "end": "-- LIFECYCLE_BOND_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-zero-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- ZERO_CLAIM_SETUP_START", + "end": "-- ZERO_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-one-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- ONE_CLAIM_SETUP_START", + "end": "-- ONE_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-one-ld-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- ONE_LD_START", + "end": "-- ONE_LD_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-scale-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- SCALE_CLAIM_SETUP_START", + "end": "-- SCALE_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-giveand-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- GIVEAND_CLAIM_SETUP_START", + "end": "-- GIVEAND_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-when-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- WHEN_CLAIM_SETUP_START", + "end": "-- WHEN_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-fwd-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- FWD_CLAIM_SETUP_START", + "end": "-- FWD_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-fwd-obs-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- FWD_OBS_START", + "end": "-- FWD_OBS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-frn-claim-setup-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- FRN_CLAIM_SETUP_START", + "end": "-- FRN_CLAIM_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-payoff-modeling-daml-examples-basic-combinators-frn-obs-start", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-payoff-modeling/daml/Examples/BasicCombinators.daml", + "location": { + "type": "stringMarker", + "start": "-- FRN_OBS_START", + "end": "-- FRN_OBS_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-wrapped-transfers-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFERS_SETUP_BEGIN", + "end": "-- WRAPPED_TRANSFERS_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-wrapped-transfers-discover-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFERS_DISCOVER_BEGIN", + "end": "-- WRAPPED_TRANSFERS_DISCOVER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-wrapped-transfers-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFERS_INSTRUCT_BEGIN", + "end": "-- WRAPPED_TRANSFERS_INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-wrapped-transfers-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFERS_SETTLE_BEGIN", + "end": "-- WRAPPED_TRANSFERS_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-route-provider-discover-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- ROUTE_PROVIDER_DISCOVER_BEGIN", + "end": "-- ROUTE_PROVIDER_DISCOVER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-route-provider-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- ROUTE_PROVIDER_INSTRUCT_BEGIN", + "end": "-- ROUTE_PROVIDER_INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-intermediated-route-provider-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Intermediated.daml", + "location": { + "type": "stringMarker", + "start": "-- ROUTE_PROVIDER_SETTLE_BEGIN", + "end": "-- ROUTE_PROVIDER_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-wrapped-transfer-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFER_SETUP_BEGIN", + "end": "-- WRAPPED_TRANSFER_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-wrapped-transfer-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFER_INSTRUCT_BEGIN", + "end": "-- WRAPPED_TRANSFER_INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-wrapped-transfer-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- WRAPPED_TRANSFER_SETTLE_BEGIN", + "end": "-- WRAPPED_TRANSFER_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-credit-debit-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- CREDIT_DEBIT_INSTRUCT_BEGIN", + "end": "-- CREDIT_DEBIT_INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-credit-debit-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- CREDIT_DEBIT_SETTLE_BEGIN", + "end": "-- CREDIT_DEBIT_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-pass-through-instruct-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- PASS_THROUGH_INSTRUCT_BEGIN", + "end": "-- PASS_THROUGH_INSTRUCT_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-internal-pass-through-settle-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Internal.daml", + "location": { + "type": "stringMarker", + "start": "-- PASS_THROUGH_SETTLE_BEGIN", + "end": "-- PASS_THROUGH_SETTLE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-transfer-request-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- TRANSFER_REQUEST_SETUP_BEGIN", + "end": "-- TRANSFER_REQUEST_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-workflow-transfer-transfer-request-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Workflow/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- TRANSFER_REQUEST_BEGIN", + "end": "-- TRANSFER_REQUEST_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-dual-control-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- DUAL_CONTROL_SETUP_BEGIN", + "end": "-- DUAL_CONTROL_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-dual-control-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- DUAL_CONTROL_TRANSFER_BEGIN", + "end": "-- DUAL_CONTROL_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-discretionary-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- DISCRETIONARY_SETUP_BEGIN", + "end": "-- DISCRETIONARY_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-discretionary-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- DISCRETIONARY_TRANSFER_BEGIN", + "end": "-- DISCRETIONARY_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-sovereign-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- SOVEREIGN_SETUP_BEGIN", + "end": "-- SOVEREIGN_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-sovereign-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- SOVEREIGN_TRANSFER_BEGIN", + "end": "-- SOVEREIGN_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-unilateral-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- UNILATERAL_SETUP_BEGIN", + "end": "-- UNILATERAL_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-settlement-daml-scripts-transfer-unilateral-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-settlement/daml/Scripts/Transfer.daml", + "location": { + "type": "stringMarker", + "start": "-- UNILATERAL_TRANSFER_BEGIN", + "end": "-- UNILATERAL_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-account-upgrade-account-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_ACCOUNT_SETUP_BEGIN", + "end": "-- UPGRADE_ACCOUNT_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-account-upgrade-account-archive-old-account-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_ACCOUNT_ARCHIVE_OLD_ACCOUNT_FACTORY_BEGIN", + "end": "-- UPGRADE_ACCOUNT_ARCHIVE_OLD_ACCOUNT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-account-upgrade-account-create-new-account-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_ACCOUNT_CREATE_NEW_ACCOUNT_FACTORY_BEGIN", + "end": "-- UPGRADE_ACCOUNT_CREATE_NEW_ACCOUNT_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-account-upgrade-account-create-upgrade-rule-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_ACCOUNT_CREATE_UPGRADE_RULE_BEGIN", + "end": "-- UPGRADE_ACCOUNT_CREATE_UPGRADE_RULE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-account-upgrade-account-clients-upgrade-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeAccount.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_ACCOUNT_CLIENTS_UPGRADE_BEGIN", + "end": "-- UPGRADE_ACCOUNT_CLIENTS_UPGRADE_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-holding-upgrade-holding-setup-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeHolding.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_HOLDING_SETUP_BEGIN", + "end": "-- UPGRADE_HOLDING_SETUP_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-holding-upgrade-holding-remove-old-holding-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeHolding.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_HOLDING_REMOVE_OLD_HOLDING_FACTORY_BEGIN", + "end": "-- UPGRADE_HOLDING_REMOVE_OLD_HOLDING_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-holding-upgrade-holding-create-new-holding-factory-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeHolding.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_HOLDING_CREATE_NEW_HOLDING_FACTORY_BEGIN", + "end": "-- UPGRADE_HOLDING_CREATE_NEW_HOLDING_FACTORY_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-literal-docs-generated-finance-upgrades-daml-scripts-upgrade-holding-upgrade-holding-transfer-begin", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/finance-upgrades/daml/Scripts/UpgradeHolding.daml", + "location": { + "type": "stringMarker", + "start": "-- UPGRADE_HOLDING_TRANSFER_BEGIN", + "end": "-- UPGRADE_HOLDING_TRANSFER_END" + }, + "description": "", + "options": { + "language": "daml" + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-instruments-generic-contingent-claims-daml-47", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/instruments/generic/contingent-claims.rst", + "location": { + "type": "lines", + "start": 47, + "end": 57 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-instruments-generic-contingent-claims-shell-68", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/instruments/generic/contingent-claims.rst", + "location": { + "type": "lines", + "start": 68, + "end": 69 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-building-applications-shell-24", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/building-applications.rst", + "location": { + "type": "lines", + "start": 24, + "end": 27 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-building-applications-shell-32", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/building-applications.rst", + "location": { + "type": "lines", + "start": 32, + "end": 35 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-building-applications-shell-120", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/building-applications.rst", + "location": { + "type": "lines", + "start": 120, + "end": 121 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-building-applications-shell-127", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/building-applications.rst", + "location": { + "type": "lines", + "start": 127, + "end": 128 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-intro-shell-98", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/intro.rst", + "location": { + "type": "lines", + "start": 98, + "end": 99 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-intro-shell-105", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/intro.rst", + "location": { + "type": "lines", + "start": 105, + "end": 106 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-overview-intro-shell-111", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/overview/intro.rst", + "location": { + "type": "lines", + "start": 111, + "end": 112 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-code-documentation-daml-finance-rst-contingent-claims-core-v3-builders-daml-67", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/code-documentation/daml-finance-rst/ContingentClaims-Core-V3-Builders.rst", + "location": { + "type": "lines", + "start": 67, + "end": 68 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-code-documentation-daml-finance-rst-contingent-claims-core-v3-builders-daml-96", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/code-documentation/daml-finance-rst/ContingentClaims-Core-V3-Builders.rst", + "location": { + "type": "lines", + "start": 96, + "end": 99 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-code-documentation-daml-finance-rst-daml-finance-interface-account-v4-account-daml-271", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/code-documentation/daml-finance-rst/Daml-Finance-Interface-Account-V4-Account.rst", + "location": { + "type": "lines", + "start": 271, + "end": 272 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-code-documentation-daml-finance-rst-daml-finance-interface-holding-v4-factory-daml-214", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/code-documentation/daml-finance-rst/Daml-Finance-Interface-Holding-V4-Factory.rst", + "location": { + "type": "lines", + "start": 214, + "end": 216 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-code-documentation-daml-finance-rst-daml-finance-interface-util-v3-disclosure-daml-210", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/code-documentation/daml-finance-rst/Daml-Finance-Interface-Util-V3-Disclosure.rst", + "location": { + "type": "lines", + "start": 210, + "end": 211 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-reference-patterns-daml-25", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/reference/patterns.rst", + "location": { + "type": "lines", + "start": 25, + "end": 29 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-getting-started-intro-shell-40", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/getting-started/intro.rst", + "location": { + "type": "lines", + "start": 40, + "end": 41 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-getting-started-intro-shell-47", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/getting-started/intro.rst", + "location": { + "type": "lines", + "start": 47, + "end": 48 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-getting-started-intro-shell-53", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/getting-started/intro.rst", + "location": { + "type": "lines", + "start": 53, + "end": 54 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-getting-started-intro-shell-59", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/getting-started/intro.rst", + "location": { + "type": "lines", + "start": 59, + "end": 60 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-lifecycling-intro-shell-35", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/lifecycling/intro.rst", + "location": { + "type": "lines", + "start": 35, + "end": 36 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-lifecycling-intro-shell-42", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/lifecycling/intro.rst", + "location": { + "type": "lines", + "start": 42, + "end": 43 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-lifecycling-intro-shell-48", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/lifecycling/intro.rst", + "location": { + "type": "lines", + "start": 48, + "end": 49 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-lifecycling-intro-shell-54", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/lifecycling/intro.rst", + "location": { + "type": "lines", + "start": 54, + "end": 54 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-none-62", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 62, + "end": 67 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-none-88", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 88, + "end": 93 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-none-114", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 114, + "end": 120 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-daml-131", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 131, + "end": 132 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-none-153", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 153, + "end": 158 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-basic-builders-daml-176", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/basic-builders.rst", + "location": { + "type": "lines", + "start": 176, + "end": 183 + }, + "description": "", + "options": { + "language": "daml", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-intro-shell-39", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/intro.rst", + "location": { + "type": "lines", + "start": 39, + "end": 40 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-intro-shell-47", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/intro.rst", + "location": { + "type": "lines", + "start": 47, + "end": 48 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-intro-shell-53", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/intro.rst", + "location": { + "type": "lines", + "start": 53, + "end": 54 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-intro-shell-59", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/intro.rst", + "location": { + "type": "lines", + "start": 59, + "end": 60 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-observations-none-41", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/observations.rst", + "location": { + "type": "lines", + "start": 41, + "end": 46 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-payoff-modeling-observations-none-92", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/payoff-modeling/observations.rst", + "location": { + "type": "lines", + "start": 92, + "end": 97 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intermediated-none-33", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intermediated.rst", + "location": { + "type": "lines", + "start": 33, + "end": 34 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intermediated-none-62", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intermediated.rst", + "location": { + "type": "lines", + "start": 62, + "end": 63 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intermediated-none-105", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intermediated.rst", + "location": { + "type": "lines", + "start": 105, + "end": 105 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intro-shell-42", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intro.rst", + "location": { + "type": "lines", + "start": 42, + "end": 43 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intro-shell-49", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intro.rst", + "location": { + "type": "lines", + "start": 49, + "end": 50 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intro-shell-55", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intro.rst", + "location": { + "type": "lines", + "start": 55, + "end": 56 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-settlement-intro-shell-61", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/settlement/intro.rst", + "location": { + "type": "lines", + "start": 61, + "end": 62 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-upgrade-intro-shell-56", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/upgrade/intro.rst", + "location": { + "type": "lines", + "start": 56, + "end": 57 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-upgrade-intro-shell-63", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/upgrade/intro.rst", + "location": { + "type": "lines", + "start": 63, + "end": 64 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-upgrade-intro-shell-69", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/upgrade/intro.rst", + "location": { + "type": "lines", + "start": 69, + "end": 70 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + }, + { + "snippetName": "daml-finance-rst-code-docs-generated-tutorials-upgrade-intro-shell-75", + "sourceRepo": "daml-finance", + "sourceFilepath": "docs/generated/tutorials/upgrade/intro.rst", + "location": { + "type": "lines", + "start": 75, + "end": 76 + }, + "description": "", + "options": { + "language": "shell", + "normalizeIndent": false + } + } + ] } From 79f5e6eb170cf5f2ea64556e5293d0e6e12621af Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Sun, 24 May 2026 16:04:19 +0300 Subject: [PATCH 02/10] update snippets and embeds for global-synchronizer/deployment/validator-docker-compose.mdx Signed-off-by: Ibo Sy --- .../deployment/validator-docker-compose.mdx | 57 +++++++++---------- ...r-operator-validator-compose-bash-167.mdx} | 0 ...r-operator-validator-compose-bash-175.mdx} | 0 ...r-operator-validator-compose-bash-281.mdx} | 0 ...r-operator-validator-compose-bash-306.mdx} | 0 ...or-operator-validator-compose-yaml-152.mdx | 10 ++++ ...or-operator-validator-compose-yaml-322.mdx | 22 +++++++ ...or-operator-validator-compose-yaml-347.mdx | 13 +++++ ...full-docs-src-common-backup-suggestion.mdx | 19 +++++++ ...st-full-docs-src-common-traffic-topups.mdx | 15 +++++ ...rst-full-docs-src-common-wallet-sweeps.mdx | 5 ++ ...operator-required-network-parameters-9.mdx | 38 +++++++++++++ 12 files changed, 148 insertions(+), 31 deletions(-) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-validator-operator-validator-compose-bash-123.mdx => splice-rst-code-docs-src-validator-operator-validator-compose-bash-167.mdx} (100%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-validator-operator-validator-compose-bash-131.mdx => splice-rst-code-docs-src-validator-operator-validator-compose-bash-175.mdx} (100%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-validator-operator-validator-compose-bash-237.mdx => splice-rst-code-docs-src-validator-operator-validator-compose-bash-281.mdx} (100%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-validator-operator-validator-compose-bash-262.mdx => splice-rst-code-docs-src-validator-operator-validator-compose-bash-306.mdx} (100%) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx diff --git a/docs-main/global-synchronizer/deployment/validator-docker-compose.mdx b/docs-main/global-synchronizer/deployment/validator-docker-compose.mdx index 9c557865..7d9a7168 100644 --- a/docs-main/global-synchronizer/deployment/validator-docker-compose.mdx +++ b/docs-main/global-synchronizer/deployment/validator-docker-compose.mdx @@ -6,11 +6,19 @@ description: "Deploy a Canton Network validator using Docker Compose" import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash58 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-58.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeYaml96 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-96.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeYaml105 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-105.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash123 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-123.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash262 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-262.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash167 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-167.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash306 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-306.mdx"; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonTrafficTopups from '/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonWalletSweeps from '/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx'; import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonBackupSuggestion from '/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx'; +import ExternalSpliceMainSpliceRstPartialDocsSrcValidatorOperatorRequiredNetworkParameters9 from '/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeYaml347 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash281 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-281.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeYaml152 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorComposeBash175 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-175.mdx"; {/* COPIED_START source="splice:docs/src/validator_operator/validator_compose.rst" hash="074ae45b" */} @@ -49,6 +57,12 @@ To validate that the dependencies are set up correctly, run the following comman tar xzvf |version|_splice-node.tar.gz ``` + + +### Required Network Parameters + + + Additional parameters describing your own setup as opposed to the connection to the network are described below. @@ -84,15 +98,7 @@ The value is a `|`-separated list of patterns that follows the standard Java `no Example that proxies external traffic from the `validator` service but bypasses the proxy for `localhost` / `127.0.0.1`, any host in the `.internal` domain, and any IPv4 address whose literal string representation starts with `10.`: -```yaml -services: - validator: - environment: - JAVA_TOOL_OPTIONS: >- - -Dhttps.proxyHost=your.proxy.host - -Dhttps.proxyPort=your_proxy_port - -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.internal|10.* -``` + ## Deployment @@ -100,14 +106,12 @@ services: 1) Change to the `docker-compose` directory inside the extracted bundle: - + 2) Export the current version to an environment variable: |image_tag_set| 3) Run the following command to start the validator node, and wait for it to become ready (could take a few minutes): -> ```bash -> ./start.sh -s "" -o "" -p "" -m "" -w -> ``` +> > > Where: > @@ -221,9 +225,7 @@ Once you have set up your OAuth provider, you need to configure it by setting th In order to enable auth in the deployment, add the `-a` flag to the `start.sh` command, as follows: -```bash -./start.sh -s "" -o "" -p "" -m "" -w -a -``` + If you have already deployed a non-authenticated validator on your machine, you can migrate it to an authenticated one by stopping the validator with `./stop.sh` and restarting it with the `-a` flag as above. The validator operator user will be automatically migrated, and the user indicated by the `WALLET_ADMIN_USER` variable will be associated with the validator operator party. If you have also onboarded other users onto your validator, those will not be automatically migrated, and you need to manually associate the OAuth users with their corresponding parties. In order to do that, first take note of the party IDs of all relevant users (do this before stopping the unauthenticated validator), e.g. by copying them from the top-right corner of their wallet UIs. Now for every user that you wish to migrate, follow the instructions for associating a user with a party in the Users, Parties and Wallets in the Splice Wallet section, but replace the admin party ID with the party ID which you wish to associate with each user. @@ -231,10 +233,14 @@ If you have already deployed a non-authenticated validator on your machine, you Your node is configured to automatically purchase traffic on a pay-as-you-go basis (see automatically purchase traffic). To tune to your needs, you can set environment variables, for example: - + + + ## Configuring sweeps and auto-accepts of transfer offers + + To do so, fill the following section and add the following additional config to your validator environment: ```yaml @@ -261,18 +267,7 @@ services: Similarly, you can configure the validator to automatically accept transfer offers from certain parties on the network. To do so, add the following additional config: -```yaml -services: - validator: - environment: - - | - ADDITIONAL_CONFIG_AUTO_ACCEPT_TRANSFERS= - canton.validator-apps.validator_backend.auto-accept-transfers { - "" { - from-parties = ["", ""] - } - } -``` + ## Integration with systemd and other init systems diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-123.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-167.mdx similarity index 100% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-123.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-167.mdx diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-131.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-175.mdx similarity index 100% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-131.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-175.mdx diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-237.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-281.mdx similarity index 100% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-237.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-281.mdx diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-262.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-306.mdx similarity index 100% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-262.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-bash-306.mdx diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152.mdx new file mode 100644 index 00000000..20539357 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152.mdx @@ -0,0 +1,10 @@ +```yaml + services: + validator: + environment: + JAVA_TOOL_OPTIONS: >- + -Dhttps.proxyHost=your.proxy.host + -Dhttps.proxyPort=your_proxy_port + -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.internal|10.* + +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx new file mode 100644 index 00000000..07c11107 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx @@ -0,0 +1,22 @@ +```yaml + # sweep by transferring directly through the transfer preapproval of the receiver, + # if set to false sweeping creates transfer offers that need to be accepted on the receiver side. + # Note that this refers to the preapprovals described in https://docs.dev.sync.global/background/preapprovals.html + # and not to auto accepting transfers. Auto accept transfers does not setup preapproval contracts that allow + # for a direct transfer but just automates the acceptance of the transfer offer so in that case + # useTransferPreapproval should be set to false. + services: + validator: + environment: + - | + ADDITIONAL_CONFIG_WALLET_SWEEP= + canton.validator-apps.validator_backend.wallet-sweep { + "" { + max-balance-usd = 1000 + min-balance-usd = 100 + receiver = "" + use-transfer-preapproval = false + } + } + +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347.mdx new file mode 100644 index 00000000..68e9379f --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347.mdx @@ -0,0 +1,13 @@ +```yaml + services: + validator: + environment: + - | + ADDITIONAL_CONFIG_AUTO_ACCEPT_TRANSFERS= + canton.validator-apps.validator_backend.auto-accept-transfers { + "" { + from-parties = ["", ""] + } + } + +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx new file mode 100644 index 00000000..38ecd8c4 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx @@ -0,0 +1,19 @@ + + +**If you lose your keys, you lose access to your coins**. While regular backups are not necessary to run your node, + +they are **strongly** recommended for recovery purposes. + +You should regularly back up all databases in your deployment and ensure you always have an up-to-date identities backup. + +Super Validators retain the information necessary to allow you to recover your Canton Coin from an identities backup. + +On the other hand, Super Validators **do not** retain transaction details from applications they are not involved in. + +This means that if you have other applications installed, the Super Validators cannot help you recover data from those apps; + +you can only rely on your own backups. + +(More information in [Backups section for Validators](/global-synchronizer/production-operations/validator-backups) or [Backups section for SVs](/global-synchronizer/production-operations/sv-backup)) + + \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx new file mode 100644 index 00000000..c01ccc96 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx @@ -0,0 +1,15 @@ +

On each successful top-up, the validator app purchases a `top-up amount` of roughly `targetThroughput * minTopupInterval` bytes of traffic (specific amount can vary due to rounding-up). The `minTopupInterval` allows validator operators to control the upper-bound frequency at which automated top-ups happen. If the top-up amount is below the synchronizer-wide `minTopupAmount` (see [traffic parameters](/global-synchronizer/deployment/synchronizer-traffic#traffic-parameters)), `minTopupInterval` is automatically stretched so that at least `minTopupAmount` bytes of traffic are purchased while respecting the configured `targetThroughput`.

+ +

The next top-up gets triggered when all of the following conditions are met:

+ +
    + +
  • The available [extra traffic balance](/global-synchronizer/deployment/synchronizer-traffic#traffic-accounting-what-counts-as-traffic) drops below the configured top-up amount (i.e., below `targetThroughput * minTopupInterval`).
  • + +
  • At least `minTopupInterval` has elapsed since the last top-up.
  • + +
  • The validator has sufficient CC in its wallet to buy the top-up amount worth on traffic (except on DevNet, where the validator app will automatically tap enough coin to purchase traffic).
  • + +
+ +

Validators receive a small amount of free traffic from the Super Validators, which suffices for submitting the top-up transaction. However, if many other transactions are submitted, you may run into a situation where you have exhausted also the free traffic, thus the validator cannot submit the top-up transaction. The free traffic grant accumulates gradually and continuously. When no transactions are submitted, it takes about twenty minutes for free traffic to accumulate to the maximum possible. If you've consumed your traffic balance by submitting too many transactions without purchasing traffic, pause your Validator node (validator app and participant) for twenty minutes to allow your free traffic balance to accumulate.

\ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx new file mode 100644 index 00000000..b331f2ef --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx @@ -0,0 +1,5 @@ +

You can optionally configure the validator to automatically create transfer offers to other parties on the network whenever the balance of certain parties that it hosts exceeds a certain threshold.

+ +

Whenever the balance of `` exceeds `maxBalanceUSD`, the validator will automatically create a transfer offer to ``, for an amount that leaves `minBalanceUSD` in the sender's wallet. Note that you will need to know the party IDs of both the sender and receiver, which can be copied from the wallet UIs of the respective users (in the top right corner). This therefore needs to be applied to the Helm chart in a second step after the initial deployment, once the party IDs are known.

+ +

Whenever the validator receives a transfer offer from `` to ``, it will automatically accept it. Similarly to sweeps, party IDs must be known in order to apply this configuration.

\ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx b/docs-main/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx new file mode 100644 index 00000000..0b491032 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx @@ -0,0 +1,38 @@ +

To initialize your validator node, you need the following parameters that define the network you're onboarding to and the secret required for doing so.

+ +
    + +
  • **MIGRATION_ID** — The current migration id of the network (dev/test/mainnet) you are trying to connect to. This value is frozen and must not be changed from the last value. You can find this on https://sync.global/sv-network/.
  • + +
  • **SPONSOR_SV_URL** — The URL of the SV app of your SV sponsor. This should be of the form |generic_sv_url|, e.g., if the Global Synchronizer Foundation is your sponsor use |gsf_sv_url|.
  • + +
+ +

**ONBOARDING_SECRET**
+The onboarding secret provided by your sponsor. If you don't already have one, ask your sponsor. Note that onboarding secrets are one-time use and expire after 48 hours. If you don't join before it expires, you need to request a new secret from your SV sponsor.

+ +
+ + + +On DevNet, you can obtain an onboarding secret automatically by calling the following endpoint on any SV (replace `SPONSOR_SV_URL` with the SV app URL defined above): + + + +```bash +curl -X POST SPONSOR_SV_URL/api/sv/v0/devnet/onboard/validator/prepare +``` + + + +Make sure to use the **SV app URL** (starting with `sv.`), not the Scan URL (starting with `scan.`). + + + + + +Note that this self-served secret is only valid for 1 hour. + + + +
\ No newline at end of file From 8fc51297eae52db938bd4ef6a7f99ba02b4caad2 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Sun, 24 May 2026 18:22:30 +0300 Subject: [PATCH 03/10] update further splice pages, embed new snippets Signed-off-by: Ibo Sy --- .../canton-console/console-overview.mdx | 101 +++------ .../deployment/configuration.mdx | 8 +- .../deployment/kubernetes-deployment.mdx | 194 +++++++----------- .../deployment/onboarding-process.mdx | 24 +-- .../deployment/sv-operations.mdx | 31 +-- .../deployment/synchronizer-traffic.mdx | 10 +- .../deployment/validator-kubernetes.mdx | 48 +++-- .../disaster-recovery.mdx | 24 +-- .../logical-synchronizer-upgrade.mdx | 25 +-- .../production-operations/sv-pruning.mdx | 9 +- .../validator-disaster-recovery.mdx | 22 +- .../reference/canton-console-reference.mdx | 65 +----- .../release-notes/splice.mdx | 15 +- .../understand/local-testing.mdx | 66 ++---- ...v-overview-version-information-bash-42.mdx | 3 + ...s-src-deployment-configuration-none-49.mdx | 6 - ...s-src-deployment-configuration-none-51.mdx | 5 + ...s-src-deployment-configuration-yaml-68.mdx | 6 - ...s-src-deployment-configuration-yaml-70.mdx | 5 + ...src-deployment-console-access-bash-166.mdx | 1 - ...src-deployment-console-access-bash-174.mdx | 1 - ...src-deployment-console-access-none-104.mdx | 35 ++-- ...src-deployment-console-access-none-136.mdx | 27 ++- ...-src-deployment-console-access-none-40.mdx | 37 ++-- ...-src-deployment-console-access-none-71.mdx | 37 ++-- ...ment-console-access-parsed-literal-126.mdx | 3 + ...ment-console-access-parsed-literal-154.mdx | 3 + ...yment-console-access-parsed-literal-63.mdx | 3 + ...yment-console-access-parsed-literal-94.mdx | 3 + ...de-docs-src-deployment-traffic-json-94.mdx | 22 +- ...-deployment-traffic-parsed-literal-129.mdx | 3 + ...c-deployment-traffic-parsed-literal-88.mdx | 3 + .../splice-rst-code-docs-src-faq-text-129.mdx | 1 - .../splice-rst-code-docs-src-faq-text-64.mdx | 1 - .../splice-rst-code-docs-src-faq-text-81.mdx | 1 - ...code-docs-src-release-notes-python-738.mdx | 6 + ...code-docs-src-release-notes-python-747.mdx | 5 + ...ocs-src-sv-operator-sv-helm-bash-1033.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-302.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-314.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-326.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-381.mdx} | 1 - ...-docs-src-sv-operator-sv-helm-bash-39.mdx} | 2 +- ...docs-src-sv-operator-sv-helm-bash-507.mdx} | 2 - ...e-docs-src-sv-operator-sv-helm-bash-55.mdx | 15 ++ ...docs-src-sv-operator-sv-helm-bash-627.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-725.mdx} | 2 - ...docs-src-sv-operator-sv-helm-bash-835.mdx} | 1 - ...docs-src-sv-operator-sv-helm-bash-844.mdx} | 2 - ...-docs-src-sv-operator-sv-helm-bash-861.mdx | 7 +- ...-docs-src-sv-operator-sv-helm-bash-873.mdx | 3 + ...docs-src-sv-operator-sv-helm-bash-914.mdx} | 2 - ...-docs-src-sv-operator-sv-helm-bash-93.mdx} | 2 - ...docs-src-sv-operator-sv-helm-bash-990.mdx} | 2 - ...docs-src-sv-operator-sv-helm-none-1135.mdx | 11 + ...docs-src-sv-operator-sv-helm-none-1145.mdx | 12 -- ...v-operator-sv-helm-parsed-literal-1005.mdx | 3 + ...-sv-operator-sv-helm-parsed-literal-30.mdx | 3 + ...sv-operator-sv-helm-parsed-literal-354.mdx | 9 + ...sv-operator-sv-helm-parsed-literal-468.mdx | 15 ++ ...sv-operator-sv-helm-parsed-literal-528.mdx | 6 + ...sv-operator-sv-helm-parsed-literal-691.mdx | 4 + ...sv-operator-sv-helm-parsed-literal-701.mdx | 3 + ...sv-operator-sv-helm-parsed-literal-707.mdx | 5 + ...sv-operator-sv-helm-parsed-literal-715.mdx | 3 + ...-docs-src-sv-operator-sv-helm-text-366.mdx | 4 + ...e-docs-src-sv-operator-sv-helm-text-74.mdx | 4 + ...-docs-src-sv-operator-sv-helm-yaml-440.mdx | 5 + ...-docs-src-sv-operator-sv-helm-yaml-441.mdx | 6 - ...-docs-src-sv-operator-sv-helm-yaml-448.mdx | 5 + ...-docs-src-sv-operator-sv-helm-yaml-449.mdx | 6 - ...-docs-src-sv-operator-sv-helm-yaml-456.mdx | 5 + ...-docs-src-sv-operator-sv-helm-yaml-870.mdx | 15 -- ...-docs-src-sv-operator-sv-helm-yaml-882.mdx | 13 ++ ...-docs-src-sv-operator-sv-helm-yaml-888.mdx | 12 -- ...-docs-src-sv-operator-sv-helm-yaml-900.mdx | 9 + ...-docs-src-sv-operator-sv-helm-yaml-914.mdx | 62 ------ ...-docs-src-sv-operator-sv-helm-yaml-926.mdx | 61 ++++++ ...-logical-synchronizer-upgrade-none-106.mdx | 6 + ...-logical-synchronizer-upgrade-none-118.mdx | 9 + ...-logical-synchronizer-upgrade-none-142.mdx | 5 + ...v-logical-synchronizer-upgrade-none-87.mdx | 5 + ...src-sv-operator-sv-operations-bash-482.mdx | 1 - ...src-sv-operator-sv-operations-bash-507.mdx | 1 - ...src-sv-operator-sv-operations-bash-538.mdx | 1 - ...src-sv-operator-sv-operations-bash-564.mdx | 2 - ...src-sv-operator-sv-operations-bash-683.mdx | 1 - ...src-sv-operator-sv-operations-bash-697.mdx | 1 - ...src-sv-operator-sv-operations-bash-704.mdx | 1 - ...src-sv-operator-sv-operations-bash-718.mdx | 1 - ...src-sv-operator-sv-operations-bash-725.mdx | 1 - ...src-sv-operator-sv-operations-bash-732.mdx | 1 - ...rator-sv-operations-parsed-literal-171.mdx | 10 + ...rator-sv-operations-parsed-literal-193.mdx | 3 + ...rator-sv-operations-parsed-literal-204.mdx | 5 + ...rator-sv-operations-parsed-literal-222.mdx | 5 + ...-src-sv-operator-sv-operations-sql-344.mdx | 3 +- ...-src-sv-operator-sv-operations-sql-359.mdx | 15 +- ...src-sv-operator-sv-operations-yaml-296.mdx | 9 +- ...src-sv-operator-sv-operations-yaml-309.mdx | 13 +- ...src-sv-operator-sv-operations-yaml-821.mdx | 7 +- ...src-sv-operator-sv-operations-yaml-829.mdx | 7 +- ...src-sv-operator-sv-operations-yaml-838.mdx | 7 +- ...src-sv-operator-sv-operations-yaml-846.mdx | 7 +- ...src-sv-operator-sv-operations-yaml-865.mdx | 6 + ...src-sv-operator-sv-operations-yaml-889.mdx | 7 + ...ocs-src-sv-operator-sv-pruning-yaml-62.mdx | 6 + ...cs-src-sv-operator-sv-restore-bash-102.mdx | 3 + ...cs-src-sv-operator-sv-restore-bash-104.mdx | 2 +- ...ocs-src-sv-operator-sv-restore-bash-57.mdx | 10 + ...ocs-src-sv-operator-sv-restore-bash-59.mdx | 6 +- ...ocs-src-sv-operator-sv-restore-bash-74.mdx | 10 + ...ocs-src-sv-operator-sv-restore-bash-76.mdx | 6 +- ...perator-validator-delegations-bash-201.mdx | 11 + ...perator-validator-delegations-bash-215.mdx | 22 ++ ...perator-validator-delegations-bash-251.mdx | 21 ++ ...perator-validator-delegations-bash-276.mdx | 21 ++ ...perator-validator-delegations-bash-309.mdx | 18 ++ ...r-validator-disaster-recovery-bash-137.mdx | 6 +- ...r-validator-disaster-recovery-bash-140.mdx | 5 + ...r-validator-disaster-recovery-bash-159.mdx | 2 +- ...r-validator-disaster-recovery-bash-162.mdx | 3 + ...r-validator-disaster-recovery-bash-456.mdx | 6 +- ...r-validator-disaster-recovery-bash-473.mdx | 2 +- ...r-validator-disaster-recovery-bash-490.mdx | 4 +- ...r-validator-disaster-recovery-none-230.mdx | 4 +- ...r-validator-disaster-recovery-none-238.mdx | 4 +- ...r-validator-disaster-recovery-none-240.mdx | 4 + ...r-validator-disaster-recovery-none-248.mdx | 4 + ...r-validator-disaster-recovery-none-250.mdx | 2 +- ...r-validator-disaster-recovery-none-260.mdx | 3 + ...r-validator-disaster-recovery-none-264.mdx | 2 +- ...r-validator-disaster-recovery-none-274.mdx | 3 + ...r-validator-disaster-recovery-none-299.mdx | 4 + ...r-validator-disaster-recovery-none-309.mdx | 60 +++--- ...r-validator-disaster-recovery-none-314.mdx | 8 + ...r-validator-disaster-recovery-none-351.mdx | 34 +-- ...r-validator-disaster-recovery-none-355.mdx | 32 +++ ...r-validator-disaster-recovery-none-373.mdx | 34 +-- ...r-validator-disaster-recovery-none-397.mdx | 19 ++ ...r-validator-disaster-recovery-none-405.mdx | 8 +- ...r-validator-disaster-recovery-none-419.mdx | 19 ++ ...r-validator-disaster-recovery-none-451.mdx | 5 + ...r-validator-disaster-recovery-none-485.mdx | 9 + ...r-disaster-recovery-parsed-literal-268.mdx | 3 + ...r-disaster-recovery-parsed-literal-443.mdx | 4 + ...r-validator-disaster-recovery-yaml-182.mdx | 6 +- ...r-validator-disaster-recovery-yaml-185.mdx | 5 + ...dator-operator-validator-helm-bash-103.mdx | 6 +- ...dator-operator-validator-helm-bash-116.mdx | 6 +- ...dator-operator-validator-helm-bash-145.mdx | 5 + ...dator-operator-validator-helm-bash-158.mdx | 5 + ...dator-operator-validator-helm-bash-310.mdx | 14 +- ...dator-operator-validator-helm-bash-322.mdx | 12 +- ...dator-operator-validator-helm-bash-352.mdx | 9 + ...dator-operator-validator-helm-bash-364.mdx | 9 + ...dator-operator-validator-helm-bash-451.mdx | 14 +- ...dator-operator-validator-helm-bash-482.mdx | 9 + ...dator-operator-validator-helm-bash-514.mdx | 8 +- ...dator-operator-validator-helm-bash-526.mdx | 6 +- ...ator-operator-validator-helm-bash-545.mdx} | 1 - ...dator-operator-validator-helm-bash-557.mdx | 3 + ...dator-operator-validator-helm-bash-567.mdx | 6 +- ...dator-operator-validator-helm-bash-598.mdx | 3 + ...dator-operator-validator-helm-bash-611.mdx | 6 +- ...dator-operator-validator-helm-bash-642.mdx | 3 + ...idator-operator-validator-helm-bash-65.mdx | 1 - ...rator-validator-helm-parsed-literal-31.mdx | 3 + ...ator-validator-helm-parsed-literal-472.mdx | 5 + ...ator-validator-helm-parsed-literal-657.mdx | 3 + ...dator-operator-validator-helm-yaml-127.mdx | 6 + ...dator-operator-validator-helm-yaml-535.mdx | 22 +- ...dator-operator-validator-helm-yaml-553.mdx | 14 +- ...dator-operator-validator-helm-yaml-566.mdx | 13 ++ ...dator-operator-validator-helm-yaml-576.mdx | 58 +++--- ...dator-operator-validator-helm-yaml-584.mdx | 9 + ...dator-operator-validator-helm-yaml-607.mdx | 31 +++ ...dator-operator-validator-helm-yaml-771.mdx | 16 +- ...dator-operator-validator-helm-yaml-789.mdx | 11 + ...dator-operator-validator-helm-yaml-797.mdx | 14 +- ...dator-operator-validator-helm-yaml-815.mdx | 9 + ...idator-operator-validator-helm-yaml-82.mdx | 7 +- ...operator-validator-onboarding-bash-107.mdx | 1 - ...operator-validator-onboarding-bash-136.mdx | 1 - ...alidator-onboarding-parsed-literal-126.mdx | 7 + ...validator-onboarding-parsed-literal-86.mdx | 3 + ...validator-onboarding-parsed-literal-95.mdx | 8 + ...ocs-src-common-reloader-recommendation.mdx | 0 188 files changed, 1192 insertions(+), 941 deletions(-) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-42.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-49.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-51.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-68.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-70.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-126.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-154.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-129.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-88.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-1021.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-301.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-302.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-313.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-314.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-325.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-326.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-380.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-381.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-38.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx} (62%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-500.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-507.mdx} (99%) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-55.mdx rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-616.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-627.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-713.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-725.mdx} (99%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-823.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-835.mdx} (98%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-832.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-844.mdx} (96%) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-873.mdx rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-902.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-914.mdx} (98%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-91.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-93.mdx} (94%) rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-978.mdx => splice-rst-code-docs-src-sv-operator-sv-helm-bash-990.mdx} (97%) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1135.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1145.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-366.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-74.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-441.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-449.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-870.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-888.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-914.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-102.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx rename docs-main/snippets/external/splice/main/{splice-rst-code-docs-src-sv-operator-sv-helm-bash-849.mdx => splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx} (99%) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-reloader-recommendation.mdx diff --git a/docs-main/global-synchronizer/canton-console/console-overview.mdx b/docs-main/global-synchronizer/canton-console/console-overview.mdx index 39c7e9f9..62f8e676 100644 --- a/docs-main/global-synchronizer/canton-console/console-overview.mdx +++ b/docs-main/global-synchronizer/canton-console/console-overview.mdx @@ -3,10 +3,16 @@ title: "Console Overview" description: "Accessing and using the Canton Console for validator and SV node operations" --- -import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone40 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessBash166 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-166.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessBash174 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-174.mdx"; - +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone104 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone136 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone40 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone71 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral126 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-126.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral154 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-154.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral63 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral94 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx"; import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; @@ -21,15 +27,15 @@ Requirements: Once you see the following banner for the console you have successfully gained access -``` text -_____ _ -/ ____| | | -| | __ _ _ __ | |_ ___ _ __ -| | / _` | '_ \| __/ _ \| '_ \ -| |___| (_| | | | | || (_) | | | | -\_____\__,_|_| |_|\__\___/|_| |_| - -Welcome to Canton! +```text + _____ _ + / ____| | | + | | __ _ _ __ | |_ ___ _ __ + | | / _` | '_ \| __/ _ \| '_ \ + | |___| (_| | | | | || (_) | | | | + \_____\__,_|_| |_|\__\___/|_| |_| + + Welcome to Canton! ``` ## Participant console @@ -45,9 +51,7 @@ Welcome to Canton! -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -55,34 +59,13 @@ docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_ If you run the participant using the docker compose setup the docker command must be run with the docker network used by the participant. Adjust the configuration to connect to the participant container: -```text -canton { - remote-participants { - participant { - admin-api { - port = 5002 - address = participant - } - ledger-api { - port = 5001 - address = participant - } - token = "" - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + Running docker with the default network (`splice-validator`): -```bash -docker run -it --rm --network splice-validator -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -94,31 +77,11 @@ docker run -it --rm --network splice-validator -v $(pwd)/console.conf:/app/app.c 2. Add the configuration to a local file `console.conf` -``` -canton { - remote-sequencers { - sequencer { - public-api { - port = 5008 - address = localhost - } - admin-api { - port = 5009 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + 3. Run the docker command -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -130,27 +93,11 @@ docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_ 2. Add the configuration to a local file `console.conf` -``` -canton { - remote-mediators { - mediator { - admin-api { - port = 5007 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + 3. Run the docker command -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + diff --git a/docs-main/global-synchronizer/deployment/configuration.mdx b/docs-main/global-synchronizer/deployment/configuration.mdx index 37f3a910..a6f2a12e 100644 --- a/docs-main/global-synchronizer/deployment/configuration.mdx +++ b/docs-main/global-synchronizer/deployment/configuration.mdx @@ -3,8 +3,8 @@ title: "Custom Configuration" description: "Key configuration parameters for Canton Network validator nodes" --- -import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConfigurationNone49 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-49.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConfigurationYaml68 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-68.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConfigurationNone51 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-51.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConfigurationYaml70 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-70.mdx"; {/* COPIED_START source="splice:docs/src/deployment/configuration.rst" hash="22d3b95a" */} @@ -40,7 +40,7 @@ point to the release that these docs are built from; or inline the source code o Both Canton and splice support bootstrap scripts during initialization. While this usually should not be needed as the validator app takes care of initializing the node, in some scenarios it can be useful. To do so, you need to set the `OVERRIDE_BOOTSTRAP_SCRIPT` environment variable to the content of your bootstrap script. Note that the script must be wrapped in a `main` function, e.g., - + You can set this environment variable through `additionalEnvVars` as described below. @@ -50,7 +50,7 @@ Note that this overwrites any bootstrap scripts baked into the container image. The helm charts can be configured through the value `additionalEnvVars`, which passes the values as environment variables to the apps. - + {/* COPIED_END */} \ No newline at end of file diff --git a/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx b/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx index 5b354962..c8f9ed96 100644 --- a/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx +++ b/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx @@ -3,27 +3,42 @@ title: "Super Validator Helm Deployment" description: "Deploying a Super Validator node on Kubernetes using Helm charts" --- -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash91 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-91.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash301 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-301.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash313 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-313.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash325 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-325.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash380 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-380.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml441 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-441.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml449 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-449.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash500 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-500.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash616 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-616.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash713 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-713.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash823 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-823.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash832 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-832.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash849 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-849.mdx"; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonBackupSuggestion from '/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonReloaderRecommendation from '/snippets/external/splice/main/splice-rst-full-docs-src-common-reloader-recommendation.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash1033 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash39 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral354 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral528 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral691 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral701 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral707 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral715 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral1005 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml456 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmSvValuesMigrationStart from "/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-migration-start.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash55 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-55.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmText74 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-74.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmText366 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-366.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash302 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-302.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash314 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-314.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash326 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-326.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash381 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-381.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash507 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-507.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash627 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-627.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash725 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-725.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash835 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-835.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash844 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-844.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash861 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-861.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml870 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-870.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml888 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-888.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash902 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-902.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml914 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-914.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash978 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-978.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmNone1145 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1145.mdx"; - +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash873 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-873.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash914 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-914.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash93 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-93.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash990 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-990.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmNone1135 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1135.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml440 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml448 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml882 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml900 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmYaml926 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926.mdx"; import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; @@ -52,10 +67,9 @@ tar xzvf |version|_splice-node.tar.gz 5) Please inquire the migration id and serial id of the global synchronizer on your target network. The migration ID is frozen at the value after the last major upgrade and is only used for `migration.id` in the helm chart values. The serial ID is 0 for the initial synchronizer deployment and is incremented by 1 for each logical synchronizer upgrade. The serial ID is used for helm release names, DNS entries, database names, and deployment naming. -```bash -export MIGRATION_ID=0 -export SERIAL_ID=0 -``` + + + @@ -65,28 +79,11 @@ SV operators are identified by a human-readable name and an EC public key. This Use the following shell commands to generate a keypair in the format expected by the SV node software: -```bash -# Generate the keypair -openssl ecparam -name prime256v1 -genkey -noout -out sv-keys.pem - -# Encode the keys -public_key_base64=$(openssl ec -in sv-keys.pem -pubout -outform DER 2>/dev/null | base64 | tr -d "\n") -private_key_base64=$(openssl pkcs8 -topk8 -nocrypt -in sv-keys.pem -outform DER 2>/dev/null | base64 | tr -d "\n") - -# Output the keys -echo "public-key = \"$public_key_base64\"" -echo "private-key = \"$private_key_base64\"" - -# Clean up -rm sv-keys.pem -``` + These commands should result in an output similar to: -```text -public-key = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1eb+JkH2QFRCZedO/P5cq5d2+yfdwP+jE+9w3cT6BqfHxCd/PyA0mmWMePovShmf97HlUajFuN05kZgxvjcPQw==" -private-key = "MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCBsFuFa7Eumkdg4dcf/vxIXgAje2ULVz+qTKP3s/tHqKw==" -``` + Store both keys in a safe location. You will be using them every time you want to deploy a new SV node, i.e., also when deploying an SV node to a different deployment of the Global Synchronizer and for redeploying an SV node after a (test-)network reset. @@ -102,7 +99,7 @@ adjust wording above to the fact the MainNet is live Create the application namespace within Kubernetes. - + ## Configuring Authentication @@ -234,15 +231,15 @@ We are now going to configure your SV node software based on the OIDC provider c The following kubernetes secret will instruct the participant to create a service user for your SV app (omit the scope if it is not needed in your setup). - + The validator app backend requires the following secret (omit the scope if it is not needed in your setup). - + To setup the wallet, CNS and SV UI, create the following two secrets. - + ## Configuring your CometBFT node @@ -256,24 +253,13 @@ To generate the node config you use the CometBFT docker image provided through G Use the following shell commands to generate the proper keys: -```bash -# Create a folder to store the config -mkdir cometbft -cd cometbft -# Init the node -docker run --rm -v "$(pwd):/init" |docker_repo_prefix|/cometbft:|version| init --home /init -# Read the node id and keep a note of it for the deployment -docker run --rm -v "$(pwd):/init" |docker_repo_prefix|/cometbft:|version| show-node-id --home /init -``` + Please keep a note of the node ID printed out above. In addition, please retain some of the configuration files generated, as follows (you might need to change the permissions/ownership for them as they are accessible only by the root user): -```text -cometbft/config/node_key.json -cometbft/config/priv_validator_key.json -``` + Any other files can be ignored. @@ -283,7 +269,7 @@ Any other files can be ignored. The CometBFT node is configured with a secret, based on the output from Generating the CometBFT node identity The secret is created as follows, with the `node_key.json` and `priv_validator_key.json` files representing the files generated as part of the node identity: - + ### Configuring CometBFT state sync @@ -314,25 +300,21 @@ To do so, SV operators must perform the following steps. Step 1. In `sv-validator-values.yaml`, add the following `synchronizer` config. -```yaml -synchronizer: - connectionType: "trust-single" - url: "SEQUENCER_PUBLIC_URI" # synchronizers.current.sequencerPublicUrl from sv-values.yaml -``` + Step 2. In `validator-values.yaml`, add the following or an equivalent config override: - + Step 3. In `sv-values.yaml`, add the following or an equivalent config override: - + The default behavior is restored by undoing above changes. To confirm the current configuration of your SV participant, open a Canton console to it and execute `participant.synchronizers.config("global")`. In case BFT sequencer connections are disabled, this should return a single sequencer connection in an output similar to the following: -```bash +```haskell @ participant.synchronizers.config("global") res1: Option[SynchronizerConnectionConfig] = Some( value = SynchronizerConnectionConfig( @@ -360,7 +342,7 @@ We support both Cloud-hosted Postgres instances and Postgres instances running i All apps support reading the Postgres password from a Kubernetes secret. Currently, all apps use the Postgres user `cnadmin`. The password can be setup with the following command, assuming you set the environment variables `POSTGRES_PASSWORD_XXX` to secure values: - + ### Postgres in the Cluster @@ -368,12 +350,7 @@ All apps support reading the Postgres password from a Kubernetes secret. Current If you wish to run the Postgres instances as pods in your cluster, you can use the `splice-postgres` Helm chart to install them: -```bash -helm install sequencer-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-sequencer.yaml --wait -helm install mediator-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-mediator.yaml --wait -helm install participant-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-participant.yaml --wait -helm install apps-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-apps.yaml --wait -``` + @@ -389,6 +366,8 @@ Note that the default Helm values files used below assume that the Postgres inst ## Installing the Software + + ### Configuring the Helm Charts @@ -451,7 +430,7 @@ Additionally, please modify the file `splice-node/examples/sv-helm/sv-validator- The private and public key for your SV are defined in a K8s secret. If you haven't done so yet, please first follow the instructions in the Generating an SV Identity section to obtain and register a name and keypair for your SV. Replace `YOUR_PUBLIC_KEY` and `YOUR_PRIVATE_KEY` with the `public-key` and `private-key` values obtained as part of generating your SV identity. - + For configuring your sv app, please modify the file `splice-node/examples/sv-helm/sv-values.yaml` as follows: @@ -468,17 +447,7 @@ For configuring your sv app, please modify the file `splice-node/examples/sv-hel - If you would like to redistribute all or part of the SV rewards with other parties, you can fill up the `extraBeneficiaries` section with the desired parties and the percentage of the reward that corresponds to them. Note that the party you register must be known on the network for the reward coupon issuance to succeed. Furthermore, that party must be hosted on a validator node for its wallet to collect the SV reward coupons. That collection will happen automatically if the wallet is running. If it is not running during the time that the reward coupon can be collected, the corresponding reward is marked as unclaimed, and stored in an DSO-wide unclaimed reward pool. The `extraBeneficiaries` can be changed with just a restart of the SV app. - Optionally, uncomment the line for `initialAmuletPrice` and set it to your desired amulet price. This will create an amulet price vote from your SV with the configured price when onboarded. If not set, no vote will be cast. This can always be done later manually from the SV app UI. -```yaml -# Replace MIGRATION_ID with the migration ID of the global synchronizer. -migration: - id: "MIGRATION_ID" - # Uncomment these when redeploying as part of a migration, - # i.e., MIGRATION_ID was incremented and a migration dump was exported to the attached pvc. - # migrating: true - # This declares that your sequencer with that migration id is still up. You should remove it - # once you take down the sequencer for the prior migration id - # legacyId: "MIGRATION_ID_BEFORE_INCREMENTED" -``` + Please modify the file `splice-node/examples/sv-helm/info-values.yaml` as follows: @@ -510,36 +479,25 @@ With these files in place, you can execute the following helm commands in sequen Install the Canton and CometBFT components: -```bash -helm install global-domain-${SERIAL_ID}-cometbft |helm_repo_prefix|/splice-cometbft -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/cometbft-values.yaml --wait -helm install global-domain-${SERIAL_ID} |helm_repo_prefix|/splice-global-domain -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/global-domain-values.yaml --wait -``` + Note that we use the serial ID when naming Canton synchronizer components. This is to support operating multiple instances of these components side by side as part of a logical synchronizer upgrade. Install the participant: -```bash -helm install participant |helm_repo_prefix|/splice-participant -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/participant-values.yaml --wait -``` + Install the SV node apps: -```bash -helm install sv |helm_repo_prefix|/splice-sv-node -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/sv-values.yaml -f ${SV_IDENTITIES_FILE} -f ${UI_CONFIG_VALUES_FILE} --wait -helm install scan |helm_repo_prefix|/splice-scan -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/scan-values.yaml -f ${UI_CONFIG_VALUES_FILE} --wait -helm install validator |helm_repo_prefix|/splice-validator -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-values.yaml -f splice-node/examples/sv-helm/sv-validator-values.yaml -f ${UI_CONFIG_VALUES_FILE} --wait -``` + Install the INFO app, which is used to provide information about the SV node and its configuration: -```bash -helm install info |helm_repo_prefix|/splice-info -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/info-values.yaml -``` + Once everything is running, you should be able to inspect the state of the cluster and observe pods running in the new namespace. A typical query might look as follows: - + Note also that `Pod` restarts may happen during bringup, particularly if all helm charts are deployed at the same time. The `splice-sv-node` cannot start until `participant` is running and `participant` cannot start until `postgres` is running. @@ -597,13 +555,13 @@ Your SV node should be configured with a url to your `global-domain-sequencer` s Make sure your cluster's ingress is correctly configured for the sequencer service and can be accessed through the provided URL. To check whether the sequencer is accessible, we can use the command below with the [grpcurl tool](https://github.com/fullstorydev/grpcurl) : - + If you are using the ingress configuration of this runbook, the `:` should be `sequencer-SERIAL_ID.sv.YOUR_HOSTNAME:443` Please replace `YOUR_HOSTNAME` with your host name and `SERIAL_ID` with the serial ID of the synchronizer that the sequencer is part of. If you see the response below, it means the sequencer is up and accessible through the URL. - + ### Requirements @@ -614,7 +572,7 @@ In order to install the reference charts, the following must be satisfied in you **Example of Istio installation:** - + ### Installation Instructions @@ -622,30 +580,30 @@ In order to install the reference charts, the following must be satisfied in you Create a `cluster-ingress` namespace: - + Ensure that there is a cert-manager certificate available in a secret named `cn-net-tls`. An example of a suitable certificate definition: - + Create a file named `istio-gateway-values.yaml` with the following content (Tip: on GCP you can get the cluster IP from `gcloud compute addresses list`): - + And install it to your cluster: - + Create Istio Gateway resources in the `cluster-ingress` namespace. Save the following to a file named `gateways.yaml`, with the following modifications: - Replace `YOUR_HOSTNAME` with the actual hostname of your SV node - The second gateway (cn-apps-gateway) exposes ports for three migration IDs (0, 1, and 2) for the CometBFT apps of the SV node. If a higher migration ID is reached, expand that list using the same pattern. - + And apply them to your cluster: - + The http gateway terminates tls using the secret that you configured above, and exposes raw http traffic in its outbound port 443. Istio VirtualServices can now be created to route traffic from there to the required pods within the cluster. A reference Helm chart is provided for that, which can be installed after @@ -654,9 +612,7 @@ The http gateway terminates tls using the secret that you configured above, and using: -```bash -helm install cluster-ingress-sv |helm_repo_prefix|/splice-cluster-ingress-runbook -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/sv-cluster-ingress-values.yaml -``` + @@ -673,9 +629,7 @@ Connectivity to the following destinations is required throughout operation to e Connectivity from the local scan app to the scan instances of all other SVs is required so that the scan app can backfill its data in a `BFT` fashion. It might also be required in the future to support the operation of the ordering layer (post CometBFT). To get a list of all current scan instances, you can query the `/api/scan/v0/scans` endpoint on any scan instances known to you. For example using the sponsor's scan instance (and with some optional post-processing using [jq](https://jqlang.org/)): -```bash -curl https://scan.sv-1./api/scan/v0/scans | jq -r '.scans.[].scans.[].publicUrl' -``` +
@@ -732,7 +686,7 @@ This will automatically pick up the conversion rate from `#splice-amulet-name-se Note that SVs must wait `voteCooldownTime` (a governance parameter that defaults to 1min) between updates to their rate. Therefore updates made by the publisher will not propagate immediately. - + [^1]: The URL must be reachable from the Canton participant, validator app and SV app running in your cluster, as well as from all web browsers that should be able to interact with the SV and wallet UIs. diff --git a/docs-main/global-synchronizer/deployment/onboarding-process.mdx b/docs-main/global-synchronizer/deployment/onboarding-process.mdx index f0b38bce..529dab2e 100644 --- a/docs-main/global-synchronizer/deployment/onboarding-process.mdx +++ b/docs-main/global-synchronizer/deployment/onboarding-process.mdx @@ -8,6 +8,9 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorOnboardin import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorOnboardingParsedLiteral126 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorOnboardingParsedLiteral95 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorOnboardingParsedLiteral86 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86.mdx"; {/* COPIED_START source="splice:docs/src/validator_operator/validator_onboarding.rst" hash="a1a3ab0c" */} @@ -45,22 +48,13 @@ To validate that the SVs have added you to their respective IP allowlists, you c First, please confirm that your egress IP in the terminal in which you are running the command is indeed the one you provided for whitelisting by running: -```bash -curl -sSL http://checkip.amazonaws.com -``` + and confirming that the IP matches what you have provided for whitelisting. If it does, run the following command to check to which instance of Scan you can connect. Note that the following snippet requires installing [jq](https://jqlang.org/). -```bash -(set -o pipefail -CURL='curl -fsS -m 5 --connect-timeout 5' -for url in $($CURL |gsf_scan_url|/api/scan/v0/scans | jq -r '.scans[].scans[].publicUrl'); do - echo -n "$url: " - $CURL "$url"/api/scan/version | jq -r '.version' -done) -``` + You should see output in the form shown below, where each line indicates one SV and the version it is on. If you see timeouts that SV has not yet added you to their allowlist, if you do not get any errors, then all SVs have added you. Note that the URLs and versions will vary over time so don't try to compare exactly. @@ -68,13 +62,7 @@ You should see output in the form shown below, where each line indicates one SV Apart from connectivity to Scan, your validator must also be able to connect to the sequencer endpoints of the SVs. If you are encountering issues related to connecting to the synchronizer, you can use the following snippet to confirm that you are able to reach those endpoints (i.e., that SVs have whitelisted your IP for those endpoints as well). Note that the following snippet requires installing [jq](https://jqlang.org/) and [grpcurl](https://github.com/fullstorydev/grpcurl). -```bash -(set -o pipefail -for url in $(curl -fsS -m 5 --connect-timeout 5 |gsf_scan_url|/api/scan/v0/dso-sequencers | jq -r '.domainSequencers[].sequencers[].url | sub("https://"; "")'); do - echo -n "$url: " - grpcurl --max-time 10 "$url":443 grpc.health.v1.Health/Check -done) -``` + Sequencers that are functional and have whitelisted your IP correctly will return `"status": "SERVING"` in the `grpcurl` output. diff --git a/docs-main/global-synchronizer/deployment/sv-operations.mdx b/docs-main/global-synchronizer/deployment/sv-operations.mdx index eeb7899d..15599083 100644 --- a/docs-main/global-synchronizer/deployment/sv-operations.mdx +++ b/docs-main/global-synchronizer/deployment/sv-operations.mdx @@ -12,6 +12,10 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsBash507 from import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsBash538 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-538.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsBash564 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-564.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsBash683 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-683.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral222 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral204 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral193 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral171 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx"; {/* COPIED_START source="splice:docs/src/sv_operator/sv_operations.rst" hash="cbceece9" */} @@ -96,42 +100,23 @@ One way to determine the current traffic consumption (in bytes) of a CC transfer \(b\) had a single coin input. You can confirm both of these conditions by looking at the matching log entry of the form: - ```bash - executing batch AmuletOperationBatch( - nonMergeOperations = AmuletOperation( - from = tid:80afc8ae63defcb7a636d2cd23e38c0d, - op = CO_CompleteAcceptedTransfer(ContractId(00ebc78671f4b5f688d8245a1e0c6c72f378c0c90c7ca574a3c3a615489f3ca15dca1012208d8f9eb3ffe0d0a05b207e2bc3fb3f3e7d31c0b594eaefcfd486411386de775c)), - priority = Low - ), - priority = Low - ) with inputs Vector(InputAmulet(ContractId(002ace5687dc7f82cb0ca80d2b349a39b1127ffd01db2cd7172053fef88308e6faca1012202646cd3cbb31c78314c3ef22657d4ba6f7f096e90167dcd0d71eba565fa35844))) - ``` + Use the `trace-id` from this log enty's metadata (**not** the `tid` in view here but from the dedicated `trace-id` field on the log entry JSON) to confirm that this log entry matches your transfer (by searching your logs by the `trace-id` to find for entries that contain the full `AcceptedTransferOffer`, for example). Note in this example that (a) there is a single operation in the executed bach and (b) the operation has a single input. If this is not true for the transfer you initiated, go back to step 2 and initiate a new transfer, as batching or multi-input transfers will skew the measurement results. 4. Search your `validator-app` logs on the `sender` for the `trace-id` visible in the previous step. The goal is to tie the action here to a `trace-id` on the Canton side. Search for a log entry of the following form: - ```bash - Request (tid:43fd8ad332ca637b0c7c1509b2bdf715) com.daml.ledger.api.v2.CommandService/SubmitAndWaitForTransactionTree to participant-1:5001: sending request - ``` + The `tid` in this log entry is the `trace-id` that you're looking for. It will be different from the `trace-id` in the log entry metadata (that you used to link this log entry to the transfer operation visible above). 5. Search your SV's `sequencer` logs for the `trace-id` from the previous step. You want to use a log filter along the lines of (all rules here should be concatenated with logical "AND"s): - ```bash - resource.labels.container_name="sequencer" - jsonPayload.logger_name="c.d.c.s.t.TrafficConsumedManager:sequencer=sequencer" - jsonPayload."trace-id"="43fd8ad332ca637b0c7c1509b2bdf715" - ``` + 6. The resulting log lines contain traffic consumption information about the sender and receiver participants, but also about all SV participants. (SV participants are stakeholders to all CC transfers.) To determine only the traffic consumption of the sender and receiver participants, you must filter for the participant IDs of the sender and receiver. A simple approach to achieve the correct filtering is to filter for parts of the party suffixes of the sender and receiver parties, as the suffix (namespace) of a party will typically be identical to that of the participants hosting the party. Filtering the resulting log lines for the participant IDs corresponding to the sender and receiver, you should get log lines similar to the following: - ```bash - Consumed 16147 for PAR::sender::... - Consumed 711 for PAR::receiver::... - Consumed 1450 for PAR::sender::... - ``` + 7. Sum up the numbers in the log lines to get the total traffic consumed for the last leg of a CC transfer. In this example, the total traffic consumed would be 17597 bytes for the sender and 711 bytes for the receiver. diff --git a/docs-main/global-synchronizer/deployment/synchronizer-traffic.mdx b/docs-main/global-synchronizer/deployment/synchronizer-traffic.mdx index 0216ffe5..e1da6e78 100644 --- a/docs-main/global-synchronizer/deployment/synchronizer-traffic.mdx +++ b/docs-main/global-synchronizer/deployment/synchronizer-traffic.mdx @@ -7,6 +7,8 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentTrafficJson94 from "/snip import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentTrafficParsedLiteral129 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-129.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentTrafficParsedLiteral88 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-88.mdx"; {/* COPIED_START source="splice:docs/src/deployment/traffic.rst" hash="0e110a7b" */} @@ -45,9 +47,7 @@ Traffic accounting is "by participant"; all parties hosted on the same participa The current synchronizer traffic parameters are recorded on the global `AmuletRules` contract and can be obtained from Scan. You can obtain them via the Scan UI or by querying the Scan API using, for example, this command (requires installing [jq](https://jqlang.org/)): -```bash -curl -X POST --header "Content-Type: application/json" -d "{}" |gsf_scan_url|/api/scan/v0/amulet-rules | jq ".amulet_rules_update.contract.payload.configSchedule.initialValue.decentralizedSynchronizer.fees" -``` + Above command will return a JSON object similar to the following: @@ -59,9 +59,7 @@ This represents an encoded instance of the `SynchronizerFeesConfig` Daml data ty - `extraTrafficPrice`: the price of extra traffic beyond the free tier, denominated in USD per MB. The price is charged in `CC` as per the current USD exchange rate. The exchange rate is determined by SVs via median voting and recorded on current `OpenMiningRound` contracts obtainable from Scan. For querying the current CC price in USD as per the currently open mining round, you can check the Scan UI or use the following command (requires installing [jq](https://jqlang.org/)): - ```bash - curl -X POST --header "Content-Type: application/json" -d "{\"cached_open_mining_round_contract_ids\":[], \"cached_issuing_round_contract_ids\":[]}" |gsf_scan_url|/api/scan/v0/open-and-issuing-mining-rounds | jq ".open_mining_rounds | values[] | .contract.payload | {round, amuletPrice}" - ``` + - `readVsWriteScalingFactor`: specifies the weight of additional traffic balance subtractions (from a sender's balance) for delivering a synchronizer message to each of its recipients. Delivering messages incurs actual costs for the SVs, even if this cost is much smaller than the cost of ordering and persisting messages. The `readVsWriteScalingFactor` is specified in basis points (parts per 10,000), i.e., a value of 1 means that for each 1000 bytes that need to be delivered to a recipient, 0.1 bytes of traffic will be charged. So for example: At a factor of 4, a 1 MB message with 10 recipients will draw `1,000,000 * (1 + 10 * 0.004) = 1,040,000` bytes from the sending participant's traffic balance. diff --git a/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx b/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx index 5f3d33c5..537ebe6d 100644 --- a/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx +++ b/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx @@ -19,9 +19,18 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmYaml5 import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmBash611 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-611.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmYaml771 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmYaml797 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797.mdx"; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonBackupSuggestion from '/snippets/external/splice/main/splice-rst-full-docs-src-common-backup-suggestion.mdx'; +import ExternalSpliceMainSpliceRstPartialDocsSrcValidatorOperatorRequiredNetworkParameters9 from '/snippets/external/splice/main/splice-rst-partial-docs-src-validator-operator-required-network-parameters-9.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonReloaderRecommendation from '/snippets/external/splice/main/splice-rst-full-docs-src-common-reloader-recommendation.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonTrafficTopups from '/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx'; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonWalletSweeps from '/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx'; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmStandaloneValidatorValuesConfiguringTopupStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx'; import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmParsedLiteral657 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmParsedLiteral472 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorHelmYaml127 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127.mdx"; {/* COPIED_START source="splice:docs/src/validator_operator/validator_helm.rst" hash="b0bc851d" */} @@ -46,6 +55,10 @@ This section describes how to deploy a standalone validator node in Kubernetes u tar xzvf |version|_splice-node.tar.gz ``` + + + + - **TRUSTED_SCAN_URL** — The scan URL of an SV that you trust and that is reachable by your validator, often your SV sponsor. This should be of the form |generic_scan_url|, e.g., for the Global Synchronizer Foundation SV it is |gsf_scan_url|. Additional parameters describing your own setup as opposed to the connection to the network are described below. @@ -95,12 +108,7 @@ The value is a `|`-separated list of patterns that follows the standard Java `no Example `additionalJvmOptions` for the validator helm chart that proxies external traffic but bypasses the proxy for `localhost` / `127.0.0.1`, any host in the `.internal` domain, and any IPv4 address whose literal string representation starts with `10.`: -```yaml -additionalJvmOptions: | - -Dhttps.proxyHost=your.proxy.host - -Dhttps.proxyPort=your_proxy_port - -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.internal|10.* -``` + ## Configuring PostgreSQL authentication @@ -258,6 +266,8 @@ When running without authentication, the username of the validator administrator ## Installing the Software + + ### Configuring the Helm Charts @@ -379,11 +389,7 @@ Finally, please download the UI config values file from [https://github.com/glob With these files in place, you can execute the following helm commands in sequence. It's generally a good idea to wait until each deployment reaches a stable state prior to moving on to the next step. -```bash -helm install postgres |helm_repo_prefix|/splice-postgres -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-validator-participant.yaml --wait -helm install participant |helm_repo_prefix|/splice-participant -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/participant-values.yaml -f splice-node/examples/sv-helm/standalone-participant-values.yaml --wait -helm install validator |helm_repo_prefix|/splice-validator -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-values.yaml -f splice-node/examples/sv-helm/standalone-validator-values.yaml --wait -``` + Once this is running, you should be able to inspect the state of the cluster and observe pods running in the new namespace. A typical query might look as follows: @@ -463,9 +469,7 @@ This gateway terminates tls using the secret that you configured above, and expo using: -```bash -helm install cluster-ingress-validator |helm_repo_prefix|/splice-cluster-ingress-runbook -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-cluster-ingress-values.yaml -``` + @@ -485,17 +489,9 @@ explain the config sections below in a way that makes them also accessible to th By default your node will be configured to automatically purchase traffic on a pay-as-you-go basis (see automatically purchase traffic). To disable or tune to your needs, edit the following section in the validator-values.yaml file: -```yaml -# Configuring a validator's traffic top-up loop; -# see documentation for more detailed information. -topup: - # set to false in order to disable automatic traffic top-ups - enabled: true - # target throughput in bytes / second of sequenced traffic; targetThroughput=0 <=> enabled=false - targetThroughput: 20000 - # minTopupInterval - minimum time interval that must elapse before the next top-up - minTopupInterval: "1m" -``` + + +
@@ -505,6 +501,8 @@ topup: ## Configuring sweeps and auto-accepts of transfer offers + + To do so, uncomment and fill in the following section in the `validator-values.yaml` file: ```yaml diff --git a/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx b/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx index 39cf4597..a0b61467 100644 --- a/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx +++ b/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx @@ -4,6 +4,8 @@ description: "Recovery procedures for data corruption, SV re-onboarding, and Com --- import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash104 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash74 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash57 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx"; {/* COPIED_START source="splice:docs/src/sv_operator/sv_restore.rst" hash="9e120ae8" */} @@ -28,31 +30,13 @@ Assuming such a consistent set of backups is available, the following steps can Scale down all components in the SV node to 0 replicas (replace `-0` with the correct serial ID in case a logical synchronizer upgrade has already been performed): -```bash -kubectl scale deployment --replicas=0 -n sv \ - global-domain-0-cometbft \ - global-domain-0-mediator \ - global-domain-0-sequencer \ - participant \ - scan-app \ - sv-app \ - validator-app -``` + Restore the storage and DBs of all components from the backups. The exact process for this depends on the storage and DBs used by the components, and is not documented here. Once all storage has been restored, scale up all components in the SV node back to 1 replica (replace `-0` with the correct serial ID in case a logical synchronizer upgrade has already been performed): -```bash -kubectl scale deployment --replicas=1 -n sv \ - global-domain-0-cometbft \ - global-domain-0-mediator \ - global-domain-0-sequencer \ - participant \ - scan-app \ - sv-app \ - validator-app -``` + Once all components are healthy again, they should start catching up their state from peer SVs, and eventually become functional again. diff --git a/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx b/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx index 292f71e0..344bc551 100644 --- a/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx +++ b/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx @@ -5,6 +5,9 @@ description: "Upgrade the protocol version of a Global Synchronizer with very li import { Version, VersionOption } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvLogicalSynchronizerUpgradeNone87 from '/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvLogicalSynchronizerUpgradeNone118 from '/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvLogicalSynchronizerUpgradeNone142 from '/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142.mdx'; {/* COPIED_START source="splice:docs/src/sv_operator/sv_logical_synchronizer_upgrade.rst" hash="687d5313" */} @@ -79,11 +82,7 @@ Concretely, the procedure is as follows: 1. The old physical synchronizer is deemed broken and the last sequenced message was at record time R. 2. Super validators configure this as the max sequencing time on the old sequencer to guarantee that nothing accidentally gets sequenced after that time. This is done by applying the following environment variable to the existing sequencer: -``` -- name: ADDITIONAL_CONFIG_SEQUENCER_LSU_MAX_SEQUENCING_TIME - value: | - canton.sequencers.sequencer.parameters.lsu-repair.global-max-sequencing-time-exclusive=MAX_SEQUENCING_TIME -``` + 2. Super validators deploy successor nodes. Depending on the issue, the successor nodes may be configured with older image and protocol @@ -117,15 +116,7 @@ Concretely, the procedure is as follows: 4. Super validators configure their SV app app to transfer the topology and traffic state from the old physical synchronizer to the successor nodes. To do so, add the following helm values to the SV app: -``` -rollForwardLsu: - newPhysicalSynchronizerSerial: NEW_PHYSICAL_SYNCHRONIZER_SERIAL # Must be agreed between SVs, usually existing (broken) synchronizer serial + 1 - newPhysicalSynchronizerProtocolVersion: NEW_PHYSICAL_SYNCHRONIZER_PROTOCOL_VERSION # Must be agreed between SVs, usually existing (broken) synchronizer serial + 1 - exportTimes: - topologyExportTime: TOPOLOGY_EXPORT_TIME # Must be agreed between SVs - trafficExportTime: TRAFFIC_EXPORT_TIME # Must be agreed between SVs - upgradeTime: UPGRADE_TIME # Must be agreed between SVs -``` + 5. Validators initiate the *procedure* on their side. @@ -140,11 +131,7 @@ To do so, use the following steps: 1. Super validators configure the manual LSU in their scan. -``` -rollForwardLsu: - enabled: true - upgradeTime: UPGRADE_TIME # Must be agreed between SVs, optional, if not specified it is taken from an existing LSU announcement which should usually be sufficient. -``` + 2. Validator app automation picks up that configuration and initiates a manual roll-forward LSU to the new synchronizer. diff --git a/docs-main/global-synchronizer/production-operations/sv-pruning.mdx b/docs-main/global-synchronizer/production-operations/sv-pruning.mdx index a82d5e22..e4327878 100644 --- a/docs-main/global-synchronizer/production-operations/sv-pruning.mdx +++ b/docs-main/global-synchronizer/production-operations/sv-pruning.mdx @@ -3,6 +3,8 @@ title: "SV Pruning" description: "Sequencer and CometBFT pruning on Super Validator nodes" --- +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvPruningYaml62 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx"; + {/* COPIED_START source="splice:docs/src/sv_operator/sv_pruning.rst" hash="07e081c3" */} The sequencer, participant and CometBFT have pruning options that can be used to ensure storage use is kept within reasonable bounds. @@ -52,12 +54,7 @@ participantPruningSchedule: You also need to tell the participant to continue pruning even if it has not received an ACS commitment from one of its counter participant in the last 30 days. Without this pruning will essentially never run on mainnet as validators get shut down relatively frequently: To do so, set the following through the `additionalEnvVars` on your participant: -```yaml -additionalEnvVars: - - name: ADDITIONAL_CONFIG_PRUNING_ACS_COMMITMENTS - value: | - canton.participants.participant.parameters.stores.safe-to-prune-commitment-state = "all" -``` + {/* COPIED_END */} \ No newline at end of file diff --git a/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx b/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx index cd6dd4d6..05fc4230 100644 --- a/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx +++ b/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx @@ -14,6 +14,9 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterR import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone485 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryParsedLiteral443 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryParsedLiteral268 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268.mdx"; {/* COPIED_START source="splice:docs/src/validator_operator/validator_disaster_recovery.rst" hash="48572fc5" */} @@ -189,9 +192,7 @@ If you still observe issues, in particular you observe `ACS_COMMITMENT_MISMATCH` Run from a regular shell (same working directory like the one you started your Canton console from): - ```bash - curl -sSL --fail-with-body '|gsf_scan_url|/api/scan/v0/acs/YOUR_PARTY_ID' -H 'Content-Type: application/json' | jq -r .acs_snapshot | base64 -d > acs_snapshot - ``` + From the Canton console: @@ -267,10 +268,7 @@ In this example, the validFrom time is `2025-05-14T10:19:33.534074Z`. We can now query CC Scan to get the active contract set (ACS) for a party and write it to the file `acs_snapshot`: -```bash -// Make sure to adjust YOUR_VALID_FROM to the time you got from the previous query and YOUR_PARY_ID -curl -sSL --fail-with-body '|gsf_scan_url|/api/scan/v0/acs/YOUR_PARTY_ID?record_time=YOUR_VALID_FROM' -H 'Content-Type: application/json' | jq -r .acs_snapshot | base64 -d > acs_snapshot -``` + Lastly, we can import the ACS: @@ -289,15 +287,7 @@ Validators then need to: 1. Wait for their node to finish catching up to the latest transaction on the existing synchronizer. A good indicator for that is that you don't see any new logs containing `Processing event at` in your participant INFO logs. 2. Initiate the roll forward LSU through a Canton console: -``` -val existingPhysicalSynchronizerId = participant.synchronizers.list_connected().find(_.synchronizerAlias == "global").head.physicalSynchronizerId -participant.synchronizers.perform_manual_lsu( - existingPhysicalSynchronizerId, - newPhysicalSynchronizerId, - upgradeTime = None, - sequencerSuccessors, -) -``` + ### Resolving ACS mismatches diff --git a/docs-main/global-synchronizer/reference/canton-console-reference.mdx b/docs-main/global-synchronizer/reference/canton-console-reference.mdx index 0c1614e6..4395f65a 100644 --- a/docs-main/global-synchronizer/reference/canton-console-reference.mdx +++ b/docs-main/global-synchronizer/reference/canton-console-reference.mdx @@ -9,6 +9,10 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessBash174 from import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone136 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone104 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral94 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone71 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx"; {/* COPIED_START source="splice:docs/src/deployment/console_access.rst" hash="bccf3653" */} @@ -55,34 +59,13 @@ docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_ If you run the participant using the docker compose setup the docker command must be run with the docker network used by the participant. Adjust the configuration to connect to the participant container: -```text -canton { - remote-participants { - participant { - admin-api { - port = 5002 - address = participant - } - ledger-api { - port = 5001 - address = participant - } - token = "" - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + Running docker with the default network (`splice-validator`): -```bash -docker run -it --rm --network splice-validator -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -94,25 +77,7 @@ docker run -it --rm --network splice-validator -v $(pwd)/console.conf:/app/app.c 2. Add the configuration to a local file `console.conf` -``` -canton { - remote-sequencers { - sequencer { - public-api { - port = 5008 - address = localhost - } - admin-api { - port = 5009 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + 3. Run the docker command @@ -130,21 +95,7 @@ docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_ 2. Add the configuration to a local file `console.conf` -``` -canton { - remote-mediators { - mediator { - admin-api { - port = 5007 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes -} -``` + 3. Run the docker command diff --git a/docs-main/global-synchronizer/release-notes/splice.mdx b/docs-main/global-synchronizer/release-notes/splice.mdx index 71d0550a..642f87f3 100644 --- a/docs-main/global-synchronizer/release-notes/splice.mdx +++ b/docs-main/global-synchronizer/release-notes/splice.mdx @@ -4,6 +4,8 @@ description: "Release notes and version history for Global Synchronizer software --- import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesYaml192 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesPython738 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesPython747 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx"; {/* COPIED_START source="splice:docs/src/release_notes.rst" hash="b9660f66" */} @@ -422,20 +424,11 @@ The value for `idle-timeout` should be set lower than timeouts in the network st Participant config: - ```python - canton.participants.participant.sequencer-client.keep-alive-client.idle-timeout = 5 minutes - # And / Or - canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-without-calls = true - canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-time = 6 minutes - ``` + Sequencer config: - ```python - # Must be enabled if keep-alive-without-calls is enabled on the client side - canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-without-calls = true - canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-time = 5 minutes - ``` + - Lowered the log level of certain warnings to INFO level, if validation of the confirmation request or confirmation response failed due to a race with a topology change. diff --git a/docs-main/global-synchronizer/understand/local-testing.mdx b/docs-main/global-synchronizer/understand/local-testing.mdx index af7e083f..41d0a12b 100644 --- a/docs-main/global-synchronizer/understand/local-testing.mdx +++ b/docs-main/global-synchronizer/understand/local-testing.mdx @@ -5,6 +5,13 @@ description: "Docker-Compose based deployment of a local Canton Network for deve import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetBash228 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-bash-228.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetBash206 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-bash-206.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetBash190 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-bash-190.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetBash175 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-bash-175.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetBash162 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-bash-162.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetNone147 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-none-147.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevTestingLocalnetNone126 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-testing-localnet-none-126.mdx"; {/* COPIED_START source="splice:docs/src/app_dev/testing/localnet.rst" hash="a3270359" */} @@ -111,10 +118,7 @@ LocalNet uses a single PostgreSQL database for all components. Database configur In most scenarios, the `*.localhost` domains (e.g., `http://scan.localhost`) will resolve to your local host IP `127.0.0.1`. There are some situations where the resolution does not occur and the solution is to add entries to your `/etc/hosts` file. For example, to resolve `http://scan.localhost` and `http://wallet.localhost` add these entry to the file: -``` -127.0.0.1 scan.localhost -127.0.0.1 wallet.localhost -``` + ## Default Wallet Users @@ -126,9 +130,7 @@ In most scenarios, the `*.localhost` domains (e.g., `http://scan.localhost`) wil When the `swagger-ui` profile is enabled, the Swagger UI for the `JSON Ledger API HTTP Endpoints` across all running participants is available at [http://localhost:9090](http://localhost:9090). Note: Some endpoints require a JWT token when using the **Try it out** feature. One method to obtain this token is via the Canton Console. Start the Canton Console `make canton-console` and execute the following command: -``` none -`app-provider`.adminToken -``` + For proper functionality, Swagger UI relies on a localhost nginx proxy for `canton.localhost` configured for each participant. For example, the `JSON Ledger API HTTP Endpoints` for the app-provider can be accessed at the nginx proxy URL `http://canton.localhost:${APP_PROVIDER_UI_PORT}` via Swagger UI, which corresponds to accessing `localhost:3${PARTICIPANT_JSON_API_PORT}` directly. The nginx proxy only adds additional headers to resolve CORS issues within Swagger UI. @@ -136,57 +138,23 @@ For proper functionality, Swagger UI relies on a localhost nginx proxy for `cant ### Start LocalNet nodes -```bash -docker compose --env-file $LOCALNET_DIR/compose.env \ - --env-file $LOCALNET_DIR/env/common.env \ - -f $LOCALNET_DIR/compose.yaml \ - -f $LOCALNET_DIR/resource-constraints.yaml \ - --profile sv \ - --profile app-provider \ - --profile app-user up -d -``` + ### Stop LocalNet nodes -```bash -docker compose --env-file $LOCALNET_DIR/compose.env \ - --env-file $LOCALNET_DIR/env/common.env \ - -f $LOCALNET_DIR/compose.yaml \ - -f $LOCALNET_DIR/resource-constraints.yaml \ - --profile sv \ - --profile app-provider \ - --profile app-user down -v -``` + ### Start nodes including a swagger-ui See `swagger-ui` for more information. -```bash -docker compose --env-file $LOCALNET_DIR/compose.env \ - --env-file $LOCALNET_DIR/env/common.env \ - -f $LOCALNET_DIR/compose.yaml \ - -f $LOCALNET_DIR/resource-constraints.yaml \ - --profile sv \ - --profile app-provider \ - --profile app-user \ - --profile swagger-ui up -d -``` + ### Stop nodes including a swagger-ui See `swagger-ui` for more information. -```bash -docker compose --env-file $LOCALNET_DIR/compose.env \ - --env-file $LOCALNET_DIR/env/common.env \ - -f $LOCALNET_DIR/compose.yaml \ - -f $LOCALNET_DIR/resource-constraints.yaml \ - --profile sv \ - --profile app-provider \ - --profile app-user \ - --profile swagger-ui down -v -``` + ### Access the Canton Admin Console @@ -195,13 +163,7 @@ Use the Canton Admin Console to inspect and modify the run configuration of the - [Canton Console How-To](/global-synchronizer/canton-console/console-overview) - [Canton Console commands](/global-synchronizer/reference/canton-console-commands) -```bash -docker compose --env-file $LOCALNET_DIR/compose.env \ - --env-file $LOCALNET_DIR/env/common.env \ - -f $LOCALNET_DIR/compose.yaml \ - -f $LOCALNET_DIR/resource-constraints.yaml \ - run --rm console -``` + ## Multiple Synchronizers diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-42.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-42.mdx new file mode 100644 index 00000000..ed2fe7d1 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-42.mdx @@ -0,0 +1,3 @@ +```bash + curl -sSL https://get.digitalasset.com/ | sh +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-49.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-49.mdx deleted file mode 100644 index da6a77fc..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-49.mdx +++ /dev/null @@ -1,6 +0,0 @@ -``` - def main() { - logger.info(s"Participant id from bootstrap script: ${participant.id}") - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-51.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-51.mdx new file mode 100644 index 00000000..713070ff --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-none-51.mdx @@ -0,0 +1,5 @@ +``` +def main() { + logger.info(s"Participant id from bootstrap script: ${participant.id}") +} +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-68.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-68.mdx deleted file mode 100644 index 59e5d400..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-68.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_EXAMPLE - value: canton.example.key=value - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-70.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-70.mdx new file mode 100644 index 00000000..992cffae --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-configuration-yaml-70.mdx @@ -0,0 +1,5 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_EXAMPLE + value: canton.example.key=value +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-166.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-166.mdx index c746e8d1..6b499dd3 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-166.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-166.mdx @@ -1,4 +1,3 @@ ```bash kubectl debug "${POD_NAME}" --image "$(kubectl get pod "${POD_NAME}" -o json | jq -re '.spec.containers[0].image')" -i -t -- bash - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-174.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-174.mdx index 11b51688..05d3306e 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-174.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-bash-174.mdx @@ -3,5 +3,4 @@ $ apt-get install -y vim $ vim console.conf # paste in the config from above $ /app/bin/canton -v -c console.conf - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx index e8a6bc3a..815638e6 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx @@ -1,20 +1,19 @@ ``` - canton { - remote-sequencers { - sequencer { - public-api { - port = 5008 - address = localhost - } - admin-api { - port = 5009 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes - } - +canton { + remote-sequencers { + sequencer { + public-api { + port = 5008 + address = localhost + } + admin-api { + port = 5009 + address = localhost + } + } + } + features.enable-preview-commands = yes + features.enable-testing-commands = yes + features.enable-repair-commands = yes +} ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx index a0e55096..7130cdd7 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-136.mdx @@ -1,16 +1,15 @@ ``` - canton { - remote-mediators { - mediator { - admin-api { - port = 5007 - address = localhost - } - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes - } - +canton { + remote-mediators { + mediator { + admin-api { + port = 5007 + address = localhost + } + } + } + features.enable-preview-commands = yes + features.enable-testing-commands = yes + features.enable-repair-commands = yes +} ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx index adc6085b..0d633e89 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-40.mdx @@ -1,21 +1,20 @@ ``` - canton { - remote-participants { - participant { - admin-api { - port = 5002 - address = localhost - } - ledger-api { - port = 5001 - address = localhost - } - token = "" - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes - } - +canton { + remote-participants { + participant { + admin-api { + port = 5002 + address = localhost + } + ledger-api { + port = 5001 + address = localhost + } + token = "" + } + } + features.enable-preview-commands = yes + features.enable-testing-commands = yes + features.enable-repair-commands = yes +} ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx index 910e2156..264f84bb 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx @@ -1,21 +1,20 @@ ``` - canton { - remote-participants { - participant { - admin-api { - port = 5002 - address = participant - } - ledger-api { - port = 5001 - address = participant - } - token = "" - } - } - features.enable-preview-commands = yes - features.enable-testing-commands = yes - features.enable-repair-commands = yes - } - +canton { + remote-participants { + participant { + admin-api { + port = 5002 + address = participant + } + ledger-api { + port = 5001 + address = participant + } + token = "" + } + } + features.enable-preview-commands = yes + features.enable-testing-commands = yes + features.enable-repair-commands = yes +} ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-126.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-126.mdx new file mode 100644 index 00000000..34ce6563 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-126.mdx @@ -0,0 +1,3 @@ +```bash +docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-154.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-154.mdx new file mode 100644 index 00000000..34ce6563 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-154.mdx @@ -0,0 +1,3 @@ +```bash +docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx new file mode 100644 index 00000000..34ce6563 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx @@ -0,0 +1,3 @@ +```bash +docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx new file mode 100644 index 00000000..9063f845 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx @@ -0,0 +1,3 @@ +```bash +docker run -it --rm --network splice-validator -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-json-94.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-json-94.mdx index cdea2653..cb2dce6b 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-json-94.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-json-94.mdx @@ -1,15 +1,13 @@ ```json - "fees": { - "baseRateTrafficLimits": { - "burstAmount": "400000", - "burstWindow": { - "microseconds": "1200000000" - } - }, - "extraTrafficPrice": "60.0", - "readVsWriteScalingFactor": "4", - "minTopupAmount": "200000" +"fees": { + "baseRateTrafficLimits": { + "burstAmount": "400000", + "burstWindow": { + "microseconds": "1200000000" } - - + }, + "extraTrafficPrice": "60.0", + "readVsWriteScalingFactor": "4", + "minTopupAmount": "200000" +} ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-129.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-129.mdx new file mode 100644 index 00000000..c065008b --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-129.mdx @@ -0,0 +1,3 @@ +```bash +curl -X POST --header "Content-Type: application/json" -d "{\"cached_open_mining_round_contract_ids\":[], \"cached_issuing_round_contract_ids\":[]}" |gsf_scan_url|/api/scan/v0/open-and-issuing-mining-rounds | jq ".open_mining_rounds | values[] | .contract.payload | {round, amuletPrice}" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-88.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-88.mdx new file mode 100644 index 00000000..102beb59 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-traffic-parsed-literal-88.mdx @@ -0,0 +1,3 @@ +```bash +curl -X POST --header "Content-Type: application/json" -d "{}" |gsf_scan_url|/api/scan/v0/amulet-rules | jq ".amulet_rules_update.contract.payload.configSchedule.initialValue.decentralizedSynchronizer.fees" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx index 52c73f5a..e797e704 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx @@ -16,5 +16,4 @@ } } } - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx index dd1ddeb3..4d08a0df 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx @@ -11,5 +11,4 @@ synchronizerId = global-domain::12203755b6a7..., ... ). - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx index 937192a1..29da9d0a 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx @@ -21,5 +21,4 @@ envelopes cost details = EnvelopeCostDetails(write cost = 651, read cost = 0, final cost = 651, recipients = MediatorGroupRecipient(group = 0)), event cost = 651 ) - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx new file mode 100644 index 00000000..916b9916 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx @@ -0,0 +1,6 @@ +```python +canton.participants.participant.sequencer-client.keep-alive-client.idle-timeout = 5 minutes +# And / Or +canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-without-calls = true +canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-time = 6 minutes +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx new file mode 100644 index 00000000..9ea57978 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx @@ -0,0 +1,5 @@ +```python +# Must be enabled if keep-alive-without-calls is enabled on the client side +canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-without-calls = true +canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-time = 5 minutes +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1021.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1021.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx index 507154a0..f395f45b 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1021.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx @@ -1,4 +1,3 @@ ```bash curl https://scan.sv-1./api/scan/v0/scans | jq -r '.scans.[].scans.[].publicUrl' - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-301.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-302.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-301.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-302.mdx index 7f60d379..ae84484c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-301.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-302.mdx @@ -6,5 +6,4 @@ "--from-literal=client-secret=${SV_CLIENT_SECRET}" \ "--from-literal=audience=${OIDC_AUTHORITY_LEDGER_API_AUDIENCE}" "--from-literal=scope=${OIDC_AUTHORITY_LEDGER_API_SCOPE}" - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-313.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-314.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-313.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-314.mdx index 65afd356..3b98758a 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-313.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-314.mdx @@ -6,5 +6,4 @@ "--from-literal=client-secret=${VALIDATOR_CLIENT_SECRET}" \ "--from-literal=audience=${OIDC_AUTHORITY_LEDGER_API_AUDIENCE}" \ "--from-literal=scope=${OIDC_AUTHORITY_LEDGER_API_SCOPE}" - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-325.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-326.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-325.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-326.mdx index edf4e473..acd9d194 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-325.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-326.mdx @@ -10,5 +10,4 @@ kubectl create --namespace sv secret generic splice-app-cns-ui-auth \ "--from-literal=url=${OIDC_AUTHORITY_URL}" \ "--from-literal=client-id=${CNS_UI_CLIENT_ID}" - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-380.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-381.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-380.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-381.mdx index 4c1087bd..bb53d6ee 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-380.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-381.mdx @@ -2,5 +2,4 @@ kubectl create --namespace sv secret generic cometbft-keys \ "--from-file=node_key.json=node_key.json" \ "--from-file=priv_validator_key.json=priv_validator_key.json" - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-38.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx similarity index 62% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-38.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx index 8e29a959..fa32187f 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-38.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx @@ -1,4 +1,4 @@ ```bash export MIGRATION_ID=0 - + export SERIAL_ID=0 ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-500.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-507.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-500.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-507.mdx index 96c4fbe3..ba2f19a1 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-500.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-507.mdx @@ -11,6 +11,4 @@ kubectl create secret generic apps-pg-secret \ --from-literal=postgresPassword=${POSTGRES_PASSWORD_APPS} \ -n sv - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-55.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-55.mdx new file mode 100644 index 00000000..32872456 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-55.mdx @@ -0,0 +1,15 @@ +```bash +# Generate the keypair +openssl ecparam -name prime256v1 -genkey -noout -out sv-keys.pem + +# Encode the keys +public_key_base64=$(openssl ec -in sv-keys.pem -pubout -outform DER 2>/dev/null | base64 | tr -d "\n") +private_key_base64=$(openssl pkcs8 -topk8 -nocrypt -in sv-keys.pem -outform DER 2>/dev/null | base64 | tr -d "\n") + +# Output the keys +echo "public-key = \"$public_key_base64\"" +echo "private-key = \"$private_key_base64\"" + +# Clean up +rm sv-keys.pem +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-616.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-627.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-616.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-627.mdx index 1304f48e..75541c54 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-616.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-627.mdx @@ -2,5 +2,4 @@ kubectl create secret --namespace sv generic splice-app-sv-key \ --from-literal=public=YOUR_PUBLIC_KEY \ --from-literal=private=YOUR_PRIVATE_KEY - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-713.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-725.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-713.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-725.mdx index 8f52fa80..0cd0fd9e 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-713.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-725.mdx @@ -17,6 +17,4 @@ sv-web-ui-67bfbdfc77-wwvp9 2/2 Running 0 13m validator-app-667445fdfc-rcztx 2/2 Running 0 10m wallet-web-ui-648f86f9f9-lffz5 2/2 Running 0 10m - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-823.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-835.mdx similarity index 98% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-823.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-835.mdx index a9c05934..22ca7394 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-823.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-835.mdx @@ -1,4 +1,3 @@ ```bash grpcurl : grpc.health.v1.Health/Check - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-832.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-844.mdx similarity index 96% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-832.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-844.mdx index 4224e876..f54f6641 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-832.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-844.mdx @@ -2,6 +2,4 @@ { "status": "SERVING" } - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-861.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-861.mdx index c0901575..edf844d2 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-861.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-861.mdx @@ -1,5 +1,6 @@ ```bash - kubectl create ns cluster-ingress - - + helm repo add istio https://istio-release.storage.googleapis.com/charts + helm repo update + helm install istio-base istio/base -n istio-system --set defaults.global.istioNamespace=cluster-ingress --wait + helm install istiod istio/istiod -n cluster-ingress --set global.istioNamespace="cluster-ingress" --set meshConfig.accessLogFile="/dev/stdout" --wait ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-873.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-873.mdx new file mode 100644 index 00000000..cdb8c4d3 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-873.mdx @@ -0,0 +1,3 @@ +```bash + kubectl create ns cluster-ingress +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-902.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-914.mdx similarity index 98% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-902.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-914.mdx index d962210a..b72c5314 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-902.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-914.mdx @@ -1,5 +1,3 @@ ```bash helm install istio-ingress istio/gateway -n cluster-ingress -f istio-gateway-values.yaml - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-91.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-93.mdx similarity index 94% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-91.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-93.mdx index e6a8e642..1f2c9ccc 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-91.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-93.mdx @@ -1,5 +1,3 @@ ```bash kubectl create ns sv - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-978.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-990.mdx similarity index 97% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-978.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-990.mdx index 3e814df2..763142d5 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-978.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-990.mdx @@ -1,5 +1,3 @@ ```bash kubectl apply -f gateways.yaml -n cluster-ingress - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1135.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1135.mdx new file mode 100644 index 00000000..43f5adae --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1135.mdx @@ -0,0 +1,11 @@ +``` +- name: ADDITIONAL_CONFIG_FOLLOW_AMULET_CONVERSION_RATE_FEED + value: | + canton.sv-apps.sv.follow-amulet-conversion-rate-feed { + publisher = "publisher::namespace" + accepted-range = { + min = 0.01 + max = 100.0 + } + } +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1145.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1145.mdx deleted file mode 100644 index 1c1da127..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-none-1145.mdx +++ /dev/null @@ -1,12 +0,0 @@ -``` - - name: ADDITIONAL_CONFIG_FOLLOW_AMULET_CONVERSION_RATE_FEED - value: | - canton.sv-apps.sv.follow-amulet-conversion-rate-feed { - publisher = "publisher::namespace" - accepted-range = { - min = 0.01 - max = 100.0 - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005.mdx new file mode 100644 index 00000000..6f1f1439 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005.mdx @@ -0,0 +1,3 @@ +```bash +helm install cluster-ingress-sv |helm_repo_prefix|/splice-cluster-ingress-runbook -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/sv-cluster-ingress-values.yaml +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx new file mode 100644 index 00000000..eb49f759 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx @@ -0,0 +1,3 @@ +```bash +tar xzvf |version|\_splice-node.tar.gz +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx new file mode 100644 index 00000000..2ec24926 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx @@ -0,0 +1,9 @@ +```bash +# Create a folder to store the config +mkdir cometbft +cd cometbft +# Init the node +docker run --rm -v "$(pwd):/init" |docker_repo_prefix|/cometbft:|version| init --home /init +# Read the node id and keep a note of it for the deployment +docker run --rm -v "$(pwd):/init" |docker_repo_prefix|/cometbft:|version| show-node-id --home /init +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468.mdx new file mode 100644 index 00000000..b8eda8c7 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468.mdx @@ -0,0 +1,15 @@ +```bash +@ participant.synchronizers.config("global") +res1: Option[SynchronizerConnectionConfig] = Some( + value = SynchronizerConnectionConfig( + synchronizer = Synchronizer \'global\', + sequencerConnections = SequencerConnections( + connections = Sequencer \'DefaultSequencer\' -> GrpcSequencerConnection(sequencerAlias = Sequencer \'DefaultSequencer\', endpoints = http://global-domain-0-sequencer:5008), + sequencer trust threshold = 1, + submission request amplification = SubmissionRequestAmplification(factor = 1, patience = 10s) + ), + manualConnect = false, + timeTracker = SynchronizerTimeTrackerConfig(minObservationDuration = 30m) + ) +) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx new file mode 100644 index 00000000..b3fe3e03 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx @@ -0,0 +1,6 @@ +```bash +helm install sequencer-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-sequencer.yaml --wait +helm install mediator-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-mediator.yaml --wait +helm install participant-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-participant.yaml --wait +helm install apps-pg |helm_repo_prefix|/splice-postgres -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-apps.yaml --wait +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx new file mode 100644 index 00000000..e77d0fe8 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx @@ -0,0 +1,4 @@ +```bash +helm install global-domain-${SERIAL_ID}-cometbft |helm_repo_prefix|/splice-cometbft -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/cometbft-values.yaml --wait +helm install global-domain-${SERIAL_ID} |helm_repo_prefix|/splice-global-domain -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/global-domain-values.yaml --wait +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx new file mode 100644 index 00000000..d18e73e0 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx @@ -0,0 +1,3 @@ +```bash +helm install participant |helm_repo_prefix|/splice-participant -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/participant-values.yaml --wait +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707.mdx new file mode 100644 index 00000000..092af72c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707.mdx @@ -0,0 +1,5 @@ +```bash +helm install sv |helm_repo_prefix|/splice-sv-node -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/sv-values.yaml -f ${SV_IDENTITIES_FILE} -f ${UI_CONFIG_VALUES_FILE} --wait +helm install scan |helm_repo_prefix|/splice-scan -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/scan-values.yaml -f ${UI_CONFIG_VALUES_FILE} --wait +helm install validator |helm_repo_prefix|/splice-validator -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-values.yaml -f splice-node/examples/sv-helm/sv-validator-values.yaml -f ${UI_CONFIG_VALUES_FILE} --wait +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715.mdx new file mode 100644 index 00000000..ece4170c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715.mdx @@ -0,0 +1,3 @@ +```bash +helm install info |helm_repo_prefix|/splice-info -n sv --version ${CHART_VERSION} -f splice-node/examples/sv-helm/info-values.yaml +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-366.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-366.mdx new file mode 100644 index 00000000..33a288b4 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-366.mdx @@ -0,0 +1,4 @@ +```text +cometbft/config/node_key.json +cometbft/config/priv_validator_key.json +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-74.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-74.mdx new file mode 100644 index 00000000..2c13dd4b --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-text-74.mdx @@ -0,0 +1,4 @@ +```text +public-key = "MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE1eb+JkH2QFRCZedO/P5cq5d2+yfdwP+jE+9w3cT6BqfHxCd/PyA0mmWMePovShmf97HlUajFuN05kZgxvjcPQw==" +private-key = "MEECAQAwEwYHKoZIzj0CAQYIKoZIzj0DAQcEJzAlAgEBBCBsFuFa7Eumkdg4dcf/vxIXgAje2ULVz+qTKP3s/tHqKw==" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440.mdx new file mode 100644 index 00000000..2b6e4af9 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440.mdx @@ -0,0 +1,5 @@ +```yaml +synchronizer: + connectionType: "trust-single" + url: "SEQUENCER_PUBLIC_URI" # synchronizers.current.sequencerPublicUrl from sv-values.yaml +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-441.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-441.mdx deleted file mode 100644 index c9a8978d..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-441.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_NO_BFT_SEQUENCER_CONNECTION - value: "canton.validator-apps.validator_backend.disable-sv-validator-bft-sequencer-connection = true" - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448.mdx new file mode 100644 index 00000000..2793d433 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448.mdx @@ -0,0 +1,5 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_NO_BFT_SEQUENCER_CONNECTION + value: "canton.validator-apps.validator_backend.disable-sv-validator-bft-sequencer-connection = true" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-449.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-449.mdx deleted file mode 100644 index b224db62..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-449.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_NO_BFT_SEQUENCER_CONNECTION - value: "canton.sv-apps.sv.bft-sequencer-connection = false" - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456.mdx new file mode 100644 index 00000000..ca810c85 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456.mdx @@ -0,0 +1,5 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_NO_BFT_SEQUENCER_CONNECTION + value: "canton.sv-apps.sv.bft-sequencer-connection = false" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-870.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-870.mdx deleted file mode 100644 index 8d7d110e..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-870.mdx +++ /dev/null @@ -1,15 +0,0 @@ -```yaml - apiVersion: cert-manager.io/v1 - kind: Certificate - metadata: - name: cn-certificate - namespace: cluster-ingress - spec: - dnsNames: - - '*.sv.YOUR_HOSTNAME' - issuerRef: - name: letsencrypt-production - secretName: cn-net-tls - - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882.mdx new file mode 100644 index 00000000..daa79ffc --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882.mdx @@ -0,0 +1,13 @@ +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: cn-certificate + namespace: cluster-ingress +spec: + dnsNames: + - '*.sv.YOUR_HOSTNAME' + issuerRef: + name: letsencrypt-production + secretName: cn-net-tls +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-888.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-888.mdx deleted file mode 100644 index 06961ab0..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-888.mdx +++ /dev/null @@ -1,12 +0,0 @@ -```yaml - service: - loadBalancerIP: "YOUR_CLUSTER_IP" - loadBalancerSourceRanges: - - "35.194.81.56/32" - - "35.198.147.95/32" - - "35.189.40.124/32" - - "34.132.91.75/32" - - - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900.mdx new file mode 100644 index 00000000..170696e8 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900.mdx @@ -0,0 +1,9 @@ +```yaml +service: + loadBalancerIP: "YOUR_CLUSTER_IP" + loadBalancerSourceRanges: + - "35.194.81.56/32" + - "35.198.147.95/32" + - "35.189.40.124/32" + - "34.132.91.75/32" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-914.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-914.mdx deleted file mode 100644 index 39164c30..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-914.mdx +++ /dev/null @@ -1,62 +0,0 @@ -```yaml - apiVersion: networking.istio.io/v1alpha3 - kind: Gateway - metadata: - name: cn-http-gateway - namespace: cluster-ingress - spec: - selector: - app: istio-ingress - istio: ingress - servers: - - port: - number: 443 - name: https - protocol: HTTPS - tls: - mode: SIMPLE - credentialName: cn-net-tls # name of the secret created above - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" - - port: - number: 80 - name: http - protocol: HTTP - tls: - httpsRedirect: true - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" - --- - apiVersion: networking.istio.io/v1alpha3 - kind: Gateway - metadata: - name: cn-apps-gateway - namespace: cluster-ingress - spec: - selector: - app: istio-ingress - istio: ingress - servers: - - port: - number: 26016 - name: cometbft-0-1-6-gw - protocol: TCP - hosts: - # We cannot really distinguish TCP traffic by hostname, so configuring to "*" to be explicit about that - - "*" - - port: - number: 26116 - name: cometbft-1-1-6-gw - protocol: TCP - hosts: - - "*" - - port: - number: 26216 - name: cometbft-2-1-6-gw - protocol: TCP - hosts: - - "*" - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926.mdx new file mode 100644 index 00000000..a4810b2d --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926.mdx @@ -0,0 +1,61 @@ +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: cn-http-gateway + namespace: cluster-ingress +spec: + selector: + app: istio-ingress + istio: ingress + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: cn-net-tls # name of the secret created above + hosts: + - "*.YOUR_HOSTNAME" + - "YOUR_HOSTNAME" + - port: + number: 80 + name: http + protocol: HTTP + tls: + httpsRedirect: true + hosts: + - "*.YOUR_HOSTNAME" + - "YOUR_HOSTNAME" +--- +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: cn-apps-gateway + namespace: cluster-ingress +spec: + selector: + app: istio-ingress + istio: ingress + servers: + - port: + number: 26016 + name: cometbft-0-1-6-gw + protocol: TCP + hosts: + # We cannot really distinguish TCP traffic by hostname, so configuring to "*" to be explicit about that + - "*" + - port: + number: 26116 + name: cometbft-1-1-6-gw + protocol: TCP + hosts: + - "*" + - port: + number: 26216 + name: cometbft-2-1-6-gw + protocol: TCP + hosts: + - "*" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx new file mode 100644 index 00000000..9ff96cb1 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx @@ -0,0 +1,6 @@ +``` +- name: ADDITIONAL_CONFIG_SEQUENCER_LSU_SEQUENCING_BOUNDS + value: | + canton.sequencers.sequencer.parameters.lsu-repair.lsu-sequencing-bounds-override.lower-bound-sequencing-time-exclusive=LOWER_BOUND_SEQUENCING_TIME_EXCLUSIVE + canton.sequencers.sequencer.parameters.lsu-repair.lsu-sequencing-bounds-override.upgrade-time=UPGRADE_TIME +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118.mdx new file mode 100644 index 00000000..7ea0a590 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118.mdx @@ -0,0 +1,9 @@ +``` +rollForwardLsu: + newPhysicalSynchronizerSerial: NEW_PHYSICAL_SYNCHRONIZER_SERIAL # Must be agreed between SVs, usually existing (broken) synchronizer serial + 1 + newPhysicalSynchronizerProtocolVersion: NEW_PHYSICAL_SYNCHRONIZER_PROTOCOL_VERSION # Must be agreed between SVs, usually existing (broken) synchronizer serial + 1 + exportTimes: + topologyExportTime: TOPOLOGY_EXPORT_TIME # Must be agreed between SVs + trafficExportTime: TRAFFIC_EXPORT_TIME # Must be agreed between SVs + upgradeTime: UPGRADE_TIME # Must be agreed between SVs +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142.mdx new file mode 100644 index 00000000..a29f5910 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142.mdx @@ -0,0 +1,5 @@ +``` +rollForwardLsu: + enabled: true + upgradeTime: UPGRADE_TIME # Must be agreed between SVs, optional, if not specified it is taken from an existing LSU announcement which should usually be sufficient. +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87.mdx new file mode 100644 index 00000000..65bbe222 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87.mdx @@ -0,0 +1,5 @@ +``` +- name: ADDITIONAL_CONFIG_SEQUENCER_LSU_MAX_SEQUENCING_TIME + value: | + canton.sequencers.sequencer.parameters.lsu-repair.global-max-sequencing-time-exclusive=MAX_SEQUENCING_TIME +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-482.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-482.mdx index 7a47122c..aea9dcbd 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-482.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-482.mdx @@ -19,5 +19,4 @@ --begin-migration-id 3 \ --weight 5000 \ --already-minted-weight 0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-507.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-507.mdx index 989bca73..f6db517c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-507.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-507.mdx @@ -25,5 +25,4 @@ --begin-migration-id 3 \ --weight 5000 \ --already-minted-weight 0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-538.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-538.mdx index 76c4be71..d8698ba5 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-538.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-538.mdx @@ -20,5 +20,4 @@ --begin-migration-id 3 \ --weight 5000 \ --already-minted-weight 0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-564.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-564.mdx index d5b556bd..58cf3b4b 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-564.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-564.mdx @@ -21,6 +21,4 @@ --weight 5000 \ --already-minted-weight 0 \ --rebuild-cache - - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-683.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-683.mdx index e0e1b44f..abd42b19 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-683.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-683.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t0 --end-record-time=t1 \ --weight=10000 --already-minted-weight=0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx index 0af166fd..aea5c3d0 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t0 --end-record-time=t1 \ --weight=10000 --already-minted-weight=10000 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx index 772e197b..e2608bf4 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t1 --end-record-time=t2 \ --weight=10000 --already-minted-weight=0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx index 3995f45f..98ceca24 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t0 --end-record-time=t1 \ --weight=20000 --already-minted-weight=20000 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx index bbd5764a..831839e1 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t1 --end-record-time=t2 \ --weight=20000 --already-minted-weight=10000 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx index 56c40df7..1638b55f 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx @@ -1,5 +1,4 @@ ```bash --begin-record-time=t2 --end-record-time=t3 \ --weight=20000 --already-minted-weight=0 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx new file mode 100644 index 00000000..28b82b84 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx @@ -0,0 +1,10 @@ +```bash +executing batch AmuletOperationBatch( + nonMergeOperations = AmuletOperation( + from = tid:80afc8ae63defcb7a636d2cd23e38c0d, + op = CO_CompleteAcceptedTransfer(ContractId(00ebc78671f4b5f688d8245a1e0c6c72f378c0c90c7ca574a3c3a615489f3ca15dca1012208d8f9eb3ffe0d0a05b207e2bc3fb3f3e7d31c0b594eaefcfd486411386de775c)), + priority = Low + ), + priority = Low +) with inputs Vector(InputAmulet(ContractId(002ace5687dc7f82cb0ca80d2b349a39b1127ffd01db2cd7172053fef88308e6faca1012202646cd3cbb31c78314c3ef22657d4ba6f7f096e90167dcd0d71eba565fa35844))) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx new file mode 100644 index 00000000..d8200985 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx @@ -0,0 +1,3 @@ +```bash +Request (tid:43fd8ad332ca637b0c7c1509b2bdf715) com.daml.ledger.api.v2.CommandService/SubmitAndWaitForTransactionTree to participant-1:5001: sending request +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx new file mode 100644 index 00000000..3fe42276 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx @@ -0,0 +1,5 @@ +```bash +resource.labels.container_name="sequencer" +jsonPayload.logger_name="c.d.c.s.t.TrafficConsumedManager:sequencer=sequencer" +jsonPayload."trace-id"="43fd8ad332ca637b0c7c1509b2bdf715" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222.mdx new file mode 100644 index 00000000..e0277087 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222.mdx @@ -0,0 +1,5 @@ +```bash +Consumed 16147 for PAR::sender::... +Consumed 711 for PAR::receiver::... +Consumed 1450 for PAR::sender::... +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-344.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-344.mdx index e067617b..55581cf2 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-344.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-344.mdx @@ -1,4 +1,3 @@ ```sql - select distinct(reward_party) from dso_acs_store where reward_round < UPGRADE_ROUND; - +select distinct(reward_party) from dso_acs_store where reward_round < UPGRADE_ROUND; ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-359.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-359.mdx index 4be76116..afe5aeb2 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-359.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-sql-359.mdx @@ -1,10 +1,9 @@ ```sql - select m.template_id_qualified_name, m.reward_party, min(m.reward_round) from ( - select c.reward_party, c.reward_round, c.template_id_qualified_name from dso_acs_store c - join dso_acs_store r - on r.mining_round = c.reward_round - and r.mining_round > UPGRADE_ROUND - and r.template_id_qualified_name = 'Splice.Round:ClosedMiningRound' - ) as m group by (template_id_qualified_name, reward_party); - +select m.template_id_qualified_name, m.reward_party, min(m.reward_round) from ( + select c.reward_party, c.reward_round, c.template_id_qualified_name from dso_acs_store c + join dso_acs_store r + on r.mining_round = c.reward_round + and r.mining_round > UPGRADE_ROUND + and r.template_id_qualified_name = 'Splice.Round:ClosedMiningRound' +) as m group by (template_id_qualified_name, reward_party); ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-296.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-296.mdx index 4021c7c7..566e8ebe 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-296.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-296.mdx @@ -1,7 +1,6 @@ ```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_PAUSED_EXPIRY_TRIGGER - value: | - canton.sv-apps.sv.automation.paused-triggers += "org.lfdecentralizedtrust.splice.sv.automation.delegatebased.ExpireRewardCouponsTrigger" - +additionalEnvVars: + - name: ADDITIONAL_CONFIG_PAUSED_EXPIRY_TRIGGER + value: | + canton.sv-apps.sv.automation.paused-triggers += "org.lfdecentralizedtrust.splice.sv.automation.delegatebased.ExpireRewardCouponsTrigger" ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-309.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-309.mdx index 2e6d588b..fdc3a11c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-309.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-309.mdx @@ -1,9 +1,8 @@ ```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_IGNORED_EXPIRY_PARTY_IDS - value: | - canton.sv-apps.sv { - automation.ignored-expired-rewards-party-ids = [ "party1::12345", "party2:57890" ] - } - +additionalEnvVars: + - name: ADDITIONAL_CONFIG_IGNORED_EXPIRY_PARTY_IDS + value: | + canton.sv-apps.sv { + automation.ignored-expired-rewards-party-ids = [ "party1::12345", "party2:57890" ] + } ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821.mdx index d451ad18..72d2758d 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821.mdx @@ -1,6 +1,5 @@ ```yaml - # Example to trigger re-ingestion of the ACS store for the first time - persistence: - acsStoreDescriptorUserVersion: 1 - +# Example to trigger re-ingestion of the ACS store for the first time +persistence: + acsStoreDescriptorUserVersion: 1 ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829.mdx index 8b0111a8..d743da9c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829.mdx @@ -1,6 +1,5 @@ ```yaml - # Example to trigger re-ingestion of the ACS store for the second time - persistence: - acsStoreDescriptorUserVersion: 2 - +# Example to trigger re-ingestion of the ACS store for the second time +persistence: + acsStoreDescriptorUserVersion: 2 ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838.mdx index d7aa3d35..52a0d5a6 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838.mdx @@ -1,6 +1,5 @@ ```yaml - # Example to trigger re-ingestion of the TxLog store for the first time - persistence: - txLogStoreDescriptorUserVersion: 1 - +# Example to trigger re-ingestion of the TxLog store for the first time +persistence: + txLogStoreDescriptorUserVersion: 1 ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846.mdx index 0b83a5fb..60ac18d5 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846.mdx @@ -1,6 +1,5 @@ ```yaml - # Example to trigger re-ingestion of the TxLog store for the second time - persistence: - txLogStoreDescriptorUserVersion: 2 - +# Example to trigger re-ingestion of the TxLog store for the second time +persistence: + txLogStoreDescriptorUserVersion: 2 ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865.mdx new file mode 100644 index 00000000..4c075c46 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865.mdx @@ -0,0 +1,6 @@ +```yaml +# Example to reset the activity ingestion completeness boundary +additionalEnvVars: + - name: ADDITIONAL_CONFIG_ACTIVITY_INGESTION_USER_VERSION + value: canton.scan-apps.scan-app.activity-ingestion-user-version = 1 +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889.mdx new file mode 100644 index 00000000..2bea5a6f --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889.mdx @@ -0,0 +1,7 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_ADDITIONAL_PACKAGES_TO_UNVET + value: | + canton.sv-apps.sv.additional-packages-to-unvet.splice-wallet = ["0.1.16"] + canton.sv-apps.sv.additional-packages-to-unvet.splice-amulet = ["0.1.16", "0.1.17"] +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx new file mode 100644 index 00000000..db355ad9 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx @@ -0,0 +1,6 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_PRUNING_ACS_COMMITMENTS + value: | + canton.participants.participant.parameters.stores.safe-to-prune-commitment-state = "all" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-102.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-102.mdx new file mode 100644 index 00000000..30ff1020 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-102.mdx @@ -0,0 +1,3 @@ +```bash + jq '.identities.participant' backup.json > dump.json +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx index 80ccf622..f0ab0b16 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx @@ -1,5 +1,5 @@ ```bash - jq '.identities.participant' backup.json > dump.json +Once the failed SV node is offboarded by a majority of SVs (via a governance vote on a ``OffboardMember`` action), we can deploy a standalone validator node for recovering the SV's amulets. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx new file mode 100644 index 00000000..786cc86d --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx @@ -0,0 +1,10 @@ +```bash + kubectl scale deployment --replicas=0 -n sv \ + global-domain-0-cometbft \ + global-domain-0-mediator \ + global-domain-0-sequencer \ + participant \ + scan-app \ + sv-app \ + validator-app +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx index 1a662f24..9af168f0 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx @@ -1,11 +1,11 @@ ```bash - kubectl scale deployment --replicas=0 -n sv \ - global-domain-0-cometbft \ global-domain-0-mediator \ global-domain-0-sequencer \ - participant-0 \ + participant \ scan-app \ sv-app \ validator-app +Restore the storage and DBs of all components from the backups. The exact process for this +depends on the storage and DBs used by the components, and is not documented here. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx new file mode 100644 index 00000000..22291ab0 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx @@ -0,0 +1,10 @@ +```bash + kubectl scale deployment --replicas=1 -n sv \ + global-domain-0-cometbft \ + global-domain-0-mediator \ + global-domain-0-sequencer \ + participant \ + scan-app \ + sv-app \ + validator-app +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx index 9c036b47..17638919 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx @@ -1,11 +1,11 @@ ```bash - kubectl scale deployment --replicas=1 -n sv \ - global-domain-0-cometbft \ global-domain-0-mediator \ global-domain-0-sequencer \ - participant-0 \ + participant \ scan-app \ sv-app \ validator-app +Once all components are healthy again, they should start catching up their state from peer +SVs, and eventually become functional again. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201.mdx new file mode 100644 index 00000000..9ce39f43 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201.mdx @@ -0,0 +1,11 @@ +```bash + export LEDGER_API_URL="https://validator.example.com:5003" + export TOKEN="your-auth-token" + export BENEFICIARY_PARTY="beneficiary::1220abcd..." + export DELEGATE_PARTY="validator_operator::1220efgh..." + export DSO_PARTY="DSO::1220ijkl..." + export EXPIRES_AT="2025-12-31T23:59:59Z" + # This could be created by + # export EXPIRES_AT="$(date -u -d '+1 year' '+%Y-%m-%dT%H:%M:%SZ')" + export AMULET_MERGE_LIMIT=10 +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215.mdx new file mode 100644 index 00000000..d3581433 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215.mdx @@ -0,0 +1,22 @@ +```bash + curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ + --data-raw '{ + "commands": [ + { + "CreateCommand": { + "templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal", + "createArguments": { + "delegation": { + "beneficiary": "'"$BENEFICIARY_PARTY"'", + "delegate": "'"$DELEGATE_PARTY"'", + "dso": "'"$DSO_PARTY"'", + "expiresAt": "'"$EXPIRES_AT"'", + "amuletMergeLimit": '"$AMULET_MERGE_LIMIT"' + } + } + } + } + ] + }' \ + "$LEDGER_API_URL/v2/commands" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251.mdx new file mode 100644 index 00000000..153d237f --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251.mdx @@ -0,0 +1,21 @@ +```bash + curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ + --data-raw '{ + "filter": { + "filtersByParty": { + "'"$BENEFICIARY_PARTY"'": { + "filters": [ + { + "inclusive": { + "templateFilters": [ + {"templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal"} + ] + } + } + ] + } + } + } + }' \ + "$LEDGER_API_URL/v2/state/active-contracts" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276.mdx new file mode 100644 index 00000000..75cc4a68 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276.mdx @@ -0,0 +1,21 @@ +```bash + curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ + --data-raw '{ + "filter": { + "filtersByParty": { + "'"$BENEFICIARY_PARTY"'": { + "filters": [ + { + "inclusive": { + "templateFilters": [ + {"templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegation"} + ] + } + } + ] + } + } + } + }' \ + "$LEDGER_API_URL/v2/state/active-contracts" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309.mdx new file mode 100644 index 00000000..9715a808 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309.mdx @@ -0,0 +1,18 @@ +```bash + export PROPOSAL_CONTRACT_ID="00abcd1234..." + + curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ + --data-raw '{ + "commands": [ + { + "ExerciseCommand": { + "templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal", + "contractId": "'"$PROPOSAL_CONTRACT_ID"'", + "choice": "MintingDelegationProposal_Withdraw", + "choiceArgument": {} + } + } + ] + }' \ + "$LEDGER_API_URL/v2/commands" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-137.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-137.mdx index e9a6b288..6a669bc1 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-137.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-137.mdx @@ -1,6 +1,6 @@ ```bash - kubectl create secret generic participant-bootstrap-dump \ - --from-file=content=${PARTICIPANT_BOOTSTRAP_DUMP_FILE} \ - -n validator +.. code-block:: bash + + kubectl create secret generic participant-bootstrap-dump \ ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx new file mode 100644 index 00000000..32ef6511 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx @@ -0,0 +1,5 @@ +```bash + kubectl create secret generic participant-bootstrap-dump \ + --from-file=content=${PARTICIPANT_BOOTSTRAP_DUMP_FILE} \ + -n validator +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx index 685764d6..17dec41d 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx @@ -1,4 +1,4 @@ ```bash - ./start.sh -s "" -o "" -p -m "" -i "" -P "" -w +.. code-block:: bash ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx new file mode 100644 index 00000000..9fffc07a --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx @@ -0,0 +1,3 @@ +```bash + ./start.sh -s "" -o "" -p -m "" -i "" -P "" -w +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx index 7a8a130b..0f307231 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx @@ -1,5 +1,5 @@ ```bash - curl -sSLf "https://wallet.validator.YOUR_HOSTNAME/api/validator/v0/admin/domain/data-snapshot?timestamp=&force=true" -H "authorization: Bearer " -X GET -H "Content-Type: application/json" > dump_response.json - cat dump_response.json | jq '.data_snapshot' > dump.json - +transactions. The last step is to setup the necessary contracts to +allow the validator automation to renew transfer preapprovals and +complete transfer commands. To do so, go through the same flow used ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx index 3989c7a5..fa7565cd 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx @@ -1,4 +1,4 @@ ```bash - kubectl cp dump.json validator/:/domain-upgrade-dump/domain_migration_dump.json +Validators then need to: ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx index 2351437e..b513d94a 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx @@ -1,5 +1,5 @@ ```bash - curl -sSLf "https://wallet.localhost/api/validator/v0/admin/domain/data-snapshot?timestamp=&force=true" -H "authorization: Bearer " -X GET -H "Content-Type: application/json" > dump_response.json - cat dump_response.json | jq '.data_snapshot' > dump.json + sequencerSuccessors, + ) ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx index 27afb4d5..50586827 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx @@ -1,5 +1,5 @@ ``` - val syncId = participant.synchronizers.list_connected().head.synchronizerId - participant.topology.party_to_participant_mappings.list(syncId, filterParticipant = ) +1. First make sure all parties are hosted on the same node. The most + common case is that either the parties are still on the old node ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx index 9cf88568..1d2d49c9 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx @@ -1,5 +1,5 @@ ``` - val participantId = participant.id // ID of the new participant - participant.topology.party_to_participant_mappings.propose(, Seq((participantId, )), store = syncId) + .. code:: + val syncId = participant.synchronizers.list_connected().head.synchronizerId ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240.mdx new file mode 100644 index 00000000..f5a4bbb3 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240.mdx @@ -0,0 +1,4 @@ +``` +val syncId = participant.synchronizers.list_connected().head.synchronizerId +participant.topology.party_to_participant_mappings.list(syncId, filterParticipant = ) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248.mdx new file mode 100644 index 00000000..a061a99a --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248.mdx @@ -0,0 +1,4 @@ +``` +val participantId = participant.id // ID of the new participant +participant.topology.party_to_participant_mappings.propose(, Seq((participantId, )), store = syncId) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx index f324269e..e66ed3c1 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx @@ -1,4 +1,4 @@ ``` - participant.synchronizers.disconnect_all() +2. If all parties are on the new node already, you can attempt to (re-)import the ACS for those parties manually. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260.mdx new file mode 100644 index 00000000..e8513d89 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260.mdx @@ -0,0 +1,3 @@ +``` +participant.synchronizers.disconnect_all() +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-264.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-264.mdx index ef9abedf..e690948e 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-264.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-264.mdx @@ -1,4 +1,4 @@ ``` - participant.repair.import_acs("acs_snapshot") + Run from a regular shell (same working directory like the one you started your Canton console from): ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx new file mode 100644 index 00000000..1301451f --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx @@ -0,0 +1,3 @@ +``` +participant.repair.import_acs("acs_snapshot") +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299.mdx new file mode 100644 index 00000000..aa0c302a --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299.mdx @@ -0,0 +1,4 @@ +``` +Missing authorizers: ReferencedAuthorizations(extraKeys = ...) +Rejected transaction ... OwnerToKeyMapping(...) ... due to Not authorized +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-309.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-309.mdx index 90ebc961..d8437223 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-309.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-309.mdx @@ -1,33 +1,33 @@ ``` - // replace YOUR_PARTY_ID by the ID of your external party - val partyId = PartyId.tryFromProtoPrimitive("YOUR_PARTY_ID") - val participantId = participant.id - val synchronizerId = participant.synchronizers.id_of("global") - - // generate topology transaction - val partyToParticipant = PartyToParticipant.tryCreate( - partyId = partyId, - threshold = PositiveInt.one, - participants = Seq( - HostingParticipant( - participantId, - ParticipantPermission.Confirmation, - ) - ), - ) - - import com.digitalasset.canton.admin.api.client.commands.TopologyAdminCommands.Write.GenerateTransactions - val topologyTransaction = participant.topology.transactions.generate( - Seq( - GenerateTransactions.Proposal( - partyToParticipant, - TopologyStoreId.Synchronizer(synchronizerId), - ) - ) - ).head - - // Print out the hash that needs to be signed. Note that you need to sign - // the actual bytes the hex string represents not the hex string - topologyTransaction.hash.hash.toHexString + those from the rejected ``OwnerToKeyMapping`` in your participant logs, and replace the + old participant ID with your actual old participant ID: + .. code:: + + val keys = Seq("", "").map(prefix => + participant.keys.public.list().filter(_.publicKey.id.toProtoPrimitive.startsWith(prefix)).head.publicKey) + + val oldParticipantId = ParticipantId.fromProtoPrimitive("", "participant").toOption.get + val otk = OwnerToKeyMapping(member = oldParticipantId, keys = NonEmpty.from(keys).get) + participant.topology.owner_to_key_mappings.propose(otk, force = ForceFlag.AlienMember) + +3. Start the validator app using your original identities dump configuration. + +.. _validator_recover_external_party: + +Recover the Coin balance of an external party ++++++++++++++++++++++++++++++++++++++++++++++ + +For a party relying on external signing, a similar procedure can be +used to recover its coin balance in case the validator originally +hosting it becomes unusable for whatever reason. + +.. warning:: The target validator that you use to host the party after + recovery **must** be a **completely new validator**. An existing validator + may brick completely due to some limitations around party + migrations and there is no way to recover from that at + this point. Recovering a validator from an identities backup does not classify + as a completely new validator here. You must setup it with a completely new identity + and a completely clean database. + This limitation is expected to be lifted in ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314.mdx new file mode 100644 index 00000000..b6db37f3 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314.mdx @@ -0,0 +1,8 @@ +``` +val keys = Seq("", "").map(prefix => + participant.keys.public.list().filter(_.publicKey.id.toProtoPrimitive.startsWith(prefix)).head.publicKey) + +val oldParticipantId = ParticipantId.fromProtoPrimitive("", "participant").toOption.get +val otk = OwnerToKeyMapping(member = oldParticipantId, keys = NonEmpty.from(keys).get) +participant.topology.owner_to_key_mappings.propose(otk, force = ForceFlag.AlienMember) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-351.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-351.mdx index 6f3a9bf5..4afc0870 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-351.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-351.mdx @@ -1,20 +1,20 @@ ``` - // Replace HASH_SIGNATURE_HEXSTRING with the signed topology transaction hash - val signature = Signature.fromExternalSigning(SignatureFormat.Raw, HexString.parseToByteString("HASH_SIGNATURE_HEXSTRING").get, partyId.namespace.fingerprint, SigningAlgorithmSpec.Ed25519) - val topologyTxSignedByParty = SignedTopologyTransaction.create( - topologyTransaction, - NonEmpty(Set, SingleTransactionSignature(topologyTransaction.hash, signature): TopologyTransactionSignature), - isProposal = false, - ProtocolVersion.v34, - ) - val topologyTxSignedByBoth = participant.topology.transactions.sign( - topologyTxSignedByParty, - TopologyStoreId.Synchronizer(synchronizerId), - signedBy = Seq(participantId.namespace.fingerprint) - ) - participant.topology.transactions.load( - topologyTxSignedByBoth, - TopologyStoreId.Synchronizer(synchronizerId), - ) +it on multiple nodes, you will need to adjust this. +.. code:: + + // replace YOUR_PARTY_ID by the ID of your external party + val partyId = PartyId.tryFromProtoPrimitive("YOUR_PARTY_ID") + val participantId = participant.id + val synchronizerId = participant.synchronizers.id_of("global") + + // generate topology transaction + val partyToParticipant = PartyToParticipant.tryCreate( + partyId = partyId, + threshold = PositiveInt.one, + participants = Seq( + HostingParticipant( + participantId, + ParticipantPermission.Confirmation, + ) ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx new file mode 100644 index 00000000..13f3cb5c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx @@ -0,0 +1,32 @@ +``` +// replace YOUR_PARTY_ID by the ID of your external party +val partyId = PartyId.tryFromProtoPrimitive("YOUR_PARTY_ID") +val participantId = participant.id +val synchronizerId = participant.synchronizers.id_of("global") + +// generate topology transaction +val partyToParticipant = PartyToParticipant.tryCreate( + partyId = partyId, + threshold = PositiveInt.one, + participants = Seq( + HostingParticipant( + participantId, + ParticipantPermission.Confirmation, + ) + ), + ) + +import com.digitalasset.canton.admin.api.client.commands.TopologyAdminCommands.Write.GenerateTransactions +val topologyTransaction = participant.topology.transactions.generate( + Seq( + GenerateTransactions.Proposal( + partyToParticipant, + TopologyStoreId.Synchronizer(synchronizerId), + ) + ) +).head + +// Print out the hash that needs to be signed. Note that you need to sign +// the actual bytes the hex string represents not the hex string +topologyTransaction.hash.hash.toHexString +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-373.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-373.mdx index 92476ec9..9d549ca0 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-373.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-373.mdx @@ -1,20 +1,20 @@ ``` - // The detailed output will slightly vary. Make sure that you see the new participant ID though. - participant.topology.party_to_participant_mappings.list(synchronizerId, filterParty = partyId.filterString) - res36: Seq[topology.ListPartyToParticipantResult] = Vector( - ListPartyToParticipantResult( - context = BaseResult( - storeId = Synchronizer(id = global-domain::122025296c61...), - validFrom = 2025-05-14T10:19:33.534074Z, - validUntil = None, - sequenced = 2025-05-14T10:19:33.534074Z, - operation = Replace, - transactionHash = , - serial = PositiveNumeric(value = 1), - signedBy = Vector(1220b529c1d9...) - ), - item = PartyToParticipant(YOUR_PARTY_ID, PositiveNumeric(1), Vector(HostingParticipant(YOUR_PARTICIPANT_ID..., Submission))) - ) - ) + val topologyTransaction = participant.topology.transactions.generate( + Seq( + GenerateTransactions.Proposal( + partyToParticipant, + TopologyStoreId.Synchronizer(synchronizerId), + ) + ) + ).head + + // Print out the hash that needs to be signed. Note that you need to sign + // the actual bytes the hex string represents not the hex string + topologyTransaction.hash.hash.toHexString + +We'll need the topology transaction and the definitions defined here later again. Either keep your Canton console open or save them. + +The topology transaction hash needs to be signed externally following the +`documentation for external signing `_. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx new file mode 100644 index 00000000..aa50a77c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx @@ -0,0 +1,19 @@ +``` +// Replace HASH_SIGNATURE_HEXSTRING with the signed topology transaction hash +val signature = Signature.fromExternalSigning(SignatureFormat.Raw, HexString.parseToByteString("HASH_SIGNATURE_HEXSTRING").get, partyId.namespace.fingerprint, SigningAlgorithmSpec.Ed25519) +val topologyTxSignedByParty = SignedTopologyTransaction.create( + topologyTransaction, + NonEmpty(Set, SingleTransactionSignature(topologyTransaction.hash, signature): TopologyTransactionSignature), + isProposal = false, + ProtocolVersion.v34, +) +val topologyTxSignedByBoth = participant.topology.transactions.sign( + topologyTxSignedByParty, + TopologyStoreId.Synchronizer(synchronizerId), + signedBy = Seq(participantId.namespace.fingerprint) +) +participant.topology.transactions.load( + topologyTxSignedByBoth, + TopologyStoreId.Synchronizer(synchronizerId), +) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-405.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-405.mdx index 43b6e1c0..0ab01ad7 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-405.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-405.mdx @@ -1,6 +1,6 @@ ``` - participant.synchronizers.disconnect_all() - participant.repair.import_acs("acs_snapshot") - participant.synchronizers.reconnect_all() - + val topologyTxSignedByBoth = participant.topology.transactions.sign( + topologyTxSignedByParty, + TopologyStoreId.Synchronizer(synchronizerId), + signedBy = Seq(participantId.namespace.fingerprint) ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx new file mode 100644 index 00000000..7e09775a --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx @@ -0,0 +1,19 @@ +``` +// The detailed output will slightly vary. Make sure that you see the new participant ID though. +participant.topology.party_to_participant_mappings.list(synchronizerId, filterParty = partyId.filterString) + res36: Seq[topology.ListPartyToParticipantResult] = Vector( + ListPartyToParticipantResult( + context = BaseResult( + storeId = Synchronizer(id = global-domain::122025296c61...), + validFrom = 2025-05-14T10:19:33.534074Z, + validUntil = None, + sequenced = 2025-05-14T10:19:33.534074Z, + operation = Replace, + transactionHash = , + serial = PositiveNumeric(value = 1), + signedBy = Vector(1220b529c1d9...) + ), + item = PartyToParticipant(YOUR_PARTY_ID, PositiveNumeric(1), Vector(HostingParticipant(YOUR_PARTICIPANT_ID..., Submission))) + ) + ) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx new file mode 100644 index 00000000..c511f736 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx @@ -0,0 +1,5 @@ +``` +participant.synchronizers.disconnect_all() +participant.repair.import_acs("acs_snapshot") +participant.synchronizers.reconnect_all() +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485.mdx new file mode 100644 index 00000000..0fa00888 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485.mdx @@ -0,0 +1,9 @@ +``` +val existingPhysicalSynchronizerId = participant.synchronizers.list_connected().find(_.synchronizerAlias == "global").head.physicalSynchronizerId +participant.synchronizers.perform_manual_lsu( + existingPhysicalSynchronizerId, + newPhysicalSynchronizerId, + upgradeTime = None, + sequencerSuccessors, +) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268.mdx new file mode 100644 index 00000000..14e91725 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268.mdx @@ -0,0 +1,3 @@ +```bash +curl -sSL --fail-with-body '|gsf_scan_url|/api/scan/v0/acs/YOUR_PARTY_ID' -H 'Content-Type: application/json' | jq -r .acs_snapshot | base64 -d > acs_snapshot +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443.mdx new file mode 100644 index 00000000..fe2f10e3 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443.mdx @@ -0,0 +1,4 @@ +```bash +// Make sure to adjust YOUR_VALID_FROM to the time you got from the previous query and YOUR_PARY_ID +curl -sSL --fail-with-body '|gsf_scan_url|/api/scan/v0/acs/YOUR_PARTY_ID?record_time=YOUR_VALID_FROM' -H 'Content-Type: application/json' | jq -r .acs_snapshot | base64 -d > acs_snapshot +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx index 12c73bba..0dd8f87d 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx @@ -1,6 +1,6 @@ ```yaml - additionalEnvVars: - - name: ADDITIONAL_CONFIG_EXIT_ON_FATAL_FAILURES - value: canton.parameters.exit-on-fatal-failures = false + .. code-block:: yaml + + additionalEnvVars: ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185.mdx new file mode 100644 index 00000000..52b0a9fc --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185.mdx @@ -0,0 +1,5 @@ +```yaml +additionalEnvVars: + - name: ADDITIONAL_CONFIG_EXIT_ON_FATAL_FAILURES + value: canton.parameters.exit-on-fatal-failures = false +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-103.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-103.mdx index 44051e14..60300992 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-103.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-103.mdx @@ -1,6 +1,6 @@ ```bash - kubectl create secret generic postgres-secrets \ - --from-literal=postgresPassword=${POSTGRES_PASSWORD} \ - -n validator +You can set ``http.nonProxyHosts`` to bypass the proxy for specific target +hosts. Matching hosts will be contacted directly rather than through the +configured proxy. This is useful for services that are reachable on the local ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-116.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-116.mdx index 62e80fd4..5d38bec4 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-116.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-116.mdx @@ -1,6 +1,6 @@ ```bash - kubectl create secret generic splice-app-validator-onboarding-validator \ - "--from-literal=secret=${ONBOARDING_SECRET}" \ - -n validator + resolution is performed, so ``localhost`` and ``127.0.0.1`` are treated as + different names unless you list both. +- An empty value (e.g. ``-Dhttp.nonProxyHosts=``) means "no bypass patterns". ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx new file mode 100644 index 00000000..9ad5f3aa --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx @@ -0,0 +1,5 @@ +```bash + kubectl create secret generic postgres-secrets \ + --from-literal=postgresPassword=${POSTGRES_PASSWORD} \ + -n validator +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx new file mode 100644 index 00000000..30f319d1 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx @@ -0,0 +1,5 @@ +```bash + kubectl create secret generic splice-app-validator-onboarding-validator \ + "--from-literal=secret=${ONBOARDING_SECRET}" \ + -n validator +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-310.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-310.mdx index b84e5a97..c2c2ed83 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-310.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-310.mdx @@ -1,10 +1,10 @@ ```bash - kubectl create --namespace validator secret generic splice-app-validator-ledger-api-auth \ - "--from-literal=ledger-api-user=${VALIDATOR_CLIENT_ID}@clients" \ - "--from-literal=url=${OIDC_AUTHORITY_URL}/.well-known/openid-configuration" \ - "--from-literal=client-id=${VALIDATOR_CLIENT_ID}" \ - "--from-literal=client-secret=${VALIDATOR_CLIENT_SECRET}" \ - "--from-literal=audience=${OIDC_AUTHORITY_LEDGER_API_AUDIENCE}" \ - "--from-literal=scope=${OIDC_AUTHORITY_LEDGER_API_SCOPE}" + e. Save your application settings. +6. Create an Auth0 Application for the CNS web UI. + Repeat all steps described in step 5, with following modifications: + + - In step b, use ``CNS web UI`` as the name of your application. + - In steps c and d, use the URL for your validator's *CNS* UI. + If you're using the ingress configuration of this runbook, that would be ``https://cns.validator.YOUR_HOSTNAME``. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-322.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-322.mdx index d1760326..f0395670 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-322.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-322.mdx @@ -1,10 +1,10 @@ ```bash - kubectl create --namespace validator secret generic splice-app-wallet-ui-auth \ - "--from-literal=url=${OIDC_AUTHORITY_URL}" \ - "--from-literal=client-id=${WALLET_UI_CLIENT_ID}" +It can be found in the Auth0 interface under User Management -> Users -> your user's name -> user_id (a field right under the user's name at the top). - kubectl create --namespace validator secret generic splice-app-cns-ui-auth \ - "--from-literal=url=${OIDC_AUTHORITY_URL}" \ - "--from-literal=client-id=${CNS_UI_CLIENT_ID}" +We will use the environment variables listed in the table below to refer to aspects of your Auth0 configuration: +================================== =========================================================================== +Name Value +---------------------------------- --------------------------------------------------------------------------- +OIDC_AUTHORITY_URL ``https://AUTH0_TENANT_NAME.us.auth0.com`` ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx new file mode 100644 index 00000000..d9d7b0ee --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx @@ -0,0 +1,9 @@ +```bash + kubectl create --namespace validator secret generic splice-app-validator-ledger-api-auth \ + "--from-literal=ledger-api-user=${VALIDATOR_CLIENT_ID}@clients" \ + "--from-literal=url=${OIDC_AUTHORITY_URL}/.well-known/openid-configuration" \ + "--from-literal=client-id=${VALIDATOR_CLIENT_ID}" \ + "--from-literal=client-secret=${VALIDATOR_CLIENT_SECRET}" \ + "--from-literal=audience=${OIDC_AUTHORITY_LEDGER_API_AUDIENCE}" \ + "--from-literal=scope=${OIDC_AUTHORITY_LEDGER_API_SCOPE}" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx new file mode 100644 index 00000000..7b110f6e --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx @@ -0,0 +1,9 @@ +```bash + kubectl create --namespace validator secret generic splice-app-wallet-ui-auth \ + "--from-literal=url=${OIDC_AUTHORITY_URL}" \ + "--from-literal=client-id=${WALLET_UI_CLIENT_ID}" + + kubectl create --namespace validator secret generic splice-app-cns-ui-auth \ + "--from-literal=url=${OIDC_AUTHORITY_URL}" \ + "--from-literal=client-id=${CNS_UI_CLIENT_ID}" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-451.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-451.mdx index 4a01fbee..b17ca718 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-451.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-451.mdx @@ -1,11 +1,11 @@ ```bash - $ kubectl get pods -n validator - NAMESPACE NAME READY STATUS RESTARTS AGE - validator ans-web-ui-5bf489db78-bdn2j 1/1 Running 0 24m - validator participant-8988dfb54-m9655 1/1 Running 0 26m - validator postgres-0 1/1 Running 0 37m - validator validator-app-f8c74d5dd-zf9j4 1/1 Running 0 24m - validator wallet-web-ui-69d85cdb99-fnj7q 1/1 Running 0 24m +- Replace ``YOUR_VALIDATOR_PARTY_HINT`` with the desired name for your + validator operator party. It must be of the format + ``--``. +- Replace ``YOUR_VALIDATOR_NODE_NAME`` with the name you want your validator node to be represented as on the network. Usually you can use the same value as for your ``validatorPartyHint``. +Finally, please download the UI config values file from +https://github.com/global-synchronizer-foundation/configs/blob/main/configs/ui-config-values.yaml +and add the values from it to your ``standalone-validator-values.yaml``. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx new file mode 100644 index 00000000..1a319793 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx @@ -0,0 +1,9 @@ +```bash + $ kubectl get pods -n validator + NAMESPACE NAME READY STATUS RESTARTS AGE + validator ans-web-ui-5bf489db78-bdn2j 1/1 Running 0 24m + validator participant-8988dfb54-m9655 1/1 Running 0 26m + validator postgres-0 1/1 Running 0 37m + validator validator-app-f8c74d5dd-zf9j4 1/1 Running 0 24m + validator wallet-web-ui-69d85cdb99-fnj7q 1/1 Running 0 24m +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-514.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-514.mdx index 916bc2b4..3eb15fc8 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-514.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-514.mdx @@ -1,7 +1,7 @@ ```bash - helm repo add istio https://istio-release.storage.googleapis.com/charts - helm repo update - helm install istio-base istio/base -n istio-system --set defaults.global.istioNamespace=cluster-ingress --wait - helm install istiod istio/istiod -n cluster-ingress --set global.istioNamespace="cluster-ingress" --set meshConfig.accessLogFile="/dev/stdout" --wait +* ``https://wallet.validator.`` should be routed to service ``wallet-web-ui`` in the ``validator`` namespace +* ``https://wallet.validator./api/validator`` should be routed to ``/api/validator`` at port 5003 of service ``validator-app`` in the ``validator`` namespace +* ``https://cns.validator.`` should be routed to service ``ans-web-ui`` in the ``validator`` namespace +* ``https://cns.validator./api/validator`` should be routed to ``/api/validator`` at port 5003 of service ``validator-app`` in the ``validator`` namespace ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-526.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-526.mdx index c0901575..3d3cde3c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-526.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-526.mdx @@ -1,5 +1,5 @@ ```bash - kubectl create ns cluster-ingress - - +Internet ingress configuration is often specific to the network configuration and scenario of the +cluster being configured. To illustrate the basic requirements of a Validator node ingress, we have +provided a Helm chart that configures ingress according to the routes above using Istio, as detailed in the sections below. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-849.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx similarity index 99% rename from docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-849.mdx rename to docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx index 916bc2b4..edf844d2 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-849.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx @@ -3,5 +3,4 @@ helm repo update helm install istio-base istio/base -n istio-system --set defaults.global.istioNamespace=cluster-ingress --wait helm install istiod istio/istiod -n cluster-ingress --set global.istioNamespace="cluster-ingress" --set meshConfig.accessLogFile="/dev/stdout" --wait - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx new file mode 100644 index 00000000..cdb8c4d3 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx @@ -0,0 +1,3 @@ +```bash + kubectl create ns cluster-ingress +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-567.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-567.mdx index d962210a..54b21a3d 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-567.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-567.mdx @@ -1,5 +1,5 @@ ```bash - helm install istio-ingress istio/gateway -n cluster-ingress -f istio-gateway-values.yaml - - + kind: Certificate + metadata: + name: cn-certificate ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx new file mode 100644 index 00000000..b72c5314 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx @@ -0,0 +1,3 @@ +```bash + helm install istio-ingress istio/gateway -n cluster-ingress -f istio-gateway-values.yaml +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-611.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-611.mdx index 3ea9717b..9cd7e629 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-611.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-611.mdx @@ -1,5 +1,5 @@ ```bash - kubectl apply -f gateway.yaml -n cluster-ingress - - + namespace: cluster-ingress + spec: + selector: ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx new file mode 100644 index 00000000..8ff91efc --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx @@ -0,0 +1,3 @@ +```bash + kubectl apply -f gateway.yaml -n cluster-ingress +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-65.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-65.mdx index b05f5efc..6abfcd76 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-65.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-65.mdx @@ -1,4 +1,3 @@ ```bash kubectl create ns validator - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx new file mode 100644 index 00000000..eb49f759 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx @@ -0,0 +1,3 @@ +```bash +tar xzvf |version|\_splice-node.tar.gz +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472.mdx new file mode 100644 index 00000000..bc6d47ca --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472.mdx @@ -0,0 +1,5 @@ +```bash +helm install postgres |helm_repo_prefix|/splice-postgres -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/postgres-values-validator-participant.yaml --wait +helm install participant |helm_repo_prefix|/splice-participant -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/participant-values.yaml -f splice-node/examples/sv-helm/standalone-participant-values.yaml --wait +helm install validator |helm_repo_prefix|/splice-validator -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-values.yaml -f splice-node/examples/sv-helm/standalone-validator-values.yaml --wait +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657.mdx new file mode 100644 index 00000000..b0dbc53c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657.mdx @@ -0,0 +1,3 @@ +```bash +helm install cluster-ingress-validator |helm_repo_prefix|/splice-cluster-ingress-runbook -n validator --version ${CHART_VERSION} -f splice-node/examples/sv-helm/validator-cluster-ingress-values.yaml +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127.mdx new file mode 100644 index 00000000..15878680 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127.mdx @@ -0,0 +1,6 @@ +```yaml +additionalJvmOptions: | + -Dhttps.proxyHost=your.proxy.host + -Dhttps.proxyPort=your_proxy_port + -Dhttp.nonProxyHosts=localhost|127.0.0.1|*.internal|10.* +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-535.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-535.mdx index d15c6499..dd8681e3 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-535.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-535.mdx @@ -1,15 +1,15 @@ ```yaml - apiVersion: cert-manager.io/v1 - kind: Certificate - metadata: - name: cn-certificate - namespace: cluster-ingress - spec: - dnsNames: - - '*.validator.YOUR_HOSTNAME' - issuerRef: - name: letsencrypt-production - secretName: cn-net-tls +* *cert-manager* must be available in the cluster (See `cert-manager documentation `_) +* *istio* should be installed in the cluster (See `istio documentation `_) +*Note that their deployments are often platform-dependent and good documentations on how to set them up can be found online.* + +**Example of Istio installation:** + +.. code-block:: bash + + helm repo add istio https://istio-release.storage.googleapis.com/charts + helm repo update + helm install istio-base istio/base -n istio-system --set defaults.global.istioNamespace=cluster-ingress --wait ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-553.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-553.mdx index 06961ab0..4bba621f 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-553.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-553.mdx @@ -1,12 +1,12 @@ ```yaml - service: - loadBalancerIP: "YOUR_CLUSTER_IP" - loadBalancerSourceRanges: - - "35.194.81.56/32" - - "35.198.147.95/32" - - "35.189.40.124/32" - - "34.132.91.75/32" +Create a `cluster-ingress` namespace: +.. code-block:: bash + kubectl create ns cluster-ingress + +Ensure that there is a cert-manager certificate available in a secret +named ``cn-net-tls``. An example of a suitable certificate +definition: ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx new file mode 100644 index 00000000..15bfa6ff --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx @@ -0,0 +1,13 @@ +```yaml +apiVersion: cert-manager.io/v1 +kind: Certificate +metadata: + name: cn-certificate + namespace: cluster-ingress +spec: + dnsNames: + - '*.validator.YOUR_HOSTNAME' + issuerRef: + name: letsencrypt-production + secretName: cn-net-tls +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-576.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-576.mdx index 5ff9d9ed..72bcdba7 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-576.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-576.mdx @@ -1,33 +1,33 @@ ```yaml - apiVersion: networking.istio.io/v1alpha3 - kind: Gateway - metadata: - name: cn-http-gateway - namespace: cluster-ingress - spec: - selector: - app: istio-ingress - istio: ingress - servers: - - port: - number: 443 - name: https - protocol: HTTPS - tls: - mode: SIMPLE - credentialName: cn-net-tls # name of the secret created above - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" - - port: - number: 80 - name: http - protocol: HTTP - tls: - httpsRedirect: true - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" + secretName: cn-net-tls +Create a file named ``istio-gateway-values.yaml`` with the following content +(Tip: on GCP you can get the cluster IP from ``gcloud compute addresses list``): + +.. code-block:: yaml + + service: + loadBalancerIP: "YOUR_CLUSTER_IP" + loadBalancerSourceRanges: + - "35.194.81.56/32" + - "35.198.147.95/32" + - "35.189.40.124/32" + - "34.132.91.75/32" + + + +And install it to your cluster: + +.. code-block:: bash + + helm install istio-ingress istio/gateway -n cluster-ingress -f istio-gateway-values.yaml + + +Create an Istio Gateway resource in the `cluster-ingress` namespace. Save the following to a file named `gateway.yaml`, +and replace ``YOUR_HOSTNAME`` with the actual hostname you want to use for your validator node +(and has a DNS record pointing to the cluster IP you configured above): + +.. code-block:: yaml + ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx new file mode 100644 index 00000000..170696e8 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx @@ -0,0 +1,9 @@ +```yaml +service: + loadBalancerIP: "YOUR_CLUSTER_IP" + loadBalancerSourceRanges: + - "35.194.81.56/32" + - "35.198.147.95/32" + - "35.189.40.124/32" + - "34.132.91.75/32" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx new file mode 100644 index 00000000..b38311ef --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx @@ -0,0 +1,31 @@ +```yaml +apiVersion: networking.istio.io/v1alpha3 +kind: Gateway +metadata: + name: cn-http-gateway + namespace: cluster-ingress +spec: + selector: + app: istio-ingress + istio: ingress + servers: + - port: + number: 443 + name: https + protocol: HTTPS + tls: + mode: SIMPLE + credentialName: cn-net-tls # name of the secret created above + hosts: + - "*.YOUR_HOSTNAME" + - "YOUR_HOSTNAME" + - port: + number: 80 + name: http + protocol: HTTP + tls: + httpsRedirect: true + hosts: + - "*.YOUR_HOSTNAME" + - "YOUR_HOSTNAME" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771.mdx index c57c1ee7..3c512377 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771.mdx @@ -1,12 +1,12 @@ ```yaml - # if you want to disable the default postgres init container: - persistence: - enablePgInitContainer: false +Refer to the Canton documentation for more details on participant pruning: - # if you want additional init containers: - extraInitContainers: - - name: my-extra-container - image: busybox - command: [ "sh", "-c", "echo 'example extra container'" ] +* https://docs.daml.com/ops/pruning.html +* https://docs.daml.com/canton/usermanual/pruning.html + +.. literalinclude:: ../../../apps/app/src/pack/examples/sv-helm/validator-values.yaml + :language: yaml + :start-after: PARTICIPANT_PRUNING_SCHEDULE_START + :end-before: PARTICIPANT_PRUNING_SCHEDULE_END ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx new file mode 100644 index 00000000..50cf5ee8 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx @@ -0,0 +1,11 @@ +```yaml +# if you want to disable the default postgres init container: +persistence: + enablePgInitContainer: false + +# if you want additional init containers: +extraInitContainers: + - name: my-extra-container + image: busybox + command: [ "sh", "-c", "echo 'example extra container'" ] +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797.mdx index 8e08b26d..0daad699 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797.mdx @@ -1,11 +1,11 @@ ```yaml - extraInitContainers: - - name: chown-domain-upgrade-dump - image: busybox:1.37.0 - command: ["sh", "-c", "chown -R 1001:1001 /domain-upgrade-dump"] - volumeMounts: - - name: domain-upgrade-dump-volume - mountPath: /domain-upgrade-dump + command: [ "sh", "-c", "echo 'example extra container'" ] +.. _helm-validator-volume-ownership: +Working around volume ownership issues +-------------------------------------- + +The containers in the ``splice-validator`` chart run as non-root users (specifically, user:group 1001:1001) for security reasons. +The pod mounts volumes for use by the containers, and these volumes need to be owned by the user that the containers run as. ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx new file mode 100644 index 00000000..6ffb6fe4 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx @@ -0,0 +1,9 @@ +```yaml +extraInitContainers: + - name: chown-domain-upgrade-dump + image: busybox:1.37.0 + command: ["sh", "-c", "chown -R 1001:1001 /domain-upgrade-dump"] + volumeMounts: + - name: domain-upgrade-dump-volume + mountPath: /domain-upgrade-dump +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-82.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-82.mdx index 2e49a96b..cf29f0e0 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-82.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-82.mdx @@ -1,6 +1,5 @@ ```yaml - additionalJvmOptions: | - -Dhttps.proxyHost=your.proxy.host - -Dhttps.proxyPort=your_proxy_port - +additionalJvmOptions: | + -Dhttps.proxyHost=your.proxy.host + -Dhttps.proxyPort=your_proxy_port ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-107.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-107.mdx index edf03441..3bd45c2c 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-107.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-107.mdx @@ -9,5 +9,4 @@ https://scan.sv-2.test.global.canton.network.cumberland.io: 0.3.6 https://scan.sv-1.test.global.canton.network.c7.digital: 0.3.6 https://scan.sv-1.test.global.canton.network.digitalasset.com: 0.3.6 - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-136.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-136.mdx index c3564e44..6e6db2a6 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-136.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-136.mdx @@ -29,5 +29,4 @@ sequencer-1.sv-1.test.global.canton.network.digitalasset.com: { "status": "SERVING" } - ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126.mdx new file mode 100644 index 00000000..948cd4b2 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126.mdx @@ -0,0 +1,7 @@ +```bash +(set -o pipefail +for url in $(curl -fsS -m 5 --connect-timeout 5 |gsf_scan_url|/api/scan/v0/dso-sequencers | jq -r '.domainSequencers[].sequencers[].url | sub("https://"; "")'); do + echo -n "$url: " + grpcurl --max-time 10 "$url":443 grpc.health.v1.Health/Check +done) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86.mdx new file mode 100644 index 00000000..c2e283ce --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86.mdx @@ -0,0 +1,3 @@ +```bash +curl -sSL http://checkip.amazonaws.com +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95.mdx new file mode 100644 index 00000000..05499db4 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95.mdx @@ -0,0 +1,8 @@ +```bash +(set -o pipefail +CURL='curl -fsS -m 5 --connect-timeout 5' +for url in $($CURL |gsf_scan_url|/api/scan/v0/scans | jq -r '.scans[].scans[].publicUrl'); do + echo -n "$url: " + $CURL "$url"/api/scan/version | jq -r '.version' +done) +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-reloader-recommendation.mdx b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-reloader-recommendation.mdx new file mode 100644 index 00000000..e69de29b From 592858efb1d5c25491259b9de5d421977fb7c406 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Sun, 24 May 2026 23:15:05 +0300 Subject: [PATCH 04/10] update sv-operations.mdx Signed-off-by: Ibo Sy --- .../deployment/sv-operations.mdx | 96 ++++++++++--------- ...l-docs-src-common-sv-extra-dars-notice.mdx | 13 +++ 2 files changed, 62 insertions(+), 47 deletions(-) create mode 100644 docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-sv-extra-dars-notice.mdx diff --git a/docs-main/global-synchronizer/deployment/sv-operations.mdx b/docs-main/global-synchronizer/deployment/sv-operations.mdx index 15599083..aec472d8 100644 --- a/docs-main/global-synchronizer/deployment/sv-operations.mdx +++ b/docs-main/global-synchronizer/deployment/sv-operations.mdx @@ -16,11 +16,20 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral204 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral193 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsParsedLiteral171 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171.mdx"; +import ExternalSpliceMainSpliceRstFullDocsSrcCommonSvExtraDarsNotice from '/snippets/external/splice/main/splice-rst-full-docs-src-common-sv-extra-dars-notice.mdx'; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml821 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml829 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml838 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml846 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml865 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvOperationsYaml889 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889.mdx"; {/* COPIED_START source="splice:docs/src/sv_operator/sv_operations.rst" hash="cbceece9" */} These sections give an overview of some of the functionalities enabled through your SV node as well as general information useful to SV node operators. + + ## Security Notice For more information on hardening your SV node, see `sv-security`. @@ -331,17 +340,17 @@ t0 t1 t2 t3 - For `(t0, t1]` remaining portion: - > ```bash - > --begin-record-time=t0 --end-record-time=t1 \ - > --weight=10000 --already-minted-weight=10000 - > ``` + ```bash + --begin-record-time=t0 --end-record-time=t1 \ + --weight=10000 --already-minted-weight=10000 + ``` - For `(t1, t2]`: - > ```bash - > --begin-record-time=t1 --end-record-time=t2 \ - > --weight=10000 --already-minted-weight=0 - > ``` + ```bash + --begin-record-time=t1 --end-record-time=t2 \ + --weight=10000 --already-minted-weight=0 + ``` - A vote is initiated for **m₂**. @@ -353,24 +362,24 @@ t0 t1 t2 t3 - For `(t0, t1]` remaining portion: - > ```bash - > --begin-record-time=t0 --end-record-time=t1 \ - > --weight=20000 --already-minted-weight=20000 - > ``` + ```bash + --begin-record-time=t0 --end-record-time=t1 \ + --weight=20000 --already-minted-weight=20000 + ``` - For `(t1, t2]` remaining portion: - > ```bash - > --begin-record-time=t1 --end-record-time=t2 \ - > --weight=20000 --already-minted-weight=10000 - > ``` + ```bash + --begin-record-time=t1 --end-record-time=t2 \ + --weight=20000 --already-minted-weight=10000 + ``` - For `(t2, t3]`: - > ```bash - > --begin-record-time=t2 --end-record-time=t3 \ - > --weight=20000 --already-minted-weight=0 - > ``` + ```bash + --begin-record-time=t2 --end-record-time=t3 \ + --weight=20000 --already-minted-weight=0 + ``` - A vote is initiated for **m₃**. @@ -403,35 +412,34 @@ The `ScanAppBackendConfig` has a field for both the ACS store and the TxLog stor The helm chart value `acsStoreDescriptorUserVersion` sets the `user version` of the ACS store, which is shown in the example below: -> ```yaml -> # Example to trigger re-ingestion of the ACS store for the first time -> persistence: -> acsStoreDescriptorUserVersion: 1 -> ``` + A subsequent re-ingestion can be triggered by incrementing the value, as shown in the example below: -> ```yaml -> # Example to trigger re-ingestion of the ACS store for the second time -> persistence: -> acsStoreDescriptorUserVersion: 2 -> ``` + The helm chart value `txLogStoreDescriptorUserVersion` sets the `user version` of the TxLog store, which is shown in the example below: -> ```yaml -> # Example to trigger re-ingestion of the TxLog store for the first time -> persistence: -> txLogStoreDescriptorUserVersion: 1 -> ``` + A subsequent re-ingestion can be triggered by incrementing the value, as shown in the example below: -> ```yaml -> # Example to trigger re-ingestion of the TxLog store for the second time -> persistence: -> txLogStoreDescriptorUserVersion: 2 -> ``` + + +The `activityIngestionUserVersion` field controls the activity record ingestion version. Incrementing this value causes the scan app to record a new app activity record completeness lower bound. Reward accounting excludes rounds before this boundary, even though their activity records are retained. Thus bumping the user version has the same effect as reinitializing the app activity record computation from the time of the bump onwards. + +Consequences of incrementing the user version: + +- Reward accounting excludes rounds before the new boundary, which may result in the SV node participating in reward computation by asking other SV nodes for the data for the rounds for which the SV node does not have complete activity records. +- Scan will not serve activity records ingested before bumping the user version. The results of this SV node's `v0/events` Scan API may therefore miss some activity records compared to the responses from other Scan APIs. + +This is useful for recovering from unexpected ingestion or reward processing errors without reprocessing historical data. + +The user version must never decrease. A lower value than previously stored will cause the scan app to shut down to prevent data corruption. + +The HOCON configuration key is `canton.scan-apps.scan-app.activity-ingestion-user-version`. It can be set via an `ADDITIONAL_CONFIG` environment variable: + + ## Unvet insecure package versions @@ -445,13 +453,7 @@ To unvet supported packages, SVs (but not regular validators) must set the follo Here an example of how to unvet specific versions of a package: -> ```yaml -> additionalEnvVars: -> - name: ADDITIONAL_CONFIG_ADDITIONAL_PACKAGES_TO_UNVET -> value: | -> canton.sv-apps.sv.additional-packages-to-unvet.splice-wallet = ["0.1.16"] -> canton.sv-apps.sv.additional-packages-to-unvet.splice-amulet = ["0.1.16", "0.1.17"] -> ``` + Unvetting is only supported for SVs and SV validators and does not unvet dependencies for now. diff --git a/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-sv-extra-dars-notice.mdx b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-sv-extra-dars-notice.mdx new file mode 100644 index 00000000..84fd911c --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-full-docs-src-common-sv-extra-dars-notice.mdx @@ -0,0 +1,13 @@ + + +As an SV operator, you are most welcome to review, install, and use third-party Daml apps provided you + +**install third-party Daml apps on a validator node separate from your SV node**. + +Installing additional Daml apps on an SV node is not supported and may compromise its secure + +operations. In particular, please refrain from manually uploading additional `.dar` files + +to your SV node or manually connecting it to third-party synchronizers. + + \ No newline at end of file From 86edb6a0a45e42912726d4974324544365d5a2c4 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Sun, 24 May 2026 23:48:17 +0300 Subject: [PATCH 05/10] add further snippets for inline embeds --- .../deployment/validator-kubernetes.mdx | 89 ++------------- .../deployment/validator-users.mdx | 6 +- .../production-operations/sv-security.mdx | 34 +----- .../validator-disaster-recovery.mdx | 67 +++-------- .../reference/canton-console-reference.mdx | 13 +-- .../splice-fundamentals/rewards-minting.mdx | 104 ++---------------- .../understand/installing-daml-sdk.mdx | 6 +- ...values-scan-client-configuration-start.mdx | 37 +++++++ ...alues-synchronizer-configuration-start.mdx | 33 ++++++ ...observability-validator-health-yaml-22.mdx | 2 +- ...observability-validator-health-yaml-28.mdx | 2 +- ...s-src-sv-operator-sv-security-bash-110.mdx | 5 + ...cs-src-sv-operator-sv-security-bash-73.mdx | 17 +++ ...cs-src-sv-operator-sv-security-json-94.mdx | 6 + 14 files changed, 150 insertions(+), 271 deletions(-) create mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-110.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-73.mdx create mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-json-94.mdx diff --git a/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx b/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx index 537ebe6d..34fde34c 100644 --- a/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx +++ b/docs-main/global-synchronizer/deployment/validator-kubernetes.mdx @@ -25,6 +25,10 @@ import ExternalSpliceMainSpliceRstFullDocsSrcCommonReloaderRecommendation from ' import ExternalSpliceMainSpliceRstFullDocsSrcCommonTrafficTopups from '/snippets/external/splice/main/splice-rst-full-docs-src-common-traffic-topups.mdx'; import ExternalSpliceMainSpliceRstFullDocsSrcCommonWalletSweeps from '/snippets/external/splice/main/splice-rst-full-docs-src-common-wallet-sweeps.mdx'; import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmStandaloneValidatorValuesConfiguringTopupStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx'; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmStandaloneValidatorValuesScanClientConfigurationStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx'; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmStandaloneValidatorValuesSynchronizerConfigurationStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx'; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmValidatorValuesAutoAcceptStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-auto-accept-start.mdx'; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmValidatorValuesParticipantPruningScheduleStart from '/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-participant-pruning-schedule-start.mdx'; import { NetworkVariables } from '/snippets/components/version.mdx'; import { networkData } from '/snippets/generated/version-dashboard-data.mdx'; @@ -294,41 +298,7 @@ Additionally, please modify the file `splice-node/examples/sv-helm/standalone-pa You need to configure how your validator connects to the network's **scan** services by defining a `scanClient` block in your `standalone-validator-values.yaml`. -```yaml -scanClient: - scanType: "bft" - seedUrls: ["TRUSTED_SCAN_URL"] # replace with scan seed url. Supports multiple urls, separated by comma. - -# scanClient denotes how the validator makes connections to scan service and supports three modes of operation. - -# Mode 1: bft (Byzantine Fault Tolerance) -# Connects to all available scans in the network. It validates responses by ensuring -# at least f+1 matching responses are received. - -# scanClient: -# scanType: "bft" -# seedUrls: ["TRUSTED_SCAN_URL"] # replace with scan seed url(s). Supports multiple urls, separated by comma. - -# Mode 2: bft-custom -# A specialized version of bft where you specify a subset of trusted SVs. -# The validator connects only to the scans of the SVs listed in 'svNames'. -# Optional param 'threshold' defines how many identical responses are required to consider the scan responses valid. - -# scanClient: -# scanType: "bft-custom" -# svNames: ["TRUSTED_SV"] # replace with trusted SV names(s) -# seedUrls: ["TRUSTED_SCAN_URL"] # replace with actual scan seed urls(s) -# threshold: # optional integer indicating the number of matching responses required for validation - -# Mode 3: trust-single -# Connects to a single trusted scan address. -# This means that you depend on that single SV and if it is broken or malicious you will be unable to use the network. -# Hence, usually you want to default to not enabling this - -# scanClient: -# scanType: "trust-single" -# scanAddress: "TRUSTED_SCAN_URL" # replace with the trusted scan url -``` + For your selected `scanClient` type, replace `TRUSTED_SCAN_URL` with a URL of a Scan you host or trust that is reachable by your Validator. For example, the GSF scan URL, |gsf_scan_url|. For `bft-custom` and `bft` modes of `scanClient`, you can specify more than one scan seed URL by separating them with commas. @@ -340,37 +310,7 @@ For your selected `scanClient` type, replace `TRUSTED_SCAN_URL` with a URL of a You need to configure how your validator's participant connects to **sequencers** by defining a `synchronizer` config in your `standalone-validator-values.yaml`. -```yaml -synchronizer: - connectionType: "bft" - -# synchronizer configuration enables to configure how the validator's participant connects to the synchronizer. -# synchronizer configuration has three modes of operation. - -# Mode 1: bft (Byzantine Fault Tolerance) -# Uses all available synchronizer connections provided by the scan service. -# Responses are validated against the network's f+1 fault tolerance logic. - -# synchronizer: -# connectionType: "bft" - -# Mode 2: bft-custom -# Connects only to sequencers operated by the specific SVs listed in 'svNames'. -# optional param 'threshold' defines the minimum number of matching responses required for validation. - -# synchronizer: -# connectionType: "bft-custom" -# svNames: ["TRUSTED_SV"] # replace with trusted SV name(s) -# threshold: # optional integer indicating the number of matching responses required for validation - -# Mode 3: trust-Single -# Connects to a single specified sequencer URL. -# trust-single makes you dependent on a single SV; if it is malicious or down, you will be unable to use the network. - -#synchronizer: -# connectionType: "trust-single" -# url: "TRUSTED_SYNCHRONIZER_SEQUENCER_URL" # replace with the trusted synchronizer sequencer url -``` + Additionally, please modify the file `splice-node/examples/sv-helm/standalone-validator-values.yaml` as follows: @@ -522,13 +462,7 @@ To do so, uncomment and fill in the following section in the `validator-values.y Similarly, you can configure the validator to automatically accept transfer offers from certain parties on the network. To do so, uncomment and fill in the following section in the `validator-values.yaml` file: -```yaml -# To configure the validator to auto-accept transfer offers from specific parties, uncomment and fill in the following: -#autoAcceptTransfers: -# "": -# fromParties: -# - "" -``` + ## Logging into the CNS UI @@ -550,14 +484,7 @@ Note that if your node is down for longer than the pruning window (48 hours in t Refer to the [pruning guide](/global-synchronizer/production-operations/pruning) for more details on participant pruning. -```yaml -# To configure participant pruning uncomment the following section. -# Refer to the documentation for more details. -# participantPruningSchedule: -# cron: 0 /10 * * * ? # Run every 10min -# maxDuration: 5m # Run for a max of 5min per iteration -# retention: 48h # Retain history that is newer than 48h. -``` + ## Configuring init containers diff --git a/docs-main/global-synchronizer/deployment/validator-users.mdx b/docs-main/global-synchronizer/deployment/validator-users.mdx index 6e9678d0..a59a57be 100644 --- a/docs-main/global-synchronizer/deployment/validator-users.mdx +++ b/docs-main/global-synchronizer/deployment/validator-users.mdx @@ -5,6 +5,7 @@ description: "Manage users, parties, and wallets on a validator node" import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorUsersBash48 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-users-bash-48.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorUsersBash66 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-users-bash-66.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmValidatorValuesEnablewalletStart from "/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-enablewallet-start.mdx"; {/* COPIED_START source="splice:docs/src/validator_operator/validator_users.rst" hash="b6c1f50f" */} @@ -43,10 +44,7 @@ Custom Party Hint: This mode allows providing a human-readable Party hint when c To disable the wallet HTTP server and the wallet automation, update the `validator-values.yaml` file with `enableWallet: false` -```yaml -# This will disable the wallet HTTP server and wallet automations when set to false -enableWallet: true -``` + Since your wallet is disabled, your validator will not have funds to pay for traffic. You should therefore remove the validator top-up config to prevent its automation from trying to top up the traffic. See `helm_validator_topup` for more details. diff --git a/docs-main/global-synchronizer/production-operations/sv-security.mdx b/docs-main/global-synchronizer/production-operations/sv-security.mdx index 80b00730..b44dece3 100644 --- a/docs-main/global-synchronizer/production-operations/sv-security.mdx +++ b/docs-main/global-synchronizer/production-operations/sv-security.mdx @@ -10,6 +10,9 @@ import KmsMigrationContext from "/snippets/external/splice/main/common/kms-migra import KmsConfigGeneral from "/snippets/external/splice/main/common/kms-config-general.mdx"; import KmsConfigGcp from "/snippets/external/splice/main/common/kms-config-gcp.mdx"; import KmsConfigAws from "/snippets/external/splice/main/common/kms-config-aws.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvSecurityBash110 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-110.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvSecurityJson94 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-json-94.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvSecurityBash73 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-73.mdx"; {/* COPIED_START source="splice:docs/src/sv_operator/sv_security.rst" hash="ae70b7be" */} @@ -54,32 +57,11 @@ This involves the following steps: Use the following shell commands to generate a keypair in the expected format: -```bash -# Generate the private key -openssl genpkey -algorithm ed25519 -out cometbft-governance-keys.pem - -# Extract and encode the keys -public_key_base64=$(openssl pkey -in cometbft-governance-keys.pem -pubout -outform DER | tail -c 32 | base64 | tr -d "\n") -private_key_base64=$(openssl pkey -in cometbft-governance-keys.pem -outform DER | tail -c 32 | base64 | tr -d "\n") - -echo "{" -# Output the keys -echo " \"publicKey\": \"$public_key_base64\"," -echo " \"privateKey\": \"$private_key_base64\"" -echo "}" - -# Clean up -rm cometbft-governance-keys.pem -``` + These commands should result in an output similar to: -```json -{ - "public": "A9tWyYq/HIJ3B73ym1eIUV8yqnDBligGJUE8463CBUM=", - "private": "FDG16PaSh9hGLu2fXzEHmTECMjSyQuZnEg+w5HKCEtg=" -} -``` + Save this output to a file, e.g., `cometbft-governance-keys.json`. @@ -89,11 +71,7 @@ You inject the externally generated CometBFT governance key into the SV app via Assuming that your SV deployment resides in the `sv` namespace, use the following command to create the secret from the JSON file generated above: -```bash -kubectl create secret --namespace sv generic splice-app-sv-cometbft-governance-key \ - --from-literal=publicKey="$(jq -r .public cometbft-governance-keys.json)" \ - --from-literal=privateKey="$(jq -r .private cometbft-governance-keys.json)" -``` + To instruct the SV app to use the externally managed CometBFT governance key instead of generating a fresh one itself, set the `cometBFT.externalGovernanceKey` value in the `splice-sv-node` Helm chart to `true`. (You can comment out the respective line in `splice-node/examples/sv-helm/sv-values.yaml`.) diff --git a/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx b/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx index 05fc4230..6f1d5045 100644 --- a/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx +++ b/docs-main/global-synchronizer/production-operations/validator-disaster-recovery.mdx @@ -4,8 +4,14 @@ description: "Disaster recovery and restore procedures for validator nodes" --- import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryBash137 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-137.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone230 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone250 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmStandaloneValidatorValuesParticipantBootstrapMigrateToNewParticipantStart from "/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-participant-bootstrap-migrate-to-new-participant-start.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryYaml185 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185.mdx"; +import ExternalSpliceMainSpliceRstLiteralFullAppsAppSrcPackExamplesRecoveryManualIdentitiesDump from "/snippets/external/splice/main/splice-literal-full-apps-app-src-pack-examples-recovery-manual-identities-dump.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone240 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone248 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone260 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone299 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone314 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone264 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-264.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone309 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-309.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDisasterRecoveryNone351 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-351.mdx"; @@ -88,13 +94,7 @@ To re-onboard a validator in a Kubernetes deployment and recover the balances of - Uncomment the following lines in the `standalone-validator-values.yaml` file. This will specify a new participant ID for the validator. Replace `put-some-new-string-never-used-before` with a string that was never used before. Make sure to also adjust `nodeIdentifier` to match the same value. -```yaml -# participantIdentitiesDumpImport: -# secretName: participant-bootstrap-dump -# # Make sure to also adjust nodeIdentifier to the same value -# newParticipantIdentifier: put-some-new-string-never-used-before -# migrateValidatorParty: true -``` + ### Docker-Compose Deployment @@ -116,35 +116,13 @@ In case you do not have a usable identities backup but instead have a backup of - You only need to restore and scale up the participant, i.e., you can ignore the validator app and its database. - In case the restored participant shuts down immediately due to failures, add the following additional configuration: - > ```yaml - > additionalEnvVars: - > - name: ADDITIONAL_CONFIG_EXIT_ON_FATAL_FAILURES - > value: canton.parameters.exit-on-fatal-failures = false - > ``` + 2. Open a Canton console to the temporary participant. 3. Run below commands in the opened console. This will store the backup into a *local* file (relative to the local directory from which you opened the console) called `identities-dump.json`. - > ``` text - > import com.digitalasset.canton.topology.transaction.TopologyMapping - > import com.digitalasset.canton.topology.store.TimeQuery - > import java.util.Base64 - > - > val id = participant.id.toProtoPrimitive - > - > // This line needs to be adapted if your participant stores keys in an external KMS - > val keys = "[" + participant.keys.secret.list().filter(k => k.name.get.unwrap != "cometbft-governance-keys").map(key => s"{\"keyPair\": \"${Base64.getEncoder.encodeToString(participant.keys.secret.download(key.publicKey.fingerprint).toByteArray)}\", \"name\": \"${key.name.get.unwrap}\"}") .mkString(",") + "]" - > - > val authorizedStoreSnapshot = Base64.getEncoder.encodeToString(participant.topology.transactions.export_topology_snapshot(timeQuery = TimeQuery.Range(from = None, until = None), filterMappings = Seq(TopologyMapping.Code.NamespaceDelegation, TopologyMapping.Code.OwnerToKeyMapping, TopologyMapping.Code.VettedPackages), filterNamespace = participant.id.namespace.toProtoPrimitive).toByteArray) - > - > val combinedJson = s"""{ "id" : "$id", "keys" : $keys, "authorizedStoreSnapshot" : "$authorizedStoreSnapshot" }""" - > - > // Write to file - > import java.nio.file.{Files, Paths} - > val dumpPath = Paths.get("identities-dump.json") - > Files.writeString(dumpPath, combinedJson) - > ``` + Note that above commands need to be adapted if your participant is configured to store keys in an external KMS. @@ -169,14 +147,11 @@ If you still observe issues, in particular you observe `ACS_COMMITMENT_MISMATCH` 1. First make sure all parties are hosted on the same node. The most common case is that either the parties are still on the old node with the old participant ID or they have been migrated to the new node. You can check by opening a Canton console to any participant on the network (i.e., you can also ask another validator or SV operator for this information) and running the following query where \ is the part after the `::` in, for example, your validator party ID. - + If all parties are on the same node, proceed to the next step. If some are on the old node and some are on the new node, migrate the ones on the old node to the new node by opening a console to the new node and running the following command (adjust the parameters as required for your parties): - ``` - val participantId = participant.id // ID of the new participant - participant.topology.party_to_participant_mappings.propose(<party-id>, Seq((participantId, <participant-permission>)), store = syncId) - ``` + 2. If all parties are on the new node already, you can attempt to (re-)import the ACS for those parties manually. The following steps concern your new validator node: @@ -186,7 +161,7 @@ If you still observe issues, in particular you observe `ACS_COMMITMENT_MISMATCH` 3. From the Canton console, run: - + 4. For each `PARTY_ID` you want to migrate / re-import the ACS for: @@ -210,10 +185,7 @@ If you still observe issues, in particular you observe `ACS_COMMITMENT_MISMATCH` In rare cases, the re-onboarding process may fail at the `ImportTopologySnapshot` step because an `OwnerToKeyMapping` for the old participant ID has an insufficient number of signatures in the topology snapshot. This only affects validators that were originally onboarded on Splice 0.4.1 or earlier, which used a Canton version that did not require the mapped keys to co-sign `OwnerToKeyMapping` transactions. You can identify this issue by looking for the following messages in your participant logs: -``` -Missing authorizers: ReferencedAuthorizations(extraKeys = <key-id>...) -Rejected transaction ... OwnerToKeyMapping(...) ... due to Not authorized -``` + To work around this, follow these steps: @@ -221,14 +193,7 @@ To work around this, follow these steps: 2. Open a Canton console to the new participant and run the following commands to propose the corrected `OwnerToKeyMapping`. Replace the key ID prefixes with those from the rejected `OwnerToKeyMapping` in your participant logs, and replace the old participant ID with your actual old participant ID: - ``` - val keys = Seq("<signing-key-id-prefix>", "<encryption-key-id-prefix>").map(prefix => - participant.keys.public.list().filter(_.publicKey.id.toProtoPrimitive.startsWith(prefix)).head.publicKey) - - val oldParticipantId = ParticipantId.fromProtoPrimitive("<old-participant-id>", "participant").toOption.get - val otk = OwnerToKeyMapping(member = oldParticipantId, keys = NonEmpty.from(keys).get) - participant.topology.owner_to_key_mappings.propose(otk, force = ForceFlag.AlienMember) - ``` + 3. Start the validator app using your original identities dump configuration. diff --git a/docs-main/global-synchronizer/reference/canton-console-reference.mdx b/docs-main/global-synchronizer/reference/canton-console-reference.mdx index 4395f65a..3708b71a 100644 --- a/docs-main/global-synchronizer/reference/canton-console-reference.mdx +++ b/docs-main/global-synchronizer/reference/canton-console-reference.mdx @@ -13,6 +13,7 @@ import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone136 from import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone104 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-104.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral94 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-94.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessNone71 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-none-71.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcDeploymentConsoleAccessParsedLiteral63 from "/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-parsed-literal-63.mdx"; {/* COPIED_START source="splice:docs/src/deployment/console_access.rst" hash="bccf3653" */} @@ -49,9 +50,7 @@ Welcome to Canton! -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -81,9 +80,7 @@ Running docker with the default network (`splice-validator`): 3. Run the docker command -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + @@ -99,9 +96,7 @@ docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_ 3. Run the docker command -```bash -docker run -it --rm --network host -v $(pwd)/console.conf:/app/app.conf |docker_repo_prefix|/canton:|version_literal| --console -``` + diff --git a/docs-main/global-synchronizer/splice-fundamentals/rewards-minting.mdx b/docs-main/global-synchronizer/splice-fundamentals/rewards-minting.mdx index dd8a494c..2279cec2 100644 --- a/docs-main/global-synchronizer/splice-fundamentals/rewards-minting.mdx +++ b/docs-main/global-synchronizer/splice-fundamentals/rewards-minting.mdx @@ -3,6 +3,12 @@ title: "Minting Delegations" description: "How validator operators delegate minting authority for external parties hosted on their node" --- +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDelegationsBash309 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDelegationsBash276 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDelegationsBash251 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDelegationsBash215 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcValidatorOperatorValidatorDelegationsBash201 from "/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201.mdx"; + {/* COPIED_START source="splice:docs/src/validator_operator/validator_delegations.rst" hash="af0084d8" */} Minting delegations allow a delegate to instruct their validator node to automate the minting of rewards on behalf of an external party (the beneficiary) hosted on the same validator node. The delegate can be any party onboarded to the validator node's wallet (e.g., the validator operator party, but other internal parties are also possible). This is useful to automate the reward collection for external parties. @@ -131,42 +137,11 @@ To create the proposal, submit a `create` command via the Ledger API [command su First, set up the required environment variables: -```bash -export LEDGER_API_URL="https://validator.example.com:5003" -export TOKEN="your-auth-token" -export BENEFICIARY_PARTY="beneficiary::1220abcd..." -export DELEGATE_PARTY="validator_operator::1220efgh..." -export DSO_PARTY="DSO::1220ijkl..." -export EXPIRES_AT="2025-12-31T23:59:59Z" -# This could be created by -# export EXPIRES_AT="$(date -u -d '+1 year' '+%Y-%m-%dT%H:%M:%SZ')" -export AMULET_MERGE_LIMIT=10 -``` + Then create the proposal using curl: -```bash -curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ ---data-raw '{ - "commands": [ - { - "CreateCommand": { - "templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal", - "createArguments": { - "delegation": { - "beneficiary": "'"$BENEFICIARY_PARTY"'", - "delegate": "'"$DELEGATE_PARTY"'", - "dso": "'"$DSO_PARTY"'", - "expiresAt": "'"$EXPIRES_AT"'", - "amuletMergeLimit": '"$AMULET_MERGE_LIMIT"' - } - } - } - } - ] -}' \ -"$LEDGER_API_URL/v2/commands" -``` + See the [MintingDelegationProposal template source code](https://github.com/canton-network/splice/blob/main/daml/splice-wallet/daml/Splice/Wallet/MintingDelegation.daml) for the complete Daml definition. @@ -176,51 +151,11 @@ The beneficiary can monitor their proposal status by querying for active `Mintin To query for pending proposals: -```bash -curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ ---data-raw '{ - "filter": { - "filtersByParty": { - "'"$BENEFICIARY_PARTY"'": { - "filters": [ - { - "inclusive": { - "templateFilters": [ - {"templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal"} - ] - } - } - ] - } - } - } -}' \ -"$LEDGER_API_URL/v2/state/active-contracts" -``` + Once accepted, query for the active `MintingDelegation` contract to confirm the delegation is active: -```bash -curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ ---data-raw '{ - "filter": { - "filtersByParty": { - "'"$BENEFICIARY_PARTY"'": { - "filters": [ - { - "inclusive": { - "templateFilters": [ - {"templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegation"} - ] - } - } - ] - } - } - } -}' \ -"$LEDGER_API_URL/v2/state/active-contracts" -``` + #### Withdrawing a Proposal @@ -228,24 +163,7 @@ If the beneficiary wants to withdraw their proposal before it is accepted or rej First, obtain the contract ID of the proposal from the active contracts query above, then exercise the withdrawal choice: -```bash -export PROPOSAL_CONTRACT_ID="00abcd1234..." - -curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \ ---data-raw '{ - "commands": [ - { - "ExerciseCommand": { - "templateId": "#splice-wallet:Splice.Wallet.MintingDelegation:MintingDelegationProposal", - "contractId": "'"$PROPOSAL_CONTRACT_ID"'", - "choice": "MintingDelegationProposal_Withdraw", - "choiceArgument": {} - } - } - ] -}' \ -"$LEDGER_API_URL/v2/commands" -``` + ### Security Considerations diff --git a/docs-main/global-synchronizer/understand/installing-daml-sdk.mdx b/docs-main/global-synchronizer/understand/installing-daml-sdk.mdx index 80a6e10b..278decfe 100644 --- a/docs-main/global-synchronizer/understand/installing-daml-sdk.mdx +++ b/docs-main/global-synchronizer/understand/installing-daml-sdk.mdx @@ -3,6 +3,8 @@ title: "Installing a Compatible Daml SDK" description: "How to install a Daml SDK version compatible with the current Splice release" --- +import ExternalSpliceMainSpliceRstCodeDocsSrcAppDevOverviewVersionInformationBash42 from "/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-42.mdx"; + {/* COPIED_START source="splice:docs/src/app_dev/overview/version_information.rst#installing-a-compatible-daml-sdk" hash="2149e7a4" */} You are not required to install the exact same Daml SDK versions used to build this Splice release. These versions are provided for reference only. `.dar` files built by older 3.x Daml SDKs are generally compatible with the Canton version used in this Splice release. @@ -17,9 +19,7 @@ Follow these steps to install a recent, compatible OSS Daml SDK version: 2. Install that release using - ```bash - curl -sSL https://get.digitalasset.com/ | sh - ``` + For more information about installing the Daml SDK, see the [DPM installation guide](/sdks-tools/cli-tools/dpm). diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx new file mode 100644 index 00000000..93d473ff --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx @@ -0,0 +1,37 @@ +```yaml + scanClient: + scanType: "bft" + seedUrls: ["TRUSTED_SCAN_URL"] # replace with scan seed url. Supports multiple urls, separated by comma. + + # scanClient denotes how the validator makes connections to scan service and supports three modes of operation. + + # Mode 1: bft (Byzantine Fault Tolerance) + # Connects to all available scans in the network. It validates responses by ensuring + # at least f+1 matching responses are received. + + # scanClient: + # scanType: "bft" + # seedUrls: ["TRUSTED_SCAN_URL"] # replace with scan seed url(s). Supports multiple urls, separated by comma. + + # Mode 2: bft-custom + # A specialized version of bft where you specify a subset of trusted SVs. + # The validator connects only to the scans of the SVs listed in 'svNames'. + # Optional param 'threshold' defines how many identical responses are required to consider the scan responses valid. + + # scanClient: + # scanType: "bft-custom" + # svNames: ["TRUSTED_SV"] # replace with trusted SV names(s) + # seedUrls: ["TRUSTED_SCAN_URL"] # replace with actual scan seed urls(s) + # threshold: # optional integer indicating the number of matching responses required for validation + + # Mode 3: trust-single + # Connects to a single trusted scan address. + # This means that you depend on that single SV and if it is broken or malicious you will be unable to use the network. + # Hence, usually you want to default to not enabling this + + # scanClient: + # scanType: "trust-single" + # scanAddress: "TRUSTED_SCAN_URL" # replace with the trusted scan url + + # +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx new file mode 100644 index 00000000..365d0fac --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx @@ -0,0 +1,33 @@ +```yaml + synchronizer: + connectionType: "bft" + + # synchronizer configuration enables to configure how the validator's participant connects to the synchronizer. + # synchronizer configuration has three modes of operation. + + # Mode 1: bft (Byzantine Fault Tolerance) + # Uses all available synchronizer connections provided by the scan service. + # Responses are validated against the network's f+1 fault tolerance logic. + + # synchronizer: + # connectionType: "bft" + + # Mode 2: bft-custom + # Connects only to sequencers operated by the specific SVs listed in 'svNames'. + # optional param 'threshold' defines the minimum number of matching responses required for validation. + + # synchronizer: + # connectionType: "bft-custom" + # svNames: ["TRUSTED_SV"] # replace with trusted SV name(s) + # threshold: # optional integer indicating the number of matching responses required for validation + + # Mode 3: trust-Single + # Connects to a single specified sequencer URL. + # trust-single makes you dependent on a single SV; if it is malicious or down, you will be unable to use the network. + + #synchronizer: + # connectionType: "trust-single" + # url: "TRUSTED_SYNCHRONIZER_SEQUENCER_URL" # replace with the trusted synchronizer sequencer url + + # +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx index 7f6ede1d..bba5d8b5 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx @@ -1,4 +1,4 @@ ```yaml - kubectl exec -n -- curl -v https://localhost:5003/api/validator/readyz + kubectl exec -n -- curl -v http://localhost:5003/api/validator/readyz ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx index 31daafd6..98eedff5 100644 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx @@ -1,4 +1,4 @@ ```yaml - docker exec -- curl -v https://localhost:5003/api/validator/livez + docker exec -- curl -v http://localhost:5003/api/validator/livez ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-110.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-110.mdx new file mode 100644 index 00000000..ed57000d --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-110.mdx @@ -0,0 +1,5 @@ +```bash +kubectl create secret --namespace sv generic splice-app-sv-cometbft-governance-key \ + --from-literal=publicKey="$(jq -r .public cometbft-governance-keys.json)" \ + --from-literal=privateKey="$(jq -r .private cometbft-governance-keys.json)" +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-73.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-73.mdx new file mode 100644 index 00000000..be3e5b48 --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-bash-73.mdx @@ -0,0 +1,17 @@ +```bash +# Generate the private key +openssl genpkey -algorithm ed25519 -out cometbft-governance-keys.pem + +# Extract and encode the keys +public_key_base64=$(openssl pkey -in cometbft-governance-keys.pem -pubout -outform DER | tail -c 32 | base64 | tr -d "\n") +private_key_base64=$(openssl pkey -in cometbft-governance-keys.pem -outform DER | tail -c 32 | base64 | tr -d "\n") + +echo "{" +# Output the keys +echo " \"publicKey\": \"$public_key_base64\"," +echo " \"privateKey\": \"$private_key_base64\"" +echo "}" + +# Clean up +rm cometbft-governance-keys.pem +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-json-94.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-json-94.mdx new file mode 100644 index 00000000..8c83728f --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-security-json-94.mdx @@ -0,0 +1,6 @@ +```json +{ + "public": "A9tWyYq/HIJ3B73ym1eIUV8yqnDBligGJUE8463CBUM=", + "private": "FDG16PaSh9hGLu2fXzEHmTECMjSyQuZnEg+w5HKCEtg=" +} +``` \ No newline at end of file From 2480a6612e0a24158e7a5b807097c2c3d3a97027 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Mon, 25 May 2026 00:11:46 +0300 Subject: [PATCH 06/10] update sv-pruning, update snippets (fixed export issue for string markers) Signed-off-by: Ibo Sy --- .../production-operations/sv-pruning.mdx | 28 ++++--------------- ...lidator-values-configuring-topup-start.mdx | 13 ++++----- ...alone-validator-values-migration-start.mdx | 5 +--- ...strap-migrate-to-new-participant-start.mdx | 1 - ...values-scan-client-configuration-start.mdx | 2 -- ...alues-synchronizer-configuration-start.mdx | 2 -- ...-sv-participant-pruning-schedule-start.mdx | 6 ++++ ...s-sv-helm-sv-values-docs-pruning-start.mdx | 18 ++++++------ ...ples-sv-helm-sv-values-migration-start.mdx | 15 +++++----- ...elm-validator-values-auto-accept-start.mdx | 1 - ...lm-validator-values-enablewallet-start.mdx | 1 - ...ues-participant-pruning-schedule-start.mdx | 1 - ...s-sv-helm-validator-values-sweep-start.mdx | 5 ++-- ...s-template-docs-cometbft-pruning-start.mdx | 5 ++-- 14 files changed, 39 insertions(+), 64 deletions(-) create mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-validator-values-sv-participant-pruning-schedule-start.mdx diff --git a/docs-main/global-synchronizer/production-operations/sv-pruning.mdx b/docs-main/global-synchronizer/production-operations/sv-pruning.mdx index e4327878..4193efab 100644 --- a/docs-main/global-synchronizer/production-operations/sv-pruning.mdx +++ b/docs-main/global-synchronizer/production-operations/sv-pruning.mdx @@ -4,6 +4,9 @@ description: "Sequencer and CometBFT pruning on Super Validator nodes" --- import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvPruningYaml62 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmSvValuesDocsPruningStart from "/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-docs-pruning-start.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerClusterHelmSpliceCometbftValuesTemplateDocsCometbftPruningStart from "/snippets/external/splice/main/splice-literal-marker-cluster-helm-splice-cometbft-values-template-docs-cometbft-pruning-start.mdx"; +import ExternalSpliceMainSpliceRstLiteralMarkerAppsAppSrcPackExamplesSvHelmSvValidatorValuesSvParticipantPruningScheduleStart from "/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-validator-values-sv-participant-pruning-schedule-start.mdx"; {/* COPIED_START source="splice:docs/src/sv_operator/sv_pruning.rst" hash="07e081c3" */} @@ -13,17 +16,7 @@ The sequencer, participant and CometBFT have pruning options that can be used to Can be enabled in helm through the following config: -```yaml -synchronizers: - current: - sequencerPruningConfig: - # Enable or disable sequencer pruning - enabled: true - # The pruning interval is the time between two consecutive prunings. - pruningInterval: "1 hour" - # The retention period is the time for which the sequencer will retain the data. - retentionPeriod: "30 days" -``` + It is recommended that sequencer pruning is enabled and the `pruningInterval` is set to `1 hour` and the `retentionPeriod` to `30 days`. @@ -35,22 +28,13 @@ It is enabled by default. Pruning is defined as the number of blocks to keep. Ol The number of blocks to keep can be configured under the `node` helm values key. -```yaml -# Number of blocks to keep, used for pruning. 0 -> keep all blocks. -# Number of blocks to keep for 30 days with an upper bound of 7k blocks/h. -retainBlocks: 5040000 -``` + ## Participant pruning Participant pruning is also supported and recommend. To enable it, set the following helm value on your validator chart: -```yaml -participantPruningSchedule: - cron: 0 /10 * * * ? # Run every 10min - maxDuration: 5m # Run for a max of 5min per iteration - retention: 30d # Retain history that is newer than 30d. -``` + You also need to tell the participant to continue pruning even if it has not received an ACS commitment from one of its counter participant in the last 30 days. Without this pruning will essentially never run on mainnet as validators get shut down relatively frequently: To do so, set the following through the `additionalEnvVars` on your participant: diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx index c1c1f80b..440d1f80 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-configuring-topup-start.mdx @@ -2,11 +2,10 @@ # Configuring a validator's traffic top-up loop; # see documentation for more detailed information. topup: - # set to false in order to disable automatic traffic top-ups - enabled: true - # target throughput in bytes / second of sequenced traffic; targetThroughput=0 <=> enabled=false - targetThroughput: 20000 - # minTopupInterval - minimum time interval that must elapse before the next top-up - minTopupInterval: "1m" - # + # set to false in order to disable automatic traffic top-ups + enabled: true + # target throughput in bytes / second of sequenced traffic; targetThroughput=0 <=> enabled=false + targetThroughput: 20000 + # minTopupInterval - minimum time interval that must elapse before the next top-up + minTopupInterval: "1m" ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx index 9b8baf9f..16ed84e0 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx @@ -1,8 +1,5 @@ ```yaml # Replace MIGRATION_ID with the migration ID of the global synchronizer. migration: - id: "MIGRATION_ID" - # Uncomment this when redeploying as part of a migration, i.e., MIGRATION_ID was incremented and a migration dump was exported to the attached pvc. - # migrating: true - # + id: "MIGRATION_ID" ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-participant-bootstrap-migrate-to-new-participant-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-participant-bootstrap-migrate-to-new-participant-start.mdx index 0b5741e2..5614b2a8 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-participant-bootstrap-migrate-to-new-participant-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-participant-bootstrap-migrate-to-new-participant-start.mdx @@ -4,5 +4,4 @@ # # Make sure to also adjust nodeIdentifier to the same value # newParticipantIdentifier: put-some-new-string-never-used-before # migrateValidatorParty: true - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx index 93d473ff..d7e68043 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-scan-client-configuration-start.mdx @@ -32,6 +32,4 @@ # scanClient: # scanType: "trust-single" # scanAddress: "TRUSTED_SCAN_URL" # replace with the trusted scan url - - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx index 365d0fac..cd94b530 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-synchronizer-configuration-start.mdx @@ -28,6 +28,4 @@ #synchronizer: # connectionType: "trust-single" # url: "TRUSTED_SYNCHRONIZER_SEQUENCER_URL" # replace with the trusted synchronizer sequencer url - - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-validator-values-sv-participant-pruning-schedule-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-validator-values-sv-participant-pruning-schedule-start.mdx new file mode 100644 index 00000000..c65c297d --- /dev/null +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-validator-values-sv-participant-pruning-schedule-start.mdx @@ -0,0 +1,6 @@ +```yaml + participantPruningSchedule: + cron: 0 /10 * * * ? # Run every 10min + maxDuration: 5m # Run for a max of 5min per iteration + retention: 30d # Retain history that is newer than 30d. +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-docs-pruning-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-docs-pruning-start.mdx index 99e88157..6db77b5b 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-docs-pruning-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-docs-pruning-start.mdx @@ -1,11 +1,11 @@ ```yaml - domain: - sequencerPruningConfig: - # Enable or disable sequencer pruning - enabled: true - # The pruning interval is the time between two consecutive prunings. - pruningInterval: "1 hour" - # The retention period is the time for which the sequencer will retain the data. - retentionPeriod: "30 days" - # + synchronizers: + current: + sequencerPruningConfig: + # Enable or disable sequencer pruning + enabled: true + # The pruning interval is the time between two consecutive prunings. + pruningInterval: "1 hour" + # The retention period is the time for which the sequencer will retain the data. + retentionPeriod: "30 days" ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-migration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-migration-start.mdx index 67638f47..f3613b8c 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-migration-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-sv-values-migration-start.mdx @@ -1,12 +1,11 @@ ```yaml # Replace MIGRATION_ID with the migration ID of the global synchronizer. migration: - id: "MIGRATION_ID" - # Uncomment these when redeploying as part of a migration, - # i.e., MIGRATION_ID was incremented and a migration dump was exported to the attached pvc. - # migrating: true - # This declares that your sequencer with that migration id is still up. You should remove it - # once you take down the sequencer for the prior migration id - # legacyId: "MIGRATION_ID_BEFORE_INCREMENTED" - # + id: "MIGRATION_ID" + # Uncomment these when redeploying as part of a migration, + # i.e., MIGRATION_ID was incremented and a migration dump was exported to the attached pvc. + # migrating: true + # This declares that your sequencer with that migration id is still up. You should remove it + # once you take down the sequencer for the prior migration id + # legacyId: "MIGRATION_ID_BEFORE_INCREMENTED" ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-auto-accept-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-auto-accept-start.mdx index a5e81af4..a87505bf 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-auto-accept-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-auto-accept-start.mdx @@ -4,5 +4,4 @@ # "": # fromParties: # - "" - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-enablewallet-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-enablewallet-start.mdx index e891d717..c5fd6a97 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-enablewallet-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-enablewallet-start.mdx @@ -1,5 +1,4 @@ ```yaml # This will disable the wallet HTTP server and wallet automations when set to false enableWallet: true - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-participant-pruning-schedule-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-participant-pruning-schedule-start.mdx index 70fab75b..f32a5b98 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-participant-pruning-schedule-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-participant-pruning-schedule-start.mdx @@ -5,5 +5,4 @@ # cron: 0 /10 * * * ? # Run every 10min # maxDuration: 5m # Run for a max of 5min per iteration # retention: 48h # Retain history that is newer than 48h. - # ``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx index 0854cb03..1d177b49 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx @@ -7,9 +7,8 @@ # receiver: "" # useTransferPreapproval: false # sweep by transferring directly through the transfer preapproval of the receiver, # if set to false sweeping creates transfer offers that need to be accepted on the receiver side. - # Note that this refers to the preapprovals described in /appdev/modules/m7-canton-coin-preapprovals + # Note that this refers to the preapprovals described in https://docs.dev.sync.global/background/preapprovals.html # and not to auto accepting transfers. Auto accept transfers does not setup preapproval contracts that allow # for a direct transfer but just automates the acceptance of the transfer offer so in that case # useTransferPreapproval should be set to false. - # -``` +``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-cluster-helm-splice-cometbft-values-template-docs-cometbft-pruning-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-cluster-helm-splice-cometbft-values-template-docs-cometbft-pruning-start.mdx index 0ba3ee71..5ed5f6aa 100644 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-cluster-helm-splice-cometbft-values-template-docs-cometbft-pruning-start.mdx +++ b/docs-main/snippets/external/splice/main/splice-literal-marker-cluster-helm-splice-cometbft-values-template-docs-cometbft-pruning-start.mdx @@ -1,6 +1,5 @@ ```yaml # Number of blocks to keep, used for pruning. 0 -> keep all blocks. - # Number of blocks to keep for 30 days with an upper bound of 7k blocks/h. - retainBlocks: 5040000 - # + # Number of blocks to keep for 30 days with an upper bound of 7k blocks/h. + retainBlocks: 5040000 ``` \ No newline at end of file From 49e39b30c429041dba7bbf30265128e6251fb9c6 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Mon, 25 May 2026 01:53:59 +0300 Subject: [PATCH 07/10] update remaining files with splice embeds, update snippets Signed-off-by: Ibo Sy --- .../deployment/kubernetes-deployment.mdx | 17 ++--------------- .../production-operations/disaster-recovery.mdx | 4 ++-- .../logical-synchronizer-upgrade.mdx | 2 +- ...c-sv-operator-sv-helm-parsed-literal-468.mdx | 6 +++--- ...docs-src-sv-operator-sv-restore-bash-104.mdx | 5 ----- ...docs-src-sv-operator-sv-restore-bash-190.mdx | 4 ---- ...docs-src-sv-operator-sv-restore-bash-209.mdx | 4 ---- ...docs-src-sv-operator-sv-restore-bash-218.mdx | 4 ---- ...docs-src-sv-operator-sv-restore-bash-224.mdx | 4 ---- ...-docs-src-sv-operator-sv-restore-bash-59.mdx | 11 ----------- ...-docs-src-sv-operator-sv-restore-bash-76.mdx | 11 ----------- 11 files changed, 8 insertions(+), 64 deletions(-) delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-190.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-209.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-218.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-224.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx diff --git a/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx b/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx index c8f9ed96..de157326 100644 --- a/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx +++ b/docs-main/global-synchronizer/deployment/kubernetes-deployment.mdx @@ -8,6 +8,7 @@ import ExternalSpliceMainSpliceRstFullDocsSrcCommonReloaderRecommendation from ' import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash1033 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmBash39 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-bash-39.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral354 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral468 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral528 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral691 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvHelmParsedLiteral701 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701.mdx"; @@ -314,21 +315,7 @@ The default behavior is restored by undoing above changes. To confirm the current configuration of your SV participant, open a Canton console to it and execute `participant.synchronizers.config("global")`. In case BFT sequencer connections are disabled, this should return a single sequencer connection in an output similar to the following: -```haskell -@ participant.synchronizers.config("global") -res1: Option[SynchronizerConnectionConfig] = Some( - value = SynchronizerConnectionConfig( - synchronizer = Synchronizer \'global\', - sequencerConnections = SequencerConnections( - connections = Sequencer \'DefaultSequencer\' -> GrpcSequencerConnection(sequencerAlias = Sequencer \'DefaultSequencer\', endpoints = http://global-domain-0-sequencer:5008), - sequencer trust threshold = 1, - submission request amplification = SubmissionRequestAmplification(factor = 1, patience = 10s) - ), - manualConnect = false, - timeTracker = SynchronizerTimeTrackerConfig(minObservationDuration = 30m) - ) -) -``` + Alternatively, you can also search your participant logs for a `DEBUG`-level entry such as `Connecting to synchronizer with config: SynchronizerConnectionConfig(...)`, which contains the same information. diff --git a/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx b/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx index a0b61467..e0209894 100644 --- a/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx +++ b/docs-main/global-synchronizer/production-operations/disaster-recovery.mdx @@ -3,7 +3,7 @@ title: "Disaster Recovery" description: "Recovery procedures for data corruption, SV re-onboarding, and CometBFT layer loss" --- -import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash104 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx"; +import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash102 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-102.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash74 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-74.mdx"; import ExternalSpliceMainSpliceRstCodeDocsSrcSvOperatorSvRestoreBash57 from "/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-57.mdx"; @@ -48,7 +48,7 @@ In order to be able to recover the amulet, the backup of the identities of your From the backup of Node Identities, copy the content of the field `identities.participant` and save it as a separate JSON file. This file will be used as identities bootstrap dump for the validator runbook. - + Once the failed SV node is offboarded by a majority of SVs (via a governance vote on a `OffboardMember` action), we can deploy a standalone validator node for recovering the SV's amulets. diff --git a/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx b/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx index 344bc551..1450363d 100644 --- a/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx +++ b/docs-main/global-synchronizer/production-operations/logical-synchronizer-upgrade.mdx @@ -104,7 +104,7 @@ Concretely, the procedure is as follows: + canton.sequencers.sequencer.parameters.parameters.lsu-repair.lsu-sequencing-bounds-override.upgrade-time=UPGRADE_TIME`} /> GrpcSequencerConnection(sequencerAlias = Sequencer \'DefaultSequencer\', endpoints = http://global-domain-0-sequencer:5008), + connections = Sequencer 'DefaultSequencer' -> GrpcSequencerConnection(sequencerAlias = Sequencer 'DefaultSequencer', endpoints = http://global-domain-0-sequencer:5008), sequencer trust threshold = 1, submission request amplification = SubmissionRequestAmplification(factor = 1, patience = 10s) ), diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx deleted file mode 100644 index f0ab0b16..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-104.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash - -Once the failed SV node is offboarded by a majority of SVs (via a governance vote on a ``OffboardMember`` action), we can deploy a standalone validator node for recovering the SV's amulets. - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-190.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-190.mdx deleted file mode 100644 index b4f56e39..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-190.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - data=$(curl -sSLf "https://sv.sv.YOUR_HOSTNAME/api/sv/v0/admin/domain/data-snapshot?timestamp=" -H "authorization: Bearer " -X GET -H "Content-Type: application/json") - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-209.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-209.mdx deleted file mode 100644 index 738cd4ea..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-209.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - id=$(cat identities.json) - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-218.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-218.mdx deleted file mode 100644 index 63871739..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-218.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - echo "$id" "$data" | jq -s add > dump.json - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-224.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-224.mdx deleted file mode 100644 index f891ea58..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-224.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - kubectl cp dump.json sv/:/domain-upgrade-dump/domain_migration_dump.json - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx deleted file mode 100644 index 9af168f0..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-59.mdx +++ /dev/null @@ -1,11 +0,0 @@ -```bash - global-domain-0-mediator \ - global-domain-0-sequencer \ - participant \ - scan-app \ - sv-app \ - validator-app - -Restore the storage and DBs of all components from the backups. The exact process for this -depends on the storage and DBs used by the components, and is not documented here. -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx deleted file mode 100644 index 17638919..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-restore-bash-76.mdx +++ /dev/null @@ -1,11 +0,0 @@ -```bash - global-domain-0-mediator \ - global-domain-0-sequencer \ - participant \ - scan-app \ - sv-app \ - validator-app - -Once all components are healthy again, they should start catching up their state from peer -SVs, and eventually become functional again. -``` \ No newline at end of file From f348e16a6e2b2c9ce70b84e20d5a71cf62a6505c Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Mon, 25 May 2026 02:07:11 +0300 Subject: [PATCH 08/10] update splice release notes, remove external code embeds Signed-off-by: Ibo Sy --- .../release-notes/splice.mdx | 23 +++++++++++++------ ...code-docs-src-release-notes-python-738.mdx | 6 ----- ...code-docs-src-release-notes-python-747.mdx | 5 ---- ...t-code-docs-src-release-notes-yaml-192.mdx | 6 ----- 4 files changed, 16 insertions(+), 24 deletions(-) delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx diff --git a/docs-main/global-synchronizer/release-notes/splice.mdx b/docs-main/global-synchronizer/release-notes/splice.mdx index 642f87f3..02a9b886 100644 --- a/docs-main/global-synchronizer/release-notes/splice.mdx +++ b/docs-main/global-synchronizer/release-notes/splice.mdx @@ -3,10 +3,6 @@ title: "Splice" description: "Release notes and version history for Global Synchronizer software" --- -import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesYaml192 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesPython738 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx"; -import ExternalSpliceMainSpliceRstCodeDocsSrcReleaseNotesPython747 from "/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx"; - {/* COPIED_START source="splice:docs/src/release_notes.rst" hash="b9660f66" */} ## 0.6.3 @@ -424,11 +420,20 @@ The value for `idle-timeout` should be set lower than timeouts in the network st Participant config: - + ```python + canton.participants.participant.sequencer-client.keep-alive-client.idle-timeout = 5 minutes + # And / Or + canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-without-calls = true + canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-time = 6 minutes + ``` Sequencer config: - + ```python + # Must be enabled if keep-alive-without-calls is enabled on the client side + canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-without-calls = true + canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-time = 5 minutes + ``` - Lowered the log level of certain warnings to INFO level, if validation of the confirmation request or confirmation response failed due to a race with a topology change. @@ -544,7 +549,11 @@ Note: 0.5.7 introduced a significant performance regression related to the proce In some cases, helm might not properly update the state after you removed the `migrating` flag. You can check before the upgrade if it got properly applied through `kubectl describe deployment -n validator validator-app` and look for this env var: - + ```yaml + - name: ADDITIONAL_CONFIG_VALIDATOR_MIGRATION_RESTORE + value: | + canton.validator-apps.validator_backend.restore-from-migration-dump = "/domain-upgrade-dump/domain_migration_dump.json" + ``` If you see it, the deployment still has `migrating: true` activated. You can clear that flag by, for example, uninstalling and reinstalling the validator helm release (but not participant and postgres). You can either directly reinstall the new version or first do the reinstall on the old version and then upgrade. diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx deleted file mode 100644 index 916b9916..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-738.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```python -canton.participants.participant.sequencer-client.keep-alive-client.idle-timeout = 5 minutes -# And / Or -canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-without-calls = true -canton.participants.participant.sequencer-client.keep-alive-client.keep-alive-time = 6 minutes -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx deleted file mode 100644 index 9ea57978..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-python-747.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```python -# Must be enabled if keep-alive-without-calls is enabled on the client side -canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-without-calls = true -canton.sequencers.sequencer.public-api.keep-alive-server.permit-keep-alive-time = 5 minutes -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx deleted file mode 100644 index 1280c6e7..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-release-notes-yaml-192.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - - name: ADDITIONAL_CONFIG_VALIDATOR_MIGRATION_RESTORE - value: | - canton.validator-apps.validator_backend.restore-from-migration-dump = "/domain-upgrade-dump/domain_migration_dump.json" - -``` \ No newline at end of file From fb5324b8497ec09a996a821d47926b700e84218f Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Mon, 25 May 2026 10:53:48 +0300 Subject: [PATCH 09/10] clean unused snippets Signed-off-by: Ibo Sy --- ...alone-validator-values-migration-start.mdx | 5 -- ...s-sv-helm-validator-values-sweep-start.mdx | 14 ---- ...dator-values-trusted-single-scan-start.mdx | 6 -- ...-values-trusted-single-sequencer-start.mdx | 8 --- ...p-dev-overview-splice-app-apis-json-82.mdx | 7 -- ...-dev-overview-splice-app-apis-none-116.mdx | 4 -- ...-dev-overview-splice-app-apis-none-132.mdx | 13 ---- ...p-dev-overview-splice-app-apis-none-99.mdx | 15 ---- ...v-overview-version-information-bash-54.mdx | 4 -- ...-scan-api-scan-aggregates-api-json-114.mdx | 15 ---- ...-scan-api-scan-aggregates-api-json-133.mdx | 15 ---- ...v-scan-api-scan-aggregates-api-json-23.mdx | 12 ---- ...v-scan-api-scan-aggregates-api-json-37.mdx | 21 ------ ...v-scan-api-scan-aggregates-api-json-67.mdx | 37 ---------- ...v-scan-api-scan-bulk-data-api-json-119.mdx | 6 -- ...v-scan-api-scan-bulk-data-api-json-131.mdx | 10 --- ...v-scan-api-scan-bulk-data-api-json-191.mdx | 22 ------ ...v-scan-api-scan-bulk-data-api-json-236.mdx | 30 -------- ...v-scan-api-scan-bulk-data-api-json-278.mdx | 71 ------------------- ...v-scan-api-scan-bulk-data-api-json-453.mdx | 6 -- ...v-scan-api-scan-bulk-data-api-json-470.mdx | 8 --- ...v-scan-api-scan-bulk-data-api-json-483.mdx | 38 ---------- ...v-scan-api-scan-bulk-data-api-json-685.mdx | 59 --------------- ...v-scan-api-scan-bulk-data-api-json-758.mdx | 64 ----------------- ...v-scan-api-scan-bulk-data-api-json-839.mdx | 21 ------ ...v-scan-api-scan-bulk-data-api-json-950.mdx | 64 ----------------- ...api-scan-cc-reference-data-api-json-24.mdx | 6 -- ...can-api-scan-current-state-api-json-25.mdx | 14 ---- ...can-api-scan-current-state-api-json-50.mdx | 7 -- ...can-api-scan-current-state-api-json-59.mdx | 63 ---------------- ...synchronizer-connectivity-api-json-110.mdx | 36 ---------- ...synchronizer-connectivity-api-json-149.mdx | 7 -- ...synchronizer-connectivity-api-json-164.mdx | 6 -- ...-synchronizer-connectivity-api-json-24.mdx | 22 ------ ...-synchronizer-connectivity-api-json-58.mdx | 28 -------- ...al-synchronizer-operations-api-json-22.mdx | 15 ---- ...al-synchronizer-operations-api-json-50.mdx | 15 ---- ...-app-dev-token-standard-index-json-187.mdx | 22 ------ ...-app-dev-token-standard-index-json-237.mdx | 22 ------ ...-app-dev-token-standard-index-json-267.mdx | 12 ---- ...feat-app-act-marker-tokenomics-bash-79.mdx | 28 -------- ...-src-deployment-console-access-text-23.mdx | 3 - ...observability-validator-health-yaml-22.mdx | 4 -- ...observability-validator-health-yaml-28.mdx | 4 -- .../splice-rst-code-docs-src-faq-text-129.mdx | 19 ----- .../splice-rst-code-docs-src-faq-text-64.mdx | 14 ---- .../splice-rst-code-docs-src-faq-text-81.mdx | 24 ------- ...-sv-operator-sv-helm-parsed-literal-30.mdx | 3 - ...-logical-synchronizer-upgrade-none-106.mdx | 6 -- ...src-sv-operator-sv-operations-bash-697.mdx | 4 -- ...src-sv-operator-sv-operations-bash-704.mdx | 4 -- ...src-sv-operator-sv-operations-bash-718.mdx | 4 -- ...src-sv-operator-sv-operations-bash-725.mdx | 4 -- ...src-sv-operator-sv-operations-bash-732.mdx | 4 -- ...src-sv-operator-sv-operations-text-665.mdx | 4 -- ...or-operator-validator-compose-yaml-322.mdx | 22 ------ ...r-validator-disaster-recovery-bash-140.mdx | 5 -- ...r-validator-disaster-recovery-bash-159.mdx | 4 -- ...r-validator-disaster-recovery-bash-162.mdx | 3 - ...r-validator-disaster-recovery-bash-456.mdx | 5 -- ...r-validator-disaster-recovery-bash-473.mdx | 4 -- ...r-validator-disaster-recovery-bash-490.mdx | 5 -- ...r-validator-disaster-recovery-bash-509.mdx | 4 -- ...r-validator-disaster-recovery-none-230.mdx | 5 -- ...r-validator-disaster-recovery-none-238.mdx | 5 -- ...r-validator-disaster-recovery-none-250.mdx | 4 -- ...r-validator-disaster-recovery-none-274.mdx | 3 - ...r-validator-disaster-recovery-none-355.mdx | 32 --------- ...r-validator-disaster-recovery-none-397.mdx | 19 ----- ...r-validator-disaster-recovery-none-419.mdx | 19 ----- ...r-validator-disaster-recovery-none-451.mdx | 5 -- ...r-validator-disaster-recovery-yaml-182.mdx | 6 -- ...dator-operator-validator-helm-bash-145.mdx | 5 -- ...dator-operator-validator-helm-bash-158.mdx | 5 -- ...dator-operator-validator-helm-bash-352.mdx | 9 --- ...dator-operator-validator-helm-bash-364.mdx | 9 --- ...dator-operator-validator-helm-bash-482.mdx | 9 --- ...dator-operator-validator-helm-bash-545.mdx | 6 -- ...dator-operator-validator-helm-bash-557.mdx | 3 - ...dator-operator-validator-helm-bash-598.mdx | 3 - ...dator-operator-validator-helm-bash-642.mdx | 3 - ...rator-validator-helm-parsed-literal-31.mdx | 3 - ...dator-operator-validator-helm-yaml-566.mdx | 13 ---- ...dator-operator-validator-helm-yaml-584.mdx | 9 --- ...dator-operator-validator-helm-yaml-607.mdx | 31 -------- ...dator-operator-validator-helm-yaml-789.mdx | 11 --- ...dator-operator-validator-helm-yaml-815.mdx | 9 --- 87 files changed, 1257 deletions(-) delete mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-scan-start.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-sequencer-start.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-json-82.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-116.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-132.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-99.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-54.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-114.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-133.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-23.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-37.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-67.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-119.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-131.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-191.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-236.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-278.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-453.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-470.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-483.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-685.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-758.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-839.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-950.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-cc-reference-data-api-json-24.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-25.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-50.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-59.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-110.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-149.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-164.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-24.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-58.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-22.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-50.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-187.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-237.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-267.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-background-tokenomics-feat-app-act-marker-tokenomics-bash-79.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-text-23.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-text-665.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-509.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx delete mode 100644 docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx deleted file mode 100644 index 16ed84e0..00000000 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-standalone-validator-values-migration-start.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```yaml - # Replace MIGRATION_ID with the migration ID of the global synchronizer. - migration: - id: "MIGRATION_ID" -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx deleted file mode 100644 index 1d177b49..00000000 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-sweep-start.mdx +++ /dev/null @@ -1,14 +0,0 @@ -```yaml - # If you want funds sweeped out of parties in this validator, uncomment and fill in the following: - #walletSweep: - # "": - # maxBalanceUSD: - # minBalanceUSD: - # receiver: "" - # useTransferPreapproval: false # sweep by transferring directly through the transfer preapproval of the receiver, - # if set to false sweeping creates transfer offers that need to be accepted on the receiver side. - # Note that this refers to the preapprovals described in https://docs.dev.sync.global/background/preapprovals.html - # and not to auto accepting transfers. Auto accept transfers does not setup preapproval contracts that allow - # for a direct transfer but just automates the acceptance of the transfer offer so in that case - # useTransferPreapproval should be set to false. -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-scan-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-scan-start.mdx deleted file mode 100644 index 5438c232..00000000 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-scan-start.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - # If you want to configure validator to use a single trusted scan, set ``nonSvValidatorTrustSingleScan`` to true. - # It will only connect to the scan specified in ``scanAddress``. This does mean that you depend on that single SV and if it is broken or malicious you will be unable to use the network so usually you want to default to not enabling this. - # nonSvValidatorTrustSingleScan: true - # -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-sequencer-start.mdx b/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-sequencer-start.mdx deleted file mode 100644 index 0faa951b..00000000 --- a/docs-main/snippets/external/splice/main/splice-literal-marker-apps-app-src-pack-examples-sv-helm-validator-values-trusted-single-sequencer-start.mdx +++ /dev/null @@ -1,8 +0,0 @@ -```yaml - # If you want to configure validator to connect to a single trusted sequencer, set ``useSequencerConnectionsFromScan`` to false. - # and replace ``TRUSTED_SYNCHRONIZER_SEQUENCER_URL`` with the publicly accessible URL of the trusted sequencer. - # This does mean that you depend on that single SV and if it is broken or malicious you will be unable to use the network so usually you want to default to not enabling this. - # decentralizedSynchronizerUrl: "TRUSTED_SYNCHRONIZER_SEQUENCER_URL" - # useSequencerConnectionsFromScan: false - # -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-json-82.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-json-82.mdx deleted file mode 100644 index bc7a447c..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-json-82.mdx +++ /dev/null @@ -1,7 +0,0 @@ -```json - { - "sub": "ledgerApiUserId", - "aud": "audience-of-app" - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-116.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-116.mdx deleted file mode 100644 index 69a312cc..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-116.mdx +++ /dev/null @@ -1,4 +0,0 @@ -``` - Authorization: Bearer yourtoken - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-132.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-132.mdx deleted file mode 100644 index a740a2c7..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-132.mdx +++ /dev/null @@ -1,13 +0,0 @@ -``` - canton { - validator-apps { - validator { - admin-api.port = 5003 - ... - } - } - } - - - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-99.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-99.mdx deleted file mode 100644 index 6bc971c5..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-splice-app-apis-none-99.mdx +++ /dev/null @@ -1,15 +0,0 @@ -``` - canton { - validator-apps { - validator { - auth { - audience = "https://example.com" - algorithm = "rs-256" - jwks-url = "https://example.com/.well-known/jwks.json" - } - ... - } - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-54.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-54.mdx deleted file mode 100644 index 2493c74d..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-overview-version-information-bash-54.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - curl -sSL https://get.daml.com/ | sh -s 3.3.0-snapshot.20250603.0 - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-114.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-114.mdx deleted file mode 100644 index 97b5f546..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-114.mdx +++ /dev/null @@ -1,15 +0,0 @@ -```json - { - "entries": [ - { - "contract_id": null, - "user": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "name": "dso.cns", - "url": "", - "description": "", - "expires_at": null - } - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-133.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-133.mdx deleted file mode 100644 index 5f8302d5..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-133.mdx +++ /dev/null @@ -1,15 +0,0 @@ -```json - { - "entries": [ - { - "contract_id": "00ab54b0bfc5a70f1fa421b4fd76cd6860d061e0fff2a0ef79d87521ab60215e2fca10122056e3bf53375a1323f296d8348057a0e1a063884e6330fd0b5476acf8811bc193", - "user": "auth0_007c675a429eaf831f0991308d85::12201abe669faf7e657735cdcc96a1b0a98f3ba6ddca688739bcb90933b693c65a8c", - "name": "alice_2e5bbb1c.unverified.cns", - "url": "", - "description": "", - "expires_at": "2025-03-12T01:56:28.974046Z" - } - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-23.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-23.mdx deleted file mode 100644 index 340455e1..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-23.mdx +++ /dev/null @@ -1,12 +0,0 @@ -```json - { - "migration_id": 4, - "record_time": "2025-02-14T15:00:00Z", - "owner_party_ids": [ - "digitalasset-testValidator-1::1220e92bbc9d80cb6e283184017b307b9f44f23d32d7d195cdbcac033ae91eac2f28", - "digitalasset-testValidator-1::12201bca369bee8df7a32ee53c6433d437396c9f69c269a1bb51383c0a279ca90626", - "digitalasset-testValidator-1::122079c06f2c4128d44d1ad0b201452c0bb67858bcb9db2cf2d6310cf02960f03eea" - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-37.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-37.mdx deleted file mode 100644 index 748d9be8..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-37.mdx +++ /dev/null @@ -1,21 +0,0 @@ -```json - { - "record_time": "2025-02-14T15:00:00Z", - "migration_id": 4, - "computed_as_of_round": 20203, - "summaries": [ - { - "party_id": "digitalasset-testValidator-1::122079c06f2c4128d44d1ad0b201452c0bb67858bcb9db2cf2d6310cf02960f03eea", - "total_unlocked_coin": "23765.0066688730", - "total_locked_coin": "0.0000000000", - "total_coin_holdings": "23765.0066688730", - "accumulated_holding_fees_unlocked": "1.4193321400", - "accumulated_holding_fees_locked": "0.0000000000", - "accumulated_holding_fees_total": "1.4193321400", - "total_available_coin": "23763.5873367330" - }, - /* similar records for the other party IDs */ - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-67.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-67.mdx deleted file mode 100644 index b60a22b6..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-aggregates-api-json-67.mdx +++ /dev/null @@ -1,37 +0,0 @@ -```json - { - "record_time": "2025-02-14T15:00:00Z", - "migration_id": 4, - "created_events": [ - { - "event_type": "created_event", - "event_id": "#1220da14f2feb58bd88ab07d12feb2c483b2eba91e696ddbacf8196288a32cfcc96b:7", - "contract_id": "0078f4eeb4bc4dd4fe111cc5ed35594db14e70fc9f262158d97df699cb347b3a0eca101220712cd87d67727c259c698cc3ec33eb773cf77bb03a1e4d5ca9b19f7cbf4e250d", - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.Amulet:Amulet", - "package_name": "splice-amulet", - "create_arguments": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "owner": "digitalasset-testValidator-1::122079c06f2c4128d44d1ad0b201452c0bb67858bcb9db2cf2d6310cf02960f03eea", - "amount": { - "initialAmount": "23765.0066688730", - "createdAt": { - "number": "19830" - }, - "ratePerRound": { - "rate": "0.0038051800" - } - } - }, - "created_at": "2025-02-12T00:42:56.627908Z", - "signatories": [ - "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "digitalasset-testValidator-1::122079c06f2c4128d44d1ad0b201452c0bb67858bcb9db2cf2d6310cf02960f03eea" - ], - "observers": [] - }, - /* similar records for other parties */ - ], - "next_page_token": null - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-119.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-119.mdx deleted file mode 100644 index 60b896b0..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-119.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```json - { - "page_size": 10 - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-131.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-131.mdx deleted file mode 100644 index 5df3fa1a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-131.mdx +++ /dev/null @@ -1,10 +0,0 @@ -```json - { - "page_size": 10, - "after": { - "after_migration_id": 0, - "after_record_time": "2024-09-20T13:31:28.405180Z" - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-191.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-191.mdx deleted file mode 100644 index 265e89ab..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-191.mdx +++ /dev/null @@ -1,22 +0,0 @@ -```json - { - "transactions": [ - { - "update_id": "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7", - "migration_id": 0, - "workflow_id": "", - "record_time": "2024-09-20T13:31:28.405180Z", - "synchronizer_id": "global-domain::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "effective_at": "2024-09-20T13:31:29.552807Z", - "root_event_ids": [ - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:0", - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:1" - ], - "events_by_id": { - "..." : "events omitted for brevity" - } - } - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-236.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-236.mdx deleted file mode 100644 index c3d99b74..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-236.mdx +++ /dev/null @@ -1,30 +0,0 @@ -```json - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:4": { - "event_type": "exercised_event", - "event_id": "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:4", - "contract_id": "0036a147673cc66b5e7d27811084897d6eaf1807c2bc024b9c7c9359dbfb25c790ca101220bf3bfb7315fe33fc0bafa88087a8af6794674f2a02a4690ef2897325efd9e973", - "template_id": "a36ef8888fb44caae13d96341ce1fabd84fc9e2e7b209bbc3caabb48b6be1668:Splice.AmuletRules:AmuletRules", - "package_name": "splice-amulet", - "choice": "AmuletRules_Bootstrap_Rounds", - "choice_argument": { - "amuletPrice": "0.0050000000", - "round0Duration": { - "microseconds": "97200000000" - } - }, - "child_event_ids": [ - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:5", - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:6", - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:7" - ], - "exercise_result": { - "openMiningRoundCid": "004eba336d6bbaed0e866e2dd11351fc989b1043b09c34ce3ac16fe08ff9fc1cfaca101220e8339d816712ba0294cdce13216494bb50dd1070be12ede312133003e0f1252d" - }, - "consuming": false, - "acting_parties": [ - "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17" - ], - "interface_id": null - }, - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-278.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-278.mdx deleted file mode 100644 index a00fb5ec..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-278.mdx +++ /dev/null @@ -1,71 +0,0 @@ -```json - "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:7": { - "event_type": "created_event", - "event_id": "1220e04f50c4b00024dd3a225611ad96441abd854e461c144b872c0eedac1dc784c7:7", - "contract_id": "004eba336d6bbaed0e866e2dd11351fc989b1043b09c34ce3ac16fe08ff9fc1cfaca101220e8339d816712ba0294cdce13216494bb50dd1070be12ede312133003e0f1252d", - "template_id": "a36ef8888fb44caae13d96341ce1fabd84fc9e2e7b209bbc3caabb48b6be1668:Splice.Round:OpenMiningRound", - "package_name": "splice-amulet", - "create_arguments": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "round": { - "number": "2" - }, - "amuletPrice": "0.0050000000", - "opensAt": "2024-09-21T16:31:29.552807Z", - "targetClosesAt": "2024-09-21T16:51:29.552807Z", - "issuingFor": { - "microseconds": "1200000000" - }, - "transferConfigUsd": { - "createFee": { - "fee": "0.0300000000" - }, - "holdingFee": { - "rate": "0.0000190259" - }, - "transferFee": { - "initialRate": "0.0100000000", - "steps": [ - { - "_1": "100.0000000000", - "_2": "0.0010000000" - }, - { - "_1": "1000.0000000000", - "_2": "0.0001000000" - }, - { - "_1": "1000000.0000000000", - "_2": "0.0000100000" - } - ] - }, - "lockHolderFee": { - "fee": "0.0050000000" - }, - "extraFeaturedAppRewardAmount": "1.0000000000", - "maxNumInputs": "100", - "maxNumOutputs": "100", - "maxNumLockHolders": "50" - }, - "issuanceConfig": { - "amuletToIssuePerYear": "40000000000.0000000000", - "validatorRewardPercentage": "0.0500000000", - "appRewardPercentage": "0.1500000000", - "validatorRewardCap": "0.2000000000", - "featuredAppRewardCap": "100.0000000000", - "unfeaturedAppRewardCap": "0.6000000000", - "optValidatorFaucetCap": "2.8500000000" - }, - "tickDuration": { - "microseconds": "600000000" - } - }, - "created_at": "2024-09-20T13:31:29.552807Z", - "signatories": [ - "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17" - ], - "observers": [] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-453.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-453.mdx deleted file mode 100644 index 8f6943af..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-453.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```json - { - "record_time" : "2025-02-11T18:00:00Z" - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-470.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-470.mdx deleted file mode 100644 index 97ac10f4..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-470.mdx +++ /dev/null @@ -1,8 +0,0 @@ -```json - { - "migration_id": 4, - "record_time": "2025-02-11T18:00:00Z", - "page_size": 10 - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-483.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-483.mdx deleted file mode 100644 index 4580e45c..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-483.mdx +++ /dev/null @@ -1,38 +0,0 @@ -```json - { - "record_time": "2025-02-11T18:00:00Z", - "migration_id": 4, - "created_events": [ - { - "event_type": "created_event", - "event_id": "#122098355fd6741a763f23fa0b7758d2a59cfce54aef07808ef42d366bdd6296db2d:0", - "contract_id": "001c9216c7194bb6180968abdae59b1718a44857b005613cb47cdbc4a459b3a4caca10122019fd0561c858eac85e7e3374ec8cb27ee6f410f9260d4f89c7a3a398a1d2a37f", - "template_id": "053c7f4c2a77312e7d465a4fa7dc8cb298754ad12c0c987a7c401bd724e65efc:Splice.Ans:AnsRules", - "package_name": "splice-amulet-name-service", - "create_arguments": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "config": { - "renewalDuration": { - "microseconds": "2592000000000" - }, - "entryLifetime": { - "microseconds": "7776000000000" - }, - "entryFee": "1.0000000000", - "descriptionPrefix": "CNS entry: " - } - }, - "created_at": "2024-09-20T13:31:29.552807Z", - "signatories": [ - "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17" - ], - "observers": [] - }, - { - "..." : "more created events, omitted for brevity" - } - ], - "next_page_token": 61329223 - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-685.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-685.mdx deleted file mode 100644 index a48f4702..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-685.mdx +++ /dev/null @@ -1,59 +0,0 @@ -```json - "1220299075b2251a542c4ff0a6aec03dbd3e69041da7d85cd62be9d665f3a959cd25:1": { - "event_type": "exercised_event", - "event_id": "1220299075b2251a542c4ff0a6aec03dbd3e69041da7d85cd62be9d665f3a959cd25:1", - "contract_id": "00aec43c48f896adb70550e22a5bd44f290534058aa9fa1ba939aa17f622639d31ca101220b56087539ec11e1b7803b726e1d833ef9685dfdffb7570644b44d1074882e0fd", - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.AmuletRules:AmuletRules", - "package_name": "splice-amulet", - "choice": "AmuletRules_BuyMemberTraffic", - "choice_argument": { - "inputs": [ - { - "tag": "InputAmulet", - "value": "0019bc6f3f9b53f1e4e3af43e47a35f3fe43507e861490c0b58656fc08a1408c32ca101220ed59a33d6a79962a0924a1ecae3f539c4003d808a0a564dada0437018adb8c6d" - }, - { - "tag": "InputAmulet", - "value": "00b0acb28b679855d0cab28c662663ccfbb22e78873424ec49eddc18e81a4f5fe9ca10122053517786a087da1055ab0f2adf0d20b6d02238c13fee8d2a773e2dc0514976a9" - } - ], - "context": "<...>", - "provider": "<...>", - "memberId": "<...>", - "synchronizerId": "global-domain::1220e1e594cdb287aeac3e1e6d62e7d2db46b756a5d01656c26f1f1a151345bf2e53", - "migrationId": "1", - "trafficAmount": "1999800" - }, - "child_event_ids": "<...>", - "exercise_result": { - "round": { - "number": "10470" - }, - "summary": { - "inputAppRewardAmount": "0E-10", - "inputValidatorRewardAmount": "0E-10", - "inputSvRewardAmount": "0E-10", - "inputAmuletAmount": "224019632.4829619323", - "balanceChanges": "<...>", - "holdingFees": "0.0076103600", - "outputFees": [ - "209.9976000000" - ], - "senderChangeFee": "6.0000000000", - "senderChangeAmount": "223995628.8753515723", - "amuletPrice": "0.0050000000", - "inputValidatorFaucetAmount": "0E-10" - }, - "amuletPaid": "23997.6000000000", - "purchasedTraffic": "00f040b550e04734b36ca89f3d89f77192566bd3b41ead2435b94f9ab32d9eb013ca101220147966510802349805e611d2b88a289decd32ff9dc80268e0e8de5e84661e4f1", - "senderChangeAmulet": "004997a51da7d833e7122ddd0a10800857c0370a4cc28bcb5f4bc554ec79fb42ccca1012209b58a59bb36a8ad1667a23809bebbc090b9cd5a97612a59a0ad05f2edb129c63" - }, - "consuming": false, - "acting_parties": [ - "Cumberland-GasStation-1::12203f6faf84f106d90b87775def701c39734fe26ce5fb01892c73f45ce8fecc8e86" - ], - "interface_id": null - }, - - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-758.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-758.mdx deleted file mode 100644 index 55352779..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-758.mdx +++ /dev/null @@ -1,64 +0,0 @@ -```json - "1220f207fb8c58969e51c99af570f99302ad4f5adf513de0b70dc93e358371f25bc2:2": { - "event_type": "exercised_event", - "event_id": "1220f207fb8c58969e51c99af570f99302ad4f5adf513de0b70dc93e358371f25bc2:2", - "contract_id": "00aec43c48f896adb70550e22a5bd44f290534058aa9fa1ba939aa17f622639d31ca101220b56087539ec11e1b7803b726e1d833ef9685dfdffb7570644b44d1074882e0fd", - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.AmuletRules:AmuletRules", - "package_name": "splice-amulet", - "choice": "AmuletRules_Transfer", - "choice_argument": { - "transfer": { - "sender": "<...>", - "provider": "<...>", - "inputs": [ - { - "tag": "InputAmulet", - "value": "0020459e63b92ded757b2d271ae527285d97a28edacd15e2ce9d4b9f209167190cca1012203226f23d0e205f4aa9ffbc9445b39c7a3a2d1ea5b94326adbcd94d7f2862a802" - } - ], - "outputs": [ - { - "receiver": "<...>", - "receiverFeeRatio": "0E-10", - "amount": "9600.2116486069", - "lock": null - } - ] - }, - "context": "<...>" - }, - "child_event_ids": "<...>", - "exercise_result": { - "round": { - "number": "10468" - }, - "summary": { - "inputAppRewardAmount": "0E-10", - "inputValidatorRewardAmount": "0E-10", - "inputSvRewardAmount": "0E-10", - "inputAmuletAmount": "223970271.6123234793", - "balanceChanges": "<...>", - "holdingFees": "0E-10", - "outputFees": [ - "102.0021164861" - ], - "senderChangeFee": "6.0000000000", - "senderChangeAmount": "223960563.3985583863", - "amuletPrice": "0.0050000000", - "inputValidatorFaucetAmount": "0E-10" - }, - "createdAmulets": [ - { - "tag": "TransferResultAmulet", - "value": "0062dfd0dd4e814762c67c4f8264d9f752f1e3291535546bc33a7d1a5d748c9a6cca1012204a3e156db434b9b56af11b7d9b4dca8ba182baf6d161c2c35dac328e58bebe5a" - } - ], - "senderChangeAmulet": "0085965dcb855eb24cc28bdf455aa77c4a60d9ffbbc35d9ac43c64f6bf6667448aca10122018a84ec51c73894877b3897cb415b4569520a6ca32eb992fbf98e72155d62cf9" - }, - "consuming": false, - "acting_parties": "<...>", - "interface_id": null - }, - - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-839.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-839.mdx deleted file mode 100644 index d5a033c9..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-839.mdx +++ /dev/null @@ -1,21 +0,0 @@ -```json - "1220088866741e05b6ee333fad8fb505856ad78e836aa812afb1ca4a00deae5d50b3:7": { - "event_type": "exercised_event", - "event_id": "1220088866741e05b6ee333fad8fb505856ad78e836aa812afb1ca4a00deae5d50b3:7", - "contract_id": "00ec1e0685d269b19064c9ca45294f4d03024988d3d9e3e86e9fd9d4b8b35db8a3ca1012205aa122cbfb63e63310fcfd024daabea1c379d942261033ab34dd1bfc5405e6af", - "template_id": "4e3e0d9cdadf80f4bf8f3cd3660d5287c084c9a29f23c901aabce597d72fd467:Splice.Wallet.Subscriptions:SubscriptionInitialPayment", - "package_name": "splice-wallet-payments", - "choice": "SubscriptionInitialPayment_Collect", - "choice_argument": { - "transferContext": "<...>" - }, - "child_event_ids": "<...>", - "exercise_result": { - "subscription": "<...>", - "subscriptionState": "<...>", - "amulet": "0064d6918d973d69c626a6d9020c625e30199309bcf36460a8e3a4cc0775b44738ca10122090b18bbdc6ac5da9338e547c3f1c310de27184877cb6c4b1daf91c77cfb3356b" - }, - "consuming": true, - "acting_parties": "<...>", - "interface_id": null -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-950.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-950.mdx deleted file mode 100644 index a8c9e11c..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-bulk-data-api-json-950.mdx +++ /dev/null @@ -1,64 +0,0 @@ -```json - "1220986fb3a857bc92ca570bc11d7b3b8579cb4afe0e0c2ac3ac920057f2d968b99f:0": { - "event_type": "exercised_event", - "event_id": "1220986fb3a857bc92ca570bc11d7b3b8579cb4afe0e0c2ac3ac920057f2d968b99f:0", - "contract_id": "0062bacc032e3f6191070940cddec7b0d34fdf0f4d8ff49a2e28bbc51462ef9c35ca1012205bb34d8c4609b3172094908c35107e3d774517054efae35b8c6847f4487e95a7", - "template_id": "4646d50cbdec6f088c98ae543da5c973d2d1be3363b9f32eb097d8fdc063ade7:Splice.AmuletRules:AmuletRules", - "package_name": "splice-amulet", - "choice": "AmuletRules_CreateTransferPreapproval", - "choice_argument": { - "context": { - "amuletRules": "0062bacc032e3f6191070940cddec7b0d34fdf0f4d8ff49a2e28bbc51462ef9c35ca1012205bb34d8c4609b3172094908c35107e3d774517054efae35b8c6847f4487e95a7", - "context": "<...>" - }, - "inputs": [ - { - "tag": "InputAmulet", - "value": "005b5fb07cdf97f2cc32190d0a5cc80176bb20161e581987848ac93c31a07d9932ca101220e3a7885db04643c34edb10fe11a0418810ba881d072c9b40a24a4106aa875a7d" - } - ], - "receiver": "<...>", - "provider": "<...>", - "expiresAt": "2025-05-28T19:19:09.285322Z" - }, - "child_event_ids": "<...>", - "exercise_result": { - "transferPreapprovalCid": "00361db2d2b07253f64deaa7c8db4319625227c27b97143c1b279cdc6294d5cb97ca101220d1c8f06741b5b99477861410e4d4bc460a207af3ea7fa179e903c78846b227e2", - "transferResult": { - "round": { - "number": "32" - }, - "summary": { - "inputAppRewardAmount": "0E-10", - "inputValidatorRewardAmount": "0E-10", - "inputSvRewardAmount": "0E-10", - "inputAmuletAmount": "253917.5244126799", - "balanceChanges": [ - [ - "digitalasset-validator1-1::1220e6ee4d3f5387c9210ce50a46b3c4906335bae0083bb1dcc2819d4b52e178ec7e", - { - "changeToInitialAmountAsOfRoundZero": "-61.3199997000", - "changeToHoldingFeesRate": "0E-10" - } - ] - ], - "holdingFees": "0E-10", - "outputFees": [ - "6.0000000000" - ], - "senderChangeFee": "6.0000000000", - "senderChangeAmount": "253856.2044129799", - "amuletPrice": "0.0050000000", - "inputValidatorFaucetAmount": "0E-10" - }, - "createdAmulets": "<...>", - "senderChangeAmulet": "00fe4c85fc36780c61281ffa37679a4580fe33df727e5614185e8aacde1bcd491eca101220b7e8a17df7ec6598d5b5d5b240513805cdbc31404b0fcef2309763237e7245d9" - }, - "amuletPaid": "49.3199997000" - }, - "consuming": false, - "acting_parties": "<...>", - "interface_id": null - }, - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-cc-reference-data-api-json-24.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-cc-reference-data-api-json-24.mdx deleted file mode 100644 index 3e67231b..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-cc-reference-data-api-json-24.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```json - { - "dso_party_id": "DSO::122084177677350389dd0710d6516f700a33fe3488c5f2702dffef6d36e1dedcbfc17" - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-25.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-25.mdx deleted file mode 100644 index 0cbdc155..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-25.mdx +++ /dev/null @@ -1,14 +0,0 @@ -```json - { - "traffic_status": { - "actual": { - "total_consumed": 0, - "total_limit": 6000000 - }, - "target": { - "total_purchased": 6000000 - } - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-50.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-50.mdx deleted file mode 100644 index 48486ed9..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-50.mdx +++ /dev/null @@ -1,7 +0,0 @@ -```json - { - "cached_open_mining_round_contract_ids": [], - "cached_issuing_round_contract_ids": [] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-59.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-59.mdx deleted file mode 100644 index ec5fffb7..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-current-state-api-json-59.mdx +++ /dev/null @@ -1,63 +0,0 @@ -```json - { - "time_to_live_in_microseconds": 600000000, - "open_mining_rounds": { - "00dea42d6e8aa5cdd8110564774b740943c2f0d57ecef624f2f9ab881a847f3ebfca1012200109878982101a4f2b8106091bdde79793daf8548662f9962b371adc8c3aa294": { - "contract": { - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.Round:OpenMiningRound", - "contract_id": "00dea42d6e8aa5cdd8110564774b740943c2f0d57ecef624f2f9ab881a847f3ebfca1012200109878982101a4f2b8106091bdde79793daf8548662f9962b371adc8c3aa294", - "payload": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "tickDuration": { - "microseconds": "600000000" - }, - "issuingFor": { - "microseconds": "12474000000000" - }, - "amuletPrice": "0.005", - "issuanceConfig": /* ... */, - "opensAt": "2025-02-18T22:18:42.495769Z", - "transferConfigUsd": { - "holdingFee": { - "rate": "0.0000190259" - }, - /* other configuration */ - }, - "targetClosesAt": "2025-02-18T22:38:42.495769Z", - "round": { - "number": "20790" - } - }, - /* other contract metadata */ - }, - "domain_id": "global-domain::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17" - }, - /* other open rounds; there are usually 3 */ - }, - "issuing_mining_rounds": { - "00f15ce85311175cc62acab235d768f5c8b1e02247a1d0e4c54635fc2b43726262ca101220cc210224ad72ee4a71ae887732898f0f1db81e530b3817e75500ebe5a8a4f7a6": { - "contract": { - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.Round:IssuingMiningRound", - "contract_id": "00f15ce85311175cc62acab235d768f5c8b1e02247a1d0e4c54635fc2b43726262ca101220cc210224ad72ee4a71ae887732898f0f1db81e530b3817e75500ebe5a8a4f7a6", - "payload": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "optIssuancePerValidatorFaucetCoupon": "324.0134341208", - "issuancePerFeaturedAppRewardCoupon": "100.0", - "opensAt": "2025-02-18T22:29:35.850299Z", - "issuancePerSvRewardCoupon": "0.4058853374", - "targetClosesAt": "2025-02-18T22:49:35.850299Z", - "issuancePerUnfeaturedAppRewardCoupon": "0.6", - "round": { - "number": "20788" - }, - "issuancePerValidatorRewardCoupon": "0.2" - }, - /* other contract metadata */ - }, - "domain_id": "global-domain::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17" - }, - /* any other issuing rounds */ - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-110.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-110.mdx deleted file mode 100644 index 06e8629e..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-110.mdx +++ /dev/null @@ -1,36 +0,0 @@ -```json - { - "validator_licenses": [ - /* many similar records */, - { - "template_id": "979ec710c3ae3a05cb44edf8461a9b4d7dd2053add95664f94fc89e5f18df80f:Splice.ValidatorLicense:ValidatorLicense", - "contract_id": "00e17d6e36499b656f8e248c31f18130e00db30332820b6b91da9f222049f3d078ca101220d189c2482b5018eae7c656561bf201a54deb276f81e8a0d715b7305d3a03abc3", - "payload": { - "dso": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "sponsor": "Digital-Asset-2::1220dcf294bffd10439167f7460b1b6926b7a87d3237b748c7de6d7367fad3e33b20", - "lastActiveAt": "2025-01-23T12:48:21.220193Z", - "validator": "digitalasset-testValidator-1::1220167abbb792b81e5fb1dc45311f32eb9d796c46a5100a1cd446979176f699e117", - "faucetState": { - "firstReceivedFor": { - "number": "17087" - }, - "lastReceivedFor": { - "number": "17122" - }, - "numCouponsMissed": "0" - }, - "metadata": { - "lastUpdatedAt": "2025-01-23T07:03:50.820769Z", - "version": "0.3.6", - "contactPoint": "sv-support@example.com" - } - }, - "created_event_blob": "CgMyLjESwgYKRQDhfW42SZtlb44kjDHxgTDgDbMDMoILa5HanyIgSfPQeMoQEiDRicJIK1AY6ufGVlYb8gGlTesnb4HooNcVtzBdOgOrwxINc3BsaWNlLWFtdWxldBpuCkA5NzllYzcxMGMzYWUzYTA1Y2I0NGVkZjg0NjFhOWI0ZDdkZDIwNTNhZGQ5NTY2NGY5NGZjODllNWYxOGRmODBmEgZTcGxpY2USEFZhbGlkYXRvckxpY2Vuc2UaEFZhbGlkYXRvckxpY2Vuc2UilQNqkgMKZgpkOmJkaWdpdGFsYXNzZXQtdGVzdFZhbGlkYXRvci0xOjoxMjIwMTY3YWJiYjc5MmI4MWU1ZmIxZGM0NTMxMWYzMmViOWQ3OTZjNDZhNTEwMGExY2Q0NDY5NzkxNzZmNjk5ZTExNwpZClc6VURpZ2l0YWwtQXNzZXQtMjo6MTIyMGRjZjI5NGJmZmQxMDQzOTE2N2Y3NDYwYjFiNjkyNmI3YTg3ZDMyMzdiNzQ4YzdkZTZkNzM2N2ZhZDNlMzNiMjAKTQpLOklEU086OjEyMjA4NDE3NzY3NzM1MDM4OWRkMDcxMGQ2NTE2ZjcwMGEzM2ZlMzQ4YzVmMjcwMmRmZmVmNmQzNmUxZGVkY2JmYzE3CioKKFImCiRqIgoMCgpqCAoGCgQY/ooCCgwKCmoICgYKBBjEiwIKBAoCGAAKQQo/Uj0KO2o5CgsKCSmhJ1o2WiwGAAoJCgdCBTAuMy42Ch8KHUIbc3Ytc3VwcG9ydEBkaWdpdGFsYXNzZXQuY29tCg8KDVILCgkpYWtnBl8sBgAqSURTTzo6MTIyMDg0MTc3Njc3MzUwMzg5ZGQwNzEwZDY1MTZmNzAwYTMzZmUzNDhjNWYyNzAyZGZmZWY2ZDM2ZTFkZWRjYmZjMTcyYmRpZ2l0YWxhc3NldC10ZXN0VmFsaWRhdG9yLTE6OjEyMjAxNjdhYmJiNzkyYjgxZTVmYjFkYzQ1MzExZjMyZWI5ZDc5NmM0NmE1MTAwYTFjZDQ0Njk3OTE3NmY2OTllMTE3OWFrZwZfLAYAQioKJgokCAESIBhgA7BpKZodv42OaTYfxCqk4WQhgRJ+scPIQtmbh96gEB4=", - "created_at": "2025-01-23T12:48:21.220193Z" - }, - /* many similar records */, - ], - "next_page_token": 6033 - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-149.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-149.mdx deleted file mode 100644 index 9b095f28..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-149.mdx +++ /dev/null @@ -1,7 +0,0 @@ -```json - { - "validator_licenses": [], - "next_page_token": null - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-164.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-164.mdx deleted file mode 100644 index 6de2e239..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-164.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```json - { - "participant_id": "PAR::validator-runbook::1220e92bbc9d80cb6e283184017b307b9f44f23d32d7d195cdbcac033ae91eac2f28" - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-24.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-24.mdx deleted file mode 100644 index 4ea32185..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-24.mdx +++ /dev/null @@ -1,22 +0,0 @@ -```json - { - "scans": [ - { - "domainId": "global-domain::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "scans": [ - /* several scans */, - { - "publicUrl": "https://scan.sv.dev.global.canton.network.digitalasset.com", - "svName": "DA-Helm-Test-Node" - }, - /* several other scans */, - { - "publicUrl": "https://scan.sv-1.dev.global.canton.network.sync.global", - "svName": "Global-Synchronizer-Foundation" - } - ] - } - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-58.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-58.mdx deleted file mode 100644 index b9289841..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-connectivity-api-json-58.mdx +++ /dev/null @@ -1,28 +0,0 @@ -```json - { - "domainSequencers": [ - { - "domainId": "global-domain::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "sequencers": [ - /* several sequencers */, - { - "migrationId": 4, - "id": "SEQ::DA-Helm-Test-Node::122054dda14cc07dbf8cd56b392263c73b10630c0040f185b737ee5526c8d479ffab", - "url": "https://sequencer-4.sv.dev.global.canton.network.digitalasset.com", - "svName": "DA-Helm-Test-Node", - "availableAfter": "2024-11-29T15:25:05.771558Z" - }, - /* several other sequencers */, - { - "migrationId": 4, - "id": "SEQ::Global-Synchronizer-Foundation::1220408be05ce20b9f7023ec1cad8af61f0280fd30a050ccf052660da2adf35549ed", - "url": "https://sequencer-4.sv-1.dev.global.canton.network.sync.global", - "svName": "Global-Synchronizer-Foundation", - "availableAfter": "2024-12-02T13:30:27.774745Z" - } - ] - } - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-22.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-22.mdx deleted file mode 100644 index a136cad4..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-22.mdx +++ /dev/null @@ -1,15 +0,0 @@ -```json - { - "validatorsReceivedFaucets": [ - { - "validator": "digitalasset-testValidator-1::12201bca369bee8df7a32ee53c6433d437396c9f69c269a1bb51383c0a279ca90626", - "numRoundsCollected": 36, - "numRoundsMissed": 0, - "firstCollectedInRound": 19830, - "lastCollectedInRound": 19865 - }, - /* similar structures for the other two validators */ - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-50.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-50.mdx deleted file mode 100644 index 38ac9572..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-scan-api-scan-global-synchronizer-operations-api-json-50.mdx +++ /dev/null @@ -1,15 +0,0 @@ -```json - { - "sv_user": "bUfFRpl2tEfZBB7wzIo9iRNGTj8wMeIn@clients", - "sv_party_id": "DA-Helm-Test-Node::12201094994818f3b4a165f4b391736a9c2f7c5f4ee926b5a3179cc224fe47cc92f3", - "dso_party_id": "DSO::122084177677350389dd0710d6516f700a33fe348c5f2702dffef6d36e1dedcbfc17", - "voting_threshold": 11, - "latest_mining_round": /* OpenMiningRound Daml contract */, - "amulet_rules": /* AmuletRules Daml contract */, - "dso_rules": /* DsoRules Daml contract */, - "sv_node_states": [ - /* several SvNodeState contracts, one for each SV */ - ] - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-187.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-187.mdx deleted file mode 100644 index 5e674e97..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-187.mdx +++ /dev/null @@ -1,22 +0,0 @@ -```json - { - "filtersByParty": { - "$A_PARTY": { - "cumulative": [ - { - "identifierFilter": { - "InterfaceFilter": { - "value": { - "interfaceId": "$AN_INTERFACE_ID", - "includeInterfaceView": true, - "includeCreatedEventBlob": true - } - } - } - } - ] - } - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-237.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-237.mdx deleted file mode 100644 index d63ad54f..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-237.mdx +++ /dev/null @@ -1,22 +0,0 @@ -```json - { - "filtersByParty": { - "$A_PARTY": { - "cumulative": [ - { - "identifierFilter": { - "InterfaceFilter": { - "value": { - "interfaceId": "$AN_INTERFACE_ID", - "includeInterfaceView": true, - "includeCreatedEventBlob": true - } - } - } - } - ] - } - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-267.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-267.mdx deleted file mode 100644 index 4934dc04..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-app-dev-token-standard-index-json-267.mdx +++ /dev/null @@ -1,12 +0,0 @@ -```json - { - "identifierFilter": { - "WildcardFilter": { - "value": { - "includeCreatedEventBlob": true - } - } - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-background-tokenomics-feat-app-act-marker-tokenomics-bash-79.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-background-tokenomics-feat-app-act-marker-tokenomics-bash-79.mdx deleted file mode 100644 index 009d9e1a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-background-tokenomics-feat-app-act-marker-tokenomics-bash-79.mdx +++ /dev/null @@ -1,28 +0,0 @@ -```bash - curl "http://$lapiParticipant/v2/state/active-contracts" \ - "$jwtToken" "application/json" \ - --data-raw '{ - "filter": { - "filtersByParty": { - "'$holderPartyId'": { - "cumulative": - [ - { - "identifierFilter": { - "InterfaceFilter": { - "value": { - "interfaceId": "'7804375fe5e4c6d5afe067bd314c42fe0b7d005a1300019c73154dd939da4dda:Splice.Api.FeaturedAppRightV1:FeaturedAppRight'", - "includeInterfaceView": true, - "includeCreatedEventBlob": false - } - } - } - } - ]} - } - }, - "verbose": false, - "activeAtOffset":"'$latestOffset'" - }' - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-text-23.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-text-23.mdx deleted file mode 100644 index a72df762..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-console-access-text-23.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```text - _____ _ -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx deleted file mode 100644 index bba5d8b5..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```yaml - kubectl exec -n -- curl -v http://localhost:5003/api/validator/readyz - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx deleted file mode 100644 index 98eedff5..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```yaml - docker exec -- curl -v http://localhost:5003/api/validator/livez - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx deleted file mode 100644 index e797e704..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-129.mdx +++ /dev/null @@ -1,19 +0,0 @@ -```text - canton { - participants { - participant1 { - http-ledger-api { - address = 0.0.0.0 - port = 10010 - port-file = "./json.port" - path-prefix = "my-prefix" - websocket-config { - http-list-max-elements-limit = 1000, - http-list-wait-time = 2s, - } - daml-definitions-service-enabled = true - } - } - } - } -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx deleted file mode 100644 index 4d08a0df..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-64.mdx +++ /dev/null @@ -1,14 +0,0 @@ -```text - 2025-07-10T14:39:43.155Z [⋮] INFO - c.d.c.p.a.s.c.CommandSubmissionServiceImpl:participant=aliceParticipant (1e2d6bf54d150e230fd0c7f348707bf6---) - Phase 1 started: Submitting commands for interpretation: Commands( - commandId = org.lfdecentralizedtrust.splice.wallet.tap_92d9ffae4bd90068a15dad747559ed641572f057e3beb03f2a9b024f388bdc20, - submissionId = 0a3e62aa-c4e7-44ba-ad8a-fdbd0e55b9e9, - userId = alice_validator_user-b7e18d55, - actAs = alice-validatorb7e18d55-1::12204bfd2aa7..., - readAs = alice__wallet__user-b7e18d55__tc0::12204bfd2aa7..., - submittedAt = 2025-07-10T14:39:43.154021Z, - ledgerEffectiveTime = 1970-01-01T01:11:10Z, - deduplicationPeriod = (duration=PT24H), - synchronizerId = global-domain::12203755b6a7..., - ... - ). -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx deleted file mode 100644 index 29da9d0a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-faq-text-81.mdx +++ /dev/null @@ -1,24 +0,0 @@ -```text - 2025-07-10T14:39:43.202Z [⋮] DEBUG - c.d.c.s.t.TrafficStateController:participant=aliceParticipant/synchronizerId=global-domain::12203755b6a7 (1e2d6bf54d150e230fd0c7f348707bf6---) - Computed following cost for submission request using topology at 1970-01-01T01:11:10.000177Z: EventCostDetails( - cost multiplier = 4, - group to members size = MediatorGroupRecipient(group = 0) -> 1, - envelopes cost details = Seq( - EnvelopeCostDetails(write cost = 1541, read cost = 0, final cost = 1541, recipients = MediatorGroupRecipient(group = 0)), - EnvelopeCostDetails( - write cost = 137, - read cost = 0, - final cost = 137, - recipients = Seq(MemberRecipient(PAR::aliceValidator::12204bfd2aa7...), MediatorGroupRecipient(group = 0), MemberRecipient(PAR::sv1::1220c1e24991...)) - ), - EnvelopeCostDetails(write cost = 1904, read cost = 0, final cost = 1904, recipients = MemberRecipient(PAR::aliceValidator::12204bfd2aa7...)), - EnvelopeCostDetails(write cost = 2509, read cost = 2, final cost = 2511, recipients = Seq(MemberRecipient(PAR::aliceValidator::12204bfd2aa7...), MemberRecipient(PAR::sv1::1220c1e24991...))) - ), - event cost = 6093 - ) - 2025-07-10T14:39:43.414Z [⋮] DEBUG - c.d.c.s.t.TrafficStateController:participant=aliceParticipant/synchronizerId=global-domain::12203755b6a7 (1e2d6bf54d150e230fd0c7f348707bf6---) - Computed following cost for submission request using topology at 1970-01-01T01:11:10.000179Z: EventCostDetails( - cost multiplier = 4, - group to members size = MediatorGroupRecipient(group = 0) -> 1, - envelopes cost details = EnvelopeCostDetails(write cost = 651, read cost = 0, final cost = 651, recipients = MediatorGroupRecipient(group = 0)), - event cost = 651 - ) -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx deleted file mode 100644 index eb49f759..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-30.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash -tar xzvf |version|\_splice-node.tar.gz -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx deleted file mode 100644 index 9ff96cb1..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-106.mdx +++ /dev/null @@ -1,6 +0,0 @@ -``` -- name: ADDITIONAL_CONFIG_SEQUENCER_LSU_SEQUENCING_BOUNDS - value: | - canton.sequencers.sequencer.parameters.lsu-repair.lsu-sequencing-bounds-override.lower-bound-sequencing-time-exclusive=LOWER_BOUND_SEQUENCING_TIME_EXCLUSIVE - canton.sequencers.sequencer.parameters.lsu-repair.lsu-sequencing-bounds-override.upgrade-time=UPGRADE_TIME -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx deleted file mode 100644 index aea5c3d0..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-697.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - --begin-record-time=t0 --end-record-time=t1 \ - --weight=10000 --already-minted-weight=10000 -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx deleted file mode 100644 index e2608bf4..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-704.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - --begin-record-time=t1 --end-record-time=t2 \ - --weight=10000 --already-minted-weight=0 -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx deleted file mode 100644 index 98ceca24..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-718.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - --begin-record-time=t0 --end-record-time=t1 \ - --weight=20000 --already-minted-weight=20000 -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx deleted file mode 100644 index 831839e1..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-725.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - --begin-record-time=t1 --end-record-time=t2 \ - --weight=20000 --already-minted-weight=10000 -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx deleted file mode 100644 index 1638b55f..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-bash-732.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - --begin-record-time=t2 --end-record-time=t3 \ - --weight=20000 --already-minted-weight=0 -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-text-665.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-text-665.mdx deleted file mode 100644 index 5fbdde39..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-sv-operator-sv-operations-text-665.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```text - t0 t1 t2 t3 - | m₁ (w=10K) | m₂ (w=10K) | m₃ (w=20K) | -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx deleted file mode 100644 index 07c11107..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-compose-yaml-322.mdx +++ /dev/null @@ -1,22 +0,0 @@ -```yaml - # sweep by transferring directly through the transfer preapproval of the receiver, - # if set to false sweeping creates transfer offers that need to be accepted on the receiver side. - # Note that this refers to the preapprovals described in https://docs.dev.sync.global/background/preapprovals.html - # and not to auto accepting transfers. Auto accept transfers does not setup preapproval contracts that allow - # for a direct transfer but just automates the acceptance of the transfer offer so in that case - # useTransferPreapproval should be set to false. - services: - validator: - environment: - - | - ADDITIONAL_CONFIG_WALLET_SWEEP= - canton.validator-apps.validator_backend.wallet-sweep { - "" { - max-balance-usd = 1000 - min-balance-usd = 100 - receiver = "" - use-transfer-preapproval = false - } - } - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx deleted file mode 100644 index 32ef6511..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-140.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash - kubectl create secret generic participant-bootstrap-dump \ - --from-file=content=${PARTICIPANT_BOOTSTRAP_DUMP_FILE} \ - -n validator -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx deleted file mode 100644 index 17dec41d..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-159.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - -.. code-block:: bash -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx deleted file mode 100644 index 9fffc07a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-162.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash - ./start.sh -s "" -o "" -p -m "" -i "" -P "" -w -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx deleted file mode 100644 index 0f307231..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-456.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash -transactions. The last step is to setup the necessary contracts to -allow the validator automation to renew transfer preapprovals and -complete transfer commands. To do so, go through the same flow used -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx deleted file mode 100644 index fa7565cd..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-473.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - -Validators then need to: -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx deleted file mode 100644 index b513d94a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-490.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash - sequencerSuccessors, - ) - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-509.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-509.mdx deleted file mode 100644 index 734f4038..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-bash-509.mdx +++ /dev/null @@ -1,4 +0,0 @@ -```bash - docker run --rm -v "domain-upgrade-dump:/volume" -v "$(pwd):/backup" alpine sh -c "cp /backup/dump.json /volume/domain_migration_dump.json" - -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx deleted file mode 100644 index 50586827..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-230.mdx +++ /dev/null @@ -1,5 +0,0 @@ -``` - -1. First make sure all parties are hosted on the same node. The most - common case is that either the parties are still on the old node -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx deleted file mode 100644 index 1d2d49c9..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-238.mdx +++ /dev/null @@ -1,5 +0,0 @@ -``` - .. code:: - - val syncId = participant.synchronizers.list_connected().head.synchronizerId -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx deleted file mode 100644 index e66ed3c1..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-250.mdx +++ /dev/null @@ -1,4 +0,0 @@ -``` - -2. If all parties are on the new node already, you can attempt to (re-)import the ACS for those parties manually. -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx deleted file mode 100644 index 1301451f..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-274.mdx +++ /dev/null @@ -1,3 +0,0 @@ -``` -participant.repair.import_acs("acs_snapshot") -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx deleted file mode 100644 index 13f3cb5c..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-355.mdx +++ /dev/null @@ -1,32 +0,0 @@ -``` -// replace YOUR_PARTY_ID by the ID of your external party -val partyId = PartyId.tryFromProtoPrimitive("YOUR_PARTY_ID") -val participantId = participant.id -val synchronizerId = participant.synchronizers.id_of("global") - -// generate topology transaction -val partyToParticipant = PartyToParticipant.tryCreate( - partyId = partyId, - threshold = PositiveInt.one, - participants = Seq( - HostingParticipant( - participantId, - ParticipantPermission.Confirmation, - ) - ), - ) - -import com.digitalasset.canton.admin.api.client.commands.TopologyAdminCommands.Write.GenerateTransactions -val topologyTransaction = participant.topology.transactions.generate( - Seq( - GenerateTransactions.Proposal( - partyToParticipant, - TopologyStoreId.Synchronizer(synchronizerId), - ) - ) -).head - -// Print out the hash that needs to be signed. Note that you need to sign -// the actual bytes the hex string represents not the hex string -topologyTransaction.hash.hash.toHexString -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx deleted file mode 100644 index aa50a77c..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-397.mdx +++ /dev/null @@ -1,19 +0,0 @@ -``` -// Replace HASH_SIGNATURE_HEXSTRING with the signed topology transaction hash -val signature = Signature.fromExternalSigning(SignatureFormat.Raw, HexString.parseToByteString("HASH_SIGNATURE_HEXSTRING").get, partyId.namespace.fingerprint, SigningAlgorithmSpec.Ed25519) -val topologyTxSignedByParty = SignedTopologyTransaction.create( - topologyTransaction, - NonEmpty(Set, SingleTransactionSignature(topologyTransaction.hash, signature): TopologyTransactionSignature), - isProposal = false, - ProtocolVersion.v34, -) -val topologyTxSignedByBoth = participant.topology.transactions.sign( - topologyTxSignedByParty, - TopologyStoreId.Synchronizer(synchronizerId), - signedBy = Seq(participantId.namespace.fingerprint) -) -participant.topology.transactions.load( - topologyTxSignedByBoth, - TopologyStoreId.Synchronizer(synchronizerId), -) -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx deleted file mode 100644 index 7e09775a..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-419.mdx +++ /dev/null @@ -1,19 +0,0 @@ -``` -// The detailed output will slightly vary. Make sure that you see the new participant ID though. -participant.topology.party_to_participant_mappings.list(synchronizerId, filterParty = partyId.filterString) - res36: Seq[topology.ListPartyToParticipantResult] = Vector( - ListPartyToParticipantResult( - context = BaseResult( - storeId = Synchronizer(id = global-domain::122025296c61...), - validFrom = 2025-05-14T10:19:33.534074Z, - validUntil = None, - sequenced = 2025-05-14T10:19:33.534074Z, - operation = Replace, - transactionHash = , - serial = PositiveNumeric(value = 1), - signedBy = Vector(1220b529c1d9...) - ), - item = PartyToParticipant(YOUR_PARTY_ID, PositiveNumeric(1), Vector(HostingParticipant(YOUR_PARTICIPANT_ID..., Submission))) - ) - ) -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx deleted file mode 100644 index c511f736..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-451.mdx +++ /dev/null @@ -1,5 +0,0 @@ -``` -participant.synchronizers.disconnect_all() -participant.repair.import_acs("acs_snapshot") -participant.synchronizers.reconnect_all() -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx deleted file mode 100644 index 0dd8f87d..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-182.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```yaml - - .. code-block:: yaml - - additionalEnvVars: -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx deleted file mode 100644 index 9ad5f3aa..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-145.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash - kubectl create secret generic postgres-secrets \ - --from-literal=postgresPassword=${POSTGRES_PASSWORD} \ - -n validator -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx deleted file mode 100644 index 30f319d1..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-158.mdx +++ /dev/null @@ -1,5 +0,0 @@ -```bash - kubectl create secret generic splice-app-validator-onboarding-validator \ - "--from-literal=secret=${ONBOARDING_SECRET}" \ - -n validator -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx deleted file mode 100644 index d9d7b0ee..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-352.mdx +++ /dev/null @@ -1,9 +0,0 @@ -```bash - kubectl create --namespace validator secret generic splice-app-validator-ledger-api-auth \ - "--from-literal=ledger-api-user=${VALIDATOR_CLIENT_ID}@clients" \ - "--from-literal=url=${OIDC_AUTHORITY_URL}/.well-known/openid-configuration" \ - "--from-literal=client-id=${VALIDATOR_CLIENT_ID}" \ - "--from-literal=client-secret=${VALIDATOR_CLIENT_SECRET}" \ - "--from-literal=audience=${OIDC_AUTHORITY_LEDGER_API_AUDIENCE}" \ - "--from-literal=scope=${OIDC_AUTHORITY_LEDGER_API_SCOPE}" -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx deleted file mode 100644 index 7b110f6e..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-364.mdx +++ /dev/null @@ -1,9 +0,0 @@ -```bash - kubectl create --namespace validator secret generic splice-app-wallet-ui-auth \ - "--from-literal=url=${OIDC_AUTHORITY_URL}" \ - "--from-literal=client-id=${WALLET_UI_CLIENT_ID}" - - kubectl create --namespace validator secret generic splice-app-cns-ui-auth \ - "--from-literal=url=${OIDC_AUTHORITY_URL}" \ - "--from-literal=client-id=${CNS_UI_CLIENT_ID}" -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx deleted file mode 100644 index 1a319793..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-482.mdx +++ /dev/null @@ -1,9 +0,0 @@ -```bash - $ kubectl get pods -n validator - NAMESPACE NAME READY STATUS RESTARTS AGE - validator ans-web-ui-5bf489db78-bdn2j 1/1 Running 0 24m - validator participant-8988dfb54-m9655 1/1 Running 0 26m - validator postgres-0 1/1 Running 0 37m - validator validator-app-f8c74d5dd-zf9j4 1/1 Running 0 24m - validator wallet-web-ui-69d85cdb99-fnj7q 1/1 Running 0 24m -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx deleted file mode 100644 index edf844d2..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-545.mdx +++ /dev/null @@ -1,6 +0,0 @@ -```bash - helm repo add istio https://istio-release.storage.googleapis.com/charts - helm repo update - helm install istio-base istio/base -n istio-system --set defaults.global.istioNamespace=cluster-ingress --wait - helm install istiod istio/istiod -n cluster-ingress --set global.istioNamespace="cluster-ingress" --set meshConfig.accessLogFile="/dev/stdout" --wait -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx deleted file mode 100644 index cdb8c4d3..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-557.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash - kubectl create ns cluster-ingress -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx deleted file mode 100644 index b72c5314..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-598.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash - helm install istio-ingress istio/gateway -n cluster-ingress -f istio-gateway-values.yaml -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx deleted file mode 100644 index 8ff91efc..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-bash-642.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash - kubectl apply -f gateway.yaml -n cluster-ingress -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx deleted file mode 100644 index eb49f759..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-31.mdx +++ /dev/null @@ -1,3 +0,0 @@ -```bash -tar xzvf |version|\_splice-node.tar.gz -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx deleted file mode 100644 index 15bfa6ff..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-566.mdx +++ /dev/null @@ -1,13 +0,0 @@ -```yaml -apiVersion: cert-manager.io/v1 -kind: Certificate -metadata: - name: cn-certificate - namespace: cluster-ingress -spec: - dnsNames: - - '*.validator.YOUR_HOSTNAME' - issuerRef: - name: letsencrypt-production - secretName: cn-net-tls -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx deleted file mode 100644 index 170696e8..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-584.mdx +++ /dev/null @@ -1,9 +0,0 @@ -```yaml -service: - loadBalancerIP: "YOUR_CLUSTER_IP" - loadBalancerSourceRanges: - - "35.194.81.56/32" - - "35.198.147.95/32" - - "35.189.40.124/32" - - "34.132.91.75/32" -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx deleted file mode 100644 index b38311ef..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-607.mdx +++ /dev/null @@ -1,31 +0,0 @@ -```yaml -apiVersion: networking.istio.io/v1alpha3 -kind: Gateway -metadata: - name: cn-http-gateway - namespace: cluster-ingress -spec: - selector: - app: istio-ingress - istio: ingress - servers: - - port: - number: 443 - name: https - protocol: HTTPS - tls: - mode: SIMPLE - credentialName: cn-net-tls # name of the secret created above - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" - - port: - number: 80 - name: http - protocol: HTTP - tls: - httpsRedirect: true - hosts: - - "*.YOUR_HOSTNAME" - - "YOUR_HOSTNAME" -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx deleted file mode 100644 index 50cf5ee8..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-789.mdx +++ /dev/null @@ -1,11 +0,0 @@ -```yaml -# if you want to disable the default postgres init container: -persistence: - enablePgInitContainer: false - -# if you want additional init containers: -extraInitContainers: - - name: my-extra-container - image: busybox - command: [ "sh", "-c", "echo 'example extra container'" ] -``` \ No newline at end of file diff --git a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx b/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx deleted file mode 100644 index 6ffb6fe4..00000000 --- a/docs-main/snippets/external/splice/main/splice-rst-code-docs-src-validator-operator-validator-helm-yaml-815.mdx +++ /dev/null @@ -1,9 +0,0 @@ -```yaml -extraInitContainers: - - name: chown-domain-upgrade-dump - image: busybox:1.37.0 - command: ["sh", "-c", "chown -R 1001:1001 /domain-upgrade-dump"] - volumeMounts: - - name: domain-upgrade-dump-volume - mountPath: /domain-upgrade-dump -``` \ No newline at end of file From dbc5359adf50fddbf7aecc40cf920c9a9ca46074 Mon Sep 17 00:00:00 2001 From: Ibo Sy Date: Mon, 25 May 2026 12:30:54 +0300 Subject: [PATCH 10/10] update snippet config and export script Signed-off-by: Ibo Sy --- .../splice-snippet-list-remote.json | 1891 +++++++++++++++-- scripts/helpers/generateOutputDocs.js | 188 +- 2 files changed, 1881 insertions(+), 198 deletions(-) diff --git a/config/snippet-config/splice-snippet-list-remote.json b/config/snippet-config/splice-snippet-list-remote.json index 5cbdd63a..b41ebf9d 100644 --- a/config/snippet-config/splice-snippet-list-remote.json +++ b/config/snippet-config/splice-snippet-list-remote.json @@ -1,58 +1,1478 @@ { + "rstIncludeRefTargets": { + "validator-backups": "/global-synchronizer/production-operations/validator-backups", + "sv_backups": "/global-synchronizer/production-operations/sv-backup", + "traffic": "/global-synchronizer/deployment/synchronizer-traffic", + "traffic_topup": "/global-synchronizer/deployment/synchronizer-traffic#traffic-top-ups-how-does-one-buy-traffic", + "traffic_parameters": "/global-synchronizer/deployment/synchronizer-traffic#traffic-parameters", + "traffic parameters": "/global-synchronizer/deployment/synchronizer-traffic#traffic-parameters", + "traffic_accounting": "/global-synchronizer/deployment/synchronizer-traffic#traffic-accounting-what-counts-as-traffic" + }, "snippets": [ + { + "snippetName": "splice-rst-code-docs-src-app-dev-overview-version-information-bash-42", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/overview/version_information.rst", + "location": { + "type": "lines", + "start": 42, + "end": 42 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-bash-162", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 162, + "end": 168 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-bash-175", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 175, + "end": 181 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-bash-190", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 190, + "end": 197 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-bash-206", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 206, + "end": 213 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-bash-228", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 228, + "end": 232 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, { "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-none-126", "sourceRepo": "splice", - "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 126, + "end": 127 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-app-dev-testing-localnet-none-147", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/app_dev/testing/localnet.rst", + "location": { + "type": "lines", + "start": 147, + "end": 147 + }, + "description": "", + "options": { + "language": "none", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-configuration-none-51", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/configuration.rst", + "location": { + "type": "lines", + "start": 51, + "end": 53 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-configuration-yaml-70", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/configuration.rst", + "location": { + "type": "lines", + "start": 70, + "end": 72 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-bash-166", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 166, + "end": 166 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-bash-174", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 174, + "end": 177 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-none-104", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 104, + "end": 120 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-none-136", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 136, + "end": 148 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-none-40", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 40, + "end": 57 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-none-71", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 71, + "end": 88 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-parsed-literal-126", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 126, + "end": 126 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-parsed-literal-154", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 154, + "end": 154 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-parsed-literal-63", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 63, + "end": 63 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-console-access-parsed-literal-94", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/console_access.rst", + "location": { + "type": "lines", + "start": 94, + "end": 94 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-traffic-json-94", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/traffic.rst", + "location": { + "type": "lines", + "start": 94, + "end": 104 + }, + "description": "", + "options": { + "language": "json", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-traffic-parsed-literal-129", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/traffic.rst", + "location": { + "type": "lines", + "start": 129, + "end": 129 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-traffic-parsed-literal-88", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/traffic.rst", + "location": { + "type": "lines", + "start": 88, + "end": 88 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-109", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 109, + "end": 110 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-123", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 123, + "end": 124 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-135", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 135, + "end": 136 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-161", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 161, + "end": 162 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-174", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 174, + "end": 177 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-89", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "location": { + "type": "lines", + "start": 89, + "end": 90 + }, + "description": "", + "options": { + "language": "text", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-scalability-scalability-none-117", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/scalability/scalability.rst", + "location": { + "type": "lines", + "start": 117, + "end": 119 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-backup-bash-23", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_backup.rst", + "location": { + "type": "lines", + "start": 23, + "end": 23 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-1033", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 1033, + "end": 1033 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-302", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 302, + "end": 308 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-314", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 314, + "end": 320 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-326", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 326, + "end": 336 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-381", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 381, + "end": 383 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-39", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 39, + "end": 40 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-507", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 507, + "end": 518 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-55", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 55, + "end": 67 + }, + "description": "SV keygen shell commands (RST verbatim block)", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-627", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 627, + "end": 629 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-725", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 725, + "end": 742 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-835", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 835, + "end": 835 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-844", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 844, + "end": 846 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-861", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 861, + "end": 864 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-873", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 873, + "end": 873 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-914", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 914, + "end": 914 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-93", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 93, + "end": 93 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-bash-990", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 990, + "end": 990 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-none-1135", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 1135, + "end": 1143 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-1005", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 1005, + "end": 1005 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-354", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 354, + "end": 360 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-468", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 468, + "end": 480 + }, + "description": "Canton console sample; unescape RST quotes, haskell fence", + "options": { + "language": "haskell", + "normalizeIndent": "baseline", + "unescapeRstQuotes": true + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-528", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 528, + "end": 531 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-691", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 691, + "end": 692 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-701", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 701, + "end": 701 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-707", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 707, + "end": 709 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-parsed-literal-715", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 715, + "end": 715 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-text-366", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 366, + "end": 367 + }, + "description": "CometBFT config files to retain (RST verbatim block)", + "options": { + "language": "text", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-text-74", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 74, + "end": 75 + }, + "description": "Sample SV keygen output (RST verbatim block)", + "options": { + "language": "text", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-440", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 440, + "end": 442 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-448", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 448, + "end": 450 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-456", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 456, + "end": 458 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-882", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 882, + "end": 892 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-900", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 900, + "end": 906 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-helm-yaml-926", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_helm.rst", + "location": { + "type": "lines", + "start": 926, + "end": 984 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-118", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_logical_synchronizer_upgrade.rst", + "location": { + "type": "lines", + "start": 118, + "end": 124 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-142", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_logical_synchronizer_upgrade.rst", + "location": { + "type": "lines", + "start": 142, + "end": 144 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-logical-synchronizer-upgrade-none-87", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_logical_synchronizer_upgrade.rst", + "location": { + "type": "lines", + "start": 87, + "end": 89 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-major-upgrade-bash-148", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_major_upgrade.rst", + "location": { + "type": "lines", + "start": 148, + "end": 149 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-major-upgrade-sql-255", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_major_upgrade.rst", + "location": { + "type": "lines", + "start": 255, + "end": 259 + }, + "description": "", + "options": { + "language": "sql", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-network-resets-bash-75", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_network_resets.rst", + "location": { + "type": "lines", + "start": 75, + "end": 75 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-network-resets-bash-81", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_network_resets.rst", + "location": { + "type": "lines", + "start": 81, + "end": 83 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-network-resets-bash-90", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_network_resets.rst", + "location": { + "type": "lines", + "start": 90, + "end": 92 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-bash-482", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 482, + "end": 501 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-bash-507", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 507, + "end": 532 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-bash-538", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 538, + "end": 558 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-bash-564", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 564, + "end": 585 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-bash-683", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 683, + "end": 684 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-171", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 171, + "end": 178 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-193", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 193, + "end": 193 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-204", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 204, + "end": 206 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-parsed-literal-222", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 222, + "end": 224 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-sql-344", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 344, + "end": 344 + }, + "description": "", + "options": { + "language": "sql", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-sql-359", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 359, + "end": 365 + }, + "description": "", + "options": { + "language": "sql", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-296", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 296, + "end": 299 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-309", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 309, + "end": 314 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-821", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 821, + "end": 823 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-829", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 829, + "end": 831 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-838", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 838, + "end": 840 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-846", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 846, + "end": 848 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-865", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 865, + "end": 868 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-operations-yaml-889", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_operations.rst", + "location": { + "type": "lines", + "start": 889, + "end": 893 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-pruning-yaml-62", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_pruning.rst", + "location": { + "type": "lines", + "start": 62, + "end": 65 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-restore-bash-102", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_restore.rst", + "location": { + "type": "lines", + "start": 102, + "end": 102 + }, + "description": "", + "options": { + "language": "bash", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-restore-bash-57", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/sv_operator/sv_restore.rst", "location": { "type": "lines", - "start": 126, - "end": 129 + "start": 57, + "end": 64 }, "description": "", "options": { - "language": "", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-configuration-none-49", + "snippetName": "splice-rst-code-docs-src-sv-operator-sv-restore-bash-74", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/configuration.rst", + "sourceFilepath": "docs/src/sv_operator/sv_restore.rst", "location": { "type": "lines", - "start": 49, - "end": 52 + "start": 74, + "end": 81 }, "description": "", "options": { - "language": "", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-configuration-yaml-68", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-backups-bash-36", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/configuration.rst", + "sourceFilepath": "docs/src/validator_operator/validator_backups.rst", "location": { "type": "lines", - "start": 68, - "end": 71 + "start": 36, + "end": 36 }, "description": "", "options": { - "language": "yaml", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-console-access-bash-166", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-backups-bash-67", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/console_access.rst", + "sourceFilepath": "docs/src/validator_operator/validator_backups.rst", "location": { "type": "lines", - "start": 166, - "end": 167 + "start": 67, + "end": 69 }, "description": "", "options": { @@ -61,13 +1481,13 @@ } }, { - "snippetName": "splice-rst-code-docs-src-deployment-console-access-bash-174", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-167", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/console_access.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 174, - "end": 178 + "start": 167, + "end": 168 }, "description": "", "options": { @@ -76,148 +1496,148 @@ } }, { - "snippetName": "splice-rst-code-docs-src-deployment-observability-validator-health-yaml-22", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-175", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/observability/validator_health.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 22, - "end": 23 + "start": 175, + "end": 176 }, "description": "", "options": { - "language": "yaml", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-observability-validator-health-yaml-28", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-281", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/observability/validator_health.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 28, - "end": 29 + "start": 281, + "end": 282 }, "description": "", "options": { - "language": "yaml", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-traffic-json-94", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-306", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/traffic.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 94, - "end": 106 + "start": 306, + "end": 308 }, "description": "", "options": { - "language": "json", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-89", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-58", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 89, - "end": 90 + "start": 58, + "end": 67 }, "description": "", "options": { - "language": "text", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-109", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-105", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 109, - "end": 110 + "start": 105, + "end": 111 }, "description": "", "options": { - "language": "text", + "language": "yaml", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-123", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-152", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 123, - "end": 124 + "start": 152, + "end": 159 }, "description": "", "options": { - "language": "text", + "language": "yaml", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-135", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-347", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 135, - "end": 136 + "start": 347, + "end": 357 }, "description": "", "options": { - "language": "text", + "language": "yaml", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-161", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-96", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", "location": { "type": "lines", - "start": 161, - "end": 162 + "start": 96, + "end": 102 }, "description": "", "options": { - "language": "text", + "language": "yaml", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-deployment-troubleshooting-text-174", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-delegations-bash-201", "sourceRepo": "splice", - "sourceFilepath": "docs/src/deployment/troubleshooting.rst", + "sourceFilepath": "docs/src/validator_operator/validator_delegations.rst", "location": { "type": "lines", - "start": 174, - "end": 177 + "start": 201, + "end": 209 }, "description": "", "options": { - "language": "text", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-sv-operator-sv-major-upgrade-bash-148", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-delegations-bash-215", "sourceRepo": "splice", - "sourceFilepath": "docs/src/sv_operator/sv_major_upgrade.rst", + "sourceFilepath": "docs/src/validator_operator/validator_delegations.rst", "location": { "type": "lines", - "start": 148, - "end": 149 + "start": 215, + "end": 234 }, "description": "", "options": { @@ -226,28 +1646,28 @@ } }, { - "snippetName": "splice-rst-code-docs-src-sv-operator-sv-major-upgrade-sql-255", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-delegations-bash-251", "sourceRepo": "splice", - "sourceFilepath": "docs/src/sv_operator/sv_major_upgrade.rst", + "sourceFilepath": "docs/src/validator_operator/validator_delegations.rst", "location": { "type": "lines", - "start": 255, - "end": 259 + "start": 251, + "end": 269 }, "description": "", "options": { - "language": "sql", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-58", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-delegations-bash-276", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", + "sourceFilepath": "docs/src/validator_operator/validator_delegations.rst", "location": { "type": "lines", - "start": 58, - "end": 67 + "start": 276, + "end": 294 }, "description": "", "options": { @@ -256,118 +1676,163 @@ } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-96", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-delegations-bash-309", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", + "sourceFilepath": "docs/src/validator_operator/validator_delegations.rst", "location": { "type": "lines", - "start": 96, - "end": 102 + "start": 309, + "end": 324 }, "description": "", "options": { - "language": "yaml", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-yaml-105", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-240", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 105, - "end": 111 + "start": 240, + "end": 241 }, "description": "", "options": { - "language": "yaml", - "normalizeIndent": false + "language": "", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-compose-bash-262", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-248", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_compose.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 262, - "end": 264 + "start": 248, + "end": 249 }, "description": "", "options": { - "language": "bash", - "normalizeIndent": false + "language": "", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-65", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-260", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 65, - "end": 66 + "start": 260, + "end": 260 }, "description": "", "options": { - "language": "bash", - "normalizeIndent": false + "language": "", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-116", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-299", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 116, - "end": 119 + "start": 299, + "end": 300 }, "description": "", "options": { - "language": "bash", - "normalizeIndent": false + "language": "", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-310", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-314", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 310, - "end": 317 + "start": 314, + "end": 319 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-none-485", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", + "location": { + "type": "lines", + "start": 485, + "end": 491 + }, + "description": "", + "options": { + "language": "", + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-268", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", + "location": { + "type": "lines", + "start": 268, + "end": 268 }, "description": "", "options": { "language": "bash", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-322", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-parsed-literal-443", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", "location": { "type": "lines", - "start": 322, - "end": 329 + "start": 443, + "end": 444 }, "description": "", "options": { "language": "bash", - "normalizeIndent": false + "normalizeIndent": "baseline" + } + }, + { + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-disaster-recovery-yaml-185", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/validator_operator/validator_disaster_recovery.rst", + "location": { + "type": "lines", + "start": 185, + "end": 187 + }, + "description": "", + "options": { + "language": "yaml", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-451", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-65", "sourceRepo": "splice", "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", "location": { "type": "lines", - "start": 451, - "end": 459 + "start": 65, + "end": 65 }, "description": "", "options": { @@ -376,73 +1841,73 @@ } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-514", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-472", "sourceRepo": "splice", "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", "location": { "type": "lines", - "start": 514, - "end": 518 + "start": 472, + "end": 474 }, "description": "", "options": { "language": "bash", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-526", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-parsed-literal-657", "sourceRepo": "splice", "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", "location": { "type": "lines", - "start": 526, - "end": 528 + "start": 657, + "end": 657 }, "description": "", "options": { "language": "bash", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-535", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-127", "sourceRepo": "splice", "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", "location": { "type": "lines", - "start": 535, - "end": 547 + "start": 127, + "end": 130 }, "description": "", "options": { "language": "yaml", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-553", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-82", "sourceRepo": "splice", "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", "location": { "type": "lines", - "start": 553, - "end": 562 + "start": 82, + "end": 84 }, "description": "", "options": { "language": "yaml", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-567", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-major-upgrades-bash-182", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_major_upgrades.rst", "location": { "type": "lines", - "start": 567, - "end": 569 + "start": 182, + "end": 183 }, "description": "", "options": { @@ -451,28 +1916,28 @@ } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-576", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-major-upgrades-sql-237", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_major_upgrades.rst", "location": { "type": "lines", - "start": 576, - "end": 606 + "start": 237, + "end": 241 }, "description": "", "options": { - "language": "yaml", + "language": "sql", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-bash-611", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-107", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_onboarding.rst", "location": { "type": "lines", - "start": 611, - "end": 613 + "start": 107, + "end": 116 }, "description": "", "options": { @@ -481,63 +1946,63 @@ } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-771", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-onboarding-bash-136", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_onboarding.rst", "location": { "type": "lines", - "start": 771, - "end": 780 + "start": 136, + "end": 165 }, "description": "", "options": { - "language": "yaml", + "language": "bash", "normalizeIndent": false } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-helm-yaml-797", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-126", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_helm.rst", + "sourceFilepath": "docs/src/validator_operator/validator_onboarding.rst", "location": { "type": "lines", - "start": 797, - "end": 805 + "start": 126, + "end": 130 }, "description": "", "options": { - "language": "yaml", - "normalizeIndent": false + "language": "bash", + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-major-upgrades-bash-182", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-86", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_major_upgrades.rst", + "sourceFilepath": "docs/src/validator_operator/validator_onboarding.rst", "location": { "type": "lines", - "start": 182, - "end": 183 + "start": 86, + "end": 86 }, "description": "", "options": { "language": "bash", - "normalizeIndent": false + "normalizeIndent": "baseline" } }, { - "snippetName": "splice-rst-code-docs-src-validator-operator-validator-major-upgrades-sql-237", + "snippetName": "splice-rst-code-docs-src-validator-operator-validator-onboarding-parsed-literal-95", "sourceRepo": "splice", - "sourceFilepath": "docs/src/validator_operator/validator_major_upgrades.rst", + "sourceFilepath": "docs/src/validator_operator/validator_onboarding.rst", "location": { "type": "lines", - "start": 237, - "end": 241 + "start": 95, + "end": 100 }, "description": "", "options": { - "language": "sql", - "normalizeIndent": false + "language": "bash", + "normalizeIndent": "baseline" } }, { @@ -569,6 +2034,86 @@ "language": "bash", "normalizeIndent": false } + }, + { + "snippetName": "splice-rst-full-docs-src-common-backup-suggestion", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/common/backup_suggestion.rst", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-full-docs-src-common-reloader-recommendation", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/common/reloader_recommendation.rst", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-full-docs-src-common-sv-extra-dars-notice", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/common/sv_extra_dars_notice.rst", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-full-docs-src-common-traffic-topups", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/common/traffic_topups.rst", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-full-docs-src-common-wallet-sweeps", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/common/wallet_sweeps.rst", + "location": { + "type": "fullFile" + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } + }, + { + "snippetName": "splice-rst-partial-docs-src-validator-operator-required-network-parameters-9", + "sourceRepo": "splice", + "sourceFilepath": "docs/src/validator_operator/required_network_parameters.rst", + "location": { + "type": "lines", + "start": 9, + "end": 35 + }, + "description": "", + "options": { + "transform": "rstinclude", + "normalizeIndent": false + } } ] } diff --git a/scripts/helpers/generateOutputDocs.js b/scripts/helpers/generateOutputDocs.js index 742e543b..8690e5ee 100644 --- a/scripts/helpers/generateOutputDocs.js +++ b/scripts/helpers/generateOutputDocs.js @@ -8,9 +8,10 @@ const fs = require('fs') const path = require('path') +const { convertRstIncludeToMdx } = require('./rstIncludeToMdx') const REPO_ROOT = path.join(__dirname, '..', '..') -const EXPORT_CONFIG_PATH = path.join(REPO_ROOT, 'docs/config/exportConfig.json') +const EXPORT_CONFIG_PATH = path.join(__dirname, 'exportConfig.json') const OUTPUT_FOLDER_PATH = path.join(REPO_ROOT, 'docs-output') function readFileContent(filePath) { @@ -52,13 +53,25 @@ function extractByStringMarker(fileContent, startMarker, endMarker) { throw new Error(`Start marker not found: "${startMarker}"`) } - const contentStart = startIndex + startMarker.length + // Match Sphinx literalinclude :start-after: / :end-before: — exclude marker lines. + let contentStart = fileContent.indexOf('\n', startIndex) + if (contentStart === -1) { + contentStart = startIndex + startMarker.length + } else { + contentStart += 1 + } + const endIndex = fileContent.indexOf(endMarker, contentStart) if (endIndex === -1) { throw new Error(`End marker not found: "${endMarker}"`) } - return fileContent.substring(contentStart, endIndex).trim() + let contentEnd = fileContent.lastIndexOf('\n', endIndex) + if (contentEnd < contentStart) { + contentEnd = endIndex + } + + return fileContent.substring(contentStart, contentEnd).trim() } function extractByRegexWrap(fileContent, startRegex, endRegex) { @@ -159,25 +172,133 @@ function normalizeIndent(content) { } } - if (minIndent === null || minIndent === 0) { - return lines - .map((line) => - line.trim() === '' ? '' : ` ${line.replace(/^\s*/, '')}` - ) - .join('\n') - } - + // Strip the common leading whitespace from every non-blank line and then + // re-indent the whole block by two spaces. Using `line.slice(strip)` + // (instead of stripping ALL leading whitespace) preserves the relative + // indentation between lines — including the case where minIndent is 0, + // which would otherwise flatten any source that contains a top-level + // line at column 0 (e.g. HOCON config files where a `}` closes at the + // start of the line). + const strip = minIndent ?? 0 return lines .map((line) => { if (line.trim() === '') return '' - return ` ${line.slice(minIndent)}` + return ` ${line.slice(strip)}` }) .join('\n') } -function formatSnippetContent(content, options) { +/** Strip common leading indent only; first line starts at column 0 (HOCON/config in RST). */ +function baselineIndent(content) { + const lines = content.split('\n') + let minIndent = null + for (const line of lines) { + if (line.trim() === '') continue + const indent = (line.match(/^(\s*)/) || ['', ''])[1].length + if (minIndent === null || indent < minIndent) minIndent = indent + } + const strip = minIndent ?? 0 + return lines + .map((line) => (line.trim() === '' ? '' : line.slice(strip))) + .join('\n') +} + +function applyIndentOption(content, normalizeIndentOption) { + if (normalizeIndentOption === false) return content + if (normalizeIndentOption === 'baseline') return baselineIndent(content) + return normalizeIndent(content) +} + +function trimBlankEdges(content) { + return content.replace(/^\s*\n+/, '').replace(/\n+\s*$/, '') +} + +function convertRstBlocksToMarkdown(content, fallbackLanguage = '') { + const input = trimBlankEdges(content) + const lines = input.split('\n') + const out = [] + let i = 0 + + while (i < lines.length) { + const m = lines[i].match(/^\s*\.\.\s+code-block::\s*(\S*)\s*$/) + if (!m) { + i++ + continue + } + + let language = (m[1] || '').trim() + if (!language || language.toLowerCase() === 'none') { + language = fallbackLanguage || '' + } + + i++ + while (i < lines.length && lines[i].trim() === '') i++ + + const block = [] + while (i < lines.length) { + const line = lines[i] + if (line.trim() === '') { + block.push('') + i++ + continue + } + + if (/^( {4}|\t)/.test(line)) { + block.push(line.replace(/^( {4}|\t)/, '')) + i++ + continue + } + break + } + + while (block.length > 0 && block[block.length - 1] === '') { + block.pop() + } + + if (language) { + out.push(`\`\`\`${language}`) + } else { + out.push('```') + } + out.push(block.join('\n')) + out.push('```') + out.push('') + } + + if (out.length === 0) { + // Safety fallback: strip any leftover RST directives and keep only content. + const cleaned = input + .split('\n') + .filter((line) => !/^\s*\.\.\s+code-block::/.test(line)) + .join('\n') + const trimmed = trimBlankEdges(cleaned) + const language = fallbackLanguage || '' + if (language) { + return `\`\`\`${language}\n${trimmed}\n\`\`\`` + } + return `\`\`\`\n${trimmed}\n\`\`\`` + } + + while (out.length > 0 && out[out.length - 1] === '') out.pop() + return out.join('\n') +} + +function formatSnippetContent(content, options, globalOptions = {}) { + let body = content + if (options && options.unescapeRstQuotes) { + body = body.replace(/\\'/g, "'") + } + if (options && options.transform === 'rstinclude') { + return convertRstIncludeToMdx(body, { + refTargets: { + ...(globalOptions.rstIncludeRefTargets || {}), + ...(options.refTargets || {}), + }, + }) + } if (options && options.transform === 'rstjson') { - return content + const language = options && options.language ? options.language : '' + return convertRstBlocksToMarkdown(body, language) } const displayStyle = (options && options.displayStyle) || 'wrapCode' const rawLanguage = options && options.language ? options.language : '' @@ -187,9 +308,9 @@ function formatSnippetContent(content, options) { switch (displayStyle) { case 'wrapCode': if (language) { - return `\`\`\`${language}\n${content}\n\`\`\`` + return `\`\`\`${language}\n${body}\n\`\`\`` } else { - return `\`\`\`\n${content}\n\`\`\`` + return `\`\`\`\n${body}\n\`\`\`` } default: @@ -207,9 +328,11 @@ function getSourceFilePath(snippet) { } } -function processSnippet(snippet) { +function processSnippet(snippet, verbose, globalOptions = {}) { try { - console.log(`Processing snippet: ${snippet.snippetName}`) + if (verbose) { + console.log(`Processing snippet: ${snippet.snippetName}`) + } if (!snippet.snippetName) { throw new Error('Snippet missing required field: snippetName') @@ -229,14 +352,22 @@ function processSnippet(snippet) { fileContent, snippet.location ) - const normalizedContent = - snippet.options && snippet.options.transform === 'rstjson' - ? extractedContent - : normalizeIndent(extractedContent) + const skipTransform = + snippet.options && + (snippet.options.transform === 'rstjson' || + snippet.options.transform === 'rstinclude') + const indentOpt = snippet.options?.normalizeIndent + const normalizedContent = skipTransform + ? extractedContent + : applyIndentOption( + extractedContent, + indentOpt === undefined ? true : indentOpt + ) const formattedContent = formatSnippetContent( normalizedContent, - snippet.options || {} + snippet.options || {}, + globalOptions ) const outputFileName = `${snippet.snippetName}.mdx` @@ -247,7 +378,9 @@ function processSnippet(snippet) { fs.writeFileSync(outputPath, formattedContent, 'utf8') - console.log(`✓ Successfully extracted snippet to: ${outputPath}`) + if (verbose) { + console.log(`✓ Successfully extracted snippet to: ${outputPath}`) + } } catch (error) { console.error( `✗ Error processing snippet "${snippet.snippetName}": ${error.message}` @@ -262,6 +395,7 @@ function processSnippet(snippet) { */ function main() { try { + const verbose = process.argv.includes('--verbose') const configContent = readFileContent(EXPORT_CONFIG_PATH) const config = JSON.parse(configContent) @@ -274,9 +408,13 @@ function main() { let successCount = 0 let errorCount = 0 + const globalOptions = { + rstIncludeRefTargets: config.rstIncludeRefTargets || {}, + } + for (const snippet of config.snippets) { try { - processSnippet(snippet) + processSnippet(snippet, verbose, globalOptions) successCount++ } catch (error) { errorCount++