Skip to content

Instantly share code, notes, and snippets.

@0xBigBoss
Last active February 16, 2026 03:34
Show Gist options
  • Select an option

  • Save 0xBigBoss/f70ae9478be80aacbee41a1b9b97c854 to your computer and use it in GitHub Desktop.

Select an option

Save 0xBigBoss/f70ae9478be80aacbee41a1b9b97c854 to your computer and use it in GitHub Desktop.
Experiment: Generate Pydantic v2 models from DAML/DAR files via dpm damlc inspect
#!/usr/bin/env python3
"""Parse `dpm damlc inspect` output and generate Pydantic v2 models."""
from __future__ import annotations
import re
import subprocess
import sys
from dataclasses import dataclass, field
from pathlib import Path
# ---------------------------------------------------------------------------
# AST types
# ---------------------------------------------------------------------------
@dataclass
class RecordField:
name: str
type_str: str
@dataclass
class RecordDef:
module: str
name: str
fields: list[RecordField]
@dataclass
class VariantCtor:
name: str
type_str: str # may be empty for unit constructors
@dataclass
class VariantDef:
module: str
name: str
constructors: list[VariantCtor]
@dataclass
class EnumDef:
module: str
name: str
constructors: list[str]
@dataclass
class ChoiceDef:
name: str
consuming: bool
arg_type: str
ret_type: str
@dataclass
class TemplateDef:
module: str
name: str
choices: list[ChoiceDef]
# ---------------------------------------------------------------------------
# Parser
# ---------------------------------------------------------------------------
# Matches: record @serializable Name =
RE_RECORD = re.compile(r"^record @serializable (\S+)\s*=\s*$")
# Matches single-line: record @serializable Name = {field1 : Type1; ...}
RE_RECORD_INLINE = re.compile(r"^record @serializable (\S+)\s*=\s*(\{.*\})\s*$")
# Matches: variant @serializable Name =
RE_VARIANT = re.compile(r"^variant @serializable (\S+)\s*=\s*$")
# Matches: enum @serializable Name =
RE_ENUM = re.compile(r"^enum @serializable (\S+)\s*=\s*$")
# Matches: template Name this where
RE_TEMPLATE = re.compile(r"^template (\S+) \S+ where\s*$")
# Matches: module Name where
RE_MODULE = re.compile(r"^module (\S+) where\s*$")
# Matches choice lines: (non-)?consuming choice Name (self : ...) (arg : ArgType) : RetType
RE_CHOICE = re.compile(
r"^\s+(consuming|non-consuming) choice (\S+)"
r" \(self : [^)]+\)"
r" \(arg : ([^)]+)\)"
r" : (.+)$"
)
def parse_fields_block(text: str) -> list[RecordField]:
"""Parse a {field1 : Type1; field2 : Type2} block into RecordFields."""
# Strip outer braces
text = text.strip()
if text.startswith("{"):
text = text[1:]
if text.endswith("}"):
text = text[:-1]
text = text.strip()
if not text:
return []
fields = []
# Split on ';' but handle nested types with parens/brackets
parts = split_fields(text)
for part in parts:
part = part.strip()
if not part:
continue
# field_name : Type
m = re.match(r"(\w+)\s*:\s*(.+)", part, re.DOTALL)
if m:
fname = m.group(1).strip()
ftype = normalize_type(m.group(2).strip())
fields.append(RecordField(fname, ftype))
return fields
def split_fields(text: str) -> list[str]:
"""Split field text on semicolons, respecting nested parens."""
parts = []
depth = 0
current: list[str] = []
for ch in text:
if ch in ("(", "[", "{"):
depth += 1
current.append(ch)
elif ch in (")", "]", "}"):
depth -= 1
current.append(ch)
elif ch == ";" and depth == 0:
parts.append("".join(current))
current = []
else:
current.append(ch)
if current:
parts.append("".join(current))
return parts
def normalize_type(t: str) -> str:
"""Clean up a DAML-LF type string for display."""
# Collapse whitespace
t = re.sub(r"\s+", " ", t).strip()
# Strip package hashes (64-char hex followed by colon)
t = re.sub(r"[0-9a-f]{64}:", "", t)
# Strip unbalanced/wrapping parens left over after hash removal
t = strip_balanced_parens(t)
return t
def strip_balanced_parens(t: str) -> str:
"""Remove outermost wrapping parens if they are balanced."""
t = t.strip()
while t.startswith("(") and t.endswith(")"):
# Check that the outer parens are actually a matching pair
depth = 0
matched = True
for i, ch in enumerate(t):
if ch == "(":
depth += 1
elif ch == ")":
depth -= 1
if depth == 0 and i < len(t) - 1:
matched = False
break
if matched:
t = t[1:-1].strip()
else:
break
return t
def collect_block(lines: list[str], start: int) -> tuple[str, int]:
"""Starting from a line with '{', collect until matching '}'."""
depth = 0
collected: list[str] = []
i = start
while i < len(lines):
line = lines[i]
depth += line.count("{") - line.count("}")
collected.append(line)
if depth <= 0:
break
i += 1
return "\n".join(collected), i
def parse_inspect(text: str) -> tuple[list[RecordDef], list[VariantDef], list[EnumDef], list[TemplateDef]]:
"""Parse full `dpm damlc inspect` output."""
lines = text.splitlines()
records: list[RecordDef] = []
variants: list[VariantDef] = []
enums: list[EnumDef] = []
templates: list[TemplateDef] = []
current_module = ""
i = 0
while i < len(lines):
line = lines[i]
# Module
m = RE_MODULE.match(line)
if m:
current_module = m.group(1)
i += 1
continue
# Record (inline, single line with braces)
m = RE_RECORD_INLINE.match(line)
if m:
name = m.group(1)
fields_text = m.group(2)
fields = parse_fields_block(fields_text)
records.append(RecordDef(current_module, name, fields))
i += 1
continue
# Record (multi-line)
m = RE_RECORD.match(line)
if m:
name = m.group(1)
# Next line should start with '{'
if i + 1 < len(lines) and "{" in lines[i + 1]:
block, end_i = collect_block(lines, i + 1)
fields = parse_fields_block(block)
records.append(RecordDef(current_module, name, fields))
i = end_i + 1
else:
# Empty record
records.append(RecordDef(current_module, name, []))
i += 1
continue
# Variant
m = RE_VARIANT.match(line)
if m:
name = m.group(1)
ctors: list[VariantCtor] = []
i += 1
while i < len(lines) and lines[i].strip().startswith("|"):
ctor_line = lines[i].strip()
# | CtorName Type
cm = re.match(r"\|\s+(\S+)\s*(.*)", ctor_line)
if cm:
cname = cm.group(1)
ctype = normalize_type(cm.group(2)) if cm.group(2).strip() else ""
ctors.append(VariantCtor(cname, ctype))
i += 1
variants.append(VariantDef(current_module, name, ctors))
continue
# Enum
m = RE_ENUM.match(line)
if m:
name = m.group(1)
ctor_names: list[str] = []
i += 1
while i < len(lines) and lines[i].strip().startswith("|"):
ctor_line = lines[i].strip()
cm = re.match(r"\|\s+(\S+)", ctor_line)
if cm:
ctor_names.append(cm.group(1))
i += 1
enums.append(EnumDef(current_module, name, ctor_names))
continue
# Template
m = RE_TEMPLATE.match(line)
if m:
tname = m.group(1)
choices: list[ChoiceDef] = []
i += 1
# Scan for choice lines within the template block
while i < len(lines):
tline = lines[i]
# Template block ends at next top-level definition
if tline and not tline[0].isspace() and not tline.startswith(" "):
break
cm = RE_CHOICE.match(tline)
if cm:
consuming = cm.group(1) == "consuming"
cname = cm.group(2)
arg_type = normalize_type(cm.group(3))
ret_type = normalize_type(cm.group(4))
choices.append(ChoiceDef(cname, consuming, arg_type, ret_type))
i += 1
templates.append(TemplateDef(current_module, tname, choices))
continue
i += 1
return records, variants, enums, templates
# ---------------------------------------------------------------------------
# Pydantic code generator
# ---------------------------------------------------------------------------
DAML_TO_PYTHON = {
"Party": "str",
"Text": "str",
"Int64": "int",
"Int": "int",
"Bool": "bool",
"Decimal": "Decimal",
"Numeric": "Decimal",
"Timestamp": "datetime",
"Date": "date",
"Unit": "None",
"Any": "Any",
}
def daml_type_to_python(t: str) -> str:
"""Convert a normalized DAML-LF type string to a Python type hint."""
t = t.strip()
# Strip balanced outer parens
t = strip_balanced_parens(t)
# Primitives
if t in DAML_TO_PYTHON:
return DAML_TO_PYTHON[t]
# Numeric N -> Decimal (e.g., "Numeric 10")
if re.match(r"^Numeric\s+\d+$", t):
return "Decimal"
# ContractId X -> str (contract IDs are strings in the JSON API)
if t.startswith("ContractId "):
return "str"
# Optional X
if t.startswith("Optional "):
inner = t[len("Optional "):].strip()
# Strip wrapping parens
if inner.startswith("(") and inner.endswith(")"):
inner = inner[1:-1].strip()
return f"{daml_type_to_python(inner)} | None"
# List X
if t.startswith("List "):
inner = t[len("List "):].strip()
if inner.startswith("(") and inner.endswith(")"):
inner = inner[1:-1].strip()
return f"list[{daml_type_to_python(inner)}]"
# TextMap X (Map Text X)
if t.startswith("TextMap "):
inner = t[len("TextMap "):].strip()
if inner.startswith("(") and inner.endswith(")"):
inner = inner[1:-1].strip()
return f"dict[str, {daml_type_to_python(inner)}]"
# GenMap K V
if t.startswith("GenMap "):
# Simplified: treat as dict[Any, Any]
return "dict[str, Any]"
# DA.Types:Tuple2 A B -> tuple[A, B]
if "Tuple2" in t:
return "tuple[Any, Any]"
# Qualified type reference: Module.Name:TypeName -> TypeName
if ":" in t:
parts = t.split(":")
return sanitize_name(parts[-1].strip().split()[0])
# Simple name
return sanitize_name(t.split()[0])
def sanitize_name(name: str) -> str:
"""Make a name safe for Python identifiers."""
return name.replace(".", "_").replace("-", "_")
def generate_pydantic(
records: list[RecordDef],
variants: list[VariantDef],
enums: list[EnumDef],
templates: list[TemplateDef],
) -> str:
"""Generate Pydantic v2 model source code."""
out: list[str] = []
out.append('"""Auto-generated Pydantic models from DAML-LF inspect output."""')
out.append("")
out.append("from __future__ import annotations")
out.append("")
out.append("from datetime import date, datetime")
out.append("from decimal import Decimal")
out.append("from enum import Enum as PyEnum")
out.append("from typing import Annotated, Any, Literal, Union")
out.append("")
out.append("from pydantic import BaseModel, Field")
out.append("")
out.append("")
# Track which names are templates
template_names = {t.name for t in templates}
# Group by module
modules_seen: list[str] = []
module_records: dict[str, list[RecordDef]] = {}
module_variants: dict[str, list[VariantDef]] = {}
module_enums: dict[str, list[EnumDef]] = {}
module_templates: dict[str, list[TemplateDef]] = {}
for r in records:
module_records.setdefault(r.module, []).append(r)
if r.module not in modules_seen:
modules_seen.append(r.module)
for v in variants:
module_variants.setdefault(v.module, []).append(v)
if v.module not in modules_seen:
modules_seen.append(v.module)
for e in enums:
module_enums.setdefault(e.module, []).append(e)
if e.module not in modules_seen:
modules_seen.append(e.module)
for t in templates:
module_templates.setdefault(t.module, []).append(t)
if t.module not in modules_seen:
modules_seen.append(t.module)
for mod in modules_seen:
out.append(f"# {'=' * 60}")
out.append(f"# Module: {mod}")
out.append(f"# {'=' * 60}")
out.append("")
# Enums
for e in module_enums.get(mod, []):
class_name = sanitize_name(e.name)
out.append(f"class {class_name}(PyEnum):")
if not e.constructors:
out.append(" pass")
else:
for ctor in e.constructors:
out.append(f' {sanitize_name(ctor)} = "{ctor}"')
out.append("")
out.append("")
# Records
for r in module_records.get(mod, []):
class_name = sanitize_name(r.name)
is_template = r.name in template_names
doc_label = "Template" if is_template else "Record"
out.append(f"class {class_name}(BaseModel):")
out.append(f' """{doc_label}: {mod}:{r.name}"""')
if not r.fields:
out.append(" pass")
else:
for f in r.fields:
py_type = daml_type_to_python(f.type_str)
out.append(f" {f.name}: {py_type}")
out.append("")
out.append("")
# Variants -> discriminated unions
for v in module_variants.get(mod, []):
# Emit a class per constructor, then a Union alias
ctor_class_names: list[str] = []
for ctor in v.constructors:
cclass = sanitize_name(f"{v.name}_{ctor.name}")
ctor_class_names.append(cclass)
py_type = daml_type_to_python(ctor.type_str) if ctor.type_str else "None"
out.append(f"class {cclass}(BaseModel):")
out.append(f' """Variant constructor: {ctor.name}"""')
out.append(f' tag: Literal["{ctor.name}"] = "{ctor.name}"')
if ctor.type_str:
out.append(f" value: {py_type}")
out.append("")
out.append("")
alias = sanitize_name(v.name)
union_members = " | ".join(ctor_class_names)
out.append(
f'{alias} = Annotated[Union[{", ".join(ctor_class_names)}], '
f'Field(discriminator="tag")]'
)
out.append("")
out.append("")
# Template metadata (choices)
for t in module_templates.get(mod, []):
if t.choices:
out.append(f"# Choices for template {t.name}:")
for c in t.choices:
consuming_label = "consuming" if c.consuming else "non-consuming"
out.append(
f"# {c.name} ({consuming_label}): "
f"{c.arg_type} -> {c.ret_type}"
)
out.append("")
return "\n".join(out)
# ---------------------------------------------------------------------------
# CLI
# ---------------------------------------------------------------------------
def main() -> None:
if len(sys.argv) < 2:
print("Usage: daml_to_pydantic.py <path-to-dar-or-inspect-output>", file=sys.stderr)
print(" If path ends with .dar, runs `dpm damlc inspect` on it.", file=sys.stderr)
print(" Otherwise, treats it as pre-generated inspect text.", file=sys.stderr)
sys.exit(1)
path = Path(sys.argv[1])
if path.suffix == ".dar":
# Try dpm first, fall back to damlc directly
try:
result = subprocess.run(
["dpm", "damlc", "inspect", str(path)],
capture_output=True, text=True, timeout=60,
)
text = result.stdout
except (FileNotFoundError, subprocess.TimeoutExpired):
print("Error: could not run `dpm damlc inspect`", file=sys.stderr)
sys.exit(1)
else:
text = path.read_text()
records, variants, enums, templates = parse_inspect(text)
print(f"# Parsed: {len(records)} records, {len(variants)} variants, "
f"{len(enums)} enums, {len(templates)} templates", file=sys.stderr)
code = generate_pydantic(records, variants, enums, templates)
print(code)
if __name__ == "__main__":
main()

daml_to_pydantic: Generate Python models from DAML/DAR files

What

Parses dpm damlc inspect output and generates Pydantic v2 BaseModel classes for all serializable types in a DAR.

Why

DAML has official codegen for Java and TypeScript (dpm codegen-java, dpm codegen-js) but no Python codegen. This script fills that gap by text-parsing the DAML-LF pretty-printer output.

Alternatives considered

Approach Status Notes
daml-oas (Rust, DAR → OpenAPI) Dead — repo archived, last commit Apr 2022 Was DAML SDK 1.x only
dazl Python library (damlast module) Works for Canton 2.x Full structured AST, but Canton 2.x only, Daml Enterprise license
dpm codegen-js → TypeScript → Python Roundabout TS codegen is maintained but requires two-step pipeline
Protobuf parsing of .dalf files Most robust DAR is a ZIP of protobuf .dalf files; proto defs published per SDK release
dpm damlc inspect text parsing This script Works with any SDK version, no library deps, ~300 lines

Usage

# Direct from DAR (calls dpm damlc inspect internally)
python3 daml_to_pydantic.py path/to/model.dar > models.py

# From pre-generated inspect output
dpm damlc inspect path/to/model.dar > inspect.txt
python3 daml_to_pydantic.py inspect.txt > models.py

What it extracts

  • Records → Pydantic BaseModel with typed fields
  • Variants → Discriminated unions using Literal tags + Annotated[Union[...], Field(discriminator="tag")]
  • Enums → Python Enum classes
  • TemplatesBaseModel (same as record) + choice metadata as comments

Type mapping

DAML-LF Python
Party, Text str
Int64 int
Bool bool
Numeric N, Decimal Decimal
Timestamp datetime
Date date
ContractId X str
Optional X X | None
List X list[X]
TextMap X dict[str, X]
GenMap K V dict[str, Any]
User-defined types Referenced by class name

Test results

DAR Inspect lines Records Variants Enums Templates Output
splice-wallet-0.1.17 25,877 98 2 1 8 ~850 lines, syntax OK
splice-dso-governance-0.1.22 41,192 140 6 17 12 1,321 lines, syntax OK

Known limitations

  1. Single package onlydpm damlc inspect dumps the main package, not dependencies. Types from other packages are referenced by name but not defined. Run against each dependency DAR separately to get full coverage.
  2. Inspect format is undocumented — Not guaranteed stable across SDK versions, though the patterns have been consistent across 2.x and 3.x.
  3. GenMap simplification — Key/value types are hard to extract from the text format; falls back to dict[str, Any].
  4. Tuple typesDA.Types:Tuple2 A B maps to tuple[Any, Any] rather than preserving inner types.
  5. No import resolution — Forward references work via from __future__ import annotations, but cross-module types need manual imports or a multi-DAR generation pass.

Improvements

High impact

1. Cross-package type resolution. The biggest gap. Types like PaymentTransferContext, TransferResult, TransferInput appear as bare names with no definition. Fix: multi-DAR mode — accept all DARs in the dependency closure, parse each, deduplicate by qualified name, and emit into a package hierarchy (one Python module per DAML module). Use dpm inspect-dar --json to discover the dependency graph automatically.

2. Recursive type parser. The current type parser does string prefix matching (startswith("Optional ")) which breaks on nested types like Optional (List (ContractId Splice.Amulet:Amulet)). Need a proper recursive descent parser for the DAML-LF type grammar — it's small (7 constructors: prim, con, var, forall, struct, nat, syn) and would be ~50 lines.

3. Variant constructor payload deduplication. When a variant's constructor has an associated record (e.g., AmuletOperation.CO_BuyMemberTraffic), the parser emits both a standalone record class AND a variant wrapper that points to itself. Should detect the VariantName.ConstructorName record pattern and use the record as the value type instead.

Medium impact

4. Switch to protobuf parsing. DAR files are ZIPs containing .dalf protobuf files. The proto schema is published in every SDK release (protobufs-{VERSION}.zip). Parsing protobuf with protoc-generated Python stubs would eliminate all text-format fragility for ~100 lines more code. This is the right long-term path.

5. Name collisions across modules. If two DAML modules both define a type with the same short name (e.g., Archive), they collide in a single flat file. Should either namespace with module prefixes or emit one Python file per DAML module.

6. Topological sort for class ordering. Classes are emitted in source order. from __future__ import annotations makes this work for type hints, but Pydantic's model_rebuild() needs proper dependency ordering for runtime validation. Could do a simple toposort on the type reference graph.

7. GenMap and Tuple types lose information. GenMap Round (ContractId IssuingMiningRound) should be dict[Round, str], not dict[str, Any]. Tuple2 TransferResult TrackingInfo should be tuple[TransferResult, TrackingInfo]. Both need the recursive type parser from improvement 2.

Nice-to-haves

8. Template choices as first-class objects. Currently emitted as comments. Could generate a TemplateChoices class per template with methods that encode the arg/return type relationship — useful for building a typed Ledger API client.

9. OpenAPI schema as alternative output. The same parsed AST could emit OpenAPI 3.1 YAML with $ref schemas for records and oneOf/discriminator for variants.

Recommended order

Start with 2 (recursive type parser) then 1 (multi-DAR mode) — those fix the most real-world pain. Everything else flows from having solid type parsing and full package coverage.

