@xyo-network/xl1-protocol 5.2.0 → 5.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/neutral/modules/network-model/staticRest/layout/admissionShadow.d.ts +181 -0
- package/dist/neutral/modules/network-model/staticRest/layout/admissionShadow.d.ts.map +1 -0
- package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts +16 -10
- package/dist/neutral/modules/network-model/staticRest/layout/chainParams.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts +15 -0
- package/dist/neutral/modules/network-model/staticRest/layout/chainParamsRules.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts +2 -0
- package/dist/neutral/modules/network-model/staticRest/layout/index.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/layout/slashIndex.d.ts +160 -0
- package/dist/neutral/modules/network-model/staticRest/layout/slashIndex.d.ts.map +1 -0
- package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts +1 -0
- package/dist/neutral/modules/network-model/staticRest/paths/index.d.ts.map +1 -1
- package/dist/neutral/modules/network-model/staticRest/paths/slashIndex.d.ts +31 -0
- package/dist/neutral/modules/network-model/staticRest/paths/slashIndex.d.ts.map +1 -0
- package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts +1 -1
- package/dist/neutral/modules/protocol-model/model/RuleActivation.d.ts.map +1 -1
- package/dist/neutral/network-model.mjs +406 -188
- package/dist/neutral/network-model.mjs.map +4 -4
- package/dist/neutral/protocol-model.mjs +3 -0
- package/dist/neutral/protocol-model.mjs.map +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/modules/protocol-model/block/AllowedBlockPayload.ts", "../../src/modules/protocol-model/payload/application/Exchange/ExchangeOutcome.ts", "../../src/modules/protocol-model/payload/application/Exchange/ExchangeTerms.ts", "../../src/modules/protocol-model/transaction/TransactionBoundWitness.ts", "../../src/modules/protocol-model/BlockNumber/BlockNumber.ts", "../../src/modules/protocol-model/BlockNumber/Numberish.ts", "../../src/modules/protocol-model/BlockNumber/EthBlockNumber.ts", "../../src/modules/protocol-model/BlockNumber/xl1BlockNumber.ts", "../../src/modules/protocol-model/chain/Chain.ts", "../../src/modules/protocol-model/chain/ChainId.ts", "../../src/modules/protocol-model/transaction/TransactionFees.ts", "../../src/modules/protocol-model/xl1/isXl1Factory.ts", "../../src/modules/protocol-model/xl1/xl1MaxValue.ts", "../../src/modules/protocol-model/xl1/xl1Units.ts", "../../src/modules/protocol-model/xl1/attoXl1.ts", "../../src/modules/protocol-model/xl1/femtoXl1.ts", "../../src/modules/protocol-model/xl1/microXl1.ts", "../../src/modules/protocol-model/xl1/milliXl1.ts", "../../src/modules/protocol-model/xl1/nanoXl1.ts", "../../src/modules/protocol-model/xl1/picoXl1.ts", "../../src/modules/protocol-model/xl1/xl1.ts", "../../src/modules/protocol-model/payload/application/Exchange/PartySecretReveal.ts", "../../src/modules/protocol-model/payload/application/Ordinal/Inscription.ts", "../../src/modules/protocol-model/payload/application/Ordinal/OrdinalTransfer.ts", "../../src/modules/protocol-model/payload/application/Xrc20/Ticker.ts", "../../src/modules/protocol-model/payload/application/Xrc20/TokenAmount.ts", "../../src/modules/protocol-model/payload/application/Xrc20/TokenDeploy.ts", "../../src/modules/protocol-model/payload/application/Xrc20/TokenMint.ts", "../../src/modules/protocol-model/payload/application/Xrc20/TokenTransfer.ts", "../../src/modules/protocol-model/payload/elevatable/Bridge/BridgeDestinationObservation.ts", "../../src/modules/protocol-model/payload/elevatable/Bridge/BridgeDetails.ts", "../../src/modules/protocol-model/payload/elevatable/Bridge/BridgeIntent.ts", "../../src/modules/protocol-model/payload/elevatable/Bridge/BridgeSourceObservation.ts", "../../src/modules/protocol-model/payload/elevatable/ChainStakeIntent.ts", "../../src/modules/protocol-model/payload/elevatable/Executable.ts", "../../src/modules/protocol-model/payload/elevatable/Hash.ts", "../../src/modules/protocol-model/payload/elevatable/StepComplete.ts", "../../src/modules/protocol-model/payload/elevatable/Time.ts", "../../src/modules/protocol-model/payload/slash/SlashAdjudicationPayload.ts", "../../src/modules/protocol-model/payload/slash/SlashChallengePayload.ts", "../../src/modules/protocol-model/payload/slash/SlashCommitPayload.ts", "../../src/modules/protocol-model/payload/slash/SlashEvidencePayload.ts", "../../src/modules/protocol-model/payload/slash/SlashRequestPayload.ts", "../../src/modules/protocol-model/model/OffenseCode.ts", "../../src/modules/protocol-model/payload/StepIdentityPayload.ts", "../../src/modules/protocol-model/Step/StepIdentity.ts", "../../src/modules/protocol-model/Step/StepSizes.ts", "../../src/modules/protocol-model/payload/StepWitness.ts", "../../src/modules/protocol-model/transaction/TransactionGasCosts.ts", "../../src/modules/protocol-model/TransferPayload.ts", "../../src/modules/protocol-model/block/BlockBoundWitness.ts", "../../src/modules/protocol-model/block/HydratedBlock.ts", "../../src/modules/protocol-model/block/signed/SignedBlockBoundWitness.ts", "../../src/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithHashMeta.ts", "../../src/modules/protocol-model/block/signed/SignedBlockBoundWitnessWithStorageMeta.ts", "../../src/modules/protocol-model/block/unsigned/UnsignedBlockBoundWitness.ts", "../../src/modules/protocol-model/evidence/CandidatePairPayload.ts", "../../src/modules/protocol-model/evidence/CandidateSeenPayload.ts", "../../src/modules/protocol-model/evidence/EvidenceDisposition.ts", "../../src/modules/protocol-model/evidence/EvidenceNotePayload.ts", "../../src/modules/protocol-model/fields/BlockNumber.ts", "../../src/modules/protocol-model/model/AccountBalance.ts", "../../src/modules/protocol-model/model/ChainQualification.ts", "../../src/modules/protocol-model/model/BlockRange/BlockRange.ts", "../../src/modules/protocol-model/model/BlockRange/EthBlockRange.ts", "../../src/modules/protocol-model/model/BlockRange/Range.ts", "../../src/modules/protocol-model/model/BlockRange/xl1BlockRange.ts", "../../src/modules/protocol-model/model/addresses.ts", "../../src/modules/protocol-model/model/ArrayBuffer.ts", "../../src/modules/protocol-model/model/BlockRate.ts", "../../src/modules/protocol-model/model/Context/BaseContext.zod.ts", "../../src/modules/protocol-model/model/Context/BlockContext.zod.ts", "../../src/modules/protocol-model/model/Context/CachingContext.zod.ts", "../../src/modules/protocol-model/model/Context/HeadContext.zod.ts", "../../src/modules/protocol-model/model/Context/ChainContext.zod.ts", "../../src/modules/protocol-model/model/defaultRewardRatio.ts", "../../src/modules/protocol-model/model/minTransactionFees.ts", "../../src/modules/protocol-model/model/defaultTransactionFees.ts", "../../src/modules/protocol-model/model/HydratedTransaction.ts", "../../src/modules/protocol-model/model/OpCodes.ts", "../../src/modules/protocol-model/model/Permission.ts", "../../src/modules/protocol-model/model/rewards.ts", "../../src/modules/protocol-model/model/RewardsRangeOptions.ts", "../../src/modules/protocol-model/model/RuleActivation.ts", "../../src/modules/protocol-model/model/Sequence.ts", "../../src/modules/protocol-model/model/Stake.ts", "../../src/modules/protocol-model/model/SyncStepSummary.ts", "../../src/modules/protocol-model/model/TimeDomain.ts", "../../src/modules/protocol-model/model/TransactionInclusion.ts", "../../src/modules/protocol-model/model/TransferPair.ts", "../../src/modules/protocol-model/model/version.ts", "../../src/modules/protocol-model/provider/ProviderMoniker.ts", "../../src/modules/protocol-model/rejection/BlockRejectionPayload.ts", "../../src/modules/protocol-model/rejection/RejectionError.ts", "../../src/modules/protocol-model/rejection/TransactionRejectionPayload.ts"],
|
|
4
|
-
"sourcesContent": ["import { zodIsFactory } from '@ariestools/sdk'\nimport type {\n Schema, SchemaPayload, WithStorageMeta,\n} from '@xyo-network/sdk'\nimport {\n BoundWitnessSchema, isHashMeta, isSchemaPayload, SchemaSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport type {\n BridgeDestinationObservation, BridgeIntent, BridgeSourceObservation, ChainStakeIntent, HashPayload,\n SlashAdjudication, SlashChallenge, SlashCommit, SlashEvidence, SlashRequest, StepComplete, StepWitness, TimePayload,\n} from '../payload/index.ts'\nimport {\n BridgeDestinationObservationSchema, BridgeIntentSchema, BridgeSourceObservationSchema, ChainStakeIntentSchema, HashSchema,\n isBridgeDestinationObservation, isBridgeIntent, isBridgeSourceObservation, isChainStakeIntent, isHashPayload,\n isSlashAdjudication, isSlashChallenge, isSlashCommit, isSlashEvidence, isSlashRequest, isStepComplete, isStepWitness, isTimePayload,\n SlashAdjudicationSchema, SlashChallengeSchema, SlashCommitSchema, SlashEvidenceSchema, SlashRequestSchema,\n StepCompleteSchema, StepWitnessSchema, TimeSchema,\n} from '../payload/index.ts'\nimport { isTransactionBoundWitness, type TransactionBoundWitness } from '../transaction/index.ts'\nimport {\n isTransfer, type Transfer, TransferSchema,\n} from '../TransferPayload.ts'\n\n/** Validated data representation for Allowed Block Payload. */\nexport type AllowedBlockPayload\n = | BridgeDestinationObservation\n | BridgeIntent\n | BridgeSourceObservation\n | ChainStakeIntent\n | HashPayload\n | SchemaPayload\n | SlashAdjudication\n | SlashChallenge\n | SlashCommit\n | SlashEvidence\n | SlashRequest\n | StepWitness\n | StepComplete\n | TimePayload\n | TransactionBoundWitness\n | Transfer\n\n/** Schema identifiers accepted by the Allowed Block Payload contract. */\nexport const AllowedBlockPayloadSchemas = [\n BoundWitnessSchema,\n BridgeDestinationObservationSchema,\n BridgeIntentSchema,\n BridgeSourceObservationSchema,\n ChainStakeIntentSchema,\n HashSchema,\n SchemaSchema,\n SlashAdjudicationSchema,\n SlashChallengeSchema,\n SlashCommitSchema,\n SlashEvidenceSchema,\n SlashRequestSchema,\n StepCompleteSchema,\n StepWitnessSchema,\n TimeSchema,\n TransferSchema,\n] satisfies Schema[]\n\n/** Zod schema for validating Allowed Block Payload Schema values. */\nexport const AllowedBlockPayloadSchemaZod = z.enum(AllowedBlockPayloadSchemas)\n/** Schema type for AllowedBlockPayload payloads. */\nexport type AllowedBlockPayloadSchema = z.infer<typeof AllowedBlockPayloadSchemaZod>\n/** Schema identifier for isAllowedBlockPayload payloads. */\nexport const isAllowedBlockPayloadSchema = zodIsFactory(AllowedBlockPayloadSchemaZod)\n\n/** Type guard that checks if a value is a valid AllowedBlockPayload. */\nexport const isAllowedBlockPayload = <T>(value: T): value is AllowedBlockPayload & T => {\n // Schema-only transfer membership (not full shape) \u2014 matches the other\n // is*Payload schema checks in this union. Full Transfer validation is\n // isTransferPayload / transaction validators.\n\n return isTransfer(value)\n || isBridgeDestinationObservation(value)\n || isBridgeIntent(value)\n || isBridgeSourceObservation(value)\n || isChainStakeIntent(value)\n || isHashPayload(value)\n || isSchemaPayload(value)\n || isSlashAdjudication(value)\n || isSlashChallenge(value)\n || isSlashCommit(value)\n || isSlashEvidence(value)\n || isSlashRequest(value)\n || isStepWitness(value)\n || isStepComplete(value)\n || isTimePayload(value)\n || isTransactionBoundWitness(value)\n}\n\n/** Type guard that checks if a value is a valid AllowedBlockPayloadWithHashMeta. */\nexport const isAllowedBlockPayloadWithHashMeta = <T>(value: T): value is WithStorageMeta<AllowedBlockPayload & T> => {\n return isAllowedBlockPayload(value) && isHashMeta(value)\n}\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ExchangeOutcome payloads. */\nexport const ExchangeOutcomeSchema = asSchema('network.xyo.exchange.outcome', true)\n/** Schema type for ExchangeOutcome payloads. */\nexport type ExchangeOutcomeSchema = typeof ExchangeOutcomeSchema\n\n/**\n * Fields for an ExchangeOutcome payload \u2014 the lean settlement record. Co-signed by every\n * required party in the settlement BoundWitness, with the secret reveals and authority\n * attestations carried as co-payloads in that BW.\n */\nexport const ExchangeOutcomeFieldsZod = z.object({\n /** Hash of the ExchangeTerms payload this outcome settles */\n terms: HashZod,\n /** Settlement result */\n outcome: z.enum(['fulfilled', 'rejected']),\n})\n\n/** Fields represented by the Exchange Outcome contract. */\nexport type ExchangeOutcomeFields = z.infer<typeof ExchangeOutcomeFieldsZod>\n\n/** An ExchangeOutcome payload \u2014 the settlement result of an atomic exchange. */\nexport type ExchangeOutcome = Payload<ExchangeOutcomeFields, ExchangeOutcomeSchema>\n\n/** Type guard that checks if a value is a valid ExchangeOutcome. */\nexport const isExchangeOutcome = isPayloadOfZodType<ExchangeOutcome>(\n ExchangeOutcomeFieldsZod,\n ExchangeOutcomeSchema,\n)\n\n/** Casts a value to ExchangeOutcome or returns undefined if invalid. */\nexport const asExchangeOutcome = AsObjectFactory.create(isExchangeOutcome)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockDurationZod } from '../../../transaction/TransactionBoundWitness.ts'\n\n/** Schema identifier for ExchangeTerms payloads. */\nexport const ExchangeTermsSchema = asSchema('network.xyo.exchange.terms', true)\n/** Schema type for ExchangeTerms payloads. */\nexport type ExchangeTermsSchema = typeof ExchangeTermsSchema\n\n/**\n * Fields for an atomic-exchange Terms payload \u2014 the entry point of the exchange. All\n * required parties co-sign this in a single multi-signer BoundWitness, committing to the\n * hashed secrets, asset references, optional authority lists, and validity window.\n *\n * `nbf` and `exp` follow the same convention as TransactionBoundWitness \u2014 both required,\n * spread from BlockDurationZod.\n */\nexport const ExchangeTermsFieldsZod = z.extend(\n z.object({\n /** Stable identifier for this exchange */\n exchangeId: z.string(),\n /**\n * Each party is a set of addresses (most parties have one wallet; a multi-sig org may have several).\n * All addresses in the set must co-sign the party's secret reveal at settlement.\n */\n parties: z.array(z.array(XyoAddressZod)).check(z.minLength(2)),\n /** One hash per party \u2014 the data hash of that party's PartySecretReveal payload */\n partySecrets: z.array(HashZod),\n /** Hashes of the asset payload(s) being exchanged */\n assets: z.array(HashZod),\n /** Optional \u2014 addresses whose signature on appraisal payloads is accepted */\n appraisalAuthorities: z.optional(z.array(XyoAddressZod)),\n /** Optional \u2014 addresses whose signature on payment-receipt payloads is accepted */\n paymentAuthorities: z.optional(z.array(XyoAddressZod)),\n }),\n BlockDurationZod.shape,\n)\n\n/** Fields represented by the Exchange Terms contract. */\nexport type ExchangeTermsFields = z.infer<typeof ExchangeTermsFieldsZod>\n\n/** An ExchangeTerms payload \u2014 the immutable entry-point declaration of an atomic exchange. */\nexport type ExchangeTerms = Payload<ExchangeTermsFields, ExchangeTermsSchema>\n\n/** Type guard that checks if a value is a valid ExchangeTerms. */\nexport const isExchangeTerms = isPayloadOfZodType<ExchangeTerms>(\n ExchangeTermsFieldsZod,\n ExchangeTermsSchema,\n)\n\n/** Casts a value to ExchangeTerms or returns undefined if invalid. */\nexport const asExchangeTerms = AsObjectFactory.create(isExchangeTerms)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n BoundWitnessZod, HashMetaZod, SignedBoundWitnessZod, StorageMetaZod,\n UnsignedBoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\nimport { TransactionFeesHexZod } from './TransactionFees.ts'\n\n/** Zod schema for validating Block Start values. */\nexport const BlockStartZod = z.object({ nbf: XL1BlockNumberZod })\n/** Zod schema for validating Block End values. */\nexport const BlockEndZod = z.object({ exp: XL1BlockNumberZod })\n/** Zod schema for validating Block Duration values. */\nexport const BlockDurationZod = z.object({ nbf: XL1BlockNumberZod, exp: XL1BlockNumberZod })\n/** Zod schema for validating Block Scripts values. */\nexport const BlockScriptsZod = z.object({ script: z.optional(z.array(z.string())) })\n\n/** Zod schema for validating Transaction Fees values. */\nexport const TransactionFeesZod = z.object({ fees: TransactionFeesHexZod })\n\n/** Protocol constant defining transaction bound witness identity fields. */\nexport const TransactionBoundWitnessIdentityFields = z.object({ chain: ChainZod, from: XyoAddressZod })\n\n/** Zod schema for validating Transaction Bound Witness Fields values. */\nexport const TransactionBoundWitnessFieldsZod = z.safeExtend(\n z.safeExtend(\n z.safeExtend(\n z.safeExtend(z.object(), BlockDurationZod.shape),\n TransactionFeesZod.shape,\n ),\n TransactionBoundWitnessIdentityFields.shape,\n ),\n BlockScriptsZod.shape,\n)\n\n/** Fields represented by the Transaction Bound Witness contract. */\nexport type TransactionBoundWitnessFields = z.infer<typeof TransactionBoundWitnessFieldsZod>\n\n/** Zod schema for validating Transaction Bound Witness values. */\nexport const TransactionBoundWitnessZod = z.safeExtend(BoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Transaction Bound Witness. */\nexport type TransactionBoundWitness = z.infer<typeof TransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitness. */\nexport const isTransactionBoundWitness = zodIsFactory(TransactionBoundWitnessZod)\n/** Converts a value to TransactionBoundWitness, throwing if invalid. */\nexport const asTransactionBoundWitness = zodAsFactory(TransactionBoundWitnessZod, 'asTransactionBoundWitness')\n/** Safe conversion helper that returns Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitness = zodToFactory(TransactionBoundWitnessZod, 'toTransactionBoundWitness')\n\n/** Zod schema for validating Transaction Bound Witness With Hash Meta values. */\nexport const TransactionBoundWitnessWithHashMetaZod = z.safeExtend(TransactionBoundWitnessZod, HashMetaZod.shape)\n\n/** Transaction Bound Witness value augmented with computed hash metadata. */\nexport type TransactionBoundWitnessWithHashMeta = z.infer<typeof TransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithHashMeta. */\nexport const isTransactionBoundWitnessWithHashMeta = zodIsFactory(TransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to TransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithHashMeta = zodAsFactory(TransactionBoundWitnessWithHashMetaZod, 'asTransactionBoundWitnessWithHashMeta')\n/** Safe conversion helper that returns Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitnessWithHashMeta = zodToFactory(TransactionBoundWitnessWithHashMetaZod, 'toTransactionBoundWitnessWithHashMeta')\n\n/** Zod schema for validating Transaction Bound Witness With Storage Meta values. */\nexport const TransactionBoundWitnessWithStorageMetaZod = z.safeExtend(TransactionBoundWitnessZod, StorageMetaZod.shape)\n\n/** Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type TransactionBoundWitnessWithStorageMeta = z.infer<typeof TransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithStorageMeta. */\nexport const isTransactionBoundWitnessWithStorageMeta = zodIsFactory(TransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to TransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithStorageMeta = zodAsFactory(TransactionBoundWitnessWithStorageMetaZod, 'asTransactionBoundWitnessWithStorageMeta')\n/** Safe conversion helper that returns Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitnessWithStorageMeta = zodToFactory(TransactionBoundWitnessWithStorageMetaZod, 'toTransactionBoundWitnessWithStorageMeta')\n\n/** Zod schema for validating Unsigned Transaction Bound Witness values. */\nexport const UnsignedTransactionBoundWitnessZod = z.safeExtend(UnsignedBoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Unsigned Transaction Bound Witness. */\nexport type UnsignedTransactionBoundWitness = z.infer<typeof UnsignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitness. */\nexport const isUnsignedTransactionBoundWitness = zodIsFactory(UnsignedTransactionBoundWitnessZod)\n/** Converts a value to UnsignedTransactionBoundWitness, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitness = zodAsFactory(UnsignedTransactionBoundWitnessZod, 'asUnsignedTransactionBoundWitness')\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitness = zodToFactory(UnsignedTransactionBoundWitnessZod, 'toUnsignedTransactionBoundWitness')\n\n/** Zod schema for validating Unsigned Transaction Bound Witness With Hash Meta values. */\nexport const UnsignedTransactionBoundWitnessWithHashMetaZod = z.safeExtend(UnsignedTransactionBoundWitnessZod, HashMetaZod.shape)\n\n/** Unsigned Transaction Bound Witness value augmented with computed hash metadata. */\nexport type UnsignedTransactionBoundWitnessWithHashMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithHashMeta. */\nexport const isUnsignedTransactionBoundWitnessWithHashMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'asUnsignedTransactionBoundWitnessWithHashMeta',\n)\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'toUnsignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** Zod schema for validating Unsigned Transaction Bound Witness With Storage Meta values. */\nexport const UnsignedTransactionBoundWitnessWithStorageMetaZod = z.safeExtend(UnsignedTransactionBoundWitnessZod, StorageMetaZod.shape)\n\n/** Unsigned Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type UnsignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithStorageMeta. */\nexport const isUnsignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'asUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'toUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Transaction Bound Witness values. */\nexport const SignedTransactionBoundWitnessZod = z.safeExtend(SignedBoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Signed Transaction Bound Witness. */\nexport type SignedTransactionBoundWitness = z.infer<typeof SignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitness. */\nexport const isSignedTransactionBoundWitness = zodIsFactory(SignedTransactionBoundWitnessZod)\n/** Converts a value to SignedTransactionBoundWitness, throwing if invalid. */\nexport const asSignedTransactionBoundWitness = zodAsFactory(SignedTransactionBoundWitnessZod, 'asSignedTransactionBoundWitness')\n/** Safe conversion helper that returns Signed Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitness = zodToFactory(SignedTransactionBoundWitnessZod, 'toSignedTransactionBoundWitness')\n\n/** Zod schema for validating Signed Transaction Bound Witness With Hash Meta values. */\nexport const SignedTransactionBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedTransactionBoundWitnessZod)\n\n/** Signed Transaction Bound Witness value augmented with computed hash metadata. */\nexport type SignedTransactionBoundWitnessWithHashMeta = z.infer<typeof SignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithHashMeta. */\nexport const isSignedTransactionBoundWitnessWithHashMeta = zodIsFactory(SignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'asSignedTransactionBoundWitnessWithHashMeta',\n)\n/** Safe conversion helper that returns Signed Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'toSignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** Zod schema for validating Signed Transaction Bound Witness With Storage Meta values. */\nexport const SignedTransactionBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedTransactionBoundWitnessZod)\n\n/** Signed Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type SignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof SignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithStorageMeta. */\nexport const isSignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(SignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'asSignedTransactionBoundWitnessWithStorageMeta',\n)\n/** Safe conversion helper that returns Signed Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'toSignedTransactionBoundWitnessWithStorageMeta',\n)\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { NumberishZod } from './Numberish.ts'\n\n/** Branded number type representing a generic block number */\nexport type BlockNumber = Brand<number, { readonly __blockNumber: true }>\n\n/** Zod schema that validates and brands a number as a BlockNumber */\nexport const BlockNumberZod = z.int().nonnegative().transform(v => v as BlockNumber)\n/** Zod schema that coerces a Numberish value into a BlockNumber */\nexport const BlockNumberishZod = NumberishZod.transform(v => v as BlockNumber)\n\n/** Input type for BlockNumberishZod, accepting number, string, or bigint */\nexport type BlockNumberish = z.input<typeof BlockNumberishZod>\n\n/** Casts a number to BlockNumber, returning undefined if validation fails */\nexport const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod, 'asBlockNumber')\n/** Coerces a Numberish value to BlockNumber, returning undefined if conversion fails */\nexport const toBlockNumber = zodToFactory<BlockNumber>(BlockNumberishZod, 'toBlockNumber')\n\n/** The zero block number constant */\nexport const BLOCK_NUMBER_ZERO = asBlockNumber(0)\n", "import { z } from 'zod'\n\n/** Zod schema that accepts number, string, or bigint and coerces to number */\nexport const NumberishZod = z.union([z.number(), z.string(), z.bigint()])\n .transform(v => ((typeof v === 'bigint') || (typeof v === 'string') ? Number(v) : v))\n .pipe(z.number())\n\n/** A value that can be coerced to a number: number, string, or bigint */\nexport type Numberish = z.input<typeof NumberishZod>\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the Ethereum chain */\nexport type EthBlockNumber = Brand<BlockNumber, { readonly __ethBlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an EthBlockNumber */\nexport const EthBlockNumberZod = z.int().nonnegative().transform(v => v as EthBlockNumber)\n/** Zod schema that coerces a Numberish value into an EthBlockNumber */\nexport const EthBlockNumberishZod = BlockNumberishZod.transform(v => v as EthBlockNumber)\n\n/** Input type for EthBlockNumberishZod, accepting number, string, or bigint */\nexport type EthBlockNumberish = z.input<typeof EthBlockNumberishZod>\n\n/** Casts a number to EthBlockNumber, returning undefined if validation fails */\nexport const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod, 'asEthBlockNumber')\n/** Coerces a Numberish value to EthBlockNumber, returning undefined if conversion fails */\nexport const toEthBlockNumber = zodToFactory<EthBlockNumber>(EthBlockNumberishZod, 'toEthBlockNumber')\n\n/** The zero block number constant for the Ethereum chain */\nexport const ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0)\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the XL1 chain */\nexport type XL1BlockNumber = Brand<BlockNumber, { readonly __xl1BlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an XL1BlockNumber */\nexport const XL1BlockNumberZod = z.int().nonnegative().transform(v => v as XL1BlockNumber)\n/** Zod schema that coerces a Numberish value into an XL1BlockNumber */\nexport const XL1BlockNumberishZod = BlockNumberishZod.transform(v => v as XL1BlockNumber)\n\n/** Input type for XL1BlockNumberishZod, accepting number, string, or bigint */\nexport type XL1BlockNumberish = z.input<typeof XL1BlockNumberishZod>\n\n/** Casts a number to XL1BlockNumber, returning undefined if validation fails */\nexport const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod, 'asXL1BlockNumber')\n/** Coerces a Numberish value to XL1BlockNumber, returning undefined if conversion fails */\nexport const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(XL1BlockNumberishZod, 'toXL1BlockNumber')\n\n/** The zero block number constant for the XL1 chain */\nexport const XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0)\n", "import { AddressRegEx, toAddress } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { ChainId } from './ChainId.ts'\n\n/** Zod schema for validating Chain values. */\nexport const ChainZod = z.string().toLowerCase().regex(AddressRegEx).transform<ChainId>(v => toAddress(v))\n", "import {\n HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { z } from 'zod/mini'\n\n/** Zod schema for an XL1 chain id (a hex string). */\nexport const ChainIdZod = HexZod\n\n/** Validated data representation for Chain Id. */\nexport type ChainId = z.infer<typeof ChainIdZod>\n\n/** Type guard that checks if a value is a valid ChainId. */\nexport const isChainId = zodIsFactory(ChainIdZod)\n/** Converts a value to a ChainId, throwing if invalid. */\nexport const asChainId = zodAsFactory(ChainIdZod, 'asChainId')\n/** Safe conversion helper that returns Chain Id when validation succeeds and `undefined` otherwise. */\nexport const toChainId = zodToFactory(ChainIdZod, 'toChainId')\n", "import {\n BigIntToJsonZod, HexZod, JsonToBigIntZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** Zod schema for validating Atto values. */\nexport const AttoZod = z.bigint()\n/** Zod transform that parses JSON data into Atto values. */\nexport const JsonToAttoZod = z.pipe(JsonToBigIntZod, z.transform((v: bigint) => asAttoXL1(v)))\n\n/** Zod transform that serializes Atto values to JSON-safe data. */\n\n/** Zod schema for validating Transaction Fees Hex values. */\nexport const TransactionFeesHexZod = z.object({\n base: HexZod,\n gasLimit: HexZod,\n gasPrice: HexZod,\n priority: HexZod,\n})\n\n/** Validated data representation for Transaction Fees Hex. */\nexport type TransactionFeesHex = z.infer<typeof TransactionFeesHexZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesHex. */\nexport const isTransactionFeesHex = zodIsFactory(TransactionFeesHexZod)\n/** Converts a value to TransactionFeesHex, throwing if invalid. */\nexport const asTransactionFeesHex = zodAsFactory(TransactionFeesHexZod, 'asTransactionFeesHex')\n/** Safe conversion helper that returns Transaction Fees Hex when validation succeeds and `undefined` otherwise. */\nexport const toTransactionFeesHex = zodToFactory(TransactionFeesHexZod, 'toTransactionFeesHex')\n\n/** Zod schema for validating Transaction Fees Big Int values. */\nexport const TransactionFeesBigIntZod = z.object({\n base: AttoZod,\n gasLimit: AttoZod,\n gasPrice: AttoZod,\n priority: AttoZod,\n})\n\n/** Validated data representation for Transaction Fees Big Int. */\nexport type TransactionFeesBigInt = z.infer<typeof TransactionFeesBigIntZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesBigInt. */\nexport const isTransactionFeesBigInt = zodIsFactory(TransactionFeesBigIntZod)\n/** Converts a value to TransactionFeesBigInt, throwing if invalid. */\nexport const asTransactionFeesBigInt = zodAsFactory(TransactionFeesBigIntZod, 'asTransactionFeesBigInt')\n/** Safe conversion helper that returns Transaction Fees Big Int when validation succeeds and `undefined` otherwise. */\nexport const toTransactionFeesBigInt = zodToFactory(TransactionFeesBigIntZod, 'toTransactionFeesBigInt')\n\n/** Zod schema for validating Transaction Fees Json To Big Int values. */\nexport const TransactionFeesJsonToBigIntZod = z.pipe(\n TransactionFeesHexZod,\n z.transform((val: TransactionFeesHex) => ({\n base: JsonToBigIntZod.parse(val.base),\n gasLimit: JsonToBigIntZod.parse(val.gasLimit),\n gasPrice: JsonToBigIntZod.parse(val.gasPrice),\n priority: JsonToBigIntZod.parse(val.priority),\n })),\n)\n\n/** Zod transform that serializes Transaction Fees Big Int values to JSON-safe data. */\nexport const TransactionFeesBigIntToJsonZod = z.pipe(\n TransactionFeesBigIntZod,\n z.transform((val: TransactionFeesBigInt) => ({\n base: BigIntToJsonZod.parse(val.base),\n gasLimit: BigIntToJsonZod.parse(val.gasLimit),\n gasPrice: BigIntToJsonZod.parse(val.gasPrice),\n priority: BigIntToJsonZod.parse(val.priority),\n })),\n)\n\n/** Validated data representation for Transaction Fees Json To Big Int Zod Type. */\nexport type TransactionFeesJsonToBigIntZodType = z.infer<typeof TransactionFeesJsonToBigIntZod>\n/** Validated data representation for Transaction Fees Big Int To Json Zod Type. */\nexport type TransactionFeesBigIntToJsonZodType = z.infer<typeof TransactionFeesBigIntToJsonZod>\n\nexport { BigIntToJsonZod as AttoToJsonZod } from '@ariestools/sdk'\n", "import { z } from 'zod'\n\nimport { xl1MaxValue } from './xl1MaxValue.ts'\n\n/**\n * Creates a type guard for a denomination in the 32-decimal-digit XL1 amount range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A guard accepting only bigints between zero and the denomination's maximum, inclusive.\n */\nexport const isXL1Factory = <T extends bigint>(places: bigint) => (val: unknown): val is T => {\n if (typeof val !== 'bigint') return false\n return val >= 0n && val <= xl1MaxValue(places)\n}\n\n/**\n * Creates a strict Zod schema for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @param name The denomination name included in validation errors.\n * @returns A schema accepting only in-range bigint values.\n */\nexport const XL1ZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.bigint().refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/**\n * Creates a Zod schema that coerces supported primitives to a branded XL1 bigint denomination.\n *\n * The schema accepts bigint, number, string, and boolean inputs, applies JavaScript\n * `BigInt` conversion, and then enforces the denomination's supported range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @param name The denomination name included in range-validation errors.\n * @returns A coercing schema for the requested branded denomination.\n * @throws A JavaScript bigint-conversion error for fractional numbers and non-integer strings.\n */\nexport const XL1TransformZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.union([z.bigint(), z.number(), z.string(), z.boolean()]).transform(val => BigInt(val) as T).refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/**\n * Creates a strict constructor for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A constructor that accepts an in-range bigint and returns the branded value.\n * @throws A Zod validation error when the supplied value is not an in-range bigint.\n */\nexport const asXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1ZodFactory<T>(places, 'local')\n return (val: unknown): T => {\n const result = zod.safeParse(val)\n if (result.success) {\n return result.data\n }\n throw result.error\n }\n}\n\n/**\n * Creates a coercing constructor for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A constructor that returns the branded value or `undefined` when schema validation fails.\n * @throws A JavaScript bigint-conversion error for fractional numbers and non-integer strings.\n */\nexport const toXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1TransformZodFactory<T>(places, 'local')\n return (val: unknown): T | undefined => {\n const result = zod.safeParse(val)\n return result.success ? result.data : undefined\n }\n}\n", "/**\n * Computes the largest count of a denomination that fits the 32-decimal-digit XL1 amount range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns `10 ** (32 - places) - 1`.\n */\nexport const xl1MaxValue = (places: bigint) => 10n ** (32n - places) - 1n\n", "type XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto'\n\n/** Decimal exponent used to convert each XL1 denomination to atomic attoXL1 units. */\nexport const XL1Places: Record<XL1Units, bigint> = {\n xl1: 18n,\n milli: 15n,\n micro: 12n,\n nano: 9n,\n pico: 6n,\n femto: 3n,\n atto: 0n,\n} as const\n\n/**\n * Number of attoXL1 in one unit of each denomination.\n *\n * Multiply a denomination value by its factor to obtain attoXL1; divide an\n * attoXL1 value by the factor to obtain that denomination, subject to integer\n * truncation by the caller's arithmetic.\n */\nexport const AttoXL1ConvertFactor: Record<XL1Units, bigint> = {\n xl1: 10n ** XL1Places.xl1,\n milli: 10n ** XL1Places.milli,\n micro: 10n ** XL1Places.micro,\n nano: 10n ** XL1Places.nano,\n pico: 10n ** XL1Places.pico,\n femto: 10n ** XL1Places.femto,\n atto: 10n ** XL1Places.atto,\n} as const\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest atomic-unit amount accepted by {@link asAttoXL1}: `10^32 - 1` attoXL1. */\nexport const AttoXL1MaxValue = xl1MaxValue(XL1Places.atto)\n/** Non-negative XL1 amount expressed in attoXL1, the atomic denomination. */\nexport type AttoXL1 = bigint & { readonly _tag: 'AttoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link AttoXL1MaxValue}. */\nexport const isAttoXL1 = isXL1Factory<AttoXL1>(XL1Places.atto)\n/**\n * Validates and brands an existing bigint as an {@link AttoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asAttoXL1 = asXL1Factory<AttoXL1>(XL1Places.atto)\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link AttoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toAttoXL1 = toXL1Factory<AttoXL1>(XL1Places.atto)\n\n/** Strict constructor alias for {@link asAttoXL1}. */\nexport const AttoXL1 = asAttoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest femtoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const FemtoXL1MaxValue = xl1MaxValue(XL1Places.femto)\n/** Non-negative XL1 amount expressed in femtoXL1, where one femtoXL1 equals `10^3` attoXL1. */\nexport type FemtoXL1 = bigint & { readonly _tag: 'FemtoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link FemtoXL1MaxValue}. */\nexport const isFemtoXL1 = isXL1Factory<FemtoXL1>(XL1Places.femto)\n/**\n * Validates and brands an existing bigint as a {@link FemtoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asFemtoXL1 = asXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link FemtoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toFemtoXL1 = toXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/** Strict constructor alias for {@link asFemtoXL1}. */\nexport const FemtoXL1 = asFemtoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest microXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const MicroXL1MaxValue = xl1MaxValue(XL1Places.micro)\n/** Non-negative XL1 amount expressed in microXL1, where one microXL1 equals `10^12` attoXL1. */\nexport type MicroXL1 = bigint & { readonly _tag: 'MicroXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link MicroXL1MaxValue}. */\nexport const isMicroXL1 = isXL1Factory<MicroXL1>(XL1Places.micro)\n/**\n * Validates and brands an existing bigint as a {@link MicroXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asMicroXL1 = asXL1Factory<MicroXL1>(XL1Places.micro)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link MicroXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toMicroXL1 = toXL1Factory<MicroXL1>(XL1Places.micro)\n\n/** Strict constructor alias for {@link asMicroXL1}. */\nexport const MicroXL1 = asMicroXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest milliXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const MilliXL1MaxValue = xl1MaxValue(XL1Places.milli)\n/** Non-negative XL1 amount expressed in milliXL1, where one milliXL1 equals `10^15` attoXL1. */\nexport type MilliXL1 = bigint & { readonly _tag: 'MilliXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link MilliXL1MaxValue}. */\nexport const isMilliXL1 = isXL1Factory<MilliXL1>(XL1Places.milli)\n/**\n * Validates and brands an existing bigint as a {@link MilliXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asMilliXL1 = asXL1Factory<MilliXL1>(XL1Places.milli)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link MilliXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toMilliXL1 = toXL1Factory<MilliXL1>(XL1Places.milli)\n\n/** Strict constructor alias for {@link asMilliXL1}. */\nexport const MilliXL1 = asMilliXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest nanoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const NanoXL1MaxValue = xl1MaxValue(XL1Places.nano)\n/** Non-negative XL1 amount expressed in nanoXL1, where one nanoXL1 equals `10^9` attoXL1. */\nexport type NanoXL1 = bigint & { readonly _tag: 'NanoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link NanoXL1MaxValue}. */\nexport const isNanoXL1 = isXL1Factory<NanoXL1>(XL1Places.nano)\n/**\n * Validates and brands an existing bigint as a {@link NanoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asNanoXL1 = asXL1Factory<NanoXL1>(XL1Places.nano)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link NanoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toNanoXL1 = toXL1Factory<NanoXL1>(XL1Places.nano)\n\n/** Strict constructor alias for {@link asNanoXL1}. */\nexport const NanoXL1 = asNanoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest picoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const PicoXL1MaxValue = xl1MaxValue(XL1Places.pico)\n/** Non-negative XL1 amount expressed in picoXL1, where one picoXL1 equals `10^6` attoXL1. */\nexport type PicoXL1 = bigint & { readonly _tag: 'PicoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link PicoXL1MaxValue}. */\nexport const isPicoXL1 = isXL1Factory<PicoXL1>(XL1Places.pico)\n/**\n * Validates and brands an existing bigint as a {@link PicoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asPicoXL1 = asXL1Factory<PicoXL1>(XL1Places.pico)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link PicoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toPicoXL1 = toXL1Factory<PicoXL1>(XL1Places.pico)\n\n/** Strict constructor alias for {@link asPicoXL1}. */\nexport const PicoXL1 = asPicoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest whole-XL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const XL1MaxValue = xl1MaxValue(XL1Places.xl1)\n/** Non-negative amount expressed in whole XL1, where one XL1 equals `10^18` attoXL1. */\nexport type XL1 = bigint & { readonly _tag: 'XL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link XL1MaxValue}. */\nexport const isXL1 = isXL1Factory<XL1>(XL1Places.xl1)\n/**\n * Validates and brands an existing bigint as a whole-{@link XL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asXL1 = asXL1Factory<XL1>(XL1Places.xl1)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to whole {@link XL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toXL1 = toXL1Factory<XL1>(XL1Places.xl1)\n\n/** Strict constructor alias for {@link asXL1}. */\nexport const XL1 = asXL1\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for PartySecretReveal payloads. */\nexport const PartySecretRevealSchema = asSchema('network.xyo.exchange.party.secret', true)\n/** Schema type for PartySecretReveal payloads. */\nexport type PartySecretRevealSchema = typeof PartySecretRevealSchema\n\n/**\n * Fields for a PartySecretReveal payload \u2014 the per-party gating commitment. The hash of\n * this payload is recorded in `ExchangeTerms.partySecrets`. At settlement, the party reveals\n * this payload co-signed by all addresses in its party set, irrevocably committing to release.\n */\nexport const PartySecretRevealFieldsZod = z.object({\n /** Random opaque value \u2014 the bytes don't matter; what matters is that the party signed them */\n nonce: z.string(),\n})\n\n/** Fields represented by the Party Secret Reveal contract. */\nexport type PartySecretRevealFields = z.infer<typeof PartySecretRevealFieldsZod>\n\n/** A PartySecretReveal payload \u2014 a party's revealed nonce at settlement. */\nexport type PartySecretReveal = Payload<PartySecretRevealFields, PartySecretRevealSchema>\n\n/** Type guard that checks if a value is a valid PartySecretReveal. */\nexport const isPartySecretReveal = isPayloadOfZodType<PartySecretReveal>(\n PartySecretRevealFieldsZod,\n PartySecretRevealSchema,\n)\n\n/** Casts a value to PartySecretReveal or returns undefined if invalid. */\nexport const asPartySecretReveal = AsObjectFactory.create(isPartySecretReveal)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ordinal Inscription payloads. */\nexport const InscriptionSchema = asSchema('network.xyo.ordinal.inscription', true)\n/** Schema type for ordinal Inscription payloads. */\nexport type InscriptionSchema = typeof InscriptionSchema\n\n/**\n * Fields for an ordinal Inscription \u2014 a persistent, transferable, owned artifact whose\n * identity is the content-addressed hash of this payload. Authorship/ownership is derived\n * structurally from the wrapping BoundWitness signer, never from a payload field.\n */\nexport const InscriptionFieldsZod = z.object({\n /** MIME type of the inscribed content (e.g. 'text/plain', 'image/png', 'application/json') */\n contentType: z.string(),\n /** Inscribed content \u2014 base64 for binary, raw for text/JSON */\n content: z.string(),\n})\n\n/** Fields represented by the Inscription contract. */\nexport type InscriptionFields = z.infer<typeof InscriptionFieldsZod>\n\n/** An ordinal Inscription payload \u2014 the canonical artifact of the inscription substrate. */\nexport type Inscription = Payload<InscriptionFields, InscriptionSchema>\n\n/** Type guard that checks if a value is a valid Inscription. */\nexport const isInscription = isPayloadOfZodType<Inscription>(InscriptionFieldsZod, InscriptionSchema)\n\n/** Casts a value to Inscription or returns undefined if invalid. */\nexport const asInscription = AsObjectFactory.create(isInscription)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ordinal transfer payloads. */\nexport const OrdinalTransferSchema = asSchema('network.xyo.ordinal.transfer', true)\n/** Schema type for ordinal transfer payloads. */\nexport type OrdinalTransferSchema = typeof OrdinalTransferSchema\n\n/**\n * Fields for an ordinal Transfer event \u2014 references the target inscription by its\n * content-addressed ID and declares the new owner. The current owner is *not* a payload\n * field; the indexer enforces that the wrapping BoundWitness was signed by the current owner.\n */\nexport const OrdinalTransferFieldsZod = z.object({\n /** Content-addressed hash of the target inscription payload */\n inscriptionId: HashZod,\n /** Recipient address \u2014 declarative content; the current owner is derived structurally */\n to: XyoAddressZod,\n})\n\n/** Fields represented by the Ordinal Transfer contract. */\nexport type OrdinalTransferFields = z.infer<typeof OrdinalTransferFieldsZod>\n\n/** An ordinal Transfer payload \u2014 moves inscription ownership to `to`. */\nexport type OrdinalTransfer = Payload<OrdinalTransferFields, OrdinalTransferSchema>\n\n/** Type guard that checks if a value is a valid OrdinalTransfer. */\nexport const isOrdinalTransfer = isPayloadOfZodType<OrdinalTransfer>(\n OrdinalTransferFieldsZod,\n OrdinalTransferSchema,\n)\n\n/** Casts a value to OrdinalTransfer or returns undefined if invalid. */\nexport const asOrdinalTransfer = AsObjectFactory.create(isOrdinalTransfer)\n", "import { z } from 'zod/mini'\n\n/**\n * Zod schema for an XRC-20 ticker symbol \u2014 1 to 8 characters. Indexers case-fold to\n * lowercase before applying ownership rules, so casing collisions (`ORDI` vs `ordi`)\n * race for the same ticker.\n */\nexport const TickerZod = z.string().check(z.minLength(1), z.maxLength(8))\n\n/** An XRC-20 ticker symbol. */\nexport type Ticker = z.infer<typeof TickerZod>\n", "import { z } from 'zod/mini'\n\n/**\n * Zod schema for an XRC-20 token amount \u2014 a decimal-string representation of a\n * non-negative integer. Decimal strings rather than `number` so the value survives JSON\n * round-trips at arbitrary precision; indexers parse with `BigInt()`.\n */\nexport const TokenAmountZod = z.string().check(z.regex(/^\\d+$/))\n\n/** Decimal-string big-integer XRC-20 amount; parse with `BigInt()`. */\nexport type TokenAmount = z.infer<typeof TokenAmountZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 deploy payloads. */\nexport const TokenDeploySchema = asSchema('network.xyo.ordinal.token.deploy', true)\n/** Schema type for XRC-20 deploy payloads. */\nexport type TokenDeploySchema = typeof TokenDeploySchema\n\n/**\n * Fields for an XRC-20 deploy artifact \u2014 claims a ticker with a supply cap and a per-mint\n * cap. Ticker ownership tracks the ownership of this inscription artifact.\n */\nexport const TokenDeployFieldsZod = z.object({\n /** Ticker symbol \u2014 case-folded by the indexer */\n tick: TickerZod,\n /** Total supply */\n max: TokenAmountZod,\n /** Per-mint cap */\n lim: TokenAmountZod,\n /** Optional decimals (0\u201318); defaults to 0 in the indexer */\n decimals: z.optional(z.int().check(z.gte(0), z.lte(18))),\n})\n\n/** Fields represented by the Token Deploy contract. */\nexport type TokenDeployFields = z.infer<typeof TokenDeployFieldsZod>\n\n/** An XRC-20 deploy payload \u2014 an artifact that claims a ticker. */\nexport type TokenDeploy = Payload<TokenDeployFields, TokenDeploySchema>\n\n/** Type guard that checks if a value is a valid TokenDeploy. */\nexport const isTokenDeploy = isPayloadOfZodType<TokenDeploy>(TokenDeployFieldsZod, TokenDeploySchema)\n\n/** Casts a value to TokenDeploy or returns undefined if invalid. */\nexport const asTokenDeploy = AsObjectFactory.create(isTokenDeploy)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 mint payloads. */\nexport const TokenMintSchema = asSchema('network.xyo.ordinal.token.mint', true)\n/** Schema type for XRC-20 mint payloads. */\nexport type TokenMintSchema = typeof TokenMintSchema\n\n/**\n * Fields for an XRC-20 mint event \u2014 credits the wrapping BoundWitness signer with `amt`\n * of `tick`. Drops if `amt` exceeds the deploy's per-mint cap or would exceed total supply.\n */\nexport const TokenMintFieldsZod = z.object({\n /** Ticker being minted */\n tick: TickerZod,\n /** Amount minted */\n amt: TokenAmountZod,\n})\n\n/** Fields represented by the Token Mint contract. */\nexport type TokenMintFields = z.infer<typeof TokenMintFieldsZod>\n\n/** An XRC-20 mint payload \u2014 credits the signer's balance for `tick` by `amt`. */\nexport type TokenMint = Payload<TokenMintFields, TokenMintSchema>\n\n/** Type guard that checks if a value is a valid TokenMint. */\nexport const isTokenMint = isPayloadOfZodType<TokenMint>(TokenMintFieldsZod, TokenMintSchema)\n\n/** Casts a value to TokenMint or returns undefined if invalid. */\nexport const asTokenMint = AsObjectFactory.create(isTokenMint)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 transfer payloads. */\nexport const TokenTransferSchema = asSchema('network.xyo.ordinal.token.transfer', true)\n/** Schema type for XRC-20 transfer payloads. */\nexport type TokenTransferSchema = typeof TokenTransferSchema\n\n/**\n * Fields for an XRC-20 transfer event \u2014 moves `amt` of `tick` from the wrapping\n * BoundWitness signer to `to`. Drops if the signer's balance is insufficient.\n */\nexport const TokenTransferFieldsZod = z.object({\n /** Ticker being transferred */\n tick: TickerZod,\n /** Recipient address \u2014 declarative content; the sender is derived structurally */\n to: XyoAddressZod,\n /** Amount transferred */\n amt: TokenAmountZod,\n})\n\n/** Fields represented by the Token Transfer contract. */\nexport type TokenTransferFields = z.infer<typeof TokenTransferFieldsZod>\n\n/** An XRC-20 transfer payload \u2014 moves `amt` of `tick` from signer to `to`. */\nexport type TokenTransfer = Payload<TokenTransferFields, TokenTransferSchema>\n\n/** Type guard that checks if a value is a valid TokenTransfer. */\nexport const isTokenTransfer = isPayloadOfZodType<TokenTransfer>(\n TokenTransferFieldsZod,\n TokenTransferSchema,\n)\n\n/** Casts a value to TokenTransfer or returns undefined if invalid. */\nexport const asTokenTransfer = AsObjectFactory.create(isTokenTransfer)\n", "import { AsObjectFactory, HexZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeDestinationObservation payloads. */\nexport const BridgeDestinationObservationSchema = asSchema('network.xyo.chain.bridge.observation.destination', true)\n/** Schema type for BridgeDestinationObservation payloads. */\nexport type BridgeDestinationObservationSchema = typeof BridgeDestinationObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport const BridgeDestinationObservationFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Destination chain confirmation\n */\n destConfirmation: z.optional(HexZod).check(z.describe('Destination chain confirmation')),\n})\n\n/** Fields represented by the Bridge Destination Observation contract. */\nexport type BridgeDestinationObservationFields = z.infer<typeof BridgeDestinationObservationFieldsZod>\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport type BridgeDestinationObservation = Payload<BridgeDestinationObservationFields, BridgeDestinationObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeDestinationObservation. */\nexport const isBridgeDestinationObservation = isPayloadOfZodType<BridgeDestinationObservation>(\n BridgeDestinationObservationFieldsZod,\n BridgeDestinationObservationSchema,\n)\n\n/** Converts a value to BridgeDestinationObservation, throwing if invalid. */\nexport const asBridgeDestinationObservation = AsObjectFactory.create(isBridgeDestinationObservation)\n", "import { HexZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\n/**\n * Represents a transfer destination\n */\nexport const BridgeDetailsDestinationFieldsZod = z.object({\n /**\n * Destination network\n */\n dest: HexZod.check(z.describe('The destination network identifier')),\n /**\n * Destination address (EOA or contract)\n */\n destAddress: HexZod.check(z.describe('The destination address (EOA or contract)')),\n /**\n * Token amount to bridge to destination\n */\n destAmount: HexZod.check(z.describe('The token amount to bridge to destination')),\n /**\n * Token being bridged to\n */\n destToken: HexZod.check(z.describe('The token being bridged to')),\n})\n\n/**\n * Represents a transfer destination\n */\nexport type BridgeDetailsDestinationFields = z.infer<typeof BridgeDetailsDestinationFieldsZod>\n\n/**\n * Represents a transfer source\n */\nexport const BridgeDetailsSourceFieldsZod = z.object({\n /**\n * Source network\n */\n src: HexZod.check(z.describe('The source network identifier')),\n\n /**\n * Source address (EOA or contract)\n */\n srcAddress: HexZod.check(z.describe('The source address (EOA or contract)')),\n /**\n * Token amount to bridge from source\n */\n srcAmount: HexZod.check(z.describe('The token amount to bridge from source')),\n /**\n * Token being bridged from\n */\n srcToken: HexZod.check(z.describe('The token being bridged from')),\n})\n\n/**\n * Represents a transfer source\n */\nexport type BridgeDetailsSourceFields = z.infer<typeof BridgeDetailsSourceFieldsZod>\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport const BridgeDetailsFieldsZod = z.extend(\n BridgeDetailsSourceFieldsZod,\n BridgeDetailsDestinationFieldsZod.shape,\n)\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport type BridgeDetailsFields = z.infer<typeof BridgeDetailsFieldsZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeIntent payloads. */\nexport const BridgeIntentSchema = asSchema('network.xyo.chain.bridge.intent', true)\n/** Schema type for BridgeIntent payloads. */\nexport type BridgeIntentSchema = typeof BridgeIntentSchema\n\n/**\n * Represents an Address's intent to initiate a token bridge.\n */\nexport const BridgeIntentFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Unique identifier for replay protection\n */\n nonce: z.string().check(z.describe('Unique identifier for replay protection')),\n})\n\n/** Fields represented by the Bridge Intent contract. */\nexport type BridgeIntentFields = z.infer<typeof BridgeIntentFieldsZod>\n\n/** Validated data representation for Bridge Intent. */\nexport type BridgeIntent = Payload<BridgeIntentFields, BridgeIntentSchema>\n\n/** Type guard that checks if a value is a valid BridgeIntent. */\nexport const isBridgeIntent = isPayloadOfZodType<BridgeIntent>(\n BridgeIntentFieldsZod,\n BridgeIntentSchema,\n)\n\n/** Converts a value to BridgeIntent, throwing if invalid. */\nexport const asBridgeIntent = AsObjectFactory.create(isBridgeIntent)\n", "import { AsObjectFactory, HexZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeSourceObservation payloads. */\nexport const BridgeSourceObservationSchema = asSchema('network.xyo.chain.bridge.observation.source', true)\n/** Schema type for BridgeSourceObservation payloads. */\nexport type BridgeSourceObservationSchema = typeof BridgeSourceObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport const BridgeSourceObservationFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Source chain confirmation\n */\n srcConfirmation: z.optional(HexZod).check(z.describe('Source chain confirmation')),\n})\n\n/** Fields represented by the Bridge Source Observation contract. */\nexport type BridgeSourceObservationFields = z.infer<typeof BridgeSourceObservationFieldsZod>\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport type BridgeSourceObservation = Payload<BridgeSourceObservationFields, BridgeSourceObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeSourceObservation. */\nexport const isBridgeSourceObservation = isPayloadOfZodType<BridgeSourceObservation>(\n BridgeSourceObservationFieldsZod,\n BridgeSourceObservationSchema,\n)\n\n/** Converts a value to BridgeSourceObservation, throwing if invalid. */\nexport const asBridgeSourceObservation = AsObjectFactory.create(isBridgeSourceObservation)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload, WithStorageMeta } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, isStorageMeta,\n} from '@xyo-network/sdk'\n\nimport type { BlockDuration } from '../../fields/index.ts'\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for chain stake intent payloads. */\nexport const ChainStakeIntentSchema = asSchema('network.xyo.chain.stake.intent', true)\n/** Schema type for ChainStakeIntent payloads. */\nexport type ChainStakeIntentSchema = typeof ChainStakeIntentSchema\n\n/** The type of staking intent, currently limited to 'producer'. */\nexport type Intent = 'producer' // | 'bank'\n\n/** Fields declaring the role requested by a chain-staking action. */\nexport interface ChainStakeIntentFields extends BlockDuration, FromFields {\n /** Chain role for which the source address intends to stake. */\n intent: Intent\n}\n\n/** A payload representing an intent to stake on the chain. */\nexport type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>\n\n/** Type guard that checks whether a value is a valid ChainStakeIntent with non-negative nbf and exp. */\nexport const isChainStakeIntent = (x?: unknown): x is ChainStakeIntent => {\n return isPayloadOfSchemaType<ChainStakeIntent>(ChainStakeIntentSchema)(x)\n && asNonNegativeInteger(x.nbf) !== undefined\n && asNonNegativeInteger(x.exp) !== undefined\n}\n/** Casts a value to ChainStakeIntent or returns undefined if it does not match. */\nexport const asChainStakeIntent = AsObjectFactory.create(isChainStakeIntent)\n\n/** Type guard that checks whether a value is a ChainStakeIntent with storage metadata. */\nexport const isChainStakeIntentWithStorageMeta = (x?: unknown): x is WithStorageMeta<ChainStakeIntent> => {\n return isChainStakeIntent(x) && isStorageMeta(x)\n}\n\nconst asNonNegativeInteger = (num: number) => {\n return (Number.isSafeInteger(num) && num >= 0) ? num : undefined\n}\n", "import type { EmptyObject } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { isAnyPayload } from '@xyo-network/sdk'\n\n/** Declares the source address that an executable action asks the processor to use. */\nexport interface FromFields {\n /**\n * Address treated as the action source. This declarative field does not by\n * itself prove the identity of the wrapping bound-witness signer.\n */\n from: XyoAddress\n}\n\n/** Protocol constant defining has from. */\nexport const hasFrom = (value: unknown): value is FromFields => {\n return (value as FromFields).from !== undefined\n}\n\n/** Script instructions attached to an executable protocol value. */\nexport interface ExecutableFields {\n /** Ordered protocol operation strings to execute. */\n script: string[]\n}\n\n/** Validated data representation for Executable. */\nexport type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields\n/** Validated data representation for Optional Executable. */\nexport type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>\n\n/** Type guard that checks if a value is a valid Executable. */\nexport const isExecutable = <T extends EmptyObject>(value: T | undefined): value is Executable<T> => {\n return isAnyPayload(value) && Array.isArray((value as unknown as ExecutableFields).script)\n}\n\n/** Converts a value to Executable, throwing if invalid. */\nexport const asExecutable = <T extends EmptyObject>(value: T | undefined): Executable<T> | undefined => {\n return isExecutable(value)\n ? value\n : undefined\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\n/** Schema identifier for hash payloads. */\nexport const HashSchema = asSchema('network.xyo.hash', true)\n/** Schema type for Hash payloads. */\nexport type HashSchema = typeof HashSchema\n\n/** Fields for a hash payload containing a single hash value. */\nexport interface HashFields {\n /** Protocol hash carried by the payload. */\n hash: Hash\n}\n\n/** A payload containing a hash value. */\nexport type HashPayload = Payload<HashFields, HashSchema>\n\n/** Type guard that checks whether a value is a HashPayload. */\nexport const isHashPayload = isPayloadOfSchemaType<HashPayload>(HashSchema)\n\n/** Casts a value to HashPayload or returns undefined if it does not match. */\nexport const asHashPayload = AsObjectFactory.create(isHashPayload)\n/** Casts a value to HashPayload with storage metadata or returns undefined. */\nexport const asHashPayloadWithStorageMeta = AsObjectFactory.create(isHashPayload)\n", "import type { Hash } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for StepComplete payloads. */\nexport const StepCompleteSchema = asSchema('network.xyo.chain.step.complete', true)\n/** Schema type for StepComplete payloads. */\nexport type StepCompleteSchema = typeof StepCompleteSchema\n\n/** Records completion metadata for a reward-eligible network step. */\nexport interface StepCompleteFields extends FromFields {\n /** XL1 block number at the step head. */\n block: number\n\n /** Hash that identifies the completed step. */\n hash: Hash\n\n /** Number of XL1 blocks represented by the step. */\n size: number\n\n /** Reference block number on the external staking system. */\n stakeBlock: number\n}\n\n// if this payload is included in a boundwitness, it needs to be available for inspection to be included in block\n/** Validated data representation for Step Complete. */\nexport type StepComplete = Payload<StepCompleteFields, StepCompleteSchema>\n\n/** Type guard that checks if a value is a valid StepComplete. */\nexport const isStepComplete = isPayloadOfSchemaType<StepComplete>(StepCompleteSchema)\n\n/** Converts a value to StepComplete, throwing if invalid. */\nexport const asStepComplete = AsObjectFactory.create(isStepComplete)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n// xl1 = xl1 block number, epoch = epoch number, ethereum = ethereum block number\n/** Supported time domains: xl1 block number, epoch timestamp, or ethereum block number. */\nexport type TimeDomain = 'xl1' | 'epoch' | 'ethereum'\n\n/** Schema identifier for time payloads. */\nexport const TimeSchema = asSchema('network.xyo.time', true)\n/** Schema type for Time payloads. */\nexport type TimeSchema = typeof TimeSchema\n\n/** Zod schema for XL1 time fields including block number and hash. */\nexport const XL1TimeFieldsZod = z.object({\n // block number\n xl1: z.optional(z.number()),\n // block hash\n xl1Hash: z.optional(HashZod),\n})\n\n/** Zod schema for Ethereum time fields including block number and hash. */\nexport const EthereumTimeFieldsZod = z.object({\n // block number\n ethereum: z.optional(z.number()),\n // block hash\n ethereumHash: z.optional(HashZod),\n})\n\n/** Zod schema for epoch time fields in milliseconds. */\nexport const EpochTimeFieldsZod = z.object({\n // in milliseconds\n epoch: z.number(),\n})\n\n/** Combined Zod schema for all time fields across XL1, Ethereum, and epoch domains. */\nexport const TimeFieldsZod = z.extend(\n z.extend(z.extend(XL1TimeFieldsZod, XL1TimeFieldsZod.shape), EthereumTimeFieldsZod.shape),\n EpochTimeFieldsZod.shape,\n)\n\n/** Zod schema for a complete time payload including schema and all time fields. */\nexport const TimePayloadZod = z.extend(PayloadZodOfSchema(TimeSchema), TimeFieldsZod.shape)\n\n/** A payload containing time information across multiple domains. */\nexport type TimePayload = z.infer<typeof TimePayloadZod>\n\n// to prevent scaling problems, we cap epochs at a fixed protocol constant rather than a\n// wall-clock-derived bound \u2014 validation must be deterministic across nodes and over time\n/** Maximum accepted epoch timestamp in milliseconds (~year 2286). */\nexport const MAX_SAFE_EPOCH = 9_999_999_999_999\n\n/** Checks whether a value is a safe epoch timestamp (nonnegative safe integer within the protocol cap). */\nexport const isSafeEpoch = (value: unknown): value is number => {\n return typeof value === 'number' && Number.isSafeInteger(value)\n && value >= 0 && value <= MAX_SAFE_EPOCH\n}\n\n/** Type guard that checks whether a value is a valid TimePayload with a safe epoch. */\nexport const isTimePayload = (value: unknown): value is TimePayload => {\n return isPayloadOfSchemaType<TimePayload>(TimeSchema)(value) && isSafeEpoch(value.epoch)\n}\n\n/** Casts a value to TimePayload or returns undefined if it does not match. */\nexport const asTimePayload = AsObjectFactory.create(isTimePayload)\n/** Casts a value to TimePayload with storage metadata or returns undefined. */\nexport const asTimePayloadWithStorageMeta = AsObjectFactory.create(isTimePayload)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Possible outcomes of adjudicating a slash request. */\nexport const SlashOutcomes = ['confirmed', 'refuted', 'indeterminate', 'invalid'] as const\n\n/** The outcome of adjudicating a slash request. */\nexport type SlashOutcome = typeof SlashOutcomes[number]\n\n/** Zod schema for a slash outcome. */\nexport const SlashOutcomeZod = z.literal(SlashOutcomes)\n\n/** Schema identifier for slash adjudication payloads. */\nexport const SlashAdjudicationSchema = asSchema('network.xyo.chain.slash.adjudication', true)\n/** Schema type for slash adjudication payloads. */\nexport type SlashAdjudicationSchema = typeof SlashAdjudicationSchema\n\n/**\n * Fields for the record that closes a slash request.\n *\n * Four outcomes, and the distinctions between them are the whole design. `confirmed` proceeds to\n * a slash. `refuted` means counter-evidence held \u2014 the reporter was not wrong to ask.\n * `indeterminate` means the check could not be completed from what was available, and costs\n * nobody anything. Only `invalid` means the report was provably wrong, and only that opens a\n * counter-slash against its filer.\n *\n * Collapsing the middle two into \"failed\" is what would make honest reporting dangerous: a\n * reporter who hit a data-availability gap would be punished the same as one who fabricated.\n */\nexport const SlashAdjudicationFieldsZod = z.object({\n /** Address credited with the report, required once bounties are paid. */\n claimant: z.optional(XyoAddressZod),\n /** Hash of the commitment that won the claim. */\n claimantCommit: z.optional(HashZod),\n /** Address issuing the adjudication. */\n from: XyoAddressZod,\n /** How the request was resolved. */\n outcome: SlashOutcomeZod,\n /** Why, for any outcome other than confirmed. */\n reason: z.optional(z.string()),\n /** Hash of the request being adjudicated. */\n request: HashZod,\n})\n\n/** Fields represented by the slash adjudication contract. */\nexport type SlashAdjudicationFields = z.infer<typeof SlashAdjudicationFieldsZod>\n\n/** A slash adjudication payload \u2014 the on-chain record closing a report. */\nexport type SlashAdjudication = Payload<SlashAdjudicationFields, SlashAdjudicationSchema>\n\n/** Type guard that checks if a value is a valid SlashAdjudication. */\nexport const isSlashAdjudication = isPayloadOfZodType<SlashAdjudication>(\n SlashAdjudicationFieldsZod,\n SlashAdjudicationSchema,\n)\n\n/** Casts a value to SlashAdjudication or returns undefined if invalid. */\nexport const asSlashAdjudication = AsObjectFactory.create(isSlashAdjudication)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash challenge payloads. */\nexport const SlashChallengeSchema = asSchema('network.xyo.chain.slash.challenge', true)\n/** Schema type for slash challenge payloads. */\nexport type SlashChallengeSchema = typeof SlashChallengeSchema\n\n/**\n * Fields for a challenge to a slash request.\n *\n * Anyone may challenge and no bond is required, because a challenge can only exculpate. A\n * frivolous one fails to change the verdict and costs its filer the fee; there is no version of\n * it that harms the accused, so there is nothing to deter.\n */\nexport const SlashChallengeFieldsZod = z.object({\n /** Hashes of the counter-artifacts, carried in accompanying evidence payloads. */\n evidence: z.array(HashZod),\n /** Address filing the challenge. */\n from: XyoAddressZod,\n /** Hash of the request being challenged. */\n request: HashZod,\n})\n\n/** Fields represented by the slash challenge contract. */\nexport type SlashChallengeFields = z.infer<typeof SlashChallengeFieldsZod>\n\n/** A slash challenge payload \u2014 counter-evidence against a pending report. */\nexport type SlashChallenge = Payload<SlashChallengeFields, SlashChallengeSchema>\n\n/** Type guard that checks if a value is a valid SlashChallenge. */\nexport const isSlashChallenge = isPayloadOfZodType<SlashChallenge>(SlashChallengeFieldsZod, SlashChallengeSchema)\n\n/** Casts a value to SlashChallenge or returns undefined if invalid. */\nexport const asSlashChallenge = AsObjectFactory.create(isSlashChallenge)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash commit payloads. */\nexport const SlashCommitSchema = asSchema('network.xyo.chain.slash.commit', true)\n/** Schema type for slash commit payloads. */\nexport type SlashCommitSchema = typeof SlashCommitSchema\n\n/**\n * Fields for a slash commitment.\n *\n * A report's evidence becomes public the moment it is recorded, and whoever orders the next block\n * decides which copy of it lands first. Committing to the report before revealing it is what\n * stops a reporter's work from being lifted and re-filed under someone else's name.\n *\n * The commitment is the hash of the whole report, so it binds the reporter, the accused, the\n * offense, and the evidence together \u2014 none of them can be swapped after the fact.\n */\nexport const SlashCommitFieldsZod = z.object({\n /** Hash of the report this commitment reserves. */\n commitment: HashZod,\n /** Address that will file the report. */\n from: XyoAddressZod,\n})\n\n/** Fields represented by the slash commit contract. */\nexport type SlashCommitFields = z.infer<typeof SlashCommitFieldsZod>\n\n/** A slash commit payload \u2014 reserves a report before its evidence is public. */\nexport type SlashCommit = Payload<SlashCommitFields, SlashCommitSchema>\n\n/** Type guard that checks if a value is a valid SlashCommit. */\nexport const isSlashCommit = isPayloadOfZodType<SlashCommit>(SlashCommitFieldsZod, SlashCommitSchema)\n\n/** Casts a value to SlashCommit or returns undefined if invalid. */\nexport const asSlashCommit = AsObjectFactory.create(isSlashCommit)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash evidence payloads. */\nexport const SlashEvidenceSchema = asSchema('network.xyo.chain.slash.evidence', true)\n/** Schema type for slash evidence payloads. */\nexport type SlashEvidenceSchema = typeof SlashEvidenceSchema\n\n/**\n * Fields for a slash evidence container.\n *\n * Evidence is signed bound witnesses \u2014 blocks, transactions, attestations. Those cannot ride\n * on-chain as bare payloads, because a bound witness in a block's payload set would be read as\n * one of that block's transactions. Carrying them inside an opaque container keeps them verbatim,\n * which matters: the whole point of the evidence is that its signatures still verify.\n */\nexport const SlashEvidenceFieldsZod = z.object({\n /** The signed artifacts, exactly as they were observed. */\n artifacts: z.array(z.record(z.string(), z.unknown())),\n /** Address that submitted the evidence. */\n from: XyoAddressZod,\n})\n\n/** Fields represented by the slash evidence contract. */\nexport type SlashEvidenceFields = z.infer<typeof SlashEvidenceFieldsZod>\n\n/** A slash evidence payload \u2014 signed artifacts carried on-chain without being interpreted. */\nexport type SlashEvidence = Payload<SlashEvidenceFields, SlashEvidenceSchema>\n\n/** Type guard that checks if a value is a valid SlashEvidence. */\nexport const isSlashEvidence = isPayloadOfZodType<SlashEvidence>(SlashEvidenceFieldsZod, SlashEvidenceSchema)\n\n/** Casts a value to SlashEvidence or returns undefined if invalid. */\nexport const asSlashEvidence = AsObjectFactory.create(isSlashEvidence)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../../BlockNumber/index.ts'\nimport { ChainIdZod } from '../../chain/index.ts'\nimport { OffenseCodeZod } from '../../model/OffenseCode.ts'\n\n/** Schema identifier for slash request payloads. */\nexport const SlashRequestSchema = asSchema('network.xyo.chain.slash.request', true)\n/** Schema type for slash request payloads. */\nexport type SlashRequestSchema = typeof SlashRequestSchema\n\n/**\n * Fields for a slash request \u2014 an accusation that a specific address committed a specific offense.\n *\n * A request carries no argument, only artifacts and a catalog entry. If an offense cannot be\n * expressed that way it is not reportable, which is what keeps accusation mechanical: the same\n * request produces the same verdict for anyone who checks it, and there is nothing to be\n * persuaded by.\n *\n * Every offense locates at exactly one height, so there is no range to disagree about when\n * deciding whether two reports are the same accusation.\n */\nexport const SlashRequestFieldsZod = z.object({\n /** Address accused of the offense. */\n accused: XyoAddressZod,\n /** Height the offense occurred at. */\n block: XL1BlockNumberZod,\n /** Catalog version the offense is judged under. */\n catalog: z.number().check(z.multipleOf(1), z.positive()),\n /** Chain the offense occurred on. */\n chain: ChainIdZod,\n /** Hashes of the artifacts proving the offense, carried in accompanying evidence payloads. */\n evidence: z.array(HashZod),\n /** EVM height the claim is judged against, for anchor and eligibility offenses. */\n evm: z.optional(z.number()),\n /** Address filing the report. */\n from: XyoAddressZod,\n /** Offense class being alleged. */\n offense: OffenseCodeZod,\n})\n\n/** Fields represented by the slash request contract. */\nexport type SlashRequestFields = z.infer<typeof SlashRequestFieldsZod>\n\n/** A slash request payload \u2014 an evidence-bearing accusation. */\nexport type SlashRequest = Payload<SlashRequestFields, SlashRequestSchema>\n\n/** Type guard that checks if a value is a valid SlashRequest. */\nexport const isSlashRequest = isPayloadOfZodType<SlashRequest>(SlashRequestFieldsZod, SlashRequestSchema)\n\n/** Casts a value to SlashRequest or returns undefined if invalid. */\nexport const asSlashRequest = AsObjectFactory.create(isSlashRequest)\n", "import { z } from 'zod/mini'\n\n/**\n * Offense codes, in catalog order.\n *\n * A class keeps its code forever: a report names the code it was filed under, and that name has\n * to still mean the same thing whenever the report is read back.\n */\nexport const OffenseCodes = [\n 'equivocation',\n 'invalid-block',\n 'reward-overmint',\n 'false-anchor',\n 'ineligible-production',\n 'invalid-slash-request',\n 'false-attestation',\n] as const\n\n/** An offense class. */\nexport type OffenseCode = typeof OffenseCodes[number]\n\n/** Zod schema for an offense code. */\nexport const OffenseCodeZod = z.literal(OffenseCodes)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport type { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\n\n/** Schema identifier for step identity payloads. */\nexport const StepIdentitySchema = asSchema('network.xyo.chain.step.identity', true)\n/** Schema type for StepIdentity payloads. */\nexport type StepIdentitySchema = typeof StepIdentitySchema\n\n/** Fields for a step identity, inferred from the StepIdentityZod schema. */\nexport type StepIdentityFields = z.infer<typeof StepIdentityZod>\n\n/**\n * A Step Identity Payload\n */\nexport type StepIdentityPayload = Payload<StepIdentityFields, StepIdentitySchema>\n\n/** Type guard that checks whether a value is a StepIdentityPayload. */\nexport const isStepIdentityPayload = isPayloadOfZodType<StepIdentityPayload>(StepIdentityZod, StepIdentitySchema)\n\n/** Casts a value to StepIdentityPayload or returns undefined if it does not match. */\nexport const asStepIdentityPayload = AsObjectFactory.create(isStepIdentityPayload)\n", "import { type Brand, isUndefined } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { toXL1BlockNumber, XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for a step identity combining a block number and step index */\nexport const StepIdentityZod = z.object({\n block: XL1BlockNumberZod.describe('The block number at which the step occurs'),\n step: z.number().int().nonnegative().describe('The index of the step into the StepSize array'),\n})\n/** Identifies a specific step by its block number and step index */\nexport type StepIdentity = z.infer<typeof StepIdentityZod>\n\n/** @deprecated use StepIdentity instead */\nexport interface StepContext extends StepIdentity {}\n\n/** Branded string representing a block number and step index separated by a pipe character */\nexport type StepIdentityString = Brand<string, { readonly __stepIdentityString: true }>\n\nfunction tryParseInt(value: string): number | undefined {\n // Prevent coercion of empty strings to 0\n if (value === '') return undefined\n // Parse number\n const num = Number(value)\n // Check if integer\n return Number.isSafeInteger(num) ? num : undefined\n}\n\n/** Parses a pipe-separated string into a StepIdentity, returning undefined if invalid */\nexport const asStepIdentity = (stepIdentityString: string): StepIdentity | undefined => {\n try {\n const [blockNumberString, stepString] = stepIdentityString.split('|', 2)\n if (isUndefined(blockNumberString) || isUndefined(stepString)) {\n return undefined\n }\n const step = tryParseInt(stepString)\n const block = toXL1BlockNumber(blockNumberString)\n if (isUndefined(block) || isUndefined(step)) {\n return undefined\n }\n\n return { block, step }\n } catch {\n return undefined\n }\n}\n", "import { AsTypeFactory } from '@ariestools/sdk'\n\nimport { asXL1BlockNumber, type XL1BlockNumber } from '../BlockNumber/index.ts'\n\n// StepsV2 are primorial(n+2) + 1, where n is the index of the step size\n// primorial(n+2) = 2 \u2192 2\u00D73=6 \u2192 6\u00D75=30 \u2192 30\u00D77=210 \u2192 210\u00D711=2310\n\n/** Array of step sizes based on primorial(n+2) + 1, defining the block intervals for each step level */\nexport const StepSizes: XL1BlockNumber[] = [\n asXL1BlockNumber(7, true),\n asXL1BlockNumber(31, true),\n asXL1BlockNumber(211, true),\n asXL1BlockNumber(2311, true),\n asXL1BlockNumber(30_031, true),\n asXL1BlockNumber(510_511, true),\n asXL1BlockNumber(9_699_691, true),\n asXL1BlockNumber(223_092_871, true),\n asXL1BlockNumber(6_469_693_231, true),\n]\n\n/** Type guard that checks if a value is a valid step index within the StepSizes array */\nexport function isValidStep(step: unknown): step is number {\n if (typeof step === 'number' && Number.isSafeInteger(step)) {\n return ((step >= 0) && (step < StepSizes.length))\n }\n return false\n}\n\n/** Casts a value to a valid step index, returning undefined if invalid */\nexport const asValidStep = AsTypeFactory.create<number>(isValidStep)\n\n/** Returns the block interval size for a given step index */\nexport function stepSize(step: number): XL1BlockNumber {\n const validatedStep = asValidStep(step, () => `Invalid step (${step}), must be an integer between 0 and ${StepSizes.length - 1}`, { required: true })\n return StepSizes[validatedStep]\n}\n\n/** Fraction of block rewards allocated at each step level, expressed as [numerator, denominator] pairs */\nexport const StepRewardFractions = [\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [1n, 10_000n], // 0.01%\n [2n, 1000n], // 0.2%\n [3n, 100n], // 3%\n [45n, 100n], // 45%\n] as const\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { StepSizes } from '../Step/index.ts'\n\n/** Schema identifier for step witness payloads. */\nexport const StepWitnessSchema = asSchema('network.xyo.chain.validation.step.witness', true)\n/** Schema type for step witness payloads. */\nexport type StepWitnessSchema = typeof StepWitnessSchema\n\n/**\n * Fields for a step witness \u2014 an observer's attestation of the step hash it observed in a\n * specific block's `step_hashes` array. The witness is anchored to the observation block via\n * `blockHash`/`blockNumber`, so anyone can later verify the claim against that block.\n */\nexport const StepWitnessFieldsZod = z.object({\n /** Hash of the block in which the step hash was observed */\n blockHash: HashZod,\n /** Block number of the block in which the step hash was observed */\n blockNumber: XL1BlockNumberZod,\n /** The observed step hash \u2014 the entry at the step level's index in the block's step_hashes */\n stepHash: HashZod,\n /** Block-interval size of the observed step level \u2014 must be one of StepSizes */\n stepSize: z.literal(StepSizes),\n /** Address of the observer */\n witness: XyoAddressZod,\n})\n\n/** Fields represented by the Step Witness contract. */\nexport type StepWitnessFields = z.infer<typeof StepWitnessFieldsZod>\n\n/** A step witness payload \u2014 records an observer's attestation of a completed step's hash as seen in a specific block. */\nexport type StepWitness = Payload<StepWitnessFields, StepWitnessSchema>\n\n/** Type guard that checks if a value is a valid StepWitness. */\nexport const isStepWitness = isPayloadOfZodType<StepWitness>(StepWitnessFieldsZod, StepWitnessSchema)\n\n/** Casts a value to StepWitness or returns undefined if invalid. */\nexport const asStepWitness = AsObjectFactory.create(isStepWitness)\n", "/** Protocol constant defining transaction gas costs. */\nexport const TransactionGasCosts = {\n /**\n * The cost of storing each character that is added to the chain\n * This includes the transaction JSON and all the elevated payloads' JSON\n */\n characterStorage: 10n,\n\n /** The cost of static validating every payload that will be included in the chain */\n payloadValidation: 1000n,\n\n /** The cost of validating each signature that will be included in the chain */\n signatureValidation: 1000n,\n\n /** The cost of validating each hash that will be included in the chain */\n hashValidation: 100n,\n\n /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */\n balanceValidation: 100n,\n} as const\n\n/** Gas Calculation\n *\n * 1 Million microXL1 (mXL1) = 1 XL1\n *\n * Gas amount is calculated as follows:\n *\n * 1. Each byte in the transaction cost 10 gas\n * 2. Each payload validation in the transaction costs 1000 gas\n * 3. Each signature verification in the transaction costs 1000 gas\n * 4. Each hash validation in the transaction costs 100 gas\n * 5. Each balance validation in the transaction costs 100 gas\n * 6. Processing/Compute/Storage Cost?\n * 7. operation Costs?\n *\n * The total gas cost is calculated by multiplying the gas amount by the gas price.\n *\n * minGasPrice is initially set to 100 mXL1\n * minBase is initially set to 1000 mXL1\n * minPriority is always 0 mXL1, but can be set to increase the priority of the transaction\n *\n */\n", "import {\n AsObjectFactory, HexZod, JsonObjectZod, zodIsFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for XYO transfer payloads */\nexport const TransferSchema = asSchema('network.xyo.transfer', true)\n/** The literal type of the transfer schema string */\nexport type TransferSchema = typeof TransferSchema\n\n/** Zod schema for the fields specific to a transfer payload */\nexport const TransferFieldsZod = z.object({\n // Removed as only transaction have opCodes\n // $opCodes: z.array(z.string()).optional(),\n context: z.optional(JsonObjectZod),\n epoch: z.number(),\n from: XyoAddressZod,\n transfers: z.record(XyoAddressZod, HexZod),\n})\n\n/** Zod schema for a complete transfer payload including schema and fields */\nexport const TransferZod = z.extend(PayloadZodOfSchema(TransferSchema), TransferFieldsZod.shape)\n\n/** A transfer payload representing the movement of XL1 tokens between addresses */\nexport type Transfer = z.infer<typeof TransferZod>\n\n/**\n * Type guard that checks if a value is a Transfer payload.\n *\n * @deprecated Checks only the schema string \u2014 a matching payload may still be missing `from`,\n * `epoch`, or `transfers`. Use `isTransferPayload` to validate the full shape before\n * dereferencing Transfer fields.\n */\nexport const isTransfer = isPayloadOfSchemaType<Transfer>(TransferSchema)\n\n/** Type guard that validates the full Transfer payload shape (schema and all fields). */\nexport const isTransferPayload = zodIsFactory(TransferZod)\n\n/** Casts a value to Transfer or returns undefined if invalid */\n\nexport const asTransfer = AsObjectFactory.create(isTransfer)\n\n/** Casts a value to a fully-validated Transfer or returns undefined if invalid */\nexport const asTransferPayload = AsObjectFactory.create(isTransferPayload)\n", "import {\n HashZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n BoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\n\n/** Zod schema for validating Block Bound Witness Fields values. */\nexport const BlockBoundWitnessFieldsZod = z.object({\n block: XL1BlockNumberZod,\n chain: ChainZod,\n previous: z.nullable(HashZod),\n protocol: z.optional(z.number()),\n step_hashes: z.optional(z.array(HashZod)),\n /**\n * Signed hash of the same-height candidate this block replaces.\n *\n * Sits in the signed fields rather than the metadata deliberately: it is what separates an\n * honest re-proposal from double-signing, and a producer must not be able to add or drop it\n * after the fact.\n */\n supersedes: z.optional(HashZod),\n})\n\n/** Zod schema for validating Block Bound Witness Meta values. */\nexport const BlockBoundWitnessMetaZod = z.object({ $epoch: z.number() })\n\n/** Zod schema for validating Block Bound Witness values. */\nexport const BlockBoundWitnessZod = z.object({\n ...BoundWitnessZod.shape,\n ...BlockBoundWitnessFieldsZod.shape,\n ...BlockBoundWitnessMetaZod.shape,\n})\n\n/** Validated data representation for Block Bound Witness. */\nexport type BlockBoundWitness = z.infer<typeof BlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitness. */\nexport const isBlockBoundWitness = zodIsFactory(BlockBoundWitnessZod)\n/** Converts a value to BlockBoundWitness, throwing if invalid. */\nexport const asBlockBoundWitness = zodAsFactory(BlockBoundWitnessZod, 'asBlockBoundWitness')\n/** Safe conversion helper that returns Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitness = zodToFactory(BlockBoundWitnessZod, 'toBlockBoundWitness')\n\n/** @deprecated use WithHashMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithHashMetaZod = WithHashMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithHashMeta(BlockBoundWitness) instead */\n\n/** Block Bound Witness value augmented with computed hash metadata. */\n\nexport type BlockBoundWitnessWithHashMeta = z.infer<typeof BlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithHashMeta. */\nexport const isBlockBoundWitnessWithHashMeta = zodIsFactory(WithHashMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithHashMeta = zodAsFactory(WithHashMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithHashMeta')\n/** Safe conversion helper that returns Block Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitnessWithHashMeta = zodToFactory(WithHashMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithHashMeta')\n\n/** @deprecated use WithStorageMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithStorageMeta(BlockBoundWitness) instead */\n\n/** Block Bound Witness value augmented with persisted storage metadata. */\n\nexport type BlockBoundWitnessWithStorageMeta = z.infer<typeof BlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithStorageMeta. */\nexport const isBlockBoundWitnessWithStorageMeta = zodIsFactory(WithStorageMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithStorageMeta = zodAsFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithStorageMeta')\n/** Safe conversion helper that returns Block Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitnessWithStorageMeta = zodToFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithStorageMeta')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod, WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessZod } from './BlockBoundWitness.ts'\nimport { SignedBlockBoundWitnessZod } from './signed/index.ts'\n\n/** Zod schema for validating Hydrated Block values. */\nexport const HydratedBlockZod = z.tuple([\n BlockBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Block with resolved payloads. */\nexport type HydratedBlock = z.infer<typeof HydratedBlockZod>\n\n/** Type guard that checks if a value is a valid HydratedBlock. */\nexport const isHydratedBlock = zodIsFactory(HydratedBlockZod)\n/** Converts a value to HydratedBlock, throwing if invalid. */\nexport const asHydratedBlock = zodAsFactory(HydratedBlockZod, 'asHydratedBlock')\n/** Safe conversion helper that returns Hydrated Block when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlock = zodToFactory(HydratedBlockZod, 'toHydratedBlock')\n\n/** Zod schema for validating Hydrated Block With Hash Meta values. */\nexport const HydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated BlockWithHashMeta with resolved payloads. */\nexport type HydratedBlockWithHashMeta = z.infer<typeof HydratedBlockWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithHashMeta. */\nexport const isHydratedBlockWithHashMeta = zodIsFactory(HydratedBlockWithHashMetaZod)\n/** Converts a value to HydratedBlockWithHashMeta, throwing if invalid. */\nexport const asHydratedBlockWithHashMeta = zodAsFactory(HydratedBlockWithHashMetaZod, 'asHydratedBlockWithHashMeta')\n/** Safe conversion helper that returns Hydrated Block With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlockWithHashMeta = zodToFactory(HydratedBlockWithHashMetaZod, 'toHydratedBlockWithHashMeta')\n\n/** Zod schema for validating Hydrated Block With Storage Meta values. */\nexport const HydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(BlockBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated BlockWithStorageMeta with resolved payloads. */\nexport type HydratedBlockWithStorageMeta = z.infer<typeof HydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithStorageMeta. */\nexport const isHydratedBlockWithStorageMeta = zodIsFactory(HydratedBlockWithStorageMetaZod)\n/** Converts a value to HydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asHydratedBlockWithStorageMeta = zodAsFactory(HydratedBlockWithStorageMetaZod, 'asHydratedBlockWithStorageMeta')\n/** Safe conversion helper that returns Hydrated Block With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlockWithStorageMeta = zodToFactory(HydratedBlockWithStorageMetaZod, 'toHydratedBlockWithStorageMeta')\n\n/** Zod schema for validating Signed Hydrated Block values. */\nexport const SignedHydratedBlockZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(z.looseObject(PayloadZod.shape)),\n])\n\n/** Type representing a hydrated SignedBlock with resolved payloads. */\nexport type SignedHydratedBlock = z.infer<typeof SignedHydratedBlockZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlock. */\nexport const isSignedHydratedBlock = zodIsFactory(SignedHydratedBlockZod)\n/** Converts a value to SignedHydratedBlock, throwing if invalid. */\nexport const asSignedHydratedBlock = zodAsFactory(SignedHydratedBlockZod, 'asSignedHydratedBlock')\n/** Safe conversion helper that returns Signed Hydrated Block when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlock = zodToFactory(SignedHydratedBlockZod, 'toSignedHydratedBlock')\n\n/** Zod transform that serializes Signed Hydrated Block values to JSON-safe data. */\nexport const SignedHydratedBlockToJsonZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(z.looseObject(PayloadZod.shape)),\n])\n\n/** Type representing a hydrated SignedBlockToJson with resolved payloads. */\nexport type SignedHydratedBlockToJson = z.infer<typeof SignedHydratedBlockToJsonZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockToJson. */\nexport const isSignedHydratedBlockToJson = zodIsFactory(SignedHydratedBlockToJsonZod)\n/** Converts a value to SignedHydratedBlockToJson, throwing if invalid. */\nexport const asSignedHydratedBlockToJson = zodAsFactory(SignedHydratedBlockToJsonZod, 'asSignedHydratedBlockToJson')\n/** Safe conversion helper that returns Signed Hydrated Block To Json when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockToJson = zodToFactory(SignedHydratedBlockToJsonZod, 'toSignedHydratedBlockToJson')\n\n/** Zod schema for validating Signed Hydrated Block With Hash Meta values. */\nexport const SignedHydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedBlockBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedBlockWithHashMeta with resolved payloads. */\nexport type SignedHydratedBlockWithHashMeta = z.infer<typeof SignedHydratedBlockWithHashMetaZod>\n\n/** Zod schema for validating Signed Hydrated Block With Hash Metaish values. */\nexport const SignedHydratedBlockWithHashMetaishZod = z.tuple([\n z.union([WithHashMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithHashMeta. */\nexport const isSignedHydratedBlockWithHashMeta = zodIsFactory(SignedHydratedBlockWithHashMetaZod)\n/** Converts a value to SignedHydratedBlockWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithHashMeta = zodAsFactory(SignedHydratedBlockWithHashMetaZod, 'asSignedHydratedBlockWithHashMeta')\n\n/** Safe conversion helper that returns Signed Hydrated Block With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockWithHashMeta = zodToFactory(SignedHydratedBlockWithHashMetaZod, 'toSignedHydratedBlockWithHashMeta')\n\n/** Zod schema for validating Signed Hydrated Block With Storage Meta values. */\nexport const SignedHydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedBlockBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n/** Type representing a hydrated SignedBlockWithStorageMeta with resolved payloads. */\nexport type SignedHydratedBlockWithStorageMeta = z.infer<typeof SignedHydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithStorageMeta. */\nexport const isSignedHydratedBlockWithStorageMeta = zodIsFactory(SignedHydratedBlockWithStorageMetaZod)\n/** Converts a value to SignedHydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithStorageMeta = zodAsFactory(SignedHydratedBlockWithStorageMetaZod, 'asSignedHydratedBlockWithStorageMeta')\n/** Safe conversion helper that returns Signed Hydrated Block With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockWithStorageMeta = zodToFactory(SignedHydratedBlockWithStorageMetaZod, 'toSignedHydratedBlockWithStorageMeta')\n\n/** Zod schema for validating Signed Hydrated Block With Storage Metaish values. */\nexport const SignedHydratedBlockWithStorageMetaishZod = z.tuple([\n z.union([WithStorageMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { SignedBoundWitnessZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness values. */\nexport const SignedBlockBoundWitnessZod = z.safeExtend(\n z.safeExtend(SignedBoundWitnessZod, BlockBoundWitnessFieldsZod.shape),\n BlockBoundWitnessMetaZod.shape,\n)\n\n/** Validated data representation for Signed Block Bound Witness. */\nexport type SignedBlockBoundWitness = z.infer<typeof SignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitness. */\nexport const isSignedBlockBoundWitness = zodIsFactory(SignedBlockBoundWitnessZod)\n/** Converts a value to SignedBlockBoundWitness, throwing if invalid. */\nexport const asSignedBlockBoundWitness = zodAsFactory(SignedBlockBoundWitnessZod, 'asSignedBlockBoundWitness')\n/** Safe conversion helper that returns Signed Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitness = zodToFactory(SignedBlockBoundWitnessZod, 'toSignedBlockBoundWitness')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadBuilder, WithHashMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness With Hash Meta values. */\nexport const SignedBlockBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedBlockBoundWitnessZod)\n\n/** Signed Block Bound Witness value augmented with computed hash metadata. */\nexport type SignedBlockBoundWitnessWithHashMeta = z.infer<typeof SignedBlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithHashMeta. */\nexport const isSignedBlockBoundWitnessWithHashMeta = zodIsFactory(SignedBlockBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithHashMeta = zodAsFactory(SignedBlockBoundWitnessWithHashMetaZod, 'asSignedBlockBoundWitnessWithHashMeta')\n\n/** Zod schema for validating Signed Block Bound Witness With Hash Metaish values. */\nexport const SignedBlockBoundWitnessWithHashMetaishZod = z.pipe(\n SignedBlockBoundWitnessZod,\n z.transform(async (data: z.infer<typeof SignedBlockBoundWitnessZod>) => {\n if (isSignedBlockBoundWitnessWithHashMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addHashMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithHashMetaish format')\n }),\n)\n\n/** Hash-meta-compatible input accepted when validating Signed Block Bound Witn values. */\nexport type SignedBlockBoundWitnessWithHashMetaish = z.input<typeof SignedBlockBoundWitnessWithHashMetaishZod>\n\n/** Safe conversion helper that returns Signed Block Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitnessWithHashMeta = zodToFactory(SignedBlockBoundWitnessWithHashMetaZod, 'toSignedBlockBoundWitnessWithHashMeta')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadBuilder, WithStorageMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness With Storage Meta values. */\nexport const SignedBlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedBlockBoundWitnessZod)\n\n/** Signed Block Bound Witness value augmented with persisted storage metadata. */\nexport type SignedBlockBoundWitnessWithStorageMeta = z.infer<typeof SignedBlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithStorageMeta. */\nexport const isSignedBlockBoundWitnessWithStorageMeta = zodIsFactory(SignedBlockBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithStorageMeta = zodAsFactory(\n SignedBlockBoundWitnessWithStorageMetaZod,\n 'asSignedBlockBoundWitnessWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Block Bound Witness With Storage Metaish values. */\nexport const SignedBlockBoundWitnessWithStorageMetaishZod = z.pipe(\n SignedBlockBoundWitnessZod,\n z.transform(async (data: z.infer<typeof SignedBlockBoundWitnessZod>) => {\n if (isSignedBlockBoundWitnessWithStorageMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addStorageMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithStorageMetaish format')\n }),\n)\n\n/** Storage-meta-compatible input accepted when validating Signed Block Bound Witn values. */\nexport type SignedBlockBoundWitnessWithStorageMetaish = z.input<typeof SignedBlockBoundWitnessWithStorageMetaishZod>\n\n/** Safe conversion helper that returns Signed Block Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitnessWithStorageMeta = zodToFactory(\n SignedBlockBoundWitnessWithStorageMetaishZod,\n 'toSignedBlockBoundWitnessWithStorageMeta',\n)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { UnsignedBoundWitnessZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** Zod schema for validating Unsigned Block Bound Witness values. */\nexport const UnsignedBlockBoundWitnessZod = z.safeExtend(\n z.safeExtend(UnsignedBoundWitnessZod, BlockBoundWitnessFieldsZod.shape),\n BlockBoundWitnessMetaZod.shape,\n)\n\n/** Validated data representation for Unsigned Block Bound Witness. */\nexport type UnsignedBlockBoundWitness = z.infer<typeof UnsignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedBlockBoundWitness. */\nexport const isUnsignedBlockBoundWitness = zodIsFactory(UnsignedBlockBoundWitnessZod)\n/** Converts a value to UnsignedBlockBoundWitness, throwing if invalid. */\nexport const asUnsignedBlockBoundWitness = zodAsFactory(UnsignedBlockBoundWitnessZod, 'asUnsignedBlockBoundWitness')\n/** Safe conversion helper that returns Unsigned Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedBlockBoundWitness = zodToFactory(UnsignedBlockBoundWitnessZod, 'toUnsignedBlockBoundWitness')\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainIdZod } from '../chain/index.ts'\n\n/** Schema identifier for candidate pair payloads. */\nexport const CandidatePairSchema = asSchema('network.xyo.chain.evidence.candidate.pair', true)\n/** Schema type for candidate pair payloads. */\nexport type CandidatePairSchema = typeof CandidatePairSchema\n\n/**\n * Fields for a candidate pair record \u2014 two distinct signed candidates by the same producer at\n * the same height.\n *\n * A pair is *not* an equivocation on its own: a producer that re-proposes on its own unadopted\n * candidate is doing normal work. Pairs become equivocation evidence only once the supersedes\n * field ships and a pair is found with no supersession chain linking it.\n *\n * `subjects` MUST be sorted ascending by the writer. Canonical JSON preserves array order, so\n * sorting is what makes the record's identity symmetric \u2014 and therefore idempotent \u2014 regardless\n * of which candidate was observed first.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const CandidatePairFieldsZod = z.object({\n /** Chain both candidates were proposed on */\n chain: ChainIdZod,\n /** Block number both candidates claim */\n height: XL1BlockNumberZod,\n /** Address that signed both candidates */\n producer: XyoAddressZod,\n /** The two candidates' recomputed bound witness data hashes, sorted ascending */\n subjects: z.tuple([HashZod, HashZod]),\n})\n\n/** Fields represented by the candidate pair contract. */\nexport type CandidatePairFields = z.infer<typeof CandidatePairFieldsZod>\n\n/** A candidate pair payload \u2014 records two distinct same-height candidates from one producer. */\nexport type CandidatePair = Payload<CandidatePairFields, CandidatePairSchema>\n\n/** Type guard that checks if a value is a valid CandidatePair. */\nexport const isCandidatePair = isPayloadOfZodType<CandidatePair>(CandidatePairFieldsZod, CandidatePairSchema)\n\n/** Casts a value to CandidatePair or returns undefined if invalid. */\nexport const asCandidatePair = AsObjectFactory.create(isCandidatePair)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainIdZod } from '../chain/index.ts'\n\n/** Schema identifier for candidate seen payloads. */\nexport const CandidateSeenSchema = asSchema('network.xyo.chain.evidence.candidate', true)\n/** Schema type for candidate seen payloads. */\nexport type CandidateSeenSchema = typeof CandidateSeenSchema\n\n/**\n * Fields for a candidate seen record \u2014 one entry in the (producer, height, data hash) index.\n *\n * Every field is canonical, so the payload's own data hash is deterministic and re-inserting\n * the same observation is idempotent at the archivist. That property is what makes these\n * records the index: dedupe comes free from payload identity rather than a secondary store.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const CandidateSeenFieldsZod = z.object({\n /** Chain the candidate was proposed on */\n chain: ChainIdZod,\n /** Block number the candidate claims */\n height: XL1BlockNumberZod,\n /** Parent hash the candidate builds on \u2014 absent only for a genesis candidate */\n previous: z.optional(HashZod),\n /** Address that signed the candidate */\n producer: XyoAddressZod,\n /** Recomputed data hash of the candidate's bound witness */\n subject: HashZod,\n})\n\n/** Fields represented by the candidate seen contract. */\nexport type CandidateSeenFields = z.infer<typeof CandidateSeenFieldsZod>\n\n/** A candidate seen payload \u2014 records that a specific signed candidate was observed. */\nexport type CandidateSeen = Payload<CandidateSeenFields, CandidateSeenSchema>\n\n/** Type guard that checks if a value is a valid CandidateSeen. */\nexport const isCandidateSeen = isPayloadOfZodType<CandidateSeen>(CandidateSeenFieldsZod, CandidateSeenSchema)\n\n/** Casts a value to CandidateSeen or returns undefined if invalid. */\nexport const asCandidateSeen = AsObjectFactory.create(isCandidateSeen)\n", "import { z } from 'zod/mini'\n\n/**\n * Reasons a candidate block can leave the pending pool and enter the evidence store.\n *\n * The union ships complete so the stored records never migrate: `expired` and `superseded`\n * are reserved for the anchor-gate and supersedes-field workstreams and are not produced\n * by any classifier yet.\n */\nexport const EvidenceDispositions = [\n 'expired',\n 'finalized',\n 'foreign',\n 'invalid',\n 'losing',\n 'malformed',\n 'superseded',\n] as const\n\n/** Reason a candidate block was archived as evidence. */\nexport type EvidenceDisposition = typeof EvidenceDispositions[number]\n\n/** Zod schema for an evidence disposition. */\nexport const EvidenceDispositionZod = z.literal(EvidenceDispositions)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { EvidenceDispositionZod } from './EvidenceDisposition.ts'\n\n/** Schema identifier for evidence note payloads. */\nexport const EvidenceNoteSchema = asSchema('network.xyo.chain.evidence.note', true)\n/** Schema type for evidence note payloads. */\nexport type EvidenceNoteSchema = typeof EvidenceNoteSchema\n\n/**\n * Fields for an evidence note \u2014 the sibling record written alongside an archived candidate\n * bundle. The bundle itself is stored verbatim so artifact identity (the contained bound\n * witness's recomputed data hash) survives archiving; the note carries everything the\n * retention sweep and the detection feeds need without re-parsing the bundle.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const EvidenceNoteFieldsZod = z.object({\n /** Hash of the stored bundle payload this note describes */\n bundle: HashZod,\n /** Why the candidate left the pending pool */\n disposition: EvidenceDispositionZod,\n /** Block number of the archived candidate \u2014 absent when the bundle was malformed */\n height: z.optional(XL1BlockNumberZod),\n /** Finalized head height when the entry was archived \u2014 the retention clock for entries with no height */\n observed: XL1BlockNumberZod,\n /** Producer of the archived candidate \u2014 absent when the bundle was malformed */\n producer: z.optional(XyoAddressZod),\n /** Recomputed data hash of the archived block's bound witness \u2014 the artifact identity evidence references use */\n subject: HashZod,\n})\n\n/** Fields represented by the evidence note contract. */\nexport type EvidenceNoteFields = z.infer<typeof EvidenceNoteFieldsZod>\n\n/** An evidence note payload \u2014 describes one archived candidate in the evidence store. */\nexport type EvidenceNote = Payload<EvidenceNoteFields, EvidenceNoteSchema>\n\n/** Type guard that checks if a value is a valid EvidenceNote. */\nexport const isEvidenceNote = isPayloadOfZodType<EvidenceNote>(EvidenceNoteFieldsZod, EvidenceNoteSchema)\n\n/** Casts a value to EvidenceNote or returns undefined if invalid. */\nexport const asEvidenceNote = AsObjectFactory.create(isEvidenceNote)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload, WithSources } from '@xyo-network/sdk'\nimport {\n asSchema,\n isPayloadOfSchemaType,\n isPayloadOfSchemaTypeWithSources,\n} from '@xyo-network/sdk'\n\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\n\n/** Schema identifier for BlockNumber payloads. */\nexport const BlockNumberSchema = asSchema('network.xyo.chain.block.number', true)\n/** Schema type for BlockNumber payloads. */\nexport type BlockNumberSchema = typeof BlockNumberSchema\n\n/** Structured contract for Block Number Fields values. */\nexport interface BlockNumberFields {\n /**\n * The block number\n */\n block: XL1BlockNumber\n}\n/**\n * The number of a block\n */\nexport type BlockNumberPayload = Payload<BlockNumberFields, BlockNumberSchema>\n\n/**\n * Identity function for determining if an object is a BlockNumber\n */\nexport const isBlockNumberPayload = isPayloadOfSchemaType<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayload, throwing if invalid. */\nexport const asBlockNumberPayload = AsObjectFactory.create<BlockNumberPayload>(isBlockNumberPayload)\n\n/**\n * Identity function for determining if an object is a BlockNumber with sources\n */\nexport const isBlockNumberPayloadWithSources = isPayloadOfSchemaTypeWithSources<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayloadWithSources, throwing if invalid. */\nexport const asBlockNumberPayloadWithSources = AsObjectFactory.create<WithSources<BlockNumberPayload>>(isBlockNumberPayloadWithSources)\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { WithHashMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessZod } from '../block/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport { TransactionBoundWitnessZod } from '../transaction/index.ts'\nimport { TransferZod } from '../TransferPayload.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\nimport type { ChainQualified } from './ChainQualification.ts'\nimport { ChainQualifiedConfigZod } from './ChainQualification.ts'\n\n/** Zod schema for validating Account Balance History Item values. */\nexport const AccountBalanceHistoryItemZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n z.nullable(WithHashMetaZod(TransactionBoundWitnessZod)),\n WithHashMetaZod(TransferZod),\n])\n\n/** Validated data representation for Account Balance History Item. */\nexport type AccountBalanceHistoryItem = z.infer<typeof AccountBalanceHistoryItemZod>\n\n/** Zod schema for validating Account Balance Config values. */\nexport const AccountBalanceConfigZod = ChainQualifiedConfigZod\n/** Validated data representation for Account Balance Config. */\nexport type AccountBalanceConfig = z.infer<typeof AccountBalanceConfigZod>\n/** Type guard that checks if a value is a valid AccountBalanceConfig. */\nexport const isAccountBalanceConfig = zodIsFactory(AccountBalanceConfigZod)\n\n/** Chain-qualified account-balance queries that require an explicit qualification configuration. */\nexport interface AccountBalanceViewerMethods {\n /** Returns transfer histories for each requested address together with the chain qualification used. */\n qualifiedAccountBalanceHistories(\n address: XyoAddress[],\n config: AccountBalanceConfig\n ): Promisable<ChainQualified<Record<XyoAddress, AccountBalanceHistoryItem[]>>>\n\n /** Returns balances for each requested address together with the chain qualification used. */\n qualifiedAccountBalances(address: XyoAddress[], config: AccountBalanceConfig): Promisable<ChainQualified<Record<XyoAddress, AttoXL1>>>\n}\n\n/** Viewer interface for reading AccountBalance data. */\nexport interface AccountBalanceViewer extends AccountBalanceViewerMethods, Provider<AccountBalanceViewerMoniker> {\n /** Returns the current attoXL1 balance for one address. */\n accountBalance(address: XyoAddress, config?: AccountBalanceConfig): Promisable<AttoXL1>\n\n /** Returns transfer histories keyed by each requested address. */\n accountBalanceHistories(address: XyoAddress[], config?: AccountBalanceConfig): Promisable<Record<XyoAddress, AccountBalanceHistoryItem[]>>\n\n /** Returns the transfer history for one address. */\n accountBalanceHistory(address: XyoAddress, config?: AccountBalanceConfig): Promisable<AccountBalanceHistoryItem[]>\n\n /** Returns current attoXL1 balances keyed by each requested address. */\n accountBalances(address: XyoAddress[], config?: AccountBalanceConfig): Promisable<Record<XyoAddress, AttoXL1>>\n}\n\n/** Moniker identifier for the AccountBalanceViewer provider. */\nexport const AccountBalanceViewerMoniker = 'AccountBalanceViewer' as const\n/** Type literal for the AccountBalanceViewer provider moniker. */\nexport type AccountBalanceViewerMoniker = typeof AccountBalanceViewerMoniker\n", "import { HashZod, zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Chain Qualification values. */\nexport const ChainQualificationZod = z.object({ head: HashZod, range: XL1BlockRangeZod })\n/** Validated data representation for Chain Qualification. */\nexport type ChainQualification = z.infer<typeof ChainQualificationZod>\n/** Type guard that checks if a value is a valid ChainQualification. */\nexport const isChainQualification = zodIsFactory(ChainQualificationZod)\n\n/** Zod schema for validating Chain Qualified Range Config values. */\nexport const ChainQualifiedRangeConfigZod = z.object({ range: XL1BlockRangeZod })\n/** Validated data representation for Chain Qualified Range Config. */\nexport type ChainQualifiedRangeConfig = z.infer<typeof ChainQualifiedRangeConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedRangeConfig. */\nexport const isChainQualifiedRangeConfig = zodIsFactory(ChainQualifiedRangeConfigZod)\n\n/** Zod schema for validating Chain Qualified Head Config values. */\nexport const ChainQualifiedHeadConfigZod = z.object({ head: HashZod })\n/** Validated data representation for Chain Qualified Head Config. */\nexport type ChainQualifiedHeadConfig = z.infer<typeof ChainQualifiedHeadConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedHeadConfig. */\nexport const isChainQualifiedHeadConfig = zodIsFactory(ChainQualifiedHeadConfigZod)\n\n/** Zod schema for validating Chain Qualified Config values. */\nexport const ChainQualifiedConfigZod = z.union([ChainQualifiedRangeConfigZod, ChainQualifiedHeadConfigZod, z.object({})])\n/** Validated data representation for Chain Qualified Config. */\nexport type ChainQualifiedConfig = z.infer<typeof ChainQualifiedConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedConfig. */\nexport const isChainQualifiedConfig = zodIsFactory(ChainQualifiedConfigZod)\n\n/** Zod schema for validating Extend Chain Qualified Config values. */\nexport const ExtendChainQualifiedConfigZod = (<T>(zodType: z.ZodType<T>) => {\n return z.union([\n ChainQualifiedRangeConfigZod.extend(zodType),\n ChainQualifiedHeadConfigZod.extend(zodType),\n zodType,\n ])\n}) as <T>(zodType: z.ZodType<T>) => z.ZodType<T & ChainQualifiedConfig>\n\n/** Validated data representation for Chain Qualified. */\nexport type ChainQualified<T> = [T, ChainQualification]\n/** Zod schema for validating Chain Qualified values. */\nexport const ChainQualifiedZod = <T>(zodType: z.ZodType<T>) => {\n return z.tuple([zodType, ChainQualificationZod])\n}\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asBlockNumber,\n type BlockNumber, BlockNumberishZod, BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for Block Range. */\nexport type BlockRange = [BlockNumber, BlockNumber]\n\n/** Zod schema for validating Block Range values. */\nexport const BlockRangeZod = z.tuple([BlockNumberZod, BlockNumberZod])\n/** Zod schema for validating Block Rangeish values. */\nexport const BlockRangeishZod = z.tuple([BlockNumberishZod, BlockNumberishZod])\n\n/** Validated data representation for Block Rangeish. */\nexport type BlockRangeish = z.input<typeof BlockRangeishZod>\n\n/** Converts a value to BlockRange, throwing if invalid. */\nexport const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod, 'BlockRange')\n/** Safe conversion helper that returns Block Range when validation succeeds and `undefined` otherwise. */\nexport const toBlockRange = zodToFactory<BlockRange>(BlockRangeishZod, 'BlockRange')\n\n/** Serialized lookup-key representation for Block Range values. */\nexport type BlockRangeKey = Brand<string, { readonly __blockRangeKey: true }>\n/** Safe conversion helper that returns Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toBlockNumberKey = (range: BlockRange) => `${range[0]}|${range[1]}` as BlockRangeKey\n\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey): BlockRange | undefined\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert: AssertConfig): BlockRange\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert?: AssertConfig): BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid BlockRangeKey: ${key}`)\n}\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asEthBlockNumber,\n type EthBlockNumber, EthBlockNumberishZod, EthBlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for Eth Block Range. */\nexport type EthBlockRange = [EthBlockNumber, EthBlockNumber]\n\n/** Zod schema for validating Eth Block Range values. */\nexport const EthBlockRangeZod = z.tuple([EthBlockNumberZod, EthBlockNumberZod])\n/** Zod schema for validating Eth Block Rangeish values. */\nexport const EthBlockRangeishZod = z.tuple([EthBlockNumberishZod, EthBlockNumberishZod])\n\n/** Validated data representation for Eth Block Rangeish. */\nexport type EthBlockRangeish = z.input<typeof EthBlockRangeishZod>\n\n/** Converts a value to EthBlockRange, throwing if invalid. */\nexport const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod, 'EthBlockRange')\n/** Safe conversion helper that returns Eth Block Range when validation succeeds and `undefined` otherwise. */\nexport const toEthBlockRange = zodToFactory<EthBlockRange>(EthBlockRangeishZod, 'EthBlockRange')\n\n/** Serialized lookup-key representation for Eth Block Range values. */\nexport type EthBlockRangeKey = Brand<string, { readonly __ethBlockRangeKey: true }>\n/** Safe conversion helper that returns Eth Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toEthBlockNumberKey = (range: EthBlockRange) => `${range[0]}|${range[1]}` as EthBlockRangeKey\n\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey): EthBlockRange | undefined\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert: AssertConfig): EthBlockRange\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert?: AssertConfig): EthBlockRange | undefined {\n const [start, end] = key.split('|').map(v => asEthBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid EthBlockRangeKey: ${key}`)\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for validating Range values. */\nexport const RangeZod = z.tuple([z.number(), z.number()])\n\n/** Validated data representation for Range. */\nexport type Range = z.infer<typeof RangeZod>\n\n/** Type guard that checks if a value is a valid Range. */\nexport const isRange = zodIsFactory<Range>(RangeZod)\n/** Converts a value to Range, throwing if invalid. */\nexport const asRange = zodAsFactory<Range>(RangeZod, 'Range')\n/** Safe conversion helper that returns Range when validation succeeds and `undefined` otherwise. */\nexport const toRange = zodToFactory<Range>(RangeZod, 'Range')\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asXL1BlockNumber,\n type XL1BlockNumber, XL1BlockNumberishZod, XL1BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for XL1 Block Range. */\nexport type XL1BlockRange = [XL1BlockNumber, XL1BlockNumber]\n\n/** Zod schema for validating XL1 Block Range values. */\nexport const XL1BlockRangeZod = z.tuple([XL1BlockNumberZod, XL1BlockNumberZod])\n/** Zod schema for validating XL1 Block Rangeish values. */\nexport const XL1BlockRangeishZod = z.tuple([XL1BlockNumberishZod, XL1BlockNumberishZod])\n\n/** Validated data representation for XL1 Block Rangeish. */\nexport type XL1BlockRangeish = z.input<typeof XL1BlockRangeishZod>\n\n/** Converts a value to XL1BlockRange, throwing if invalid. */\nexport const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod, 'XL1BlockRange')\n/** Safe conversion helper that returns XL1 Block Range when validation succeeds and `undefined` otherwise. */\nexport const toXL1BlockRange = zodToFactory<XL1BlockRange>(XL1BlockRangeishZod, 'XL1BlockRange')\n\n/** Serialized lookup-key representation for XL1 Block Range values. */\nexport type XL1BlockRangeKey = Brand<string, { readonly __xl1BlockRangeKey: true }>\n/** Safe conversion helper that returns XL1 Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toXL1BlockNumberKey = (range: XL1BlockRange) => `${range[0]}|${range[1]}` as XL1BlockRangeKey\n\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey): XL1BlockRange | undefined\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert: AssertConfig): XL1BlockRange\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert?: AssertConfig): XL1BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asXL1BlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid XL1BlockRangeKey: ${key}`)\n}\n", "import type { Address, EthAddress } from '@ariestools/sdk'\n\n/**\n * The Zero Address is used as a marker address for various protocol operations.\n */\nexport const XYO_ZERO_ADDRESS = '0000000000000000000000000000000000000000' as const as Address\n\n/**\n * The Bridge Address is used as a marker address for bridge transactions.\n */\nexport const XYO_BRIDGE_ADDRESS = '3012193230121932301219323012193230121932' as const as Address\n\n/**\n * The Network Staking Address is used as a marker address for staking the network.\n */\nexport const XYO_NETWORK_STAKING_ADDRESS = '1969196919691969196919691969196919691969' as const as Address\n\n/**\n * The Step Reward Address is used as a marker address for step rewards.\n */\nexport const XYO_STEP_REWARD_ADDRESS = '1216197612161976121619761216197612161976' as const as Address\n\n/** Protocol constant defining xl1 eth main erc20 contract address. */\nexport const XL1_ETH_MAIN_ERC20_CONTRACT_ADDRESS = '0xf72aE3E0DA743033AbD7A407557D684c1aE66aed' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main sub governor address. */\nexport const XL1_ETH_MAIN_SUB_GOVERNOR_ADDRESS = '0xbA296Bc5D0949C0484f08c56c30FB95CC4675A29' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main rewards address. */\nexport const XL1_ETH_MAIN_REWARDS_ADDRESS = '0x1a546e091FB4EFb274DC584334a28b8754c4ece7' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main staked xyo chain address. */\nexport const XL1_ETH_MAIN_STAKED_XYO_CHAIN_ADDRESS = '0x319e667cED10452A117472811130444dED357F26' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main governance address. */\nexport const XL1_ETH_MAIN_GOVERNANCE_ADDRESS = '0x7595710956d6B14b4f2F51a8dF41379eEeC9074E' as const as EthAddress\n", "import { z } from 'zod'\n\n/** Base64 encode that works in Node and browsers. */\nfunction base64Encode(u8: Uint8Array): string {\n return u8.toBase64()\n}\n\n/** Base64 decode that works in Node and browsers -> Uint8Array */\nfunction base64Decode(b64: string): Uint8Array {\n return Uint8Array.fromBase64(b64)\n}\n\n/** Zod transform that serializes Array Buffer values to JSON-safe data. */\nexport const ArrayBufferToJsonZod = z.instanceof(ArrayBuffer).transform((x) => {\n const u8 = new Uint8Array(x)\n return base64Encode(u8)\n})\n\n/** Zod transform that parses JSON data into Array Buffer values. */\nexport const JsonToArrayBufferZod = z.string().transform((x) => {\n const u8 = base64Decode(x)\n return u8.buffer\n})\n", "import { zodAsFactory, zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { EthBlockNumber, XL1BlockNumber } from '../BlockNumber/index.ts'\nimport { StepSizes } from '../Step/index.ts'\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Time Durations values. */\nexport const TimeDurationsZod = z.object({\n millis: z.number().nonnegative(),\n seconds: z.number().nonnegative(),\n minutes: z.number().nonnegative(),\n hours: z.number().nonnegative(),\n days: z.number().nonnegative(),\n weeks: z.number().nonnegative(),\n})\n\n/** Type guard that checks if a value is a valid TimeDurations. */\nexport const isTimeDurations = zodIsFactory(TimeDurationsZod)\n/** Converts a value to TimeDurations, throwing if invalid. */\nexport const asTimeDurations = zodAsFactory(TimeDurationsZod, 'asTimeDurations')\n/** Safe conversion helper that returns Time Durations when validation succeeds and `undefined` otherwise. */\nexport const toTimeDurations = zodAsFactory(TimeDurationsZod, 'toTimeDurations')\n\n/** Validated data representation for Time Durations. */\nexport type TimeDurations = z.infer<typeof TimeDurationsZod>\n\n/** Zod schema for validating Block Rate values. */\nexport const BlockRateZod = z.object({\n range: XL1BlockRangeZod.describe('the block range the rate was calculated over'),\n rate: z.number().nonnegative().describe('rate of blocks per specified time unit'),\n timeUnit: TimeDurationsZod.keyof().describe('the unit of time for the rate and timePerBlock'),\n span: z.int().nonnegative().describe('number of blocks the rate was calculated over'),\n timeDifference: z.number().nonnegative().describe('time difference from start and end block'),\n timePerBlock: z.number().nonnegative().describe('average time per block for the given range'),\n})\n\n/** Validated data representation for Block Rate. */\nexport type BlockRate = z.infer<typeof BlockRateZod>\n\n/** Validated data representation for Generic Block Rate. */\nexport type GenericBlockRate<TBlockNumber extends number> = Omit<BlockRate, 'range'> & {\n range: [TBlockNumber, TBlockNumber]\n}\n\n/** Structured contract for XL1 Block Rate values. */\nexport interface XL1BlockRate extends GenericBlockRate<XL1BlockNumber> {}\n/** Structured contract for Eth Block Rate values. */\nexport interface EthBlockRate extends GenericBlockRate<EthBlockNumber> {}\n\n/** Type guard that checks if a value is a valid BlockRate. */\nexport const isBlockRate = zodIsFactory(BlockRateZod)\n/** Converts a value to BlockRate, throwing if invalid. */\nexport const asBlockRate = zodAsFactory(BlockRateZod, 'asBlockRate')\n/** Safe conversion helper that returns Block Rate when validation succeeds and `undefined` otherwise. */\nexport const toBlockRate = zodAsFactory(BlockRateZod, 'toBlockRate')\n\n/** Zod schema for validating Count values. */\nexport const CountZod = z.int().nonnegative().describe('A non-negative integer count')\n/** Validated data representation for Count. */\nexport type Count = z.infer<typeof CountZod>\n\n/** Zod schema for validating Step Index values. */\nexport const StepIndexZod = z.int().min(0).max(StepSizes.length - 1).describe('A non-negative integer step index')\n/** Validated data representation for Step Index. */\nexport type StepIndex = z.infer<typeof StepIndexZod>\n\nconst timeUnitSchema = z.number().positive()\n\n/** Zod schema for validating Time Config values. */\nexport const TimeConfigZod = z.object({\n minutes: timeUnitSchema.optional(),\n hours: timeUnitSchema.optional(),\n days: timeUnitSchema.optional(),\n weeks: timeUnitSchema.optional(),\n months: timeUnitSchema.optional(),\n years: timeUnitSchema.optional(),\n}).describe('Time configuration with optional time units')\n\n/** Validated data representation for Time Config. */\nexport type TimeConfig = z.infer<typeof TimeConfigZod>\n\n/** Type guard that checks if a value is a valid TimeConfig. */\nexport const isTimeConfig = zodIsFactory(TimeConfigZod)\n/** Converts a value to TimeConfig, throwing if invalid. */\nexport const asTimeConfig = zodAsFactory(TimeConfigZod, 'asTimeConfig')\n/** Safe conversion helper that returns Time Config when validation succeeds and `undefined` otherwise. */\nexport const toTimeConfig = zodAsFactory(TimeConfigZod, 'toTimeConfig')\n\n/** Zod schema for validating Single Time Config values. */\nexport const SingleTimeConfigZod = z.union([\n z.object({ minutes: timeUnitSchema }),\n z.object({ hours: timeUnitSchema }),\n z.object({ days: timeUnitSchema }),\n z.object({ weeks: timeUnitSchema }),\n z.object({ months: timeUnitSchema }),\n z.object({ years: timeUnitSchema }),\n]).describe('Time configuration with exactly one time unit')\n\n/** Validated data representation for Single Time Config. */\nexport type SingleTimeConfig = z.infer<typeof SingleTimeConfigZod>\n\n/** Type guard that checks if a value is a valid SingleTimeConfig. */\nexport const isSingleTimeConfig = zodIsFactory(SingleTimeConfigZod)\n/** Converts a value to SingleTimeConfig, throwing if invalid. */\nexport const asSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'asSingleTimeConfig')\n/** Safe conversion helper that returns Single Time Config when validation succeeds and `undefined` otherwise. */\nexport const toSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'toSingleTimeConfig')\n", "import type { Logger } from '@ariestools/sdk'\nimport type { MeterProvider, TracerProvider } from '@opentelemetry/api'\nimport { z } from 'zod'\n\nimport type { MapType } from '../../map/index.ts'\n\n/** Zod schema for validating Caches values. */\nexport const CachesZod = z.record(\n z.string(),\n z.custom<MapType<string, unknown>>(val => val != null && typeof val === 'object' && ('get' in val || 'set' in val)),\n)\n\n/** Zod schema for validating Singletons values. */\nexport const SingletonsZod = z.record(z.union([z.string(), z.symbol()]), z.unknown())\n\n/** Zod schema for validating Logger values. */\nexport const LoggerZod = z.custom<Logger>(val => val != null && typeof val === 'object' && 'info' in val && 'error' in val)\n\n/** Zod schema for validating Meter Provider values. */\nexport const MeterProviderZod = z.custom<MeterProvider>(val => val != null && typeof val === 'object' && 'getMeter' in val)\n\n/** Zod schema for validating Tracer Provider values. */\nexport const TracerProviderZod = z.custom<TracerProvider>(val => val != null && typeof val === 'object' && 'getTracer' in val)\n\n/** Zod schema for validating Time Budget Limit values. */\nexport const TimeBudgetLimitZod = z.number()\n\n/** Zod schema for validating Base Context values. */\nexport const BaseContextZod = z.object({\n caches: CachesZod.optional(),\n logger: LoggerZod.optional(),\n meterProvider: MeterProviderZod.optional(),\n singletons: SingletonsZod,\n timeBudgetLimit: TimeBudgetLimitZod.optional(),\n traceProvider: TracerProviderZod.optional(),\n})\n", "import type {\n Payload,\n ReadArchivist, WriteArchivist,\n} from '@xyo-network/sdk'\nimport z from 'zod'\n\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** Zod schema for validating Block Context Read values. */\nexport const BlockContextReadZod = CachingContextZod.extend(\n { chainMap: z.custom<ReadArchivist<Payload>>(val => val != null && typeof val === 'object' && ('get' in val)) },\n)\n\n/** Zod schema for validating Block Context Write values. */\nexport const BlockContextWriteZod = CachingContextZod.extend(\n { chainMap: z.custom<WriteArchivist<Payload>>(val => val != null && typeof val === 'object' && ('get' in val && 'insert' in val)) },\n)\n\n/** Zod schema for validating Block Context values. */\nexport const BlockContextZod = BlockContextWriteZod\n", "import { BaseContextZod, CachesZod } from './BaseContext.zod.ts'\n\n/** Zod schema for validating Caching Context values. */\nexport const CachingContextZod = BaseContextZod.extend({ caches: CachesZod })\n", "import { WithHashMetaZod } from '@xyo-network/sdk'\nimport z from 'zod'\n\nimport { BlockBoundWitnessZod } from '../../block/index.ts'\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** Zod schema for validating Head Context Base values. */\nexport const HeadContextBaseZod = z.object(\n { head: WithHashMetaZod(BlockBoundWitnessZod) },\n)\n\n/** Zod schema for validating Head Context values. */\nexport const HeadContextZod = CachingContextZod.safeExtend(HeadContextBaseZod.shape)\n", "import {\n BlockContextReadZod, BlockContextWriteZod, BlockContextZod,\n} from './BlockContext.zod.ts'\nimport { HeadContextBaseZod } from './HeadContext.zod.ts'\n\n/** Zod schema for validating Chain Context Read values. */\nexport const ChainContextReadZod = BlockContextReadZod.safeExtend(HeadContextBaseZod.shape)\n\n/** Zod schema for validating Chain Context Write values. */\nexport const ChainContextWriteZod = BlockContextWriteZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n\n/** Zod schema for validating Chain Context values. */\nexport const ChainContextZod = BlockContextZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n", "// the percent of the block rewards the producer gets\n/** defaultRewardRatio value. */\nexport const defaultRewardRatio = 0.1 as const // 10% goes to block producer\n", "import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\n\n/** minTransactionFees value. */\nexport const minTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1000n * AttoXL1ConvertFactor.nano),\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n priority: AttoXL1(0n * AttoXL1ConvertFactor.nano),\n} as const\n", "import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\nimport { minTransactionFees } from './minTransactionFees.ts'\n\n/** defaultTransactionFees value. */\nexport const defaultTransactionFees: TransactionFeesBigInt = {\n base: minTransactionFees.base,\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.nano),\n priority: minTransactionFees.priority,\n} as const\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport {\n SignedTransactionBoundWitnessZod, TransactionBoundWitnessZod, UnsignedTransactionBoundWitnessZod,\n} from '../transaction/index.ts'\n\n/** Zod schema for validating Hydrated Transaction values. */\nexport const HydratedTransactionZod = z.tuple([\n TransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Transaction with resolved payloads. */\nexport type HydratedTransaction = z.infer<typeof HydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid HydratedTransaction. */\nexport const isHydratedTransaction = zodIsFactory(HydratedTransactionZod)\n/** Converts a value to HydratedTransaction, throwing if invalid. */\nexport const asHydratedTransaction = zodAsFactory(HydratedTransactionZod, 'asHydratedTransaction')\n/** Safe conversion helper that returns Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransaction = zodToFactory(HydratedTransactionZod, 'toHydratedTransaction')\n\n/** Zod schema for validating Hydrated Transaction With Hash Meta values. */\nexport const HydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(TransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated TransactionWithHashMeta with resolved payloads. */\nexport type HydratedTransactionWithHashMeta = z.infer<typeof HydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithHashMeta. */\nexport const isHydratedTransactionWithHashMeta = zodIsFactory(HydratedTransactionWithHashMetaZod)\n/** Converts a value to HydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asHydratedTransactionWithHashMeta = zodAsFactory(HydratedTransactionWithHashMetaZod, 'asHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransactionWithHashMeta = zodToFactory(HydratedTransactionWithHashMetaZod, 'toHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Hydrated Transaction With Storage Meta values. */\nexport const HydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(TransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated TransactionWithStorageMeta with resolved payloads. */\nexport type HydratedTransactionWithStorageMeta = z.infer<typeof HydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithStorageMeta. */\nexport const isHydratedTransactionWithStorageMeta = zodIsFactory(HydratedTransactionWithStorageMetaZod)\n/** Converts a value to HydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asHydratedTransactionWithStorageMeta = zodAsFactory(HydratedTransactionWithStorageMetaZod, 'asHydratedTransactionWithStorageMeta')\n/** Safe conversion helper that returns Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransactionWithStorageMeta = zodToFactory(HydratedTransactionWithStorageMetaZod, 'toHydratedTransactionWithStorageMeta')\n\n/** Zod schema for validating Unsigned Hydrated Transaction values. */\nexport const UnsignedHydratedTransactionZod = z.tuple([\n UnsignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated UnsignedTransaction with resolved payloads. */\nexport type UnsignedHydratedTransaction = z.infer<typeof UnsignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransaction. */\nexport const isUnsignedHydratedTransaction = zodIsFactory(UnsignedHydratedTransactionZod)\n/** Converts a value to UnsignedHydratedTransaction, throwing if invalid. */\nexport const asUnsignedHydratedTransaction = zodAsFactory(UnsignedHydratedTransactionZod, 'asUnsignedHydratedTransaction')\n/** Safe conversion helper that returns Unsigned Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransaction = zodToFactory(UnsignedHydratedTransactionZod, 'toUnsignedHydratedTransaction')\n\n/** Zod schema for validating Unsigned Hydrated Transaction With Hash Meta values. */\nexport const UnsignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithHashMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithHashMeta = z.infer<typeof UnsignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithHashMeta. */\nexport const isUnsignedHydratedTransactionWithHashMeta = zodIsFactory(UnsignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithHashMeta = zodAsFactory(UnsignedHydratedTransactionWithHashMetaZod, 'asUnsignedHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Unsigned Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransactionWithHashMeta = zodToFactory(UnsignedHydratedTransactionWithHashMetaZod, 'toUnsignedHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Unsigned Hydrated Transaction With Storage Meta values. */\nexport const UnsignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithStorageMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithStorageMeta = z.infer<typeof UnsignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithStorageMeta. */\nexport const isUnsignedHydratedTransactionWithStorageMeta = zodIsFactory(UnsignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithStorageMeta = zodAsFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'asUnsignedHydratedTransactionWithStorageMeta',\n)\n/** Safe conversion helper that returns Unsigned Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransactionWithStorageMeta = zodToFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'toUnsignedHydratedTransactionWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Hydrated Transaction values. */\nexport const SignedHydratedTransactionZod = z.tuple([\n SignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated SignedTransaction with resolved payloads. */\nexport type SignedHydratedTransaction = z.infer<typeof SignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransaction. */\nexport const isSignedHydratedTransaction = zodIsFactory(SignedHydratedTransactionZod)\n/** Converts a value to SignedHydratedTransaction, throwing if invalid. */\nexport const asSignedHydratedTransaction = zodAsFactory(SignedHydratedTransactionZod, 'asSignedHydratedTransaction')\n/** Safe conversion helper that returns Signed Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransaction = zodToFactory(SignedHydratedTransactionZod, 'toSignedHydratedTransaction')\n\n/** Zod schema for validating Signed Hydrated Transaction With Hash Meta values. */\nexport const SignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedTransactionWithHashMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithHashMeta = z.infer<typeof SignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithHashMeta. */\nexport const isSignedHydratedTransactionWithHashMeta = zodIsFactory(SignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to SignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithHashMeta = zodAsFactory(SignedHydratedTransactionWithHashMetaZod, 'asSignedHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Signed Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransactionWithHashMeta = zodToFactory(SignedHydratedTransactionWithHashMetaZod, 'toSignedHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Signed Hydrated Transaction With Storage Meta values. */\nexport const SignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedTransactionWithStorageMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithStorageMeta = z.infer<typeof SignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithStorageMeta. */\nexport const isSignedHydratedTransactionWithStorageMeta = zodIsFactory(SignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to SignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithStorageMeta = zodAsFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'asSignedHydratedTransactionWithStorageMeta',\n)\n/** Safe conversion helper that returns Signed Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransactionWithStorageMeta = zodToFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'toSignedHydratedTransactionWithStorageMeta',\n)\n", "/** Protocol constant defining elevate opcode. */\nexport const ELEVATE_OPCODE = 'elevate'\n", "import { z } from 'zod'\n\n/** Zod schema for validating Caveat Types values. */\nexport const CaveatTypesZod = z.enum(['chain', 'dataLakeAccess', 'expiration', 'filteredResponse', 'rateLimit', 'restrictReturnedAccounts'])\n\n/** Caveat type identifiers \u2014 single source of truth, inferred from {@link CaveatTypesZod} so the runtime enum and the static type cannot drift. */\nexport type CaveatTypes = z.infer<typeof CaveatTypesZod>\n\n/** Zod schema for validating Caveats values. */\nexport const CaveatsZod = z.object({\n type: CaveatTypesZod,\n value: z.json(),\n})\n\n/** Zod schema for validating Permission values. */\nexport const PermissionZod = z.object({\n parentCapability: z.string(),\n caveats: CaveatsZod.array().optional(),\n invoker: z.string(),\n})\n\n/** Zod schema for validating Invoker Permission values. */\nexport const InvokerPermissionZod = PermissionZod.safeExtend({ date: z.number().optional() })\n\n/** Zod schema for validating Permission Request values. */\nexport const PermissionRequestZod = z.record(z.string(), z.record(z.string(), z.any()))\n\n/** Zod schema for validating Requested Permission values. */\nexport const RequestedPermissionZod = z.object({\n parentCapability: z.string(),\n date: z.number().optional(),\n})\n", "import { toFixedPoint } from '@ariestools/sdk'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** Protocol constant defining xl1 rewards places. */\nexport const XL1_REWARDS_PLACES = 18 as const\n/** Protocol constant defining xl1 rewards starting reward. */\nexport const XL1_REWARDS_STARTING_REWARD = asAttoXL1(toFixedPoint(500n, XL1_REWARDS_PLACES))\n/** Protocol constant defining xl1 rewards blocks per step. */\nexport const XL1_REWARDS_BLOCKS_PER_STEP = 1_000_000\n/** Protocol constant defining xl1 rewards step factor numerator. */\nexport const XL1_REWARDS_STEP_FACTOR_NUMERATOR = 95n\n/** Protocol constant defining xl1 rewards step factor denominator. */\nexport const XL1_REWARDS_STEP_FACTOR_DENOMINATOR = 100n\n/** Protocol constant defining xl1 rewards min block reward. */\nexport const XL1_REWARDS_MIN_BLOCK_REWARD = asAttoXL1(toFixedPoint(10n, XL1_REWARDS_PLACES))\n/** Protocol constant defining xl1 rewards creator reward. */\nexport const XL1_REWARDS_CREATOR_REWARD = asAttoXL1(toFixedPoint(20_000_000_000n, XL1_REWARDS_PLACES))\n", "import { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\nimport { BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Rewards Range Options values. */\nexport const RewardsRangeOptionsZod = z.object({\n positions: z.array(z.number()).optional(),\n range: BlockRangeZod.optional(),\n steps: z.array(StepIdentityZod).optional(),\n stakers: z.array(XyoAddressZod).optional(),\n})\n", "import type { OffenseCode } from './OffenseCode.ts'\nimport { OffenseCodes } from './OffenseCode.ts'\n\n/**\n * Rules whose activation is recorded in the register.\n *\n * Offense classes carry two heights rather than one. A class becomes *reportable* before it\n * becomes *adjudicable*, so reports can be recorded and measured for a while before anything\n * they say has consequences \u2014 which is the only way to learn what reporting looks like without\n * risking a wrong punishment.\n *\n * This list lives beside the offense codes rather than with the register, because in-block\n * validators have to name rules without depending on the register document's shape.\n */\nexport const RuleIds = [\n 'intent-binding',\n 'anchor-rules',\n 'single-signer',\n 'supersedes-field',\n 'slash-payloads',\n 'eligibility-admission',\n 'attestation-admission',\n 'certificate-execution',\n ...OffenseCodes.map(code => `${code}.reportable` as const),\n ...OffenseCodes.map(code => `${code}.adjudicable` as const),\n] as const\n\n/** A rule whose activation height the register records. */\nexport type RuleId = typeof RuleIds[number]\n\n/** The rule id gating whether reports naming an offense may be recorded. */\nexport function reportableRuleId(offense: OffenseCode): RuleId {\n return `${offense}.reportable`\n}\n\n/** The rule id gating whether reports naming an offense may be acted upon. */\nexport function adjudicableRuleId(offense: OffenseCode): RuleId {\n return `${offense}.adjudicable`\n}\n\n/**\n * Where a rule stands at a height.\n *\n * `grace` is the interval just after activation where a rule is observed but not enforced. It\n * exists because nodes upgrade at different moments: without it, a rule turning on would punish\n * operators whose only mistake was being mid-rollout.\n */\nexport type RuleActivationState = 'inactive' | 'grace' | 'active'\n\n/**\n * The minimum a caller must supply to resolve rule activation.\n *\n * Deliberately narrower than the register document: an in-block validator needs to know when\n * rules turn on, not what the chain charges for a deposit. A full register version satisfies this\n * structurally, so nothing has to convert between them.\n */\nexport interface RuleActivationParams {\n /** Rule id to the height it takes effect. */\n activations: Partial<Record<RuleId, number>>\n /** Rule id to the height it stops taking effect. */\n deactivations?: Partial<Record<RuleId, number>>\n /** Blocks after an activation during which the rule is observed but not enforced. */\n graceBandXl1Blocks?: number\n}\n\n/**\n * Where a rule stands at an XL1 height, according to a set of activations.\n *\n * A rule with no recorded activation is inactive \u2014 saying nothing about a rule is how a network\n * declines it, which is what lets one register describe a network running exactly as it always\n * has. A params view carrying no grace band grants no grace.\n * @param params The activation heights in force\n * @param ruleId The rule to resolve\n * @param height The XL1 height being judged\n * @returns Whether the rule is inactive, in its grace band, or enforced\n */\nexport function ruleActivationStateAt(\n params: RuleActivationParams,\n ruleId: RuleId,\n height: number,\n): RuleActivationState {\n const activation = params.activations[ruleId]\n if (activation === undefined || height < activation) return 'inactive'\n const deactivation = params.deactivations?.[ruleId]\n if (deactivation !== undefined && height >= deactivation) return 'inactive'\n return height < activation + (params.graceBandXl1Blocks ?? 0) ? 'grace' : 'active'\n}\n\n/** Whether a rule is enforced at a height. */\nexport function isRuleActiveAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean {\n return ruleActivationStateAt(params, ruleId, height) === 'active'\n}\n\n/**\n * Whether a rule is at least being observed at a height \u2014 enforced, or inside its grace band.\n *\n * This is the gate for recording and measuring. Enforcement asks the stricter question.\n */\nexport function isRuleObservedAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean {\n return ruleActivationStateAt(params, ruleId, height) !== 'inactive'\n}\n", "import { HexRegExMinMax, toHex } from '@ariestools/sdk'\nimport type { LocalSequence, QualifiedSequence } from '@xyo-network/sdk'\nimport { SequenceConstants } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\n/** Zod transform that serializes Local Sequence values to strings. */\nexport const LocalSequenceToStringZod = z.string().regex(LocalSequenceRegex)\n/** Zod transform that parses strings into Local Sequence values. */\nexport const LocalSequenceFromStringZod = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v) as LocalSequence)\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\n/** Zod transform that serializes Qualified Sequence values to strings. */\nexport const QualifiedSequenceToStringZod = z.string().regex(QualifiedSequenceRegex)\n/** Zod transform that parses strings into Qualified Sequence values. */\nexport const QualifiedSequenceFromStringZod = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v) as QualifiedSequence)\n\n/** Zod transform that serializes Sequence values to strings. */\nexport const SequenceToStringZod = z.union([LocalSequenceToStringZod, QualifiedSequenceToStringZod])\n/** Zod transform that parses strings into Sequence values. */\nexport const SequenceFromStringZod = z.union([LocalSequenceFromStringZod, QualifiedSequenceFromStringZod])\n", "import { HexZod } from '@ariestools/sdk'\nimport { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport {\n AttoToJsonZod, AttoZod, JsonToAttoZod,\n} from '../transaction/index.ts'\nimport type { PositionId } from './PositionId.ts'\n\n/** Zod schema for validating Stake values. */\nexport const StakeZod = z.object({\n amount: AttoZod,\n // the block number when the stake was added\n addBlock: z.number(),\n // the unique id for the stake item\n id: z.number(),\n // the block number when the stake was removed (set to 0 if not removed)\n removeBlock: z.number(),\n // the address that is being staked\n staked: XyoAddressZod,\n // the address that owns the stake\n staker: XyoAddressZod,\n // the block number when the stake was withdrawn (set to 0 if not withdrawn)\n withdrawBlock: z.number(),\n})\n\n/** Zod transform that serializes Stake values to JSON-safe data. */\nexport const StakeToJsonZod = StakeZod.transform(val => ({\n addBlock: val.addBlock,\n amount: AttoToJsonZod.parse(val.amount),\n id: val.id,\n removeBlock: val.removeBlock,\n staked: XyoAddressZod.parse(val.staked),\n staker: XyoAddressZod.parse(val.staker),\n withdrawBlock: val.withdrawBlock,\n}))\n\n// we intentionally use extend and not safeExtend here to ensure all fields are present\n/** Zod transform that parses JSON data into Stake values. */\nexport const JsonToStakeZod = StakeZod.extend({ amount: HexZod }).transform(val => ({\n addBlock: val.addBlock,\n amount: JsonToAttoZod.parse(val.amount),\n id: val.id as PositionId,\n removeBlock: val.removeBlock,\n staked: val.staked,\n staker: val.staker,\n withdrawBlock: val.withdrawBlock,\n}))\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { SignedHydratedBlockWithHashMetaZod } from '../block/HydratedBlock.ts'\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for validating Sync Step Summary Metadata values. */\nexport const SyncStepSummaryMetadataZod = z.object({\n block: XL1BlockNumberZod,\n blockCount: z.int().nonnegative(),\n bytes: z.int().nonnegative(),\n createdAt: z.string(),\n endBlock: XL1BlockNumberZod,\n relativePath: z.string(),\n startBlock: XL1BlockNumberZod,\n step: z.int().nonnegative(),\n stepSize: XL1BlockNumberZod,\n updatedAt: z.string(),\n})\n\n/** Validated data representation for Sync Step Summary Metadata. */\nexport type SyncStepSummaryMetadata = z.infer<typeof SyncStepSummaryMetadataZod>\n\n/** Type guard that checks if a value is valid SyncStepSummaryMetadata. */\nexport const isSyncStepSummaryMetadata = zodIsFactory(SyncStepSummaryMetadataZod)\n/** Converts a value to SyncStepSummaryMetadata, throwing if invalid. */\nexport const asSyncStepSummaryMetadata = zodAsFactory(SyncStepSummaryMetadataZod, 'asSyncStepSummaryMetadata')\n/** Safe conversion helper that returns Sync Step Summary Metadata when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummaryMetadata = zodToFactory(SyncStepSummaryMetadataZod, 'toSyncStepSummaryMetadata')\n\n/** Zod schema for validating Sync Step Summary Status values. */\nexport const SyncStepSummaryStatusZod = z.object({\n currentBlock: z.optional(XL1BlockNumberZod),\n isIndexing: z.boolean(),\n nextBoundaries: z.record(z.string(), XL1BlockNumberZod),\n summaries: z.array(SyncStepSummaryMetadataZod),\n summaryCount: z.int().nonnegative(),\n})\n\n/** Validated data representation for Sync Step Summary Status. */\nexport type SyncStepSummaryStatus = z.infer<typeof SyncStepSummaryStatusZod>\n\n/** Type guard that checks if a value is valid SyncStepSummaryStatus. */\nexport const isSyncStepSummaryStatus = zodIsFactory(SyncStepSummaryStatusZod)\n/** Converts a value to SyncStepSummaryStatus, throwing if invalid. */\nexport const asSyncStepSummaryStatus = zodAsFactory(SyncStepSummaryStatusZod, 'asSyncStepSummaryStatus')\n/** Safe conversion helper that returns Sync Step Summary Status when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummaryStatus = zodToFactory(SyncStepSummaryStatusZod, 'toSyncStepSummaryStatus')\n\n/** Zod schema for validating Sync Step Summary values. */\nexport const SyncStepSummaryZod = z.array(SignedHydratedBlockWithHashMetaZod)\n\n/** Validated data representation for Sync Step Summary. */\nexport type SyncStepSummary = z.infer<typeof SyncStepSummaryZod>\n\n/** Type guard that checks if a value is a valid SyncStepSummary. */\nexport const isSyncStepSummary = zodIsFactory(SyncStepSummaryZod)\n/** Converts a value to SyncStepSummary, throwing if invalid. */\nexport const asSyncStepSummary = zodAsFactory(SyncStepSummaryZod, 'asSyncStepSummary')\n/** Safe conversion helper that returns Sync Step Summary when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummary = zodToFactory(SyncStepSummaryZod, 'toSyncStepSummary')\n", "import { z } from 'zod'\n\n/** Zod schema for validating Time Domain values. */\nexport const TimeDomainZod = z.union([\n z.literal('xl1'),\n z.literal('epoch'),\n z.literal('ethereum'),\n])\n", "import {\n HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for the canonical position of a transaction in the finalized XL1 chain. */\nexport const TransactionInclusionZod = z.object({\n /** Hash of the finalized block containing the transaction. */\n blockHash: HashZod,\n /** Number of the finalized block containing the transaction. */\n blockNumber: XL1BlockNumberZod,\n /** Hash of the included transaction. */\n transactionHash: HashZod,\n /** Zero-based transaction position within the block. */\n transactionIndex: z.int().nonnegative(),\n})\n\n/** Canonical position of a transaction in the finalized XL1 chain. */\nexport type TransactionInclusion = z.infer<typeof TransactionInclusionZod>\n\n/** Type guard that checks whether a value is a valid transaction inclusion. */\nexport const isTransactionInclusion = zodIsFactory(TransactionInclusionZod)\n/** Converts a value to a transaction inclusion, throwing when invalid. */\nexport const asTransactionInclusion = zodAsFactory(TransactionInclusionZod, 'asTransactionInclusion')\n/** Converts a value to a transaction inclusion, returning undefined when invalid. */\nexport const toTransactionInclusion = zodToFactory(TransactionInclusionZod, 'toTransactionInclusion')\n", "import { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for validating Transfer Pair values. */\nexport const TransferPairZod = z.tuple([\n XyoAddressZod, XyoAddressZod,\n])\n", "/** Protocol constant defining xl1 protocol version major. */\nexport const XL1_PROTOCOL_VERSION_MAJOR = 1 as const\n/** Protocol constant defining xl1 protocol version minor. */\nexport const XL1_PROTOCOL_VERSION_MINOR = 3 as const\n/** Protocol constant defining xl1 protocol version patch. */\nexport const XL1_PROTOCOL_VERSION_PATCH = 0 as const\n/** Protocol constant defining xl1 protocol version string. */\nexport const XL1_PROTOCOL_VERSION_STRING = `${XL1_PROTOCOL_VERSION_MAJOR}.${XL1_PROTOCOL_VERSION_MINOR}.${XL1_PROTOCOL_VERSION_PATCH}` as const\n/** Protocol constant defining xl1 protocol version. */\nexport const XL1_PROTOCOL_VERSION = XL1_PROTOCOL_VERSION_MAJOR * 1_000_000 + XL1_PROTOCOL_VERSION_MINOR * 1000 + XL1_PROTOCOL_VERSION_PATCH\n", "import { assertEx, isString } from '@ariestools/sdk'\n\n/** Type literal for the Provider provider moniker. */\nexport type ProviderMoniker = string\n\n/** Moniker identifier for the asProvider provider. */\nexport const asProviderMoniker = <T>(value: T) => {\n const moniker = isString(value) ? (value as unknown as ProviderMoniker) : undefined\n return assertEx(moniker)\n}\n\n/** Moniker identifier for the DefaultProvider provider. */\nexport const DefaultProviderMoniker = 'Provider' as const\n/** Type literal for the DefaultProvider provider moniker. */\nexport type DefaultProviderMoniker = typeof DefaultProviderMoniker\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { HydratedBlockZod } from '../block/index.ts'\nimport { RejectionErrorZod } from './RejectionError.ts'\n\n/** Schema identifier for block rejection payloads. */\nexport const BlockRejectionSchema = asSchema('network.xyo.block.rejection', true)\n/** The literal type of the block rejection schema string. */\nexport type BlockRejectionSchema = typeof BlockRejectionSchema\n\n/** Zod schema for the fields specific to a block rejection payload. */\nexport const BlockRejectionFieldsZod = z.object({\n block: HydratedBlockZod,\n errors: z.array(RejectionErrorZod),\n rejector: z.string(),\n})\n\n/** Zod schema for a complete block rejection payload. */\nexport const BlockRejectionZod = z.extend(\n PayloadZodOfSchema(BlockRejectionSchema),\n BlockRejectionFieldsZod.shape,\n)\n\n/** A block rejection payload representing a rejected block with reasons. */\nexport type BlockRejection = z.infer<typeof BlockRejectionZod>\n\n/** Type guard that checks if a value is a BlockRejection payload. */\nexport const isBlockRejection = isPayloadOfSchemaType<BlockRejection>(BlockRejectionSchema)\n\n/** Casts a value to BlockRejection or returns undefined if invalid. */\nexport const asBlockRejection = AsObjectFactory.create(isBlockRejection)\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for a rejection error reason (slimmed from ValidationErrorZod, omitting value). */\nexport const RejectionErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n}).loose()\n\n/** A single rejection error reason. */\nexport type RejectionError = z.infer<typeof RejectionErrorZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { HydratedTransactionZod } from '../model/index.ts'\nimport { RejectionErrorZod } from './RejectionError.ts'\n\n/** Schema identifier for transaction rejection payloads. */\nexport const TransactionRejectionSchema = asSchema('network.xyo.transaction.rejection', true)\n/** The literal type of the transaction rejection schema string. */\nexport type TransactionRejectionSchema = typeof TransactionRejectionSchema\n\n/** Zod schema for the fields specific to a transaction rejection payload. */\nexport const TransactionRejectionFieldsZod = z.object({\n errors: z.array(RejectionErrorZod),\n rejector: z.string(),\n transaction: HydratedTransactionZod,\n})\n\n/** Zod schema for a complete transaction rejection payload. */\nexport const TransactionRejectionZod = z.extend(\n PayloadZodOfSchema(TransactionRejectionSchema),\n TransactionRejectionFieldsZod.shape,\n)\n\n/** A transaction rejection payload representing a rejected transaction with reasons. */\nexport type TransactionRejection = z.infer<typeof TransactionRejectionZod>\n\n/** Type guard that checks if a value is a TransactionRejection payload. */\nexport const isTransactionRejection = isPayloadOfSchemaType<TransactionRejection>(TransactionRejectionSchema)\n\n/** Casts a value to TransactionRejection or returns undefined if invalid. */\nexport const asTransactionRejection = AsObjectFactory.create(isTransactionRejection)\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { zodIsFactory } from '@ariestools/sdk'\nimport type {\n Schema, SchemaPayload, WithStorageMeta,\n} from '@xyo-network/sdk'\nimport {\n BoundWitnessSchema, isHashMeta, isSchemaPayload, SchemaSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport type {\n BridgeDestinationObservation, BridgeIntent, BridgeSourceObservation, ChainStakeIntent, HashPayload,\n SlashAdjudication, SlashChallenge, SlashCommit, SlashEvidence, SlashRequest, StepComplete, StepWitness, TimePayload,\n} from '../payload/index.ts'\nimport {\n BridgeDestinationObservationSchema, BridgeIntentSchema, BridgeSourceObservationSchema, ChainStakeIntentSchema, HashSchema,\n isBridgeDestinationObservation, isBridgeIntent, isBridgeSourceObservation, isChainStakeIntent, isHashPayload,\n isSlashAdjudication, isSlashChallenge, isSlashCommit, isSlashEvidence, isSlashRequest, isStepComplete, isStepWitness, isTimePayload,\n SlashAdjudicationSchema, SlashChallengeSchema, SlashCommitSchema, SlashEvidenceSchema, SlashRequestSchema,\n StepCompleteSchema, StepWitnessSchema, TimeSchema,\n} from '../payload/index.ts'\nimport { isTransactionBoundWitness, type TransactionBoundWitness } from '../transaction/index.ts'\nimport {\n isTransfer, type Transfer, TransferSchema,\n} from '../TransferPayload.ts'\n\n/** Validated data representation for Allowed Block Payload. */\nexport type AllowedBlockPayload\n = | BridgeDestinationObservation\n | BridgeIntent\n | BridgeSourceObservation\n | ChainStakeIntent\n | HashPayload\n | SchemaPayload\n | SlashAdjudication\n | SlashChallenge\n | SlashCommit\n | SlashEvidence\n | SlashRequest\n | StepWitness\n | StepComplete\n | TimePayload\n | TransactionBoundWitness\n | Transfer\n\n/** Schema identifiers accepted by the Allowed Block Payload contract. */\nexport const AllowedBlockPayloadSchemas = [\n BoundWitnessSchema,\n BridgeDestinationObservationSchema,\n BridgeIntentSchema,\n BridgeSourceObservationSchema,\n ChainStakeIntentSchema,\n HashSchema,\n SchemaSchema,\n SlashAdjudicationSchema,\n SlashChallengeSchema,\n SlashCommitSchema,\n SlashEvidenceSchema,\n SlashRequestSchema,\n StepCompleteSchema,\n StepWitnessSchema,\n TimeSchema,\n TransferSchema,\n] satisfies Schema[]\n\n/** Zod schema for validating Allowed Block Payload Schema values. */\nexport const AllowedBlockPayloadSchemaZod = z.enum(AllowedBlockPayloadSchemas)\n/** Schema type for AllowedBlockPayload payloads. */\nexport type AllowedBlockPayloadSchema = z.infer<typeof AllowedBlockPayloadSchemaZod>\n/** Schema identifier for isAllowedBlockPayload payloads. */\nexport const isAllowedBlockPayloadSchema = zodIsFactory(AllowedBlockPayloadSchemaZod)\n\n/** Type guard that checks if a value is a valid AllowedBlockPayload. */\nexport const isAllowedBlockPayload = <T>(value: T): value is AllowedBlockPayload & T => {\n // Schema-only transfer membership (not full shape) \u2014 matches the other\n // is*Payload schema checks in this union. Full Transfer validation is\n // isTransferPayload / transaction validators.\n\n return isTransfer(value)\n || isBridgeDestinationObservation(value)\n || isBridgeIntent(value)\n || isBridgeSourceObservation(value)\n || isChainStakeIntent(value)\n || isHashPayload(value)\n || isSchemaPayload(value)\n || isSlashAdjudication(value)\n || isSlashChallenge(value)\n || isSlashCommit(value)\n || isSlashEvidence(value)\n || isSlashRequest(value)\n || isStepWitness(value)\n || isStepComplete(value)\n || isTimePayload(value)\n || isTransactionBoundWitness(value)\n}\n\n/** Type guard that checks if a value is a valid AllowedBlockPayloadWithHashMeta. */\nexport const isAllowedBlockPayloadWithHashMeta = <T>(value: T): value is WithStorageMeta<AllowedBlockPayload & T> => {\n return isAllowedBlockPayload(value) && isHashMeta(value)\n}\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ExchangeOutcome payloads. */\nexport const ExchangeOutcomeSchema = asSchema('network.xyo.exchange.outcome', true)\n/** Schema type for ExchangeOutcome payloads. */\nexport type ExchangeOutcomeSchema = typeof ExchangeOutcomeSchema\n\n/**\n * Fields for an ExchangeOutcome payload \u2014 the lean settlement record. Co-signed by every\n * required party in the settlement BoundWitness, with the secret reveals and authority\n * attestations carried as co-payloads in that BW.\n */\nexport const ExchangeOutcomeFieldsZod = z.object({\n /** Hash of the ExchangeTerms payload this outcome settles */\n terms: HashZod,\n /** Settlement result */\n outcome: z.enum(['fulfilled', 'rejected']),\n})\n\n/** Fields represented by the Exchange Outcome contract. */\nexport type ExchangeOutcomeFields = z.infer<typeof ExchangeOutcomeFieldsZod>\n\n/** An ExchangeOutcome payload \u2014 the settlement result of an atomic exchange. */\nexport type ExchangeOutcome = Payload<ExchangeOutcomeFields, ExchangeOutcomeSchema>\n\n/** Type guard that checks if a value is a valid ExchangeOutcome. */\nexport const isExchangeOutcome = isPayloadOfZodType<ExchangeOutcome>(\n ExchangeOutcomeFieldsZod,\n ExchangeOutcomeSchema,\n)\n\n/** Casts a value to ExchangeOutcome or returns undefined if invalid. */\nexport const asExchangeOutcome = AsObjectFactory.create(isExchangeOutcome)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockDurationZod } from '../../../transaction/TransactionBoundWitness.ts'\n\n/** Schema identifier for ExchangeTerms payloads. */\nexport const ExchangeTermsSchema = asSchema('network.xyo.exchange.terms', true)\n/** Schema type for ExchangeTerms payloads. */\nexport type ExchangeTermsSchema = typeof ExchangeTermsSchema\n\n/**\n * Fields for an atomic-exchange Terms payload \u2014 the entry point of the exchange. All\n * required parties co-sign this in a single multi-signer BoundWitness, committing to the\n * hashed secrets, asset references, optional authority lists, and validity window.\n *\n * `nbf` and `exp` follow the same convention as TransactionBoundWitness \u2014 both required,\n * spread from BlockDurationZod.\n */\nexport const ExchangeTermsFieldsZod = z.extend(\n z.object({\n /** Stable identifier for this exchange */\n exchangeId: z.string(),\n /**\n * Each party is a set of addresses (most parties have one wallet; a multi-sig org may have several).\n * All addresses in the set must co-sign the party's secret reveal at settlement.\n */\n parties: z.array(z.array(XyoAddressZod)).check(z.minLength(2)),\n /** One hash per party \u2014 the data hash of that party's PartySecretReveal payload */\n partySecrets: z.array(HashZod),\n /** Hashes of the asset payload(s) being exchanged */\n assets: z.array(HashZod),\n /** Optional \u2014 addresses whose signature on appraisal payloads is accepted */\n appraisalAuthorities: z.optional(z.array(XyoAddressZod)),\n /** Optional \u2014 addresses whose signature on payment-receipt payloads is accepted */\n paymentAuthorities: z.optional(z.array(XyoAddressZod)),\n }),\n BlockDurationZod.shape,\n)\n\n/** Fields represented by the Exchange Terms contract. */\nexport type ExchangeTermsFields = z.infer<typeof ExchangeTermsFieldsZod>\n\n/** An ExchangeTerms payload \u2014 the immutable entry-point declaration of an atomic exchange. */\nexport type ExchangeTerms = Payload<ExchangeTermsFields, ExchangeTermsSchema>\n\n/** Type guard that checks if a value is a valid ExchangeTerms. */\nexport const isExchangeTerms = isPayloadOfZodType<ExchangeTerms>(\n ExchangeTermsFieldsZod,\n ExchangeTermsSchema,\n)\n\n/** Casts a value to ExchangeTerms or returns undefined if invalid. */\nexport const asExchangeTerms = AsObjectFactory.create(isExchangeTerms)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n BoundWitnessZod, HashMetaZod, SignedBoundWitnessZod, StorageMetaZod,\n UnsignedBoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\nimport { TransactionFeesHexZod } from './TransactionFees.ts'\n\n/** Zod schema for validating Block Start values. */\nexport const BlockStartZod = z.object({ nbf: XL1BlockNumberZod })\n/** Zod schema for validating Block End values. */\nexport const BlockEndZod = z.object({ exp: XL1BlockNumberZod })\n/** Zod schema for validating Block Duration values. */\nexport const BlockDurationZod = z.object({ nbf: XL1BlockNumberZod, exp: XL1BlockNumberZod })\n/** Zod schema for validating Block Scripts values. */\nexport const BlockScriptsZod = z.object({ script: z.optional(z.array(z.string())) })\n\n/** Zod schema for validating Transaction Fees values. */\nexport const TransactionFeesZod = z.object({ fees: TransactionFeesHexZod })\n\n/** Protocol constant defining transaction bound witness identity fields. */\nexport const TransactionBoundWitnessIdentityFields = z.object({ chain: ChainZod, from: XyoAddressZod })\n\n/** Zod schema for validating Transaction Bound Witness Fields values. */\nexport const TransactionBoundWitnessFieldsZod = z.safeExtend(\n z.safeExtend(\n z.safeExtend(\n z.safeExtend(z.object(), BlockDurationZod.shape),\n TransactionFeesZod.shape,\n ),\n TransactionBoundWitnessIdentityFields.shape,\n ),\n BlockScriptsZod.shape,\n)\n\n/** Fields represented by the Transaction Bound Witness contract. */\nexport type TransactionBoundWitnessFields = z.infer<typeof TransactionBoundWitnessFieldsZod>\n\n/** Zod schema for validating Transaction Bound Witness values. */\nexport const TransactionBoundWitnessZod = z.safeExtend(BoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Transaction Bound Witness. */\nexport type TransactionBoundWitness = z.infer<typeof TransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitness. */\nexport const isTransactionBoundWitness = zodIsFactory(TransactionBoundWitnessZod)\n/** Converts a value to TransactionBoundWitness, throwing if invalid. */\nexport const asTransactionBoundWitness = zodAsFactory(TransactionBoundWitnessZod, 'asTransactionBoundWitness')\n/** Safe conversion helper that returns Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitness = zodToFactory(TransactionBoundWitnessZod, 'toTransactionBoundWitness')\n\n/** Zod schema for validating Transaction Bound Witness With Hash Meta values. */\nexport const TransactionBoundWitnessWithHashMetaZod = z.safeExtend(TransactionBoundWitnessZod, HashMetaZod.shape)\n\n/** Transaction Bound Witness value augmented with computed hash metadata. */\nexport type TransactionBoundWitnessWithHashMeta = z.infer<typeof TransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithHashMeta. */\nexport const isTransactionBoundWitnessWithHashMeta = zodIsFactory(TransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to TransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithHashMeta = zodAsFactory(TransactionBoundWitnessWithHashMetaZod, 'asTransactionBoundWitnessWithHashMeta')\n/** Safe conversion helper that returns Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitnessWithHashMeta = zodToFactory(TransactionBoundWitnessWithHashMetaZod, 'toTransactionBoundWitnessWithHashMeta')\n\n/** Zod schema for validating Transaction Bound Witness With Storage Meta values. */\nexport const TransactionBoundWitnessWithStorageMetaZod = z.safeExtend(TransactionBoundWitnessZod, StorageMetaZod.shape)\n\n/** Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type TransactionBoundWitnessWithStorageMeta = z.infer<typeof TransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid TransactionBoundWitnessWithStorageMeta. */\nexport const isTransactionBoundWitnessWithStorageMeta = zodIsFactory(TransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to TransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asTransactionBoundWitnessWithStorageMeta = zodAsFactory(TransactionBoundWitnessWithStorageMetaZod, 'asTransactionBoundWitnessWithStorageMeta')\n/** Safe conversion helper that returns Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toTransactionBoundWitnessWithStorageMeta = zodToFactory(TransactionBoundWitnessWithStorageMetaZod, 'toTransactionBoundWitnessWithStorageMeta')\n\n/** Zod schema for validating Unsigned Transaction Bound Witness values. */\nexport const UnsignedTransactionBoundWitnessZod = z.safeExtend(UnsignedBoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Unsigned Transaction Bound Witness. */\nexport type UnsignedTransactionBoundWitness = z.infer<typeof UnsignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitness. */\nexport const isUnsignedTransactionBoundWitness = zodIsFactory(UnsignedTransactionBoundWitnessZod)\n/** Converts a value to UnsignedTransactionBoundWitness, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitness = zodAsFactory(UnsignedTransactionBoundWitnessZod, 'asUnsignedTransactionBoundWitness')\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitness = zodToFactory(UnsignedTransactionBoundWitnessZod, 'toUnsignedTransactionBoundWitness')\n\n/** Zod schema for validating Unsigned Transaction Bound Witness With Hash Meta values. */\nexport const UnsignedTransactionBoundWitnessWithHashMetaZod = z.safeExtend(UnsignedTransactionBoundWitnessZod, HashMetaZod.shape)\n\n/** Unsigned Transaction Bound Witness value augmented with computed hash metadata. */\nexport type UnsignedTransactionBoundWitnessWithHashMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithHashMeta. */\nexport const isUnsignedTransactionBoundWitnessWithHashMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'asUnsignedTransactionBoundWitnessWithHashMeta',\n)\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithHashMetaZod,\n 'toUnsignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** Zod schema for validating Unsigned Transaction Bound Witness With Storage Meta values. */\nexport const UnsignedTransactionBoundWitnessWithStorageMetaZod = z.safeExtend(UnsignedTransactionBoundWitnessZod, StorageMetaZod.shape)\n\n/** Unsigned Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type UnsignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof UnsignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedTransactionBoundWitnessWithStorageMeta. */\nexport const isUnsignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(UnsignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to UnsignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asUnsignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'asUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n/** Safe conversion helper that returns Unsigned Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n UnsignedTransactionBoundWitnessWithStorageMetaZod,\n 'toUnsignedTransactionBoundWitnessWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Transaction Bound Witness values. */\nexport const SignedTransactionBoundWitnessZod = z.safeExtend(SignedBoundWitnessZod, TransactionBoundWitnessFieldsZod.shape)\n\n/** Validated data representation for Signed Transaction Bound Witness. */\nexport type SignedTransactionBoundWitness = z.infer<typeof SignedTransactionBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitness. */\nexport const isSignedTransactionBoundWitness = zodIsFactory(SignedTransactionBoundWitnessZod)\n/** Converts a value to SignedTransactionBoundWitness, throwing if invalid. */\nexport const asSignedTransactionBoundWitness = zodAsFactory(SignedTransactionBoundWitnessZod, 'asSignedTransactionBoundWitness')\n/** Safe conversion helper that returns Signed Transaction Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitness = zodToFactory(SignedTransactionBoundWitnessZod, 'toSignedTransactionBoundWitness')\n\n/** Zod schema for validating Signed Transaction Bound Witness With Hash Meta values. */\nexport const SignedTransactionBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedTransactionBoundWitnessZod)\n\n/** Signed Transaction Bound Witness value augmented with computed hash metadata. */\nexport type SignedTransactionBoundWitnessWithHashMeta = z.infer<typeof SignedTransactionBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithHashMeta. */\nexport const isSignedTransactionBoundWitnessWithHashMeta = zodIsFactory(SignedTransactionBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithHashMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'asSignedTransactionBoundWitnessWithHashMeta',\n)\n/** Safe conversion helper that returns Signed Transaction Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitnessWithHashMeta = zodToFactory(\n SignedTransactionBoundWitnessWithHashMetaZod,\n 'toSignedTransactionBoundWitnessWithHashMeta',\n)\n\n/** Zod schema for validating Signed Transaction Bound Witness With Storage Meta values. */\nexport const SignedTransactionBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedTransactionBoundWitnessZod)\n\n/** Signed Transaction Bound Witness value augmented with persisted storage metadata. */\nexport type SignedTransactionBoundWitnessWithStorageMeta = z.infer<typeof SignedTransactionBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedTransactionBoundWitnessWithStorageMeta. */\nexport const isSignedTransactionBoundWitnessWithStorageMeta = zodIsFactory(SignedTransactionBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedTransactionBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedTransactionBoundWitnessWithStorageMeta = zodAsFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'asSignedTransactionBoundWitnessWithStorageMeta',\n)\n/** Safe conversion helper that returns Signed Transaction Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedTransactionBoundWitnessWithStorageMeta = zodToFactory(\n SignedTransactionBoundWitnessWithStorageMetaZod,\n 'toSignedTransactionBoundWitnessWithStorageMeta',\n)\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { NumberishZod } from './Numberish.ts'\n\n/** Branded number type representing a generic block number */\nexport type BlockNumber = Brand<number, { readonly __blockNumber: true }>\n\n/** Zod schema that validates and brands a number as a BlockNumber */\nexport const BlockNumberZod = z.int().nonnegative().transform(v => v as BlockNumber)\n/** Zod schema that coerces a Numberish value into a BlockNumber */\nexport const BlockNumberishZod = NumberishZod.transform(v => v as BlockNumber)\n\n/** Input type for BlockNumberishZod, accepting number, string, or bigint */\nexport type BlockNumberish = z.input<typeof BlockNumberishZod>\n\n/** Casts a number to BlockNumber, returning undefined if validation fails */\nexport const asBlockNumber = zodAsFactory<BlockNumber>(BlockNumberZod, 'asBlockNumber')\n/** Coerces a Numberish value to BlockNumber, returning undefined if conversion fails */\nexport const toBlockNumber = zodToFactory<BlockNumber>(BlockNumberishZod, 'toBlockNumber')\n\n/** The zero block number constant */\nexport const BLOCK_NUMBER_ZERO = asBlockNumber(0)\n", "import { z } from 'zod'\n\n/** Zod schema that accepts number, string, or bigint and coerces to number */\nexport const NumberishZod = z.union([z.number(), z.string(), z.bigint()])\n .transform(v => ((typeof v === 'bigint') || (typeof v === 'string') ? Number(v) : v))\n .pipe(z.number())\n\n/** A value that can be coerced to a number: number, string, or bigint */\nexport type Numberish = z.input<typeof NumberishZod>\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the Ethereum chain */\nexport type EthBlockNumber = Brand<BlockNumber, { readonly __ethBlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an EthBlockNumber */\nexport const EthBlockNumberZod = z.int().nonnegative().transform(v => v as EthBlockNumber)\n/** Zod schema that coerces a Numberish value into an EthBlockNumber */\nexport const EthBlockNumberishZod = BlockNumberishZod.transform(v => v as EthBlockNumber)\n\n/** Input type for EthBlockNumberishZod, accepting number, string, or bigint */\nexport type EthBlockNumberish = z.input<typeof EthBlockNumberishZod>\n\n/** Casts a number to EthBlockNumber, returning undefined if validation fails */\nexport const asEthBlockNumber = zodAsFactory<EthBlockNumber>(EthBlockNumberZod, 'asEthBlockNumber')\n/** Coerces a Numberish value to EthBlockNumber, returning undefined if conversion fails */\nexport const toEthBlockNumber = zodToFactory<EthBlockNumber>(EthBlockNumberishZod, 'toEthBlockNumber')\n\n/** The zero block number constant for the Ethereum chain */\nexport const ETH_BLOCK_NUMBER_ZERO = asEthBlockNumber(0)\n", "import { type Brand } from '@ariestools/sdk'\nimport { zodAsFactory, zodToFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { BlockNumber } from './BlockNumber.ts'\nimport { BlockNumberishZod } from './BlockNumber.ts'\n\n/** Branded type representing a block number on the XL1 chain */\nexport type XL1BlockNumber = Brand<BlockNumber, { readonly __xl1BlockNumber: true }>\n\n/** Zod schema that validates and brands a number as an XL1BlockNumber */\nexport const XL1BlockNumberZod = z.int().nonnegative().transform(v => v as XL1BlockNumber)\n/** Zod schema that coerces a Numberish value into an XL1BlockNumber */\nexport const XL1BlockNumberishZod = BlockNumberishZod.transform(v => v as XL1BlockNumber)\n\n/** Input type for XL1BlockNumberishZod, accepting number, string, or bigint */\nexport type XL1BlockNumberish = z.input<typeof XL1BlockNumberishZod>\n\n/** Casts a number to XL1BlockNumber, returning undefined if validation fails */\nexport const asXL1BlockNumber = zodAsFactory<XL1BlockNumber>(XL1BlockNumberZod, 'asXL1BlockNumber')\n/** Coerces a Numberish value to XL1BlockNumber, returning undefined if conversion fails */\nexport const toXL1BlockNumber = zodToFactory<XL1BlockNumber>(XL1BlockNumberishZod, 'toXL1BlockNumber')\n\n/** The zero block number constant for the XL1 chain */\nexport const XL1_BLOCK_NUMBER_ZERO = asXL1BlockNumber(0)\n", "import { AddressRegEx, toAddress } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { ChainId } from './ChainId.ts'\n\n/** Zod schema for validating Chain values. */\nexport const ChainZod = z.string().toLowerCase().regex(AddressRegEx).transform<ChainId>(v => toAddress(v))\n", "import {\n HexZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport type { z } from 'zod/mini'\n\n/** Zod schema for an XL1 chain id (a hex string). */\nexport const ChainIdZod = HexZod\n\n/** Validated data representation for Chain Id. */\nexport type ChainId = z.infer<typeof ChainIdZod>\n\n/** Type guard that checks if a value is a valid ChainId. */\nexport const isChainId = zodIsFactory(ChainIdZod)\n/** Converts a value to a ChainId, throwing if invalid. */\nexport const asChainId = zodAsFactory(ChainIdZod, 'asChainId')\n/** Safe conversion helper that returns Chain Id when validation succeeds and `undefined` otherwise. */\nexport const toChainId = zodToFactory(ChainIdZod, 'toChainId')\n", "import {\n BigIntToJsonZod, HexZod, JsonToBigIntZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** Zod schema for validating Atto values. */\nexport const AttoZod = z.bigint()\n/** Zod transform that parses JSON data into Atto values. */\nexport const JsonToAttoZod = z.pipe(JsonToBigIntZod, z.transform((v: bigint) => asAttoXL1(v)))\n\n/** Zod transform that serializes Atto values to JSON-safe data. */\n\n/** Zod schema for validating Transaction Fees Hex values. */\nexport const TransactionFeesHexZod = z.object({\n base: HexZod,\n gasLimit: HexZod,\n gasPrice: HexZod,\n priority: HexZod,\n})\n\n/** Validated data representation for Transaction Fees Hex. */\nexport type TransactionFeesHex = z.infer<typeof TransactionFeesHexZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesHex. */\nexport const isTransactionFeesHex = zodIsFactory(TransactionFeesHexZod)\n/** Converts a value to TransactionFeesHex, throwing if invalid. */\nexport const asTransactionFeesHex = zodAsFactory(TransactionFeesHexZod, 'asTransactionFeesHex')\n/** Safe conversion helper that returns Transaction Fees Hex when validation succeeds and `undefined` otherwise. */\nexport const toTransactionFeesHex = zodToFactory(TransactionFeesHexZod, 'toTransactionFeesHex')\n\n/** Zod schema for validating Transaction Fees Big Int values. */\nexport const TransactionFeesBigIntZod = z.object({\n base: AttoZod,\n gasLimit: AttoZod,\n gasPrice: AttoZod,\n priority: AttoZod,\n})\n\n/** Validated data representation for Transaction Fees Big Int. */\nexport type TransactionFeesBigInt = z.infer<typeof TransactionFeesBigIntZod>\n\n/** Type guard that checks if a value is a valid TransactionFeesBigInt. */\nexport const isTransactionFeesBigInt = zodIsFactory(TransactionFeesBigIntZod)\n/** Converts a value to TransactionFeesBigInt, throwing if invalid. */\nexport const asTransactionFeesBigInt = zodAsFactory(TransactionFeesBigIntZod, 'asTransactionFeesBigInt')\n/** Safe conversion helper that returns Transaction Fees Big Int when validation succeeds and `undefined` otherwise. */\nexport const toTransactionFeesBigInt = zodToFactory(TransactionFeesBigIntZod, 'toTransactionFeesBigInt')\n\n/** Zod schema for validating Transaction Fees Json To Big Int values. */\nexport const TransactionFeesJsonToBigIntZod = z.pipe(\n TransactionFeesHexZod,\n z.transform((val: TransactionFeesHex) => ({\n base: JsonToBigIntZod.parse(val.base),\n gasLimit: JsonToBigIntZod.parse(val.gasLimit),\n gasPrice: JsonToBigIntZod.parse(val.gasPrice),\n priority: JsonToBigIntZod.parse(val.priority),\n })),\n)\n\n/** Zod transform that serializes Transaction Fees Big Int values to JSON-safe data. */\nexport const TransactionFeesBigIntToJsonZod = z.pipe(\n TransactionFeesBigIntZod,\n z.transform((val: TransactionFeesBigInt) => ({\n base: BigIntToJsonZod.parse(val.base),\n gasLimit: BigIntToJsonZod.parse(val.gasLimit),\n gasPrice: BigIntToJsonZod.parse(val.gasPrice),\n priority: BigIntToJsonZod.parse(val.priority),\n })),\n)\n\n/** Validated data representation for Transaction Fees Json To Big Int Zod Type. */\nexport type TransactionFeesJsonToBigIntZodType = z.infer<typeof TransactionFeesJsonToBigIntZod>\n/** Validated data representation for Transaction Fees Big Int To Json Zod Type. */\nexport type TransactionFeesBigIntToJsonZodType = z.infer<typeof TransactionFeesBigIntToJsonZod>\n\nexport { BigIntToJsonZod as AttoToJsonZod } from '@ariestools/sdk'\n", "import { z } from 'zod'\n\nimport { xl1MaxValue } from './xl1MaxValue.ts'\n\n/**\n * Creates a type guard for a denomination in the 32-decimal-digit XL1 amount range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A guard accepting only bigints between zero and the denomination's maximum, inclusive.\n */\nexport const isXL1Factory = <T extends bigint>(places: bigint) => (val: unknown): val is T => {\n if (typeof val !== 'bigint') return false\n return val >= 0n && val <= xl1MaxValue(places)\n}\n\n/**\n * Creates a strict Zod schema for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @param name The denomination name included in validation errors.\n * @returns A schema accepting only in-range bigint values.\n */\nexport const XL1ZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.bigint().refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/**\n * Creates a Zod schema that coerces supported primitives to a branded XL1 bigint denomination.\n *\n * The schema accepts bigint, number, string, and boolean inputs, applies JavaScript\n * `BigInt` conversion, and then enforces the denomination's supported range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @param name The denomination name included in range-validation errors.\n * @returns A coercing schema for the requested branded denomination.\n * @throws A JavaScript bigint-conversion error for fractional numbers and non-integer strings.\n */\nexport const XL1TransformZodFactory = <T extends bigint>(places: bigint, name: string) => {\n const is = isXL1Factory<T>(places)\n const message = `Invalid value for ${name}, must be between 0 and ${xl1MaxValue(places)}`\n return z.union([z.bigint(), z.number(), z.string(), z.boolean()]).transform(val => BigInt(val) as T).refine(\n (x) => {\n const result = is(x)\n return result\n },\n { message },\n )\n}\n\n/**\n * Creates a strict constructor for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A constructor that accepts an in-range bigint and returns the branded value.\n * @throws A Zod validation error when the supplied value is not an in-range bigint.\n */\nexport const asXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1ZodFactory<T>(places, 'local')\n return (val: unknown): T => {\n const result = zod.safeParse(val)\n if (result.success) {\n return result.data\n }\n throw result.error\n }\n}\n\n/**\n * Creates a coercing constructor for a branded XL1 bigint denomination.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns A constructor that returns the branded value or `undefined` when schema validation fails.\n * @throws A JavaScript bigint-conversion error for fractional numbers and non-integer strings.\n */\nexport const toXL1Factory = <T extends bigint>(places: bigint) => {\n const zod = XL1TransformZodFactory<T>(places, 'local')\n return (val: unknown): T | undefined => {\n const result = zod.safeParse(val)\n return result.success ? result.data : undefined\n }\n}\n", "/**\n * Computes the largest count of a denomination that fits the 32-decimal-digit XL1 amount range.\n *\n * @param places The denomination's decimal places relative to attoXL1.\n * @returns `10 ** (32 - places) - 1`.\n */\nexport const xl1MaxValue = (places: bigint) => 10n ** (32n - places) - 1n\n", "type XL1Units = 'xl1' | 'milli' | 'micro' | 'nano' | 'pico' | 'femto' | 'atto'\n\n/** Decimal exponent used to convert each XL1 denomination to atomic attoXL1 units. */\nexport const XL1Places: Record<XL1Units, bigint> = {\n xl1: 18n,\n milli: 15n,\n micro: 12n,\n nano: 9n,\n pico: 6n,\n femto: 3n,\n atto: 0n,\n} as const\n\n/**\n * Number of attoXL1 in one unit of each denomination.\n *\n * Multiply a denomination value by its factor to obtain attoXL1; divide an\n * attoXL1 value by the factor to obtain that denomination, subject to integer\n * truncation by the caller's arithmetic.\n */\nexport const AttoXL1ConvertFactor: Record<XL1Units, bigint> = {\n xl1: 10n ** XL1Places.xl1,\n milli: 10n ** XL1Places.milli,\n micro: 10n ** XL1Places.micro,\n nano: 10n ** XL1Places.nano,\n pico: 10n ** XL1Places.pico,\n femto: 10n ** XL1Places.femto,\n atto: 10n ** XL1Places.atto,\n} as const\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest atomic-unit amount accepted by {@link asAttoXL1}: `10^32 - 1` attoXL1. */\nexport const AttoXL1MaxValue = xl1MaxValue(XL1Places.atto)\n/** Non-negative XL1 amount expressed in attoXL1, the atomic denomination. */\nexport type AttoXL1 = bigint & { readonly _tag: 'AttoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link AttoXL1MaxValue}. */\nexport const isAttoXL1 = isXL1Factory<AttoXL1>(XL1Places.atto)\n/**\n * Validates and brands an existing bigint as an {@link AttoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asAttoXL1 = asXL1Factory<AttoXL1>(XL1Places.atto)\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link AttoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toAttoXL1 = toXL1Factory<AttoXL1>(XL1Places.atto)\n\n/** Strict constructor alias for {@link asAttoXL1}. */\nexport const AttoXL1 = asAttoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest femtoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const FemtoXL1MaxValue = xl1MaxValue(XL1Places.femto)\n/** Non-negative XL1 amount expressed in femtoXL1, where one femtoXL1 equals `10^3` attoXL1. */\nexport type FemtoXL1 = bigint & { readonly _tag: 'FemtoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link FemtoXL1MaxValue}. */\nexport const isFemtoXL1 = isXL1Factory<FemtoXL1>(XL1Places.femto)\n/**\n * Validates and brands an existing bigint as a {@link FemtoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asFemtoXL1 = asXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link FemtoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toFemtoXL1 = toXL1Factory<FemtoXL1>(XL1Places.femto)\n\n/** Strict constructor alias for {@link asFemtoXL1}. */\nexport const FemtoXL1 = asFemtoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest microXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const MicroXL1MaxValue = xl1MaxValue(XL1Places.micro)\n/** Non-negative XL1 amount expressed in microXL1, where one microXL1 equals `10^12` attoXL1. */\nexport type MicroXL1 = bigint & { readonly _tag: 'MicroXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link MicroXL1MaxValue}. */\nexport const isMicroXL1 = isXL1Factory<MicroXL1>(XL1Places.micro)\n/**\n * Validates and brands an existing bigint as a {@link MicroXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asMicroXL1 = asXL1Factory<MicroXL1>(XL1Places.micro)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link MicroXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toMicroXL1 = toXL1Factory<MicroXL1>(XL1Places.micro)\n\n/** Strict constructor alias for {@link asMicroXL1}. */\nexport const MicroXL1 = asMicroXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest milliXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const MilliXL1MaxValue = xl1MaxValue(XL1Places.milli)\n/** Non-negative XL1 amount expressed in milliXL1, where one milliXL1 equals `10^15` attoXL1. */\nexport type MilliXL1 = bigint & { readonly _tag: 'MilliXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link MilliXL1MaxValue}. */\nexport const isMilliXL1 = isXL1Factory<MilliXL1>(XL1Places.milli)\n/**\n * Validates and brands an existing bigint as a {@link MilliXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asMilliXL1 = asXL1Factory<MilliXL1>(XL1Places.milli)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link MilliXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toMilliXL1 = toXL1Factory<MilliXL1>(XL1Places.milli)\n\n/** Strict constructor alias for {@link asMilliXL1}. */\nexport const MilliXL1 = asMilliXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest nanoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const NanoXL1MaxValue = xl1MaxValue(XL1Places.nano)\n/** Non-negative XL1 amount expressed in nanoXL1, where one nanoXL1 equals `10^9` attoXL1. */\nexport type NanoXL1 = bigint & { readonly _tag: 'NanoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link NanoXL1MaxValue}. */\nexport const isNanoXL1 = isXL1Factory<NanoXL1>(XL1Places.nano)\n/**\n * Validates and brands an existing bigint as a {@link NanoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asNanoXL1 = asXL1Factory<NanoXL1>(XL1Places.nano)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link NanoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toNanoXL1 = toXL1Factory<NanoXL1>(XL1Places.nano)\n\n/** Strict constructor alias for {@link asNanoXL1}. */\nexport const NanoXL1 = asNanoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest picoXL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const PicoXL1MaxValue = xl1MaxValue(XL1Places.pico)\n/** Non-negative XL1 amount expressed in picoXL1, where one picoXL1 equals `10^6` attoXL1. */\nexport type PicoXL1 = bigint & { readonly _tag: 'PicoXL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link PicoXL1MaxValue}. */\nexport const isPicoXL1 = isXL1Factory<PicoXL1>(XL1Places.pico)\n/**\n * Validates and brands an existing bigint as a {@link PicoXL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asPicoXL1 = asXL1Factory<PicoXL1>(XL1Places.pico)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to {@link PicoXL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toPicoXL1 = toXL1Factory<PicoXL1>(XL1Places.pico)\n\n/** Strict constructor alias for {@link asPicoXL1}. */\nexport const PicoXL1 = asPicoXL1\n", "import {\n asXL1Factory, isXL1Factory, toXL1Factory,\n} from './isXl1Factory.ts'\nimport { xl1MaxValue } from './xl1MaxValue.ts'\nimport { XL1Places } from './xl1Units.ts'\n\n/** Largest whole-XL1 amount whose attoXL1 representation fits the 32-digit amount range. */\nexport const XL1MaxValue = xl1MaxValue(XL1Places.xl1)\n/** Non-negative amount expressed in whole XL1, where one XL1 equals `10^18` attoXL1. */\nexport type XL1 = bigint & { readonly _tag: 'XL1' }\n/** Returns whether a value is a bigint in the inclusive range `0` through {@link XL1MaxValue}. */\nexport const isXL1 = isXL1Factory<XL1>(XL1Places.xl1)\n/**\n * Validates and brands an existing bigint as a whole-{@link XL1} amount.\n *\n * @throws A Zod validation error when the value is not a bigint or is outside the supported range.\n */\nexport const asXL1 = asXL1Factory<XL1>(XL1Places.xl1)\n\n/**\n * Coerces a bigint, integer number, numeric string, or boolean to whole {@link XL1}, then validates its range.\n *\n * @returns The branded amount, or `undefined` when input type or range validation fails.\n * @throws A JavaScript bigint-conversion error when a number is fractional or a string is not an integer.\n */\nexport const toXL1 = toXL1Factory<XL1>(XL1Places.xl1)\n\n/** Strict constructor alias for {@link asXL1}. */\nexport const XL1 = asXL1\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for PartySecretReveal payloads. */\nexport const PartySecretRevealSchema = asSchema('network.xyo.exchange.party.secret', true)\n/** Schema type for PartySecretReveal payloads. */\nexport type PartySecretRevealSchema = typeof PartySecretRevealSchema\n\n/**\n * Fields for a PartySecretReveal payload \u2014 the per-party gating commitment. The hash of\n * this payload is recorded in `ExchangeTerms.partySecrets`. At settlement, the party reveals\n * this payload co-signed by all addresses in its party set, irrevocably committing to release.\n */\nexport const PartySecretRevealFieldsZod = z.object({\n /** Random opaque value \u2014 the bytes don't matter; what matters is that the party signed them */\n nonce: z.string(),\n})\n\n/** Fields represented by the Party Secret Reveal contract. */\nexport type PartySecretRevealFields = z.infer<typeof PartySecretRevealFieldsZod>\n\n/** A PartySecretReveal payload \u2014 a party's revealed nonce at settlement. */\nexport type PartySecretReveal = Payload<PartySecretRevealFields, PartySecretRevealSchema>\n\n/** Type guard that checks if a value is a valid PartySecretReveal. */\nexport const isPartySecretReveal = isPayloadOfZodType<PartySecretReveal>(\n PartySecretRevealFieldsZod,\n PartySecretRevealSchema,\n)\n\n/** Casts a value to PartySecretReveal or returns undefined if invalid. */\nexport const asPartySecretReveal = AsObjectFactory.create(isPartySecretReveal)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ordinal Inscription payloads. */\nexport const InscriptionSchema = asSchema('network.xyo.ordinal.inscription', true)\n/** Schema type for ordinal Inscription payloads. */\nexport type InscriptionSchema = typeof InscriptionSchema\n\n/**\n * Fields for an ordinal Inscription \u2014 a persistent, transferable, owned artifact whose\n * identity is the content-addressed hash of this payload. Authorship/ownership is derived\n * structurally from the wrapping BoundWitness signer, never from a payload field.\n */\nexport const InscriptionFieldsZod = z.object({\n /** MIME type of the inscribed content (e.g. 'text/plain', 'image/png', 'application/json') */\n contentType: z.string(),\n /** Inscribed content \u2014 base64 for binary, raw for text/JSON */\n content: z.string(),\n})\n\n/** Fields represented by the Inscription contract. */\nexport type InscriptionFields = z.infer<typeof InscriptionFieldsZod>\n\n/** An ordinal Inscription payload \u2014 the canonical artifact of the inscription substrate. */\nexport type Inscription = Payload<InscriptionFields, InscriptionSchema>\n\n/** Type guard that checks if a value is a valid Inscription. */\nexport const isInscription = isPayloadOfZodType<Inscription>(InscriptionFieldsZod, InscriptionSchema)\n\n/** Casts a value to Inscription or returns undefined if invalid. */\nexport const asInscription = AsObjectFactory.create(isInscription)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for ordinal transfer payloads. */\nexport const OrdinalTransferSchema = asSchema('network.xyo.ordinal.transfer', true)\n/** Schema type for ordinal transfer payloads. */\nexport type OrdinalTransferSchema = typeof OrdinalTransferSchema\n\n/**\n * Fields for an ordinal Transfer event \u2014 references the target inscription by its\n * content-addressed ID and declares the new owner. The current owner is *not* a payload\n * field; the indexer enforces that the wrapping BoundWitness was signed by the current owner.\n */\nexport const OrdinalTransferFieldsZod = z.object({\n /** Content-addressed hash of the target inscription payload */\n inscriptionId: HashZod,\n /** Recipient address \u2014 declarative content; the current owner is derived structurally */\n to: XyoAddressZod,\n})\n\n/** Fields represented by the Ordinal Transfer contract. */\nexport type OrdinalTransferFields = z.infer<typeof OrdinalTransferFieldsZod>\n\n/** An ordinal Transfer payload \u2014 moves inscription ownership to `to`. */\nexport type OrdinalTransfer = Payload<OrdinalTransferFields, OrdinalTransferSchema>\n\n/** Type guard that checks if a value is a valid OrdinalTransfer. */\nexport const isOrdinalTransfer = isPayloadOfZodType<OrdinalTransfer>(\n OrdinalTransferFieldsZod,\n OrdinalTransferSchema,\n)\n\n/** Casts a value to OrdinalTransfer or returns undefined if invalid. */\nexport const asOrdinalTransfer = AsObjectFactory.create(isOrdinalTransfer)\n", "import { z } from 'zod/mini'\n\n/**\n * Zod schema for an XRC-20 ticker symbol \u2014 1 to 8 characters. Indexers case-fold to\n * lowercase before applying ownership rules, so casing collisions (`ORDI` vs `ordi`)\n * race for the same ticker.\n */\nexport const TickerZod = z.string().check(z.minLength(1), z.maxLength(8))\n\n/** An XRC-20 ticker symbol. */\nexport type Ticker = z.infer<typeof TickerZod>\n", "import { z } from 'zod/mini'\n\n/**\n * Zod schema for an XRC-20 token amount \u2014 a decimal-string representation of a\n * non-negative integer. Decimal strings rather than `number` so the value survives JSON\n * round-trips at arbitrary precision; indexers parse with `BigInt()`.\n */\nexport const TokenAmountZod = z.string().check(z.regex(/^\\d+$/))\n\n/** Decimal-string big-integer XRC-20 amount; parse with `BigInt()`. */\nexport type TokenAmount = z.infer<typeof TokenAmountZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 deploy payloads. */\nexport const TokenDeploySchema = asSchema('network.xyo.ordinal.token.deploy', true)\n/** Schema type for XRC-20 deploy payloads. */\nexport type TokenDeploySchema = typeof TokenDeploySchema\n\n/**\n * Fields for an XRC-20 deploy artifact \u2014 claims a ticker with a supply cap and a per-mint\n * cap. Ticker ownership tracks the ownership of this inscription artifact.\n */\nexport const TokenDeployFieldsZod = z.object({\n /** Ticker symbol \u2014 case-folded by the indexer */\n tick: TickerZod,\n /** Total supply */\n max: TokenAmountZod,\n /** Per-mint cap */\n lim: TokenAmountZod,\n /** Optional decimals (0\u201318); defaults to 0 in the indexer */\n decimals: z.optional(z.int().check(z.gte(0), z.lte(18))),\n})\n\n/** Fields represented by the Token Deploy contract. */\nexport type TokenDeployFields = z.infer<typeof TokenDeployFieldsZod>\n\n/** An XRC-20 deploy payload \u2014 an artifact that claims a ticker. */\nexport type TokenDeploy = Payload<TokenDeployFields, TokenDeploySchema>\n\n/** Type guard that checks if a value is a valid TokenDeploy. */\nexport const isTokenDeploy = isPayloadOfZodType<TokenDeploy>(TokenDeployFieldsZod, TokenDeploySchema)\n\n/** Casts a value to TokenDeploy or returns undefined if invalid. */\nexport const asTokenDeploy = AsObjectFactory.create(isTokenDeploy)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 mint payloads. */\nexport const TokenMintSchema = asSchema('network.xyo.ordinal.token.mint', true)\n/** Schema type for XRC-20 mint payloads. */\nexport type TokenMintSchema = typeof TokenMintSchema\n\n/**\n * Fields for an XRC-20 mint event \u2014 credits the wrapping BoundWitness signer with `amt`\n * of `tick`. Drops if `amt` exceeds the deploy's per-mint cap or would exceed total supply.\n */\nexport const TokenMintFieldsZod = z.object({\n /** Ticker being minted */\n tick: TickerZod,\n /** Amount minted */\n amt: TokenAmountZod,\n})\n\n/** Fields represented by the Token Mint contract. */\nexport type TokenMintFields = z.infer<typeof TokenMintFieldsZod>\n\n/** An XRC-20 mint payload \u2014 credits the signer's balance for `tick` by `amt`. */\nexport type TokenMint = Payload<TokenMintFields, TokenMintSchema>\n\n/** Type guard that checks if a value is a valid TokenMint. */\nexport const isTokenMint = isPayloadOfZodType<TokenMint>(TokenMintFieldsZod, TokenMintSchema)\n\n/** Casts a value to TokenMint or returns undefined if invalid. */\nexport const asTokenMint = AsObjectFactory.create(isTokenMint)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { TickerZod } from './Ticker.ts'\nimport { TokenAmountZod } from './TokenAmount.ts'\n\n/** Schema identifier for XRC-20 transfer payloads. */\nexport const TokenTransferSchema = asSchema('network.xyo.ordinal.token.transfer', true)\n/** Schema type for XRC-20 transfer payloads. */\nexport type TokenTransferSchema = typeof TokenTransferSchema\n\n/**\n * Fields for an XRC-20 transfer event \u2014 moves `amt` of `tick` from the wrapping\n * BoundWitness signer to `to`. Drops if the signer's balance is insufficient.\n */\nexport const TokenTransferFieldsZod = z.object({\n /** Ticker being transferred */\n tick: TickerZod,\n /** Recipient address \u2014 declarative content; the sender is derived structurally */\n to: XyoAddressZod,\n /** Amount transferred */\n amt: TokenAmountZod,\n})\n\n/** Fields represented by the Token Transfer contract. */\nexport type TokenTransferFields = z.infer<typeof TokenTransferFieldsZod>\n\n/** An XRC-20 transfer payload \u2014 moves `amt` of `tick` from signer to `to`. */\nexport type TokenTransfer = Payload<TokenTransferFields, TokenTransferSchema>\n\n/** Type guard that checks if a value is a valid TokenTransfer. */\nexport const isTokenTransfer = isPayloadOfZodType<TokenTransfer>(\n TokenTransferFieldsZod,\n TokenTransferSchema,\n)\n\n/** Casts a value to TokenTransfer or returns undefined if invalid. */\nexport const asTokenTransfer = AsObjectFactory.create(isTokenTransfer)\n", "import { AsObjectFactory, HexZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeDestinationObservation payloads. */\nexport const BridgeDestinationObservationSchema = asSchema('network.xyo.chain.bridge.observation.destination', true)\n/** Schema type for BridgeDestinationObservation payloads. */\nexport type BridgeDestinationObservationSchema = typeof BridgeDestinationObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport const BridgeDestinationObservationFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Destination chain confirmation\n */\n destConfirmation: z.optional(HexZod).check(z.describe('Destination chain confirmation')),\n})\n\n/** Fields represented by the Bridge Destination Observation contract. */\nexport type BridgeDestinationObservationFields = z.infer<typeof BridgeDestinationObservationFieldsZod>\n\n/**\n * Represents an observation that confirms a bridge action occurred on the destination chain.\n */\nexport type BridgeDestinationObservation = Payload<BridgeDestinationObservationFields, BridgeDestinationObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeDestinationObservation. */\nexport const isBridgeDestinationObservation = isPayloadOfZodType<BridgeDestinationObservation>(\n BridgeDestinationObservationFieldsZod,\n BridgeDestinationObservationSchema,\n)\n\n/** Converts a value to BridgeDestinationObservation, throwing if invalid. */\nexport const asBridgeDestinationObservation = AsObjectFactory.create(isBridgeDestinationObservation)\n", "import { HexZod } from '@ariestools/sdk'\nimport { z } from 'zod/mini'\n\n/**\n * Represents a transfer destination\n */\nexport const BridgeDetailsDestinationFieldsZod = z.object({\n /**\n * Destination network\n */\n dest: HexZod.check(z.describe('The destination network identifier')),\n /**\n * Destination address (EOA or contract)\n */\n destAddress: HexZod.check(z.describe('The destination address (EOA or contract)')),\n /**\n * Token amount to bridge to destination\n */\n destAmount: HexZod.check(z.describe('The token amount to bridge to destination')),\n /**\n * Token being bridged to\n */\n destToken: HexZod.check(z.describe('The token being bridged to')),\n})\n\n/**\n * Represents a transfer destination\n */\nexport type BridgeDetailsDestinationFields = z.infer<typeof BridgeDetailsDestinationFieldsZod>\n\n/**\n * Represents a transfer source\n */\nexport const BridgeDetailsSourceFieldsZod = z.object({\n /**\n * Source network\n */\n src: HexZod.check(z.describe('The source network identifier')),\n\n /**\n * Source address (EOA or contract)\n */\n srcAddress: HexZod.check(z.describe('The source address (EOA or contract)')),\n /**\n * Token amount to bridge from source\n */\n srcAmount: HexZod.check(z.describe('The token amount to bridge from source')),\n /**\n * Token being bridged from\n */\n srcToken: HexZod.check(z.describe('The token being bridged from')),\n})\n\n/**\n * Represents a transfer source\n */\nexport type BridgeDetailsSourceFields = z.infer<typeof BridgeDetailsSourceFieldsZod>\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport const BridgeDetailsFieldsZod = z.extend(\n BridgeDetailsSourceFieldsZod,\n BridgeDetailsDestinationFieldsZod.shape,\n)\n\n/**\n * Represents a transfer from a source chain/token/address/amount to a destination chain/token/address/amount.\n */\nexport type BridgeDetailsFields = z.infer<typeof BridgeDetailsFieldsZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeIntent payloads. */\nexport const BridgeIntentSchema = asSchema('network.xyo.chain.bridge.intent', true)\n/** Schema type for BridgeIntent payloads. */\nexport type BridgeIntentSchema = typeof BridgeIntentSchema\n\n/**\n * Represents an Address's intent to initiate a token bridge.\n */\nexport const BridgeIntentFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Unique identifier for replay protection\n */\n nonce: z.string().check(z.describe('Unique identifier for replay protection')),\n})\n\n/** Fields represented by the Bridge Intent contract. */\nexport type BridgeIntentFields = z.infer<typeof BridgeIntentFieldsZod>\n\n/** Validated data representation for Bridge Intent. */\nexport type BridgeIntent = Payload<BridgeIntentFields, BridgeIntentSchema>\n\n/** Type guard that checks if a value is a valid BridgeIntent. */\nexport const isBridgeIntent = isPayloadOfZodType<BridgeIntent>(\n BridgeIntentFieldsZod,\n BridgeIntentSchema,\n)\n\n/** Converts a value to BridgeIntent, throwing if invalid. */\nexport const asBridgeIntent = AsObjectFactory.create(isBridgeIntent)\n", "import { AsObjectFactory, HexZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BridgeDetailsFieldsZod } from './BridgeDetails.ts'\n\n/** Schema identifier for BridgeSourceObservation payloads. */\nexport const BridgeSourceObservationSchema = asSchema('network.xyo.chain.bridge.observation.source', true)\n/** Schema type for BridgeSourceObservation payloads. */\nexport type BridgeSourceObservationSchema = typeof BridgeSourceObservationSchema\n\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport const BridgeSourceObservationFieldsZod = z.extend(BridgeDetailsFieldsZod, {\n /**\n * Source chain confirmation\n */\n srcConfirmation: z.optional(HexZod).check(z.describe('Source chain confirmation')),\n})\n\n/** Fields represented by the Bridge Source Observation contract. */\nexport type BridgeSourceObservationFields = z.infer<typeof BridgeSourceObservationFieldsZod>\n/**\n * Represents an observation that confirms a bridge action occurred on the source chain.\n */\nexport type BridgeSourceObservation = Payload<BridgeSourceObservationFields, BridgeSourceObservationSchema>\n\n/** Type guard that checks if a value is a valid BridgeSourceObservation. */\nexport const isBridgeSourceObservation = isPayloadOfZodType<BridgeSourceObservation>(\n BridgeSourceObservationFieldsZod,\n BridgeSourceObservationSchema,\n)\n\n/** Converts a value to BridgeSourceObservation, throwing if invalid. */\nexport const asBridgeSourceObservation = AsObjectFactory.create(isBridgeSourceObservation)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload, WithStorageMeta } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, isStorageMeta,\n} from '@xyo-network/sdk'\n\nimport type { BlockDuration } from '../../fields/index.ts'\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for chain stake intent payloads. */\nexport const ChainStakeIntentSchema = asSchema('network.xyo.chain.stake.intent', true)\n/** Schema type for ChainStakeIntent payloads. */\nexport type ChainStakeIntentSchema = typeof ChainStakeIntentSchema\n\n/** The type of staking intent, currently limited to 'producer'. */\nexport type Intent = 'producer' // | 'bank'\n\n/** Fields declaring the role requested by a chain-staking action. */\nexport interface ChainStakeIntentFields extends BlockDuration, FromFields {\n /** Chain role for which the source address intends to stake. */\n intent: Intent\n}\n\n/** A payload representing an intent to stake on the chain. */\nexport type ChainStakeIntent = Payload<ChainStakeIntentFields, ChainStakeIntentSchema>\n\n/** Type guard that checks whether a value is a valid ChainStakeIntent with non-negative nbf and exp. */\nexport const isChainStakeIntent = (x?: unknown): x is ChainStakeIntent => {\n return isPayloadOfSchemaType<ChainStakeIntent>(ChainStakeIntentSchema)(x)\n && asNonNegativeInteger(x.nbf) !== undefined\n && asNonNegativeInteger(x.exp) !== undefined\n}\n/** Casts a value to ChainStakeIntent or returns undefined if it does not match. */\nexport const asChainStakeIntent = AsObjectFactory.create(isChainStakeIntent)\n\n/** Type guard that checks whether a value is a ChainStakeIntent with storage metadata. */\nexport const isChainStakeIntentWithStorageMeta = (x?: unknown): x is WithStorageMeta<ChainStakeIntent> => {\n return isChainStakeIntent(x) && isStorageMeta(x)\n}\n\nconst asNonNegativeInteger = (num: number) => {\n return (Number.isSafeInteger(num) && num >= 0) ? num : undefined\n}\n", "import type { EmptyObject } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { isAnyPayload } from '@xyo-network/sdk'\n\n/** Declares the source address that an executable action asks the processor to use. */\nexport interface FromFields {\n /**\n * Address treated as the action source. This declarative field does not by\n * itself prove the identity of the wrapping bound-witness signer.\n */\n from: XyoAddress\n}\n\n/** Protocol constant defining has from. */\nexport const hasFrom = (value: unknown): value is FromFields => {\n return (value as FromFields).from !== undefined\n}\n\n/** Script instructions attached to an executable protocol value. */\nexport interface ExecutableFields {\n /** Ordered protocol operation strings to execute. */\n script: string[]\n}\n\n/** Validated data representation for Executable. */\nexport type Executable<T extends EmptyObject = EmptyObject> = T & ExecutableFields\n/** Validated data representation for Optional Executable. */\nexport type OptionalExecutable<T extends EmptyObject = EmptyObject> = T & Partial<ExecutableFields>\n\n/** Type guard that checks if a value is a valid Executable. */\nexport const isExecutable = <T extends EmptyObject>(value: T | undefined): value is Executable<T> => {\n return isAnyPayload(value) && Array.isArray((value as unknown as ExecutableFields).script)\n}\n\n/** Converts a value to Executable, throwing if invalid. */\nexport const asExecutable = <T extends EmptyObject>(value: T | undefined): Executable<T> | undefined => {\n return isExecutable(value)\n ? value\n : undefined\n}\n", "import type { Hash } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\n/** Schema identifier for hash payloads. */\nexport const HashSchema = asSchema('network.xyo.hash', true)\n/** Schema type for Hash payloads. */\nexport type HashSchema = typeof HashSchema\n\n/** Fields for a hash payload containing a single hash value. */\nexport interface HashFields {\n /** Protocol hash carried by the payload. */\n hash: Hash\n}\n\n/** A payload containing a hash value. */\nexport type HashPayload = Payload<HashFields, HashSchema>\n\n/** Type guard that checks whether a value is a HashPayload. */\nexport const isHashPayload = isPayloadOfSchemaType<HashPayload>(HashSchema)\n\n/** Casts a value to HashPayload or returns undefined if it does not match. */\nexport const asHashPayload = AsObjectFactory.create(isHashPayload)\n/** Casts a value to HashPayload with storage metadata or returns undefined. */\nexport const asHashPayloadWithStorageMeta = AsObjectFactory.create(isHashPayload)\n", "import type { Hash } from '@ariestools/sdk'\nimport { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfSchemaType } from '@xyo-network/sdk'\n\nimport type { FromFields } from './Executable.ts'\n\n/** Schema identifier for StepComplete payloads. */\nexport const StepCompleteSchema = asSchema('network.xyo.chain.step.complete', true)\n/** Schema type for StepComplete payloads. */\nexport type StepCompleteSchema = typeof StepCompleteSchema\n\n/** Records completion metadata for a reward-eligible network step. */\nexport interface StepCompleteFields extends FromFields {\n /** XL1 block number at the step head. */\n block: number\n\n /** Hash that identifies the completed step. */\n hash: Hash\n\n /** Number of XL1 blocks represented by the step. */\n size: number\n\n /** Reference block number on the external staking system. */\n stakeBlock: number\n}\n\n// if this payload is included in a boundwitness, it needs to be available for inspection to be included in block\n/** Validated data representation for Step Complete. */\nexport type StepComplete = Payload<StepCompleteFields, StepCompleteSchema>\n\n/** Type guard that checks if a value is a valid StepComplete. */\nexport const isStepComplete = isPayloadOfSchemaType<StepComplete>(StepCompleteSchema)\n\n/** Converts a value to StepComplete, throwing if invalid. */\nexport const asStepComplete = AsObjectFactory.create(isStepComplete)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n// xl1 = xl1 block number, epoch = epoch number, ethereum = ethereum block number\n/** Supported time domains: xl1 block number, epoch timestamp, or ethereum block number. */\nexport type TimeDomain = 'xl1' | 'epoch' | 'ethereum'\n\n/** Schema identifier for time payloads. */\nexport const TimeSchema = asSchema('network.xyo.time', true)\n/** Schema type for Time payloads. */\nexport type TimeSchema = typeof TimeSchema\n\n/** Zod schema for XL1 time fields including block number and hash. */\nexport const XL1TimeFieldsZod = z.object({\n // block number\n xl1: z.optional(z.number()),\n // block hash\n xl1Hash: z.optional(HashZod),\n})\n\n/** Zod schema for Ethereum time fields including block number and hash. */\nexport const EthereumTimeFieldsZod = z.object({\n // block number\n ethereum: z.optional(z.number()),\n // block hash\n ethereumHash: z.optional(HashZod),\n})\n\n/** Zod schema for epoch time fields in milliseconds. */\nexport const EpochTimeFieldsZod = z.object({\n // in milliseconds\n epoch: z.number(),\n})\n\n/** Combined Zod schema for all time fields across XL1, Ethereum, and epoch domains. */\nexport const TimeFieldsZod = z.extend(\n z.extend(z.extend(XL1TimeFieldsZod, XL1TimeFieldsZod.shape), EthereumTimeFieldsZod.shape),\n EpochTimeFieldsZod.shape,\n)\n\n/** Zod schema for a complete time payload including schema and all time fields. */\nexport const TimePayloadZod = z.extend(PayloadZodOfSchema(TimeSchema), TimeFieldsZod.shape)\n\n/** A payload containing time information across multiple domains. */\nexport type TimePayload = z.infer<typeof TimePayloadZod>\n\n// to prevent scaling problems, we cap epochs at a fixed protocol constant rather than a\n// wall-clock-derived bound \u2014 validation must be deterministic across nodes and over time\n/** Maximum accepted epoch timestamp in milliseconds (~year 2286). */\nexport const MAX_SAFE_EPOCH = 9_999_999_999_999\n\n/** Checks whether a value is a safe epoch timestamp (nonnegative safe integer within the protocol cap). */\nexport const isSafeEpoch = (value: unknown): value is number => {\n return typeof value === 'number' && Number.isSafeInteger(value)\n && value >= 0 && value <= MAX_SAFE_EPOCH\n}\n\n/** Type guard that checks whether a value is a valid TimePayload with a safe epoch. */\nexport const isTimePayload = (value: unknown): value is TimePayload => {\n return isPayloadOfSchemaType<TimePayload>(TimeSchema)(value) && isSafeEpoch(value.epoch)\n}\n\n/** Casts a value to TimePayload or returns undefined if it does not match. */\nexport const asTimePayload = AsObjectFactory.create(isTimePayload)\n/** Casts a value to TimePayload with storage metadata or returns undefined. */\nexport const asTimePayloadWithStorageMeta = AsObjectFactory.create(isTimePayload)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Possible outcomes of adjudicating a slash request. */\nexport const SlashOutcomes = ['confirmed', 'refuted', 'indeterminate', 'invalid'] as const\n\n/** The outcome of adjudicating a slash request. */\nexport type SlashOutcome = typeof SlashOutcomes[number]\n\n/** Zod schema for a slash outcome. */\nexport const SlashOutcomeZod = z.literal(SlashOutcomes)\n\n/** Schema identifier for slash adjudication payloads. */\nexport const SlashAdjudicationSchema = asSchema('network.xyo.chain.slash.adjudication', true)\n/** Schema type for slash adjudication payloads. */\nexport type SlashAdjudicationSchema = typeof SlashAdjudicationSchema\n\n/**\n * Fields for the record that closes a slash request.\n *\n * Four outcomes, and the distinctions between them are the whole design. `confirmed` proceeds to\n * a slash. `refuted` means counter-evidence held \u2014 the reporter was not wrong to ask.\n * `indeterminate` means the check could not be completed from what was available, and costs\n * nobody anything. Only `invalid` means the report was provably wrong, and only that opens a\n * counter-slash against its filer.\n *\n * Collapsing the middle two into \"failed\" is what would make honest reporting dangerous: a\n * reporter who hit a data-availability gap would be punished the same as one who fabricated.\n */\nexport const SlashAdjudicationFieldsZod = z.object({\n /** Address credited with the report, required once bounties are paid. */\n claimant: z.optional(XyoAddressZod),\n /** Hash of the commitment that won the claim. */\n claimantCommit: z.optional(HashZod),\n /** Address issuing the adjudication. */\n from: XyoAddressZod,\n /** How the request was resolved. */\n outcome: SlashOutcomeZod,\n /** Why, for any outcome other than confirmed. */\n reason: z.optional(z.string()),\n /** Hash of the request being adjudicated. */\n request: HashZod,\n})\n\n/** Fields represented by the slash adjudication contract. */\nexport type SlashAdjudicationFields = z.infer<typeof SlashAdjudicationFieldsZod>\n\n/** A slash adjudication payload \u2014 the on-chain record closing a report. */\nexport type SlashAdjudication = Payload<SlashAdjudicationFields, SlashAdjudicationSchema>\n\n/** Type guard that checks if a value is a valid SlashAdjudication. */\nexport const isSlashAdjudication = isPayloadOfZodType<SlashAdjudication>(\n SlashAdjudicationFieldsZod,\n SlashAdjudicationSchema,\n)\n\n/** Casts a value to SlashAdjudication or returns undefined if invalid. */\nexport const asSlashAdjudication = AsObjectFactory.create(isSlashAdjudication)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash challenge payloads. */\nexport const SlashChallengeSchema = asSchema('network.xyo.chain.slash.challenge', true)\n/** Schema type for slash challenge payloads. */\nexport type SlashChallengeSchema = typeof SlashChallengeSchema\n\n/**\n * Fields for a challenge to a slash request.\n *\n * Anyone may challenge and no bond is required, because a challenge can only exculpate. A\n * frivolous one fails to change the verdict and costs its filer the fee; there is no version of\n * it that harms the accused, so there is nothing to deter.\n */\nexport const SlashChallengeFieldsZod = z.object({\n /** Hashes of the counter-artifacts, carried in accompanying evidence payloads. */\n evidence: z.array(HashZod),\n /** Address filing the challenge. */\n from: XyoAddressZod,\n /** Hash of the request being challenged. */\n request: HashZod,\n})\n\n/** Fields represented by the slash challenge contract. */\nexport type SlashChallengeFields = z.infer<typeof SlashChallengeFieldsZod>\n\n/** A slash challenge payload \u2014 counter-evidence against a pending report. */\nexport type SlashChallenge = Payload<SlashChallengeFields, SlashChallengeSchema>\n\n/** Type guard that checks if a value is a valid SlashChallenge. */\nexport const isSlashChallenge = isPayloadOfZodType<SlashChallenge>(SlashChallengeFieldsZod, SlashChallengeSchema)\n\n/** Casts a value to SlashChallenge or returns undefined if invalid. */\nexport const asSlashChallenge = AsObjectFactory.create(isSlashChallenge)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash commit payloads. */\nexport const SlashCommitSchema = asSchema('network.xyo.chain.slash.commit', true)\n/** Schema type for slash commit payloads. */\nexport type SlashCommitSchema = typeof SlashCommitSchema\n\n/**\n * Fields for a slash commitment.\n *\n * A report's evidence becomes public the moment it is recorded, and whoever orders the next block\n * decides which copy of it lands first. Committing to the report before revealing it is what\n * stops a reporter's work from being lifted and re-filed under someone else's name.\n *\n * The commitment is the hash of the whole report, so it binds the reporter, the accused, the\n * offense, and the evidence together \u2014 none of them can be swapped after the fact.\n */\nexport const SlashCommitFieldsZod = z.object({\n /** Hash of the report this commitment reserves. */\n commitment: HashZod,\n /** Address that will file the report. */\n from: XyoAddressZod,\n})\n\n/** Fields represented by the slash commit contract. */\nexport type SlashCommitFields = z.infer<typeof SlashCommitFieldsZod>\n\n/** A slash commit payload \u2014 reserves a report before its evidence is public. */\nexport type SlashCommit = Payload<SlashCommitFields, SlashCommitSchema>\n\n/** Type guard that checks if a value is a valid SlashCommit. */\nexport const isSlashCommit = isPayloadOfZodType<SlashCommit>(SlashCommitFieldsZod, SlashCommitSchema)\n\n/** Casts a value to SlashCommit or returns undefined if invalid. */\nexport const asSlashCommit = AsObjectFactory.create(isSlashCommit)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for slash evidence payloads. */\nexport const SlashEvidenceSchema = asSchema('network.xyo.chain.slash.evidence', true)\n/** Schema type for slash evidence payloads. */\nexport type SlashEvidenceSchema = typeof SlashEvidenceSchema\n\n/**\n * Fields for a slash evidence container.\n *\n * Evidence is signed bound witnesses \u2014 blocks, transactions, attestations. Those cannot ride\n * on-chain as bare payloads, because a bound witness in a block's payload set would be read as\n * one of that block's transactions. Carrying them inside an opaque container keeps them verbatim,\n * which matters: the whole point of the evidence is that its signatures still verify.\n */\nexport const SlashEvidenceFieldsZod = z.object({\n /** The signed artifacts, exactly as they were observed. */\n artifacts: z.array(z.record(z.string(), z.unknown())),\n /** Address that submitted the evidence. */\n from: XyoAddressZod,\n})\n\n/** Fields represented by the slash evidence contract. */\nexport type SlashEvidenceFields = z.infer<typeof SlashEvidenceFieldsZod>\n\n/** A slash evidence payload \u2014 signed artifacts carried on-chain without being interpreted. */\nexport type SlashEvidence = Payload<SlashEvidenceFields, SlashEvidenceSchema>\n\n/** Type guard that checks if a value is a valid SlashEvidence. */\nexport const isSlashEvidence = isPayloadOfZodType<SlashEvidence>(SlashEvidenceFieldsZod, SlashEvidenceSchema)\n\n/** Casts a value to SlashEvidence or returns undefined if invalid. */\nexport const asSlashEvidence = AsObjectFactory.create(isSlashEvidence)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../../BlockNumber/index.ts'\nimport { ChainIdZod } from '../../chain/index.ts'\nimport { OffenseCodeZod } from '../../model/OffenseCode.ts'\n\n/** Schema identifier for slash request payloads. */\nexport const SlashRequestSchema = asSchema('network.xyo.chain.slash.request', true)\n/** Schema type for slash request payloads. */\nexport type SlashRequestSchema = typeof SlashRequestSchema\n\n/**\n * Fields for a slash request \u2014 an accusation that a specific address committed a specific offense.\n *\n * A request carries no argument, only artifacts and a catalog entry. If an offense cannot be\n * expressed that way it is not reportable, which is what keeps accusation mechanical: the same\n * request produces the same verdict for anyone who checks it, and there is nothing to be\n * persuaded by.\n *\n * Every offense locates at exactly one height, so there is no range to disagree about when\n * deciding whether two reports are the same accusation.\n */\nexport const SlashRequestFieldsZod = z.object({\n /** Address accused of the offense. */\n accused: XyoAddressZod,\n /** Height the offense occurred at. */\n block: XL1BlockNumberZod,\n /** Catalog version the offense is judged under. */\n catalog: z.number().check(z.multipleOf(1), z.positive()),\n /** Chain the offense occurred on. */\n chain: ChainIdZod,\n /** Hashes of the artifacts proving the offense, carried in accompanying evidence payloads. */\n evidence: z.array(HashZod),\n /** EVM height the claim is judged against, for anchor and eligibility offenses. */\n evm: z.optional(z.number()),\n /** Address filing the report. */\n from: XyoAddressZod,\n /** Offense class being alleged. */\n offense: OffenseCodeZod,\n})\n\n/** Fields represented by the slash request contract. */\nexport type SlashRequestFields = z.infer<typeof SlashRequestFieldsZod>\n\n/** A slash request payload \u2014 an evidence-bearing accusation. */\nexport type SlashRequest = Payload<SlashRequestFields, SlashRequestSchema>\n\n/** Type guard that checks if a value is a valid SlashRequest. */\nexport const isSlashRequest = isPayloadOfZodType<SlashRequest>(SlashRequestFieldsZod, SlashRequestSchema)\n\n/** Casts a value to SlashRequest or returns undefined if invalid. */\nexport const asSlashRequest = AsObjectFactory.create(isSlashRequest)\n", "import { z } from 'zod/mini'\n\n/**\n * Offense codes, in catalog order.\n *\n * A class keeps its code forever: a report names the code it was filed under, and that name has\n * to still mean the same thing whenever the report is read back.\n */\nexport const OffenseCodes = [\n 'equivocation',\n 'invalid-block',\n 'reward-overmint',\n 'false-anchor',\n 'ineligible-production',\n 'invalid-slash-request',\n 'false-attestation',\n] as const\n\n/** An offense class. */\nexport type OffenseCode = typeof OffenseCodes[number]\n\n/** Zod schema for an offense code. */\nexport const OffenseCodeZod = z.literal(OffenseCodes)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport { asSchema, isPayloadOfZodType } from '@xyo-network/sdk'\nimport type { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\n\n/** Schema identifier for step identity payloads. */\nexport const StepIdentitySchema = asSchema('network.xyo.chain.step.identity', true)\n/** Schema type for StepIdentity payloads. */\nexport type StepIdentitySchema = typeof StepIdentitySchema\n\n/** Fields for a step identity, inferred from the StepIdentityZod schema. */\nexport type StepIdentityFields = z.infer<typeof StepIdentityZod>\n\n/**\n * A Step Identity Payload\n */\nexport type StepIdentityPayload = Payload<StepIdentityFields, StepIdentitySchema>\n\n/** Type guard that checks whether a value is a StepIdentityPayload. */\nexport const isStepIdentityPayload = isPayloadOfZodType<StepIdentityPayload>(StepIdentityZod, StepIdentitySchema)\n\n/** Casts a value to StepIdentityPayload or returns undefined if it does not match. */\nexport const asStepIdentityPayload = AsObjectFactory.create(isStepIdentityPayload)\n", "import { type Brand, isUndefined } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { toXL1BlockNumber, XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for a step identity combining a block number and step index */\nexport const StepIdentityZod = z.object({\n block: XL1BlockNumberZod.describe('The block number at which the step occurs'),\n step: z.number().int().nonnegative().describe('The index of the step into the StepSize array'),\n})\n/** Identifies a specific step by its block number and step index */\nexport type StepIdentity = z.infer<typeof StepIdentityZod>\n\n/** @deprecated use StepIdentity instead */\nexport interface StepContext extends StepIdentity {}\n\n/** Branded string representing a block number and step index separated by a pipe character */\nexport type StepIdentityString = Brand<string, { readonly __stepIdentityString: true }>\n\nfunction tryParseInt(value: string): number | undefined {\n // Prevent coercion of empty strings to 0\n if (value === '') return undefined\n // Parse number\n const num = Number(value)\n // Check if integer\n return Number.isSafeInteger(num) ? num : undefined\n}\n\n/** Parses a pipe-separated string into a StepIdentity, returning undefined if invalid */\nexport const asStepIdentity = (stepIdentityString: string): StepIdentity | undefined => {\n try {\n const [blockNumberString, stepString] = stepIdentityString.split('|', 2)\n if (isUndefined(blockNumberString) || isUndefined(stepString)) {\n return undefined\n }\n const step = tryParseInt(stepString)\n const block = toXL1BlockNumber(blockNumberString)\n if (isUndefined(block) || isUndefined(step)) {\n return undefined\n }\n\n return { block, step }\n } catch {\n return undefined\n }\n}\n", "import { AsTypeFactory } from '@ariestools/sdk'\n\nimport { asXL1BlockNumber, type XL1BlockNumber } from '../BlockNumber/index.ts'\n\n// StepsV2 are primorial(n+2) + 1, where n is the index of the step size\n// primorial(n+2) = 2 \u2192 2\u00D73=6 \u2192 6\u00D75=30 \u2192 30\u00D77=210 \u2192 210\u00D711=2310\n\n/** Array of step sizes based on primorial(n+2) + 1, defining the block intervals for each step level */\nexport const StepSizes: XL1BlockNumber[] = [\n asXL1BlockNumber(7, true),\n asXL1BlockNumber(31, true),\n asXL1BlockNumber(211, true),\n asXL1BlockNumber(2311, true),\n asXL1BlockNumber(30_031, true),\n asXL1BlockNumber(510_511, true),\n asXL1BlockNumber(9_699_691, true),\n asXL1BlockNumber(223_092_871, true),\n asXL1BlockNumber(6_469_693_231, true),\n]\n\n/** Type guard that checks if a value is a valid step index within the StepSizes array */\nexport function isValidStep(step: unknown): step is number {\n if (typeof step === 'number' && Number.isSafeInteger(step)) {\n return ((step >= 0) && (step < StepSizes.length))\n }\n return false\n}\n\n/** Casts a value to a valid step index, returning undefined if invalid */\nexport const asValidStep = AsTypeFactory.create<number>(isValidStep)\n\n/** Returns the block interval size for a given step index */\nexport function stepSize(step: number): XL1BlockNumber {\n const validatedStep = asValidStep(step, () => `Invalid step (${step}), must be an integer between 0 and ${StepSizes.length - 1}`, { required: true })\n return StepSizes[validatedStep]\n}\n\n/** Fraction of block rewards allocated at each step level, expressed as [numerator, denominator] pairs */\nexport const StepRewardFractions = [\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [0n, 1n], // 0%\n [1n, 10_000n], // 0.01%\n [2n, 1000n], // 0.2%\n [3n, 100n], // 3%\n [45n, 100n], // 45%\n] as const\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { StepSizes } from '../Step/index.ts'\n\n/** Schema identifier for step witness payloads. */\nexport const StepWitnessSchema = asSchema('network.xyo.chain.validation.step.witness', true)\n/** Schema type for step witness payloads. */\nexport type StepWitnessSchema = typeof StepWitnessSchema\n\n/**\n * Fields for a step witness \u2014 an observer's attestation of the step hash it observed in a\n * specific block's `step_hashes` array. The witness is anchored to the observation block via\n * `blockHash`/`blockNumber`, so anyone can later verify the claim against that block.\n */\nexport const StepWitnessFieldsZod = z.object({\n /** Hash of the block in which the step hash was observed */\n blockHash: HashZod,\n /** Block number of the block in which the step hash was observed */\n blockNumber: XL1BlockNumberZod,\n /** The observed step hash \u2014 the entry at the step level's index in the block's step_hashes */\n stepHash: HashZod,\n /** Block-interval size of the observed step level \u2014 must be one of StepSizes */\n stepSize: z.literal(StepSizes),\n /** Address of the observer */\n witness: XyoAddressZod,\n})\n\n/** Fields represented by the Step Witness contract. */\nexport type StepWitnessFields = z.infer<typeof StepWitnessFieldsZod>\n\n/** A step witness payload \u2014 records an observer's attestation of a completed step's hash as seen in a specific block. */\nexport type StepWitness = Payload<StepWitnessFields, StepWitnessSchema>\n\n/** Type guard that checks if a value is a valid StepWitness. */\nexport const isStepWitness = isPayloadOfZodType<StepWitness>(StepWitnessFieldsZod, StepWitnessSchema)\n\n/** Casts a value to StepWitness or returns undefined if invalid. */\nexport const asStepWitness = AsObjectFactory.create(isStepWitness)\n", "/** Protocol constant defining transaction gas costs. */\nexport const TransactionGasCosts = {\n /**\n * The cost of storing each character that is added to the chain\n * This includes the transaction JSON and all the elevated payloads' JSON\n */\n characterStorage: 10n,\n\n /** The cost of static validating every payload that will be included in the chain */\n payloadValidation: 1000n,\n\n /** The cost of validating each signature that will be included in the chain */\n signatureValidation: 1000n,\n\n /** The cost of validating each hash that will be included in the chain */\n hashValidation: 100n,\n\n /** The cost of validating a balance state, triggered by a Transfer payload or gas collection */\n balanceValidation: 100n,\n} as const\n\n/** Gas Calculation\n *\n * 1 Million microXL1 (mXL1) = 1 XL1\n *\n * Gas amount is calculated as follows:\n *\n * 1. Each byte in the transaction cost 10 gas\n * 2. Each payload validation in the transaction costs 1000 gas\n * 3. Each signature verification in the transaction costs 1000 gas\n * 4. Each hash validation in the transaction costs 100 gas\n * 5. Each balance validation in the transaction costs 100 gas\n * 6. Processing/Compute/Storage Cost?\n * 7. operation Costs?\n *\n * The total gas cost is calculated by multiplying the gas amount by the gas price.\n *\n * minGasPrice is initially set to 100 mXL1\n * minBase is initially set to 1000 mXL1\n * minPriority is always 0 mXL1, but can be set to increase the priority of the transaction\n *\n */\n", "import {\n AsObjectFactory, HexZod, JsonObjectZod, zodIsFactory,\n} from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\n/** Schema identifier for XYO transfer payloads */\nexport const TransferSchema = asSchema('network.xyo.transfer', true)\n/** The literal type of the transfer schema string */\nexport type TransferSchema = typeof TransferSchema\n\n/** Zod schema for the fields specific to a transfer payload */\nexport const TransferFieldsZod = z.object({\n // Removed as only transaction have opCodes\n // $opCodes: z.array(z.string()).optional(),\n context: z.optional(JsonObjectZod),\n epoch: z.number(),\n from: XyoAddressZod,\n transfers: z.record(XyoAddressZod, HexZod),\n})\n\n/** Zod schema for a complete transfer payload including schema and fields */\nexport const TransferZod = z.extend(PayloadZodOfSchema(TransferSchema), TransferFieldsZod.shape)\n\n/** A transfer payload representing the movement of XL1 tokens between addresses */\nexport type Transfer = z.infer<typeof TransferZod>\n\n/**\n * Type guard that checks if a value is a Transfer payload.\n *\n * @deprecated Checks only the schema string \u2014 a matching payload may still be missing `from`,\n * `epoch`, or `transfers`. Use `isTransferPayload` to validate the full shape before\n * dereferencing Transfer fields.\n */\nexport const isTransfer = isPayloadOfSchemaType<Transfer>(TransferSchema)\n\n/** Type guard that validates the full Transfer payload shape (schema and all fields). */\nexport const isTransferPayload = zodIsFactory(TransferZod)\n\n/** Casts a value to Transfer or returns undefined if invalid */\n\nexport const asTransfer = AsObjectFactory.create(isTransfer)\n\n/** Casts a value to a fully-validated Transfer or returns undefined if invalid */\nexport const asTransferPayload = AsObjectFactory.create(isTransferPayload)\n", "import {\n HashZod,\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n BoundWitnessZod,\n WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainZod } from '../chain/index.ts'\n\n/** Zod schema for validating Block Bound Witness Fields values. */\nexport const BlockBoundWitnessFieldsZod = z.object({\n block: XL1BlockNumberZod,\n chain: ChainZod,\n previous: z.nullable(HashZod),\n protocol: z.optional(z.number()),\n step_hashes: z.optional(z.array(HashZod)),\n /**\n * Signed hash of the same-height candidate this block replaces.\n *\n * Sits in the signed fields rather than the metadata deliberately: it is what separates an\n * honest re-proposal from double-signing, and a producer must not be able to add or drop it\n * after the fact.\n */\n supersedes: z.optional(HashZod),\n})\n\n/** Zod schema for validating Block Bound Witness Meta values. */\nexport const BlockBoundWitnessMetaZod = z.object({ $epoch: z.number() })\n\n/** Zod schema for validating Block Bound Witness values. */\nexport const BlockBoundWitnessZod = z.object({\n ...BoundWitnessZod.shape,\n ...BlockBoundWitnessFieldsZod.shape,\n ...BlockBoundWitnessMetaZod.shape,\n})\n\n/** Validated data representation for Block Bound Witness. */\nexport type BlockBoundWitness = z.infer<typeof BlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitness. */\nexport const isBlockBoundWitness = zodIsFactory(BlockBoundWitnessZod)\n/** Converts a value to BlockBoundWitness, throwing if invalid. */\nexport const asBlockBoundWitness = zodAsFactory(BlockBoundWitnessZod, 'asBlockBoundWitness')\n/** Safe conversion helper that returns Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitness = zodToFactory(BlockBoundWitnessZod, 'toBlockBoundWitness')\n\n/** @deprecated use WithHashMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithHashMetaZod = WithHashMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithHashMeta(BlockBoundWitness) instead */\n\n/** Block Bound Witness value augmented with computed hash metadata. */\n\nexport type BlockBoundWitnessWithHashMeta = z.infer<typeof BlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithHashMeta. */\nexport const isBlockBoundWitnessWithHashMeta = zodIsFactory(WithHashMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithHashMeta = zodAsFactory(WithHashMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithHashMeta')\n/** Safe conversion helper that returns Block Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitnessWithHashMeta = zodToFactory(WithHashMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithHashMeta')\n\n/** @deprecated use WithStorageMetaZod(BlockBoundWitnessZod) instead */\nexport const BlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(BlockBoundWitnessZod)\n\n/** @deprecated use WithStorageMeta(BlockBoundWitness) instead */\n\n/** Block Bound Witness value augmented with persisted storage metadata. */\n\nexport type BlockBoundWitnessWithStorageMeta = z.infer<typeof BlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid BlockBoundWitnessWithStorageMeta. */\nexport const isBlockBoundWitnessWithStorageMeta = zodIsFactory(WithStorageMetaZod(BlockBoundWitnessZod))\n/** Converts a value to BlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asBlockBoundWitnessWithStorageMeta = zodAsFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'asBlockBoundWitnessWithStorageMeta')\n/** Safe conversion helper that returns Block Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toBlockBoundWitnessWithStorageMeta = zodToFactory(WithStorageMetaZod(BlockBoundWitnessZod), 'toBlockBoundWitnessWithStorageMeta')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod, WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessZod } from './BlockBoundWitness.ts'\nimport { SignedBlockBoundWitnessZod } from './signed/index.ts'\n\n/** Zod schema for validating Hydrated Block values. */\nexport const HydratedBlockZod = z.tuple([\n BlockBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Block with resolved payloads. */\nexport type HydratedBlock = z.infer<typeof HydratedBlockZod>\n\n/** Type guard that checks if a value is a valid HydratedBlock. */\nexport const isHydratedBlock = zodIsFactory(HydratedBlockZod)\n/** Converts a value to HydratedBlock, throwing if invalid. */\nexport const asHydratedBlock = zodAsFactory(HydratedBlockZod, 'asHydratedBlock')\n/** Safe conversion helper that returns Hydrated Block when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlock = zodToFactory(HydratedBlockZod, 'toHydratedBlock')\n\n/** Zod schema for validating Hydrated Block With Hash Meta values. */\nexport const HydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated BlockWithHashMeta with resolved payloads. */\nexport type HydratedBlockWithHashMeta = z.infer<typeof HydratedBlockWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithHashMeta. */\nexport const isHydratedBlockWithHashMeta = zodIsFactory(HydratedBlockWithHashMetaZod)\n/** Converts a value to HydratedBlockWithHashMeta, throwing if invalid. */\nexport const asHydratedBlockWithHashMeta = zodAsFactory(HydratedBlockWithHashMetaZod, 'asHydratedBlockWithHashMeta')\n/** Safe conversion helper that returns Hydrated Block With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlockWithHashMeta = zodToFactory(HydratedBlockWithHashMetaZod, 'toHydratedBlockWithHashMeta')\n\n/** Zod schema for validating Hydrated Block With Storage Meta values. */\nexport const HydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(BlockBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated BlockWithStorageMeta with resolved payloads. */\nexport type HydratedBlockWithStorageMeta = z.infer<typeof HydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedBlockWithStorageMeta. */\nexport const isHydratedBlockWithStorageMeta = zodIsFactory(HydratedBlockWithStorageMetaZod)\n/** Converts a value to HydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asHydratedBlockWithStorageMeta = zodAsFactory(HydratedBlockWithStorageMetaZod, 'asHydratedBlockWithStorageMeta')\n/** Safe conversion helper that returns Hydrated Block With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedBlockWithStorageMeta = zodToFactory(HydratedBlockWithStorageMetaZod, 'toHydratedBlockWithStorageMeta')\n\n/** Zod schema for validating Signed Hydrated Block values. */\nexport const SignedHydratedBlockZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(z.looseObject(PayloadZod.shape)),\n])\n\n/** Type representing a hydrated SignedBlock with resolved payloads. */\nexport type SignedHydratedBlock = z.infer<typeof SignedHydratedBlockZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlock. */\nexport const isSignedHydratedBlock = zodIsFactory(SignedHydratedBlockZod)\n/** Converts a value to SignedHydratedBlock, throwing if invalid. */\nexport const asSignedHydratedBlock = zodAsFactory(SignedHydratedBlockZod, 'asSignedHydratedBlock')\n/** Safe conversion helper that returns Signed Hydrated Block when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlock = zodToFactory(SignedHydratedBlockZod, 'toSignedHydratedBlock')\n\n/** Zod transform that serializes Signed Hydrated Block values to JSON-safe data. */\nexport const SignedHydratedBlockToJsonZod = z.tuple([\n SignedBlockBoundWitnessZod,\n z.array(z.looseObject(PayloadZod.shape)),\n])\n\n/** Type representing a hydrated SignedBlockToJson with resolved payloads. */\nexport type SignedHydratedBlockToJson = z.infer<typeof SignedHydratedBlockToJsonZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockToJson. */\nexport const isSignedHydratedBlockToJson = zodIsFactory(SignedHydratedBlockToJsonZod)\n/** Converts a value to SignedHydratedBlockToJson, throwing if invalid. */\nexport const asSignedHydratedBlockToJson = zodAsFactory(SignedHydratedBlockToJsonZod, 'asSignedHydratedBlockToJson')\n/** Safe conversion helper that returns Signed Hydrated Block To Json when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockToJson = zodToFactory(SignedHydratedBlockToJsonZod, 'toSignedHydratedBlockToJson')\n\n/** Zod schema for validating Signed Hydrated Block With Hash Meta values. */\nexport const SignedHydratedBlockWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedBlockBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedBlockWithHashMeta with resolved payloads. */\nexport type SignedHydratedBlockWithHashMeta = z.infer<typeof SignedHydratedBlockWithHashMetaZod>\n\n/** Zod schema for validating Signed Hydrated Block With Hash Metaish values. */\nexport const SignedHydratedBlockWithHashMetaishZod = z.tuple([\n z.union([WithHashMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithHashMeta. */\nexport const isSignedHydratedBlockWithHashMeta = zodIsFactory(SignedHydratedBlockWithHashMetaZod)\n/** Converts a value to SignedHydratedBlockWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithHashMeta = zodAsFactory(SignedHydratedBlockWithHashMetaZod, 'asSignedHydratedBlockWithHashMeta')\n\n/** Safe conversion helper that returns Signed Hydrated Block With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockWithHashMeta = zodToFactory(SignedHydratedBlockWithHashMetaZod, 'toSignedHydratedBlockWithHashMeta')\n\n/** Zod schema for validating Signed Hydrated Block With Storage Meta values. */\nexport const SignedHydratedBlockWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedBlockBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n/** Type representing a hydrated SignedBlockWithStorageMeta with resolved payloads. */\nexport type SignedHydratedBlockWithStorageMeta = z.infer<typeof SignedHydratedBlockWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedBlockWithStorageMeta. */\nexport const isSignedHydratedBlockWithStorageMeta = zodIsFactory(SignedHydratedBlockWithStorageMetaZod)\n/** Converts a value to SignedHydratedBlockWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedBlockWithStorageMeta = zodAsFactory(SignedHydratedBlockWithStorageMetaZod, 'asSignedHydratedBlockWithStorageMeta')\n/** Safe conversion helper that returns Signed Hydrated Block With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedBlockWithStorageMeta = zodToFactory(SignedHydratedBlockWithStorageMetaZod, 'toSignedHydratedBlockWithStorageMeta')\n\n/** Zod schema for validating Signed Hydrated Block With Storage Metaish values. */\nexport const SignedHydratedBlockWithStorageMetaishZod = z.tuple([\n z.union([WithStorageMetaZod(SignedBlockBoundWitnessZod)]),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { SignedBoundWitnessZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness values. */\nexport const SignedBlockBoundWitnessZod = z.safeExtend(\n z.safeExtend(SignedBoundWitnessZod, BlockBoundWitnessFieldsZod.shape),\n BlockBoundWitnessMetaZod.shape,\n)\n\n/** Validated data representation for Signed Block Bound Witness. */\nexport type SignedBlockBoundWitness = z.infer<typeof SignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitness. */\nexport const isSignedBlockBoundWitness = zodIsFactory(SignedBlockBoundWitnessZod)\n/** Converts a value to SignedBlockBoundWitness, throwing if invalid. */\nexport const asSignedBlockBoundWitness = zodAsFactory(SignedBlockBoundWitnessZod, 'asSignedBlockBoundWitness')\n/** Safe conversion helper that returns Signed Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitness = zodToFactory(SignedBlockBoundWitnessZod, 'toSignedBlockBoundWitness')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadBuilder, WithHashMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness With Hash Meta values. */\nexport const SignedBlockBoundWitnessWithHashMetaZod = WithHashMetaZod(SignedBlockBoundWitnessZod)\n\n/** Signed Block Bound Witness value augmented with computed hash metadata. */\nexport type SignedBlockBoundWitnessWithHashMeta = z.infer<typeof SignedBlockBoundWitnessWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithHashMeta. */\nexport const isSignedBlockBoundWitnessWithHashMeta = zodIsFactory(SignedBlockBoundWitnessWithHashMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithHashMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithHashMeta = zodAsFactory(SignedBlockBoundWitnessWithHashMetaZod, 'asSignedBlockBoundWitnessWithHashMeta')\n\n/** Zod schema for validating Signed Block Bound Witness With Hash Metaish values. */\nexport const SignedBlockBoundWitnessWithHashMetaishZod = z.pipe(\n SignedBlockBoundWitnessZod,\n z.transform(async (data: z.infer<typeof SignedBlockBoundWitnessZod>) => {\n if (isSignedBlockBoundWitnessWithHashMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addHashMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithHashMetaish format')\n }),\n)\n\n/** Hash-meta-compatible input accepted when validating Signed Block Bound Witn values. */\nexport type SignedBlockBoundWitnessWithHashMetaish = z.input<typeof SignedBlockBoundWitnessWithHashMetaishZod>\n\n/** Safe conversion helper that returns Signed Block Bound Witness With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitnessWithHashMeta = zodToFactory(SignedBlockBoundWitnessWithHashMetaZod, 'toSignedBlockBoundWitnessWithHashMeta')\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { PayloadBuilder, WithStorageMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { isSignedBlockBoundWitness, SignedBlockBoundWitnessZod } from './SignedBlockBoundWitness.ts'\n\n/** Zod schema for validating Signed Block Bound Witness With Storage Meta values. */\nexport const SignedBlockBoundWitnessWithStorageMetaZod = WithStorageMetaZod(SignedBlockBoundWitnessZod)\n\n/** Signed Block Bound Witness value augmented with persisted storage metadata. */\nexport type SignedBlockBoundWitnessWithStorageMeta = z.infer<typeof SignedBlockBoundWitnessWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedBlockBoundWitnessWithStorageMeta. */\nexport const isSignedBlockBoundWitnessWithStorageMeta = zodIsFactory(SignedBlockBoundWitnessWithStorageMetaZod)\n/** Converts a value to SignedBlockBoundWitnessWithStorageMeta, throwing if invalid. */\nexport const asSignedBlockBoundWitnessWithStorageMeta = zodAsFactory(\n SignedBlockBoundWitnessWithStorageMetaZod,\n 'asSignedBlockBoundWitnessWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Block Bound Witness With Storage Metaish values. */\nexport const SignedBlockBoundWitnessWithStorageMetaishZod = z.pipe(\n SignedBlockBoundWitnessZod,\n z.transform(async (data: z.infer<typeof SignedBlockBoundWitnessZod>) => {\n if (isSignedBlockBoundWitnessWithStorageMeta(data)) {\n return data\n }\n if (isSignedBlockBoundWitness(data)) {\n return await PayloadBuilder.addStorageMeta(data)\n }\n throw new Error('Invalid SignedBlockBoundWitnessWithStorageMetaish format')\n }),\n)\n\n/** Storage-meta-compatible input accepted when validating Signed Block Bound Witn values. */\nexport type SignedBlockBoundWitnessWithStorageMetaish = z.input<typeof SignedBlockBoundWitnessWithStorageMetaishZod>\n\n/** Safe conversion helper that returns Signed Block Bound Witness With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedBlockBoundWitnessWithStorageMeta = zodToFactory(\n SignedBlockBoundWitnessWithStorageMetaishZod,\n 'toSignedBlockBoundWitnessWithStorageMeta',\n)\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { UnsignedBoundWitnessZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessFieldsZod, BlockBoundWitnessMetaZod } from '../BlockBoundWitness.ts'\n\n/** Zod schema for validating Unsigned Block Bound Witness values. */\nexport const UnsignedBlockBoundWitnessZod = z.safeExtend(\n z.safeExtend(UnsignedBoundWitnessZod, BlockBoundWitnessFieldsZod.shape),\n BlockBoundWitnessMetaZod.shape,\n)\n\n/** Validated data representation for Unsigned Block Bound Witness. */\nexport type UnsignedBlockBoundWitness = z.infer<typeof UnsignedBlockBoundWitnessZod>\n\n/** Type guard that checks if a value is a valid UnsignedBlockBoundWitness. */\nexport const isUnsignedBlockBoundWitness = zodIsFactory(UnsignedBlockBoundWitnessZod)\n/** Converts a value to UnsignedBlockBoundWitness, throwing if invalid. */\nexport const asUnsignedBlockBoundWitness = zodAsFactory(UnsignedBlockBoundWitnessZod, 'asUnsignedBlockBoundWitness')\n/** Safe conversion helper that returns Unsigned Block Bound Witness when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedBlockBoundWitness = zodToFactory(UnsignedBlockBoundWitnessZod, 'toUnsignedBlockBoundWitness')\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainIdZod } from '../chain/index.ts'\n\n/** Schema identifier for candidate pair payloads. */\nexport const CandidatePairSchema = asSchema('network.xyo.chain.evidence.candidate.pair', true)\n/** Schema type for candidate pair payloads. */\nexport type CandidatePairSchema = typeof CandidatePairSchema\n\n/**\n * Fields for a candidate pair record \u2014 two distinct signed candidates by the same producer at\n * the same height.\n *\n * A pair is *not* an equivocation on its own: a producer that re-proposes on its own unadopted\n * candidate is doing normal work. Pairs become equivocation evidence only once the supersedes\n * field ships and a pair is found with no supersession chain linking it.\n *\n * `subjects` MUST be sorted ascending by the writer. Canonical JSON preserves array order, so\n * sorting is what makes the record's identity symmetric \u2014 and therefore idempotent \u2014 regardless\n * of which candidate was observed first.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const CandidatePairFieldsZod = z.object({\n /** Chain both candidates were proposed on */\n chain: ChainIdZod,\n /** Block number both candidates claim */\n height: XL1BlockNumberZod,\n /** Address that signed both candidates */\n producer: XyoAddressZod,\n /** The two candidates' recomputed bound witness data hashes, sorted ascending */\n subjects: z.tuple([HashZod, HashZod]),\n})\n\n/** Fields represented by the candidate pair contract. */\nexport type CandidatePairFields = z.infer<typeof CandidatePairFieldsZod>\n\n/** A candidate pair payload \u2014 records two distinct same-height candidates from one producer. */\nexport type CandidatePair = Payload<CandidatePairFields, CandidatePairSchema>\n\n/** Type guard that checks if a value is a valid CandidatePair. */\nexport const isCandidatePair = isPayloadOfZodType<CandidatePair>(CandidatePairFieldsZod, CandidatePairSchema)\n\n/** Casts a value to CandidatePair or returns undefined if invalid. */\nexport const asCandidatePair = AsObjectFactory.create(isCandidatePair)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { ChainIdZod } from '../chain/index.ts'\n\n/** Schema identifier for candidate seen payloads. */\nexport const CandidateSeenSchema = asSchema('network.xyo.chain.evidence.candidate', true)\n/** Schema type for candidate seen payloads. */\nexport type CandidateSeenSchema = typeof CandidateSeenSchema\n\n/**\n * Fields for a candidate seen record \u2014 one entry in the (producer, height, data hash) index.\n *\n * Every field is canonical, so the payload's own data hash is deterministic and re-inserting\n * the same observation is idempotent at the archivist. That property is what makes these\n * records the index: dedupe comes free from payload identity rather than a secondary store.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const CandidateSeenFieldsZod = z.object({\n /** Chain the candidate was proposed on */\n chain: ChainIdZod,\n /** Block number the candidate claims */\n height: XL1BlockNumberZod,\n /** Parent hash the candidate builds on \u2014 absent only for a genesis candidate */\n previous: z.optional(HashZod),\n /** Address that signed the candidate */\n producer: XyoAddressZod,\n /** Recomputed data hash of the candidate's bound witness */\n subject: HashZod,\n})\n\n/** Fields represented by the candidate seen contract. */\nexport type CandidateSeenFields = z.infer<typeof CandidateSeenFieldsZod>\n\n/** A candidate seen payload \u2014 records that a specific signed candidate was observed. */\nexport type CandidateSeen = Payload<CandidateSeenFields, CandidateSeenSchema>\n\n/** Type guard that checks if a value is a valid CandidateSeen. */\nexport const isCandidateSeen = isPayloadOfZodType<CandidateSeen>(CandidateSeenFieldsZod, CandidateSeenSchema)\n\n/** Casts a value to CandidateSeen or returns undefined if invalid. */\nexport const asCandidateSeen = AsObjectFactory.create(isCandidateSeen)\n", "import { z } from 'zod/mini'\n\n/**\n * Reasons a candidate block can leave the pending pool and enter the evidence store.\n *\n * The union ships complete so the stored records never migrate: `expired` and `superseded`\n * are reserved for the anchor-gate and supersedes-field workstreams and are not produced\n * by any classifier yet.\n */\nexport const EvidenceDispositions = [\n 'expired',\n 'finalized',\n 'foreign',\n 'invalid',\n 'losing',\n 'malformed',\n 'superseded',\n] as const\n\n/** Reason a candidate block was archived as evidence. */\nexport type EvidenceDisposition = typeof EvidenceDispositions[number]\n\n/** Zod schema for an evidence disposition. */\nexport const EvidenceDispositionZod = z.literal(EvidenceDispositions)\n", "import { AsObjectFactory, HashZod } from '@ariestools/sdk'\nimport type { Payload } from '@xyo-network/sdk'\nimport {\n asSchema, isPayloadOfZodType, XyoAddressZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\nimport { EvidenceDispositionZod } from './EvidenceDisposition.ts'\n\n/** Schema identifier for evidence note payloads. */\nexport const EvidenceNoteSchema = asSchema('network.xyo.chain.evidence.note', true)\n/** Schema type for evidence note payloads. */\nexport type EvidenceNoteSchema = typeof EvidenceNoteSchema\n\n/**\n * Fields for an evidence note \u2014 the sibling record written alongside an archived candidate\n * bundle. The bundle itself is stored verbatim so artifact identity (the contained bound\n * witness's recomputed data hash) survives archiving; the note carries everything the\n * retention sweep and the detection feeds need without re-parsing the bundle.\n *\n * This is a local, storage-side payload: it is never block-admissible.\n */\nexport const EvidenceNoteFieldsZod = z.object({\n /** Hash of the stored bundle payload this note describes */\n bundle: HashZod,\n /** Why the candidate left the pending pool */\n disposition: EvidenceDispositionZod,\n /** Block number of the archived candidate \u2014 absent when the bundle was malformed */\n height: z.optional(XL1BlockNumberZod),\n /** Finalized head height when the entry was archived \u2014 the retention clock for entries with no height */\n observed: XL1BlockNumberZod,\n /** Producer of the archived candidate \u2014 absent when the bundle was malformed */\n producer: z.optional(XyoAddressZod),\n /** Recomputed data hash of the archived block's bound witness \u2014 the artifact identity evidence references use */\n subject: HashZod,\n})\n\n/** Fields represented by the evidence note contract. */\nexport type EvidenceNoteFields = z.infer<typeof EvidenceNoteFieldsZod>\n\n/** An evidence note payload \u2014 describes one archived candidate in the evidence store. */\nexport type EvidenceNote = Payload<EvidenceNoteFields, EvidenceNoteSchema>\n\n/** Type guard that checks if a value is a valid EvidenceNote. */\nexport const isEvidenceNote = isPayloadOfZodType<EvidenceNote>(EvidenceNoteFieldsZod, EvidenceNoteSchema)\n\n/** Casts a value to EvidenceNote or returns undefined if invalid. */\nexport const asEvidenceNote = AsObjectFactory.create(isEvidenceNote)\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport type { Payload, WithSources } from '@xyo-network/sdk'\nimport {\n asSchema,\n isPayloadOfSchemaType,\n isPayloadOfSchemaTypeWithSources,\n} from '@xyo-network/sdk'\n\nimport type { XL1BlockNumber } from '../BlockNumber/index.ts'\n\n/** Schema identifier for BlockNumber payloads. */\nexport const BlockNumberSchema = asSchema('network.xyo.chain.block.number', true)\n/** Schema type for BlockNumber payloads. */\nexport type BlockNumberSchema = typeof BlockNumberSchema\n\n/** Structured contract for Block Number Fields values. */\nexport interface BlockNumberFields {\n /**\n * The block number\n */\n block: XL1BlockNumber\n}\n/**\n * The number of a block\n */\nexport type BlockNumberPayload = Payload<BlockNumberFields, BlockNumberSchema>\n\n/**\n * Identity function for determining if an object is a BlockNumber\n */\nexport const isBlockNumberPayload = isPayloadOfSchemaType<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayload, throwing if invalid. */\nexport const asBlockNumberPayload = AsObjectFactory.create<BlockNumberPayload>(isBlockNumberPayload)\n\n/**\n * Identity function for determining if an object is a BlockNumber with sources\n */\nexport const isBlockNumberPayloadWithSources = isPayloadOfSchemaTypeWithSources<BlockNumberPayload>(BlockNumberSchema)\n/** Converts a value to BlockNumberPayloadWithSources, throwing if invalid. */\nexport const asBlockNumberPayloadWithSources = AsObjectFactory.create<WithSources<BlockNumberPayload>>(isBlockNumberPayloadWithSources)\n", "import { type Promisable } from '@ariestools/sdk'\nimport { zodIsFactory } from '@ariestools/sdk'\nimport type { XyoAddress } from '@xyo-network/sdk'\nimport { WithHashMetaZod } from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { BlockBoundWitnessZod } from '../block/index.ts'\nimport type { Provider } from '../provider/index.ts'\nimport { TransactionBoundWitnessZod } from '../transaction/index.ts'\nimport { TransferZod } from '../TransferPayload.ts'\nimport type { AttoXL1 } from '../xl1/index.ts'\nimport type { ChainQualified } from './ChainQualification.ts'\nimport { ChainQualifiedConfigZod } from './ChainQualification.ts'\n\n/** Zod schema for validating Account Balance History Item values. */\nexport const AccountBalanceHistoryItemZod = z.tuple([\n WithHashMetaZod(BlockBoundWitnessZod),\n z.nullable(WithHashMetaZod(TransactionBoundWitnessZod)),\n WithHashMetaZod(TransferZod),\n])\n\n/** Validated data representation for Account Balance History Item. */\nexport type AccountBalanceHistoryItem = z.infer<typeof AccountBalanceHistoryItemZod>\n\n/** Zod schema for validating Account Balance Config values. */\nexport const AccountBalanceConfigZod = ChainQualifiedConfigZod\n/** Validated data representation for Account Balance Config. */\nexport type AccountBalanceConfig = z.infer<typeof AccountBalanceConfigZod>\n/** Type guard that checks if a value is a valid AccountBalanceConfig. */\nexport const isAccountBalanceConfig = zodIsFactory(AccountBalanceConfigZod)\n\n/** Chain-qualified account-balance queries that require an explicit qualification configuration. */\nexport interface AccountBalanceViewerMethods {\n /** Returns transfer histories for each requested address together with the chain qualification used. */\n qualifiedAccountBalanceHistories(\n address: XyoAddress[],\n config: AccountBalanceConfig\n ): Promisable<ChainQualified<Record<XyoAddress, AccountBalanceHistoryItem[]>>>\n\n /** Returns balances for each requested address together with the chain qualification used. */\n qualifiedAccountBalances(address: XyoAddress[], config: AccountBalanceConfig): Promisable<ChainQualified<Record<XyoAddress, AttoXL1>>>\n}\n\n/** Viewer interface for reading AccountBalance data. */\nexport interface AccountBalanceViewer extends AccountBalanceViewerMethods, Provider<AccountBalanceViewerMoniker> {\n /** Returns the current attoXL1 balance for one address. */\n accountBalance(address: XyoAddress, config?: AccountBalanceConfig): Promisable<AttoXL1>\n\n /** Returns transfer histories keyed by each requested address. */\n accountBalanceHistories(address: XyoAddress[], config?: AccountBalanceConfig): Promisable<Record<XyoAddress, AccountBalanceHistoryItem[]>>\n\n /** Returns the transfer history for one address. */\n accountBalanceHistory(address: XyoAddress, config?: AccountBalanceConfig): Promisable<AccountBalanceHistoryItem[]>\n\n /** Returns current attoXL1 balances keyed by each requested address. */\n accountBalances(address: XyoAddress[], config?: AccountBalanceConfig): Promisable<Record<XyoAddress, AttoXL1>>\n}\n\n/** Moniker identifier for the AccountBalanceViewer provider. */\nexport const AccountBalanceViewerMoniker = 'AccountBalanceViewer' as const\n/** Type literal for the AccountBalanceViewer provider moniker. */\nexport type AccountBalanceViewerMoniker = typeof AccountBalanceViewerMoniker\n", "import { HashZod, zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Chain Qualification values. */\nexport const ChainQualificationZod = z.object({ head: HashZod, range: XL1BlockRangeZod })\n/** Validated data representation for Chain Qualification. */\nexport type ChainQualification = z.infer<typeof ChainQualificationZod>\n/** Type guard that checks if a value is a valid ChainQualification. */\nexport const isChainQualification = zodIsFactory(ChainQualificationZod)\n\n/** Zod schema for validating Chain Qualified Range Config values. */\nexport const ChainQualifiedRangeConfigZod = z.object({ range: XL1BlockRangeZod })\n/** Validated data representation for Chain Qualified Range Config. */\nexport type ChainQualifiedRangeConfig = z.infer<typeof ChainQualifiedRangeConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedRangeConfig. */\nexport const isChainQualifiedRangeConfig = zodIsFactory(ChainQualifiedRangeConfigZod)\n\n/** Zod schema for validating Chain Qualified Head Config values. */\nexport const ChainQualifiedHeadConfigZod = z.object({ head: HashZod })\n/** Validated data representation for Chain Qualified Head Config. */\nexport type ChainQualifiedHeadConfig = z.infer<typeof ChainQualifiedHeadConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedHeadConfig. */\nexport const isChainQualifiedHeadConfig = zodIsFactory(ChainQualifiedHeadConfigZod)\n\n/** Zod schema for validating Chain Qualified Config values. */\nexport const ChainQualifiedConfigZod = z.union([ChainQualifiedRangeConfigZod, ChainQualifiedHeadConfigZod, z.object({})])\n/** Validated data representation for Chain Qualified Config. */\nexport type ChainQualifiedConfig = z.infer<typeof ChainQualifiedConfigZod>\n/** Type guard that checks if a value is a valid ChainQualifiedConfig. */\nexport const isChainQualifiedConfig = zodIsFactory(ChainQualifiedConfigZod)\n\n/** Zod schema for validating Extend Chain Qualified Config values. */\nexport const ExtendChainQualifiedConfigZod = (<T>(zodType: z.ZodType<T>) => {\n return z.union([\n ChainQualifiedRangeConfigZod.extend(zodType),\n ChainQualifiedHeadConfigZod.extend(zodType),\n zodType,\n ])\n}) as <T>(zodType: z.ZodType<T>) => z.ZodType<T & ChainQualifiedConfig>\n\n/** Validated data representation for Chain Qualified. */\nexport type ChainQualified<T> = [T, ChainQualification]\n/** Zod schema for validating Chain Qualified values. */\nexport const ChainQualifiedZod = <T>(zodType: z.ZodType<T>) => {\n return z.tuple([zodType, ChainQualificationZod])\n}\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asBlockNumber,\n type BlockNumber, BlockNumberishZod, BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for Block Range. */\nexport type BlockRange = [BlockNumber, BlockNumber]\n\n/** Zod schema for validating Block Range values. */\nexport const BlockRangeZod = z.tuple([BlockNumberZod, BlockNumberZod])\n/** Zod schema for validating Block Rangeish values. */\nexport const BlockRangeishZod = z.tuple([BlockNumberishZod, BlockNumberishZod])\n\n/** Validated data representation for Block Rangeish. */\nexport type BlockRangeish = z.input<typeof BlockRangeishZod>\n\n/** Converts a value to BlockRange, throwing if invalid. */\nexport const asBlockRange = zodAsFactory<BlockRange>(BlockRangeZod, 'BlockRange')\n/** Safe conversion helper that returns Block Range when validation succeeds and `undefined` otherwise. */\nexport const toBlockRange = zodToFactory<BlockRange>(BlockRangeishZod, 'BlockRange')\n\n/** Serialized lookup-key representation for Block Range values. */\nexport type BlockRangeKey = Brand<string, { readonly __blockRangeKey: true }>\n/** Safe conversion helper that returns Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toBlockNumberKey = (range: BlockRange) => `${range[0]}|${range[1]}` as BlockRangeKey\n\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey): BlockRange | undefined\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert: AssertConfig): BlockRange\n/** Creates a value from BlockNumberKey input. */\nexport function fromBlockNumberKey(key: BlockRangeKey, assert?: AssertConfig): BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid BlockRangeKey: ${key}`)\n}\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asEthBlockNumber,\n type EthBlockNumber, EthBlockNumberishZod, EthBlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for Eth Block Range. */\nexport type EthBlockRange = [EthBlockNumber, EthBlockNumber]\n\n/** Zod schema for validating Eth Block Range values. */\nexport const EthBlockRangeZod = z.tuple([EthBlockNumberZod, EthBlockNumberZod])\n/** Zod schema for validating Eth Block Rangeish values. */\nexport const EthBlockRangeishZod = z.tuple([EthBlockNumberishZod, EthBlockNumberishZod])\n\n/** Validated data representation for Eth Block Rangeish. */\nexport type EthBlockRangeish = z.input<typeof EthBlockRangeishZod>\n\n/** Converts a value to EthBlockRange, throwing if invalid. */\nexport const asEthBlockRange = zodAsFactory<EthBlockRange>(EthBlockRangeZod, 'EthBlockRange')\n/** Safe conversion helper that returns Eth Block Range when validation succeeds and `undefined` otherwise. */\nexport const toEthBlockRange = zodToFactory<EthBlockRange>(EthBlockRangeishZod, 'EthBlockRange')\n\n/** Serialized lookup-key representation for Eth Block Range values. */\nexport type EthBlockRangeKey = Brand<string, { readonly __ethBlockRangeKey: true }>\n/** Safe conversion helper that returns Eth Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toEthBlockNumberKey = (range: EthBlockRange) => `${range[0]}|${range[1]}` as EthBlockRangeKey\n\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey): EthBlockRange | undefined\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert: AssertConfig): EthBlockRange\n/** Creates a value from EthBlockNumberKey input. */\nexport function fromEthBlockNumberKey(key: EthBlockRangeKey, assert?: AssertConfig): EthBlockRange | undefined {\n const [start, end] = key.split('|').map(v => asEthBlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid EthBlockRangeKey: ${key}`)\n}\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for validating Range values. */\nexport const RangeZod = z.tuple([z.number(), z.number()])\n\n/** Validated data representation for Range. */\nexport type Range = z.infer<typeof RangeZod>\n\n/** Type guard that checks if a value is a valid Range. */\nexport const isRange = zodIsFactory<Range>(RangeZod)\n/** Converts a value to Range, throwing if invalid. */\nexport const asRange = zodAsFactory<Range>(RangeZod, 'Range')\n/** Safe conversion helper that returns Range when validation succeeds and `undefined` otherwise. */\nexport const toRange = zodToFactory<Range>(RangeZod, 'Range')\n", "import type { AssertConfig, Brand } from '@ariestools/sdk'\nimport {\n assertError,\n isDefined, zodAsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport {\n asXL1BlockNumber,\n type XL1BlockNumber, XL1BlockNumberishZod, XL1BlockNumberZod,\n} from '../../BlockNumber/index.ts'\n\n/** Validated data representation for XL1 Block Range. */\nexport type XL1BlockRange = [XL1BlockNumber, XL1BlockNumber]\n\n/** Zod schema for validating XL1 Block Range values. */\nexport const XL1BlockRangeZod = z.tuple([XL1BlockNumberZod, XL1BlockNumberZod])\n/** Zod schema for validating XL1 Block Rangeish values. */\nexport const XL1BlockRangeishZod = z.tuple([XL1BlockNumberishZod, XL1BlockNumberishZod])\n\n/** Validated data representation for XL1 Block Rangeish. */\nexport type XL1BlockRangeish = z.input<typeof XL1BlockRangeishZod>\n\n/** Converts a value to XL1BlockRange, throwing if invalid. */\nexport const asXL1BlockRange = zodAsFactory<XL1BlockRange>(XL1BlockRangeZod, 'XL1BlockRange')\n/** Safe conversion helper that returns XL1 Block Range when validation succeeds and `undefined` otherwise. */\nexport const toXL1BlockRange = zodToFactory<XL1BlockRange>(XL1BlockRangeishZod, 'XL1BlockRange')\n\n/** Serialized lookup-key representation for XL1 Block Range values. */\nexport type XL1BlockRangeKey = Brand<string, { readonly __xl1BlockRangeKey: true }>\n/** Safe conversion helper that returns XL1 Block Number Key when validation succeeds and `undefined` otherwise. */\nexport const toXL1BlockNumberKey = (range: XL1BlockRange) => `${range[0]}|${range[1]}` as XL1BlockRangeKey\n\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey): XL1BlockRange | undefined\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert: AssertConfig): XL1BlockRange\n/** Creates a value from XL1BlockNumberKey input. */\nexport function fromXL1BlockNumberKey(key: XL1BlockRangeKey, assert?: AssertConfig): XL1BlockRange | undefined {\n const [start, end] = key.split('|').map(v => asXL1BlockNumber(Number(v)))\n const result = (isDefined(start) && isDefined(end)) ? [start, end] : undefined\n return assertError(result, assert, `Invalid XL1BlockRangeKey: ${key}`)\n}\n", "import type { Address, EthAddress } from '@ariestools/sdk'\n\n/**\n * The Zero Address is used as a marker address for various protocol operations.\n */\nexport const XYO_ZERO_ADDRESS = '0000000000000000000000000000000000000000' as const as Address\n\n/**\n * The Bridge Address is used as a marker address for bridge transactions.\n */\nexport const XYO_BRIDGE_ADDRESS = '3012193230121932301219323012193230121932' as const as Address\n\n/**\n * The Network Staking Address is used as a marker address for staking the network.\n */\nexport const XYO_NETWORK_STAKING_ADDRESS = '1969196919691969196919691969196919691969' as const as Address\n\n/**\n * The Step Reward Address is used as a marker address for step rewards.\n */\nexport const XYO_STEP_REWARD_ADDRESS = '1216197612161976121619761216197612161976' as const as Address\n\n/** Protocol constant defining xl1 eth main erc20 contract address. */\nexport const XL1_ETH_MAIN_ERC20_CONTRACT_ADDRESS = '0xf72aE3E0DA743033AbD7A407557D684c1aE66aed' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main sub governor address. */\nexport const XL1_ETH_MAIN_SUB_GOVERNOR_ADDRESS = '0xbA296Bc5D0949C0484f08c56c30FB95CC4675A29' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main rewards address. */\nexport const XL1_ETH_MAIN_REWARDS_ADDRESS = '0x1a546e091FB4EFb274DC584334a28b8754c4ece7' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main staked xyo chain address. */\nexport const XL1_ETH_MAIN_STAKED_XYO_CHAIN_ADDRESS = '0x319e667cED10452A117472811130444dED357F26' as const as EthAddress\n\n/** Protocol constant defining xl1 eth main governance address. */\nexport const XL1_ETH_MAIN_GOVERNANCE_ADDRESS = '0x7595710956d6B14b4f2F51a8dF41379eEeC9074E' as const as EthAddress\n", "import { z } from 'zod'\n\n/** Base64 encode that works in Node and browsers. */\nfunction base64Encode(u8: Uint8Array): string {\n return u8.toBase64()\n}\n\n/** Base64 decode that works in Node and browsers -> Uint8Array */\nfunction base64Decode(b64: string): Uint8Array {\n return Uint8Array.fromBase64(b64)\n}\n\n/** Zod transform that serializes Array Buffer values to JSON-safe data. */\nexport const ArrayBufferToJsonZod = z.instanceof(ArrayBuffer).transform((x) => {\n const u8 = new Uint8Array(x)\n return base64Encode(u8)\n})\n\n/** Zod transform that parses JSON data into Array Buffer values. */\nexport const JsonToArrayBufferZod = z.string().transform((x) => {\n const u8 = base64Decode(x)\n return u8.buffer\n})\n", "import { zodAsFactory, zodIsFactory } from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport type { EthBlockNumber, XL1BlockNumber } from '../BlockNumber/index.ts'\nimport { StepSizes } from '../Step/index.ts'\nimport { XL1BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Time Durations values. */\nexport const TimeDurationsZod = z.object({\n millis: z.number().nonnegative(),\n seconds: z.number().nonnegative(),\n minutes: z.number().nonnegative(),\n hours: z.number().nonnegative(),\n days: z.number().nonnegative(),\n weeks: z.number().nonnegative(),\n})\n\n/** Type guard that checks if a value is a valid TimeDurations. */\nexport const isTimeDurations = zodIsFactory(TimeDurationsZod)\n/** Converts a value to TimeDurations, throwing if invalid. */\nexport const asTimeDurations = zodAsFactory(TimeDurationsZod, 'asTimeDurations')\n/** Safe conversion helper that returns Time Durations when validation succeeds and `undefined` otherwise. */\nexport const toTimeDurations = zodAsFactory(TimeDurationsZod, 'toTimeDurations')\n\n/** Validated data representation for Time Durations. */\nexport type TimeDurations = z.infer<typeof TimeDurationsZod>\n\n/** Zod schema for validating Block Rate values. */\nexport const BlockRateZod = z.object({\n range: XL1BlockRangeZod.describe('the block range the rate was calculated over'),\n rate: z.number().nonnegative().describe('rate of blocks per specified time unit'),\n timeUnit: TimeDurationsZod.keyof().describe('the unit of time for the rate and timePerBlock'),\n span: z.int().nonnegative().describe('number of blocks the rate was calculated over'),\n timeDifference: z.number().nonnegative().describe('time difference from start and end block'),\n timePerBlock: z.number().nonnegative().describe('average time per block for the given range'),\n})\n\n/** Validated data representation for Block Rate. */\nexport type BlockRate = z.infer<typeof BlockRateZod>\n\n/** Validated data representation for Generic Block Rate. */\nexport type GenericBlockRate<TBlockNumber extends number> = Omit<BlockRate, 'range'> & {\n range: [TBlockNumber, TBlockNumber]\n}\n\n/** Structured contract for XL1 Block Rate values. */\nexport interface XL1BlockRate extends GenericBlockRate<XL1BlockNumber> {}\n/** Structured contract for Eth Block Rate values. */\nexport interface EthBlockRate extends GenericBlockRate<EthBlockNumber> {}\n\n/** Type guard that checks if a value is a valid BlockRate. */\nexport const isBlockRate = zodIsFactory(BlockRateZod)\n/** Converts a value to BlockRate, throwing if invalid. */\nexport const asBlockRate = zodAsFactory(BlockRateZod, 'asBlockRate')\n/** Safe conversion helper that returns Block Rate when validation succeeds and `undefined` otherwise. */\nexport const toBlockRate = zodAsFactory(BlockRateZod, 'toBlockRate')\n\n/** Zod schema for validating Count values. */\nexport const CountZod = z.int().nonnegative().describe('A non-negative integer count')\n/** Validated data representation for Count. */\nexport type Count = z.infer<typeof CountZod>\n\n/** Zod schema for validating Step Index values. */\nexport const StepIndexZod = z.int().min(0).max(StepSizes.length - 1).describe('A non-negative integer step index')\n/** Validated data representation for Step Index. */\nexport type StepIndex = z.infer<typeof StepIndexZod>\n\nconst timeUnitSchema = z.number().positive()\n\n/** Zod schema for validating Time Config values. */\nexport const TimeConfigZod = z.object({\n minutes: timeUnitSchema.optional(),\n hours: timeUnitSchema.optional(),\n days: timeUnitSchema.optional(),\n weeks: timeUnitSchema.optional(),\n months: timeUnitSchema.optional(),\n years: timeUnitSchema.optional(),\n}).describe('Time configuration with optional time units')\n\n/** Validated data representation for Time Config. */\nexport type TimeConfig = z.infer<typeof TimeConfigZod>\n\n/** Type guard that checks if a value is a valid TimeConfig. */\nexport const isTimeConfig = zodIsFactory(TimeConfigZod)\n/** Converts a value to TimeConfig, throwing if invalid. */\nexport const asTimeConfig = zodAsFactory(TimeConfigZod, 'asTimeConfig')\n/** Safe conversion helper that returns Time Config when validation succeeds and `undefined` otherwise. */\nexport const toTimeConfig = zodAsFactory(TimeConfigZod, 'toTimeConfig')\n\n/** Zod schema for validating Single Time Config values. */\nexport const SingleTimeConfigZod = z.union([\n z.object({ minutes: timeUnitSchema }),\n z.object({ hours: timeUnitSchema }),\n z.object({ days: timeUnitSchema }),\n z.object({ weeks: timeUnitSchema }),\n z.object({ months: timeUnitSchema }),\n z.object({ years: timeUnitSchema }),\n]).describe('Time configuration with exactly one time unit')\n\n/** Validated data representation for Single Time Config. */\nexport type SingleTimeConfig = z.infer<typeof SingleTimeConfigZod>\n\n/** Type guard that checks if a value is a valid SingleTimeConfig. */\nexport const isSingleTimeConfig = zodIsFactory(SingleTimeConfigZod)\n/** Converts a value to SingleTimeConfig, throwing if invalid. */\nexport const asSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'asSingleTimeConfig')\n/** Safe conversion helper that returns Single Time Config when validation succeeds and `undefined` otherwise. */\nexport const toSingleTimeConfig = zodAsFactory(SingleTimeConfigZod, 'toSingleTimeConfig')\n", "import type { Logger } from '@ariestools/sdk'\nimport type { MeterProvider, TracerProvider } from '@opentelemetry/api'\nimport { z } from 'zod'\n\nimport type { MapType } from '../../map/index.ts'\n\n/** Zod schema for validating Caches values. */\nexport const CachesZod = z.record(\n z.string(),\n z.custom<MapType<string, unknown>>(val => val != null && typeof val === 'object' && ('get' in val || 'set' in val)),\n)\n\n/** Zod schema for validating Singletons values. */\nexport const SingletonsZod = z.record(z.union([z.string(), z.symbol()]), z.unknown())\n\n/** Zod schema for validating Logger values. */\nexport const LoggerZod = z.custom<Logger>(val => val != null && typeof val === 'object' && 'info' in val && 'error' in val)\n\n/** Zod schema for validating Meter Provider values. */\nexport const MeterProviderZod = z.custom<MeterProvider>(val => val != null && typeof val === 'object' && 'getMeter' in val)\n\n/** Zod schema for validating Tracer Provider values. */\nexport const TracerProviderZod = z.custom<TracerProvider>(val => val != null && typeof val === 'object' && 'getTracer' in val)\n\n/** Zod schema for validating Time Budget Limit values. */\nexport const TimeBudgetLimitZod = z.number()\n\n/** Zod schema for validating Base Context values. */\nexport const BaseContextZod = z.object({\n caches: CachesZod.optional(),\n logger: LoggerZod.optional(),\n meterProvider: MeterProviderZod.optional(),\n singletons: SingletonsZod,\n timeBudgetLimit: TimeBudgetLimitZod.optional(),\n traceProvider: TracerProviderZod.optional(),\n})\n", "import type {\n Payload,\n ReadArchivist, WriteArchivist,\n} from '@xyo-network/sdk'\nimport z from 'zod'\n\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** Zod schema for validating Block Context Read values. */\nexport const BlockContextReadZod = CachingContextZod.extend(\n { chainMap: z.custom<ReadArchivist<Payload>>(val => val != null && typeof val === 'object' && ('get' in val)) },\n)\n\n/** Zod schema for validating Block Context Write values. */\nexport const BlockContextWriteZod = CachingContextZod.extend(\n { chainMap: z.custom<WriteArchivist<Payload>>(val => val != null && typeof val === 'object' && ('get' in val && 'insert' in val)) },\n)\n\n/** Zod schema for validating Block Context values. */\nexport const BlockContextZod = BlockContextWriteZod\n", "import { BaseContextZod, CachesZod } from './BaseContext.zod.ts'\n\n/** Zod schema for validating Caching Context values. */\nexport const CachingContextZod = BaseContextZod.extend({ caches: CachesZod })\n", "import { WithHashMetaZod } from '@xyo-network/sdk'\nimport z from 'zod'\n\nimport { BlockBoundWitnessZod } from '../../block/index.ts'\nimport { CachingContextZod } from './CachingContext.zod.ts'\n\n/** Zod schema for validating Head Context Base values. */\nexport const HeadContextBaseZod = z.object(\n { head: WithHashMetaZod(BlockBoundWitnessZod) },\n)\n\n/** Zod schema for validating Head Context values. */\nexport const HeadContextZod = CachingContextZod.safeExtend(HeadContextBaseZod.shape)\n", "import {\n BlockContextReadZod, BlockContextWriteZod, BlockContextZod,\n} from './BlockContext.zod.ts'\nimport { HeadContextBaseZod } from './HeadContext.zod.ts'\n\n/** Zod schema for validating Chain Context Read values. */\nexport const ChainContextReadZod = BlockContextReadZod.safeExtend(HeadContextBaseZod.shape)\n\n/** Zod schema for validating Chain Context Write values. */\nexport const ChainContextWriteZod = BlockContextWriteZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n\n/** Zod schema for validating Chain Context values. */\nexport const ChainContextZod = BlockContextZod.safeExtend(\n HeadContextBaseZod.shape,\n)\n", "// the percent of the block rewards the producer gets\n/** defaultRewardRatio value. */\nexport const defaultRewardRatio = 0.1 as const // 10% goes to block producer\n", "import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\n\n/** minTransactionFees value. */\nexport const minTransactionFees: TransactionFeesBigInt = {\n base: AttoXL1(1000n * AttoXL1ConvertFactor.nano),\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n priority: AttoXL1(0n * AttoXL1ConvertFactor.nano),\n} as const\n", "import type { TransactionFeesBigInt } from '../transaction/index.ts'\nimport { AttoXL1, AttoXL1ConvertFactor } from '../xl1/index.ts'\nimport { minTransactionFees } from './minTransactionFees.ts'\n\n/** defaultTransactionFees value. */\nexport const defaultTransactionFees: TransactionFeesBigInt = {\n base: minTransactionFees.base,\n gasPrice: AttoXL1(10n * AttoXL1ConvertFactor.nano),\n gasLimit: AttoXL1(1000n * AttoXL1ConvertFactor.nano),\n priority: minTransactionFees.priority,\n} as const\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport {\n PayloadZod,\n PayloadZodLoose, WithHashMetaZod,\n WithStorageMetaZod,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport {\n SignedTransactionBoundWitnessZod, TransactionBoundWitnessZod, UnsignedTransactionBoundWitnessZod,\n} from '../transaction/index.ts'\n\n/** Zod schema for validating Hydrated Transaction values. */\nexport const HydratedTransactionZod = z.tuple([\n TransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated Transaction with resolved payloads. */\nexport type HydratedTransaction = z.infer<typeof HydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid HydratedTransaction. */\nexport const isHydratedTransaction = zodIsFactory(HydratedTransactionZod)\n/** Converts a value to HydratedTransaction, throwing if invalid. */\nexport const asHydratedTransaction = zodAsFactory(HydratedTransactionZod, 'asHydratedTransaction')\n/** Safe conversion helper that returns Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransaction = zodToFactory(HydratedTransactionZod, 'toHydratedTransaction')\n\n/** Zod schema for validating Hydrated Transaction With Hash Meta values. */\nexport const HydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(TransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated TransactionWithHashMeta with resolved payloads. */\nexport type HydratedTransactionWithHashMeta = z.infer<typeof HydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithHashMeta. */\nexport const isHydratedTransactionWithHashMeta = zodIsFactory(HydratedTransactionWithHashMetaZod)\n/** Converts a value to HydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asHydratedTransactionWithHashMeta = zodAsFactory(HydratedTransactionWithHashMetaZod, 'asHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransactionWithHashMeta = zodToFactory(HydratedTransactionWithHashMetaZod, 'toHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Hydrated Transaction With Storage Meta values. */\nexport const HydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(TransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated TransactionWithStorageMeta with resolved payloads. */\nexport type HydratedTransactionWithStorageMeta = z.infer<typeof HydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid HydratedTransactionWithStorageMeta. */\nexport const isHydratedTransactionWithStorageMeta = zodIsFactory(HydratedTransactionWithStorageMetaZod)\n/** Converts a value to HydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asHydratedTransactionWithStorageMeta = zodAsFactory(HydratedTransactionWithStorageMetaZod, 'asHydratedTransactionWithStorageMeta')\n/** Safe conversion helper that returns Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toHydratedTransactionWithStorageMeta = zodToFactory(HydratedTransactionWithStorageMetaZod, 'toHydratedTransactionWithStorageMeta')\n\n/** Zod schema for validating Unsigned Hydrated Transaction values. */\nexport const UnsignedHydratedTransactionZod = z.tuple([\n UnsignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated UnsignedTransaction with resolved payloads. */\nexport type UnsignedHydratedTransaction = z.infer<typeof UnsignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransaction. */\nexport const isUnsignedHydratedTransaction = zodIsFactory(UnsignedHydratedTransactionZod)\n/** Converts a value to UnsignedHydratedTransaction, throwing if invalid. */\nexport const asUnsignedHydratedTransaction = zodAsFactory(UnsignedHydratedTransactionZod, 'asUnsignedHydratedTransaction')\n/** Safe conversion helper that returns Unsigned Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransaction = zodToFactory(UnsignedHydratedTransactionZod, 'toUnsignedHydratedTransaction')\n\n/** Zod schema for validating Unsigned Hydrated Transaction With Hash Meta values. */\nexport const UnsignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithHashMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithHashMeta = z.infer<typeof UnsignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithHashMeta. */\nexport const isUnsignedHydratedTransactionWithHashMeta = zodIsFactory(UnsignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithHashMeta = zodAsFactory(UnsignedHydratedTransactionWithHashMetaZod, 'asUnsignedHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Unsigned Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransactionWithHashMeta = zodToFactory(UnsignedHydratedTransactionWithHashMetaZod, 'toUnsignedHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Unsigned Hydrated Transaction With Storage Meta values. */\nexport const UnsignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(UnsignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated UnsignedTransactionWithStorageMeta with resolved payloads. */\nexport type UnsignedHydratedTransactionWithStorageMeta = z.infer<typeof UnsignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid UnsignedHydratedTransactionWithStorageMeta. */\nexport const isUnsignedHydratedTransactionWithStorageMeta = zodIsFactory(UnsignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to UnsignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asUnsignedHydratedTransactionWithStorageMeta = zodAsFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'asUnsignedHydratedTransactionWithStorageMeta',\n)\n/** Safe conversion helper that returns Unsigned Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toUnsignedHydratedTransactionWithStorageMeta = zodToFactory(\n UnsignedHydratedTransactionWithStorageMetaZod,\n 'toUnsignedHydratedTransactionWithStorageMeta',\n)\n\n/** Zod schema for validating Signed Hydrated Transaction values. */\nexport const SignedHydratedTransactionZod = z.tuple([\n SignedTransactionBoundWitnessZod,\n z.array(PayloadZodLoose),\n])\n\n/** Type representing a hydrated SignedTransaction with resolved payloads. */\nexport type SignedHydratedTransaction = z.infer<typeof SignedHydratedTransactionZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransaction. */\nexport const isSignedHydratedTransaction = zodIsFactory(SignedHydratedTransactionZod)\n/** Converts a value to SignedHydratedTransaction, throwing if invalid. */\nexport const asSignedHydratedTransaction = zodAsFactory(SignedHydratedTransactionZod, 'asSignedHydratedTransaction')\n/** Safe conversion helper that returns Signed Hydrated Transaction when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransaction = zodToFactory(SignedHydratedTransactionZod, 'toSignedHydratedTransaction')\n\n/** Zod schema for validating Signed Hydrated Transaction With Hash Meta values. */\nexport const SignedHydratedTransactionWithHashMetaZod = z.tuple([\n WithHashMetaZod(SignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithHashMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedTransactionWithHashMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithHashMeta = z.infer<typeof SignedHydratedTransactionWithHashMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithHashMeta. */\nexport const isSignedHydratedTransactionWithHashMeta = zodIsFactory(SignedHydratedTransactionWithHashMetaZod)\n/** Converts a value to SignedHydratedTransactionWithHashMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithHashMeta = zodAsFactory(SignedHydratedTransactionWithHashMetaZod, 'asSignedHydratedTransactionWithHashMeta')\n/** Safe conversion helper that returns Signed Hydrated Transaction With Hash Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransactionWithHashMeta = zodToFactory(SignedHydratedTransactionWithHashMetaZod, 'toSignedHydratedTransactionWithHashMeta')\n\n/** Zod schema for validating Signed Hydrated Transaction With Storage Meta values. */\nexport const SignedHydratedTransactionWithStorageMetaZod = z.tuple([\n WithStorageMetaZod(SignedTransactionBoundWitnessZod),\n z.array(z.looseObject(WithStorageMetaZod(PayloadZod).shape)),\n])\n\n/** Type representing a hydrated SignedTransactionWithStorageMeta with resolved payloads. */\nexport type SignedHydratedTransactionWithStorageMeta = z.infer<typeof SignedHydratedTransactionWithStorageMetaZod>\n\n/** Type guard that checks if a value is a valid SignedHydratedTransactionWithStorageMeta. */\nexport const isSignedHydratedTransactionWithStorageMeta = zodIsFactory(SignedHydratedTransactionWithStorageMetaZod)\n/** Converts a value to SignedHydratedTransactionWithStorageMeta, throwing if invalid. */\nexport const asSignedHydratedTransactionWithStorageMeta = zodAsFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'asSignedHydratedTransactionWithStorageMeta',\n)\n/** Safe conversion helper that returns Signed Hydrated Transaction With Storage Meta when validation succeeds and `undefined` otherwise. */\nexport const toSignedHydratedTransactionWithStorageMeta = zodToFactory(\n SignedHydratedTransactionWithStorageMetaZod,\n 'toSignedHydratedTransactionWithStorageMeta',\n)\n", "/** Protocol constant defining elevate opcode. */\nexport const ELEVATE_OPCODE = 'elevate'\n", "import { z } from 'zod'\n\n/** Zod schema for validating Caveat Types values. */\nexport const CaveatTypesZod = z.enum(['chain', 'dataLakeAccess', 'expiration', 'filteredResponse', 'rateLimit', 'restrictReturnedAccounts'])\n\n/** Caveat type identifiers \u2014 single source of truth, inferred from {@link CaveatTypesZod} so the runtime enum and the static type cannot drift. */\nexport type CaveatTypes = z.infer<typeof CaveatTypesZod>\n\n/** Zod schema for validating Caveats values. */\nexport const CaveatsZod = z.object({\n type: CaveatTypesZod,\n value: z.json(),\n})\n\n/** Zod schema for validating Permission values. */\nexport const PermissionZod = z.object({\n parentCapability: z.string(),\n caveats: CaveatsZod.array().optional(),\n invoker: z.string(),\n})\n\n/** Zod schema for validating Invoker Permission values. */\nexport const InvokerPermissionZod = PermissionZod.safeExtend({ date: z.number().optional() })\n\n/** Zod schema for validating Permission Request values. */\nexport const PermissionRequestZod = z.record(z.string(), z.record(z.string(), z.any()))\n\n/** Zod schema for validating Requested Permission values. */\nexport const RequestedPermissionZod = z.object({\n parentCapability: z.string(),\n date: z.number().optional(),\n})\n", "import { toFixedPoint } from '@ariestools/sdk'\n\nimport { asAttoXL1 } from '../xl1/index.ts'\n\n/** Protocol constant defining xl1 rewards places. */\nexport const XL1_REWARDS_PLACES = 18 as const\n/** Protocol constant defining xl1 rewards starting reward. */\nexport const XL1_REWARDS_STARTING_REWARD = asAttoXL1(toFixedPoint(500n, XL1_REWARDS_PLACES))\n/** Protocol constant defining xl1 rewards blocks per step. */\nexport const XL1_REWARDS_BLOCKS_PER_STEP = 1_000_000\n/** Protocol constant defining xl1 rewards step factor numerator. */\nexport const XL1_REWARDS_STEP_FACTOR_NUMERATOR = 95n\n/** Protocol constant defining xl1 rewards step factor denominator. */\nexport const XL1_REWARDS_STEP_FACTOR_DENOMINATOR = 100n\n/** Protocol constant defining xl1 rewards min block reward. */\nexport const XL1_REWARDS_MIN_BLOCK_REWARD = asAttoXL1(toFixedPoint(10n, XL1_REWARDS_PLACES))\n/** Protocol constant defining xl1 rewards creator reward. */\nexport const XL1_REWARDS_CREATOR_REWARD = asAttoXL1(toFixedPoint(20_000_000_000n, XL1_REWARDS_PLACES))\n", "import { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport { StepIdentityZod } from '../Step/index.ts'\nimport { BlockRangeZod } from './BlockRange/index.ts'\n\n/** Zod schema for validating Rewards Range Options values. */\nexport const RewardsRangeOptionsZod = z.object({\n positions: z.array(z.number()).optional(),\n range: BlockRangeZod.optional(),\n steps: z.array(StepIdentityZod).optional(),\n stakers: z.array(XyoAddressZod).optional(),\n})\n", "import type { OffenseCode } from './OffenseCode.ts'\nimport { OffenseCodes } from './OffenseCode.ts'\n\n/**\n * Rules whose activation is recorded in the register.\n *\n * Offense classes carry two heights rather than one. A class becomes *reportable* before it\n * becomes *adjudicable*, so reports can be recorded and measured for a while before anything\n * they say has consequences \u2014 which is the only way to learn what reporting looks like without\n * risking a wrong punishment.\n *\n * This list lives beside the offense codes rather than with the register, because in-block\n * validators have to name rules without depending on the register document's shape.\n */\nexport const RuleIds = [\n 'intent-binding',\n 'anchor-rules',\n 'single-signer',\n 'supersedes-field',\n 'slash-payloads',\n 'eligibility-admission',\n 'attestation-admission',\n 'certificate-execution',\n // reserved: named by the papers but not yet specified, so a register may record them early\n 'fork-choice-v2',\n 'bridge-value-ceiling',\n ...OffenseCodes.map(code => `${code}.reportable` as const),\n ...OffenseCodes.map(code => `${code}.adjudicable` as const),\n] as const\n\n/** A rule whose activation height the register records. */\nexport type RuleId = typeof RuleIds[number]\n\n/** The rule id gating whether reports naming an offense may be recorded. */\nexport function reportableRuleId(offense: OffenseCode): RuleId {\n return `${offense}.reportable`\n}\n\n/** The rule id gating whether reports naming an offense may be acted upon. */\nexport function adjudicableRuleId(offense: OffenseCode): RuleId {\n return `${offense}.adjudicable`\n}\n\n/**\n * Where a rule stands at a height.\n *\n * `grace` is the interval just after activation where a rule is observed but not enforced. It\n * exists because nodes upgrade at different moments: without it, a rule turning on would punish\n * operators whose only mistake was being mid-rollout.\n */\nexport type RuleActivationState = 'inactive' | 'grace' | 'active'\n\n/**\n * The minimum a caller must supply to resolve rule activation.\n *\n * Deliberately narrower than the register document: an in-block validator needs to know when\n * rules turn on, not what the chain charges for a deposit. A full register version satisfies this\n * structurally, so nothing has to convert between them.\n */\nexport interface RuleActivationParams {\n /** Rule id to the height it takes effect. */\n activations: Partial<Record<RuleId, number>>\n /** Rule id to the height it stops taking effect. */\n deactivations?: Partial<Record<RuleId, number>>\n /** Blocks after an activation during which the rule is observed but not enforced. */\n graceBandXl1Blocks?: number\n}\n\n/**\n * Where a rule stands at an XL1 height, according to a set of activations.\n *\n * A rule with no recorded activation is inactive \u2014 saying nothing about a rule is how a network\n * declines it, which is what lets one register describe a network running exactly as it always\n * has. A params view carrying no grace band grants no grace.\n * @param params The activation heights in force\n * @param ruleId The rule to resolve\n * @param height The XL1 height being judged\n * @returns Whether the rule is inactive, in its grace band, or enforced\n */\nexport function ruleActivationStateAt(\n params: RuleActivationParams,\n ruleId: RuleId,\n height: number,\n): RuleActivationState {\n const activation = params.activations[ruleId]\n if (activation === undefined || height < activation) return 'inactive'\n const deactivation = params.deactivations?.[ruleId]\n if (deactivation !== undefined && height >= deactivation) return 'inactive'\n return height < activation + (params.graceBandXl1Blocks ?? 0) ? 'grace' : 'active'\n}\n\n/** Whether a rule is enforced at a height. */\nexport function isRuleActiveAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean {\n return ruleActivationStateAt(params, ruleId, height) === 'active'\n}\n\n/**\n * Whether a rule is at least being observed at a height \u2014 enforced, or inside its grace band.\n *\n * This is the gate for recording and measuring. Enforcement asks the stricter question.\n */\nexport function isRuleObservedAt(params: RuleActivationParams, ruleId: RuleId, height: number): boolean {\n return ruleActivationStateAt(params, ruleId, height) !== 'inactive'\n}\n", "import { HexRegExMinMax, toHex } from '@ariestools/sdk'\nimport type { LocalSequence, QualifiedSequence } from '@xyo-network/sdk'\nimport { SequenceConstants } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nconst LocalSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.localSequenceBytes, SequenceConstants.localSequenceBytes))\n/** Zod transform that serializes Local Sequence values to strings. */\nexport const LocalSequenceToStringZod = z.string().regex(LocalSequenceRegex)\n/** Zod transform that parses strings into Local Sequence values. */\nexport const LocalSequenceFromStringZod = z.string().regex(LocalSequenceRegex).transform<LocalSequence>(v => toHex(v) as LocalSequence)\n\nconst QualifiedSequenceRegex = new RegExp(HexRegExMinMax(SequenceConstants.qualifiedSequenceBytes, SequenceConstants.qualifiedSequenceBytes))\n/** Zod transform that serializes Qualified Sequence values to strings. */\nexport const QualifiedSequenceToStringZod = z.string().regex(QualifiedSequenceRegex)\n/** Zod transform that parses strings into Qualified Sequence values. */\nexport const QualifiedSequenceFromStringZod = z.string().regex(QualifiedSequenceRegex).transform<QualifiedSequence>(v => toHex(v) as QualifiedSequence)\n\n/** Zod transform that serializes Sequence values to strings. */\nexport const SequenceToStringZod = z.union([LocalSequenceToStringZod, QualifiedSequenceToStringZod])\n/** Zod transform that parses strings into Sequence values. */\nexport const SequenceFromStringZod = z.union([LocalSequenceFromStringZod, QualifiedSequenceFromStringZod])\n", "import { HexZod } from '@ariestools/sdk'\nimport { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\nimport {\n AttoToJsonZod, AttoZod, JsonToAttoZod,\n} from '../transaction/index.ts'\nimport type { PositionId } from './PositionId.ts'\n\n/** Zod schema for validating Stake values. */\nexport const StakeZod = z.object({\n amount: AttoZod,\n // the block number when the stake was added\n addBlock: z.number(),\n // the unique id for the stake item\n id: z.number(),\n // the block number when the stake was removed (set to 0 if not removed)\n removeBlock: z.number(),\n // the address that is being staked\n staked: XyoAddressZod,\n // the address that owns the stake\n staker: XyoAddressZod,\n // the block number when the stake was withdrawn (set to 0 if not withdrawn)\n withdrawBlock: z.number(),\n})\n\n/** Zod transform that serializes Stake values to JSON-safe data. */\nexport const StakeToJsonZod = StakeZod.transform(val => ({\n addBlock: val.addBlock,\n amount: AttoToJsonZod.parse(val.amount),\n id: val.id,\n removeBlock: val.removeBlock,\n staked: XyoAddressZod.parse(val.staked),\n staker: XyoAddressZod.parse(val.staker),\n withdrawBlock: val.withdrawBlock,\n}))\n\n// we intentionally use extend and not safeExtend here to ensure all fields are present\n/** Zod transform that parses JSON data into Stake values. */\nexport const JsonToStakeZod = StakeZod.extend({ amount: HexZod }).transform(val => ({\n addBlock: val.addBlock,\n amount: JsonToAttoZod.parse(val.amount),\n id: val.id as PositionId,\n removeBlock: val.removeBlock,\n staked: val.staked,\n staker: val.staker,\n withdrawBlock: val.withdrawBlock,\n}))\n", "import {\n zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { SignedHydratedBlockWithHashMetaZod } from '../block/HydratedBlock.ts'\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for validating Sync Step Summary Metadata values. */\nexport const SyncStepSummaryMetadataZod = z.object({\n block: XL1BlockNumberZod,\n blockCount: z.int().nonnegative(),\n bytes: z.int().nonnegative(),\n createdAt: z.string(),\n endBlock: XL1BlockNumberZod,\n relativePath: z.string(),\n startBlock: XL1BlockNumberZod,\n step: z.int().nonnegative(),\n stepSize: XL1BlockNumberZod,\n updatedAt: z.string(),\n})\n\n/** Validated data representation for Sync Step Summary Metadata. */\nexport type SyncStepSummaryMetadata = z.infer<typeof SyncStepSummaryMetadataZod>\n\n/** Type guard that checks if a value is valid SyncStepSummaryMetadata. */\nexport const isSyncStepSummaryMetadata = zodIsFactory(SyncStepSummaryMetadataZod)\n/** Converts a value to SyncStepSummaryMetadata, throwing if invalid. */\nexport const asSyncStepSummaryMetadata = zodAsFactory(SyncStepSummaryMetadataZod, 'asSyncStepSummaryMetadata')\n/** Safe conversion helper that returns Sync Step Summary Metadata when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummaryMetadata = zodToFactory(SyncStepSummaryMetadataZod, 'toSyncStepSummaryMetadata')\n\n/** Zod schema for validating Sync Step Summary Status values. */\nexport const SyncStepSummaryStatusZod = z.object({\n currentBlock: z.optional(XL1BlockNumberZod),\n isIndexing: z.boolean(),\n nextBoundaries: z.record(z.string(), XL1BlockNumberZod),\n summaries: z.array(SyncStepSummaryMetadataZod),\n summaryCount: z.int().nonnegative(),\n})\n\n/** Validated data representation for Sync Step Summary Status. */\nexport type SyncStepSummaryStatus = z.infer<typeof SyncStepSummaryStatusZod>\n\n/** Type guard that checks if a value is valid SyncStepSummaryStatus. */\nexport const isSyncStepSummaryStatus = zodIsFactory(SyncStepSummaryStatusZod)\n/** Converts a value to SyncStepSummaryStatus, throwing if invalid. */\nexport const asSyncStepSummaryStatus = zodAsFactory(SyncStepSummaryStatusZod, 'asSyncStepSummaryStatus')\n/** Safe conversion helper that returns Sync Step Summary Status when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummaryStatus = zodToFactory(SyncStepSummaryStatusZod, 'toSyncStepSummaryStatus')\n\n/** Zod schema for validating Sync Step Summary values. */\nexport const SyncStepSummaryZod = z.array(SignedHydratedBlockWithHashMetaZod)\n\n/** Validated data representation for Sync Step Summary. */\nexport type SyncStepSummary = z.infer<typeof SyncStepSummaryZod>\n\n/** Type guard that checks if a value is a valid SyncStepSummary. */\nexport const isSyncStepSummary = zodIsFactory(SyncStepSummaryZod)\n/** Converts a value to SyncStepSummary, throwing if invalid. */\nexport const asSyncStepSummary = zodAsFactory(SyncStepSummaryZod, 'asSyncStepSummary')\n/** Safe conversion helper that returns Sync Step Summary when validation succeeds and `undefined` otherwise. */\nexport const toSyncStepSummary = zodToFactory(SyncStepSummaryZod, 'toSyncStepSummary')\n", "import { z } from 'zod'\n\n/** Zod schema for validating Time Domain values. */\nexport const TimeDomainZod = z.union([\n z.literal('xl1'),\n z.literal('epoch'),\n z.literal('ethereum'),\n])\n", "import {\n HashZod, zodAsFactory, zodIsFactory, zodToFactory,\n} from '@ariestools/sdk'\nimport { z } from 'zod'\n\nimport { XL1BlockNumberZod } from '../BlockNumber/index.ts'\n\n/** Zod schema for the canonical position of a transaction in the finalized XL1 chain. */\nexport const TransactionInclusionZod = z.object({\n /** Hash of the finalized block containing the transaction. */\n blockHash: HashZod,\n /** Number of the finalized block containing the transaction. */\n blockNumber: XL1BlockNumberZod,\n /** Hash of the included transaction. */\n transactionHash: HashZod,\n /** Zero-based transaction position within the block. */\n transactionIndex: z.int().nonnegative(),\n})\n\n/** Canonical position of a transaction in the finalized XL1 chain. */\nexport type TransactionInclusion = z.infer<typeof TransactionInclusionZod>\n\n/** Type guard that checks whether a value is a valid transaction inclusion. */\nexport const isTransactionInclusion = zodIsFactory(TransactionInclusionZod)\n/** Converts a value to a transaction inclusion, throwing when invalid. */\nexport const asTransactionInclusion = zodAsFactory(TransactionInclusionZod, 'asTransactionInclusion')\n/** Converts a value to a transaction inclusion, returning undefined when invalid. */\nexport const toTransactionInclusion = zodToFactory(TransactionInclusionZod, 'toTransactionInclusion')\n", "import { XyoAddressZod } from '@xyo-network/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for validating Transfer Pair values. */\nexport const TransferPairZod = z.tuple([\n XyoAddressZod, XyoAddressZod,\n])\n", "/** Protocol constant defining xl1 protocol version major. */\nexport const XL1_PROTOCOL_VERSION_MAJOR = 1 as const\n/** Protocol constant defining xl1 protocol version minor. */\nexport const XL1_PROTOCOL_VERSION_MINOR = 3 as const\n/** Protocol constant defining xl1 protocol version patch. */\nexport const XL1_PROTOCOL_VERSION_PATCH = 0 as const\n/** Protocol constant defining xl1 protocol version string. */\nexport const XL1_PROTOCOL_VERSION_STRING = `${XL1_PROTOCOL_VERSION_MAJOR}.${XL1_PROTOCOL_VERSION_MINOR}.${XL1_PROTOCOL_VERSION_PATCH}` as const\n/** Protocol constant defining xl1 protocol version. */\nexport const XL1_PROTOCOL_VERSION = XL1_PROTOCOL_VERSION_MAJOR * 1_000_000 + XL1_PROTOCOL_VERSION_MINOR * 1000 + XL1_PROTOCOL_VERSION_PATCH\n", "import { assertEx, isString } from '@ariestools/sdk'\n\n/** Type literal for the Provider provider moniker. */\nexport type ProviderMoniker = string\n\n/** Moniker identifier for the asProvider provider. */\nexport const asProviderMoniker = <T>(value: T) => {\n const moniker = isString(value) ? (value as unknown as ProviderMoniker) : undefined\n return assertEx(moniker)\n}\n\n/** Moniker identifier for the DefaultProvider provider. */\nexport const DefaultProviderMoniker = 'Provider' as const\n/** Type literal for the DefaultProvider provider moniker. */\nexport type DefaultProviderMoniker = typeof DefaultProviderMoniker\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { HydratedBlockZod } from '../block/index.ts'\nimport { RejectionErrorZod } from './RejectionError.ts'\n\n/** Schema identifier for block rejection payloads. */\nexport const BlockRejectionSchema = asSchema('network.xyo.block.rejection', true)\n/** The literal type of the block rejection schema string. */\nexport type BlockRejectionSchema = typeof BlockRejectionSchema\n\n/** Zod schema for the fields specific to a block rejection payload. */\nexport const BlockRejectionFieldsZod = z.object({\n block: HydratedBlockZod,\n errors: z.array(RejectionErrorZod),\n rejector: z.string(),\n})\n\n/** Zod schema for a complete block rejection payload. */\nexport const BlockRejectionZod = z.extend(\n PayloadZodOfSchema(BlockRejectionSchema),\n BlockRejectionFieldsZod.shape,\n)\n\n/** A block rejection payload representing a rejected block with reasons. */\nexport type BlockRejection = z.infer<typeof BlockRejectionZod>\n\n/** Type guard that checks if a value is a BlockRejection payload. */\nexport const isBlockRejection = isPayloadOfSchemaType<BlockRejection>(BlockRejectionSchema)\n\n/** Casts a value to BlockRejection or returns undefined if invalid. */\nexport const asBlockRejection = AsObjectFactory.create(isBlockRejection)\n", "import { HashZod } from '@ariestools/sdk'\nimport { z } from 'zod'\n\n/** Zod schema for a rejection error reason (slimmed from ValidationErrorZod, omitting value). */\nexport const RejectionErrorZod = z.object({\n hash: HashZod,\n message: z.string().optional(),\n name: z.string(),\n}).loose()\n\n/** A single rejection error reason. */\nexport type RejectionError = z.infer<typeof RejectionErrorZod>\n", "import { AsObjectFactory } from '@ariestools/sdk'\nimport {\n asSchema, isPayloadOfSchemaType, PayloadZodOfSchema,\n} from '@xyo-network/sdk'\nimport { z } from 'zod/mini'\n\nimport { HydratedTransactionZod } from '../model/index.ts'\nimport { RejectionErrorZod } from './RejectionError.ts'\n\n/** Schema identifier for transaction rejection payloads. */\nexport const TransactionRejectionSchema = asSchema('network.xyo.transaction.rejection', true)\n/** The literal type of the transaction rejection schema string. */\nexport type TransactionRejectionSchema = typeof TransactionRejectionSchema\n\n/** Zod schema for the fields specific to a transaction rejection payload. */\nexport const TransactionRejectionFieldsZod = z.object({\n errors: z.array(RejectionErrorZod),\n rejector: z.string(),\n transaction: HydratedTransactionZod,\n})\n\n/** Zod schema for a complete transaction rejection payload. */\nexport const TransactionRejectionZod = z.extend(\n PayloadZodOfSchema(TransactionRejectionSchema),\n TransactionRejectionFieldsZod.shape,\n)\n\n/** A transaction rejection payload representing a rejected transaction with reasons. */\nexport type TransactionRejection = z.infer<typeof TransactionRejectionZod>\n\n/** Type guard that checks if a value is a TransactionRejection payload. */\nexport const isTransactionRejection = isPayloadOfSchemaType<TransactionRejection>(TransactionRejectionSchema)\n\n/** Casts a value to TransactionRejection or returns undefined if invalid. */\nexport const asTransactionRejection = AsObjectFactory.create(isTransactionRejection)\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["zodIsFactory", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "z", "z", "zodAsFactory", "zodToFactory", "z", "z", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodToFactory", "z", "z", "zodAsFactory", "zodToFactory", "z", "zodAsFactory", "zodToFactory", "HexZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "z", "BigIntToJsonZod", "z", "HexZod", "zodIsFactory", "zodAsFactory", "zodToFactory", "z", "zodIsFactory", "zodAsFactory", "zodToFactory", "asSchema", "z", "XyoAddressZod", "HashZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "z", "z", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "asSchema", "z", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "asSchema", "z", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "asSchema", "z", "XyoAddressZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "HexZod", "asSchema", "isPayloadOfZodType", "z", "HexZod", "z", "asSchema", "z", "HexZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "asSchema", "z", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "HexZod", "asSchema", "isPayloadOfZodType", "z", "asSchema", "z", "HexZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "AsObjectFactory", "asSchema", "isPayloadOfSchemaType", "AsObjectFactory", "asSchema", "isPayloadOfSchemaType", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfSchemaType", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "z", "asSchema", "z", "XyoAddressZod", "HashZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfZodType", "z", "z", "asSchema", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "asSchema", "z", "HashZod", "XyoAddressZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "HexZod", "zodIsFactory", "asSchema", "isPayloadOfSchemaType", "PayloadZodOfSchema", "XyoAddressZod", "z", "z", "zodIsFactory", "HashZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "BoundWitnessZod", "WithHashMetaZod", "WithStorageMetaZod", "z", "z", "HashZod", "BoundWitnessZod", "zodIsFactory", "zodAsFactory", "zodToFactory", "WithHashMetaZod", "WithStorageMetaZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "WithHashMetaZod", "WithStorageMetaZod", "z", "zodAsFactory", "zodIsFactory", "zodToFactory", "SignedBoundWitnessZod", "z", "z", "SignedBoundWitnessZod", "zodIsFactory", "zodAsFactory", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "WithHashMetaZod", "z", "WithHashMetaZod", "zodIsFactory", "zodAsFactory", "z", "zodToFactory", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadBuilder", "WithStorageMetaZod", "z", "WithStorageMetaZod", "zodIsFactory", "zodAsFactory", "z", "PayloadBuilder", "zodToFactory", "z", "zodIsFactory", "zodAsFactory", "zodToFactory", "WithHashMetaZod", "WithStorageMetaZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "UnsignedBoundWitnessZod", "z", "z", "UnsignedBoundWitnessZod", "zodIsFactory", "zodAsFactory", "zodToFactory", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "asSchema", "z", "XyoAddressZod", "HashZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "asSchema", "z", "HashZod", "XyoAddressZod", "isPayloadOfZodType", "AsObjectFactory", "z", "AsObjectFactory", "HashZod", "asSchema", "isPayloadOfZodType", "XyoAddressZod", "z", "asSchema", "z", "HashZod", "XyoAddressZod", "isPayloadOfZodType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfSchemaType", "zodIsFactory", "WithHashMetaZod", "z", "HashZod", "zodIsFactory", "z", "zodAsFactory", "zodToFactory", "z", "z", "zodAsFactory", "zodToFactory", "assertError", "isDefined", "zodAsFactory", "zodToFactory", "z", "z", "zodAsFactory", "zodToFactory", "isDefined", "assertError", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "assertError", "isDefined", "zodAsFactory", "zodToFactory", "z", "z", "zodAsFactory", "zodToFactory", "isDefined", "assertError", "z", "HashZod", "zodIsFactory", "z", "WithHashMetaZod", "zodIsFactory", "z", "zodAsFactory", "zodIsFactory", "z", "z", "zodIsFactory", "zodAsFactory", "z", "z", "z", "WithHashMetaZod", "z", "z", "WithHashMetaZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "PayloadZod", "PayloadZodLoose", "WithHashMetaZod", "WithStorageMetaZod", "z", "z", "PayloadZodLoose", "zodIsFactory", "zodAsFactory", "zodToFactory", "WithHashMetaZod", "PayloadZod", "WithStorageMetaZod", "z", "XyoAddressZod", "z", "z", "XyoAddressZod", "z", "HexZod", "XyoAddressZod", "z", "z", "XyoAddressZod", "BigIntToJsonZod", "HexZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "zodIsFactory", "zodAsFactory", "zodToFactory", "z", "HashZod", "zodAsFactory", "zodIsFactory", "zodToFactory", "z", "z", "HashZod", "zodIsFactory", "zodAsFactory", "zodToFactory", "XyoAddressZod", "z", "AsObjectFactory", "asSchema", "isPayloadOfSchemaType", "PayloadZodOfSchema", "z", "HashZod", "z", "asSchema", "z", "PayloadZodOfSchema", "isPayloadOfSchemaType", "AsObjectFactory", "AsObjectFactory", "asSchema", "isPayloadOfSchemaType", "PayloadZodOfSchema", "z", "asSchema", "z", "PayloadZodOfSchema", "isPayloadOfSchemaType", "AsObjectFactory"]
|
|
7
7
|
}
|