# Parsed: 140 records, 6 variants, 17 enums, 12 templates
"""Auto-generated Pydantic models from DAML-LF inspect output."""
from __future__ import annotations
from datetime import date, datetime
from decimal import Decimal
from enum import Enum as PyEnum
from typing import Annotated, Any, Literal, Union
from pydantic import BaseModel, Field
# ============================================================
# Module: Splice.CometBft
# ============================================================
class CometBftConfigLimits(BaseModel):
"""Record: Splice.CometBft:CometBftConfigLimits"""
maxNumCometBftNodes: int
maxNumGovernanceKeys: int
maxNumSequencingKeys: int
maxNodeIdLength: int
maxPubKeyLength: int
class CometBftConfig(BaseModel):
"""Record: Splice.CometBft:CometBftConfig"""
nodes: dict[str, Any]
governanceKeys: list[GovernanceKeyConfig]
sequencingKeys: list[SequencingKeyConfig]
class SequencingKeyConfig(BaseModel):
"""Record: Splice.CometBft:SequencingKeyConfig"""
pubKey: str
class GovernanceKeyConfig(BaseModel):
"""Record: Splice.CometBft:GovernanceKeyConfig"""
pubKey: str
class CometBftNodeConfig(BaseModel):
"""Record: Splice.CometBft:CometBftNodeConfig"""
validatorPubKey: str
votingPower: int
# ============================================================
# Module: Splice.DSO.DecentralizedSynchronizer
# ============================================================
class SynchronizerState(PyEnum):
DS_Bootstrapping = "DS_Bootstrapping"
DS_Operational = "DS_Operational"
DS_Decomissioned = "DS_Decomissioned"
ExtSynchronizerState = "ExtSynchronizerState"
class SynchronizerNodeConfigLimits(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerNodeConfigLimits"""
cometBft: CometBftConfigLimits
class SynchronizerNodeConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerNodeConfig"""
cometBft: CometBftConfig
sequencer: SequencerConfig | None
mediator: MediatorConfig | None
scan: ScanConfig | None
legacySequencerConfig: LegacySequencerConfig | None
class ScanConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:ScanConfig"""
publicUrl: str
class MediatorConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:MediatorConfig"""
mediatorId: str
class LegacySequencerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:LegacySequencerConfig"""
migrationId: int
sequencerId: str
url: str
class SequencerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SequencerConfig"""
migrationId: int
sequencerId: str
url: str
availableAfter: datetime | None
class SynchronizerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerConfig"""
state: SynchronizerState
cometBftGenesisJson: str
acsCommitmentReconciliationInterval: int | None
class DsoDecentralizedSynchronizerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:DsoDecentralizedSynchronizerConfig"""
synchronizers: dict[str, Any]
lastSynchronizerId: str
activeSynchronizerId: str
# ============================================================
# Module: Splice.DsoRules
# ============================================================
class DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult(PyEnum):
DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult = "DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult"
class DsoRules_ExpireTransferPreapprovalResult(PyEnum):
DsoRules_ExpireTransferPreapprovalResult = "DsoRules_ExpireTransferPreapprovalResult"
class DsoRules_TerminateSubscriptionResult(PyEnum):
DsoRules_TerminateSubscriptionResult = "DsoRules_TerminateSubscriptionResult"
class DsoRules_ExpireSubscriptionResult(PyEnum):
DsoRules_ExpireSubscriptionResult = "DsoRules_ExpireSubscriptionResult"
class DsoRules_ExpireAnsEntryResult(PyEnum):
DsoRules_ExpireAnsEntryResult = "DsoRules_ExpireAnsEntryResult"
class DsoRules_ArchiveSvOnboardingRequestResult(PyEnum):
DsoRules_ArchiveSvOnboardingRequestResult = "DsoRules_ArchiveSvOnboardingRequestResult"
class DsoRules_ExpireSvOnboardingRequestResult(PyEnum):
DsoRules_ExpireSvOnboardingRequestResult = "DsoRules_ExpireSvOnboardingRequestResult"
class DsoRules_RevokeFeaturedAppRightResult(PyEnum):
DsoRules_RevokeFeaturedAppRightResult = "DsoRules_RevokeFeaturedAppRightResult"
class DsoRules_GarbageCollectAmuletPriceVotesResult(PyEnum):
DsoRules_GarbageCollectAmuletPriceVotesResult = "DsoRules_GarbageCollectAmuletPriceVotesResult"
class DsoRules_ExpireStaleConfirmationResult(PyEnum):
DsoRules_ExpireStaleConfirmationResult = "DsoRules_ExpireStaleConfirmationResult"
class DsoRules_ExecuteConfirmedActionResult(PyEnum):
DsoRules_ExecuteConfirmedActionResult = "DsoRules_ExecuteConfirmedActionResult"
class DsoRules_ArchiveOutdatedElectionRequestResult(PyEnum):
DsoRules_ArchiveOutdatedElectionRequestResult = "DsoRules_ArchiveOutdatedElectionRequestResult"
class Confirmation_ExpireResult(PyEnum):
Confirmation_ExpireResult = "Confirmation_ExpireResult"
class UnallocatedUnclaimedActivityRecord(BaseModel):
"""Template: Splice.DsoRules:UnallocatedUnclaimedActivityRecord"""
dso: str
beneficiary: str
amount: Decimal
reason: str
expiresAt: datetime
class DsoRules_ExpireUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecord"""
unclaimedActivityRecordCid: str
sv: str
class DsoRules_ExpireUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecord"""
unallocatedUnclaimedActivityRecordCid: str
sv: str
class DsoRules_AllocateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecord"""
unallocatedUnclaimedActivityRecordCid: str
amuletRulesCid: str
unclaimedRewardsToBurnCids: list[str]
sv: str
class DsoRules_CreateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecord"""
beneficiary: str
amount: Decimal
reason: str
expiresAt: datetime
class DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers"""
amuletRulesCid: str
argument: AmuletRules_ConvertFeaturedAppActivityMarkers
sv: str | None
class DsoRules_ExpireTransferPreapproval(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireTransferPreapproval"""
transferPreapprovalCid: str
sv: str | None
class DsoRules_CreateTransferCommandCounter(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateTransferCommandCounter"""
sender: str
class DsoRules_CreateExternalPartyAmuletRules(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRules"""
pass
class DsoRules_PruneAmuletConfigSchedule(BaseModel):
"""Record: Splice.DsoRules:DsoRules_PruneAmuletConfigSchedule"""
amuletRulesCid: str
sv: str | None
class DsoRules_MergeSvRewardState(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeSvRewardState"""
svName: str
rewardStateCids: list[str]
sv: str | None
class DsoRules_MergeMemberTrafficContracts(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeMemberTrafficContracts"""
amuletRulesCid: str
trafficCids: list[str]
sv: str | None
class DsoRules_ExpireStaleConfirmation(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireStaleConfirmation"""
staleConfirmationCid: str
sv: str | None
class DsoRules_MiningRound_Close(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MiningRound_Close"""
amuletRulesCid: str
issuingRoundCid: str
sv: str | None
class DsoRules_ExpireDevelopmentFundCoupon(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireDevelopmentFundCoupon"""
developmentFundCouponCid: str
sv: str
class DsoRules_MergeUnclaimedDevelopmentFundCoupons(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCoupons"""
amuletRulesCid: str
choiceArg: AmuletRules_MergeUnclaimedDevelopmentFundCoupons
sv: str
class DsoRules_MergeUnclaimedRewards(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedRewards"""
amuletRulesCid: str
unclaimedRewardCids: list[str]
sv: str | None
class DsoRules_ClaimExpiredRewards(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ClaimExpiredRewards"""
amuletRulesCid: str
choiceArg: AmuletRules_ClaimExpiredRewards
sv: str | None
class DsoRules_ReceiveSvRewardCoupon(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ReceiveSvRewardCoupon"""
sv: str
openRoundCid: str
rewardStateCid: str
beneficiaries: list[tuple[Any, Any]]
class DsoRules_TerminateSubscription(BaseModel):
"""Record: Splice.DsoRules:DsoRules_TerminateSubscription"""
ansEntryContextCid: str
terminatedSubscriptionCid: str
sv: str | None
class DsoRules_ExpireSubscription(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSubscription"""
ansEntryContextCid: str
subscriptionIdleStateCid: str
choiceArg: SubscriptionIdleState_ExpireSubscription
sv: str | None
class DsoRules_ExpireAnsEntry(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireAnsEntry"""
ansEntryCid: str
choiceArg: AnsEntry_Expire
sv: str | None
class DsoRules_CollectEntryRenewalPayment(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CollectEntryRenewalPayment"""
ansEntryContextCid: str
choiceArg: AnsEntryContext_CollectEntryRenewalPayment
sv: str | None
class DsoRules_AdvanceOpenMiningRounds(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AdvanceOpenMiningRounds"""
amuletRulesCid: str
roundToArchiveCid: str
middleRoundCid: str
latestRoundCid: str
amuletPriceVoteCids: list[str]
sv: str | None
class DsoRules_LockedAmulet_ExpireAmulet(BaseModel):
"""Record: Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmulet"""
cid: str
choiceArg: LockedAmulet_ExpireAmulet
sv: str | None
class DsoRules_Amulet_Expire(BaseModel):
"""Record: Splice.DsoRules:DsoRules_Amulet_Expire"""
cid: str
choiceArg: Amulet_Expire
sv: str | None
class DsoRules_ExpireSvOnboardingConfirmed(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmed"""
cid: str
sv: str | None
class DsoRules_ConfirmSvOnboarding(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmSvOnboarding"""
newSvParty: str
newSvName: str
newParticipantId: str
newSvRewardWeight: int
reason: str
class DsoRules_ArchiveSvOnboardingRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequest"""
svOnboardingRequestCid: str
sv: str | None
class DsoRules_ExpireSvOnboardingRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingRequest"""
cid: str
sv: str | None
class DsoRules_StartSvOnboarding(BaseModel):
"""Record: Splice.DsoRules:DsoRules_StartSvOnboarding"""
candidateName: str
candidateParty: str
candidateParticipantId: str
token: str
sponsor: str
class DsoRules_MergeValidatorLicense(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeValidatorLicense"""
validatorLicenseCids: list[str]
sv: str | None
class DsoRules_OnboardValidator(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OnboardValidator"""
sponsor: str
validator: str
version: str | None
contactPoint: str | None
class DsoRules_RevokeFeaturedAppRight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RevokeFeaturedAppRight"""
rightCid: str
class DsoRules_GrantFeaturedAppRight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GrantFeaturedAppRight"""
provider: str
class DsoRules_UpdateSvRewardWeight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateSvRewardWeight"""
svParty: str
newRewardWeight: int
class DsoRules_SetConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetConfig"""
newConfig: DsoRulesConfig
baseConfig: DsoRulesConfig | None
class DsoRules_GarbageCollectAmuletPriceVotes(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotes"""
nonSvVoteCids: list[str]
duplicateVoteCids: list[list[str]]
sv: str | None
class DsoRules_UpdateAmuletPriceVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateAmuletPriceVote"""
sv: str
voteCid: str
amuletPrice: Decimal
class DsoRules_CloseVoteRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CloseVoteRequest"""
requestCid: str
amuletRulesCid: str | None
sv: str | None
class DsoRules_CastVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CastVote"""
requestCid: str
vote: Vote
class DsoRules_RequestVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestVote"""
requester: str
action: ActionRequiringConfirmation
reason: Reason
voteRequestTimeout: RelTime | None
targetEffectiveAt: datetime | None
class DsoRules_ExecuteConfirmedAction(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExecuteConfirmedAction"""
action: ActionRequiringConfirmation
amuletRulesCid: str | None
confirmationCids: list[str]
sv: str | None
class DsoRules_ConfirmAction(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmAction"""
confirmer: str
action: ActionRequiringConfirmation
class DsoRules_ArchiveOutdatedElectionRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequest"""
requestCid: str
sv: str | None
class DsoRules_ElectDsoDelegate(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ElectDsoDelegate"""
actor: str
requestCids: list[str]
class DsoRules_RequestElection(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestElection"""
requester: str
reason: ElectionRequestReason
ranking: list[str]
class DsoRules_SetSynchronizerNodeConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetSynchronizerNodeConfig"""
sv: str
synchronizerId: str
newNodeConfig: SynchronizerNodeConfig
nodeStateCid: str
class DsoRules_AddConfirmedSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddConfirmedSv"""
sv: str
svOnboardingConfirmedCid: str
earliestRoundCid: str
middleRoundCid: str
latestRoundCid: str
amuletRulesCid: str
class DsoRules_SubmitStatusReport(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SubmitStatusReport"""
sv: str
previousReportCid: str
status: SvStatus
class DsoRules_OffboardSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OffboardSv"""
sv: str
class DsoRules_AddSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddSv"""
newSvParty: str
newSvName: str
newSvRewardWeight: int
newSvParticipantId: str
joinedAsOfRound: Round
class DsoRules(BaseModel):
"""Template: Splice.DsoRules:DsoRules"""
dso: str
epoch: int
svs: dict[str, Any]
offboardedSvs: dict[str, Any]
dsoDelegate: str
config: DsoRulesConfig
initialTrafficState: dict[str, Any]
isDevNet: bool
class TrafficState(BaseModel):
"""Record: Splice.DsoRules:TrafficState"""
consumedTraffic: int
class SynchronizerUpgradeSchedule(BaseModel):
"""Record: Splice.DsoRules:SynchronizerUpgradeSchedule"""
time: datetime
migrationId: int
class DsoRulesConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRulesConfig"""
numUnclaimedRewardsThreshold: int
numMemberTrafficContractsThreshold: int
actionConfirmationTimeout: RelTime
svOnboardingRequestTimeout: RelTime
svOnboardingConfirmedTimeout: RelTime
voteRequestTimeout: RelTime
dsoDelegateInactiveTimeout: RelTime
synchronizerNodeConfigLimits: SynchronizerNodeConfigLimits
maxTextLength: int
decentralizedSynchronizer: DsoDecentralizedSynchronizerConfig
nextScheduledSynchronizerUpgrade: SynchronizerUpgradeSchedule | None
voteCooldownTime: RelTime | None
class Reason(BaseModel):
"""Record: Splice.DsoRules:Reason"""
url: str
body: str
class Vote(BaseModel):
"""Record: Splice.DsoRules:Vote"""
sv: str
accept: bool
reason: Reason
optCastAt: datetime | None
class VoteRequestOutcome_VRO_AcceptedButActionFailed(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.VRO_AcceptedButActionFailed"""
description: str
class VoteRequestOutcome_VRO_Accepted(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.VRO_Accepted"""
effectiveAt: datetime
class VoteRequestOutcome_ExtVoteRequestOutcome(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.ExtVoteRequestOutcome"""
dummyUnitField: None
class DsoRules_CloseVoteRequestResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CloseVoteRequestResult"""
request: VoteRequest
completedAt: datetime
offboardedVoters: list[str]
abstainingSvs: list[str]
outcome: VoteRequestOutcome
class VoteRequest(BaseModel):
"""Template: Splice.DsoRules:VoteRequest"""
dso: str
requester: str
action: ActionRequiringConfirmation
reason: Reason
voteBefore: datetime
votes: dict[str, Any]
trackingCid: str | None
targetEffectiveAt: datetime | None
class Confirmation_Expire(BaseModel):
"""Record: Splice.DsoRules:Confirmation_Expire"""
pass
class Confirmation(BaseModel):
"""Template: Splice.DsoRules:Confirmation"""
dso: str
confirmer: str
action: ActionRequiringConfirmation
expiresAt: datetime
class ElectionRequest(BaseModel):
"""Template: Splice.DsoRules:ElectionRequest"""
dso: str
requester: str
epoch: int
reason: ElectionRequestReason
ranking: list[str]
class ElectionRequestReason_ExtElectionRequestReason(BaseModel):
"""Record: Splice.DsoRules:ElectionRequestReason.ExtElectionRequestReason"""
dummyUnitField: None
class DsoRules_ExpireUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecordResult"""
unclaimedRewardCid: str
class DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult"""
unclaimedActivityRecordCid: str
optUnclaimedRewardCid: str | None
class DsoRules_CreateUnallocatedUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecordResult"""
unallocatedUnclaimedActivityRecordCid: str
class DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult"""
result: AmuletRules_ConvertFeaturedAppActivityMarkersResult
class DsoRules_CreateTransferCommandCounterResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateTransferCommandCounterResult"""
transferCommandCounterCid: str
class DsoRules_CreateExternalPartyAmuletRulesResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRulesResult"""
externalPartyAmuletRulesCid: str
class DsoRules_PruneAmuletConfigScheduleResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_PruneAmuletConfigScheduleResult"""
amuletRulesCid: str
class DsoRules_MergeSvRewardStateResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeSvRewardStateResult"""
svRewardState: str
class DsoRules_MergeMemberTrafficContractsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeMemberTrafficContractsResult"""
memberTraffic: str
class DsoRules_MiningRound_CloseResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MiningRound_CloseResult"""
closedRound: str
class DsoRules_ExpireDevelopmentFundCouponResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireDevelopmentFundCouponResult"""
result: DevelopmentFundCoupon_DsoExpireResult
class DsoRules_MergeUnclaimedDevelopmentFundCouponsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCouponsResult"""
result: AmuletRules_MergeUnclaimedDevelopmentFundCouponsResult
class DsoRules_MergeUnclaimedRewardsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedRewardsResult"""
unclaimedReward: str
class DsoRules_ClaimExpiredRewardsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ClaimExpiredRewardsResult"""
unclaimedReward: str | None
class DsoRules_ReceiveSvRewardCouponResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ReceiveSvRewardCouponResult"""
svRewardState: str
svRewardCoupons: list[str]
class DsoRules_CollectEntryRenewalPaymentResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CollectEntryRenewalPaymentResult"""
ansEntry: str
subscriptionState: str
class DsoRules_AdvanceOpenMiningRoundsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AdvanceOpenMiningRoundsResult"""
summarizingRound: str
openRound: str
class DsoRules_LockedAmulet_ExpireAmuletResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmuletResult"""
expireSum: AmuletExpireSummary
class DsoRules_Amulet_ExpireResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_Amulet_ExpireResult"""
expireSum: AmuletExpireSummary
class DsoRules_ExpireSvOnboardingConfirmedResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmedResult"""
newDsoRules: str
class DsoRules_ConfirmSvOnboardingResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmSvOnboardingResult"""
onboardingConfirmed: str
class DsoRules_StartSvOnboardingResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_StartSvOnboardingResult"""
onboardingRequest: str
class DsoRules_MergeValidatorLicenseResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeValidatorLicenseResult"""
validatorLicense: str
class DsoRules_OnboardValidatorResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OnboardValidatorResult"""
validatorLicense: str
class DsoRules_GrantFeaturedAppRightResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GrantFeaturedAppRightResult"""
featuredAppRight: str
class DsoRules_UpdateSvRewardWeightResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateSvRewardWeightResult"""
newDsoRules: str
class DsoRules_SetConfigResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetConfigResult"""
newDsoRules: str
class DsoRules_UpdateAmuletPriceVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateAmuletPriceVoteResult"""
amuletPriceVote: str
class DsoRules_CastVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CastVoteResult"""
voteRequest: str
class DsoRules_RequestVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestVoteResult"""
voteRequest: str
class DsoRules_ConfirmActionResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmActionResult"""
confirmation: str
class DsoRules_ElectDsoDelegateResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ElectDsoDelegateResult"""
newDsoRules: str
class DsoRules_RequestElectionResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestElectionResult"""
electionRequestCid: str
class DsoRules_SetSynchronizerNodeConfigResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetSynchronizerNodeConfigResult"""
svNodeState: str
class DsoRules_AddConfirmedSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddConfirmedSvResult"""
newDsoRules: str
class DsoRules_SubmitStatusReportResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SubmitStatusReportResult"""
newReport: str
class DsoRules_OffboardSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OffboardSvResult"""
newDsoRules: str
class DsoRules_AddSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddSvResult"""
newDsoRules: str
class DsoSummary(BaseModel):
"""Record: Splice.DsoRules:DsoSummary"""
dsoDelegate: str
numSvs: int
requiredNumVotes: int
class OffboardedSvInfo(BaseModel):
"""Record: Splice.DsoRules:OffboardedSvInfo"""
name: str
participantId: str
class SvInfo(BaseModel):
"""Record: Splice.DsoRules:SvInfo"""
name: str
joinedAsOfRound: Round
svRewardWeight: int
participantId: str
class ActionRequiringConfirmation_ARC_DsoRules(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_DsoRules"""
dsoAction: DsoRules_ActionRequiringConfirmation
class ActionRequiringConfirmation_ARC_AmuletRules(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_AmuletRules"""
amuletRulesAction: AmuletRules_ActionRequiringConfirmation
class ActionRequiringConfirmation_ARC_AnsEntryContext(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_AnsEntryContext"""
ansEntryContextCid: str
ansEntryContextAction: AnsEntryContext_ActionRequiringConfirmation
class ActionRequiringConfirmation_ExtActionRequiringConformation(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ExtActionRequiringConformation"""
dummyUnitField: None
class VoteRequestOutcome_VRO_AcceptedButActionFailed(BaseModel):
"""Variant constructor: VRO_AcceptedButActionFailed"""
tag: Literal["VRO_AcceptedButActionFailed"] = "VRO_AcceptedButActionFailed"
value: VoteRequestOutcome_VRO_AcceptedButActionFailed
class VoteRequestOutcome_VRO_Accepted(BaseModel):
"""Variant constructor: VRO_Accepted"""
tag: Literal["VRO_Accepted"] = "VRO_Accepted"
value: VoteRequestOutcome_VRO_Accepted
class VoteRequestOutcome_VRO_Rejected(BaseModel):
"""Variant constructor: VRO_Rejected"""
tag: Literal["VRO_Rejected"] = "VRO_Rejected"
value: None
class VoteRequestOutcome_VRO_Expired(BaseModel):
"""Variant constructor: VRO_Expired"""
tag: Literal["VRO_Expired"] = "VRO_Expired"
value: None
class VoteRequestOutcome_ExtVoteRequestOutcome(BaseModel):
"""Variant constructor: ExtVoteRequestOutcome"""
tag: Literal["ExtVoteRequestOutcome"] = "ExtVoteRequestOutcome"
value: VoteRequestOutcome_ExtVoteRequestOutcome
VoteRequestOutcome = Annotated[Union[VoteRequestOutcome_VRO_AcceptedButActionFailed, VoteRequestOutcome_VRO_Accepted, VoteRequestOutcome_VRO_Rejected, VoteRequestOutcome_VRO_Expired, VoteRequestOutcome_ExtVoteRequestOutcome], Field(discriminator="tag")]
class ElectionRequestReason_ERR_DsoDelegateUnavailable(BaseModel):
"""Variant constructor: ERR_DsoDelegateUnavailable"""
tag: Literal["ERR_DsoDelegateUnavailable"] = "ERR_DsoDelegateUnavailable"
value: None
class ElectionRequestReason_ERR_OtherReason(BaseModel):
"""Variant constructor: ERR_OtherReason"""
tag: Literal["ERR_OtherReason"] = "ERR_OtherReason"
value: str
class ElectionRequestReason_ExtElectionRequestReason(BaseModel):
"""Variant constructor: ExtElectionRequestReason"""
tag: Literal["ExtElectionRequestReason"] = "ExtElectionRequestReason"
value: ElectionRequestReason_ExtElectionRequestReason
ElectionRequestReason = Annotated[Union[ElectionRequestReason_ERR_DsoDelegateUnavailable, ElectionRequestReason_ERR_OtherReason, ElectionRequestReason_ExtElectionRequestReason], Field(discriminator="tag")]
class AnsEntryContext_ActionRequiringConfirmation_ANSRARC_CollectInitialEntryPayment(BaseModel):
"""Variant constructor: ANSRARC_CollectInitialEntryPayment"""
tag: Literal["ANSRARC_CollectInitialEntryPayment"] = "ANSRARC_CollectInitialEntryPayment"
value: AnsEntryContext_CollectInitialEntryPayment
class AnsEntryContext_ActionRequiringConfirmation_ANSRARC_RejectEntryInitialPayment(BaseModel):
"""Variant constructor: ANSRARC_RejectEntryInitialPayment"""
tag: Literal["ANSRARC_RejectEntryInitialPayment"] = "ANSRARC_RejectEntryInitialPayment"
value: AnsEntryContext_RejectEntryInitialPayment
AnsEntryContext_ActionRequiringConfirmation = Annotated[Union[AnsEntryContext_ActionRequiringConfirmation_ANSRARC_CollectInitialEntryPayment, AnsEntryContext_ActionRequiringConfirmation_ANSRARC_RejectEntryInitialPayment], Field(discriminator="tag")]
class DsoRules_ActionRequiringConfirmation_SRARC_AddSv(BaseModel):
"""Variant constructor: SRARC_AddSv"""
tag: Literal["SRARC_AddSv"] = "SRARC_AddSv"
value: DsoRules_AddSv
class DsoRules_ActionRequiringConfirmation_SRARC_OffboardSv(BaseModel):
"""Variant constructor: SRARC_OffboardSv"""
tag: Literal["SRARC_OffboardSv"] = "SRARC_OffboardSv"
value: DsoRules_OffboardSv
class DsoRules_ActionRequiringConfirmation_SRARC_ConfirmSvOnboarding(BaseModel):
"""Variant constructor: SRARC_ConfirmSvOnboarding"""
tag: Literal["SRARC_ConfirmSvOnboarding"] = "SRARC_ConfirmSvOnboarding"
value: DsoRules_ConfirmSvOnboarding
class DsoRules_ActionRequiringConfirmation_SRARC_GrantFeaturedAppRight(BaseModel):
"""Variant constructor: SRARC_GrantFeaturedAppRight"""
tag: Literal["SRARC_GrantFeaturedAppRight"] = "SRARC_GrantFeaturedAppRight"
value: DsoRules_GrantFeaturedAppRight
class DsoRules_ActionRequiringConfirmation_SRARC_RevokeFeaturedAppRight(BaseModel):
"""Variant constructor: SRARC_RevokeFeaturedAppRight"""
tag: Literal["SRARC_RevokeFeaturedAppRight"] = "SRARC_RevokeFeaturedAppRight"
value: DsoRules_RevokeFeaturedAppRight
class DsoRules_ActionRequiringConfirmation_SRARC_SetConfig(BaseModel):
"""Variant constructor: SRARC_SetConfig"""
tag: Literal["SRARC_SetConfig"] = "SRARC_SetConfig"
value: DsoRules_SetConfig
class DsoRules_ActionRequiringConfirmation_SRARC_UpdateSvRewardWeight(BaseModel):
"""Variant constructor: SRARC_UpdateSvRewardWeight"""
tag: Literal["SRARC_UpdateSvRewardWeight"] = "SRARC_UpdateSvRewardWeight"
value: DsoRules_UpdateSvRewardWeight
class DsoRules_ActionRequiringConfirmation_SRARC_CreateExternalPartyAmuletRules(BaseModel):
"""Variant constructor: SRARC_CreateExternalPartyAmuletRules"""
tag: Literal["SRARC_CreateExternalPartyAmuletRules"] = "SRARC_CreateExternalPartyAmuletRules"
value: DsoRules_CreateExternalPartyAmuletRules
class DsoRules_ActionRequiringConfirmation_SRARC_CreateTransferCommandCounter(BaseModel):
"""Variant constructor: SRARC_CreateTransferCommandCounter"""
tag: Literal["SRARC_CreateTransferCommandCounter"] = "SRARC_CreateTransferCommandCounter"
value: DsoRules_CreateTransferCommandCounter
class DsoRules_ActionRequiringConfirmation_SRARC_CreateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Variant constructor: SRARC_CreateUnallocatedUnclaimedActivityRecord"""
tag: Literal["SRARC_CreateUnallocatedUnclaimedActivityRecord"] = "SRARC_CreateUnallocatedUnclaimedActivityRecord"
value: DsoRules_CreateUnallocatedUnclaimedActivityRecord
DsoRules_ActionRequiringConfirmation = Annotated[Union[DsoRules_ActionRequiringConfirmation_SRARC_AddSv, DsoRules_ActionRequiringConfirmation_SRARC_OffboardSv, DsoRules_ActionRequiringConfirmation_SRARC_ConfirmSvOnboarding, DsoRules_ActionRequiringConfirmation_SRARC_GrantFeaturedAppRight, DsoRules_ActionRequiringConfirmation_SRARC_RevokeFeaturedAppRight, DsoRules_ActionRequiringConfirmation_SRARC_SetConfig, DsoRules_ActionRequiringConfirmation_SRARC_UpdateSvRewardWeight, DsoRules_ActionRequiringConfirmation_SRARC_CreateExternalPartyAmuletRules, DsoRules_ActionRequiringConfirmation_SRARC_CreateTransferCommandCounter, DsoRules_ActionRequiringConfirmation_SRARC_CreateUnallocatedUnclaimedActivityRecord], Field(discriminator="tag")]
class AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_StartIssuing(BaseModel):
"""Variant constructor: CRARC_MiningRound_StartIssuing"""
tag: Literal["CRARC_MiningRound_StartIssuing"] = "CRARC_MiningRound_StartIssuing"
value: AmuletRules_MiningRound_StartIssuing
class AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_Archive(BaseModel):
"""Variant constructor: CRARC_MiningRound_Archive"""
tag: Literal["CRARC_MiningRound_Archive"] = "CRARC_MiningRound_Archive"
value: AmuletRules_MiningRound_Archive
class AmuletRules_ActionRequiringConfirmation_CRARC_AddFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_AddFutureAmuletConfigSchedule"""
tag: Literal["CRARC_AddFutureAmuletConfigSchedule"] = "CRARC_AddFutureAmuletConfigSchedule"
value: AmuletRules_AddFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_RemoveFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_RemoveFutureAmuletConfigSchedule"""
tag: Literal["CRARC_RemoveFutureAmuletConfigSchedule"] = "CRARC_RemoveFutureAmuletConfigSchedule"
value: AmuletRules_RemoveFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_UpdateFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_UpdateFutureAmuletConfigSchedule"""
tag: Literal["CRARC_UpdateFutureAmuletConfigSchedule"] = "CRARC_UpdateFutureAmuletConfigSchedule"
value: AmuletRules_UpdateFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_SetConfig(BaseModel):
"""Variant constructor: CRARC_SetConfig"""
tag: Literal["CRARC_SetConfig"] = "CRARC_SetConfig"
value: AmuletRules_SetConfig
AmuletRules_ActionRequiringConfirmation = Annotated[Union[AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_StartIssuing, AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_Archive, AmuletRules_ActionRequiringConfirmation_CRARC_AddFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_RemoveFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_UpdateFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_SetConfig], Field(discriminator="tag")]
class ActionRequiringConfirmation_ARC_DsoRules(BaseModel):
"""Variant constructor: ARC_DsoRules"""
tag: Literal["ARC_DsoRules"] = "ARC_DsoRules"
value: ActionRequiringConfirmation_ARC_DsoRules
class ActionRequiringConfirmation_ARC_AmuletRules(BaseModel):
"""Variant constructor: ARC_AmuletRules"""
tag: Literal["ARC_AmuletRules"] = "ARC_AmuletRules"
value: ActionRequiringConfirmation_ARC_AmuletRules
class ActionRequiringConfirmation_ARC_AnsEntryContext(BaseModel):
"""Variant constructor: ARC_AnsEntryContext"""
tag: Literal["ARC_AnsEntryContext"] = "ARC_AnsEntryContext"
value: ActionRequiringConfirmation_ARC_AnsEntryContext
class ActionRequiringConfirmation_ExtActionRequiringConformation(BaseModel):
"""Variant constructor: ExtActionRequiringConformation"""
tag: Literal["ExtActionRequiringConformation"] = "ExtActionRequiringConformation"
value: ActionRequiringConfirmation_ExtActionRequiringConformation
ActionRequiringConfirmation = Annotated[Union[ActionRequiringConfirmation_ARC_DsoRules, ActionRequiringConfirmation_ARC_AmuletRules, ActionRequiringConfirmation_ARC_AnsEntryContext, ActionRequiringConfirmation_ExtActionRequiringConformation], Field(discriminator="tag")]
# Choices for template Confirmation:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Confirmation_Expire (consuming): Splice.DsoRules:Confirmation_Expire -> Splice.DsoRules:Confirmation_ExpireResult
# Choices for template DsoRules:
# DsoRules_AddSv (consuming): Splice.DsoRules:DsoRules_AddSv -> Splice.DsoRules:DsoRules_AddSvResult
# DsoRules_UpdateAmuletPriceVote (non-consuming): Splice.DsoRules:DsoRules_UpdateAmuletPriceVote -> Splice.DsoRules:DsoRules_UpdateAmuletPriceVoteResult
# DsoRules_CastVote (non-consuming): Splice.DsoRules:DsoRules_CastVote -> Splice.DsoRules:DsoRules_CastVoteResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# DsoRules_OffboardSv (consuming): Splice.DsoRules:DsoRules_OffboardSv -> Splice.DsoRules:DsoRules_OffboardSvResult
# DsoRules_SubmitStatusReport (non-consuming): Splice.DsoRules:DsoRules_SubmitStatusReport -> Splice.DsoRules:DsoRules_SubmitStatusReportResult
# DsoRules_AddConfirmedSv (non-consuming): Splice.DsoRules:DsoRules_AddConfirmedSv -> Splice.DsoRules:DsoRules_AddConfirmedSvResult
# DsoRules_SetSynchronizerNodeConfig (non-consuming): Splice.DsoRules:DsoRules_SetSynchronizerNodeConfig -> Splice.DsoRules:DsoRules_SetSynchronizerNodeConfigResult
# DsoRules_ConfirmAction (non-consuming): Splice.DsoRules:DsoRules_ConfirmAction -> Splice.DsoRules:DsoRules_ConfirmActionResult
# DsoRules_ExecuteConfirmedAction (non-consuming): Splice.DsoRules:DsoRules_ExecuteConfirmedAction -> Splice.DsoRules:DsoRules_ExecuteConfirmedActionResult
# DsoRules_RequestVote (non-consuming): Splice.DsoRules:DsoRules_RequestVote -> Splice.DsoRules:DsoRules_RequestVoteResult
# DsoRules_CloseVoteRequest (non-consuming): Splice.DsoRules:DsoRules_CloseVoteRequest -> Splice.DsoRules:DsoRules_CloseVoteRequestResult
# DsoRules_GarbageCollectAmuletPriceVotes (non-consuming): Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotes -> Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotesResult
# DsoRules_SetConfig (consuming): Splice.DsoRules:DsoRules_SetConfig -> Splice.DsoRules:DsoRules_SetConfigResult
# DsoRules_UpdateSvRewardWeight (consuming): Splice.DsoRules:DsoRules_UpdateSvRewardWeight -> Splice.DsoRules:DsoRules_UpdateSvRewardWeightResult
# DsoRules_GrantFeaturedAppRight (non-consuming): Splice.DsoRules:DsoRules_GrantFeaturedAppRight -> Splice.DsoRules:DsoRules_GrantFeaturedAppRightResult
# DsoRules_RevokeFeaturedAppRight (non-consuming): Splice.DsoRules:DsoRules_RevokeFeaturedAppRight -> Splice.DsoRules:DsoRules_RevokeFeaturedAppRightResult
# DsoRules_OnboardValidator (non-consuming): Splice.DsoRules:DsoRules_OnboardValidator -> Splice.DsoRules:DsoRules_OnboardValidatorResult
# DsoRules_MergeValidatorLicense (non-consuming): Splice.DsoRules:DsoRules_MergeValidatorLicense -> Splice.DsoRules:DsoRules_MergeValidatorLicenseResult
# DsoRules_StartSvOnboarding (non-consuming): Splice.DsoRules:DsoRules_StartSvOnboarding -> Splice.DsoRules:DsoRules_StartSvOnboardingResult
# DsoRules_ExpireSvOnboardingRequest (non-consuming): Splice.DsoRules:DsoRules_ExpireSvOnboardingRequest -> Splice.DsoRules:DsoRules_ExpireSvOnboardingRequestResult
# DsoRules_ArchiveSvOnboardingRequest (non-consuming): Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequest -> Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequestResult
# DsoRules_ConfirmSvOnboarding (non-consuming): Splice.DsoRules:DsoRules_ConfirmSvOnboarding -> Splice.DsoRules:DsoRules_ConfirmSvOnboardingResult
# DsoRules_ExpireSvOnboardingConfirmed (consuming): Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmed -> Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmedResult
# DsoRules_Amulet_Expire (non-consuming): Splice.DsoRules:DsoRules_Amulet_Expire -> Splice.DsoRules:DsoRules_Amulet_ExpireResult
# DsoRules_LockedAmulet_ExpireAmulet (non-consuming): Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmulet -> Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmuletResult
# DsoRules_AdvanceOpenMiningRounds (non-consuming): Splice.DsoRules:DsoRules_AdvanceOpenMiningRounds -> Splice.DsoRules:DsoRules_AdvanceOpenMiningRoundsResult
# DsoRules_CollectEntryRenewalPayment (non-consuming): Splice.DsoRules:DsoRules_CollectEntryRenewalPayment -> Splice.DsoRules:DsoRules_CollectEntryRenewalPaymentResult
# DsoRules_ExpireAnsEntry (non-consuming): Splice.DsoRules:DsoRules_ExpireAnsEntry -> Splice.DsoRules:DsoRules_ExpireAnsEntryResult
# DsoRules_ExpireSubscription (non-consuming): Splice.DsoRules:DsoRules_ExpireSubscription -> Splice.DsoRules:DsoRules_ExpireSubscriptionResult
# DsoRules_TerminateSubscription (non-consuming): Splice.DsoRules:DsoRules_TerminateSubscription -> Splice.DsoRules:DsoRules_TerminateSubscriptionResult
# DsoRules_ReceiveSvRewardCoupon (non-consuming): Splice.DsoRules:DsoRules_ReceiveSvRewardCoupon -> Splice.DsoRules:DsoRules_ReceiveSvRewardCouponResult
# DsoRules_ClaimExpiredRewards (non-consuming): Splice.DsoRules:DsoRules_ClaimExpiredRewards -> Splice.DsoRules:DsoRules_ClaimExpiredRewardsResult
# DsoRules_MergeUnclaimedRewards (non-consuming): Splice.DsoRules:DsoRules_MergeUnclaimedRewards -> Splice.DsoRules:DsoRules_MergeUnclaimedRewardsResult
# DsoRules_MergeUnclaimedDevelopmentFundCoupons (non-consuming): Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCoupons -> Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCouponsResult
# DsoRules_ExpireDevelopmentFundCoupon (non-consuming): Splice.DsoRules:DsoRules_ExpireDevelopmentFundCoupon -> Splice.DsoRules:DsoRules_ExpireDevelopmentFundCouponResult
# DsoRules_MiningRound_Close (non-consuming): Splice.DsoRules:DsoRules_MiningRound_Close -> Splice.DsoRules:DsoRules_MiningRound_CloseResult
# DsoRules_ExpireStaleConfirmation (non-consuming): Splice.DsoRules:DsoRules_ExpireStaleConfirmation -> Splice.DsoRules:DsoRules_ExpireStaleConfirmationResult
# DsoRules_MergeMemberTrafficContracts (non-consuming): Splice.DsoRules:DsoRules_MergeMemberTrafficContracts -> Splice.DsoRules:DsoRules_MergeMemberTrafficContractsResult
# DsoRules_MergeSvRewardState (non-consuming): Splice.DsoRules:DsoRules_MergeSvRewardState -> Splice.DsoRules:DsoRules_MergeSvRewardStateResult
# DsoRules_CreateExternalPartyAmuletRules (non-consuming): Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRules -> Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRulesResult
# DsoRules_CreateTransferCommandCounter (non-consuming): Splice.DsoRules:DsoRules_CreateTransferCommandCounter -> Splice.DsoRules:DsoRules_CreateTransferCommandCounterResult
# DsoRules_ExpireTransferPreapproval (non-consuming): Splice.DsoRules:DsoRules_ExpireTransferPreapproval -> Splice.DsoRules:DsoRules_ExpireTransferPreapprovalResult
# DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers (non-consuming): Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers -> Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult
# DsoRules_CreateUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecordResult
# DsoRules_AllocateUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult
# DsoRules_ExpireUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult
# DsoRules_ExpireUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecordResult
# DsoRules_PruneAmuletConfigSchedule (non-consuming): Splice.DsoRules:DsoRules_PruneAmuletConfigSchedule -> Splice.DsoRules:DsoRules_PruneAmuletConfigScheduleResult
# DsoRules_RequestElection (non-consuming): Splice.DsoRules:DsoRules_RequestElection -> Splice.DsoRules:DsoRules_RequestElectionResult
# DsoRules_ElectDsoDelegate (consuming): Splice.DsoRules:DsoRules_ElectDsoDelegate -> Splice.DsoRules:DsoRules_ElectDsoDelegateResult
# DsoRules_ArchiveOutdatedElectionRequest (non-consuming): Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequest -> Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequestResult
# Choices for template ElectionRequest:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template UnallocatedUnclaimedActivityRecord:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template VoteRequest:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.DsoBootstrap
# ============================================================
class DsoBootstrap_BootstrapResult(PyEnum):
DsoBootstrap_BootstrapResult = "DsoBootstrap_BootstrapResult"
class DsoBootstrap_Bootstrap(BaseModel):
"""Record: Splice.DsoBootstrap:DsoBootstrap_Bootstrap"""
pass
class DsoBootstrap(BaseModel):
"""Template: Splice.DsoBootstrap:DsoBootstrap"""
dso: str
sv1Party: str
sv1Name: str
sv1RewardWeight: int
sv1ParticipantId: str
sv1SynchronizerNodes: dict[str, Any]
round0Duration: RelTime
amuletConfig: USD
amuletPrice: Decimal
ansRulesConfig: AnsRulesConfig
config: DsoRulesConfig
initialTrafficState: dict[str, Any]
isDevNet: bool
initialRound: int | None
# Choices for template DsoBootstrap:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# DsoBootstrap_Bootstrap (consuming): Splice.DsoBootstrap:DsoBootstrap_Bootstrap -> Splice.DsoBootstrap:DsoBootstrap_BootstrapResult
# ============================================================
# Module: Splice.DSO.SvState
# ============================================================
class SvStatusReport(BaseModel):
"""Template: Splice.DSO.SvState:SvStatusReport"""
dso: str
sv: str
svName: str
number: int
status: SvStatus | None
class SvStatus(BaseModel):
"""Record: Splice.DSO.SvState:SvStatus"""
createdAt: datetime
cometBftHeight: int
mediatorSynchronizerTime: datetime
participantSynchronizerTime: datetime
latestOpenRound: Round
class SvNodeState(BaseModel):
"""Template: Splice.DSO.SvState:SvNodeState"""
dso: str
sv: str
svName: str
state: NodeState
class NodeState(BaseModel):
"""Record: Splice.DSO.SvState:NodeState"""
synchronizerNodes: dict[str, Any]
class SvRewardState(BaseModel):
"""Template: Splice.DSO.SvState:SvRewardState"""
dso: str
svName: str
state: RewardState
class RewardState(BaseModel):
"""Record: Splice.DSO.SvState:RewardState"""
numRoundsMissed: int
numRoundsCollected: int
lastRoundCollected: Round
numCouponsIssued: int
class ForSvNode(BaseModel):
"""Record: Splice.DSO.SvState:ForSvNode"""
dso: str
sv: str
svName: str
class ForSv(BaseModel):
"""Record: Splice.DSO.SvState:ForSv"""
dso: str
svName: str
# Choices for template SvNodeState:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SvRewardState:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SvStatusReport:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.DSO.AmuletPrice
# ============================================================
class AmuletPriceVote(BaseModel):
"""Template: Splice.DSO.AmuletPrice:AmuletPriceVote"""
dso: str
sv: str
amuletPrice: Decimal | None
lastUpdatedAt: datetime
# Choices for template AmuletPriceVote:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.SvOnboarding
# ============================================================
class SvOnboardingConfirmed_ExpireResult(PyEnum):
SvOnboardingConfirmed_ExpireResult = "SvOnboardingConfirmed_ExpireResult"
class SvOnboardingRequest_ExpireResult(PyEnum):
SvOnboardingRequest_ExpireResult = "SvOnboardingRequest_ExpireResult"
class SvOnboardingConfirmed_Expire(BaseModel):
"""Record: Splice.SvOnboarding:SvOnboardingConfirmed_Expire"""
pass
class SvOnboardingConfirmed(BaseModel):
"""Template: Splice.SvOnboarding:SvOnboardingConfirmed"""
svParty: str
svName: str
svRewardWeight: int
svParticipantId: str
reason: str
dso: str
expiresAt: datetime
class SvOnboardingRequest_Expire(BaseModel):
"""Record: Splice.SvOnboarding:SvOnboardingRequest_Expire"""
pass
class SvOnboardingRequest(BaseModel):
"""Template: Splice.SvOnboarding:SvOnboardingRequest"""
candidateName: str
candidateParty: str
candidateParticipantId: str
token: str
sponsor: str
dso: str
expiresAt: datetime
# Choices for template SvOnboardingConfirmed:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# SvOnboardingConfirmed_Expire (consuming): Splice.SvOnboarding:SvOnboardingConfirmed_Expire -> Splice.SvOnboarding:SvOnboardingConfirmed_ExpireResult
# Choices for template SvOnboardingRequest:
# SvOnboardingRequest_Expire (consuming): Splice.SvOnboarding:SvOnboardingRequest_Expire -> Splice.SvOnboarding:SvOnboardingRequest_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
"""Auto-generated Pydantic models from DAML DAR (protobuf parser)."""
from __future__ import annotations
from datetime import date, datetime
from decimal import Decimal
from enum import Enum as PyEnum
from typing import Annotated, Any, Literal, Union
from pydantic import BaseModel, Field
# ############################################################
# Package: ghc-stdlib-DA-Internal-Any 1.0.0 (6f8e6085f5769861...)
# ############################################################
# ============================================================
# Module: DA.Internal.Any
# ============================================================
# ############################################################
# Package: ghc-stdlib-DA-Internal-Template 1.0.0 (9e70a8b3510d617f...)
# ############################################################
# ============================================================
# Module: DA.Internal.Template
# ============================================================
class Archive(BaseModel):
"""Record: DA.Internal.Template:Archive"""
pass
# ############################################################
# Package: splice-amulet 0.1.16 (c208d7ead1e4e9b6...)
# ############################################################
# ============================================================
# Module: Splice.Types
# ============================================================
class ForOwner(BaseModel):
"""Record: Splice.Types:ForOwner"""
dso: str
owner: str
class ForRound(BaseModel):
"""Record: Splice.Types:ForRound"""
dso: str
round: Round
class ForDso(BaseModel):
"""Record: Splice.Types:ForDso"""
dso: str
class Round(BaseModel):
"""Record: Splice.Types:Round"""
number: int
# ============================================================
# Module: Splice.AmuletRules
# ============================================================
class TransferPreapproval_CancelResult(PyEnum):
TransferPreapproval_CancelResult = "TransferPreapproval_CancelResult"
class AmuletRules_MiningRound_ArchiveResult(PyEnum):
AmuletRules_MiningRound_ArchiveResult = "AmuletRules_MiningRound_ArchiveResult"
class TransferPreapproval_ExpireResult(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_ExpireResult"""
pass
class TransferPreapproval_RenewResult(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_RenewResult"""
transferPreapprovalCid: str
transferResult: TransferResult
receiver: str
provider: str
amuletPaid: Decimal
meta: Metadata | None
class TransferPreapproval_SendResult(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_SendResult"""
result: TransferResult
meta: Metadata | None
class TransferPreapproval_Cancel(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_Cancel"""
p: str
class TransferPreapproval_Expire(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_Expire"""
pass
class TransferPreapproval_Renew(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_Renew"""
context: PaymentTransferContext
inputs: list[TransferInput]
newExpiresAt: datetime
class TransferPreapproval_Send(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_Send"""
context: PaymentTransferContext
inputs: list[TransferInput]
amount: Decimal
sender: str
description: str | None
class TransferPreapproval_Fetch(BaseModel):
"""Record: Splice.AmuletRules:TransferPreapproval_Fetch"""
p: str
class TransferPreapproval(BaseModel):
"""Template: Splice.AmuletRules:TransferPreapproval"""
dso: str
receiver: str
provider: str
validFrom: datetime
lastRenewedAt: datetime
expiresAt: datetime
class ExternalPartySetupProposal_WithdrawResult(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_WithdrawResult"""
dummyArg: None
class ExternalPartySetupProposal_RejectResult(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_RejectResult"""
dummyArg: None
class ExternalPartySetupProposal_AcceptResult(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_AcceptResult"""
validatorRightCid: str
transferPreapprovalCid: str
class ExternalPartySetupProposal_Withdraw(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_Withdraw"""
reason: str
class ExternalPartySetupProposal_Reject(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_Reject"""
reason: str
class ExternalPartySetupProposal_Accept(BaseModel):
"""Record: Splice.AmuletRules:ExternalPartySetupProposal_Accept"""
pass
class ExternalPartySetupProposal(BaseModel):
"""Template: Splice.AmuletRules:ExternalPartySetupProposal"""
validator: str
user: str
dso: str
createdAt: datetime
preapprovalExpiresAt: datetime
class BalanceChange(BaseModel):
"""Record: Splice.AmuletRules:BalanceChange"""
changeToInitialAmountAsOfRoundZero: Decimal
changeToHoldingFeesRate: Decimal
class TransferSummary(BaseModel):
"""Record: Splice.AmuletRules:TransferSummary"""
inputAppRewardAmount: Decimal
inputValidatorRewardAmount: Decimal
inputSvRewardAmount: Decimal
inputAmuletAmount: Decimal
balanceChanges: dict[str, Any]
holdingFees: Decimal
outputFees: list[Decimal]
senderChangeFee: Decimal
senderChangeAmount: Decimal
amuletPrice: Decimal
inputValidatorFaucetAmount: Decimal | None
inputUnclaimedActivityRecordAmount: Decimal | None
inputDevelopmentFundAmount: Decimal | None
class AmuletRules_CreateTransferPreapprovalResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_CreateTransferPreapprovalResult"""
transferPreapprovalCid: str
transferResult: TransferResult
amuletPaid: Decimal
meta: Metadata | None
class AmuletRules_CreateExternalPartySetupProposalResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_CreateExternalPartySetupProposalResult"""
proposalCid: str
user: str
validator: str
transferResult: TransferResult
amuletPaid: Decimal
meta: Metadata | None
class AmuletRules_BuyMemberTrafficResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_BuyMemberTrafficResult"""
round: Round
summary: TransferSummary
amuletPaid: Decimal
purchasedTraffic: str
senderChangeAmulet: str | None
meta: Metadata | None
class TransferResult(BaseModel):
"""Record: Splice.AmuletRules:TransferResult"""
round: Round
summary: TransferSummary
createdAmulets: list[CreatedAmulet]
senderChangeAmulet: str | None
meta: Metadata | None
class TransferOutput(BaseModel):
"""Record: Splice.AmuletRules:TransferOutput"""
receiver: str
receiverFeeRatio: Decimal
amount: Decimal
lock: TimeLock | None
class Transfer(BaseModel):
"""Record: Splice.AmuletRules:Transfer"""
sender: str
provider: str
inputs: list[TransferInput]
outputs: list[TransferOutput]
beneficiaries: list[AppRewardBeneficiary] | None
class TransferInput_ExtTransferInput(BaseModel):
"""Record: Splice.AmuletRules:TransferInput.ExtTransferInput"""
dummyUnitField: None
optInputValidatorFaucetCoupon: str | None
class CreatedAmulet_ExtCreatedAmulet(BaseModel):
"""Record: Splice.AmuletRules:CreatedAmulet.ExtCreatedAmulet"""
dummyUnitField: None
class TransferContext(BaseModel):
"""Record: Splice.AmuletRules:TransferContext"""
openMiningRound: str
issuingMiningRounds: dict[Round, Any]
validatorRights: dict[str, Any]
featuredAppRight: str | None
class PaymentTransferContext(BaseModel):
"""Record: Splice.AmuletRules:PaymentTransferContext"""
amuletRules: str
context: TransferContext
class AppTransferContext(BaseModel):
"""Record: Splice.AmuletRules:AppTransferContext"""
amuletRules: str
openMiningRound: str
featuredAppRight: str | None
class PreprocessedTransferOutput(BaseModel):
"""Record: Splice.AmuletRules:PreprocessedTransferOutput"""
owner: str
outputFee: Decimal
amount: Decimal
lock: TimeLock | None
class TransferInputsSummary(BaseModel):
"""Record: Splice.AmuletRules:TransferInputsSummary"""
totalAmuletAmount: Decimal
totalAppRewardAmount: Decimal
totalValidatorRewardAmount: Decimal
totalValidatorFaucetAmount: Decimal
totalSvRewardAmount: Decimal
totalHoldingFees: Decimal
amountArchivedAsOfRoundZero: Decimal
changeToHoldingFeesRate: Decimal
totalUnclaimedActivityRecordAmount: Decimal | None
totalDevelopmentFundAmount: Decimal | None
class TransferContextSummary(BaseModel):
"""Record: Splice.AmuletRules:TransferContextSummary"""
featuredAppProvider: str | None
config: TransferConfig
openRound: OpenMiningRound
issuingMiningRounds: dict[Round, Any]
validatorRights: dict[str, Any]
class RewardsIssuanceConfig(BaseModel):
"""Record: Splice.AmuletRules:RewardsIssuanceConfig"""
issueAppRewards: bool
issueValidatorRewards: bool
class InvalidTransfer(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransfer"""
reason: InvalidTransferReason
class InvalidTransferReason_ITR_InsufficientFunds(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransferReason.ITR_InsufficientFunds"""
missingAmount: Decimal
class InvalidTransferReason_ITR_UnknownSynchronizer(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransferReason.ITR_UnknownSynchronizer"""
synchronizerId: str
class InvalidTransferReason_ITR_InsufficientTopupAmount(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransferReason.ITR_InsufficientTopupAmount"""
requestedTopupAmount: int
minTopupAmount: int
class InvalidTransferReason_ITR_Other(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransferReason.ITR_Other"""
description: str
class InvalidTransferReason_ExtInvalidTransferReason(BaseModel):
"""Record: Splice.AmuletRules:InvalidTransferReason.ExtInvalidTransferReason"""
dummyUnitField: None
class AmuletRules_ConvertFeaturedAppActivityMarkers(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ConvertFeaturedAppActivityMarkers"""
markerCids: list[str]
openMiningRoundCid: str
observers: list[str] | None
class AmuletRules_UpdateFutureAmuletConfigSchedule(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_UpdateFutureAmuletConfigSchedule"""
scheduleItem: tuple[datetime, Any]
class AmuletRules_RemoveFutureAmuletConfigSchedule(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_RemoveFutureAmuletConfigSchedule"""
scheduleTime: datetime
class AmuletRules_AddFutureAmuletConfigSchedule(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AddFutureAmuletConfigSchedule"""
newScheduleItem: tuple[datetime, Any]
class AmuletRules_SetConfig(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_SetConfig"""
newConfig: AmuletConfig
baseConfig: AmuletConfig
class AmuletRules_Fetch(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_Fetch"""
p: str
class AmuletRules_AllocateDevelopmentFundCoupon(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AllocateDevelopmentFundCoupon"""
unclaimedDevelopmentFundCouponCids: list[str]
beneficiary: str
amount: Decimal
expiresAt: datetime
reason: str
fundManager: str
class AmuletRules_MergeUnclaimedDevelopmentFundCoupons(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeUnclaimedDevelopmentFundCoupons"""
unclaimedDevelopmentFundCouponCids: list[str]
class AmuletRules_MergeUnclaimedRewards(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeUnclaimedRewards"""
unclaimedRewardCids: list[str]
class AmuletRules_ClaimExpiredRewards(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ClaimExpiredRewards"""
closedRoundCid: str
validatorRewardCouponCids: list[str]
appCouponCids: list[str]
svRewardCouponCids: list[str]
optValidatorFaucetCouponCids: list[str] | None
optValidatorLivenessActivityRecordCids: list[str] | None
class AmuletRules_MiningRound_Archive(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MiningRound_Archive"""
closedRoundCid: str
class AmuletRules_MiningRound_Close(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MiningRound_Close"""
issuingRoundCid: str
class AmuletRules_MiningRound_StartIssuing(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MiningRound_StartIssuing"""
miningRoundCid: str
summary: OpenMiningRoundSummary
class AmuletRules_AdvanceOpenMiningRounds(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AdvanceOpenMiningRounds"""
amuletPrice: Decimal
roundToArchiveCid: str
middleRoundCid: str
latestRoundCid: str
class AmuletRules_Bootstrap_Rounds(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_Bootstrap_Rounds"""
amuletPrice: Decimal
round0Duration: RelTime
initialRound: int | None
class AmuletRules_DevNet_FeatureApp(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_DevNet_FeatureApp"""
provider: str
class AmuletRules_DevNet_Tap(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_DevNet_Tap"""
receiver: str
amount: Decimal
openRound: str
class AmuletRules_Mint(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_Mint"""
receiver: str
amount: Decimal
openRound: str
class AmuletRules_MergeMemberTrafficContracts(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeMemberTrafficContracts"""
trafficCids: list[str]
class AmuletRules_BuyMemberTraffic(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_BuyMemberTraffic"""
inputs: list[TransferInput]
context: TransferContext
provider: str
memberId: str
synchronizerId: str
migrationId: int
trafficAmount: int
expectedDso: str | None
class AmuletRules_CreateTransferPreapproval(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_CreateTransferPreapproval"""
context: PaymentTransferContext
inputs: list[TransferInput]
receiver: str
provider: str
expiresAt: datetime
expectedDso: str | None
class AmuletRules_CreateExternalPartySetupProposal(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_CreateExternalPartySetupProposal"""
context: PaymentTransferContext
inputs: list[TransferInput]
user: str
validator: str
preapprovalExpiresAt: datetime
expectedDso: str | None
class AmuletRules_Transfer(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_Transfer"""
transfer: Transfer
context: TransferContext
expectedDso: str | None
class AmuletRules_ComputeFees(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ComputeFees"""
context: TransferContext
sender: str
outputs: list[TransferOutput]
expectedDso: str | None
class AmuletRules(BaseModel):
"""Template: Splice.AmuletRules:AmuletRules"""
dso: str
configSchedule: Schedule
isDevNet: bool
class AmuletRules_ConvertFeaturedAppActivityMarkersResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ConvertFeaturedAppActivityMarkersResult"""
appRewardCouponCids: list[str]
class AmuletRules_UpdateFutureAmuletConfigScheduleResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_UpdateFutureAmuletConfigScheduleResult"""
newAmuletRules: str
class AmuletRules_RemoveFutureAmuletConfigScheduleResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_RemoveFutureAmuletConfigScheduleResult"""
newAmuletRules: str
class AmuletRules_AddFutureAmuletConfigScheduleResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AddFutureAmuletConfigScheduleResult"""
newAmuletRules: str
class AmuletRules_SetConfigResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_SetConfigResult"""
newAmuletRules: str
class AmuletRules_AllocateDevelopmentFundCouponResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AllocateDevelopmentFundCouponResult"""
developmentFundCouponCid: str
optUnclaimedDevelopmentFundCouponCid: str | None
class AmuletRules_MergeUnclaimedDevelopmentFundCouponsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeUnclaimedDevelopmentFundCouponsResult"""
unclaimedDevelopmentFundCouponCid: str
class AmuletRules_MergeUnclaimedRewardsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeUnclaimedRewardsResult"""
unclaimedRewardCid: str
class AmuletRules_ClaimExpiredRewardsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ClaimExpiredRewardsResult"""
unclaimedRewardCid: str | None
class AmuletRules_MiningRound_CloseResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MiningRound_CloseResult"""
closedRoundCid: str
class AmuletRules_MiningRound_StartIssuingResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MiningRound_StartIssuingResult"""
issuingRoundCid: str
unclaimedDevelopmentFundCouponCid: str | None
class AmuletRules_AdvanceOpenMiningRoundsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_AdvanceOpenMiningRoundsResult"""
summarizingRoundCid: str
openRoundCid: str
class AmuletRules_Bootstrap_RoundsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_Bootstrap_RoundsResult"""
openMiningRoundCid: str
initialRound: Round | None
class AmuletRules_DevNet_FeatureAppResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_DevNet_FeatureAppResult"""
featuredAppRightCid: str
class AmuletRules_DevNet_TapResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_DevNet_TapResult"""
amuletSum: AmuletCreateSummary
meta: Metadata | None
class AmuletRules_MintResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MintResult"""
amuletSum: AmuletCreateSummary
class AmuletRules_MergeMemberTrafficContractsResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_MergeMemberTrafficContractsResult"""
mergedTrafficCid: str
class AmuletRules_ComputeFeesResult(BaseModel):
"""Record: Splice.AmuletRules:AmuletRules_ComputeFeesResult"""
fees: list[Decimal]
class TransferInput_InputAppRewardCoupon(BaseModel):
"""Variant constructor: InputAppRewardCoupon"""
tag: Literal["InputAppRewardCoupon"] = "InputAppRewardCoupon"
value: str
class TransferInput_InputValidatorRewardCoupon(BaseModel):
"""Variant constructor: InputValidatorRewardCoupon"""
tag: Literal["InputValidatorRewardCoupon"] = "InputValidatorRewardCoupon"
value: str
class TransferInput_InputSvRewardCoupon(BaseModel):
"""Variant constructor: InputSvRewardCoupon"""
tag: Literal["InputSvRewardCoupon"] = "InputSvRewardCoupon"
value: str
class TransferInput_InputAmulet(BaseModel):
"""Variant constructor: InputAmulet"""
tag: Literal["InputAmulet"] = "InputAmulet"
value: str
class TransferInput_ExtTransferInput(BaseModel):
"""Variant constructor: ExtTransferInput"""
tag: Literal["ExtTransferInput"] = "ExtTransferInput"
value: TransferInput_ExtTransferInput
class TransferInput_InputValidatorLivenessActivityRecord(BaseModel):
"""Variant constructor: InputValidatorLivenessActivityRecord"""
tag: Literal["InputValidatorLivenessActivityRecord"] = "InputValidatorLivenessActivityRecord"
value: str
class TransferInput_InputUnclaimedActivityRecord(BaseModel):
"""Variant constructor: InputUnclaimedActivityRecord"""
tag: Literal["InputUnclaimedActivityRecord"] = "InputUnclaimedActivityRecord"
value: str
class TransferInput_InputDevelopmentFundCoupon(BaseModel):
"""Variant constructor: InputDevelopmentFundCoupon"""
tag: Literal["InputDevelopmentFundCoupon"] = "InputDevelopmentFundCoupon"
value: str
TransferInput = Annotated[Union[TransferInput_InputAppRewardCoupon, TransferInput_InputValidatorRewardCoupon, TransferInput_InputSvRewardCoupon, TransferInput_InputAmulet, TransferInput_ExtTransferInput, TransferInput_InputValidatorLivenessActivityRecord, TransferInput_InputUnclaimedActivityRecord, TransferInput_InputDevelopmentFundCoupon], Field(discriminator="tag")]
class CreatedAmulet_TransferResultAmulet(BaseModel):
"""Variant constructor: TransferResultAmulet"""
tag: Literal["TransferResultAmulet"] = "TransferResultAmulet"
value: str
class CreatedAmulet_TransferResultLockedAmulet(BaseModel):
"""Variant constructor: TransferResultLockedAmulet"""
tag: Literal["TransferResultLockedAmulet"] = "TransferResultLockedAmulet"
value: str
class CreatedAmulet_ExtCreatedAmulet(BaseModel):
"""Variant constructor: ExtCreatedAmulet"""
tag: Literal["ExtCreatedAmulet"] = "ExtCreatedAmulet"
value: CreatedAmulet_ExtCreatedAmulet
CreatedAmulet = Annotated[Union[CreatedAmulet_TransferResultAmulet, CreatedAmulet_TransferResultLockedAmulet, CreatedAmulet_ExtCreatedAmulet], Field(discriminator="tag")]
class InvalidTransferReason_ITR_InsufficientFunds(BaseModel):
"""Variant constructor: ITR_InsufficientFunds"""
tag: Literal["ITR_InsufficientFunds"] = "ITR_InsufficientFunds"
value: InvalidTransferReason_ITR_InsufficientFunds
class InvalidTransferReason_ITR_UnknownSynchronizer(BaseModel):
"""Variant constructor: ITR_UnknownSynchronizer"""
tag: Literal["ITR_UnknownSynchronizer"] = "ITR_UnknownSynchronizer"
value: InvalidTransferReason_ITR_UnknownSynchronizer
class InvalidTransferReason_ITR_InsufficientTopupAmount(BaseModel):
"""Variant constructor: ITR_InsufficientTopupAmount"""
tag: Literal["ITR_InsufficientTopupAmount"] = "ITR_InsufficientTopupAmount"
value: InvalidTransferReason_ITR_InsufficientTopupAmount
class InvalidTransferReason_ITR_Other(BaseModel):
"""Variant constructor: ITR_Other"""
tag: Literal["ITR_Other"] = "ITR_Other"
value: InvalidTransferReason_ITR_Other
class InvalidTransferReason_ExtInvalidTransferReason(BaseModel):
"""Variant constructor: ExtInvalidTransferReason"""
tag: Literal["ExtInvalidTransferReason"] = "ExtInvalidTransferReason"
value: InvalidTransferReason_ExtInvalidTransferReason
InvalidTransferReason = Annotated[Union[InvalidTransferReason_ITR_InsufficientFunds, InvalidTransferReason_ITR_UnknownSynchronizer, InvalidTransferReason_ITR_InsufficientTopupAmount, InvalidTransferReason_ITR_Other, InvalidTransferReason_ExtInvalidTransferReason], Field(discriminator="tag")]
# Choices for template AmuletRules:
# AmuletRules_ComputeFees (non-consuming): Splice.AmuletRules:AmuletRules_ComputeFees -> Splice.AmuletRules:AmuletRules_ComputeFeesResult
# AmuletRules_Transfer (non-consuming): Splice.AmuletRules:AmuletRules_Transfer -> Splice.AmuletRules:TransferResult
# AmuletRules_CreateExternalPartySetupProposal (non-consuming): Splice.AmuletRules:AmuletRules_CreateExternalPartySetupProposal -> Splice.AmuletRules:AmuletRules_CreateExternalPartySetupProposalResult
# AmuletRules_CreateTransferPreapproval (non-consuming): Splice.AmuletRules:AmuletRules_CreateTransferPreapproval -> Splice.AmuletRules:AmuletRules_CreateTransferPreapprovalResult
# AmuletRules_BuyMemberTraffic (non-consuming): Splice.AmuletRules:AmuletRules_BuyMemberTraffic -> Splice.AmuletRules:AmuletRules_BuyMemberTrafficResult
# AmuletRules_MergeMemberTrafficContracts (non-consuming): Splice.AmuletRules:AmuletRules_MergeMemberTrafficContracts -> Splice.AmuletRules:AmuletRules_MergeMemberTrafficContractsResult
# AmuletRules_Mint (non-consuming): Splice.AmuletRules:AmuletRules_Mint -> Splice.AmuletRules:AmuletRules_MintResult
# AmuletRules_DevNet_Tap (non-consuming): Splice.AmuletRules:AmuletRules_DevNet_Tap -> Splice.AmuletRules:AmuletRules_DevNet_TapResult
# AmuletRules_DevNet_FeatureApp (non-consuming): Splice.AmuletRules:AmuletRules_DevNet_FeatureApp -> Splice.AmuletRules:AmuletRules_DevNet_FeatureAppResult
# AmuletRules_Bootstrap_Rounds (non-consuming): Splice.AmuletRules:AmuletRules_Bootstrap_Rounds -> Splice.AmuletRules:AmuletRules_Bootstrap_RoundsResult
# AmuletRules_AdvanceOpenMiningRounds (non-consuming): Splice.AmuletRules:AmuletRules_AdvanceOpenMiningRounds -> Splice.AmuletRules:AmuletRules_AdvanceOpenMiningRoundsResult
# AmuletRules_MiningRound_StartIssuing (non-consuming): Splice.AmuletRules:AmuletRules_MiningRound_StartIssuing -> Splice.AmuletRules:AmuletRules_MiningRound_StartIssuingResult
# AmuletRules_MiningRound_Close (non-consuming): Splice.AmuletRules:AmuletRules_MiningRound_Close -> Splice.AmuletRules:AmuletRules_MiningRound_CloseResult
# AmuletRules_MiningRound_Archive (non-consuming): Splice.AmuletRules:AmuletRules_MiningRound_Archive -> Splice.AmuletRules:AmuletRules_MiningRound_ArchiveResult
# AmuletRules_ClaimExpiredRewards (non-consuming): Splice.AmuletRules:AmuletRules_ClaimExpiredRewards -> Splice.AmuletRules:AmuletRules_ClaimExpiredRewardsResult
# AmuletRules_MergeUnclaimedRewards (non-consuming): Splice.AmuletRules:AmuletRules_MergeUnclaimedRewards -> Splice.AmuletRules:AmuletRules_MergeUnclaimedRewardsResult
# AmuletRules_MergeUnclaimedDevelopmentFundCoupons (non-consuming): Splice.AmuletRules:AmuletRules_MergeUnclaimedDevelopmentFundCoupons -> Splice.AmuletRules:AmuletRules_MergeUnclaimedDevelopmentFundCouponsResult
# AmuletRules_AllocateDevelopmentFundCoupon (non-consuming): Splice.AmuletRules:AmuletRules_AllocateDevelopmentFundCoupon -> Splice.AmuletRules:AmuletRules_AllocateDevelopmentFundCouponResult
# AmuletRules_SetConfig (consuming): Splice.AmuletRules:AmuletRules_SetConfig -> Splice.AmuletRules:AmuletRules_SetConfigResult
# AmuletRules_ConvertFeaturedAppActivityMarkers (non-consuming): Splice.AmuletRules:AmuletRules_ConvertFeaturedAppActivityMarkers -> Splice.AmuletRules:AmuletRules_ConvertFeaturedAppActivityMarkersResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# AmuletRules_Fetch (non-consuming): Splice.AmuletRules:AmuletRules_Fetch -> Splice.AmuletRules:AmuletRules
# AmuletRules_AddFutureAmuletConfigSchedule (consuming): Splice.AmuletRules:AmuletRules_AddFutureAmuletConfigSchedule -> Splice.AmuletRules:AmuletRules_AddFutureAmuletConfigScheduleResult
# AmuletRules_RemoveFutureAmuletConfigSchedule (consuming): Splice.AmuletRules:AmuletRules_RemoveFutureAmuletConfigSchedule -> Splice.AmuletRules:AmuletRules_RemoveFutureAmuletConfigScheduleResult
# AmuletRules_UpdateFutureAmuletConfigSchedule (consuming): Splice.AmuletRules:AmuletRules_UpdateFutureAmuletConfigSchedule -> Splice.AmuletRules:AmuletRules_UpdateFutureAmuletConfigScheduleResult
# Choices for template ExternalPartySetupProposal:
# ExternalPartySetupProposal_Accept (consuming): Splice.AmuletRules:ExternalPartySetupProposal_Accept -> Splice.AmuletRules:ExternalPartySetupProposal_AcceptResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ExternalPartySetupProposal_Reject (consuming): Splice.AmuletRules:ExternalPartySetupProposal_Reject -> Splice.AmuletRules:ExternalPartySetupProposal_RejectResult
# ExternalPartySetupProposal_Withdraw (consuming): Splice.AmuletRules:ExternalPartySetupProposal_Withdraw -> Splice.AmuletRules:ExternalPartySetupProposal_WithdrawResult
# Choices for template TransferPreapproval:
# TransferPreapproval_Renew (consuming): Splice.AmuletRules:TransferPreapproval_Renew -> Splice.AmuletRules:TransferPreapproval_RenewResult
# TransferPreapproval_Send (non-consuming): Splice.AmuletRules:TransferPreapproval_Send -> Splice.AmuletRules:TransferPreapproval_SendResult
# TransferPreapproval_Expire (consuming): Splice.AmuletRules:TransferPreapproval_Expire -> Splice.AmuletRules:TransferPreapproval_ExpireResult
# TransferPreapproval_Cancel (consuming): Splice.AmuletRules:TransferPreapproval_Cancel -> Splice.AmuletRules:TransferPreapproval_CancelResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# TransferPreapproval_Fetch (non-consuming): Splice.AmuletRules:TransferPreapproval_Fetch -> Splice.AmuletRules:TransferPreapproval
# ============================================================
# Module: Splice.Amulet
# ============================================================
class UnclaimedActivityRecord_ArchiveAsBeneficiaryResult(PyEnum):
UnclaimedActivityRecord_ArchiveAsBeneficiaryResult = "UnclaimedActivityRecord_ArchiveAsBeneficiaryResult"
class SvRewardCoupon_ArchiveAsBeneficiaryResult(PyEnum):
SvRewardCoupon_ArchiveAsBeneficiaryResult = "SvRewardCoupon_ArchiveAsBeneficiaryResult"
class FeaturedAppRight_CancelResult(PyEnum):
FeaturedAppRight_CancelResult = "FeaturedAppRight_CancelResult"
class FeaturedAppRight_WithdrawResult(PyEnum):
FeaturedAppRight_WithdrawResult = "FeaturedAppRight_WithdrawResult"
class ValidatorRight_ArchiveAsUserResult(PyEnum):
ValidatorRight_ArchiveAsUserResult = "ValidatorRight_ArchiveAsUserResult"
class ValidatorRight_ArchiveAsValidatorResult(PyEnum):
ValidatorRight_ArchiveAsValidatorResult = "ValidatorRight_ArchiveAsValidatorResult"
class UnclaimedActivityRecord_DsoExpire(BaseModel):
"""Record: Splice.Amulet:UnclaimedActivityRecord_DsoExpire"""
pass
class UnclaimedActivityRecord(BaseModel):
"""Template: Splice.Amulet:UnclaimedActivityRecord"""
dso: str
beneficiary: str
amount: Decimal
reason: str
expiresAt: datetime
class UnclaimedReward(BaseModel):
"""Template: Splice.Amulet:UnclaimedReward"""
dso: str
amount: Decimal
class DevelopmentFundCoupon_DsoExpire(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_DsoExpire"""
pass
class DevelopmentFundCoupon_Reject(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_Reject"""
reason: str
class DevelopmentFundCoupon_Withdraw(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_Withdraw"""
reason: str
class DevelopmentFundCoupon(BaseModel):
"""Template: Splice.Amulet:DevelopmentFundCoupon"""
dso: str
beneficiary: str
fundManager: str
amount: Decimal
expiresAt: datetime
reason: str
class UnclaimedDevelopmentFundCoupon(BaseModel):
"""Template: Splice.Amulet:UnclaimedDevelopmentFundCoupon"""
dso: str
amount: Decimal
class SvRewardCoupon_ArchiveAsBeneficiary(BaseModel):
"""Record: Splice.Amulet:SvRewardCoupon_ArchiveAsBeneficiary"""
pass
class SvRewardCoupon_DsoExpire(BaseModel):
"""Record: Splice.Amulet:SvRewardCoupon_DsoExpire"""
closedRoundCid: str
class SvRewardCoupon(BaseModel):
"""Template: Splice.Amulet:SvRewardCoupon"""
dso: str
sv: str
beneficiary: str
round: Round
weight: int
class ValidatorRewardCoupon_ArchiveAsValidator(BaseModel):
"""Record: Splice.Amulet:ValidatorRewardCoupon_ArchiveAsValidator"""
validator: str
rightCid: str
class ValidatorRewardCoupon_DsoExpire(BaseModel):
"""Record: Splice.Amulet:ValidatorRewardCoupon_DsoExpire"""
closedRoundCid: str
class ValidatorRewardCoupon(BaseModel):
"""Template: Splice.Amulet:ValidatorRewardCoupon"""
dso: str
user: str
amount: Decimal
round: Round
class AppRewardCoupon_DsoExpire(BaseModel):
"""Record: Splice.Amulet:AppRewardCoupon_DsoExpire"""
closedRoundCid: str
class AppRewardCoupon(BaseModel):
"""Template: Splice.Amulet:AppRewardCoupon"""
dso: str
provider: str
featured: bool
amount: Decimal
round: Round
beneficiary: str | None
class FeaturedAppActivityMarker(BaseModel):
"""Template: Splice.Amulet:FeaturedAppActivityMarker"""
dso: str
provider: str
beneficiary: str
weight: Decimal
class FeaturedAppRight_Cancel(BaseModel):
"""Record: Splice.Amulet:FeaturedAppRight_Cancel"""
pass
class FeaturedAppRight_Withdraw(BaseModel):
"""Record: Splice.Amulet:FeaturedAppRight_Withdraw"""
reason: str
class FeaturedAppRight(BaseModel):
"""Template: Splice.Amulet:FeaturedAppRight"""
dso: str
provider: str
class ValidatorRight_ArchiveAsUser(BaseModel):
"""Record: Splice.Amulet:ValidatorRight_ArchiveAsUser"""
pass
class ValidatorRight_ArchiveAsValidator(BaseModel):
"""Record: Splice.Amulet:ValidatorRight_ArchiveAsValidator"""
pass
class ValidatorRight(BaseModel):
"""Template: Splice.Amulet:ValidatorRight"""
dso: str
user: str
validator: str
class LockedAmulet_ExpireAmulet(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_ExpireAmulet"""
roundCid: str
class LockedAmulet_OwnerExpireLock(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_OwnerExpireLock"""
openRoundCid: str
class LockedAmulet_Unlock(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_Unlock"""
openRoundCid: str
class LockedAmulet(BaseModel):
"""Template: Splice.Amulet:LockedAmulet"""
amulet: Amulet
lock: TimeLock
class Amulet_Expire(BaseModel):
"""Record: Splice.Amulet:Amulet_Expire"""
roundCid: str
class Amulet(BaseModel):
"""Template: Splice.Amulet:Amulet"""
dso: str
owner: str
amount: ExpiringAmount
class DevelopmentFundCoupon_DsoExpireResult(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_DsoExpireResult"""
unclaimedDevelopmentFundCouponCid: str
class DevelopmentFundCoupon_RejectResult(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_RejectResult"""
unclaimedDevelopmentFundCouponCid: str
class DevelopmentFundCoupon_WithdrawResult(BaseModel):
"""Record: Splice.Amulet:DevelopmentFundCoupon_WithdrawResult"""
unclaimedDevelopmentFundCouponCid: str
class UnclaimedActivityRecord_DsoExpireResult(BaseModel):
"""Record: Splice.Amulet:UnclaimedActivityRecord_DsoExpireResult"""
unclaimedRewardCid: str
class SvRewardCoupon_DsoExpireResult(BaseModel):
"""Record: Splice.Amulet:SvRewardCoupon_DsoExpireResult"""
weight: int
class ValidatorRewardCoupon_ArchiveAsValidatorResult(BaseModel):
"""Record: Splice.Amulet:ValidatorRewardCoupon_ArchiveAsValidatorResult"""
pass
class ValidatorRewardCoupon_DsoExpireResult(BaseModel):
"""Record: Splice.Amulet:ValidatorRewardCoupon_DsoExpireResult"""
amount: Decimal
class AppRewardCoupon_DsoExpireResult(BaseModel):
"""Record: Splice.Amulet:AppRewardCoupon_DsoExpireResult"""
featured: bool
amount: Decimal
class LockedAmulet_ExpireAmuletResult(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_ExpireAmuletResult"""
expireSum: AmuletExpireSummary
meta: Metadata | None
class LockedAmulet_OwnerExpireLockResult(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_OwnerExpireLockResult"""
amuletSum: AmuletCreateSummary
meta: Metadata | None
class LockedAmulet_UnlockResult(BaseModel):
"""Record: Splice.Amulet:LockedAmulet_UnlockResult"""
amuletSum: AmuletCreateSummary
meta: Metadata | None
class Amulet_ExpireResult(BaseModel):
"""Record: Splice.Amulet:Amulet_ExpireResult"""
expireSum: AmuletExpireSummary
meta: Metadata | None
class AmuletCreateSummary(BaseModel):
"""Record: Splice.Amulet:AmuletCreateSummary"""
amulet: amuletContractId
amuletPrice: Decimal
round: Round
class AmuletExpireSummary(BaseModel):
"""Record: Splice.Amulet:AmuletExpireSummary"""
owner: str
round: Round
changeToInitialAmountAsOfRoundZero: Decimal
changeToHoldingFeesRate: Decimal
# Choices for template Amulet:
# Amulet_Expire (consuming): Splice.Amulet:Amulet_Expire -> Splice.Amulet:Amulet_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template AppRewardCoupon:
# AppRewardCoupon_DsoExpire (consuming): Splice.Amulet:AppRewardCoupon_DsoExpire -> Splice.Amulet:AppRewardCoupon_DsoExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template DevelopmentFundCoupon:
# DevelopmentFundCoupon_Withdraw (consuming): Splice.Amulet:DevelopmentFundCoupon_Withdraw -> Splice.Amulet:DevelopmentFundCoupon_WithdrawResult
# DevelopmentFundCoupon_Reject (consuming): Splice.Amulet:DevelopmentFundCoupon_Reject -> Splice.Amulet:DevelopmentFundCoupon_RejectResult
# DevelopmentFundCoupon_DsoExpire (consuming): Splice.Amulet:DevelopmentFundCoupon_DsoExpire -> Splice.Amulet:DevelopmentFundCoupon_DsoExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template FeaturedAppActivityMarker:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template FeaturedAppRight:
# FeaturedAppRight_Withdraw (consuming): Splice.Amulet:FeaturedAppRight_Withdraw -> Splice.Amulet:FeaturedAppRight_WithdrawResult
# FeaturedAppRight_Cancel (consuming): Splice.Amulet:FeaturedAppRight_Cancel -> Splice.Amulet:FeaturedAppRight_CancelResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template LockedAmulet:
# LockedAmulet_Unlock (consuming): Splice.Amulet:LockedAmulet_Unlock -> Splice.Amulet:LockedAmulet_UnlockResult
# LockedAmulet_OwnerExpireLock (consuming): Splice.Amulet:LockedAmulet_OwnerExpireLock -> Splice.Amulet:LockedAmulet_OwnerExpireLockResult
# LockedAmulet_ExpireAmulet (consuming): Splice.Amulet:LockedAmulet_ExpireAmulet -> Splice.Amulet:LockedAmulet_ExpireAmuletResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SvRewardCoupon:
# SvRewardCoupon_DsoExpire (consuming): Splice.Amulet:SvRewardCoupon_DsoExpire -> Splice.Amulet:SvRewardCoupon_DsoExpireResult
# SvRewardCoupon_ArchiveAsBeneficiary (consuming): Splice.Amulet:SvRewardCoupon_ArchiveAsBeneficiary -> Splice.Amulet:SvRewardCoupon_ArchiveAsBeneficiaryResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template UnclaimedActivityRecord:
# UnclaimedActivityRecord_DsoExpire (consuming): Splice.Amulet:UnclaimedActivityRecord_DsoExpire -> Splice.Amulet:UnclaimedActivityRecord_DsoExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template UnclaimedDevelopmentFundCoupon:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template UnclaimedReward:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template ValidatorRewardCoupon:
# ValidatorRewardCoupon_DsoExpire (consuming): Splice.Amulet:ValidatorRewardCoupon_DsoExpire -> Splice.Amulet:ValidatorRewardCoupon_DsoExpireResult
# ValidatorRewardCoupon_ArchiveAsValidator (consuming): Splice.Amulet:ValidatorRewardCoupon_ArchiveAsValidator -> Splice.Amulet:ValidatorRewardCoupon_ArchiveAsValidatorResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template ValidatorRight:
# ValidatorRight_ArchiveAsValidator (consuming): Splice.Amulet:ValidatorRight_ArchiveAsValidator -> Splice.Amulet:ValidatorRight_ArchiveAsValidatorResult
# ValidatorRight_ArchiveAsUser (consuming): Splice.Amulet:ValidatorRight_ArchiveAsUser -> Splice.Amulet:ValidatorRight_ArchiveAsUserResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.AmuletTransferInstruction
# ============================================================
class AmuletTransferInstruction(BaseModel):
"""Template: Splice.AmuletTransferInstruction:AmuletTransferInstruction"""
lockedAmulet: str
transfer: Transfer
# Choices for template AmuletTransferInstruction:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.AmuletConfig
# ============================================================
class USD(PyEnum):
USD = "USD"
class Amulet(PyEnum):
Amulet = "Amulet"
class PackageConfig(BaseModel):
"""Record: Splice.AmuletConfig:PackageConfig"""
amulet: str
amuletNameService: str
dsoGovernance: str
validatorLifecycle: str
wallet: str
walletPayments: str
class AmuletConfig(BaseModel):
"""Record: Splice.AmuletConfig:AmuletConfig"""
transferConfig: TransferConfig
issuanceCurve: Schedule
decentralizedSynchronizer: AmuletDecentralizedSynchronizerConfig
tickDuration: RelTime
packageConfig: PackageConfig
transferPreapprovalFee: Decimal | None
featuredAppActivityMarkerAmount: Decimal | None
optDevelopmentFundManager: str | None
class TransferConfig(BaseModel):
"""Record: Splice.AmuletConfig:TransferConfig"""
createFee: FixedFee
holdingFee: RatePerRound
transferFee: SteppedRate
lockHolderFee: FixedFee
extraFeaturedAppRewardAmount: Decimal
maxNumInputs: int
maxNumOutputs: int
maxNumLockHolders: int
# ============================================================
# Module: Splice.ExternalPartyAmuletRules
# ============================================================
class TransferCommand_ExpireResult(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_ExpireResult"""
sender: str
nonce: int
class TransferCommand_WithdrawResult(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_WithdrawResult"""
sender: str
nonce: int
class TransferCommandResult_TransferCommandResultFailure(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommandResult.TransferCommandResultFailure"""
reason: InvalidTransferReason
class TransferCommandResult_TransferCommandResultSuccess(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommandResult.TransferCommandResultSuccess"""
result: TransferResult
class TransferCommand_SendResult(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_SendResult"""
result: TransferCommandResult
sender: str
nonce: int
class TransferCommand_Expire(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_Expire"""
p: str
class TransferCommand_Withdraw(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_Withdraw"""
pass
class TransferCommand_Send(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:TransferCommand_Send"""
context: PaymentTransferContext
inputs: list[TransferInput]
transferPreapprovalCidO: str | None
transferCounterCid: str
class TransferCommand(BaseModel):
"""Template: Splice.ExternalPartyAmuletRules:TransferCommand"""
dso: str
sender: str
receiver: str
delegate: str
amount: Decimal
expiresAt: datetime
nonce: int
description: str | None
class TransferCommandCounter(BaseModel):
"""Template: Splice.ExternalPartyAmuletRules:TransferCommandCounter"""
dso: str
sender: str
nextNonce: int
class ExternalPartyAmuletRules_CreateTransferCommandResult(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules_CreateTransferCommandResult"""
transferCommandCid: str
class ExternalPartyAmuletRules_CreateTransferCommand(BaseModel):
"""Record: Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules_CreateTransferCommand"""
sender: str
receiver: str
delegate: str
amount: Decimal
expiresAt: datetime
nonce: int
description: str | None
expectedDso: str | None
class ExternalPartyAmuletRules(BaseModel):
"""Template: Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules"""
dso: str
class TransferCommandResult_TransferCommandResultFailure(BaseModel):
"""Variant constructor: TransferCommandResultFailure"""
tag: Literal["TransferCommandResultFailure"] = "TransferCommandResultFailure"
value: TransferCommandResult_TransferCommandResultFailure
class TransferCommandResult_TransferCommandResultSuccess(BaseModel):
"""Variant constructor: TransferCommandResultSuccess"""
tag: Literal["TransferCommandResultSuccess"] = "TransferCommandResultSuccess"
value: TransferCommandResult_TransferCommandResultSuccess
TransferCommandResult = Annotated[Union[TransferCommandResult_TransferCommandResultFailure, TransferCommandResult_TransferCommandResultSuccess], Field(discriminator="tag")]
# Choices for template ExternalPartyAmuletRules:
# ExternalPartyAmuletRules_CreateTransferCommand (non-consuming): Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules_CreateTransferCommand -> Splice.ExternalPartyAmuletRules:ExternalPartyAmuletRules_CreateTransferCommandResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template TransferCommand:
# TransferCommand_Expire (consuming): Splice.ExternalPartyAmuletRules:TransferCommand_Expire -> Splice.ExternalPartyAmuletRules:TransferCommand_ExpireResult
# TransferCommand_Send (consuming): Splice.ExternalPartyAmuletRules:TransferCommand_Send -> Splice.ExternalPartyAmuletRules:TransferCommand_SendResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# TransferCommand_Withdraw (consuming): Splice.ExternalPartyAmuletRules:TransferCommand_Withdraw -> Splice.ExternalPartyAmuletRules:TransferCommand_WithdrawResult
# Choices for template TransferCommandCounter:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Schedule
# ============================================================
class Schedule(BaseModel):
"""Record: Splice.Schedule:Schedule"""
initialValue: a
futureValues: list[tuple[t, Any]]
# ============================================================
# Module: Splice.Fees
# ============================================================
class RatePerDay(BaseModel):
"""Record: Splice.Fees:RatePerDay"""
rate: Decimal
class ExpiringAmount(BaseModel):
"""Record: Splice.Fees:ExpiringAmount"""
initialAmount: Decimal
createdAt: Round
ratePerRound: RatePerRound
class SteppedRate(BaseModel):
"""Record: Splice.Fees:SteppedRate"""
initialRate: Decimal
steps: list[tuple[Decimal, Decimal]]
class FixedFee(BaseModel):
"""Record: Splice.Fees:FixedFee"""
fee: Decimal
class RatePerRound(BaseModel):
"""Record: Splice.Fees:RatePerRound"""
rate: Decimal
# ============================================================
# Module: Splice.Expiry
# ============================================================
class TimeLock(BaseModel):
"""Record: Splice.Expiry:TimeLock"""
holders: list[str]
expiresAt: datetime
optContext: str | None
class BoundedSet_Singleton(BaseModel):
"""Variant constructor: Singleton"""
tag: Literal["Singleton"] = "Singleton"
value: a
class BoundedSet_AfterMaxBound(BaseModel):
"""Variant constructor: AfterMaxBound"""
tag: Literal["AfterMaxBound"] = "AfterMaxBound"
value: None
BoundedSet = Annotated[Union[BoundedSet_Singleton, BoundedSet_AfterMaxBound], Field(discriminator="tag")]
# ============================================================
# Module: Splice.AmuletAllocation
# ============================================================
class AmuletAllocation(BaseModel):
"""Template: Splice.AmuletAllocation:AmuletAllocation"""
lockedAmulet: str
allocation: AllocationSpecification
# Choices for template AmuletAllocation:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Issuance
# ============================================================
class IssuanceTranche(BaseModel):
"""Record: Splice.Issuance:IssuanceTranche"""
rewardsToIssue: Decimal
issuancePerCoupon: Decimal
unclaimedRewards: Decimal
class IssuingRoundParameters(BaseModel):
"""Record: Splice.Issuance:IssuingRoundParameters"""
issuancePerValidatorRewardCoupon: Decimal
issuancePerFeaturedAppRewardCoupon: Decimal
issuancePerUnfeaturedAppRewardCoupon: Decimal
issuancePerSvRewardCoupon: Decimal
unclaimedAppRewards: Decimal
unclaimedValidatorRewards: Decimal
unclaimedSvRewards: Decimal
issuancePerValidatorFaucetCoupon: Decimal
optAmuletsToIssueToDevelopmentFund: Decimal | None
class OpenMiningRoundSummary(BaseModel):
"""Record: Splice.Issuance:OpenMiningRoundSummary"""
totalValidatorRewardCoupons: Decimal
totalFeaturedAppRewardCoupons: Decimal
totalUnfeaturedAppRewardCoupons: Decimal
totalSvRewardWeight: int
optTotalValidatorFaucetCoupons: int | None
class IssuanceConfig(BaseModel):
"""Record: Splice.Issuance:IssuanceConfig"""
amuletToIssuePerYear: Decimal
validatorRewardPercentage: Decimal
appRewardPercentage: Decimal
validatorRewardCap: Decimal
featuredAppRewardCap: Decimal
unfeaturedAppRewardCap: Decimal
optValidatorFaucetCap: Decimal | None
optDevelopmentFundPercentage: Decimal | None
# ============================================================
# Module: Splice.ValidatorLicense
# ============================================================
class ValidatorLivenessActivityRecord_DsoExpireResult(PyEnum):
ValidatorLivenessActivityRecord_DsoExpireResult = "ValidatorLivenessActivityRecord_DsoExpireResult"
class ValidatorFaucetCoupon_DsoExpireResult(PyEnum):
ValidatorFaucetCoupon_DsoExpireResult = "ValidatorFaucetCoupon_DsoExpireResult"
class ValidatorLicense_CancelResult(PyEnum):
ValidatorLicense_CancelResult = "ValidatorLicense_CancelResult"
class ValidatorLicense_WithdrawResult(PyEnum):
ValidatorLicense_WithdrawResult = "ValidatorLicense_WithdrawResult"
class ValidatorLivenessActivityRecord_DsoExpire(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLivenessActivityRecord_DsoExpire"""
closedRoundCid: str
class ValidatorLivenessActivityRecord(BaseModel):
"""Template: Splice.ValidatorLicense:ValidatorLivenessActivityRecord"""
dso: str
validator: str
round: Round
class ValidatorFaucetCoupon_DsoExpire(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorFaucetCoupon_DsoExpire"""
closedRoundCid: str
class ValidatorFaucetCoupon(BaseModel):
"""Template: Splice.ValidatorLicense:ValidatorFaucetCoupon"""
dso: str
validator: str
round: Round
class ValidatorLicense_ReportActive(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_ReportActive"""
pass
class ValidatorLicense_UpdateMetadata(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_UpdateMetadata"""
version: str
contactPoint: str
class ValidatorLicense_Cancel(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_Cancel"""
reason: str
class ValidatorLicense_Withdraw(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_Withdraw"""
reason: str
class ValidatorLicense_RecordValidatorLivenessActivity(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_RecordValidatorLivenessActivity"""
openRoundCid: str
class ValidatorLicense_ReceiveFaucetCoupon(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_ReceiveFaucetCoupon"""
openRoundCid: str
class ValidatorLicense(BaseModel):
"""Template: Splice.ValidatorLicense:ValidatorLicense"""
validator: str
sponsor: str
dso: str
faucetState: FaucetState | None
metadata: ValidatorLicenseMetadata | None
lastActiveAt: datetime | None
class ValidatorLicenseMetadata(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicenseMetadata"""
lastUpdatedAt: datetime
version: str
contactPoint: str
class ValidatorLicense_ReportActiveResult(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_ReportActiveResult"""
licenseCid: str
class ValidatorLicense_UpdateMetadataResult(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_UpdateMetadataResult"""
licenseCid: str
class ValidatorLicense_RecordValidatorLivenessActivityResult(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_RecordValidatorLivenessActivityResult"""
licenseCid: str
couponCid: str
class ValidatorLicense_ReceiveFaucetCouponResult(BaseModel):
"""Record: Splice.ValidatorLicense:ValidatorLicense_ReceiveFaucetCouponResult"""
licenseCid: str
couponCid: str
class FaucetState(BaseModel):
"""Record: Splice.ValidatorLicense:FaucetState"""
firstReceivedFor: Round
lastReceivedFor: Round
numCouponsMissed: int
# Choices for template ValidatorFaucetCoupon:
# ValidatorFaucetCoupon_DsoExpire (consuming): Splice.ValidatorLicense:ValidatorFaucetCoupon_DsoExpire -> Splice.ValidatorLicense:ValidatorFaucetCoupon_DsoExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template ValidatorLicense:
# ValidatorLicense_ReceiveFaucetCoupon (consuming): Splice.ValidatorLicense:ValidatorLicense_ReceiveFaucetCoupon -> Splice.ValidatorLicense:ValidatorLicense_ReceiveFaucetCouponResult
# ValidatorLicense_RecordValidatorLivenessActivity (consuming): Splice.ValidatorLicense:ValidatorLicense_RecordValidatorLivenessActivity -> Splice.ValidatorLicense:ValidatorLicense_RecordValidatorLivenessActivityResult
# ValidatorLicense_Withdraw (consuming): Splice.ValidatorLicense:ValidatorLicense_Withdraw -> Splice.ValidatorLicense:ValidatorLicense_WithdrawResult
# ValidatorLicense_Cancel (consuming): Splice.ValidatorLicense:ValidatorLicense_Cancel -> Splice.ValidatorLicense:ValidatorLicense_CancelResult
# ValidatorLicense_UpdateMetadata (consuming): Splice.ValidatorLicense:ValidatorLicense_UpdateMetadata -> Splice.ValidatorLicense:ValidatorLicense_UpdateMetadataResult
# ValidatorLicense_ReportActive (consuming): Splice.ValidatorLicense:ValidatorLicense_ReportActive -> Splice.ValidatorLicense:ValidatorLicense_ReportActiveResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template ValidatorLivenessActivityRecord:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ValidatorLivenessActivityRecord_DsoExpire (consuming): Splice.ValidatorLicense:ValidatorLivenessActivityRecord_DsoExpire -> Splice.ValidatorLicense:ValidatorLivenessActivityRecord_DsoExpireResult
# ============================================================
# Module: Splice.DecentralizedSynchronizer
# ============================================================
class ForMemberTraffic(BaseModel):
"""Record: Splice.DecentralizedSynchronizer:ForMemberTraffic"""
dso: str
memberId: str
synchronizerId: str
migrationId: int
class MemberTraffic(BaseModel):
"""Template: Splice.DecentralizedSynchronizer:MemberTraffic"""
dso: str
memberId: str
synchronizerId: str
migrationId: int
totalPurchased: int
numPurchases: int
amuletSpent: Decimal
usdSpent: Decimal
class SynchronizerFeesConfig(BaseModel):
"""Record: Splice.DecentralizedSynchronizer:SynchronizerFeesConfig"""
baseRateTrafficLimits: BaseRateTrafficLimits
extraTrafficPrice: Decimal
readVsWriteScalingFactor: int
minTopupAmount: int
class BaseRateTrafficLimits(BaseModel):
"""Record: Splice.DecentralizedSynchronizer:BaseRateTrafficLimits"""
burstAmount: int
burstWindow: RelTime
class AmuletDecentralizedSynchronizerConfig(BaseModel):
"""Record: Splice.DecentralizedSynchronizer:AmuletDecentralizedSynchronizerConfig"""
requiredSynchronizers: Set
activeSynchronizer: str
fees: SynchronizerFeesConfig
# Choices for template MemberTraffic:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.RelRound
# ============================================================
class RelRound(BaseModel):
"""Record: Splice.RelRound:RelRound"""
diff: int
# ============================================================
# Module: Splice.Round
# ============================================================
class ClosedMiningRound(BaseModel):
"""Template: Splice.Round:ClosedMiningRound"""
dso: str
round: Round
issuancePerValidatorRewardCoupon: Decimal
issuancePerFeaturedAppRewardCoupon: Decimal
issuancePerUnfeaturedAppRewardCoupon: Decimal
issuancePerSvRewardCoupon: Decimal
optIssuancePerValidatorFaucetCoupon: Decimal | None
class IssuingMiningRound(BaseModel):
"""Template: Splice.Round:IssuingMiningRound"""
dso: str
round: Round
issuancePerValidatorRewardCoupon: Decimal
issuancePerFeaturedAppRewardCoupon: Decimal
issuancePerUnfeaturedAppRewardCoupon: Decimal
issuancePerSvRewardCoupon: Decimal
opensAt: datetime
targetClosesAt: datetime
optIssuancePerValidatorFaucetCoupon: Decimal | None
class SummarizingMiningRound(BaseModel):
"""Template: Splice.Round:SummarizingMiningRound"""
dso: str
round: Round
amuletPrice: Decimal
issuanceConfig: IssuanceConfig
tickDuration: RelTime
class OpenMiningRound_Fetch(BaseModel):
"""Record: Splice.Round:OpenMiningRound_Fetch"""
p: str
class OpenMiningRound(BaseModel):
"""Template: Splice.Round:OpenMiningRound"""
dso: str
round: Round
amuletPrice: Decimal
opensAt: datetime
targetClosesAt: datetime
issuingFor: RelTime
transferConfigUsd: TransferConfig
issuanceConfig: IssuanceConfig
tickDuration: RelTime
# Choices for template ClosedMiningRound:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template IssuingMiningRound:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template OpenMiningRound:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# OpenMiningRound_Fetch (non-consuming): Splice.Round:OpenMiningRound_Fetch -> Splice.Round:OpenMiningRound
# Choices for template SummarizingMiningRound:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Amulet.TwoStepTransfer
# ============================================================
class TwoStepTransfer(BaseModel):
"""Record: Splice.Amulet.TwoStepTransfer:TwoStepTransfer"""
dso: str
sender: str
receiver: str
amount: Decimal
lockContext: str
transferBefore: datetime
transferBeforeDeadline: str
provider: str
allowFeaturing: bool
# ============================================================
# Module: Splice.Amulet.TokenApiUtils
# ============================================================
class TxKind(PyEnum):
TxKind_Transfer = "TxKind_Transfer"
TxKind_Unlock = "TxKind_Unlock"
TxKind_MergeSplit = "TxKind_MergeSplit"
TxKind_Burn = "TxKind_Burn"
TxKind_Mint = "TxKind_Mint"
TxKind_ExpireDust = "TxKind_ExpireDust"
# ############################################################
# Package: splice-amulet-name-service 0.1.17 (bcc80dce253c7b89...)
# ############################################################
# ============================================================
# Module: Splice.Ans.AmuletConversionRateFeed
# ============================================================
class AmuletConversionRateFeed_ArchiveAsDsoResult(PyEnum):
AmuletConversionRateFeed_ArchiveAsDsoResult = "AmuletConversionRateFeed_ArchiveAsDsoResult"
class AmuletConversionRateFeed_UpdateResult(BaseModel):
"""Record: Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_UpdateResult"""
cid: str
class AmuletConversionRateFeed_Update(BaseModel):
"""Record: Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_Update"""
amuletConversionRate: Decimal
amuletRulesCid: str
markerContextO: MarkerContext | None
newNextUpdateAfter: datetime
class AmuletConversionRateFeed_ArchiveAsDso(BaseModel):
"""Record: Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_ArchiveAsDso"""
reason: str
class AmuletConversionRateFeed(BaseModel):
"""Template: Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed"""
publisher: str
dso: str
nextUpdateAfter: datetime | None
amuletConversionRate: Decimal
class MarkerContext(BaseModel):
"""Record: Splice.Ans.AmuletConversionRateFeed:MarkerContext"""
featuredAppRightCid: str
beneficiaries: list[AppRewardBeneficiary]
# Choices for template AmuletConversionRateFeed:
# AmuletConversionRateFeed_ArchiveAsDso (consuming): Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_ArchiveAsDso -> Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_ArchiveAsDsoResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# AmuletConversionRateFeed_Update (consuming): Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_Update -> Splice.Ans.AmuletConversionRateFeed:AmuletConversionRateFeed_UpdateResult
# ============================================================
# Module: Splice.Ans
# ============================================================
class AnsEntry_Renew(BaseModel):
"""Record: Splice.Ans:AnsEntry_Renew"""
extension: RelTime
class AnsEntry_Expire(BaseModel):
"""Record: Splice.Ans:AnsEntry_Expire"""
actor: str
class AnsEntry(BaseModel):
"""Template: Splice.Ans:AnsEntry"""
user: str
dso: str
name: str
url: str
description: str
expiresAt: datetime
class AnsEntryContext_RejectEntryInitialPayment(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_RejectEntryInitialPayment"""
paymentCid: str
transferContext: AppTransferContext
ansRulesCid: str
class AnsEntryContext_CollectEntryRenewalPayment(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_CollectEntryRenewalPayment"""
paymentCid: str
entryCid: str
transferContext: AppTransferContext
ansRulesCid: str
class AnsEntryContext_CollectInitialEntryPayment(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_CollectInitialEntryPayment"""
paymentCid: str
transferContext: AppTransferContext
ansRulesCid: str
class AnsEntryContext_Terminate(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_Terminate"""
actor: str
terminatedSubscriptionCid: str
class AnsEntryContext(BaseModel):
"""Template: Splice.Ans:AnsEntryContext"""
dso: str
user: str
name: str
url: str
description: str
reference: str
class AnsRulesConfig(BaseModel):
"""Record: Splice.Ans:AnsRulesConfig"""
renewalDuration: RelTime
entryLifetime: RelTime
entryFee: Decimal
descriptionPrefix: str
class ExpectedEntryContext(BaseModel):
"""Record: Splice.Ans:ExpectedEntryContext"""
dso: str
user: str
reference: str
class ExpectedPayment(BaseModel):
"""Record: Splice.Ans:ExpectedPayment"""
dso: str
sender: str
class AnsRules_RejectEntryInitialPayment(BaseModel):
"""Record: Splice.Ans:AnsRules_RejectEntryInitialPayment"""
paymentCid: str
transferContext: AppTransferContext
class AnsRules_CollectEntryRenewalPayment(BaseModel):
"""Record: Splice.Ans:AnsRules_CollectEntryRenewalPayment"""
user: str
entryContext: str
paymentCid: str
entryCid: str
transferContext: AppTransferContext
class AnsRules_CollectInitialEntryPayment(BaseModel):
"""Record: Splice.Ans:AnsRules_CollectInitialEntryPayment"""
user: str
entryContext: str
paymentCid: str
transferContext: AppTransferContext
class AnsRules_RequestEntry(BaseModel):
"""Record: Splice.Ans:AnsRules_RequestEntry"""
name: str
url: str
description: str
user: str
class AnsRules(BaseModel):
"""Template: Splice.Ans:AnsRules"""
dso: str
config: AnsRulesConfig
class AnsEntry_RenewResult(BaseModel):
"""Record: Splice.Ans:AnsEntry_RenewResult"""
entryCid: str
class AnsEntry_ExpireResult(BaseModel):
"""Record: Splice.Ans:AnsEntry_ExpireResult"""
pass
class AnsEntryContext_TerminateResult(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_TerminateResult"""
pass
class AnsEntryContext_RejectEntryInitialPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_RejectEntryInitialPaymentResult"""
amuletSum: AmuletCreateSummary
class AnsEntryContext_CollectEntryRenewalPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_CollectEntryRenewalPaymentResult"""
entryCid: str
subscriptionStateCid: str
class AnsRules_RejectEntryInitialPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsRules_RejectEntryInitialPaymentResult"""
amuletSum: AmuletCreateSummary
class AnsRules_CollectEntryRenewalPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsRules_CollectEntryRenewalPaymentResult"""
entryCid: str
subscriptionStateCid: str
class AnsEntryContext_CollectInitialEntryPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsEntryContext_CollectInitialEntryPaymentResult"""
entryCid: str
subscriptionStateCid: str
class AnsRules_CollectInitialEntryPaymentResult(BaseModel):
"""Record: Splice.Ans:AnsRules_CollectInitialEntryPaymentResult"""
entryCid: str
subscriptionStateCid: str
class AnsRules_RequestEntryResult(BaseModel):
"""Record: Splice.Ans:AnsRules_RequestEntryResult"""
entryCid: str
requestCid: str
# Choices for template AnsEntry:
# AnsEntry_Renew (consuming): Splice.Ans:AnsEntry_Renew -> Splice.Ans:AnsEntry_RenewResult
# AnsEntry_Expire (consuming): Splice.Ans:AnsEntry_Expire -> Splice.Ans:AnsEntry_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template AnsEntryContext:
# AnsEntryContext_Terminate (consuming): Splice.Ans:AnsEntryContext_Terminate -> Splice.Ans:AnsEntryContext_TerminateResult
# AnsEntryContext_CollectInitialEntryPayment (non-consuming): Splice.Ans:AnsEntryContext_CollectInitialEntryPayment -> Splice.Ans:AnsEntryContext_CollectInitialEntryPaymentResult
# AnsEntryContext_CollectEntryRenewalPayment (non-consuming): Splice.Ans:AnsEntryContext_CollectEntryRenewalPayment -> Splice.Ans:AnsEntryContext_CollectEntryRenewalPaymentResult
# AnsEntryContext_RejectEntryInitialPayment (non-consuming): Splice.Ans:AnsEntryContext_RejectEntryInitialPayment -> Splice.Ans:AnsEntryContext_RejectEntryInitialPaymentResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template AnsRules:
# AnsRules_RequestEntry (non-consuming): Splice.Ans:AnsRules_RequestEntry -> Splice.Ans:AnsRules_RequestEntryResult
# AnsRules_CollectInitialEntryPayment (non-consuming): Splice.Ans:AnsRules_CollectInitialEntryPayment -> Splice.Ans:AnsRules_CollectInitialEntryPaymentResult
# AnsRules_CollectEntryRenewalPayment (non-consuming): Splice.Ans:AnsRules_CollectEntryRenewalPayment -> Splice.Ans:AnsRules_CollectEntryRenewalPaymentResult
# AnsRules_RejectEntryInitialPayment (non-consuming): Splice.Ans:AnsRules_RejectEntryInitialPayment -> Splice.Ans:AnsRules_RejectEntryInitialPaymentResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ############################################################
# Package: splice-api-featured-app-v1 1.0.0 (7804375fe5e4c6d5...)
# ############################################################
# ============================================================
# Module: Splice.Api.FeaturedAppRightV1
# ============================================================
class FeaturedAppActivityMarkerView(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV1:FeaturedAppActivityMarkerView"""
dso: str
provider: str
beneficiary: str
weight: Decimal
class FeaturedAppRightView(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV1:FeaturedAppRightView"""
dso: str
provider: str
class FeaturedAppRight_CreateActivityMarkerResult(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV1:FeaturedAppRight_CreateActivityMarkerResult"""
activityMarkerCids: list[str]
class FeaturedAppRight_CreateActivityMarker(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV1:FeaturedAppRight_CreateActivityMarker"""
beneficiaries: list[AppRewardBeneficiary]
class AppRewardBeneficiary(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV1:AppRewardBeneficiary"""
beneficiary: str
weight: Decimal
# ############################################################
# Package: splice-api-featured-app-v2 1.0.0 (dd22e3e168a8c7fd...)
# ############################################################
# ============================================================
# Module: Splice.Api.FeaturedAppRightV2
# ============================================================
class FeaturedAppActivityMarkerView(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV2:FeaturedAppActivityMarkerView"""
dso: str
provider: str
beneficiary: str
weight: Decimal
class FeaturedAppRightView(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV2:FeaturedAppRightView"""
dso: str
provider: str
class FeaturedAppRight_CreateActivityMarkerResult(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV2:FeaturedAppRight_CreateActivityMarkerResult"""
activityMarkerCids: list[str]
class FeaturedAppRight_CreateActivityMarker(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV2:FeaturedAppRight_CreateActivityMarker"""
beneficiaries: list[AppRewardBeneficiary]
weight: Decimal | None
class AppRewardBeneficiary(BaseModel):
"""Record: Splice.Api.FeaturedAppRightV2:AppRewardBeneficiary"""
beneficiary: str
weight: Decimal
# ############################################################
# Package: splice-api-token-allocation-instruction-v1 1.0.0 (275064aacfe99cea...)
# ############################################################
# ============================================================
# Module: Splice.Api.Token.AllocationInstructionV1
# ============================================================
class AllocationInstructionResult_Output_AllocationInstructionResult_Pending(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstructionResult_Output.AllocationInstructionResult_Pending"""
allocationInstructionCid: str
class AllocationInstructionResult_Output_AllocationInstructionResult_Completed(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstructionResult_Output.AllocationInstructionResult_Completed"""
allocationCid: str
class AllocationInstructionResult(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstructionResult"""
output: AllocationInstructionResult_Output
senderChangeCids: list[str]
meta: Metadata
class AllocationFactory_PublicFetch(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationFactory_PublicFetch"""
expectedAdmin: str
actor: str
class AllocationFactory_Allocate(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationFactory_Allocate"""
expectedAdmin: str
allocation: AllocationSpecification
requestedAt: datetime
inputHoldingCids: list[str]
extraArgs: ExtraArgs
class AllocationFactoryView(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationFactoryView"""
admin: str
meta: Metadata
class AllocationInstruction_Update(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstruction_Update"""
extraActors: list[str]
extraArgs: ExtraArgs
class AllocationInstruction_Withdraw(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstruction_Withdraw"""
extraArgs: ExtraArgs
class AllocationInstructionView(BaseModel):
"""Record: Splice.Api.Token.AllocationInstructionV1:AllocationInstructionView"""
originalInstructionCid: str | None
allocation: AllocationSpecification
pendingActions: dict[str, Any]
requestedAt: datetime
inputHoldingCids: list[str]
meta: Metadata
class AllocationInstructionResult_Output_AllocationInstructionResult_Pending(BaseModel):
"""Variant constructor: AllocationInstructionResult_Pending"""
tag: Literal["AllocationInstructionResult_Pending"] = "AllocationInstructionResult_Pending"
value: AllocationInstructionResult_Output_AllocationInstructionResult_Pending
class AllocationInstructionResult_Output_AllocationInstructionResult_Completed(BaseModel):
"""Variant constructor: AllocationInstructionResult_Completed"""
tag: Literal["AllocationInstructionResult_Completed"] = "AllocationInstructionResult_Completed"
value: AllocationInstructionResult_Output_AllocationInstructionResult_Completed
class AllocationInstructionResult_Output_AllocationInstructionResult_Failed(BaseModel):
"""Variant constructor: AllocationInstructionResult_Failed"""
tag: Literal["AllocationInstructionResult_Failed"] = "AllocationInstructionResult_Failed"
value: None
AllocationInstructionResult_Output = Annotated[Union[AllocationInstructionResult_Output_AllocationInstructionResult_Pending, AllocationInstructionResult_Output_AllocationInstructionResult_Completed, AllocationInstructionResult_Output_AllocationInstructionResult_Failed], Field(discriminator="tag")]
# ############################################################
# Package: splice-api-token-allocation-v1 1.0.0 (93c942ae2b4c2ba6...)
# ############################################################
# ============================================================
# Module: Splice.Api.Token.AllocationV1
# ============================================================
class Allocation_WithdrawResult(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_WithdrawResult"""
senderHoldingCids: list[str]
meta: Metadata
class Allocation_CancelResult(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_CancelResult"""
senderHoldingCids: list[str]
meta: Metadata
class Allocation_ExecuteTransferResult(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_ExecuteTransferResult"""
senderHoldingCids: list[str]
receiverHoldingCids: list[str]
meta: Metadata
class Allocation_Withdraw(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_Withdraw"""
extraArgs: ExtraArgs
class Allocation_Cancel(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_Cancel"""
extraArgs: ExtraArgs
class Allocation_ExecuteTransfer(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Allocation_ExecuteTransfer"""
extraArgs: ExtraArgs
class AllocationView(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:AllocationView"""
allocation: AllocationSpecification
holdingCids: list[str]
meta: Metadata
class AllocationSpecification(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:AllocationSpecification"""
settlement: SettlementInfo
transferLegId: str
transferLeg: TransferLeg
class TransferLeg(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:TransferLeg"""
sender: str
receiver: str
amount: Decimal
instrumentId: InstrumentId
meta: Metadata
class SettlementInfo(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:SettlementInfo"""
executor: str
settlementRef: Reference
requestedAt: datetime
allocateBefore: datetime
settleBefore: datetime
meta: Metadata
class Reference(BaseModel):
"""Record: Splice.Api.Token.AllocationV1:Reference"""
id: str
cid: str | None
# ############################################################
# Package: splice-api-token-holding-v1 1.0.0 (718a0f77e505a8de...)
# ############################################################
# ============================================================
# Module: Splice.Api.Token.HoldingV1
# ============================================================
class HoldingView(BaseModel):
"""Record: Splice.Api.Token.HoldingV1:HoldingView"""
owner: str
instrumentId: InstrumentId
amount: Decimal
lock: Lock | None
meta: Metadata
class Lock(BaseModel):
"""Record: Splice.Api.Token.HoldingV1:Lock"""
holders: list[str]
expiresAt: datetime | None
expiresAfter: RelTime | None
context: str | None
class InstrumentId(BaseModel):
"""Record: Splice.Api.Token.HoldingV1:InstrumentId"""
admin: str
id: str
# ############################################################
# Package: splice-api-token-metadata-v1 1.0.0 (4ded6b668cb3b64f...)
# ############################################################
# ============================================================
# Module: Splice.Api.Token.MetadataV1
# ============================================================
class ChoiceExecutionMetadata(BaseModel):
"""Record: Splice.Api.Token.MetadataV1:ChoiceExecutionMetadata"""
meta: Metadata
class ExtraArgs(BaseModel):
"""Record: Splice.Api.Token.MetadataV1:ExtraArgs"""
context: ChoiceContext
meta: Metadata
class Metadata(BaseModel):
"""Record: Splice.Api.Token.MetadataV1:Metadata"""
values: dict[str, str]
class ChoiceContext(BaseModel):
"""Record: Splice.Api.Token.MetadataV1:ChoiceContext"""
values: dict[str, AnyValue]
class AnyContractView(BaseModel):
"""Record: Splice.Api.Token.MetadataV1:AnyContractView"""
pass
class AnyValue_AV_Text(BaseModel):
"""Variant constructor: AV_Text"""
tag: Literal["AV_Text"] = "AV_Text"
value: str
class AnyValue_AV_Int(BaseModel):
"""Variant constructor: AV_Int"""
tag: Literal["AV_Int"] = "AV_Int"
value: int
class AnyValue_AV_Decimal(BaseModel):
"""Variant constructor: AV_Decimal"""
tag: Literal["AV_Decimal"] = "AV_Decimal"
value: Decimal
class AnyValue_AV_Bool(BaseModel):
"""Variant constructor: AV_Bool"""
tag: Literal["AV_Bool"] = "AV_Bool"
value: bool
class AnyValue_AV_Date(BaseModel):
"""Variant constructor: AV_Date"""
tag: Literal["AV_Date"] = "AV_Date"
value: date
class AnyValue_AV_Time(BaseModel):
"""Variant constructor: AV_Time"""
tag: Literal["AV_Time"] = "AV_Time"
value: datetime
class AnyValue_AV_RelTime(BaseModel):
"""Variant constructor: AV_RelTime"""
tag: Literal["AV_RelTime"] = "AV_RelTime"
value: RelTime
class AnyValue_AV_Party(BaseModel):
"""Variant constructor: AV_Party"""
tag: Literal["AV_Party"] = "AV_Party"
value: str
class AnyValue_AV_ContractId(BaseModel):
"""Variant constructor: AV_ContractId"""
tag: Literal["AV_ContractId"] = "AV_ContractId"
value: str
class AnyValue_AV_List(BaseModel):
"""Variant constructor: AV_List"""
tag: Literal["AV_List"] = "AV_List"
value: list[AnyValue]
class AnyValue_AV_Map(BaseModel):
"""Variant constructor: AV_Map"""
tag: Literal["AV_Map"] = "AV_Map"
value: dict[str, AnyValue]
AnyValue = Annotated[Union[AnyValue_AV_Text, AnyValue_AV_Int, AnyValue_AV_Decimal, AnyValue_AV_Bool, AnyValue_AV_Date, AnyValue_AV_Time, AnyValue_AV_RelTime, AnyValue_AV_Party, AnyValue_AV_ContractId, AnyValue_AV_List, AnyValue_AV_Map], Field(discriminator="tag")]
# ############################################################
# Package: splice-api-token-transfer-instruction-v1 1.0.0 (55ba4deb0ad4662c...)
# ############################################################
# ============================================================
# Module: Splice.Api.Token.TransferInstructionV1
# ============================================================
class TransferFactoryView(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferFactoryView"""
admin: str
meta: Metadata
class TransferFactory_PublicFetch(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferFactory_PublicFetch"""
expectedAdmin: str
actor: str
class TransferFactory_Transfer(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferFactory_Transfer"""
expectedAdmin: str
transfer: Transfer
extraArgs: ExtraArgs
class TransferInstruction_Update(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstruction_Update"""
extraActors: list[str]
extraArgs: ExtraArgs
class TransferInstruction_Withdraw(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstruction_Withdraw"""
extraArgs: ExtraArgs
class TransferInstruction_Reject(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstruction_Reject"""
extraArgs: ExtraArgs
class TransferInstruction_Accept(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstruction_Accept"""
extraArgs: ExtraArgs
class TransferInstructionView(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstructionView"""
originalInstructionCid: str | None
transfer: Transfer
status: TransferInstructionStatus
meta: Metadata
class TransferInstructionStatus_TransferPendingInternalWorkflow(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstructionStatus.TransferPendingInternalWorkflow"""
pendingActions: dict[str, Any]
class TransferInstructionResult_Output_TransferInstructionResult_Pending(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstructionResult_Output.TransferInstructionResult_Pending"""
transferInstructionCid: str
class TransferInstructionResult_Output_TransferInstructionResult_Completed(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstructionResult_Output.TransferInstructionResult_Completed"""
receiverHoldingCids: list[str]
class TransferInstructionResult(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:TransferInstructionResult"""
output: TransferInstructionResult_Output
senderChangeCids: list[str]
meta: Metadata
class Transfer(BaseModel):
"""Record: Splice.Api.Token.TransferInstructionV1:Transfer"""
sender: str
receiver: str
amount: Decimal
instrumentId: InstrumentId
requestedAt: datetime
executeBefore: datetime
inputHoldingCids: list[str]
meta: Metadata
class TransferInstructionStatus_TransferPendingReceiverAcceptance(BaseModel):
"""Variant constructor: TransferPendingReceiverAcceptance"""
tag: Literal["TransferPendingReceiverAcceptance"] = "TransferPendingReceiverAcceptance"
value: None
class TransferInstructionStatus_TransferPendingInternalWorkflow(BaseModel):
"""Variant constructor: TransferPendingInternalWorkflow"""
tag: Literal["TransferPendingInternalWorkflow"] = "TransferPendingInternalWorkflow"
value: TransferInstructionStatus_TransferPendingInternalWorkflow
TransferInstructionStatus = Annotated[Union[TransferInstructionStatus_TransferPendingReceiverAcceptance, TransferInstructionStatus_TransferPendingInternalWorkflow], Field(discriminator="tag")]
class TransferInstructionResult_Output_TransferInstructionResult_Pending(BaseModel):
"""Variant constructor: TransferInstructionResult_Pending"""
tag: Literal["TransferInstructionResult_Pending"] = "TransferInstructionResult_Pending"
value: TransferInstructionResult_Output_TransferInstructionResult_Pending
class TransferInstructionResult_Output_TransferInstructionResult_Completed(BaseModel):
"""Variant constructor: TransferInstructionResult_Completed"""
tag: Literal["TransferInstructionResult_Completed"] = "TransferInstructionResult_Completed"
value: TransferInstructionResult_Output_TransferInstructionResult_Completed
class TransferInstructionResult_Output_TransferInstructionResult_Failed(BaseModel):
"""Variant constructor: TransferInstructionResult_Failed"""
tag: Literal["TransferInstructionResult_Failed"] = "TransferInstructionResult_Failed"
value: None
TransferInstructionResult_Output = Annotated[Union[TransferInstructionResult_Output_TransferInstructionResult_Pending, TransferInstructionResult_Output_TransferInstructionResult_Completed, TransferInstructionResult_Output_TransferInstructionResult_Failed], Field(discriminator="tag")]
# ############################################################
# Package: splice-dso-governance 0.1.22 (5c28530209b9ab37...)
# ############################################################
# ============================================================
# Module: Splice.CometBft
# ============================================================
class CometBftConfigLimits(BaseModel):
"""Record: Splice.CometBft:CometBftConfigLimits"""
maxNumCometBftNodes: int
maxNumGovernanceKeys: int
maxNumSequencingKeys: int
maxNodeIdLength: int
maxPubKeyLength: int
class CometBftConfig(BaseModel):
"""Record: Splice.CometBft:CometBftConfig"""
nodes: dict[str, Any]
governanceKeys: list[GovernanceKeyConfig]
sequencingKeys: list[SequencingKeyConfig]
class SequencingKeyConfig(BaseModel):
"""Record: Splice.CometBft:SequencingKeyConfig"""
pubKey: str
class GovernanceKeyConfig(BaseModel):
"""Record: Splice.CometBft:GovernanceKeyConfig"""
pubKey: str
class CometBftNodeConfig(BaseModel):
"""Record: Splice.CometBft:CometBftNodeConfig"""
validatorPubKey: str
votingPower: int
# ============================================================
# Module: Splice.DSO.DecentralizedSynchronizer
# ============================================================
class SynchronizerState(PyEnum):
DS_Bootstrapping = "DS_Bootstrapping"
DS_Operational = "DS_Operational"
DS_Decomissioned = "DS_Decomissioned"
ExtSynchronizerState = "ExtSynchronizerState"
class SynchronizerNodeConfigLimits(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerNodeConfigLimits"""
cometBft: CometBftConfigLimits
class SynchronizerNodeConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerNodeConfig"""
cometBft: CometBftConfig
sequencer: SequencerConfig | None
mediator: MediatorConfig | None
scan: ScanConfig | None
legacySequencerConfig: LegacySequencerConfig | None
class ScanConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:ScanConfig"""
publicUrl: str
class MediatorConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:MediatorConfig"""
mediatorId: str
class LegacySequencerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:LegacySequencerConfig"""
migrationId: int
sequencerId: str
url: str
class SequencerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SequencerConfig"""
migrationId: int
sequencerId: str
url: str
availableAfter: datetime | None
class SynchronizerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:SynchronizerConfig"""
state: SynchronizerState
cometBftGenesisJson: str
acsCommitmentReconciliationInterval: int | None
class DsoDecentralizedSynchronizerConfig(BaseModel):
"""Record: Splice.DSO.DecentralizedSynchronizer:DsoDecentralizedSynchronizerConfig"""
synchronizers: dict[str, Any]
lastSynchronizerId: str
activeSynchronizerId: str
# ============================================================
# Module: Splice.DsoRules
# ============================================================
class DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult(PyEnum):
DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult = "DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult"
class DsoRules_ExpireTransferPreapprovalResult(PyEnum):
DsoRules_ExpireTransferPreapprovalResult = "DsoRules_ExpireTransferPreapprovalResult"
class DsoRules_TerminateSubscriptionResult(PyEnum):
DsoRules_TerminateSubscriptionResult = "DsoRules_TerminateSubscriptionResult"
class DsoRules_ExpireSubscriptionResult(PyEnum):
DsoRules_ExpireSubscriptionResult = "DsoRules_ExpireSubscriptionResult"
class DsoRules_ExpireAnsEntryResult(PyEnum):
DsoRules_ExpireAnsEntryResult = "DsoRules_ExpireAnsEntryResult"
class DsoRules_ArchiveSvOnboardingRequestResult(PyEnum):
DsoRules_ArchiveSvOnboardingRequestResult = "DsoRules_ArchiveSvOnboardingRequestResult"
class DsoRules_ExpireSvOnboardingRequestResult(PyEnum):
DsoRules_ExpireSvOnboardingRequestResult = "DsoRules_ExpireSvOnboardingRequestResult"
class DsoRules_RevokeFeaturedAppRightResult(PyEnum):
DsoRules_RevokeFeaturedAppRightResult = "DsoRules_RevokeFeaturedAppRightResult"
class DsoRules_GarbageCollectAmuletPriceVotesResult(PyEnum):
DsoRules_GarbageCollectAmuletPriceVotesResult = "DsoRules_GarbageCollectAmuletPriceVotesResult"
class DsoRules_ExpireStaleConfirmationResult(PyEnum):
DsoRules_ExpireStaleConfirmationResult = "DsoRules_ExpireStaleConfirmationResult"
class DsoRules_ExecuteConfirmedActionResult(PyEnum):
DsoRules_ExecuteConfirmedActionResult = "DsoRules_ExecuteConfirmedActionResult"
class DsoRules_ArchiveOutdatedElectionRequestResult(PyEnum):
DsoRules_ArchiveOutdatedElectionRequestResult = "DsoRules_ArchiveOutdatedElectionRequestResult"
class Confirmation_ExpireResult(PyEnum):
Confirmation_ExpireResult = "Confirmation_ExpireResult"
class UnallocatedUnclaimedActivityRecord(BaseModel):
"""Template: Splice.DsoRules:UnallocatedUnclaimedActivityRecord"""
dso: str
beneficiary: str
amount: Decimal
reason: str
expiresAt: datetime
class VotingState(BaseModel):
"""Record: Splice.DsoRules:VotingState"""
rankings: dict[a, Any]
loosers: Set
class DsoRules_ExpireUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecord"""
unclaimedActivityRecordCid: str
sv: str
class DsoRules_ExpireUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecord"""
unallocatedUnclaimedActivityRecordCid: str
sv: str
class DsoRules_AllocateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecord"""
unallocatedUnclaimedActivityRecordCid: str
amuletRulesCid: str
unclaimedRewardsToBurnCids: list[str]
sv: str
class DsoRules_CreateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecord"""
beneficiary: str
amount: Decimal
reason: str
expiresAt: datetime
class DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers"""
amuletRulesCid: str
argument: AmuletRules_ConvertFeaturedAppActivityMarkers
sv: str | None
class DsoRules_ExpireTransferPreapproval(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireTransferPreapproval"""
transferPreapprovalCid: str
sv: str | None
class DsoRules_CreateTransferCommandCounter(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateTransferCommandCounter"""
sender: str
class DsoRules_CreateExternalPartyAmuletRules(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRules"""
pass
class DsoRules_PruneAmuletConfigSchedule(BaseModel):
"""Record: Splice.DsoRules:DsoRules_PruneAmuletConfigSchedule"""
amuletRulesCid: str
sv: str | None
class DsoRules_MergeSvRewardState(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeSvRewardState"""
svName: str
rewardStateCids: list[str]
sv: str | None
class DsoRules_MergeMemberTrafficContracts(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeMemberTrafficContracts"""
amuletRulesCid: str
trafficCids: list[str]
sv: str | None
class DsoRules_ExpireStaleConfirmation(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireStaleConfirmation"""
staleConfirmationCid: str
sv: str | None
class DsoRules_MiningRound_Close(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MiningRound_Close"""
amuletRulesCid: str
issuingRoundCid: str
sv: str | None
class DsoRules_ExpireDevelopmentFundCoupon(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireDevelopmentFundCoupon"""
developmentFundCouponCid: str
sv: str
class DsoRules_MergeUnclaimedDevelopmentFundCoupons(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCoupons"""
amuletRulesCid: str
choiceArg: AmuletRules_MergeUnclaimedDevelopmentFundCoupons
sv: str
class DsoRules_MergeUnclaimedRewards(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedRewards"""
amuletRulesCid: str
unclaimedRewardCids: list[str]
sv: str | None
class DsoRules_ClaimExpiredRewards(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ClaimExpiredRewards"""
amuletRulesCid: str
choiceArg: AmuletRules_ClaimExpiredRewards
sv: str | None
class DsoRules_ReceiveSvRewardCoupon(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ReceiveSvRewardCoupon"""
sv: str
openRoundCid: str
rewardStateCid: str
beneficiaries: list[tuple[str, Any]]
class DsoRules_TerminateSubscription(BaseModel):
"""Record: Splice.DsoRules:DsoRules_TerminateSubscription"""
ansEntryContextCid: str
terminatedSubscriptionCid: str
sv: str | None
class DsoRules_ExpireSubscription(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSubscription"""
ansEntryContextCid: str
subscriptionIdleStateCid: str
choiceArg: SubscriptionIdleState_ExpireSubscription
sv: str | None
class DsoRules_ExpireAnsEntry(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireAnsEntry"""
ansEntryCid: str
choiceArg: AnsEntry_Expire
sv: str | None
class DsoRules_CollectEntryRenewalPayment(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CollectEntryRenewalPayment"""
ansEntryContextCid: str
choiceArg: AnsEntryContext_CollectEntryRenewalPayment
sv: str | None
class DsoRules_AdvanceOpenMiningRounds(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AdvanceOpenMiningRounds"""
amuletRulesCid: str
roundToArchiveCid: str
middleRoundCid: str
latestRoundCid: str
amuletPriceVoteCids: list[str]
sv: str | None
class DsoRules_LockedAmulet_ExpireAmulet(BaseModel):
"""Record: Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmulet"""
cid: str
choiceArg: LockedAmulet_ExpireAmulet
sv: str | None
class DsoRules_Amulet_Expire(BaseModel):
"""Record: Splice.DsoRules:DsoRules_Amulet_Expire"""
cid: str
choiceArg: Amulet_Expire
sv: str | None
class DsoRules_ExpireSvOnboardingConfirmed(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmed"""
cid: str
sv: str | None
class DsoRules_ConfirmSvOnboarding(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmSvOnboarding"""
newSvParty: str
newSvName: str
newParticipantId: str
newSvRewardWeight: int
reason: str
class DsoRules_ArchiveSvOnboardingRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequest"""
svOnboardingRequestCid: str
sv: str | None
class DsoRules_ExpireSvOnboardingRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingRequest"""
cid: str
sv: str | None
class DsoRules_StartSvOnboarding(BaseModel):
"""Record: Splice.DsoRules:DsoRules_StartSvOnboarding"""
candidateName: str
candidateParty: str
candidateParticipantId: str
token: str
sponsor: str
class DsoRules_MergeValidatorLicense(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeValidatorLicense"""
validatorLicenseCids: list[str]
sv: str | None
class DsoRules_OnboardValidator(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OnboardValidator"""
sponsor: str
validator: str
version: str | None
contactPoint: str | None
class DsoRules_RevokeFeaturedAppRight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RevokeFeaturedAppRight"""
rightCid: str
class DsoRules_GrantFeaturedAppRight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GrantFeaturedAppRight"""
provider: str
class DsoRules_UpdateSvRewardWeight(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateSvRewardWeight"""
svParty: str
newRewardWeight: int
class DsoRules_SetConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetConfig"""
newConfig: DsoRulesConfig
baseConfig: DsoRulesConfig | None
class DsoRules_GarbageCollectAmuletPriceVotes(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotes"""
nonSvVoteCids: list[str]
duplicateVoteCids: list[list[str]]
sv: str | None
class DsoRules_UpdateAmuletPriceVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateAmuletPriceVote"""
sv: str
voteCid: str
amuletPrice: Decimal
class DsoRules_CloseVoteRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CloseVoteRequest"""
requestCid: str
amuletRulesCid: str | None
sv: str | None
class DsoRules_CastVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CastVote"""
requestCid: str
vote: Vote
class DsoRules_RequestVote(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestVote"""
requester: str
action: ActionRequiringConfirmation
reason: Reason
voteRequestTimeout: RelTime | None
targetEffectiveAt: datetime | None
class DsoRules_ExecuteConfirmedAction(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExecuteConfirmedAction"""
action: ActionRequiringConfirmation
amuletRulesCid: str | None
confirmationCids: list[str]
sv: str | None
class DsoRules_ConfirmAction(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmAction"""
confirmer: str
action: ActionRequiringConfirmation
class DsoRules_ArchiveOutdatedElectionRequest(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequest"""
requestCid: str
sv: str | None
class DsoRules_ElectDsoDelegate(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ElectDsoDelegate"""
actor: str
requestCids: list[str]
class DsoRules_RequestElection(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestElection"""
requester: str
reason: ElectionRequestReason
ranking: list[str]
class DsoRules_SetSynchronizerNodeConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetSynchronizerNodeConfig"""
sv: str
synchronizerId: str
newNodeConfig: SynchronizerNodeConfig
nodeStateCid: str
class DsoRules_AddConfirmedSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddConfirmedSv"""
sv: str
svOnboardingConfirmedCid: str
earliestRoundCid: str
middleRoundCid: str
latestRoundCid: str
amuletRulesCid: str
class DsoRules_SubmitStatusReport(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SubmitStatusReport"""
sv: str
previousReportCid: str
status: SvStatus
class DsoRules_OffboardSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OffboardSv"""
sv: str
class DsoRules_AddSv(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddSv"""
newSvParty: str
newSvName: str
newSvRewardWeight: int
newSvParticipantId: str
joinedAsOfRound: Round
class DsoRules(BaseModel):
"""Template: Splice.DsoRules:DsoRules"""
dso: str
epoch: int
svs: dict[str, Any]
offboardedSvs: dict[str, Any]
dsoDelegate: str
config: DsoRulesConfig
initialTrafficState: dict[str, Any]
isDevNet: bool
class TrafficState(BaseModel):
"""Record: Splice.DsoRules:TrafficState"""
consumedTraffic: int
class SynchronizerUpgradeSchedule(BaseModel):
"""Record: Splice.DsoRules:SynchronizerUpgradeSchedule"""
time: datetime
migrationId: int
class DsoRulesConfig(BaseModel):
"""Record: Splice.DsoRules:DsoRulesConfig"""
numUnclaimedRewardsThreshold: int
numMemberTrafficContractsThreshold: int
actionConfirmationTimeout: RelTime
svOnboardingRequestTimeout: RelTime
svOnboardingConfirmedTimeout: RelTime
voteRequestTimeout: RelTime
dsoDelegateInactiveTimeout: RelTime
synchronizerNodeConfigLimits: SynchronizerNodeConfigLimits
maxTextLength: int
decentralizedSynchronizer: DsoDecentralizedSynchronizerConfig
nextScheduledSynchronizerUpgrade: SynchronizerUpgradeSchedule | None
voteCooldownTime: RelTime | None
class Reason(BaseModel):
"""Record: Splice.DsoRules:Reason"""
url: str
body: str
class Vote(BaseModel):
"""Record: Splice.DsoRules:Vote"""
sv: str
accept: bool
reason: Reason
optCastAt: datetime | None
class VoteRequestOutcome_VRO_AcceptedButActionFailed(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.VRO_AcceptedButActionFailed"""
description: str
class VoteRequestOutcome_VRO_Accepted(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.VRO_Accepted"""
effectiveAt: datetime
class VoteRequestOutcome_ExtVoteRequestOutcome(BaseModel):
"""Record: Splice.DsoRules:VoteRequestOutcome.ExtVoteRequestOutcome"""
dummyUnitField: None
class DsoRules_CloseVoteRequestResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CloseVoteRequestResult"""
request: VoteRequest
completedAt: datetime
offboardedVoters: list[str]
abstainingSvs: list[str]
outcome: VoteRequestOutcome
class VoteRequest(BaseModel):
"""Template: Splice.DsoRules:VoteRequest"""
dso: str
requester: str
action: ActionRequiringConfirmation
reason: Reason
voteBefore: datetime
votes: dict[str, Any]
trackingCid: str | None
targetEffectiveAt: datetime | None
class Confirmation_Expire(BaseModel):
"""Record: Splice.DsoRules:Confirmation_Expire"""
pass
class Confirmation(BaseModel):
"""Template: Splice.DsoRules:Confirmation"""
dso: str
confirmer: str
action: ActionRequiringConfirmation
expiresAt: datetime
class ElectionRequest(BaseModel):
"""Template: Splice.DsoRules:ElectionRequest"""
dso: str
requester: str
epoch: int
reason: ElectionRequestReason
ranking: list[str]
class ElectionRequestReason_ExtElectionRequestReason(BaseModel):
"""Record: Splice.DsoRules:ElectionRequestReason.ExtElectionRequestReason"""
dummyUnitField: None
class DsoRules_ExpireUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecordResult"""
unclaimedRewardCid: str
class DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult"""
unclaimedActivityRecordCid: str
optUnclaimedRewardCid: str | None
class DsoRules_CreateUnallocatedUnclaimedActivityRecordResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecordResult"""
unallocatedUnclaimedActivityRecordCid: str
class DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult"""
result: AmuletRules_ConvertFeaturedAppActivityMarkersResult
class DsoRules_CreateTransferCommandCounterResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateTransferCommandCounterResult"""
transferCommandCounterCid: str
class DsoRules_CreateExternalPartyAmuletRulesResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRulesResult"""
externalPartyAmuletRulesCid: str
class DsoRules_PruneAmuletConfigScheduleResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_PruneAmuletConfigScheduleResult"""
amuletRulesCid: str
class DsoRules_MergeSvRewardStateResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeSvRewardStateResult"""
svRewardState: str
class DsoRules_MergeMemberTrafficContractsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeMemberTrafficContractsResult"""
memberTraffic: str
class DsoRules_MiningRound_CloseResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MiningRound_CloseResult"""
closedRound: str
class DsoRules_ExpireDevelopmentFundCouponResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireDevelopmentFundCouponResult"""
result: DevelopmentFundCoupon_DsoExpireResult
class DsoRules_MergeUnclaimedDevelopmentFundCouponsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCouponsResult"""
result: AmuletRules_MergeUnclaimedDevelopmentFundCouponsResult
class DsoRules_MergeUnclaimedRewardsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeUnclaimedRewardsResult"""
unclaimedReward: str
class DsoRules_ClaimExpiredRewardsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ClaimExpiredRewardsResult"""
unclaimedReward: str | None
class DsoRules_ReceiveSvRewardCouponResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ReceiveSvRewardCouponResult"""
svRewardState: str
svRewardCoupons: list[str]
class DsoRules_CollectEntryRenewalPaymentResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CollectEntryRenewalPaymentResult"""
ansEntry: str
subscriptionState: str
class DsoRules_AdvanceOpenMiningRoundsResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AdvanceOpenMiningRoundsResult"""
summarizingRound: str
openRound: str
class DsoRules_LockedAmulet_ExpireAmuletResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmuletResult"""
expireSum: AmuletExpireSummary
class DsoRules_Amulet_ExpireResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_Amulet_ExpireResult"""
expireSum: AmuletExpireSummary
class DsoRules_ExpireSvOnboardingConfirmedResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmedResult"""
newDsoRules: str
class DsoRules_ConfirmSvOnboardingResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmSvOnboardingResult"""
onboardingConfirmed: str
class DsoRules_StartSvOnboardingResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_StartSvOnboardingResult"""
onboardingRequest: str
class DsoRules_MergeValidatorLicenseResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_MergeValidatorLicenseResult"""
validatorLicense: str
class DsoRules_OnboardValidatorResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OnboardValidatorResult"""
validatorLicense: str
class DsoRules_GrantFeaturedAppRightResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_GrantFeaturedAppRightResult"""
featuredAppRight: str
class DsoRules_UpdateSvRewardWeightResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateSvRewardWeightResult"""
newDsoRules: str
class DsoRules_SetConfigResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetConfigResult"""
newDsoRules: str
class DsoRules_UpdateAmuletPriceVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_UpdateAmuletPriceVoteResult"""
amuletPriceVote: str
class DsoRules_CastVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_CastVoteResult"""
voteRequest: str
class DsoRules_RequestVoteResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestVoteResult"""
voteRequest: str
class DsoRules_ConfirmActionResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ConfirmActionResult"""
confirmation: str
class DsoRules_ElectDsoDelegateResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_ElectDsoDelegateResult"""
newDsoRules: str
class DsoRules_RequestElectionResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_RequestElectionResult"""
electionRequestCid: str
class DsoRules_SetSynchronizerNodeConfigResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SetSynchronizerNodeConfigResult"""
svNodeState: str
class DsoRules_AddConfirmedSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddConfirmedSvResult"""
newDsoRules: str
class DsoRules_SubmitStatusReportResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_SubmitStatusReportResult"""
newReport: str
class DsoRules_OffboardSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_OffboardSvResult"""
newDsoRules: str
class DsoRules_AddSvResult(BaseModel):
"""Record: Splice.DsoRules:DsoRules_AddSvResult"""
newDsoRules: str
class DsoSummary(BaseModel):
"""Record: Splice.DsoRules:DsoSummary"""
dsoDelegate: str
numSvs: int
requiredNumVotes: int
class OffboardedSvInfo(BaseModel):
"""Record: Splice.DsoRules:OffboardedSvInfo"""
name: str
participantId: str
class SvInfo(BaseModel):
"""Record: Splice.DsoRules:SvInfo"""
name: str
joinedAsOfRound: Round
svRewardWeight: int
participantId: str
class ActionRequiringConfirmation_ARC_DsoRules(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_DsoRules"""
dsoAction: DsoRules_ActionRequiringConfirmation
class ActionRequiringConfirmation_ARC_AmuletRules(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_AmuletRules"""
amuletRulesAction: AmuletRules_ActionRequiringConfirmation
class ActionRequiringConfirmation_ARC_AnsEntryContext(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ARC_AnsEntryContext"""
ansEntryContextCid: str
ansEntryContextAction: AnsEntryContext_ActionRequiringConfirmation
class ActionRequiringConfirmation_ExtActionRequiringConformation(BaseModel):
"""Record: Splice.DsoRules:ActionRequiringConfirmation.ExtActionRequiringConformation"""
dummyUnitField: None
class VoteRequestOutcome_VRO_AcceptedButActionFailed(BaseModel):
"""Variant constructor: VRO_AcceptedButActionFailed"""
tag: Literal["VRO_AcceptedButActionFailed"] = "VRO_AcceptedButActionFailed"
value: VoteRequestOutcome_VRO_AcceptedButActionFailed
class VoteRequestOutcome_VRO_Accepted(BaseModel):
"""Variant constructor: VRO_Accepted"""
tag: Literal["VRO_Accepted"] = "VRO_Accepted"
value: VoteRequestOutcome_VRO_Accepted
class VoteRequestOutcome_VRO_Rejected(BaseModel):
"""Variant constructor: VRO_Rejected"""
tag: Literal["VRO_Rejected"] = "VRO_Rejected"
value: None
class VoteRequestOutcome_VRO_Expired(BaseModel):
"""Variant constructor: VRO_Expired"""
tag: Literal["VRO_Expired"] = "VRO_Expired"
value: None
class VoteRequestOutcome_ExtVoteRequestOutcome(BaseModel):
"""Variant constructor: ExtVoteRequestOutcome"""
tag: Literal["ExtVoteRequestOutcome"] = "ExtVoteRequestOutcome"
value: VoteRequestOutcome_ExtVoteRequestOutcome
VoteRequestOutcome = Annotated[Union[VoteRequestOutcome_VRO_AcceptedButActionFailed, VoteRequestOutcome_VRO_Accepted, VoteRequestOutcome_VRO_Rejected, VoteRequestOutcome_VRO_Expired, VoteRequestOutcome_ExtVoteRequestOutcome], Field(discriminator="tag")]
class ElectionRequestReason_ERR_DsoDelegateUnavailable(BaseModel):
"""Variant constructor: ERR_DsoDelegateUnavailable"""
tag: Literal["ERR_DsoDelegateUnavailable"] = "ERR_DsoDelegateUnavailable"
value: None
class ElectionRequestReason_ERR_OtherReason(BaseModel):
"""Variant constructor: ERR_OtherReason"""
tag: Literal["ERR_OtherReason"] = "ERR_OtherReason"
value: str
class ElectionRequestReason_ExtElectionRequestReason(BaseModel):
"""Variant constructor: ExtElectionRequestReason"""
tag: Literal["ExtElectionRequestReason"] = "ExtElectionRequestReason"
value: ElectionRequestReason_ExtElectionRequestReason
ElectionRequestReason = Annotated[Union[ElectionRequestReason_ERR_DsoDelegateUnavailable, ElectionRequestReason_ERR_OtherReason, ElectionRequestReason_ExtElectionRequestReason], Field(discriminator="tag")]
class AnsEntryContext_ActionRequiringConfirmation_ANSRARC_CollectInitialEntryPayment(BaseModel):
"""Variant constructor: ANSRARC_CollectInitialEntryPayment"""
tag: Literal["ANSRARC_CollectInitialEntryPayment"] = "ANSRARC_CollectInitialEntryPayment"
value: AnsEntryContext_CollectInitialEntryPayment
class AnsEntryContext_ActionRequiringConfirmation_ANSRARC_RejectEntryInitialPayment(BaseModel):
"""Variant constructor: ANSRARC_RejectEntryInitialPayment"""
tag: Literal["ANSRARC_RejectEntryInitialPayment"] = "ANSRARC_RejectEntryInitialPayment"
value: AnsEntryContext_RejectEntryInitialPayment
AnsEntryContext_ActionRequiringConfirmation = Annotated[Union[AnsEntryContext_ActionRequiringConfirmation_ANSRARC_CollectInitialEntryPayment, AnsEntryContext_ActionRequiringConfirmation_ANSRARC_RejectEntryInitialPayment], Field(discriminator="tag")]
class DsoRules_ActionRequiringConfirmation_SRARC_AddSv(BaseModel):
"""Variant constructor: SRARC_AddSv"""
tag: Literal["SRARC_AddSv"] = "SRARC_AddSv"
value: DsoRules_AddSv
class DsoRules_ActionRequiringConfirmation_SRARC_OffboardSv(BaseModel):
"""Variant constructor: SRARC_OffboardSv"""
tag: Literal["SRARC_OffboardSv"] = "SRARC_OffboardSv"
value: DsoRules_OffboardSv
class DsoRules_ActionRequiringConfirmation_SRARC_ConfirmSvOnboarding(BaseModel):
"""Variant constructor: SRARC_ConfirmSvOnboarding"""
tag: Literal["SRARC_ConfirmSvOnboarding"] = "SRARC_ConfirmSvOnboarding"
value: DsoRules_ConfirmSvOnboarding
class DsoRules_ActionRequiringConfirmation_SRARC_GrantFeaturedAppRight(BaseModel):
"""Variant constructor: SRARC_GrantFeaturedAppRight"""
tag: Literal["SRARC_GrantFeaturedAppRight"] = "SRARC_GrantFeaturedAppRight"
value: DsoRules_GrantFeaturedAppRight
class DsoRules_ActionRequiringConfirmation_SRARC_RevokeFeaturedAppRight(BaseModel):
"""Variant constructor: SRARC_RevokeFeaturedAppRight"""
tag: Literal["SRARC_RevokeFeaturedAppRight"] = "SRARC_RevokeFeaturedAppRight"
value: DsoRules_RevokeFeaturedAppRight
class DsoRules_ActionRequiringConfirmation_SRARC_SetConfig(BaseModel):
"""Variant constructor: SRARC_SetConfig"""
tag: Literal["SRARC_SetConfig"] = "SRARC_SetConfig"
value: DsoRules_SetConfig
class DsoRules_ActionRequiringConfirmation_SRARC_UpdateSvRewardWeight(BaseModel):
"""Variant constructor: SRARC_UpdateSvRewardWeight"""
tag: Literal["SRARC_UpdateSvRewardWeight"] = "SRARC_UpdateSvRewardWeight"
value: DsoRules_UpdateSvRewardWeight
class DsoRules_ActionRequiringConfirmation_SRARC_CreateExternalPartyAmuletRules(BaseModel):
"""Variant constructor: SRARC_CreateExternalPartyAmuletRules"""
tag: Literal["SRARC_CreateExternalPartyAmuletRules"] = "SRARC_CreateExternalPartyAmuletRules"
value: DsoRules_CreateExternalPartyAmuletRules
class DsoRules_ActionRequiringConfirmation_SRARC_CreateTransferCommandCounter(BaseModel):
"""Variant constructor: SRARC_CreateTransferCommandCounter"""
tag: Literal["SRARC_CreateTransferCommandCounter"] = "SRARC_CreateTransferCommandCounter"
value: DsoRules_CreateTransferCommandCounter
class DsoRules_ActionRequiringConfirmation_SRARC_CreateUnallocatedUnclaimedActivityRecord(BaseModel):
"""Variant constructor: SRARC_CreateUnallocatedUnclaimedActivityRecord"""
tag: Literal["SRARC_CreateUnallocatedUnclaimedActivityRecord"] = "SRARC_CreateUnallocatedUnclaimedActivityRecord"
value: DsoRules_CreateUnallocatedUnclaimedActivityRecord
DsoRules_ActionRequiringConfirmation = Annotated[Union[DsoRules_ActionRequiringConfirmation_SRARC_AddSv, DsoRules_ActionRequiringConfirmation_SRARC_OffboardSv, DsoRules_ActionRequiringConfirmation_SRARC_ConfirmSvOnboarding, DsoRules_ActionRequiringConfirmation_SRARC_GrantFeaturedAppRight, DsoRules_ActionRequiringConfirmation_SRARC_RevokeFeaturedAppRight, DsoRules_ActionRequiringConfirmation_SRARC_SetConfig, DsoRules_ActionRequiringConfirmation_SRARC_UpdateSvRewardWeight, DsoRules_ActionRequiringConfirmation_SRARC_CreateExternalPartyAmuletRules, DsoRules_ActionRequiringConfirmation_SRARC_CreateTransferCommandCounter, DsoRules_ActionRequiringConfirmation_SRARC_CreateUnallocatedUnclaimedActivityRecord], Field(discriminator="tag")]
class AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_StartIssuing(BaseModel):
"""Variant constructor: CRARC_MiningRound_StartIssuing"""
tag: Literal["CRARC_MiningRound_StartIssuing"] = "CRARC_MiningRound_StartIssuing"
value: AmuletRules_MiningRound_StartIssuing
class AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_Archive(BaseModel):
"""Variant constructor: CRARC_MiningRound_Archive"""
tag: Literal["CRARC_MiningRound_Archive"] = "CRARC_MiningRound_Archive"
value: AmuletRules_MiningRound_Archive
class AmuletRules_ActionRequiringConfirmation_CRARC_AddFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_AddFutureAmuletConfigSchedule"""
tag: Literal["CRARC_AddFutureAmuletConfigSchedule"] = "CRARC_AddFutureAmuletConfigSchedule"
value: AmuletRules_AddFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_RemoveFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_RemoveFutureAmuletConfigSchedule"""
tag: Literal["CRARC_RemoveFutureAmuletConfigSchedule"] = "CRARC_RemoveFutureAmuletConfigSchedule"
value: AmuletRules_RemoveFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_UpdateFutureAmuletConfigSchedule(BaseModel):
"""Variant constructor: CRARC_UpdateFutureAmuletConfigSchedule"""
tag: Literal["CRARC_UpdateFutureAmuletConfigSchedule"] = "CRARC_UpdateFutureAmuletConfigSchedule"
value: AmuletRules_UpdateFutureAmuletConfigSchedule
class AmuletRules_ActionRequiringConfirmation_CRARC_SetConfig(BaseModel):
"""Variant constructor: CRARC_SetConfig"""
tag: Literal["CRARC_SetConfig"] = "CRARC_SetConfig"
value: AmuletRules_SetConfig
AmuletRules_ActionRequiringConfirmation = Annotated[Union[AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_StartIssuing, AmuletRules_ActionRequiringConfirmation_CRARC_MiningRound_Archive, AmuletRules_ActionRequiringConfirmation_CRARC_AddFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_RemoveFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_UpdateFutureAmuletConfigSchedule, AmuletRules_ActionRequiringConfirmation_CRARC_SetConfig], Field(discriminator="tag")]
class ActionRequiringConfirmation_ARC_DsoRules(BaseModel):
"""Variant constructor: ARC_DsoRules"""
tag: Literal["ARC_DsoRules"] = "ARC_DsoRules"
value: ActionRequiringConfirmation_ARC_DsoRules
class ActionRequiringConfirmation_ARC_AmuletRules(BaseModel):
"""Variant constructor: ARC_AmuletRules"""
tag: Literal["ARC_AmuletRules"] = "ARC_AmuletRules"
value: ActionRequiringConfirmation_ARC_AmuletRules
class ActionRequiringConfirmation_ARC_AnsEntryContext(BaseModel):
"""Variant constructor: ARC_AnsEntryContext"""
tag: Literal["ARC_AnsEntryContext"] = "ARC_AnsEntryContext"
value: ActionRequiringConfirmation_ARC_AnsEntryContext
class ActionRequiringConfirmation_ExtActionRequiringConformation(BaseModel):
"""Variant constructor: ExtActionRequiringConformation"""
tag: Literal["ExtActionRequiringConformation"] = "ExtActionRequiringConformation"
value: ActionRequiringConfirmation_ExtActionRequiringConformation
ActionRequiringConfirmation = Annotated[Union[ActionRequiringConfirmation_ARC_DsoRules, ActionRequiringConfirmation_ARC_AmuletRules, ActionRequiringConfirmation_ARC_AnsEntryContext, ActionRequiringConfirmation_ExtActionRequiringConformation], Field(discriminator="tag")]
# Choices for template Confirmation:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Confirmation_Expire (consuming): Splice.DsoRules:Confirmation_Expire -> Splice.DsoRules:Confirmation_ExpireResult
# Choices for template DsoRules:
# DsoRules_AddSv (consuming): Splice.DsoRules:DsoRules_AddSv -> Splice.DsoRules:DsoRules_AddSvResult
# DsoRules_UpdateAmuletPriceVote (non-consuming): Splice.DsoRules:DsoRules_UpdateAmuletPriceVote -> Splice.DsoRules:DsoRules_UpdateAmuletPriceVoteResult
# DsoRules_CastVote (non-consuming): Splice.DsoRules:DsoRules_CastVote -> Splice.DsoRules:DsoRules_CastVoteResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# DsoRules_OffboardSv (consuming): Splice.DsoRules:DsoRules_OffboardSv -> Splice.DsoRules:DsoRules_OffboardSvResult
# DsoRules_SubmitStatusReport (non-consuming): Splice.DsoRules:DsoRules_SubmitStatusReport -> Splice.DsoRules:DsoRules_SubmitStatusReportResult
# DsoRules_AddConfirmedSv (non-consuming): Splice.DsoRules:DsoRules_AddConfirmedSv -> Splice.DsoRules:DsoRules_AddConfirmedSvResult
# DsoRules_SetSynchronizerNodeConfig (non-consuming): Splice.DsoRules:DsoRules_SetSynchronizerNodeConfig -> Splice.DsoRules:DsoRules_SetSynchronizerNodeConfigResult
# DsoRules_ConfirmAction (non-consuming): Splice.DsoRules:DsoRules_ConfirmAction -> Splice.DsoRules:DsoRules_ConfirmActionResult
# DsoRules_ExecuteConfirmedAction (non-consuming): Splice.DsoRules:DsoRules_ExecuteConfirmedAction -> Splice.DsoRules:DsoRules_ExecuteConfirmedActionResult
# DsoRules_RequestVote (non-consuming): Splice.DsoRules:DsoRules_RequestVote -> Splice.DsoRules:DsoRules_RequestVoteResult
# DsoRules_CloseVoteRequest (non-consuming): Splice.DsoRules:DsoRules_CloseVoteRequest -> Splice.DsoRules:DsoRules_CloseVoteRequestResult
# DsoRules_GarbageCollectAmuletPriceVotes (non-consuming): Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotes -> Splice.DsoRules:DsoRules_GarbageCollectAmuletPriceVotesResult
# DsoRules_SetConfig (consuming): Splice.DsoRules:DsoRules_SetConfig -> Splice.DsoRules:DsoRules_SetConfigResult
# DsoRules_UpdateSvRewardWeight (consuming): Splice.DsoRules:DsoRules_UpdateSvRewardWeight -> Splice.DsoRules:DsoRules_UpdateSvRewardWeightResult
# DsoRules_GrantFeaturedAppRight (non-consuming): Splice.DsoRules:DsoRules_GrantFeaturedAppRight -> Splice.DsoRules:DsoRules_GrantFeaturedAppRightResult
# DsoRules_RevokeFeaturedAppRight (non-consuming): Splice.DsoRules:DsoRules_RevokeFeaturedAppRight -> Splice.DsoRules:DsoRules_RevokeFeaturedAppRightResult
# DsoRules_OnboardValidator (non-consuming): Splice.DsoRules:DsoRules_OnboardValidator -> Splice.DsoRules:DsoRules_OnboardValidatorResult
# DsoRules_MergeValidatorLicense (non-consuming): Splice.DsoRules:DsoRules_MergeValidatorLicense -> Splice.DsoRules:DsoRules_MergeValidatorLicenseResult
# DsoRules_StartSvOnboarding (non-consuming): Splice.DsoRules:DsoRules_StartSvOnboarding -> Splice.DsoRules:DsoRules_StartSvOnboardingResult
# DsoRules_ExpireSvOnboardingRequest (non-consuming): Splice.DsoRules:DsoRules_ExpireSvOnboardingRequest -> Splice.DsoRules:DsoRules_ExpireSvOnboardingRequestResult
# DsoRules_ArchiveSvOnboardingRequest (non-consuming): Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequest -> Splice.DsoRules:DsoRules_ArchiveSvOnboardingRequestResult
# DsoRules_ConfirmSvOnboarding (non-consuming): Splice.DsoRules:DsoRules_ConfirmSvOnboarding -> Splice.DsoRules:DsoRules_ConfirmSvOnboardingResult
# DsoRules_ExpireSvOnboardingConfirmed (consuming): Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmed -> Splice.DsoRules:DsoRules_ExpireSvOnboardingConfirmedResult
# DsoRules_Amulet_Expire (non-consuming): Splice.DsoRules:DsoRules_Amulet_Expire -> Splice.DsoRules:DsoRules_Amulet_ExpireResult
# DsoRules_LockedAmulet_ExpireAmulet (non-consuming): Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmulet -> Splice.DsoRules:DsoRules_LockedAmulet_ExpireAmuletResult
# DsoRules_AdvanceOpenMiningRounds (non-consuming): Splice.DsoRules:DsoRules_AdvanceOpenMiningRounds -> Splice.DsoRules:DsoRules_AdvanceOpenMiningRoundsResult
# DsoRules_CollectEntryRenewalPayment (non-consuming): Splice.DsoRules:DsoRules_CollectEntryRenewalPayment -> Splice.DsoRules:DsoRules_CollectEntryRenewalPaymentResult
# DsoRules_ExpireAnsEntry (non-consuming): Splice.DsoRules:DsoRules_ExpireAnsEntry -> Splice.DsoRules:DsoRules_ExpireAnsEntryResult
# DsoRules_ExpireSubscription (non-consuming): Splice.DsoRules:DsoRules_ExpireSubscription -> Splice.DsoRules:DsoRules_ExpireSubscriptionResult
# DsoRules_TerminateSubscription (non-consuming): Splice.DsoRules:DsoRules_TerminateSubscription -> Splice.DsoRules:DsoRules_TerminateSubscriptionResult
# DsoRules_ReceiveSvRewardCoupon (non-consuming): Splice.DsoRules:DsoRules_ReceiveSvRewardCoupon -> Splice.DsoRules:DsoRules_ReceiveSvRewardCouponResult
# DsoRules_ClaimExpiredRewards (non-consuming): Splice.DsoRules:DsoRules_ClaimExpiredRewards -> Splice.DsoRules:DsoRules_ClaimExpiredRewardsResult
# DsoRules_MergeUnclaimedRewards (non-consuming): Splice.DsoRules:DsoRules_MergeUnclaimedRewards -> Splice.DsoRules:DsoRules_MergeUnclaimedRewardsResult
# DsoRules_MergeUnclaimedDevelopmentFundCoupons (non-consuming): Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCoupons -> Splice.DsoRules:DsoRules_MergeUnclaimedDevelopmentFundCouponsResult
# DsoRules_ExpireDevelopmentFundCoupon (non-consuming): Splice.DsoRules:DsoRules_ExpireDevelopmentFundCoupon -> Splice.DsoRules:DsoRules_ExpireDevelopmentFundCouponResult
# DsoRules_MiningRound_Close (non-consuming): Splice.DsoRules:DsoRules_MiningRound_Close -> Splice.DsoRules:DsoRules_MiningRound_CloseResult
# DsoRules_ExpireStaleConfirmation (non-consuming): Splice.DsoRules:DsoRules_ExpireStaleConfirmation -> Splice.DsoRules:DsoRules_ExpireStaleConfirmationResult
# DsoRules_MergeMemberTrafficContracts (non-consuming): Splice.DsoRules:DsoRules_MergeMemberTrafficContracts -> Splice.DsoRules:DsoRules_MergeMemberTrafficContractsResult
# DsoRules_MergeSvRewardState (non-consuming): Splice.DsoRules:DsoRules_MergeSvRewardState -> Splice.DsoRules:DsoRules_MergeSvRewardStateResult
# DsoRules_CreateExternalPartyAmuletRules (non-consuming): Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRules -> Splice.DsoRules:DsoRules_CreateExternalPartyAmuletRulesResult
# DsoRules_CreateTransferCommandCounter (non-consuming): Splice.DsoRules:DsoRules_CreateTransferCommandCounter -> Splice.DsoRules:DsoRules_CreateTransferCommandCounterResult
# DsoRules_ExpireTransferPreapproval (non-consuming): Splice.DsoRules:DsoRules_ExpireTransferPreapproval -> Splice.DsoRules:DsoRules_ExpireTransferPreapprovalResult
# DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers (non-consuming): Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkers -> Splice.DsoRules:DsoRules_AmuletRules_ConvertFeaturedAppActivityMarkersResult
# DsoRules_CreateUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_CreateUnallocatedUnclaimedActivityRecordResult
# DsoRules_AllocateUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_AllocateUnallocatedUnclaimedActivityRecordResult
# DsoRules_ExpireUnallocatedUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_ExpireUnallocatedUnclaimedActivityRecordResult
# DsoRules_ExpireUnclaimedActivityRecord (non-consuming): Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecord -> Splice.DsoRules:DsoRules_ExpireUnclaimedActivityRecordResult
# DsoRules_PruneAmuletConfigSchedule (non-consuming): Splice.DsoRules:DsoRules_PruneAmuletConfigSchedule -> Splice.DsoRules:DsoRules_PruneAmuletConfigScheduleResult
# DsoRules_RequestElection (non-consuming): Splice.DsoRules:DsoRules_RequestElection -> Splice.DsoRules:DsoRules_RequestElectionResult
# DsoRules_ElectDsoDelegate (consuming): Splice.DsoRules:DsoRules_ElectDsoDelegate -> Splice.DsoRules:DsoRules_ElectDsoDelegateResult
# DsoRules_ArchiveOutdatedElectionRequest (non-consuming): Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequest -> Splice.DsoRules:DsoRules_ArchiveOutdatedElectionRequestResult
# Choices for template ElectionRequest:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template UnallocatedUnclaimedActivityRecord:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template VoteRequest:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.DsoBootstrap
# ============================================================
class DsoBootstrap_BootstrapResult(PyEnum):
DsoBootstrap_BootstrapResult = "DsoBootstrap_BootstrapResult"
class DsoBootstrap_Bootstrap(BaseModel):
"""Record: Splice.DsoBootstrap:DsoBootstrap_Bootstrap"""
pass
class DsoBootstrap(BaseModel):
"""Template: Splice.DsoBootstrap:DsoBootstrap"""
dso: str
sv1Party: str
sv1Name: str
sv1RewardWeight: int
sv1ParticipantId: str
sv1SynchronizerNodes: dict[str, Any]
round0Duration: RelTime
amuletConfig: AmuletConfig
amuletPrice: Decimal
ansRulesConfig: AnsRulesConfig
config: DsoRulesConfig
initialTrafficState: dict[str, Any]
isDevNet: bool
initialRound: int | None
# Choices for template DsoBootstrap:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# DsoBootstrap_Bootstrap (consuming): Splice.DsoBootstrap:DsoBootstrap_Bootstrap -> Splice.DsoBootstrap:DsoBootstrap_BootstrapResult
# ============================================================
# Module: Splice.DSO.SvState
# ============================================================
class SvStatusReport(BaseModel):
"""Template: Splice.DSO.SvState:SvStatusReport"""
dso: str
sv: str
svName: str
number: int
status: SvStatus | None
class SvStatus(BaseModel):
"""Record: Splice.DSO.SvState:SvStatus"""
createdAt: datetime
cometBftHeight: int
mediatorSynchronizerTime: datetime
participantSynchronizerTime: datetime
latestOpenRound: Round
class SvNodeState(BaseModel):
"""Template: Splice.DSO.SvState:SvNodeState"""
dso: str
sv: str
svName: str
state: NodeState
class NodeState(BaseModel):
"""Record: Splice.DSO.SvState:NodeState"""
synchronizerNodes: dict[str, Any]
class SvRewardState(BaseModel):
"""Template: Splice.DSO.SvState:SvRewardState"""
dso: str
svName: str
state: RewardState
class RewardState(BaseModel):
"""Record: Splice.DSO.SvState:RewardState"""
numRoundsMissed: int
numRoundsCollected: int
lastRoundCollected: Round
numCouponsIssued: int
class ForSvNode(BaseModel):
"""Record: Splice.DSO.SvState:ForSvNode"""
dso: str
sv: str
svName: str
class ForSv(BaseModel):
"""Record: Splice.DSO.SvState:ForSv"""
dso: str
svName: str
# Choices for template SvNodeState:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SvRewardState:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SvStatusReport:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.DSO.AmuletPrice
# ============================================================
class AmuletPriceVote(BaseModel):
"""Template: Splice.DSO.AmuletPrice:AmuletPriceVote"""
dso: str
sv: str
amuletPrice: Decimal | None
lastUpdatedAt: datetime
# Choices for template AmuletPriceVote:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.SvOnboarding
# ============================================================
class SvOnboardingConfirmed_ExpireResult(PyEnum):
SvOnboardingConfirmed_ExpireResult = "SvOnboardingConfirmed_ExpireResult"
class SvOnboardingRequest_ExpireResult(PyEnum):
SvOnboardingRequest_ExpireResult = "SvOnboardingRequest_ExpireResult"
class SvOnboardingConfirmed_Expire(BaseModel):
"""Record: Splice.SvOnboarding:SvOnboardingConfirmed_Expire"""
pass
class SvOnboardingConfirmed(BaseModel):
"""Template: Splice.SvOnboarding:SvOnboardingConfirmed"""
svParty: str
svName: str
svRewardWeight: int
svParticipantId: str
reason: str
dso: str
expiresAt: datetime
class SvOnboardingRequest_Expire(BaseModel):
"""Record: Splice.SvOnboarding:SvOnboardingRequest_Expire"""
pass
class SvOnboardingRequest(BaseModel):
"""Template: Splice.SvOnboarding:SvOnboardingRequest"""
candidateName: str
candidateParty: str
candidateParticipantId: str
token: str
sponsor: str
dso: str
expiresAt: datetime
# Choices for template SvOnboardingConfirmed:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# SvOnboardingConfirmed_Expire (consuming): Splice.SvOnboarding:SvOnboardingConfirmed_Expire -> Splice.SvOnboarding:SvOnboardingConfirmed_ExpireResult
# Choices for template SvOnboardingRequest:
# SvOnboardingRequest_Expire (consuming): Splice.SvOnboarding:SvOnboardingRequest_Expire -> Splice.SvOnboarding:SvOnboardingRequest_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ############################################################
# Package: splice-wallet-payments 0.1.16 (45e7ac4601186747...)
# ############################################################
# ============================================================
# Module: Splice.Wallet.Payment
# ============================================================
class Unit(PyEnum):
USDUnit = "USDUnit"
AmuletUnit = "AmuletUnit"
ExtUnit = "ExtUnit"
class AcceptedAppPayment_Expire(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_Expire"""
context: AppTransferContext
class AcceptedAppPayment_Reject(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_Reject"""
context: AppTransferContext
class AcceptedAppPayment_Collect(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_Collect"""
context: AppTransferContext
class AcceptedAppPayment(BaseModel):
"""Template: Splice.Wallet.Payment:AcceptedAppPayment"""
sender: str
amuletReceiverAmounts: list[ReceiverAmuletAmount]
provider: str
dso: str
lockedAmulet: str
round: Round
reference: str
class AcceptedAppPayment_CollectResult(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_CollectResult"""
receiverAmulets: list[tuple[str, Any]]
class ReceiverAmulet(BaseModel):
"""Record: Splice.Wallet.Payment:ReceiverAmulet"""
receiver: str
lockedAmulet: str
class TerminatedAppPayment(BaseModel):
"""Template: Splice.Wallet.Payment:TerminatedAppPayment"""
sender: str
provider: str
receivers: list[str]
reference: str
class AppPaymentRequest_Reject(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_Reject"""
pass
class AppPaymentRequest_Withdraw(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_Withdraw"""
pass
class AppPaymentRequest_Accept(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_Accept"""
inputs: list[TransferInput]
context: PaymentTransferContext
walletProvider: str
class AppPaymentRequest_Expire(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_Expire"""
actor: str
class AppPaymentRequest(BaseModel):
"""Template: Splice.Wallet.Payment:AppPaymentRequest"""
sender: str
receiverAmounts: list[ReceiverAmount]
provider: str
dso: str
expiresAt: datetime
description: str
class ReceiverAmuletAmount(BaseModel):
"""Record: Splice.Wallet.Payment:ReceiverAmuletAmount"""
receiver: str
amuletAmount: Decimal
class ReceiverAmount(BaseModel):
"""Record: Splice.Wallet.Payment:ReceiverAmount"""
receiver: str
amount: PaymentAmount
class PaymentAmount(BaseModel):
"""Record: Splice.Wallet.Payment:PaymentAmount"""
amount: Decimal
unit: Unit
class AcceptedAppPayment_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_ExpireResult"""
amulet: AmuletCreateSummary
class AcceptedAppPayment_RejectResult(BaseModel):
"""Record: Splice.Wallet.Payment:AcceptedAppPayment_RejectResult"""
amulet: AmuletCreateSummary
class AppPaymentRequest_RejectResult(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_RejectResult"""
terminatedAppPayment: str
class AppPaymentRequest_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_WithdrawResult"""
terminatedAppPayment: str
class AppPaymentRequest_AcceptResult(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_AcceptResult"""
acceptedPayment: str
senderChangeAmulet: str | None
class AppPaymentRequest_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Payment:AppPaymentRequest_ExpireResult"""
terminatedAppPayment: str
# Choices for template AcceptedAppPayment:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# AcceptedAppPayment_Collect (consuming): Splice.Wallet.Payment:AcceptedAppPayment_Collect -> Splice.Wallet.Payment:AcceptedAppPayment_CollectResult
# AcceptedAppPayment_Expire (consuming): Splice.Wallet.Payment:AcceptedAppPayment_Expire -> Splice.Wallet.Payment:AcceptedAppPayment_ExpireResult
# AcceptedAppPayment_Reject (consuming): Splice.Wallet.Payment:AcceptedAppPayment_Reject -> Splice.Wallet.Payment:AcceptedAppPayment_RejectResult
# Choices for template AppPaymentRequest:
# AppPaymentRequest_Accept (consuming): Splice.Wallet.Payment:AppPaymentRequest_Accept -> Splice.Wallet.Payment:AppPaymentRequest_AcceptResult
# AppPaymentRequest_Expire (consuming): Splice.Wallet.Payment:AppPaymentRequest_Expire -> Splice.Wallet.Payment:AppPaymentRequest_ExpireResult
# AppPaymentRequest_Reject (consuming): Splice.Wallet.Payment:AppPaymentRequest_Reject -> Splice.Wallet.Payment:AppPaymentRequest_RejectResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# AppPaymentRequest_Withdraw (consuming): Splice.Wallet.Payment:AppPaymentRequest_Withdraw -> Splice.Wallet.Payment:AppPaymentRequest_WithdrawResult
# Choices for template TerminatedAppPayment:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Wallet.Subscriptions
# ============================================================
class SubscriptionPayment_Expire(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_Expire"""
actor: str
transferContext: AppTransferContext
class SubscriptionPayment_Reject(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_Reject"""
transferContext: AppTransferContext
class SubscriptionPayment_Collect(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_Collect"""
transferContext: AppTransferContext
class SubscriptionPayment(BaseModel):
"""Template: Splice.Wallet.Subscriptions:SubscriptionPayment"""
subscription: str
subscriptionData: SubscriptionData
payData: SubscriptionPayData
thisPaymentDueAt: datetime
targetAmount: Decimal
lockedAmulet: str
round: Round
reference: str
class SubscriptionIdleState_CancelSubscription(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_CancelSubscription"""
pass
class SubscriptionIdleState_ExpireSubscription(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_ExpireSubscription"""
actor: str
class SubscriptionIdleState_MakePayment(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_MakePayment"""
inputs: list[TransferInput]
context: PaymentTransferContext
walletProvider: str
class SubscriptionIdleState(BaseModel):
"""Template: Splice.Wallet.Subscriptions:SubscriptionIdleState"""
subscription: str
subscriptionData: SubscriptionData
payData: SubscriptionPayData
nextPaymentDueAt: datetime
reference: str
class SubscriptionInitialPayment_Expire(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Expire"""
actor: str
transferContext: AppTransferContext
class SubscriptionInitialPayment_Reject(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Reject"""
transferContext: AppTransferContext
class SubscriptionInitialPayment_Collect(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Collect"""
transferContext: AppTransferContext
class SubscriptionInitialPayment(BaseModel):
"""Template: Splice.Wallet.Subscriptions:SubscriptionInitialPayment"""
subscriptionData: SubscriptionData
payData: SubscriptionPayData
targetAmount: Decimal
lockedAmulet: str
round: Round
reference: str
class SubscriptionRequest_Reject(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_Reject"""
pass
class SubscriptionRequest_Withdraw(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_Withdraw"""
pass
class SubscriptionRequest_AcceptAndMakePayment(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_AcceptAndMakePayment"""
inputs: list[TransferInput]
context: PaymentTransferContext
walletProvider: str
class SubscriptionRequest(BaseModel):
"""Template: Splice.Wallet.Subscriptions:SubscriptionRequest"""
subscriptionData: SubscriptionData
payData: SubscriptionPayData
class SubscriptionPayData(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayData"""
paymentAmount: PaymentAmount
paymentInterval: RelTime
paymentDuration: RelTime
class TerminatedSubscription(BaseModel):
"""Template: Splice.Wallet.Subscriptions:TerminatedSubscription"""
subscriptionData: SubscriptionData
reference: str
class Subscription_Archive(BaseModel):
"""Record: Splice.Wallet.Subscriptions:Subscription_Archive"""
pass
class Subscription(BaseModel):
"""Template: Splice.Wallet.Subscriptions:Subscription"""
subscriptionData: SubscriptionData
reference: str
class SubscriptionPayment_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_ExpireResult"""
subscriptionState: str
amuletSum: AmuletCreateSummary
class SubscriptionPayment_RejectResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_RejectResult"""
subscriptionState: str
amuletSum: AmuletCreateSummary
class SubscriptionPayment_CollectResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionPayment_CollectResult"""
subscriptionState: str
amulet: str
class SubscriptionIdleState_MakePaymentResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_MakePaymentResult"""
subscriptionPayment: str
senderChange: str | None
class SubscriptionIdleState_CancelSubscriptionResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_CancelSubscriptionResult"""
terminatedSubscription: str
class SubscriptionIdleState_ExpireSubscriptionResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionIdleState_ExpireSubscriptionResult"""
terminatedSubscription: str
class SubscriptionInitialPayment_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_ExpireResult"""
amuletSum: AmuletCreateSummary
class SubscriptionInitialPayment_RejectResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_RejectResult"""
amuletSum: AmuletCreateSummary
class SubscriptionInitialPayment_CollectResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionInitialPayment_CollectResult"""
subscription: str
subscriptionState: str
amulet: str
class SubscriptionRequest_RejectResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_RejectResult"""
terminatedSubscription: str
class SubscriptionRequest_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_WithdrawResult"""
terminatedSubscription: str
class SubscriptionRequest_AcceptAndMakePaymentResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionRequest_AcceptAndMakePaymentResult"""
subscriptionPayment: str
senderChange: str | None
class Subscription_ArchiveResult(BaseModel):
"""Record: Splice.Wallet.Subscriptions:Subscription_ArchiveResult"""
terminatedSubscription: str
class SubscriptionData(BaseModel):
"""Record: Splice.Wallet.Subscriptions:SubscriptionData"""
sender: str
receiver: str
provider: str
dso: str
description: str
# Choices for template Subscription:
# Subscription_Archive (consuming): Splice.Wallet.Subscriptions:Subscription_Archive -> Splice.Wallet.Subscriptions:Subscription_ArchiveResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SubscriptionIdleState:
# SubscriptionIdleState_MakePayment (consuming): Splice.Wallet.Subscriptions:SubscriptionIdleState_MakePayment -> Splice.Wallet.Subscriptions:SubscriptionIdleState_MakePaymentResult
# SubscriptionIdleState_ExpireSubscription (consuming): Splice.Wallet.Subscriptions:SubscriptionIdleState_ExpireSubscription -> Splice.Wallet.Subscriptions:SubscriptionIdleState_ExpireSubscriptionResult
# SubscriptionIdleState_CancelSubscription (consuming): Splice.Wallet.Subscriptions:SubscriptionIdleState_CancelSubscription -> Splice.Wallet.Subscriptions:SubscriptionIdleState_CancelSubscriptionResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SubscriptionInitialPayment:
# SubscriptionInitialPayment_Collect (consuming): Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Collect -> Splice.Wallet.Subscriptions:SubscriptionInitialPayment_CollectResult
# SubscriptionInitialPayment_Reject (consuming): Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Reject -> Splice.Wallet.Subscriptions:SubscriptionInitialPayment_RejectResult
# SubscriptionInitialPayment_Expire (consuming): Splice.Wallet.Subscriptions:SubscriptionInitialPayment_Expire -> Splice.Wallet.Subscriptions:SubscriptionInitialPayment_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SubscriptionPayment:
# SubscriptionPayment_Collect (consuming): Splice.Wallet.Subscriptions:SubscriptionPayment_Collect -> Splice.Wallet.Subscriptions:SubscriptionPayment_CollectResult
# SubscriptionPayment_Reject (consuming): Splice.Wallet.Subscriptions:SubscriptionPayment_Reject -> Splice.Wallet.Subscriptions:SubscriptionPayment_RejectResult
# SubscriptionPayment_Expire (consuming): Splice.Wallet.Subscriptions:SubscriptionPayment_Expire -> Splice.Wallet.Subscriptions:SubscriptionPayment_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template SubscriptionRequest:
# SubscriptionRequest_AcceptAndMakePayment (consuming): Splice.Wallet.Subscriptions:SubscriptionRequest_AcceptAndMakePayment -> Splice.Wallet.Subscriptions:SubscriptionRequest_AcceptAndMakePaymentResult
# SubscriptionRequest_Withdraw (consuming): Splice.Wallet.Subscriptions:SubscriptionRequest_Withdraw -> Splice.Wallet.Subscriptions:SubscriptionRequest_WithdrawResult
# SubscriptionRequest_Reject (consuming): Splice.Wallet.Subscriptions:SubscriptionRequest_Reject -> Splice.Wallet.Subscriptions:SubscriptionRequest_RejectResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template TerminatedSubscription:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Parsed: 98 records, 2 variants, 1 enums, 8 templates
"""Auto-generated Pydantic models from DAML-LF inspect output."""
from __future__ import annotations
from datetime import date, datetime
from decimal import Decimal
from enum import Enum as PyEnum
from typing import Annotated, Any, Literal, Union
from pydantic import BaseModel, Field
# ============================================================
# Module: Splice.Wallet.TopUpState
# ============================================================
class ValidatorTopUpState(BaseModel):
"""Template: Splice.Wallet.TopUpState:ValidatorTopUpState"""
dso: str
validator: str
memberId: str
synchronizerId: str
migrationId: int
lastPurchasedAt: datetime
# Choices for template ValidatorTopUpState:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Wallet.Install
# ============================================================
class WalletAppInstall_FeaturedAppRights_CancelResult(PyEnum):
WalletAppInstall_FeaturedAppRights_CancelResult = "WalletAppInstall_FeaturedAppRights_CancelResult"
class WalletAppInstall_Allocation_Withdraw(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_Allocation_Withdraw"""
allocationCid: str
withdrawArg: Allocation_Withdraw
class WalletAppInstall_AllocationFactory_Allocate(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AllocationFactory_Allocate"""
allocationFactory: str
allocateArg: AllocationFactory_Allocate
class WalletAppInstall_TransferInstruction_Withdraw(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Withdraw"""
transferInstructionCid: str
withdrawArg: TransferInstruction_Withdraw
class WalletAppInstall_TransferInstruction_Reject(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Reject"""
transferInstructionCid: str
rejectArg: TransferInstruction_Reject
class WalletAppInstall_TransferInstruction_Accept(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Accept"""
transferInstructionCid: str
acceptArg: TransferInstruction_Accept
class WalletAppInstall_TransferFactory_Transfer(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferFactory_Transfer"""
transferFactoryCid: str
transferArg: TransferFactory_Transfer
class WalletAppInstall_FeaturedAppRights_SelfGrant(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_SelfGrant"""
amuletRulesCid: str
class WalletAppInstall_FeaturedAppRights_Cancel(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_Cancel"""
cid: str
class WalletAppInstall_BuyTrafficRequest_Expire(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_Expire"""
requestCid: str
class WalletAppInstall_BuyTrafficRequest_Cancel(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_Cancel"""
requestCid: str
reason: str
class WalletAppInstall_CreateBuyTrafficRequest(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_CreateBuyTrafficRequest"""
memberId: str
synchronizerId: str
migrationId: int
trafficAmount: int
expiresAt: datetime
trackingId: str
class WalletAppInstall_AcceptedTransferOffer_Expire(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Expire"""
cid: str
class WalletAppInstall_AcceptedTransferOffer_Withdraw(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Withdraw"""
cid: str
reason: str
class WalletAppInstall_AcceptedTransferOffer_Abort(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Abort"""
cid: str
reason: str
class WalletAppInstall_TransferOffer_Expire(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_Expire"""
cid: str
class WalletAppInstall_TransferOffer_Withdraw(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_Withdraw"""
cid: str
reason: str
class WalletAppInstall_TransferOffer_Reject(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_Reject"""
cid: str
class WalletAppInstall_TransferOffer_Accept(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_Accept"""
cid: str
class WalletAppInstall_CreateTransferOffer(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_CreateTransferOffer"""
receiver: str
amount: PaymentAmount
description: str
expiresAt: datetime
trackingId: str
class WalletAppInstall_SubscriptionIdleState_CancelSubscription(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_SubscriptionIdleState_CancelSubscription"""
cid: str
class WalletAppInstall_SubscriptionRequest_Reject(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_SubscriptionRequest_Reject"""
cid: str
class WalletAppInstall_AppPaymentRequest_Expire(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_Expire"""
cid: str
class WalletAppInstall_AppPaymentRequest_Reject(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_Reject"""
cid: str
class WalletAppInstall_ExecuteBatch(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_ExecuteBatch"""
context: PaymentTransferContext
inputs: list[TransferInput]
operations: list[AmuletOperation]
class WalletAppInstall(BaseModel):
"""Template: Splice.Wallet.Install:WalletAppInstall"""
dsoParty: str
validatorParty: str
endUserName: str
endUserParty: str
class WalletAppInstall_TransferPreapprovalProposal_CreateResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferPreapprovalProposal_CreateResult"""
preapprovalProposalCid: str
class WalletAppInstall_FeaturedAppRights_SelfGrantResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_SelfGrantResult"""
featuredAppRight: str
class WalletAppInstall_BuyTrafficRequest_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_ExpireResult"""
trackingInfo: BuyTrafficRequestTrackingInfo
class WalletAppInstall_BuyTrafficRequest_CancelResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_CancelResult"""
trackingInfo: BuyTrafficRequestTrackingInfo
class WalletAppInstall_CreateBuyTrafficRequestResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_CreateBuyTrafficRequestResult"""
buyTrafficRequest: str
class WalletAppInstall_AcceptedTransferOffer_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_ExpireResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_AcceptedTransferOffer_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_WithdrawResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_AcceptedTransferOffer_AbortResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_AbortResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_TransferOffer_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_ExpireResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_TransferOffer_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_WithdrawResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_TransferOffer_RejectResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_RejectResult"""
trackingInfo: TransferOfferTrackingInfo
class WalletAppInstall_TransferOffer_AcceptResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_TransferOffer_AcceptResult"""
acceptedTransferOffer: str
class WalletAppInstall_CreateTransferOfferResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_CreateTransferOfferResult"""
transferOffer: str
class WalletAppInstall_SubscriptionIdleState_CancelSubscriptionResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_SubscriptionIdleState_CancelSubscriptionResult"""
terminatedSubscription: str
class WalletAppInstall_SubscriptionRequest_RejectResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_SubscriptionRequest_RejectResult"""
terminatedSubscription: str
class WalletAppInstall_AppPaymentRequest_ExpireResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_ExpireResult"""
terminatedAppPayment: str
class WalletAppInstall_AppPaymentRequest_RejectResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_RejectResult"""
terminatedAppPayment: str
class WalletAppInstall_ExecuteBatchResult(BaseModel):
"""Record: Splice.Wallet.Install:WalletAppInstall_ExecuteBatchResult"""
endUserName: str
outcomes: list[AmuletOperationOutcome]
optEndUserParty: str | None
class AmuletOperationOutcome_ExtAmuletOperationOutcome(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperationOutcome.ExtAmuletOperationOutcome"""
dummyUnitField: None
class AmuletOperation_CO_BuyMemberTraffic(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_BuyMemberTraffic"""
trafficAmount: int
memberId: str
synchronizerId: str
migrationId: int
minTopupInterval: RelTime
topupStateCid: str | None
class AmuletOperation_CO_CompleteBuyTrafficRequest(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_CompleteBuyTrafficRequest"""
trafficRequestCid: str
class AmuletOperation_CO_Tap(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_Tap"""
tapAmount: Decimal
class AmuletOperation_ExtAmuletOperation(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.ExtAmuletOperation"""
dummyUnitField: None
class AmuletOperation_CO_CreateExternalPartySetupProposal(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_CreateExternalPartySetupProposal"""
externalParty: str
preapprovalExpiresAt: datetime
class AmuletOperation_CO_AcceptTransferPreapprovalProposal(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_AcceptTransferPreapprovalProposal"""
preapprovalProposalCid: str
expiresAt: datetime
class AmuletOperation_CO_RenewTransferPreapproval(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_RenewTransferPreapproval"""
previousApprovalCid: str
newExpiresAt: datetime
class AmuletOperation_CO_TransferPreapprovalSend(BaseModel):
"""Record: Splice.Wallet.Install:AmuletOperation.CO_TransferPreapprovalSend"""
transferPreapprovalCid: str
providerFeaturedAppRightCid: str | None
amount: Decimal
description: str | None
class ExecutionContext(BaseModel):
"""Record: Splice.Wallet.Install:ExecutionContext"""
dso: str
endUser: str
validator: str
paymentContext: PaymentTransferContext
class AmuletOperationOutcome_COO_AcceptedAppPayment(BaseModel):
"""Variant constructor: COO_AcceptedAppPayment"""
tag: Literal["COO_AcceptedAppPayment"] = "COO_AcceptedAppPayment"
value: str
class AmuletOperationOutcome_COO_CompleteAcceptedTransfer(BaseModel):
"""Variant constructor: COO_CompleteAcceptedTransfer"""
tag: Literal["COO_CompleteAcceptedTransfer"] = "COO_CompleteAcceptedTransfer"
value: tuple[Any, Any]
class AmuletOperationOutcome_COO_SubscriptionInitialPayment(BaseModel):
"""Variant constructor: COO_SubscriptionInitialPayment"""
tag: Literal["COO_SubscriptionInitialPayment"] = "COO_SubscriptionInitialPayment"
value: str
class AmuletOperationOutcome_COO_SubscriptionPayment(BaseModel):
"""Variant constructor: COO_SubscriptionPayment"""
tag: Literal["COO_SubscriptionPayment"] = "COO_SubscriptionPayment"
value: str
class AmuletOperationOutcome_COO_MergeTransferInputs(BaseModel):
"""Variant constructor: COO_MergeTransferInputs"""
tag: Literal["COO_MergeTransferInputs"] = "COO_MergeTransferInputs"
value: str | None
class AmuletOperationOutcome_COO_BuyMemberTraffic(BaseModel):
"""Variant constructor: COO_BuyMemberTraffic"""
tag: Literal["COO_BuyMemberTraffic"] = "COO_BuyMemberTraffic"
value: str
class AmuletOperationOutcome_COO_CompleteBuyTrafficRequest(BaseModel):
"""Variant constructor: COO_CompleteBuyTrafficRequest"""
tag: Literal["COO_CompleteBuyTrafficRequest"] = "COO_CompleteBuyTrafficRequest"
value: tuple[Any, Any]
class AmuletOperationOutcome_COO_Tap(BaseModel):
"""Variant constructor: COO_Tap"""
tag: Literal["COO_Tap"] = "COO_Tap"
value: str
class AmuletOperationOutcome_COO_Error(BaseModel):
"""Variant constructor: COO_Error"""
tag: Literal["COO_Error"] = "COO_Error"
value: InvalidTransferReason
class AmuletOperationOutcome_ExtAmuletOperationOutcome(BaseModel):
"""Variant constructor: ExtAmuletOperationOutcome"""
tag: Literal["ExtAmuletOperationOutcome"] = "ExtAmuletOperationOutcome"
value: AmuletOperationOutcome_ExtAmuletOperationOutcome
class AmuletOperationOutcome_COO_CreateExternalPartySetupProposal(BaseModel):
"""Variant constructor: COO_CreateExternalPartySetupProposal"""
tag: Literal["COO_CreateExternalPartySetupProposal"] = "COO_CreateExternalPartySetupProposal"
value: str
class AmuletOperationOutcome_COO_AcceptTransferPreapprovalProposal(BaseModel):
"""Variant constructor: COO_AcceptTransferPreapprovalProposal"""
tag: Literal["COO_AcceptTransferPreapprovalProposal"] = "COO_AcceptTransferPreapprovalProposal"
value: str
class AmuletOperationOutcome_COO_RenewTransferPreapproval(BaseModel):
"""Variant constructor: COO_RenewTransferPreapproval"""
tag: Literal["COO_RenewTransferPreapproval"] = "COO_RenewTransferPreapproval"
value: str
class AmuletOperationOutcome_COO_TransferPreapprovalSend(BaseModel):
"""Variant constructor: COO_TransferPreapprovalSend"""
tag: Literal["COO_TransferPreapprovalSend"] = "COO_TransferPreapprovalSend"
value: str | None
AmuletOperationOutcome = Annotated[Union[AmuletOperationOutcome_COO_AcceptedAppPayment, AmuletOperationOutcome_COO_CompleteAcceptedTransfer, AmuletOperationOutcome_COO_SubscriptionInitialPayment, AmuletOperationOutcome_COO_SubscriptionPayment, AmuletOperationOutcome_COO_MergeTransferInputs, AmuletOperationOutcome_COO_BuyMemberTraffic, AmuletOperationOutcome_COO_CompleteBuyTrafficRequest, AmuletOperationOutcome_COO_Tap, AmuletOperationOutcome_COO_Error, AmuletOperationOutcome_ExtAmuletOperationOutcome, AmuletOperationOutcome_COO_CreateExternalPartySetupProposal, AmuletOperationOutcome_COO_AcceptTransferPreapprovalProposal, AmuletOperationOutcome_COO_RenewTransferPreapproval, AmuletOperationOutcome_COO_TransferPreapprovalSend], Field(discriminator="tag")]
class AmuletOperation_CO_AppPayment(BaseModel):
"""Variant constructor: CO_AppPayment"""
tag: Literal["CO_AppPayment"] = "CO_AppPayment"
value: str
class AmuletOperation_CO_CompleteAcceptedTransfer(BaseModel):
"""Variant constructor: CO_CompleteAcceptedTransfer"""
tag: Literal["CO_CompleteAcceptedTransfer"] = "CO_CompleteAcceptedTransfer"
value: str
class AmuletOperation_CO_SubscriptionAcceptAndMakeInitialPayment(BaseModel):
"""Variant constructor: CO_SubscriptionAcceptAndMakeInitialPayment"""
tag: Literal["CO_SubscriptionAcceptAndMakeInitialPayment"] = "CO_SubscriptionAcceptAndMakeInitialPayment"
value: str
class AmuletOperation_CO_SubscriptionMakePayment(BaseModel):
"""Variant constructor: CO_SubscriptionMakePayment"""
tag: Literal["CO_SubscriptionMakePayment"] = "CO_SubscriptionMakePayment"
value: str
class AmuletOperation_CO_MergeTransferInputs(BaseModel):
"""Variant constructor: CO_MergeTransferInputs"""
tag: Literal["CO_MergeTransferInputs"] = "CO_MergeTransferInputs"
value: None
class AmuletOperation_CO_BuyMemberTraffic(BaseModel):
"""Variant constructor: CO_BuyMemberTraffic"""
tag: Literal["CO_BuyMemberTraffic"] = "CO_BuyMemberTraffic"
value: AmuletOperation_CO_BuyMemberTraffic
class AmuletOperation_CO_CompleteBuyTrafficRequest(BaseModel):
"""Variant constructor: CO_CompleteBuyTrafficRequest"""
tag: Literal["CO_CompleteBuyTrafficRequest"] = "CO_CompleteBuyTrafficRequest"
value: AmuletOperation_CO_CompleteBuyTrafficRequest
class AmuletOperation_CO_Tap(BaseModel):
"""Variant constructor: CO_Tap"""
tag: Literal["CO_Tap"] = "CO_Tap"
value: AmuletOperation_CO_Tap
class AmuletOperation_ExtAmuletOperation(BaseModel):
"""Variant constructor: ExtAmuletOperation"""
tag: Literal["ExtAmuletOperation"] = "ExtAmuletOperation"
value: AmuletOperation_ExtAmuletOperation
class AmuletOperation_CO_CreateExternalPartySetupProposal(BaseModel):
"""Variant constructor: CO_CreateExternalPartySetupProposal"""
tag: Literal["CO_CreateExternalPartySetupProposal"] = "CO_CreateExternalPartySetupProposal"
value: AmuletOperation_CO_CreateExternalPartySetupProposal
class AmuletOperation_CO_AcceptTransferPreapprovalProposal(BaseModel):
"""Variant constructor: CO_AcceptTransferPreapprovalProposal"""
tag: Literal["CO_AcceptTransferPreapprovalProposal"] = "CO_AcceptTransferPreapprovalProposal"
value: AmuletOperation_CO_AcceptTransferPreapprovalProposal
class AmuletOperation_CO_RenewTransferPreapproval(BaseModel):
"""Variant constructor: CO_RenewTransferPreapproval"""
tag: Literal["CO_RenewTransferPreapproval"] = "CO_RenewTransferPreapproval"
value: AmuletOperation_CO_RenewTransferPreapproval
class AmuletOperation_CO_TransferPreapprovalSend(BaseModel):
"""Variant constructor: CO_TransferPreapprovalSend"""
tag: Literal["CO_TransferPreapprovalSend"] = "CO_TransferPreapprovalSend"
value: AmuletOperation_CO_TransferPreapprovalSend
AmuletOperation = Annotated[Union[AmuletOperation_CO_AppPayment, AmuletOperation_CO_CompleteAcceptedTransfer, AmuletOperation_CO_SubscriptionAcceptAndMakeInitialPayment, AmuletOperation_CO_SubscriptionMakePayment, AmuletOperation_CO_MergeTransferInputs, AmuletOperation_CO_BuyMemberTraffic, AmuletOperation_CO_CompleteBuyTrafficRequest, AmuletOperation_CO_Tap, AmuletOperation_ExtAmuletOperation, AmuletOperation_CO_CreateExternalPartySetupProposal, AmuletOperation_CO_AcceptTransferPreapprovalProposal, AmuletOperation_CO_RenewTransferPreapproval, AmuletOperation_CO_TransferPreapprovalSend], Field(discriminator="tag")]
# Choices for template WalletAppInstall:
# WalletAppInstall_ExecuteBatch (non-consuming): Splice.Wallet.Install:WalletAppInstall_ExecuteBatch -> Splice.Wallet.Install:WalletAppInstall_ExecuteBatchResult
# WalletAppInstall_AppPaymentRequest_Reject (non-consuming): Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_Reject -> Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_RejectResult
# WalletAppInstall_AppPaymentRequest_Expire (non-consuming): Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_Expire -> Splice.Wallet.Install:WalletAppInstall_AppPaymentRequest_ExpireResult
# WalletAppInstall_SubscriptionRequest_Reject (non-consuming): Splice.Wallet.Install:WalletAppInstall_SubscriptionRequest_Reject -> Splice.Wallet.Install:WalletAppInstall_SubscriptionRequest_RejectResult
# WalletAppInstall_SubscriptionIdleState_CancelSubscription (non-consuming): Splice.Wallet.Install:WalletAppInstall_SubscriptionIdleState_CancelSubscription -> Splice.Wallet.Install:WalletAppInstall_SubscriptionIdleState_CancelSubscriptionResult
# WalletAppInstall_CreateTransferOffer (non-consuming): Splice.Wallet.Install:WalletAppInstall_CreateTransferOffer -> Splice.Wallet.Install:WalletAppInstall_CreateTransferOfferResult
# WalletAppInstall_TransferOffer_Accept (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferOffer_Accept -> Splice.Wallet.Install:WalletAppInstall_TransferOffer_AcceptResult
# WalletAppInstall_TransferOffer_Reject (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferOffer_Reject -> Splice.Wallet.Install:WalletAppInstall_TransferOffer_RejectResult
# WalletAppInstall_TransferOffer_Withdraw (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferOffer_Withdraw -> Splice.Wallet.Install:WalletAppInstall_TransferOffer_WithdrawResult
# WalletAppInstall_TransferOffer_Expire (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferOffer_Expire -> Splice.Wallet.Install:WalletAppInstall_TransferOffer_ExpireResult
# WalletAppInstall_AcceptedTransferOffer_Abort (non-consuming): Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Abort -> Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_AbortResult
# WalletAppInstall_AcceptedTransferOffer_Withdraw (non-consuming): Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Withdraw -> Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_WithdrawResult
# WalletAppInstall_AcceptedTransferOffer_Expire (non-consuming): Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_Expire -> Splice.Wallet.Install:WalletAppInstall_AcceptedTransferOffer_ExpireResult
# WalletAppInstall_CreateBuyTrafficRequest (non-consuming): Splice.Wallet.Install:WalletAppInstall_CreateBuyTrafficRequest -> Splice.Wallet.Install:WalletAppInstall_CreateBuyTrafficRequestResult
# WalletAppInstall_BuyTrafficRequest_Cancel (non-consuming): Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_Cancel -> Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_CancelResult
# WalletAppInstall_BuyTrafficRequest_Expire (non-consuming): Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_Expire -> Splice.Wallet.Install:WalletAppInstall_BuyTrafficRequest_ExpireResult
# WalletAppInstall_FeaturedAppRights_Cancel (non-consuming): Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_Cancel -> Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_CancelResult
# WalletAppInstall_FeaturedAppRights_SelfGrant (non-consuming): Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_SelfGrant -> Splice.Wallet.Install:WalletAppInstall_FeaturedAppRights_SelfGrantResult
# WalletAppInstall_TransferFactory_Transfer (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferFactory_Transfer -> Splice.Api.Token.TransferInstructionV1:TransferInstructionResult
# WalletAppInstall_TransferInstruction_Accept (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Accept -> Splice.Api.Token.TransferInstructionV1:TransferInstructionResult
# WalletAppInstall_TransferInstruction_Reject (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Reject -> Splice.Api.Token.TransferInstructionV1:TransferInstructionResult
# WalletAppInstall_TransferInstruction_Withdraw (non-consuming): Splice.Wallet.Install:WalletAppInstall_TransferInstruction_Withdraw -> Splice.Api.Token.TransferInstructionV1:TransferInstructionResult
# WalletAppInstall_AllocationFactory_Allocate (non-consuming): Splice.Wallet.Install:WalletAppInstall_AllocationFactory_Allocate -> Splice.Api.Token.AllocationInstructionV1:AllocationInstructionResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# WalletAppInstall_Allocation_Withdraw (non-consuming): Splice.Wallet.Install:WalletAppInstall_Allocation_Withdraw -> Splice.Api.Token.AllocationV1:Allocation_WithdrawResult
# ============================================================
# Module: Splice.Wallet.TransferOffer
# ============================================================
class AcceptedTransferOffer_Expire(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_Expire"""
actor: str
class AcceptedTransferOffer_Abort(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_Abort"""
reason: str
class AcceptedTransferOffer_Withdraw(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_Withdraw"""
reason: str
class AcceptedTransferOffer_Complete(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_Complete"""
inputs: list[TransferInput]
transferContext: PaymentTransferContext
walletProvider: str
class AcceptedTransferOffer(BaseModel):
"""Template: Splice.Wallet.TransferOffer:AcceptedTransferOffer"""
sender: str
receiver: str
dso: str
amount: PaymentAmount
expiresAt: datetime
trackingId: str
class AcceptedTransferOffer_CompleteResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_CompleteResult"""
transferResult: TransferResult
trackingInfo: TransferOfferTrackingInfo
senderChangeAmulet: str | None
class TransferOfferTrackingInfo(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOfferTrackingInfo"""
trackingId: str
sender: str
receiver: str
class TransferOffer_Expire(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_Expire"""
actor: str
class TransferOffer_Withdraw(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_Withdraw"""
reason: str
class TransferOffer_Reject(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_Reject"""
pass
class TransferOffer_Accept(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_Accept"""
pass
class TransferOffer(BaseModel):
"""Template: Splice.Wallet.TransferOffer:TransferOffer"""
sender: str
receiver: str
dso: str
amount: PaymentAmount
description: str
expiresAt: datetime
trackingId: str
class AcceptedTransferOffer_ExpireResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_ExpireResult"""
trackingInfo: TransferOfferTrackingInfo
class AcceptedTransferOffer_AbortResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_AbortResult"""
trackingInfo: TransferOfferTrackingInfo
class AcceptedTransferOffer_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:AcceptedTransferOffer_WithdrawResult"""
trackingInfo: TransferOfferTrackingInfo
class TransferOffer_ExpireResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_ExpireResult"""
trackingInfo: TransferOfferTrackingInfo
class TransferOffer_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_WithdrawResult"""
trackingInfo: TransferOfferTrackingInfo
class TransferOffer_RejectResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_RejectResult"""
trackingInfo: TransferOfferTrackingInfo
class TransferOffer_AcceptResult(BaseModel):
"""Record: Splice.Wallet.TransferOffer:TransferOffer_AcceptResult"""
acceptedTransferOffer: str
# Choices for template AcceptedTransferOffer:
# AcceptedTransferOffer_Complete (consuming): Splice.Wallet.TransferOffer:AcceptedTransferOffer_Complete -> Splice.Wallet.TransferOffer:AcceptedTransferOffer_CompleteResult
# AcceptedTransferOffer_Withdraw (consuming): Splice.Wallet.TransferOffer:AcceptedTransferOffer_Withdraw -> Splice.Wallet.TransferOffer:AcceptedTransferOffer_WithdrawResult
# AcceptedTransferOffer_Abort (consuming): Splice.Wallet.TransferOffer:AcceptedTransferOffer_Abort -> Splice.Wallet.TransferOffer:AcceptedTransferOffer_AbortResult
# AcceptedTransferOffer_Expire (consuming): Splice.Wallet.TransferOffer:AcceptedTransferOffer_Expire -> Splice.Wallet.TransferOffer:AcceptedTransferOffer_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# Choices for template TransferOffer:
# TransferOffer_Accept (consuming): Splice.Wallet.TransferOffer:TransferOffer_Accept -> Splice.Wallet.TransferOffer:TransferOffer_AcceptResult
# TransferOffer_Reject (consuming): Splice.Wallet.TransferOffer:TransferOffer_Reject -> Splice.Wallet.TransferOffer:TransferOffer_RejectResult
# TransferOffer_Withdraw (consuming): Splice.Wallet.TransferOffer:TransferOffer_Withdraw -> Splice.Wallet.TransferOffer:TransferOffer_WithdrawResult
# TransferOffer_Expire (consuming): Splice.Wallet.TransferOffer:TransferOffer_Expire -> Splice.Wallet.TransferOffer:TransferOffer_ExpireResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Wallet.MintingDelegation
# ============================================================
class MintingDelegation_MintResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_MintResult"""
transferResult: TransferResult
class MintingDelegation_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_WithdrawResult"""
pass
class MintingDelegation_RejectResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_RejectResult"""
pass
class MintingDelegationProposal_WithdrawResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_WithdrawResult"""
pass
class MintingDelegationProposal_RejectResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_RejectResult"""
pass
class MintingDelegationProposal_AcceptResult(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_AcceptResult"""
mintingDelegationCid: str
class MintingDelegation_Withdraw(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_Withdraw"""
pass
class MintingDelegation_Reject(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_Reject"""
pass
class MintingDelegation_Mint(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegation_Mint"""
inputs: list[TransferInput]
context: PaymentTransferContext
class MintingDelegation(BaseModel):
"""Template: Splice.Wallet.MintingDelegation:MintingDelegation"""
beneficiary: str
delegate: str
dso: str
expiresAt: datetime
amuletMergeLimit: int
class MintingDelegationProposal_Withdraw(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_Withdraw"""
pass
class MintingDelegationProposal_Reject(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_Reject"""
pass
class MintingDelegationProposal_Accept(BaseModel):
"""Record: Splice.Wallet.MintingDelegation:MintingDelegationProposal_Accept"""
existingDelegationCid: str | None
class MintingDelegationProposal(BaseModel):
"""Template: Splice.Wallet.MintingDelegation:MintingDelegationProposal"""
delegation: MintingDelegation
# Choices for template MintingDelegation:
# MintingDelegation_Mint (non-consuming): Splice.Wallet.MintingDelegation:MintingDelegation_Mint -> Splice.Wallet.MintingDelegation:MintingDelegation_MintResult
# MintingDelegation_Reject (consuming): Splice.Wallet.MintingDelegation:MintingDelegation_Reject -> Splice.Wallet.MintingDelegation:MintingDelegation_RejectResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# MintingDelegation_Withdraw (consuming): Splice.Wallet.MintingDelegation:MintingDelegation_Withdraw -> Splice.Wallet.MintingDelegation:MintingDelegation_WithdrawResult
# Choices for template MintingDelegationProposal:
# MintingDelegationProposal_Accept (consuming): Splice.Wallet.MintingDelegation:MintingDelegationProposal_Accept -> Splice.Wallet.MintingDelegation:MintingDelegationProposal_AcceptResult
# MintingDelegationProposal_Reject (consuming): Splice.Wallet.MintingDelegation:MintingDelegationProposal_Reject -> Splice.Wallet.MintingDelegation:MintingDelegationProposal_RejectResult
# MintingDelegationProposal_Withdraw (consuming): Splice.Wallet.MintingDelegation:MintingDelegationProposal_Withdraw -> Splice.Wallet.MintingDelegation:MintingDelegationProposal_WithdrawResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# ============================================================
# Module: Splice.Wallet.BuyTrafficRequest
# ============================================================
class BuyTrafficRequest_Expire(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Expire"""
pass
class BuyTrafficRequest_Cancel(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Cancel"""
reason: str
class BuyTrafficRequest_Complete(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Complete"""
inputs: list[TransferInput]
context: PaymentTransferContext
walletProvider: str
class BuyTrafficRequest(BaseModel):
"""Template: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest"""
dso: str
endUserParty: str
expiresAt: datetime
trackingId: str
trafficAmount: int
memberId: str
synchronizerId: str
migrationId: int
class BuyTrafficRequest_ExpireResult(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_ExpireResult"""
trackingInfo: BuyTrafficRequestTrackingInfo
class BuyTrafficRequest_CancelResult(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_CancelResult"""
trackingInfo: BuyTrafficRequestTrackingInfo
class BuyTrafficRequest_CompleteResult(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_CompleteResult"""
purchasedTraffic: str
trackingInfo: BuyTrafficRequestTrackingInfo
senderChangeAmulet: str | None
class BuyTrafficRequestTrackingInfo(BaseModel):
"""Record: Splice.Wallet.BuyTrafficRequest:BuyTrafficRequestTrackingInfo"""
trackingId: str
endUserParty: str
# Choices for template BuyTrafficRequest:
# BuyTrafficRequest_Complete (consuming): Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Complete -> Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_CompleteResult
# BuyTrafficRequest_Cancel (consuming): Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Cancel -> Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_CancelResult
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# BuyTrafficRequest_Expire (consuming): Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_Expire -> Splice.Wallet.BuyTrafficRequest:BuyTrafficRequest_ExpireResult
# ============================================================
# Module: Splice.Wallet.TransferPreapproval
# ============================================================
class TransferPreapprovalProposal_AcceptResult(BaseModel):
"""Record: Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal_AcceptResult"""
transferPreapprovalCid: str
transferResult: TransferResult
amuletPaid: Decimal
class TransferPreapprovalProposal_Accept(BaseModel):
"""Record: Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal_Accept"""
context: PaymentTransferContext
inputs: list[TransferInput]
expiresAt: datetime
class TransferPreapprovalProposal(BaseModel):
"""Template: Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal"""
receiver: str
provider: str
expectedDso: str | None
# Choices for template TransferPreapprovalProposal:
# Archive (consuming): DA.Internal.Template:Archive -> Unit
# TransferPreapprovalProposal_Accept (consuming): Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal_Accept -> Splice.Wallet.TransferPreapproval:TransferPreapprovalProposal_AcceptResult
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment