@ghostspeak/sdk 2.0.7 → 2.0.8
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/README.md +145 -2
- package/dist/{GhostSpeakClient-CWmGaM9Q.d.ts → GhostSpeakClient-bnXwUPHI.d.ts} +10 -6
- package/dist/{StakingModule-C5rzuOWb.d.ts → StakingModule-DunDShLq.d.ts} +263 -343
- package/dist/{agent-5YLZ7DAC.js → agent-S42FIMR7.js} +3 -3
- package/dist/{agent-5YLZ7DAC.js.map → agent-S42FIMR7.js.map} +1 -1
- package/dist/browser-CI5_6Gzk.d.ts +234 -0
- package/dist/browser.d.ts +3 -64
- package/dist/browser.js +9 -9
- package/dist/{chunk-SFTSZ3LC.js → chunk-46QWY3MG.js} +3 -3
- package/dist/{chunk-SFTSZ3LC.js.map → chunk-46QWY3MG.js.map} +1 -1
- package/dist/{chunk-G7S6B6WB.js → chunk-5QBSC4T4.js} +7 -7
- package/dist/{chunk-G7S6B6WB.js.map → chunk-5QBSC4T4.js.map} +1 -1
- package/dist/{chunk-IHVDQ4YI.js → chunk-5QZVFUXB.js} +201 -256
- package/dist/chunk-5QZVFUXB.js.map +1 -0
- package/dist/{chunk-E3FD2CNY.js → chunk-6XCCMJ6M.js} +19 -23
- package/dist/chunk-6XCCMJ6M.js.map +1 -0
- package/dist/{chunk-JV2SWONF.js → chunk-A7ALCVUI.js} +3 -3
- package/dist/{chunk-JV2SWONF.js.map → chunk-A7ALCVUI.js.map} +1 -1
- package/dist/{chunk-AL3HQN73.js → chunk-AWMGX3OX.js} +172 -112
- package/dist/chunk-AWMGX3OX.js.map +1 -0
- package/dist/{chunk-S74EH3KD.js → chunk-IQM5RASO.js} +637 -25
- package/dist/chunk-IQM5RASO.js.map +1 -0
- package/dist/{chunk-SZGFSCNU.js → chunk-JYXSOXCP.js} +467 -299
- package/dist/chunk-JYXSOXCP.js.map +1 -0
- package/dist/{chunk-C5CDA3WX.js → chunk-OXA7MECJ.js} +476 -3
- package/dist/chunk-OXA7MECJ.js.map +1 -0
- package/dist/{chunk-KB6CKIUK.js → chunk-QLRWUHN2.js} +3 -3
- package/dist/{chunk-KB6CKIUK.js.map → chunk-QLRWUHN2.js.map} +1 -1
- package/dist/client.d.ts +2 -3
- package/dist/client.js +9 -9
- package/dist/{createAgentAuthorization-ULG47ZJI.js → createAgentAuthorization-KGZNXZBT.js} +4 -4
- package/dist/{createAgentAuthorization-ULG47ZJI.js.map → createAgentAuthorization-KGZNXZBT.js.map} +1 -1
- package/dist/generated-QJREJQ2C.js +9 -0
- package/dist/{generated-EG5USUFG.js.map → generated-QJREJQ2C.js.map} +1 -1
- package/dist/index.d.ts +209 -231
- package/dist/index.js +231 -521
- package/dist/index.js.map +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/minimal/core-minimal.d.ts +266 -184
- package/dist/minimal/core-minimal.js +6 -6
- package/dist/minimal/core-minimal.js.map +1 -1
- package/dist/{revokeAuthorization-OK7E7OK3.js → revokeAuthorization-2ZRO6GUZ.js} +4 -4
- package/dist/{revokeAuthorization-OK7E7OK3.js.map → revokeAuthorization-2ZRO6GUZ.js.map} +1 -1
- package/dist/{updateReputationWithAuth-Y4ONEVSP.js → updateReputationWithAuth-PCEUOCFV.js} +4 -4
- package/dist/{updateReputationWithAuth-Y4ONEVSP.js.map → updateReputationWithAuth-PCEUOCFV.js.map} +1 -1
- package/dist/utils.js +9 -9
- package/package.json +4 -4
- package/dist/chunk-AL3HQN73.js.map +0 -1
- package/dist/chunk-C5CDA3WX.js.map +0 -1
- package/dist/chunk-E3FD2CNY.js.map +0 -1
- package/dist/chunk-IHVDQ4YI.js.map +0 -1
- package/dist/chunk-S74EH3KD.js.map +0 -1
- package/dist/chunk-SZGFSCNU.js.map +0 -1
- package/dist/generated-EG5USUFG.js +0 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/generated/types/accessAuditConfig.ts","../src/generated/types/accessPolicy.ts","../src/generated/types/accessTier.ts","../src/generated/types/action.ts","../src/generated/types/accountLockoutPolicies.ts","../src/generated/types/activationRequirement.ts","../src/generated/types/activationRequirementType.ts","../src/generated/types/agentRegisteredEvent.ts","../src/generated/types/agentServiceUpdatedEvent.ts","../src/generated/types/agentStatus.ts","../src/generated/types/agentStatusChangedEvent.ts","../src/generated/types/agentUpdatedEvent.ts","../src/generated/types/agentVerificationData.ts","../src/generated/types/agingPolicy.ts","../src/generated/types/approvalLevel.ts","../src/generated/types/arbitratorDecision.ts","../src/generated/types/auditAction.ts","../src/generated/types/auditConfig.ts","../src/generated/types/auditContext.ts","../src/generated/types/auditEntry.ts","../src/generated/types/auditTrailInitializedEvent.ts","../src/generated/types/authenticationLevel.ts","../src/generated/types/authenticationMethod.ts","../src/generated/types/authenticationPolicies.ts","../src/generated/types/authenticationStrength.ts","../src/generated/types/authorizationPolicies.ts","../src/generated/types/backupFrequency.ts","../src/generated/types/biometricPolicies.ts","../src/generated/types/biometricProtection.ts","../src/generated/types/biometricQuality.ts","../src/generated/types/biometricStorageMethod.ts","../src/generated/types/biometricType.ts","../src/generated/types/complianceFlags.ts","../src/generated/types/complianceMetrics.ts","../src/generated/types/compliancePolicies.ts","../src/generated/types/complianceReportGeneratedEvent.ts","../src/generated/types/complianceStatus.ts","../src/generated/types/compressedAgentCreatedEvent.ts","../src/generated/types/conditionType.ts","../src/generated/types/constraintCondition.ts","../src/generated/types/constraintOperator.ts","../src/generated/types/credentialKind.ts","../src/generated/types/credentialStatus.ts","../src/generated/types/crossChainStatus.ts","../src/generated/types/dataAccessLevel.ts","../src/generated/types/dataProtectionPolicies.ts","../src/generated/types/degradationHandling.ts","../src/generated/types/delegationInfo.ts","../src/generated/types/delegationScope.ts","../src/generated/types/deliverySubmittedEvent.ts","../src/generated/types/disputeFiledEvent.ts","../src/generated/types/disputeResolvedEvent.ts","../src/generated/types/emergencyAccessConfig.ts","../src/generated/types/emergencyConfig.ts","../src/generated/types/enforcementLevel.ts","../src/generated/types/escrowCompletedEvent.ts","../src/generated/types/escrowCreatedEvent.ts","../src/generated/types/escrowStatus.ts","../src/generated/types/executionCondition.ts","../src/generated/types/executionParams.ts","../src/generated/types/externalIdentifier.ts","../src/generated/types/geographicRegion.ts","../src/generated/types/ghostSlashedEvent.ts","../src/generated/types/ghostStakedEvent.ts","../src/generated/types/ghostUnstakedEvent.ts","../src/generated/types/governanceProposalCreatedEvent.ts","../src/generated/types/hierarchicalBoundary.ts","../src/generated/types/incidentResponsePolicies.ts","../src/generated/types/latitudeRange.ts","../src/generated/types/locationConstraints.ts","../src/generated/types/longitudeRange.ts","../src/generated/types/multisigConfig.ts","../src/generated/types/multisigCreatedEvent.ts","../src/generated/types/multisigSignature.ts","../src/generated/types/multisigType.ts","../src/generated/types/multisigTypeConfig.ts","../src/generated/types/networkSecurityPolicies.ts","../src/generated/types/notificationMethod.ts","../src/generated/types/notificationPriority.ts","../src/generated/types/notificationRequirement.ts","../src/generated/types/notificationTarget.ts","../src/generated/types/notificationTargetType.ts","../src/generated/types/notificationTiming.ts","../src/generated/types/passwordPolicies.ts","../src/generated/types/pendingTransaction.ts","../src/generated/types/permission.ts","../src/generated/types/permissionConstraint.ts","../src/generated/types/permissionConstraintType.ts","../src/generated/types/permissionMetadata.ts","../src/generated/types/permissionScope.ts","../src/generated/types/policyMetadata.ts","../src/generated/types/policyRule.ts","../src/generated/types/policyScope.ts","../src/generated/types/policyStatus.ts","../src/generated/types/policyType.ts","../src/generated/types/pricingModel.ts","../src/generated/types/proposalAccount.ts","../src/generated/types/proposalInstruction.ts","../src/generated/types/proposalMetadata.ts","../src/generated/types/proposalStatus.ts","../src/generated/types/proposalType.ts","../src/generated/types/protocolConfigUpdatedEvent.ts","../src/generated/types/quorumMethod.ts","../src/generated/types/quorumRequirements.ts","../src/generated/types/rbacConfigInitializedEvent.ts","../src/generated/types/reentrancyState.ts","../src/generated/types/reportData.ts","../src/generated/types/reportEntry.ts","../src/generated/types/reportingFrequency.ts","../src/generated/types/reportStatus.ts","../src/generated/types/reportSummary.ts","../src/generated/types/reportType.ts","../src/generated/types/reputationComponent.ts","../src/generated/types/reputationMetricsInitializedEvent.ts","../src/generated/types/reputationPaymentRecordedEvent.ts","../src/generated/types/reputationRatingSubmittedEvent.ts","../src/generated/types/reputationSourceType.ts","../src/generated/types/reputationTagsUpdatedEvent.ts","../src/generated/types/resourceConstraints.ts","../src/generated/types/reviewSchedule.ts","../src/generated/types/riskAcceptance.ts","../src/generated/types/riskAssessment.ts","../src/generated/types/riskCategory.ts","../src/generated/types/riskFactor.ts","../src/generated/types/riskIndicator.ts","../src/generated/types/riskLevel.ts","../src/generated/types/role.ts","../src/generated/types/roleConstraints.ts","../src/generated/types/roleMetadata.ts","../src/generated/types/roleStatus.ts","../src/generated/types/roleType.ts","../src/generated/types/ruleCondition.ts","../src/generated/types/ruleEffect.ts","../src/generated/types/scopeBoundaries.ts","../src/generated/types/scopeInheritance.ts","../src/generated/types/scopeType.ts","../src/generated/types/securityEventType.ts","../src/generated/types/securityPolicies.ts","../src/generated/types/serviceEndpoint.ts","../src/generated/types/serviceEndpointType.ts","../src/generated/types/sessionConstraints.ts","../src/generated/types/sessionPolicies.ts","../src/generated/types/slashReason.ts","../src/generated/types/sodConstraint.ts","../src/generated/types/sodConstraintType.ts","../src/generated/types/sourceReputationUpdatedEvent.ts","../src/generated/types/sourceScore.ts","../src/generated/types/stepUpTrigger.ts","../src/generated/types/submissionDetails.ts","../src/generated/types/tagDecayAppliedEvent.ts","../src/generated/types/tagScore.ts","../src/generated/types/tierUpdatedEvent.ts","../src/generated/types/timeConstraints.ts","../src/generated/types/timeLock.ts","../src/generated/types/timeLockType.ts","../src/generated/types/transactionPriority.ts","../src/generated/types/transactionStatus.ts","../src/generated/types/transactionType.ts","../src/generated/types/trendDirection.ts","../src/generated/types/unlockMethod.ts","../src/generated/types/valueType.ts","../src/generated/types/verificationMethod.ts","../src/generated/types/verificationMethodType.ts","../src/generated/types/verificationRelationship.ts","../src/generated/types/violationSeverity.ts","../src/generated/types/vote.ts","../src/generated/types/voteChoice.ts","../src/generated/types/votingResults.ts","../src/generated/accounts/agent.ts"],"names":["getStructEncoder","getI64Encoder","getStructDecoder","getI64Decoder","combineCodec","AccessTier","addEncoderSizePrefix","getUtf8Encoder","getU32Encoder","addDecoderSizePrefix","getUtf8Decoder","getU32Decoder","getU8Encoder","getBooleanEncoder","getArrayEncoder","getU8Decoder","getBooleanDecoder","getArrayDecoder","ActivationRequirementType","getEnumEncoder","getEnumDecoder","getAddressEncoder","getAddressDecoder","AgentStatus","AuditAction","getU64Encoder","getOptionEncoder","getU64Decoder","getOptionDecoder","AuthenticationLevel","AuthenticationMethod","BackupFrequency","BiometricStorageMethod","BiometricType","fixEncoderSize","getBytesEncoder","fixDecoderSize","getBytesDecoder","ConditionType","ConstraintOperator","CredentialKind","CredentialStatus","CrossChainStatus","DataAccessLevel","DegradationHandling","getDiscriminatedUnionEncoder","getDiscriminatedUnionDecoder","EnforcementLevel","EscrowStatus","getF64Encoder","getF64Decoder","MultisigType","getU16Encoder","getU16Decoder","NotificationMethod","NotificationPriority","NotificationTargetType","NotificationTiming","PermissionConstraintType","PolicyStatus","PolicyType","PricingModel","ProposalStatus","ProposalType","QuorumMethod","ReentrancyState","ReportingFrequency","ReportStatus","ReportType","ReputationSourceType","RiskCategory","RiskLevel","RoleStatus","RoleType","RuleEffect","ScopeInheritance","ScopeType","SecurityEventType","ServiceEndpointType","SlashReason","SodConstraintType","StepUpTrigger","TimeLockType","TransactionPriority","TransactionStatus","TransactionType","TrendDirection","UnlockMethod","ValueType","VerificationMethodType","VerificationRelationship","ViolationSeverity","VoteChoice"],"mappings":"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","file":"chunk-5QZVFUXB.js","sourcesContent":["/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AccessAuditConfig = {\n auditEnabled: boolean;\n realTimeMonitoring: boolean;\n retentionPeriod: bigint;\n};\n\nexport type AccessAuditConfigArgs = {\n auditEnabled: boolean;\n realTimeMonitoring: boolean;\n retentionPeriod: number | bigint;\n};\n\nexport function getAccessAuditConfigEncoder(): FixedSizeEncoder<AccessAuditConfigArgs> {\n return getStructEncoder([\n [\"auditEnabled\", getBooleanEncoder()],\n [\"realTimeMonitoring\", getBooleanEncoder()],\n [\"retentionPeriod\", getI64Encoder()],\n ]);\n}\n\nexport function getAccessAuditConfigDecoder(): FixedSizeDecoder<AccessAuditConfig> {\n return getStructDecoder([\n [\"auditEnabled\", getBooleanDecoder()],\n [\"realTimeMonitoring\", getBooleanDecoder()],\n [\"retentionPeriod\", getI64Decoder()],\n ]);\n}\n\nexport function getAccessAuditConfigCodec(): FixedSizeCodec<\n AccessAuditConfigArgs,\n AccessAuditConfig\n> {\n return combineCodec(\n getAccessAuditConfigEncoder(),\n getAccessAuditConfigDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getPolicyMetadataDecoder,\n getPolicyMetadataEncoder,\n getPolicyRuleDecoder,\n getPolicyRuleEncoder,\n getPolicyScopeDecoder,\n getPolicyScopeEncoder,\n getPolicyStatusDecoder,\n getPolicyStatusEncoder,\n getPolicyTypeDecoder,\n getPolicyTypeEncoder,\n type PolicyMetadata,\n type PolicyMetadataArgs,\n type PolicyRule,\n type PolicyRuleArgs,\n type PolicyScope,\n type PolicyScopeArgs,\n type PolicyStatus,\n type PolicyStatusArgs,\n type PolicyType,\n type PolicyTypeArgs,\n} from \".\";\n\n/** Access policy definition */\nexport type AccessPolicy = {\n /** Policy identifier */\n policyId: string;\n /** Policy name */\n name: string;\n /** Policy description */\n description: string;\n /** Policy type */\n policyType: PolicyType;\n /** Policy rules */\n rules: Array<PolicyRule>;\n /** Policy scope */\n scope: PolicyScope;\n /** Policy priority */\n priority: number;\n /** Policy status */\n status: PolicyStatus;\n /** Effective date */\n effectiveDate: bigint;\n /** Expiration date */\n expirationDate: Option<bigint>;\n /** Policy metadata */\n metadata: PolicyMetadata;\n};\n\nexport type AccessPolicyArgs = {\n /** Policy identifier */\n policyId: string;\n /** Policy name */\n name: string;\n /** Policy description */\n description: string;\n /** Policy type */\n policyType: PolicyTypeArgs;\n /** Policy rules */\n rules: Array<PolicyRuleArgs>;\n /** Policy scope */\n scope: PolicyScopeArgs;\n /** Policy priority */\n priority: number;\n /** Policy status */\n status: PolicyStatusArgs;\n /** Effective date */\n effectiveDate: number | bigint;\n /** Expiration date */\n expirationDate: OptionOrNullable<number | bigint>;\n /** Policy metadata */\n metadata: PolicyMetadataArgs;\n};\n\nexport function getAccessPolicyEncoder(): Encoder<AccessPolicyArgs> {\n return getStructEncoder([\n [\"policyId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"policyType\", getPolicyTypeEncoder()],\n [\"rules\", getArrayEncoder(getPolicyRuleEncoder())],\n [\"scope\", getPolicyScopeEncoder()],\n [\"priority\", getU8Encoder()],\n [\"status\", getPolicyStatusEncoder()],\n [\"effectiveDate\", getI64Encoder()],\n [\"expirationDate\", getOptionEncoder(getI64Encoder())],\n [\"metadata\", getPolicyMetadataEncoder()],\n ]);\n}\n\nexport function getAccessPolicyDecoder(): Decoder<AccessPolicy> {\n return getStructDecoder([\n [\"policyId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"policyType\", getPolicyTypeDecoder()],\n [\"rules\", getArrayDecoder(getPolicyRuleDecoder())],\n [\"scope\", getPolicyScopeDecoder()],\n [\"priority\", getU8Decoder()],\n [\"status\", getPolicyStatusDecoder()],\n [\"effectiveDate\", getI64Decoder()],\n [\"expirationDate\", getOptionDecoder(getI64Decoder())],\n [\"metadata\", getPolicyMetadataDecoder()],\n ]);\n}\n\nexport function getAccessPolicyCodec(): Codec<AccessPolicyArgs, AccessPolicy> {\n return combineCodec(getAccessPolicyEncoder(), getAccessPolicyDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Access tiers based on GHOST token stake amount */\nexport enum AccessTier {\n None,\n Basic,\n Verified,\n Pro,\n Whale,\n}\n\nexport type AccessTierArgs = AccessTier;\n\nexport function getAccessTierEncoder(): FixedSizeEncoder<AccessTierArgs> {\n return getEnumEncoder(AccessTier);\n}\n\nexport function getAccessTierDecoder(): FixedSizeDecoder<AccessTier> {\n return getEnumDecoder(AccessTier);\n}\n\nexport function getAccessTierCodec(): FixedSizeCodec<\n AccessTierArgs,\n AccessTier\n> {\n return combineCodec(getAccessTierEncoder(), getAccessTierDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Action (placeholder - use AuditAction) */\nexport type Action = {\n /** Action name */\n name: string;\n};\n\nexport type ActionArgs = {\n /** Action name */\n name: string;\n};\n\nexport function getActionEncoder(): Encoder<ActionArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getActionDecoder(): Decoder<Action> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getActionCodec(): Codec<ActionArgs, Action> {\n return combineCodec(getActionEncoder(), getActionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getNotificationRequirementDecoder,\n getNotificationRequirementEncoder,\n getUnlockMethodDecoder,\n getUnlockMethodEncoder,\n type NotificationRequirement,\n type NotificationRequirementArgs,\n type UnlockMethod,\n type UnlockMethodArgs,\n} from \".\";\n\n/** Account lockout policies */\nexport type AccountLockoutPolicies = {\n /** Max failed attempts before lockout */\n maxFailedAttempts: number;\n /** Lockout duration */\n lockoutDuration: bigint;\n /** Progressive lockout enabled */\n progressiveLockout: boolean;\n /** Unlock methods */\n unlockMethods: Array<UnlockMethod>;\n /** Notification requirements */\n notificationRequirements: Array<NotificationRequirement>;\n};\n\nexport type AccountLockoutPoliciesArgs = {\n /** Max failed attempts before lockout */\n maxFailedAttempts: number;\n /** Lockout duration */\n lockoutDuration: number | bigint;\n /** Progressive lockout enabled */\n progressiveLockout: boolean;\n /** Unlock methods */\n unlockMethods: Array<UnlockMethodArgs>;\n /** Notification requirements */\n notificationRequirements: Array<NotificationRequirementArgs>;\n};\n\nexport function getAccountLockoutPoliciesEncoder(): Encoder<AccountLockoutPoliciesArgs> {\n return getStructEncoder([\n [\"maxFailedAttempts\", getU8Encoder()],\n [\"lockoutDuration\", getI64Encoder()],\n [\"progressiveLockout\", getBooleanEncoder()],\n [\"unlockMethods\", getArrayEncoder(getUnlockMethodEncoder())],\n [\n \"notificationRequirements\",\n getArrayEncoder(getNotificationRequirementEncoder()),\n ],\n ]);\n}\n\nexport function getAccountLockoutPoliciesDecoder(): Decoder<AccountLockoutPolicies> {\n return getStructDecoder([\n [\"maxFailedAttempts\", getU8Decoder()],\n [\"lockoutDuration\", getI64Decoder()],\n [\"progressiveLockout\", getBooleanDecoder()],\n [\"unlockMethods\", getArrayDecoder(getUnlockMethodDecoder())],\n [\n \"notificationRequirements\",\n getArrayDecoder(getNotificationRequirementDecoder()),\n ],\n ]);\n}\n\nexport function getAccountLockoutPoliciesCodec(): Codec<\n AccountLockoutPoliciesArgs,\n AccountLockoutPolicies\n> {\n return combineCodec(\n getAccountLockoutPoliciesEncoder(),\n getAccountLockoutPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getActivationRequirementTypeDecoder,\n getActivationRequirementTypeEncoder,\n type ActivationRequirementType,\n type ActivationRequirementTypeArgs,\n} from \".\";\n\n/** Role activation requirements */\nexport type ActivationRequirement = {\n /** Requirement type */\n requirementType: ActivationRequirementType;\n /** Required approvers */\n approvers: Array<Address>;\n /** Minimum approvals needed */\n minApprovals: number;\n /** Approval timeout */\n approvalTimeout: bigint;\n /** Evidence requirements */\n evidenceRequirements: Array<string>;\n};\n\nexport type ActivationRequirementArgs = {\n /** Requirement type */\n requirementType: ActivationRequirementTypeArgs;\n /** Required approvers */\n approvers: Array<Address>;\n /** Minimum approvals needed */\n minApprovals: number;\n /** Approval timeout */\n approvalTimeout: number | bigint;\n /** Evidence requirements */\n evidenceRequirements: Array<string>;\n};\n\nexport function getActivationRequirementEncoder(): Encoder<ActivationRequirementArgs> {\n return getStructEncoder([\n [\"requirementType\", getActivationRequirementTypeEncoder()],\n [\"approvers\", getArrayEncoder(getAddressEncoder())],\n [\"minApprovals\", getU8Encoder()],\n [\"approvalTimeout\", getI64Encoder()],\n [\n \"evidenceRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getActivationRequirementDecoder(): Decoder<ActivationRequirement> {\n return getStructDecoder([\n [\"requirementType\", getActivationRequirementTypeDecoder()],\n [\"approvers\", getArrayDecoder(getAddressDecoder())],\n [\"minApprovals\", getU8Decoder()],\n [\"approvalTimeout\", getI64Decoder()],\n [\n \"evidenceRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getActivationRequirementCodec(): Codec<\n ActivationRequirementArgs,\n ActivationRequirement\n> {\n return combineCodec(\n getActivationRequirementEncoder(),\n getActivationRequirementDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of role activation requirements */\nexport enum ActivationRequirementType {\n ManagerApproval,\n PeerReview,\n SecurityClearance,\n BackgroundCheck,\n TrainingCompletion,\n CertificationRequired,\n BusinessJustification,\n TechnicalAssessment,\n}\n\nexport type ActivationRequirementTypeArgs = ActivationRequirementType;\n\nexport function getActivationRequirementTypeEncoder(): FixedSizeEncoder<ActivationRequirementTypeArgs> {\n return getEnumEncoder(ActivationRequirementType);\n}\n\nexport function getActivationRequirementTypeDecoder(): FixedSizeDecoder<ActivationRequirementType> {\n return getEnumDecoder(ActivationRequirementType);\n}\n\nexport function getActivationRequirementTypeCodec(): FixedSizeCodec<\n ActivationRequirementTypeArgs,\n ActivationRequirementType\n> {\n return combineCodec(\n getActivationRequirementTypeEncoder(),\n getActivationRequirementTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type AgentRegisteredEvent = {\n agent: Address;\n owner: Address;\n name: string;\n timestamp: bigint;\n};\n\nexport type AgentRegisteredEventArgs = {\n agent: Address;\n owner: Address;\n name: string;\n timestamp: number | bigint;\n};\n\nexport function getAgentRegisteredEventEncoder(): Encoder<AgentRegisteredEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentRegisteredEventDecoder(): Decoder<AgentRegisteredEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentRegisteredEventCodec(): Codec<\n AgentRegisteredEventArgs,\n AgentRegisteredEvent\n> {\n return combineCodec(\n getAgentRegisteredEventEncoder(),\n getAgentRegisteredEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Enhanced event structure following 2025 patterns */\nexport type AgentServiceUpdatedEvent = {\n /** Agent account public key */\n agent: Address;\n /** Owner who performed the update */\n owner: Address;\n /** Update timestamp */\n timestamp: bigint;\n /** Service endpoint that was updated */\n serviceEndpoint: string;\n /** New active status */\n isActive: boolean;\n};\n\nexport type AgentServiceUpdatedEventArgs = {\n /** Agent account public key */\n agent: Address;\n /** Owner who performed the update */\n owner: Address;\n /** Update timestamp */\n timestamp: number | bigint;\n /** Service endpoint that was updated */\n serviceEndpoint: string;\n /** New active status */\n isActive: boolean;\n};\n\nexport function getAgentServiceUpdatedEventEncoder(): Encoder<AgentServiceUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n [\n \"serviceEndpoint\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"isActive\", getBooleanEncoder()],\n ]);\n}\n\nexport function getAgentServiceUpdatedEventDecoder(): Decoder<AgentServiceUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n [\n \"serviceEndpoint\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"isActive\", getBooleanDecoder()],\n ]);\n}\n\nexport function getAgentServiceUpdatedEventCodec(): Codec<\n AgentServiceUpdatedEventArgs,\n AgentServiceUpdatedEvent\n> {\n return combineCodec(\n getAgentServiceUpdatedEventEncoder(),\n getAgentServiceUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Agent lifecycle status (Ghost Identity) */\nexport enum AgentStatus {\n Unregistered,\n Registered,\n Claimed,\n Verified,\n}\n\nexport type AgentStatusArgs = AgentStatus;\n\nexport function getAgentStatusEncoder(): FixedSizeEncoder<AgentStatusArgs> {\n return getEnumEncoder(AgentStatus);\n}\n\nexport function getAgentStatusDecoder(): FixedSizeDecoder<AgentStatus> {\n return getEnumDecoder(AgentStatus);\n}\n\nexport function getAgentStatusCodec(): FixedSizeCodec<\n AgentStatusArgs,\n AgentStatus\n> {\n return combineCodec(getAgentStatusEncoder(), getAgentStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Agent status management event (2025 pattern) */\nexport type AgentStatusChangedEvent = {\n /** Agent public key */\n agent: Address;\n /** Previous status */\n previousStatus: boolean;\n /** New status */\n newStatus: boolean;\n /** Change timestamp */\n timestamp: bigint;\n /** Owner who made the change */\n authority: Address;\n};\n\nexport type AgentStatusChangedEventArgs = {\n /** Agent public key */\n agent: Address;\n /** Previous status */\n previousStatus: boolean;\n /** New status */\n newStatus: boolean;\n /** Change timestamp */\n timestamp: number | bigint;\n /** Owner who made the change */\n authority: Address;\n};\n\nexport function getAgentStatusChangedEventEncoder(): FixedSizeEncoder<AgentStatusChangedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"previousStatus\", getBooleanEncoder()],\n [\"newStatus\", getBooleanEncoder()],\n [\"timestamp\", getI64Encoder()],\n [\"authority\", getAddressEncoder()],\n ]);\n}\n\nexport function getAgentStatusChangedEventDecoder(): FixedSizeDecoder<AgentStatusChangedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"previousStatus\", getBooleanDecoder()],\n [\"newStatus\", getBooleanDecoder()],\n [\"timestamp\", getI64Decoder()],\n [\"authority\", getAddressDecoder()],\n ]);\n}\n\nexport function getAgentStatusChangedEventCodec(): FixedSizeCodec<\n AgentStatusChangedEventArgs,\n AgentStatusChangedEvent\n> {\n return combineCodec(\n getAgentStatusChangedEventEncoder(),\n getAgentStatusChangedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AgentUpdatedEvent = {\n agent: Address;\n owner: Address;\n timestamp: bigint;\n};\n\nexport type AgentUpdatedEventArgs = {\n agent: Address;\n owner: Address;\n timestamp: number | bigint;\n};\n\nexport function getAgentUpdatedEventEncoder(): FixedSizeEncoder<AgentUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentUpdatedEventDecoder(): FixedSizeDecoder<AgentUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentUpdatedEventCodec(): FixedSizeCodec<\n AgentUpdatedEventArgs,\n AgentUpdatedEvent\n> {\n return combineCodec(\n getAgentUpdatedEventEncoder(),\n getAgentUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type AgentVerificationData = {\n agentPubkey: Address;\n serviceEndpoint: string;\n supportedCapabilities: Array<bigint>;\n verifiedAt: bigint;\n};\n\nexport type AgentVerificationDataArgs = {\n agentPubkey: Address;\n serviceEndpoint: string;\n supportedCapabilities: Array<number | bigint>;\n verifiedAt: number | bigint;\n};\n\nexport function getAgentVerificationDataEncoder(): Encoder<AgentVerificationDataArgs> {\n return getStructEncoder([\n [\"agentPubkey\", getAddressEncoder()],\n [\n \"serviceEndpoint\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"supportedCapabilities\", getArrayEncoder(getU64Encoder())],\n [\"verifiedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentVerificationDataDecoder(): Decoder<AgentVerificationData> {\n return getStructDecoder([\n [\"agentPubkey\", getAddressDecoder()],\n [\n \"serviceEndpoint\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"supportedCapabilities\", getArrayDecoder(getU64Decoder())],\n [\"verifiedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentVerificationDataCodec(): Codec<\n AgentVerificationDataArgs,\n AgentVerificationData\n> {\n return combineCodec(\n getAgentVerificationDataEncoder(),\n getAgentVerificationDataDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getBiometricTypeDecoder,\n getBiometricTypeEncoder,\n getDegradationHandlingDecoder,\n getDegradationHandlingEncoder,\n type BiometricType,\n type BiometricTypeArgs,\n type DegradationHandling,\n type DegradationHandlingArgs,\n} from \".\";\n\n/** Template aging policies */\nexport type AgingPolicy = {\n /** Biometric type */\n biometricType: BiometricType;\n /** Maximum age */\n maxAge: bigint;\n /** Refresh requirements */\n refreshRequirements: Array<string>;\n /** Degradation handling */\n degradationHandling: DegradationHandling;\n};\n\nexport type AgingPolicyArgs = {\n /** Biometric type */\n biometricType: BiometricTypeArgs;\n /** Maximum age */\n maxAge: number | bigint;\n /** Refresh requirements */\n refreshRequirements: Array<string>;\n /** Degradation handling */\n degradationHandling: DegradationHandlingArgs;\n};\n\nexport function getAgingPolicyEncoder(): Encoder<AgingPolicyArgs> {\n return getStructEncoder([\n [\"biometricType\", getBiometricTypeEncoder()],\n [\"maxAge\", getI64Encoder()],\n [\n \"refreshRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"degradationHandling\", getDegradationHandlingEncoder()],\n ]);\n}\n\nexport function getAgingPolicyDecoder(): Decoder<AgingPolicy> {\n return getStructDecoder([\n [\"biometricType\", getBiometricTypeDecoder()],\n [\"maxAge\", getI64Decoder()],\n [\n \"refreshRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"degradationHandling\", getDegradationHandlingDecoder()],\n ]);\n}\n\nexport function getAgingPolicyCodec(): Codec<AgingPolicyArgs, AgingPolicy> {\n return combineCodec(getAgingPolicyEncoder(), getAgingPolicyDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getAuditActionDecoder,\n getAuditActionEncoder,\n type AuditAction,\n type AuditActionArgs,\n} from \".\";\n\n/** Approval level configuration */\nexport type ApprovalLevel = {\n /** Action type requiring approval */\n actionType: AuditAction;\n /** Required approvers */\n requiredApprovers: Array<Address>;\n /** Minimum approval count */\n minApprovals: number;\n /** Timeout for approval process */\n approvalTimeout: bigint;\n};\n\nexport type ApprovalLevelArgs = {\n /** Action type requiring approval */\n actionType: AuditActionArgs;\n /** Required approvers */\n requiredApprovers: Array<Address>;\n /** Minimum approval count */\n minApprovals: number;\n /** Timeout for approval process */\n approvalTimeout: number | bigint;\n};\n\nexport function getApprovalLevelEncoder(): Encoder<ApprovalLevelArgs> {\n return getStructEncoder([\n [\"actionType\", getAuditActionEncoder()],\n [\"requiredApprovers\", getArrayEncoder(getAddressEncoder())],\n [\"minApprovals\", getU8Encoder()],\n [\"approvalTimeout\", getI64Encoder()],\n ]);\n}\n\nexport function getApprovalLevelDecoder(): Decoder<ApprovalLevel> {\n return getStructDecoder([\n [\"actionType\", getAuditActionDecoder()],\n [\"requiredApprovers\", getArrayDecoder(getAddressDecoder())],\n [\"minApprovals\", getU8Decoder()],\n [\"approvalTimeout\", getI64Decoder()],\n ]);\n}\n\nexport function getApprovalLevelCodec(): Codec<\n ApprovalLevelArgs,\n ApprovalLevel\n> {\n return combineCodec(getApprovalLevelEncoder(), getApprovalLevelDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getDiscriminatedUnionDecoder,\n getDiscriminatedUnionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type GetDiscriminatedUnionVariant,\n type GetDiscriminatedUnionVariantContent,\n} from \"@solana/kit\";\n\n/** Arbitrator's final decision on disputed escrow */\nexport type ArbitratorDecision =\n | { __kind: \"FavorClient\"; reason: string }\n | { __kind: \"FavorAgent\"; reason: string }\n | { __kind: \"Split\"; clientPercentage: number; reason: string };\n\nexport type ArbitratorDecisionArgs = ArbitratorDecision;\n\nexport function getArbitratorDecisionEncoder(): Encoder<ArbitratorDecisionArgs> {\n return getDiscriminatedUnionEncoder([\n [\n \"FavorClient\",\n getStructEncoder([\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]),\n ],\n [\n \"FavorAgent\",\n getStructEncoder([\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]),\n ],\n [\n \"Split\",\n getStructEncoder([\n [\"clientPercentage\", getU8Encoder()],\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]),\n ],\n ]);\n}\n\nexport function getArbitratorDecisionDecoder(): Decoder<ArbitratorDecision> {\n return getDiscriminatedUnionDecoder([\n [\n \"FavorClient\",\n getStructDecoder([\n [\"reason\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]),\n ],\n [\n \"FavorAgent\",\n getStructDecoder([\n [\"reason\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]),\n ],\n [\n \"Split\",\n getStructDecoder([\n [\"clientPercentage\", getU8Decoder()],\n [\"reason\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]),\n ],\n ]);\n}\n\nexport function getArbitratorDecisionCodec(): Codec<\n ArbitratorDecisionArgs,\n ArbitratorDecision\n> {\n return combineCodec(\n getArbitratorDecisionEncoder(),\n getArbitratorDecisionDecoder(),\n );\n}\n\n// Data Enum Helpers.\nexport function arbitratorDecision(\n kind: \"FavorClient\",\n data: GetDiscriminatedUnionVariantContent<\n ArbitratorDecisionArgs,\n \"__kind\",\n \"FavorClient\"\n >,\n): GetDiscriminatedUnionVariant<\n ArbitratorDecisionArgs,\n \"__kind\",\n \"FavorClient\"\n>;\nexport function arbitratorDecision(\n kind: \"FavorAgent\",\n data: GetDiscriminatedUnionVariantContent<\n ArbitratorDecisionArgs,\n \"__kind\",\n \"FavorAgent\"\n >,\n): GetDiscriminatedUnionVariant<ArbitratorDecisionArgs, \"__kind\", \"FavorAgent\">;\nexport function arbitratorDecision(\n kind: \"Split\",\n data: GetDiscriminatedUnionVariantContent<\n ArbitratorDecisionArgs,\n \"__kind\",\n \"Split\"\n >,\n): GetDiscriminatedUnionVariant<ArbitratorDecisionArgs, \"__kind\", \"Split\">;\nexport function arbitratorDecision<\n K extends ArbitratorDecisionArgs[\"__kind\"],\n Data,\n>(kind: K, data?: Data) {\n return Array.isArray(data)\n ? { __kind: kind, fields: data }\n : { __kind: kind, ...(data ?? {}) };\n}\n\nexport function isArbitratorDecision<K extends ArbitratorDecision[\"__kind\"]>(\n kind: K,\n value: ArbitratorDecision,\n): value is ArbitratorDecision & { __kind: K } {\n return value.__kind === kind;\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of auditable actions */\nexport enum AuditAction {\n AgentRegistered,\n AgentUpdated,\n AgentDeactivated,\n AgentVerified,\n PaymentProcessed,\n EscrowCreated,\n EscrowReleased,\n FundsWithdrawn,\n ProposalCreated,\n VoteCast,\n ProposalExecuted,\n GovernanceUpdated,\n AccessGranted,\n AccessRevoked,\n SecurityPolicyUpdated,\n SuspiciousActivity,\n ComplianceReportGenerated,\n RegulatorySubmission,\n AuditRequested,\n ViolationDetected,\n SystemConfigUpdated,\n EmergencyAction,\n MaintenancePerformed,\n WorkOrderCreated,\n WorkOrderCompleted,\n DisputeRaised,\n DisputeResolved,\n MultisigCreated,\n MultisigSigned,\n MultisigExecuted,\n RiskAssessmentPerformed,\n RiskThresholdExceeded,\n RiskMitigationApplied,\n}\n\nexport type AuditActionArgs = AuditAction;\n\nexport function getAuditActionEncoder(): FixedSizeEncoder<AuditActionArgs> {\n return getEnumEncoder(AuditAction);\n}\n\nexport function getAuditActionDecoder(): FixedSizeDecoder<AuditAction> {\n return getEnumDecoder(AuditAction);\n}\n\nexport function getAuditActionCodec(): FixedSizeCodec<\n AuditActionArgs,\n AuditAction\n> {\n return combineCodec(getAuditActionEncoder(), getAuditActionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getApprovalLevelDecoder,\n getApprovalLevelEncoder,\n getBackupFrequencyDecoder,\n getBackupFrequencyEncoder,\n getReportingFrequencyDecoder,\n getReportingFrequencyEncoder,\n type ApprovalLevel,\n type ApprovalLevelArgs,\n type BackupFrequency,\n type BackupFrequencyArgs,\n type ReportingFrequency,\n type ReportingFrequencyArgs,\n} from \".\";\n\n/** Audit trail configuration */\nexport type AuditConfig = {\n /** Maximum entries before archival */\n maxEntries: number;\n /** Retention period in seconds */\n retentionPeriod: bigint;\n /** Auto-archival enabled */\n autoArchive: boolean;\n /** Compliance reporting frequency */\n reportingFrequency: ReportingFrequency;\n /** Required approval levels */\n approvalLevels: Array<ApprovalLevel>;\n /** Encryption requirements */\n encryptionRequired: boolean;\n /** Backup frequency */\n backupFrequency: BackupFrequency;\n};\n\nexport type AuditConfigArgs = {\n /** Maximum entries before archival */\n maxEntries: number;\n /** Retention period in seconds */\n retentionPeriod: number | bigint;\n /** Auto-archival enabled */\n autoArchive: boolean;\n /** Compliance reporting frequency */\n reportingFrequency: ReportingFrequencyArgs;\n /** Required approval levels */\n approvalLevels: Array<ApprovalLevelArgs>;\n /** Encryption requirements */\n encryptionRequired: boolean;\n /** Backup frequency */\n backupFrequency: BackupFrequencyArgs;\n};\n\nexport function getAuditConfigEncoder(): Encoder<AuditConfigArgs> {\n return getStructEncoder([\n [\"maxEntries\", getU32Encoder()],\n [\"retentionPeriod\", getI64Encoder()],\n [\"autoArchive\", getBooleanEncoder()],\n [\"reportingFrequency\", getReportingFrequencyEncoder()],\n [\"approvalLevels\", getArrayEncoder(getApprovalLevelEncoder())],\n [\"encryptionRequired\", getBooleanEncoder()],\n [\"backupFrequency\", getBackupFrequencyEncoder()],\n ]);\n}\n\nexport function getAuditConfigDecoder(): Decoder<AuditConfig> {\n return getStructDecoder([\n [\"maxEntries\", getU32Decoder()],\n [\"retentionPeriod\", getI64Decoder()],\n [\"autoArchive\", getBooleanDecoder()],\n [\"reportingFrequency\", getReportingFrequencyDecoder()],\n [\"approvalLevels\", getArrayDecoder(getApprovalLevelDecoder())],\n [\"encryptionRequired\", getBooleanDecoder()],\n [\"backupFrequency\", getBackupFrequencyDecoder()],\n ]);\n}\n\nexport function getAuditConfigCodec(): Codec<AuditConfigArgs, AuditConfig> {\n return combineCodec(getAuditConfigEncoder(), getAuditConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Audit context metadata (placeholder for future expansion) */\nexport type AuditContext = {\n /** Context metadata as JSON string */\n metadata: string;\n};\n\nexport type AuditContextArgs = {\n /** Context metadata as JSON string */\n metadata: string;\n};\n\nexport function getAuditContextEncoder(): Encoder<AuditContextArgs> {\n return getStructEncoder([\n [\"metadata\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getAuditContextDecoder(): Decoder<AuditContext> {\n return getStructDecoder([\n [\"metadata\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getAuditContextCodec(): Codec<AuditContextArgs, AuditContext> {\n return combineCodec(getAuditContextEncoder(), getAuditContextDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\nimport {\n getAuditActionDecoder,\n getAuditActionEncoder,\n getAuditContextDecoder,\n getAuditContextEncoder,\n getComplianceFlagsDecoder,\n getComplianceFlagsEncoder,\n type AuditAction,\n type AuditActionArgs,\n type AuditContext,\n type AuditContextArgs,\n type ComplianceFlags,\n type ComplianceFlagsArgs,\n} from \".\";\n\n/** Individual audit entry (immutable) */\nexport type AuditEntry = {\n /** Unique entry ID */\n entryId: bigint;\n /** Timestamp of the action */\n timestamp: bigint;\n /** Action that was performed */\n action: AuditAction;\n /** User/agent who performed the action */\n actor: Address;\n /** Target of the action (if applicable) */\n target: Option<Address>;\n /** Additional context data */\n context: AuditContext;\n /** Compliance flags */\n complianceFlags: ComplianceFlags;\n /** Hash of previous entry for chain integrity */\n previousHash: ReadonlyUint8Array;\n /** Hash of this entry */\n entryHash: ReadonlyUint8Array;\n /** Digital signature for non-repudiation */\n signature: Option<ReadonlyUint8Array>;\n};\n\nexport type AuditEntryArgs = {\n /** Unique entry ID */\n entryId: number | bigint;\n /** Timestamp of the action */\n timestamp: number | bigint;\n /** Action that was performed */\n action: AuditActionArgs;\n /** User/agent who performed the action */\n actor: Address;\n /** Target of the action (if applicable) */\n target: OptionOrNullable<Address>;\n /** Additional context data */\n context: AuditContextArgs;\n /** Compliance flags */\n complianceFlags: ComplianceFlagsArgs;\n /** Hash of previous entry for chain integrity */\n previousHash: ReadonlyUint8Array;\n /** Hash of this entry */\n entryHash: ReadonlyUint8Array;\n /** Digital signature for non-repudiation */\n signature: OptionOrNullable<ReadonlyUint8Array>;\n};\n\nexport function getAuditEntryEncoder(): Encoder<AuditEntryArgs> {\n return getStructEncoder([\n [\"entryId\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n [\"action\", getAuditActionEncoder()],\n [\"actor\", getAddressEncoder()],\n [\"target\", getOptionEncoder(getAddressEncoder())],\n [\"context\", getAuditContextEncoder()],\n [\"complianceFlags\", getComplianceFlagsEncoder()],\n [\"previousHash\", fixEncoderSize(getBytesEncoder(), 32)],\n [\"entryHash\", fixEncoderSize(getBytesEncoder(), 32)],\n [\"signature\", getOptionEncoder(fixEncoderSize(getBytesEncoder(), 64))],\n ]);\n}\n\nexport function getAuditEntryDecoder(): Decoder<AuditEntry> {\n return getStructDecoder([\n [\"entryId\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n [\"action\", getAuditActionDecoder()],\n [\"actor\", getAddressDecoder()],\n [\"target\", getOptionDecoder(getAddressDecoder())],\n [\"context\", getAuditContextDecoder()],\n [\"complianceFlags\", getComplianceFlagsDecoder()],\n [\"previousHash\", fixDecoderSize(getBytesDecoder(), 32)],\n [\"entryHash\", fixDecoderSize(getBytesDecoder(), 32)],\n [\"signature\", getOptionDecoder(fixDecoderSize(getBytesDecoder(), 64))],\n ]);\n}\n\nexport function getAuditEntryCodec(): Codec<AuditEntryArgs, AuditEntry> {\n return combineCodec(getAuditEntryEncoder(), getAuditEntryDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type AuditTrailInitializedEvent = {\n entity: Address;\n entityType: string;\n timestamp: bigint;\n};\n\nexport type AuditTrailInitializedEventArgs = {\n entity: Address;\n entityType: string;\n timestamp: number | bigint;\n};\n\nexport function getAuditTrailInitializedEventEncoder(): Encoder<AuditTrailInitializedEventArgs> {\n return getStructEncoder([\n [\"entity\", getAddressEncoder()],\n [\"entityType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAuditTrailInitializedEventDecoder(): Decoder<AuditTrailInitializedEvent> {\n return getStructDecoder([\n [\"entity\", getAddressDecoder()],\n [\"entityType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAuditTrailInitializedEventCodec(): Codec<\n AuditTrailInitializedEventArgs,\n AuditTrailInitializedEvent\n> {\n return combineCodec(\n getAuditTrailInitializedEventEncoder(),\n getAuditTrailInitializedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Authentication levels */\nexport enum AuthenticationLevel {\n Low,\n Medium,\n High,\n VeryHigh,\n}\n\nexport type AuthenticationLevelArgs = AuthenticationLevel;\n\nexport function getAuthenticationLevelEncoder(): FixedSizeEncoder<AuthenticationLevelArgs> {\n return getEnumEncoder(AuthenticationLevel);\n}\n\nexport function getAuthenticationLevelDecoder(): FixedSizeDecoder<AuthenticationLevel> {\n return getEnumDecoder(AuthenticationLevel);\n}\n\nexport function getAuthenticationLevelCodec(): FixedSizeCodec<\n AuthenticationLevelArgs,\n AuthenticationLevel\n> {\n return combineCodec(\n getAuthenticationLevelEncoder(),\n getAuthenticationLevelDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Authentication methods */\nexport enum AuthenticationMethod {\n Password,\n DigitalSignature,\n Biometric,\n Token,\n Certificate,\n Sms,\n Email,\n App,\n Hardware,\n}\n\nexport type AuthenticationMethodArgs = AuthenticationMethod;\n\nexport function getAuthenticationMethodEncoder(): FixedSizeEncoder<AuthenticationMethodArgs> {\n return getEnumEncoder(AuthenticationMethod);\n}\n\nexport function getAuthenticationMethodDecoder(): FixedSizeDecoder<AuthenticationMethod> {\n return getEnumDecoder(AuthenticationMethod);\n}\n\nexport function getAuthenticationMethodCodec(): FixedSizeCodec<\n AuthenticationMethodArgs,\n AuthenticationMethod\n> {\n return combineCodec(\n getAuthenticationMethodEncoder(),\n getAuthenticationMethodDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getAccountLockoutPoliciesDecoder,\n getAccountLockoutPoliciesEncoder,\n getAuthenticationMethodDecoder,\n getAuthenticationMethodEncoder,\n getAuthenticationStrengthDecoder,\n getAuthenticationStrengthEncoder,\n getBiometricPoliciesDecoder,\n getBiometricPoliciesEncoder,\n type AccountLockoutPolicies,\n type AccountLockoutPoliciesArgs,\n type AuthenticationMethod,\n type AuthenticationMethodArgs,\n type AuthenticationStrength,\n type AuthenticationStrengthArgs,\n type BiometricPolicies,\n type BiometricPoliciesArgs,\n} from \".\";\n\n/** Authentication policies */\nexport type AuthenticationPolicies = {\n /** Multi-factor authentication required */\n mfaRequired: boolean;\n /** Supported authentication methods */\n supportedMethods: Array<AuthenticationMethod>;\n /** Authentication strength requirements */\n strengthRequirements: AuthenticationStrength;\n /** Account lockout policies */\n lockoutPolicies: AccountLockoutPolicies;\n /** Biometric policies */\n biometricPolicies: Option<BiometricPolicies>;\n};\n\nexport type AuthenticationPoliciesArgs = {\n /** Multi-factor authentication required */\n mfaRequired: boolean;\n /** Supported authentication methods */\n supportedMethods: Array<AuthenticationMethodArgs>;\n /** Authentication strength requirements */\n strengthRequirements: AuthenticationStrengthArgs;\n /** Account lockout policies */\n lockoutPolicies: AccountLockoutPoliciesArgs;\n /** Biometric policies */\n biometricPolicies: OptionOrNullable<BiometricPoliciesArgs>;\n};\n\nexport function getAuthenticationPoliciesEncoder(): Encoder<AuthenticationPoliciesArgs> {\n return getStructEncoder([\n [\"mfaRequired\", getBooleanEncoder()],\n [\"supportedMethods\", getArrayEncoder(getAuthenticationMethodEncoder())],\n [\"strengthRequirements\", getAuthenticationStrengthEncoder()],\n [\"lockoutPolicies\", getAccountLockoutPoliciesEncoder()],\n [\"biometricPolicies\", getOptionEncoder(getBiometricPoliciesEncoder())],\n ]);\n}\n\nexport function getAuthenticationPoliciesDecoder(): Decoder<AuthenticationPolicies> {\n return getStructDecoder([\n [\"mfaRequired\", getBooleanDecoder()],\n [\"supportedMethods\", getArrayDecoder(getAuthenticationMethodDecoder())],\n [\"strengthRequirements\", getAuthenticationStrengthDecoder()],\n [\"lockoutPolicies\", getAccountLockoutPoliciesDecoder()],\n [\"biometricPolicies\", getOptionDecoder(getBiometricPoliciesDecoder())],\n ]);\n}\n\nexport function getAuthenticationPoliciesCodec(): Codec<\n AuthenticationPoliciesArgs,\n AuthenticationPolicies\n> {\n return combineCodec(\n getAuthenticationPoliciesEncoder(),\n getAuthenticationPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getAuthenticationLevelDecoder,\n getAuthenticationLevelEncoder,\n getStepUpTriggerDecoder,\n getStepUpTriggerEncoder,\n type AuthenticationLevel,\n type AuthenticationLevelArgs,\n type StepUpTrigger,\n type StepUpTriggerArgs,\n} from \".\";\n\n/** Authentication strength requirements */\nexport type AuthenticationStrength = {\n /** Minimum authentication level */\n minimumLevel: AuthenticationLevel;\n /** Risk-based authentication */\n riskBased: boolean;\n /** Adaptive authentication */\n adaptive: boolean;\n /** Step-up authentication triggers */\n stepUpTriggers: Array<StepUpTrigger>;\n};\n\nexport type AuthenticationStrengthArgs = {\n /** Minimum authentication level */\n minimumLevel: AuthenticationLevelArgs;\n /** Risk-based authentication */\n riskBased: boolean;\n /** Adaptive authentication */\n adaptive: boolean;\n /** Step-up authentication triggers */\n stepUpTriggers: Array<StepUpTriggerArgs>;\n};\n\nexport function getAuthenticationStrengthEncoder(): Encoder<AuthenticationStrengthArgs> {\n return getStructEncoder([\n [\"minimumLevel\", getAuthenticationLevelEncoder()],\n [\"riskBased\", getBooleanEncoder()],\n [\"adaptive\", getBooleanEncoder()],\n [\"stepUpTriggers\", getArrayEncoder(getStepUpTriggerEncoder())],\n ]);\n}\n\nexport function getAuthenticationStrengthDecoder(): Decoder<AuthenticationStrength> {\n return getStructDecoder([\n [\"minimumLevel\", getAuthenticationLevelDecoder()],\n [\"riskBased\", getBooleanDecoder()],\n [\"adaptive\", getBooleanDecoder()],\n [\"stepUpTriggers\", getArrayDecoder(getStepUpTriggerDecoder())],\n ]);\n}\n\nexport function getAuthenticationStrengthCodec(): Codec<\n AuthenticationStrengthArgs,\n AuthenticationStrength\n> {\n return combineCodec(\n getAuthenticationStrengthEncoder(),\n getAuthenticationStrengthDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AuthorizationPolicies = {\n defaultDeny: boolean;\n explicitPermissionsRequired: boolean;\n};\n\nexport type AuthorizationPoliciesArgs = AuthorizationPolicies;\n\nexport function getAuthorizationPoliciesEncoder(): FixedSizeEncoder<AuthorizationPoliciesArgs> {\n return getStructEncoder([\n [\"defaultDeny\", getBooleanEncoder()],\n [\"explicitPermissionsRequired\", getBooleanEncoder()],\n ]);\n}\n\nexport function getAuthorizationPoliciesDecoder(): FixedSizeDecoder<AuthorizationPolicies> {\n return getStructDecoder([\n [\"defaultDeny\", getBooleanDecoder()],\n [\"explicitPermissionsRequired\", getBooleanDecoder()],\n ]);\n}\n\nexport function getAuthorizationPoliciesCodec(): FixedSizeCodec<\n AuthorizationPoliciesArgs,\n AuthorizationPolicies\n> {\n return combineCodec(\n getAuthorizationPoliciesEncoder(),\n getAuthorizationPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Backup frequency options */\nexport enum BackupFrequency {\n Hourly,\n Daily,\n Weekly,\n Monthly,\n}\n\nexport type BackupFrequencyArgs = BackupFrequency;\n\nexport function getBackupFrequencyEncoder(): FixedSizeEncoder<BackupFrequencyArgs> {\n return getEnumEncoder(BackupFrequency);\n}\n\nexport function getBackupFrequencyDecoder(): FixedSizeDecoder<BackupFrequency> {\n return getEnumDecoder(BackupFrequency);\n}\n\nexport function getBackupFrequencyCodec(): FixedSizeCodec<\n BackupFrequencyArgs,\n BackupFrequency\n> {\n return combineCodec(getBackupFrequencyEncoder(), getBackupFrequencyDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getBiometricProtectionDecoder,\n getBiometricProtectionEncoder,\n getBiometricQualityDecoder,\n getBiometricQualityEncoder,\n getBiometricTypeDecoder,\n getBiometricTypeEncoder,\n type BiometricProtection,\n type BiometricProtectionArgs,\n type BiometricQuality,\n type BiometricQualityArgs,\n type BiometricType,\n type BiometricTypeArgs,\n} from \".\";\n\n/** Biometric authentication policies */\nexport type BiometricPolicies = {\n /** Supported biometric types */\n supportedTypes: Array<BiometricType>;\n /** Biometric quality requirements */\n qualityRequirements: BiometricQuality;\n /** Liveness detection required */\n livenessDetection: boolean;\n /** Biometric template protection */\n templateProtection: BiometricProtection;\n};\n\nexport type BiometricPoliciesArgs = {\n /** Supported biometric types */\n supportedTypes: Array<BiometricTypeArgs>;\n /** Biometric quality requirements */\n qualityRequirements: BiometricQualityArgs;\n /** Liveness detection required */\n livenessDetection: boolean;\n /** Biometric template protection */\n templateProtection: BiometricProtectionArgs;\n};\n\nexport function getBiometricPoliciesEncoder(): Encoder<BiometricPoliciesArgs> {\n return getStructEncoder([\n [\"supportedTypes\", getArrayEncoder(getBiometricTypeEncoder())],\n [\"qualityRequirements\", getBiometricQualityEncoder()],\n [\"livenessDetection\", getBooleanEncoder()],\n [\"templateProtection\", getBiometricProtectionEncoder()],\n ]);\n}\n\nexport function getBiometricPoliciesDecoder(): Decoder<BiometricPolicies> {\n return getStructDecoder([\n [\"supportedTypes\", getArrayDecoder(getBiometricTypeDecoder())],\n [\"qualityRequirements\", getBiometricQualityDecoder()],\n [\"livenessDetection\", getBooleanDecoder()],\n [\"templateProtection\", getBiometricProtectionDecoder()],\n ]);\n}\n\nexport function getBiometricPoliciesCodec(): Codec<\n BiometricPoliciesArgs,\n BiometricPolicies\n> {\n return combineCodec(\n getBiometricPoliciesEncoder(),\n getBiometricPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getAgingPolicyDecoder,\n getAgingPolicyEncoder,\n getBiometricStorageMethodDecoder,\n getBiometricStorageMethodEncoder,\n type AgingPolicy,\n type AgingPolicyArgs,\n type BiometricStorageMethod,\n type BiometricStorageMethodArgs,\n} from \".\";\n\n/** Biometric template protection */\nexport type BiometricProtection = {\n /** Template encryption required */\n encryptionRequired: boolean;\n /** Template storage method */\n storageMethod: BiometricStorageMethod;\n /** Template revocation support */\n revocationSupport: boolean;\n /** Template aging policies */\n agingPolicies: Array<AgingPolicy>;\n};\n\nexport type BiometricProtectionArgs = {\n /** Template encryption required */\n encryptionRequired: boolean;\n /** Template storage method */\n storageMethod: BiometricStorageMethodArgs;\n /** Template revocation support */\n revocationSupport: boolean;\n /** Template aging policies */\n agingPolicies: Array<AgingPolicyArgs>;\n};\n\nexport function getBiometricProtectionEncoder(): Encoder<BiometricProtectionArgs> {\n return getStructEncoder([\n [\"encryptionRequired\", getBooleanEncoder()],\n [\"storageMethod\", getBiometricStorageMethodEncoder()],\n [\"revocationSupport\", getBooleanEncoder()],\n [\"agingPolicies\", getArrayEncoder(getAgingPolicyEncoder())],\n ]);\n}\n\nexport function getBiometricProtectionDecoder(): Decoder<BiometricProtection> {\n return getStructDecoder([\n [\"encryptionRequired\", getBooleanDecoder()],\n [\"storageMethod\", getBiometricStorageMethodDecoder()],\n [\"revocationSupport\", getBooleanDecoder()],\n [\"agingPolicies\", getArrayDecoder(getAgingPolicyDecoder())],\n ]);\n}\n\nexport function getBiometricProtectionCodec(): Codec<\n BiometricProtectionArgs,\n BiometricProtection\n> {\n return combineCodec(\n getBiometricProtectionEncoder(),\n getBiometricProtectionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Biometric quality score (placeholder) */\nexport type BiometricQuality = {\n /** Quality score 0-100 */\n score: number;\n};\n\nexport type BiometricQualityArgs = {\n /** Quality score 0-100 */\n score: number;\n};\n\nexport function getBiometricQualityEncoder(): Encoder<BiometricQualityArgs> {\n return getStructEncoder([\n [\"score\", getU8Encoder()],\n ]);\n}\n\nexport function getBiometricQualityDecoder(): Decoder<BiometricQuality> {\n return getStructDecoder([\n [\"score\", getU8Decoder()],\n ]);\n}\n\nexport function getBiometricQualityCodec(): Codec<BiometricQualityArgs, BiometricQuality> {\n return combineCodec(getBiometricQualityEncoder(), getBiometricQualityDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Biometric template storage methods */\nexport enum BiometricStorageMethod {\n OnDevice,\n Encrypted,\n Hashed,\n Distributed,\n None,\n}\n\nexport type BiometricStorageMethodArgs = BiometricStorageMethod;\n\nexport function getBiometricStorageMethodEncoder(): FixedSizeEncoder<BiometricStorageMethodArgs> {\n return getEnumEncoder(BiometricStorageMethod);\n}\n\nexport function getBiometricStorageMethodDecoder(): FixedSizeDecoder<BiometricStorageMethod> {\n return getEnumDecoder(BiometricStorageMethod);\n}\n\nexport function getBiometricStorageMethodCodec(): FixedSizeCodec<\n BiometricStorageMethodArgs,\n BiometricStorageMethod\n> {\n return combineCodec(\n getBiometricStorageMethodEncoder(),\n getBiometricStorageMethodDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of biometric authentication */\nexport enum BiometricType {\n Fingerprint,\n FaceRecognition,\n IrisRecognition,\n VoiceRecognition,\n Signature,\n Gait,\n Behavioral,\n}\n\nexport type BiometricTypeArgs = BiometricType;\n\nexport function getBiometricTypeEncoder(): FixedSizeEncoder<BiometricTypeArgs> {\n return getEnumEncoder(BiometricType);\n}\n\nexport function getBiometricTypeDecoder(): FixedSizeDecoder<BiometricType> {\n return getEnumDecoder(BiometricType);\n}\n\nexport function getBiometricTypeCodec(): FixedSizeCodec<\n BiometricTypeArgs,\n BiometricType\n> {\n return combineCodec(getBiometricTypeEncoder(), getBiometricTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\n/** Compliance flags for audit entries */\nexport type ComplianceFlags = {\n /** Requires regulatory reporting */\n requiresReporting: boolean;\n /** High-risk transaction */\n highRisk: boolean;\n /** Sensitive data involved */\n sensitiveData: boolean;\n /** Cross-border transaction */\n crossBorder: boolean;\n /** Large amount transaction */\n largeAmount: boolean;\n /** Suspicious activity detected */\n suspicious: boolean;\n /** Manual review required */\n manualReview: boolean;\n /** Regulatory jurisdiction */\n jurisdiction: Option<string>;\n};\n\nexport type ComplianceFlagsArgs = {\n /** Requires regulatory reporting */\n requiresReporting: boolean;\n /** High-risk transaction */\n highRisk: boolean;\n /** Sensitive data involved */\n sensitiveData: boolean;\n /** Cross-border transaction */\n crossBorder: boolean;\n /** Large amount transaction */\n largeAmount: boolean;\n /** Suspicious activity detected */\n suspicious: boolean;\n /** Manual review required */\n manualReview: boolean;\n /** Regulatory jurisdiction */\n jurisdiction: OptionOrNullable<string>;\n};\n\nexport function getComplianceFlagsEncoder(): Encoder<ComplianceFlagsArgs> {\n return getStructEncoder([\n [\"requiresReporting\", getBooleanEncoder()],\n [\"highRisk\", getBooleanEncoder()],\n [\"sensitiveData\", getBooleanEncoder()],\n [\"crossBorder\", getBooleanEncoder()],\n [\"largeAmount\", getBooleanEncoder()],\n [\"suspicious\", getBooleanEncoder()],\n [\"manualReview\", getBooleanEncoder()],\n [\n \"jurisdiction\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getComplianceFlagsDecoder(): Decoder<ComplianceFlags> {\n return getStructDecoder([\n [\"requiresReporting\", getBooleanDecoder()],\n [\"highRisk\", getBooleanDecoder()],\n [\"sensitiveData\", getBooleanDecoder()],\n [\"crossBorder\", getBooleanDecoder()],\n [\"largeAmount\", getBooleanDecoder()],\n [\"suspicious\", getBooleanDecoder()],\n [\"manualReview\", getBooleanDecoder()],\n [\n \"jurisdiction\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getComplianceFlagsCodec(): Codec<\n ComplianceFlagsArgs,\n ComplianceFlags\n> {\n return combineCodec(getComplianceFlagsEncoder(), getComplianceFlagsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Compliance metrics */\nexport type ComplianceMetrics = {\n /** Compliance score (0-100) */\n complianceScore: number;\n /** Policy adherence rate */\n policyAdherenceRate: number;\n /** Incident response time (average seconds) */\n avgIncidentResponseTime: bigint;\n /** False positive rate */\n falsePositiveRate: number;\n /** Coverage percentage */\n coveragePercentage: number;\n /** Audit readiness score */\n auditReadinessScore: number;\n};\n\nexport type ComplianceMetricsArgs = {\n /** Compliance score (0-100) */\n complianceScore: number;\n /** Policy adherence rate */\n policyAdherenceRate: number;\n /** Incident response time (average seconds) */\n avgIncidentResponseTime: number | bigint;\n /** False positive rate */\n falsePositiveRate: number;\n /** Coverage percentage */\n coveragePercentage: number;\n /** Audit readiness score */\n auditReadinessScore: number;\n};\n\nexport function getComplianceMetricsEncoder(): FixedSizeEncoder<ComplianceMetricsArgs> {\n return getStructEncoder([\n [\"complianceScore\", getU8Encoder()],\n [\"policyAdherenceRate\", getU8Encoder()],\n [\"avgIncidentResponseTime\", getU64Encoder()],\n [\"falsePositiveRate\", getU8Encoder()],\n [\"coveragePercentage\", getU8Encoder()],\n [\"auditReadinessScore\", getU8Encoder()],\n ]);\n}\n\nexport function getComplianceMetricsDecoder(): FixedSizeDecoder<ComplianceMetrics> {\n return getStructDecoder([\n [\"complianceScore\", getU8Decoder()],\n [\"policyAdherenceRate\", getU8Decoder()],\n [\"avgIncidentResponseTime\", getU64Decoder()],\n [\"falsePositiveRate\", getU8Decoder()],\n [\"coveragePercentage\", getU8Decoder()],\n [\"auditReadinessScore\", getU8Decoder()],\n ]);\n}\n\nexport function getComplianceMetricsCodec(): FixedSizeCodec<\n ComplianceMetricsArgs,\n ComplianceMetrics\n> {\n return combineCodec(\n getComplianceMetricsEncoder(),\n getComplianceMetricsDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type CompliancePolicies = {\n frameworks: Array<string>;\n auditRequirements: Array<string>;\n reportingRequirements: Array<string>;\n};\n\nexport type CompliancePoliciesArgs = CompliancePolicies;\n\nexport function getCompliancePoliciesEncoder(): Encoder<CompliancePoliciesArgs> {\n return getStructEncoder([\n [\n \"frameworks\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"auditRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"reportingRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getCompliancePoliciesDecoder(): Decoder<CompliancePolicies> {\n return getStructDecoder([\n [\n \"frameworks\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"auditRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"reportingRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getCompliancePoliciesCodec(): Codec<\n CompliancePoliciesArgs,\n CompliancePolicies\n> {\n return combineCodec(\n getCompliancePoliciesEncoder(),\n getCompliancePoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getReportTypeDecoder,\n getReportTypeEncoder,\n type ReportType,\n type ReportTypeArgs,\n} from \".\";\n\nexport type ComplianceReportGeneratedEvent = {\n report: Address;\n reportId: bigint;\n reportType: ReportType;\n complianceRate: bigint;\n};\n\nexport type ComplianceReportGeneratedEventArgs = {\n report: Address;\n reportId: number | bigint;\n reportType: ReportTypeArgs;\n complianceRate: number | bigint;\n};\n\nexport function getComplianceReportGeneratedEventEncoder(): FixedSizeEncoder<ComplianceReportGeneratedEventArgs> {\n return getStructEncoder([\n [\"report\", getAddressEncoder()],\n [\"reportId\", getU64Encoder()],\n [\"reportType\", getReportTypeEncoder()],\n [\"complianceRate\", getU64Encoder()],\n ]);\n}\n\nexport function getComplianceReportGeneratedEventDecoder(): FixedSizeDecoder<ComplianceReportGeneratedEvent> {\n return getStructDecoder([\n [\"report\", getAddressDecoder()],\n [\"reportId\", getU64Decoder()],\n [\"reportType\", getReportTypeDecoder()],\n [\"complianceRate\", getU64Decoder()],\n ]);\n}\n\nexport function getComplianceReportGeneratedEventCodec(): FixedSizeCodec<\n ComplianceReportGeneratedEventArgs,\n ComplianceReportGeneratedEvent\n> {\n return combineCodec(\n getComplianceReportGeneratedEventEncoder(),\n getComplianceReportGeneratedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Compliance status (placeholder - use ComplianceFlags) */\nexport type ComplianceStatus = {\n /** Status code */\n status: number;\n};\n\nexport type ComplianceStatusArgs = {\n /** Status code */\n status: number;\n};\n\nexport function getComplianceStatusEncoder(): Encoder<ComplianceStatusArgs> {\n return getStructEncoder([\n [\"status\", getU8Encoder()],\n ]);\n}\n\nexport function getComplianceStatusDecoder(): Decoder<ComplianceStatus> {\n return getStructDecoder([\n [\"status\", getU8Decoder()],\n ]);\n}\n\nexport function getComplianceStatusCodec(): Codec<ComplianceStatusArgs, ComplianceStatus> {\n return combineCodec(getComplianceStatusEncoder(), getComplianceStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\n\n/** Event emitted when a compressed agent is created */\nexport type CompressedAgentCreatedEvent = {\n agentId: string;\n owner: Address;\n treeAuthority: Address;\n merkleTree: Address;\n dataHash: ReadonlyUint8Array;\n index: bigint;\n metadataUri: string;\n createdAt: bigint;\n};\n\nexport type CompressedAgentCreatedEventArgs = {\n agentId: string;\n owner: Address;\n treeAuthority: Address;\n merkleTree: Address;\n dataHash: ReadonlyUint8Array;\n index: number | bigint;\n metadataUri: string;\n createdAt: number | bigint;\n};\n\nexport function getCompressedAgentCreatedEventEncoder(): Encoder<CompressedAgentCreatedEventArgs> {\n return getStructEncoder([\n [\"agentId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"owner\", getAddressEncoder()],\n [\"treeAuthority\", getAddressEncoder()],\n [\"merkleTree\", getAddressEncoder()],\n [\"dataHash\", fixEncoderSize(getBytesEncoder(), 32)],\n [\"index\", getU64Encoder()],\n [\"metadataUri\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"createdAt\", getI64Encoder()],\n ]);\n}\n\nexport function getCompressedAgentCreatedEventDecoder(): Decoder<CompressedAgentCreatedEvent> {\n return getStructDecoder([\n [\"agentId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"owner\", getAddressDecoder()],\n [\"treeAuthority\", getAddressDecoder()],\n [\"merkleTree\", getAddressDecoder()],\n [\"dataHash\", fixDecoderSize(getBytesDecoder(), 32)],\n [\"index\", getU64Decoder()],\n [\"metadataUri\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"createdAt\", getI64Decoder()],\n ]);\n}\n\nexport function getCompressedAgentCreatedEventCodec(): Codec<\n CompressedAgentCreatedEventArgs,\n CompressedAgentCreatedEvent\n> {\n return combineCodec(\n getCompressedAgentCreatedEventEncoder(),\n getCompressedAgentCreatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of execution conditions */\nexport enum ConditionType {\n TimeDelay,\n TokenBalance,\n PriceThreshold,\n VoteCount,\n ExternalOracle,\n CustomLogic,\n}\n\nexport type ConditionTypeArgs = ConditionType;\n\nexport function getConditionTypeEncoder(): FixedSizeEncoder<ConditionTypeArgs> {\n return getEnumEncoder(ConditionType);\n}\n\nexport function getConditionTypeDecoder(): FixedSizeDecoder<ConditionType> {\n return getEnumDecoder(ConditionType);\n}\n\nexport function getConditionTypeCodec(): FixedSizeCodec<\n ConditionTypeArgs,\n ConditionType\n> {\n return combineCodec(getConditionTypeEncoder(), getConditionTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getConstraintOperatorDecoder,\n getConstraintOperatorEncoder,\n getValueTypeDecoder,\n getValueTypeEncoder,\n type ConstraintOperator,\n type ConstraintOperatorArgs,\n type ValueType,\n type ValueTypeArgs,\n} from \".\";\n\n/** Constraint condition definition */\nexport type ConstraintCondition = {\n /** Attribute name */\n attribute: string;\n /** Condition operator */\n operator: ConstraintOperator;\n /** Expected value */\n value: string;\n /** Value type */\n valueType: ValueType;\n};\n\nexport type ConstraintConditionArgs = {\n /** Attribute name */\n attribute: string;\n /** Condition operator */\n operator: ConstraintOperatorArgs;\n /** Expected value */\n value: string;\n /** Value type */\n valueType: ValueTypeArgs;\n};\n\nexport function getConstraintConditionEncoder(): Encoder<ConstraintConditionArgs> {\n return getStructEncoder([\n [\"attribute\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"operator\", getConstraintOperatorEncoder()],\n [\"value\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"valueType\", getValueTypeEncoder()],\n ]);\n}\n\nexport function getConstraintConditionDecoder(): Decoder<ConstraintCondition> {\n return getStructDecoder([\n [\"attribute\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"operator\", getConstraintOperatorDecoder()],\n [\"value\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"valueType\", getValueTypeDecoder()],\n ]);\n}\n\nexport function getConstraintConditionCodec(): Codec<\n ConstraintConditionArgs,\n ConstraintCondition\n> {\n return combineCodec(\n getConstraintConditionEncoder(),\n getConstraintConditionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Operators for constraint conditions */\nexport enum ConstraintOperator {\n Equals,\n NotEquals,\n GreaterThan,\n LessThan,\n GreaterThanOrEqual,\n LessThanOrEqual,\n Contains,\n NotContains,\n In,\n NotIn,\n Matches,\n NotMatches,\n}\n\nexport type ConstraintOperatorArgs = ConstraintOperator;\n\nexport function getConstraintOperatorEncoder(): FixedSizeEncoder<ConstraintOperatorArgs> {\n return getEnumEncoder(ConstraintOperator);\n}\n\nexport function getConstraintOperatorDecoder(): FixedSizeDecoder<ConstraintOperator> {\n return getEnumDecoder(ConstraintOperator);\n}\n\nexport function getConstraintOperatorCodec(): FixedSizeCodec<\n ConstraintOperatorArgs,\n ConstraintOperator\n> {\n return combineCodec(\n getConstraintOperatorEncoder(),\n getConstraintOperatorDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Credential type enum for built-in GhostSpeak credentials */\nexport enum CredentialKind {\n AgentIdentity,\n ReputationScore,\n JobCompletion,\n DelegatedSigner,\n Custom,\n}\n\nexport type CredentialKindArgs = CredentialKind;\n\nexport function getCredentialKindEncoder(): FixedSizeEncoder<CredentialKindArgs> {\n return getEnumEncoder(CredentialKind);\n}\n\nexport function getCredentialKindDecoder(): FixedSizeDecoder<CredentialKind> {\n return getEnumDecoder(CredentialKind);\n}\n\nexport function getCredentialKindCodec(): FixedSizeCodec<\n CredentialKindArgs,\n CredentialKind\n> {\n return combineCodec(getCredentialKindEncoder(), getCredentialKindDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Credential status for lifecycle tracking */\nexport enum CredentialStatus {\n Pending,\n Active,\n Revoked,\n Expired,\n}\n\nexport type CredentialStatusArgs = CredentialStatus;\n\nexport function getCredentialStatusEncoder(): FixedSizeEncoder<CredentialStatusArgs> {\n return getEnumEncoder(CredentialStatus);\n}\n\nexport function getCredentialStatusDecoder(): FixedSizeDecoder<CredentialStatus> {\n return getEnumDecoder(CredentialStatus);\n}\n\nexport function getCredentialStatusCodec(): FixedSizeCodec<\n CredentialStatusArgs,\n CredentialStatus\n> {\n return combineCodec(\n getCredentialStatusEncoder(),\n getCredentialStatusDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Cross-chain sync status for Crossmint integration */\nexport enum CrossChainStatus {\n NotSynced,\n SyncPending,\n SyncedToCrossmint,\n SyncFailed,\n}\n\nexport type CrossChainStatusArgs = CrossChainStatus;\n\nexport function getCrossChainStatusEncoder(): FixedSizeEncoder<CrossChainStatusArgs> {\n return getEnumEncoder(CrossChainStatus);\n}\n\nexport function getCrossChainStatusDecoder(): FixedSizeDecoder<CrossChainStatus> {\n return getEnumDecoder(CrossChainStatus);\n}\n\nexport function getCrossChainStatusCodec(): FixedSizeCodec<\n CrossChainStatusArgs,\n CrossChainStatus\n> {\n return combineCodec(\n getCrossChainStatusEncoder(),\n getCrossChainStatusDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Data access levels */\nexport enum DataAccessLevel {\n Public,\n Internal,\n Confidential,\n Restricted,\n TopSecret,\n}\n\nexport type DataAccessLevelArgs = DataAccessLevel;\n\nexport function getDataAccessLevelEncoder(): FixedSizeEncoder<DataAccessLevelArgs> {\n return getEnumEncoder(DataAccessLevel);\n}\n\nexport function getDataAccessLevelDecoder(): FixedSizeDecoder<DataAccessLevel> {\n return getEnumDecoder(DataAccessLevel);\n}\n\nexport function getDataAccessLevelCodec(): FixedSizeCodec<\n DataAccessLevelArgs,\n DataAccessLevel\n> {\n return combineCodec(getDataAccessLevelEncoder(), getDataAccessLevelDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type DataProtectionPolicies = {\n encryptionRequired: boolean;\n classificationRequired: boolean;\n dlpEnabled: boolean;\n};\n\nexport type DataProtectionPoliciesArgs = DataProtectionPolicies;\n\nexport function getDataProtectionPoliciesEncoder(): FixedSizeEncoder<DataProtectionPoliciesArgs> {\n return getStructEncoder([\n [\"encryptionRequired\", getBooleanEncoder()],\n [\"classificationRequired\", getBooleanEncoder()],\n [\"dlpEnabled\", getBooleanEncoder()],\n ]);\n}\n\nexport function getDataProtectionPoliciesDecoder(): FixedSizeDecoder<DataProtectionPolicies> {\n return getStructDecoder([\n [\"encryptionRequired\", getBooleanDecoder()],\n [\"classificationRequired\", getBooleanDecoder()],\n [\"dlpEnabled\", getBooleanDecoder()],\n ]);\n}\n\nexport function getDataProtectionPoliciesCodec(): FixedSizeCodec<\n DataProtectionPoliciesArgs,\n DataProtectionPolicies\n> {\n return combineCodec(\n getDataProtectionPoliciesEncoder(),\n getDataProtectionPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Handling of template degradation */\nexport enum DegradationHandling {\n RequireRefresh,\n GradualDegradation,\n ImmediateExpiry,\n AdaptiveThreshold,\n}\n\nexport type DegradationHandlingArgs = DegradationHandling;\n\nexport function getDegradationHandlingEncoder(): FixedSizeEncoder<DegradationHandlingArgs> {\n return getEnumEncoder(DegradationHandling);\n}\n\nexport function getDegradationHandlingDecoder(): FixedSizeDecoder<DegradationHandling> {\n return getEnumDecoder(DegradationHandling);\n}\n\nexport function getDegradationHandlingCodec(): FixedSizeCodec<\n DegradationHandlingArgs,\n DegradationHandling\n> {\n return combineCodec(\n getDegradationHandlingEncoder(),\n getDegradationHandlingDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getDelegationScopeDecoder,\n getDelegationScopeEncoder,\n type DelegationScope,\n type DelegationScopeArgs,\n} from \".\";\n\n/** Vote delegation information */\nexport type DelegationInfo = {\n /** Original delegator */\n delegator: Address;\n /** Delegation timestamp */\n delegatedAt: bigint;\n /** Delegation scope */\n scope: DelegationScope;\n /** Delegation expiry */\n expiresAt: Option<bigint>;\n};\n\nexport type DelegationInfoArgs = {\n /** Original delegator */\n delegator: Address;\n /** Delegation timestamp */\n delegatedAt: number | bigint;\n /** Delegation scope */\n scope: DelegationScopeArgs;\n /** Delegation expiry */\n expiresAt: OptionOrNullable<number | bigint>;\n};\n\nexport function getDelegationInfoEncoder(): Encoder<DelegationInfoArgs> {\n return getStructEncoder([\n [\"delegator\", getAddressEncoder()],\n [\"delegatedAt\", getI64Encoder()],\n [\"scope\", getDelegationScopeEncoder()],\n [\"expiresAt\", getOptionEncoder(getI64Encoder())],\n ]);\n}\n\nexport function getDelegationInfoDecoder(): Decoder<DelegationInfo> {\n return getStructDecoder([\n [\"delegator\", getAddressDecoder()],\n [\"delegatedAt\", getI64Decoder()],\n [\"scope\", getDelegationScopeDecoder()],\n [\"expiresAt\", getOptionDecoder(getI64Decoder())],\n ]);\n}\n\nexport function getDelegationInfoCodec(): Codec<\n DelegationInfoArgs,\n DelegationInfo\n> {\n return combineCodec(getDelegationInfoEncoder(), getDelegationInfoDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getDiscriminatedUnionDecoder,\n getDiscriminatedUnionEncoder,\n getStructDecoder,\n getStructEncoder,\n getTupleDecoder,\n getTupleEncoder,\n getUnitDecoder,\n getUnitEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n type GetDiscriminatedUnionVariant,\n type GetDiscriminatedUnionVariantContent,\n} from \"@solana/kit\";\nimport {\n getProposalTypeDecoder,\n getProposalTypeEncoder,\n type ProposalType,\n type ProposalTypeArgs,\n} from \".\";\n\n/** Scope of vote delegation */\nexport type DelegationScope =\n | { __kind: \"All\" }\n | { __kind: \"ProposalType\"; fields: readonly [ProposalType] }\n | { __kind: \"SingleProposal\" }\n | { __kind: \"Limited\" };\n\nexport type DelegationScopeArgs =\n | { __kind: \"All\" }\n | { __kind: \"ProposalType\"; fields: readonly [ProposalTypeArgs] }\n | { __kind: \"SingleProposal\" }\n | { __kind: \"Limited\" };\n\nexport function getDelegationScopeEncoder(): Encoder<DelegationScopeArgs> {\n return getDiscriminatedUnionEncoder([\n [\"All\", getUnitEncoder()],\n [\n \"ProposalType\",\n getStructEncoder([\n [\"fields\", getTupleEncoder([getProposalTypeEncoder()])],\n ]),\n ],\n [\"SingleProposal\", getUnitEncoder()],\n [\"Limited\", getUnitEncoder()],\n ]);\n}\n\nexport function getDelegationScopeDecoder(): Decoder<DelegationScope> {\n return getDiscriminatedUnionDecoder([\n [\"All\", getUnitDecoder()],\n [\n \"ProposalType\",\n getStructDecoder([\n [\"fields\", getTupleDecoder([getProposalTypeDecoder()])],\n ]),\n ],\n [\"SingleProposal\", getUnitDecoder()],\n [\"Limited\", getUnitDecoder()],\n ]);\n}\n\nexport function getDelegationScopeCodec(): Codec<\n DelegationScopeArgs,\n DelegationScope\n> {\n return combineCodec(getDelegationScopeEncoder(), getDelegationScopeDecoder());\n}\n\n// Data Enum Helpers.\nexport function delegationScope(\n kind: \"All\",\n): GetDiscriminatedUnionVariant<DelegationScopeArgs, \"__kind\", \"All\">;\nexport function delegationScope(\n kind: \"ProposalType\",\n data: GetDiscriminatedUnionVariantContent<\n DelegationScopeArgs,\n \"__kind\",\n \"ProposalType\"\n >[\"fields\"],\n): GetDiscriminatedUnionVariant<DelegationScopeArgs, \"__kind\", \"ProposalType\">;\nexport function delegationScope(\n kind: \"SingleProposal\",\n): GetDiscriminatedUnionVariant<\n DelegationScopeArgs,\n \"__kind\",\n \"SingleProposal\"\n>;\nexport function delegationScope(\n kind: \"Limited\",\n): GetDiscriminatedUnionVariant<DelegationScopeArgs, \"__kind\", \"Limited\">;\nexport function delegationScope<K extends DelegationScopeArgs[\"__kind\"], Data>(\n kind: K,\n data?: Data,\n) {\n return Array.isArray(data)\n ? { __kind: kind, fields: data }\n : { __kind: kind, ...(data ?? {}) };\n}\n\nexport function isDelegationScope<K extends DelegationScope[\"__kind\"]>(\n kind: K,\n value: DelegationScope,\n): value is DelegationScope & { __kind: K } {\n return value.__kind === kind;\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type DeliverySubmittedEvent = {\n escrowId: bigint;\n agent: Address;\n deliveryProof: string;\n};\n\nexport type DeliverySubmittedEventArgs = {\n escrowId: number | bigint;\n agent: Address;\n deliveryProof: string;\n};\n\nexport function getDeliverySubmittedEventEncoder(): Encoder<DeliverySubmittedEventArgs> {\n return getStructEncoder([\n [\"escrowId\", getU64Encoder()],\n [\"agent\", getAddressEncoder()],\n [\"deliveryProof\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getDeliverySubmittedEventDecoder(): Decoder<DeliverySubmittedEvent> {\n return getStructDecoder([\n [\"escrowId\", getU64Decoder()],\n [\"agent\", getAddressDecoder()],\n [\"deliveryProof\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getDeliverySubmittedEventCodec(): Codec<\n DeliverySubmittedEventArgs,\n DeliverySubmittedEvent\n> {\n return combineCodec(\n getDeliverySubmittedEventEncoder(),\n getDeliverySubmittedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type DisputeFiledEvent = {\n escrowId: bigint;\n client: Address;\n reason: string;\n};\n\nexport type DisputeFiledEventArgs = {\n escrowId: number | bigint;\n client: Address;\n reason: string;\n};\n\nexport function getDisputeFiledEventEncoder(): Encoder<DisputeFiledEventArgs> {\n return getStructEncoder([\n [\"escrowId\", getU64Encoder()],\n [\"client\", getAddressEncoder()],\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getDisputeFiledEventDecoder(): Decoder<DisputeFiledEvent> {\n return getStructDecoder([\n [\"escrowId\", getU64Decoder()],\n [\"client\", getAddressDecoder()],\n [\"reason\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getDisputeFiledEventCodec(): Codec<\n DisputeFiledEventArgs,\n DisputeFiledEvent\n> {\n return combineCodec(\n getDisputeFiledEventEncoder(),\n getDisputeFiledEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getArbitratorDecisionDecoder,\n getArbitratorDecisionEncoder,\n type ArbitratorDecision,\n type ArbitratorDecisionArgs,\n} from \".\";\n\nexport type DisputeResolvedEvent = {\n escrowId: bigint;\n decision: ArbitratorDecision;\n arbitrator: Address;\n};\n\nexport type DisputeResolvedEventArgs = {\n escrowId: number | bigint;\n decision: ArbitratorDecisionArgs;\n arbitrator: Address;\n};\n\nexport function getDisputeResolvedEventEncoder(): Encoder<DisputeResolvedEventArgs> {\n return getStructEncoder([\n [\"escrowId\", getU64Encoder()],\n [\"decision\", getArbitratorDecisionEncoder()],\n [\"arbitrator\", getAddressEncoder()],\n ]);\n}\n\nexport function getDisputeResolvedEventDecoder(): Decoder<DisputeResolvedEvent> {\n return getStructDecoder([\n [\"escrowId\", getU64Decoder()],\n [\"decision\", getArbitratorDecisionDecoder()],\n [\"arbitrator\", getAddressDecoder()],\n ]);\n}\n\nexport function getDisputeResolvedEventCodec(): Codec<\n DisputeResolvedEventArgs,\n DisputeResolvedEvent\n> {\n return combineCodec(\n getDisputeResolvedEventEncoder(),\n getDisputeResolvedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type EmergencyAccessConfig = {\n breakGlassEnabled: boolean;\n emergencyContacts: Array<Address>;\n approvalRequired: boolean;\n};\n\nexport type EmergencyAccessConfigArgs = EmergencyAccessConfig;\n\nexport function getEmergencyAccessConfigEncoder(): Encoder<EmergencyAccessConfigArgs> {\n return getStructEncoder([\n [\"breakGlassEnabled\", getBooleanEncoder()],\n [\"emergencyContacts\", getArrayEncoder(getAddressEncoder())],\n [\"approvalRequired\", getBooleanEncoder()],\n ]);\n}\n\nexport function getEmergencyAccessConfigDecoder(): Decoder<EmergencyAccessConfig> {\n return getStructDecoder([\n [\"breakGlassEnabled\", getBooleanDecoder()],\n [\"emergencyContacts\", getArrayDecoder(getAddressDecoder())],\n [\"approvalRequired\", getBooleanDecoder()],\n ]);\n}\n\nexport function getEmergencyAccessConfigCodec(): Codec<\n EmergencyAccessConfigArgs,\n EmergencyAccessConfig\n> {\n return combineCodec(\n getEmergencyAccessConfigEncoder(),\n getEmergencyAccessConfigDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getTransactionTypeDecoder,\n getTransactionTypeEncoder,\n type TransactionType,\n type TransactionTypeArgs,\n} from \".\";\n\n/** Emergency configuration for multisig */\nexport type EmergencyConfig = {\n /** Emergency contacts */\n emergencyContacts: Array<Address>;\n /** Emergency threshold override */\n emergencyThreshold: number;\n /** Emergency timeout (shorter than normal) */\n emergencyTimeout: bigint;\n /** Allowed emergency transaction types */\n emergencyTransactionTypes: Array<TransactionType>;\n /** Emergency freeze enabled */\n freezeEnabled: boolean;\n /** Current freeze status */\n frozen: boolean;\n /** Freeze timestamp */\n frozenAt: Option<bigint>;\n /** Auto-unfreeze after duration */\n autoUnfreezeDuration: Option<bigint>;\n};\n\nexport type EmergencyConfigArgs = {\n /** Emergency contacts */\n emergencyContacts: Array<Address>;\n /** Emergency threshold override */\n emergencyThreshold: number;\n /** Emergency timeout (shorter than normal) */\n emergencyTimeout: number | bigint;\n /** Allowed emergency transaction types */\n emergencyTransactionTypes: Array<TransactionTypeArgs>;\n /** Emergency freeze enabled */\n freezeEnabled: boolean;\n /** Current freeze status */\n frozen: boolean;\n /** Freeze timestamp */\n frozenAt: OptionOrNullable<number | bigint>;\n /** Auto-unfreeze after duration */\n autoUnfreezeDuration: OptionOrNullable<number | bigint>;\n};\n\nexport function getEmergencyConfigEncoder(): Encoder<EmergencyConfigArgs> {\n return getStructEncoder([\n [\"emergencyContacts\", getArrayEncoder(getAddressEncoder())],\n [\"emergencyThreshold\", getU8Encoder()],\n [\"emergencyTimeout\", getI64Encoder()],\n [\"emergencyTransactionTypes\", getArrayEncoder(getTransactionTypeEncoder())],\n [\"freezeEnabled\", getBooleanEncoder()],\n [\"frozen\", getBooleanEncoder()],\n [\"frozenAt\", getOptionEncoder(getI64Encoder())],\n [\"autoUnfreezeDuration\", getOptionEncoder(getI64Encoder())],\n ]);\n}\n\nexport function getEmergencyConfigDecoder(): Decoder<EmergencyConfig> {\n return getStructDecoder([\n [\"emergencyContacts\", getArrayDecoder(getAddressDecoder())],\n [\"emergencyThreshold\", getU8Decoder()],\n [\"emergencyTimeout\", getI64Decoder()],\n [\"emergencyTransactionTypes\", getArrayDecoder(getTransactionTypeDecoder())],\n [\"freezeEnabled\", getBooleanDecoder()],\n [\"frozen\", getBooleanDecoder()],\n [\"frozenAt\", getOptionDecoder(getI64Decoder())],\n [\"autoUnfreezeDuration\", getOptionDecoder(getI64Decoder())],\n ]);\n}\n\nexport function getEmergencyConfigCodec(): Codec<\n EmergencyConfigArgs,\n EmergencyConfig\n> {\n return combineCodec(getEmergencyConfigEncoder(), getEmergencyConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Enforcement levels for constraints */\nexport enum EnforcementLevel {\n Hard,\n Soft,\n Advisory,\n ExceptionBased,\n}\n\nexport type EnforcementLevelArgs = EnforcementLevel;\n\nexport function getEnforcementLevelEncoder(): FixedSizeEncoder<EnforcementLevelArgs> {\n return getEnumEncoder(EnforcementLevel);\n}\n\nexport function getEnforcementLevelDecoder(): FixedSizeDecoder<EnforcementLevel> {\n return getEnumDecoder(EnforcementLevel);\n}\n\nexport function getEnforcementLevelCodec(): FixedSizeCodec<\n EnforcementLevelArgs,\n EnforcementLevel\n> {\n return combineCodec(\n getEnforcementLevelEncoder(),\n getEnforcementLevelDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type EscrowCompletedEvent = {\n escrowId: bigint;\n agent: Address;\n amount: bigint;\n};\n\nexport type EscrowCompletedEventArgs = {\n escrowId: number | bigint;\n agent: Address;\n amount: number | bigint;\n};\n\nexport function getEscrowCompletedEventEncoder(): FixedSizeEncoder<EscrowCompletedEventArgs> {\n return getStructEncoder([\n [\"escrowId\", getU64Encoder()],\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n ]);\n}\n\nexport function getEscrowCompletedEventDecoder(): FixedSizeDecoder<EscrowCompletedEvent> {\n return getStructDecoder([\n [\"escrowId\", getU64Decoder()],\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n ]);\n}\n\nexport function getEscrowCompletedEventCodec(): FixedSizeCodec<\n EscrowCompletedEventArgs,\n EscrowCompletedEvent\n> {\n return combineCodec(\n getEscrowCompletedEventEncoder(),\n getEscrowCompletedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type EscrowCreatedEvent = {\n escrowId: bigint;\n client: Address;\n agent: Address;\n amount: bigint;\n deadline: bigint;\n};\n\nexport type EscrowCreatedEventArgs = {\n escrowId: number | bigint;\n client: Address;\n agent: Address;\n amount: number | bigint;\n deadline: number | bigint;\n};\n\nexport function getEscrowCreatedEventEncoder(): FixedSizeEncoder<EscrowCreatedEventArgs> {\n return getStructEncoder([\n [\"escrowId\", getU64Encoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"deadline\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowCreatedEventDecoder(): FixedSizeDecoder<EscrowCreatedEvent> {\n return getStructDecoder([\n [\"escrowId\", getU64Decoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"deadline\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowCreatedEventCodec(): FixedSizeCodec<\n EscrowCreatedEventArgs,\n EscrowCreatedEvent\n> {\n return combineCodec(\n getEscrowCreatedEventEncoder(),\n getEscrowCreatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Escrow lifecycle states */\nexport enum EscrowStatus {\n Active,\n Completed,\n Disputed,\n Cancelled,\n}\n\nexport type EscrowStatusArgs = EscrowStatus;\n\nexport function getEscrowStatusEncoder(): FixedSizeEncoder<EscrowStatusArgs> {\n return getEnumEncoder(EscrowStatus);\n}\n\nexport function getEscrowStatusDecoder(): FixedSizeDecoder<EscrowStatus> {\n return getEnumDecoder(EscrowStatus);\n}\n\nexport function getEscrowStatusCodec(): FixedSizeCodec<\n EscrowStatusArgs,\n EscrowStatus\n> {\n return combineCodec(getEscrowStatusEncoder(), getEscrowStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getConditionTypeDecoder,\n getConditionTypeEncoder,\n type ConditionType,\n type ConditionTypeArgs,\n} from \".\";\n\n/** Execution conditions for transactions */\nexport type ExecutionCondition = {\n /** Condition type */\n conditionType: ConditionType;\n /** Target value/threshold */\n targetValue: bigint;\n /** Current value */\n currentValue: bigint;\n /** Condition met */\n met: boolean;\n /** Condition description */\n description: string;\n};\n\nexport type ExecutionConditionArgs = {\n /** Condition type */\n conditionType: ConditionTypeArgs;\n /** Target value/threshold */\n targetValue: number | bigint;\n /** Current value */\n currentValue: number | bigint;\n /** Condition met */\n met: boolean;\n /** Condition description */\n description: string;\n};\n\nexport function getExecutionConditionEncoder(): Encoder<ExecutionConditionArgs> {\n return getStructEncoder([\n [\"conditionType\", getConditionTypeEncoder()],\n [\"targetValue\", getU64Encoder()],\n [\"currentValue\", getU64Encoder()],\n [\"met\", getBooleanEncoder()],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getExecutionConditionDecoder(): Decoder<ExecutionCondition> {\n return getStructDecoder([\n [\"conditionType\", getConditionTypeDecoder()],\n [\"targetValue\", getU64Decoder()],\n [\"currentValue\", getU64Decoder()],\n [\"met\", getBooleanDecoder()],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getExecutionConditionCodec(): Codec<\n ExecutionConditionArgs,\n ExecutionCondition\n> {\n return combineCodec(\n getExecutionConditionEncoder(),\n getExecutionConditionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getExecutionConditionDecoder,\n getExecutionConditionEncoder,\n getProposalInstructionDecoder,\n getProposalInstructionEncoder,\n type ExecutionCondition,\n type ExecutionConditionArgs,\n type ProposalInstruction,\n type ProposalInstructionArgs,\n} from \".\";\n\n/** Execution parameters for proposals */\nexport type ExecutionParams = {\n /** Instructions to execute if passed */\n instructions: Array<ProposalInstruction>;\n /** Time delay before execution */\n executionDelay: bigint;\n /** Execution conditions */\n executionConditions: Array<ExecutionCondition>;\n /** Can be cancelled after approval */\n cancellable: boolean;\n /** Automatic execution enabled */\n autoExecute: boolean;\n /** Required execution authority */\n executionAuthority: Address;\n};\n\nexport type ExecutionParamsArgs = {\n /** Instructions to execute if passed */\n instructions: Array<ProposalInstructionArgs>;\n /** Time delay before execution */\n executionDelay: number | bigint;\n /** Execution conditions */\n executionConditions: Array<ExecutionConditionArgs>;\n /** Can be cancelled after approval */\n cancellable: boolean;\n /** Automatic execution enabled */\n autoExecute: boolean;\n /** Required execution authority */\n executionAuthority: Address;\n};\n\nexport function getExecutionParamsEncoder(): Encoder<ExecutionParamsArgs> {\n return getStructEncoder([\n [\"instructions\", getArrayEncoder(getProposalInstructionEncoder())],\n [\"executionDelay\", getI64Encoder()],\n [\"executionConditions\", getArrayEncoder(getExecutionConditionEncoder())],\n [\"cancellable\", getBooleanEncoder()],\n [\"autoExecute\", getBooleanEncoder()],\n [\"executionAuthority\", getAddressEncoder()],\n ]);\n}\n\nexport function getExecutionParamsDecoder(): Decoder<ExecutionParams> {\n return getStructDecoder([\n [\"instructions\", getArrayDecoder(getProposalInstructionDecoder())],\n [\"executionDelay\", getI64Decoder()],\n [\"executionConditions\", getArrayDecoder(getExecutionConditionDecoder())],\n [\"cancellable\", getBooleanDecoder()],\n [\"autoExecute\", getBooleanDecoder()],\n [\"executionAuthority\", getAddressDecoder()],\n ]);\n}\n\nexport function getExecutionParamsCodec(): Codec<\n ExecutionParamsArgs,\n ExecutionParams\n> {\n return combineCodec(getExecutionParamsEncoder(), getExecutionParamsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Cross-platform identity mapping */\nexport type ExternalIdentifier = {\n platform: string;\n externalId: string;\n verified: boolean;\n verifiedAt: bigint;\n};\n\nexport type ExternalIdentifierArgs = {\n platform: string;\n externalId: string;\n verified: boolean;\n verifiedAt: number | bigint;\n};\n\nexport function getExternalIdentifierEncoder(): Encoder<ExternalIdentifierArgs> {\n return getStructEncoder([\n [\"platform\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"externalId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"verified\", getBooleanEncoder()],\n [\"verifiedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getExternalIdentifierDecoder(): Decoder<ExternalIdentifier> {\n return getStructDecoder([\n [\"platform\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"externalId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"verified\", getBooleanDecoder()],\n [\"verifiedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getExternalIdentifierCodec(): Codec<\n ExternalIdentifierArgs,\n ExternalIdentifier\n> {\n return combineCodec(\n getExternalIdentifierEncoder(),\n getExternalIdentifierDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getLatitudeRangeDecoder,\n getLatitudeRangeEncoder,\n getLongitudeRangeDecoder,\n getLongitudeRangeEncoder,\n type LatitudeRange,\n type LatitudeRangeArgs,\n type LongitudeRange,\n type LongitudeRangeArgs,\n} from \".\";\n\n/** Geographic region definition */\nexport type GeographicRegion = {\n /** Region name */\n name: string;\n /** Latitude boundaries */\n latitudeRange: LatitudeRange;\n /** Longitude boundaries */\n longitudeRange: LongitudeRange;\n /** Radius for circular regions (meters) */\n radius: Option<number>;\n};\n\nexport type GeographicRegionArgs = {\n /** Region name */\n name: string;\n /** Latitude boundaries */\n latitudeRange: LatitudeRangeArgs;\n /** Longitude boundaries */\n longitudeRange: LongitudeRangeArgs;\n /** Radius for circular regions (meters) */\n radius: OptionOrNullable<number>;\n};\n\nexport function getGeographicRegionEncoder(): Encoder<GeographicRegionArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"latitudeRange\", getLatitudeRangeEncoder()],\n [\"longitudeRange\", getLongitudeRangeEncoder()],\n [\"radius\", getOptionEncoder(getU32Encoder())],\n ]);\n}\n\nexport function getGeographicRegionDecoder(): Decoder<GeographicRegion> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"latitudeRange\", getLatitudeRangeDecoder()],\n [\"longitudeRange\", getLongitudeRangeDecoder()],\n [\"radius\", getOptionDecoder(getU32Decoder())],\n ]);\n}\n\nexport function getGeographicRegionCodec(): Codec<\n GeographicRegionArgs,\n GeographicRegion\n> {\n return combineCodec(\n getGeographicRegionEncoder(),\n getGeographicRegionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getAccessTierDecoder,\n getAccessTierEncoder,\n getSlashReasonDecoder,\n getSlashReasonEncoder,\n type AccessTier,\n type AccessTierArgs,\n type SlashReason,\n type SlashReasonArgs,\n} from \".\";\n\nexport type GhostSlashedEvent = {\n agent: Address;\n amount: bigint;\n reason: SlashReason;\n newTier: AccessTier;\n};\n\nexport type GhostSlashedEventArgs = {\n agent: Address;\n amount: number | bigint;\n reason: SlashReasonArgs;\n newTier: AccessTierArgs;\n};\n\nexport function getGhostSlashedEventEncoder(): FixedSizeEncoder<GhostSlashedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"reason\", getSlashReasonEncoder()],\n [\"newTier\", getAccessTierEncoder()],\n ]);\n}\n\nexport function getGhostSlashedEventDecoder(): FixedSizeDecoder<GhostSlashedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"reason\", getSlashReasonDecoder()],\n [\"newTier\", getAccessTierDecoder()],\n ]);\n}\n\nexport function getGhostSlashedEventCodec(): FixedSizeCodec<\n GhostSlashedEventArgs,\n GhostSlashedEvent\n> {\n return combineCodec(\n getGhostSlashedEventEncoder(),\n getGhostSlashedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getAccessTierDecoder,\n getAccessTierEncoder,\n type AccessTier,\n type AccessTierArgs,\n} from \".\";\n\nexport type GhostStakedEvent = {\n agent: Address;\n amount: bigint;\n unlockAt: bigint;\n reputationBoostBps: number;\n tier: AccessTier;\n dailyApiCalls: number;\n votingPower: bigint;\n};\n\nexport type GhostStakedEventArgs = {\n agent: Address;\n amount: number | bigint;\n unlockAt: number | bigint;\n reputationBoostBps: number;\n tier: AccessTierArgs;\n dailyApiCalls: number;\n votingPower: number | bigint;\n};\n\nexport function getGhostStakedEventEncoder(): FixedSizeEncoder<GhostStakedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"unlockAt\", getI64Encoder()],\n [\"reputationBoostBps\", getU16Encoder()],\n [\"tier\", getAccessTierEncoder()],\n [\"dailyApiCalls\", getU32Encoder()],\n [\"votingPower\", getU64Encoder()],\n ]);\n}\n\nexport function getGhostStakedEventDecoder(): FixedSizeDecoder<GhostStakedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"unlockAt\", getI64Decoder()],\n [\"reputationBoostBps\", getU16Decoder()],\n [\"tier\", getAccessTierDecoder()],\n [\"dailyApiCalls\", getU32Decoder()],\n [\"votingPower\", getU64Decoder()],\n ]);\n}\n\nexport function getGhostStakedEventCodec(): FixedSizeCodec<\n GhostStakedEventArgs,\n GhostStakedEvent\n> {\n return combineCodec(\n getGhostStakedEventEncoder(),\n getGhostStakedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type GhostUnstakedEvent = { agent: Address; amount: bigint };\n\nexport type GhostUnstakedEventArgs = {\n agent: Address;\n amount: number | bigint;\n};\n\nexport function getGhostUnstakedEventEncoder(): FixedSizeEncoder<GhostUnstakedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n ]);\n}\n\nexport function getGhostUnstakedEventDecoder(): FixedSizeDecoder<GhostUnstakedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n ]);\n}\n\nexport function getGhostUnstakedEventCodec(): FixedSizeCodec<\n GhostUnstakedEventArgs,\n GhostUnstakedEvent\n> {\n return combineCodec(\n getGhostUnstakedEventEncoder(),\n getGhostUnstakedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type GovernanceProposalCreatedEvent = {\n proposal: Address;\n proposalId: bigint;\n proposer: Address;\n title: string;\n};\n\nexport type GovernanceProposalCreatedEventArgs = {\n proposal: Address;\n proposalId: number | bigint;\n proposer: Address;\n title: string;\n};\n\nexport function getGovernanceProposalCreatedEventEncoder(): Encoder<GovernanceProposalCreatedEventArgs> {\n return getStructEncoder([\n [\"proposal\", getAddressEncoder()],\n [\"proposalId\", getU64Encoder()],\n [\"proposer\", getAddressEncoder()],\n [\"title\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getGovernanceProposalCreatedEventDecoder(): Decoder<GovernanceProposalCreatedEvent> {\n return getStructDecoder([\n [\"proposal\", getAddressDecoder()],\n [\"proposalId\", getU64Decoder()],\n [\"proposer\", getAddressDecoder()],\n [\"title\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getGovernanceProposalCreatedEventCodec(): Codec<\n GovernanceProposalCreatedEventArgs,\n GovernanceProposalCreatedEvent\n> {\n return combineCodec(\n getGovernanceProposalCreatedEventEncoder(),\n getGovernanceProposalCreatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Hierarchical boundary definition */\nexport type HierarchicalBoundary = {\n /** Boundary level */\n level: string;\n /** Boundary value */\n value: string;\n /** Include descendants */\n includeDescendants: boolean;\n};\n\nexport type HierarchicalBoundaryArgs = HierarchicalBoundary;\n\nexport function getHierarchicalBoundaryEncoder(): Encoder<HierarchicalBoundaryArgs> {\n return getStructEncoder([\n [\"level\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"value\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"includeDescendants\", getBooleanEncoder()],\n ]);\n}\n\nexport function getHierarchicalBoundaryDecoder(): Decoder<HierarchicalBoundary> {\n return getStructDecoder([\n [\"level\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"value\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"includeDescendants\", getBooleanDecoder()],\n ]);\n}\n\nexport function getHierarchicalBoundaryCodec(): Codec<\n HierarchicalBoundaryArgs,\n HierarchicalBoundary\n> {\n return combineCodec(\n getHierarchicalBoundaryEncoder(),\n getHierarchicalBoundaryDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getNotificationRequirementDecoder,\n getNotificationRequirementEncoder,\n type NotificationRequirement,\n type NotificationRequirementArgs,\n} from \".\";\n\nexport type IncidentResponsePolicies = {\n responseTeam: Array<Address>;\n escalationProcedures: Array<string>;\n notificationRequirements: Array<NotificationRequirement>;\n};\n\nexport type IncidentResponsePoliciesArgs = {\n responseTeam: Array<Address>;\n escalationProcedures: Array<string>;\n notificationRequirements: Array<NotificationRequirementArgs>;\n};\n\nexport function getIncidentResponsePoliciesEncoder(): Encoder<IncidentResponsePoliciesArgs> {\n return getStructEncoder([\n [\"responseTeam\", getArrayEncoder(getAddressEncoder())],\n [\n \"escalationProcedures\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"notificationRequirements\",\n getArrayEncoder(getNotificationRequirementEncoder()),\n ],\n ]);\n}\n\nexport function getIncidentResponsePoliciesDecoder(): Decoder<IncidentResponsePolicies> {\n return getStructDecoder([\n [\"responseTeam\", getArrayDecoder(getAddressDecoder())],\n [\n \"escalationProcedures\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"notificationRequirements\",\n getArrayDecoder(getNotificationRequirementDecoder()),\n ],\n ]);\n}\n\nexport function getIncidentResponsePoliciesCodec(): Codec<\n IncidentResponsePoliciesArgs,\n IncidentResponsePolicies\n> {\n return combineCodec(\n getIncidentResponsePoliciesEncoder(),\n getIncidentResponsePoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getF64Decoder,\n getF64Encoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Latitude range for geographic constraints */\nexport type LatitudeRange = {\n /** Minimum latitude */\n min: number;\n /** Maximum latitude */\n max: number;\n};\n\nexport type LatitudeRangeArgs = LatitudeRange;\n\nexport function getLatitudeRangeEncoder(): FixedSizeEncoder<LatitudeRangeArgs> {\n return getStructEncoder([\n [\"min\", getF64Encoder()],\n [\"max\", getF64Encoder()],\n ]);\n}\n\nexport function getLatitudeRangeDecoder(): FixedSizeDecoder<LatitudeRange> {\n return getStructDecoder([\n [\"min\", getF64Decoder()],\n [\"max\", getF64Decoder()],\n ]);\n}\n\nexport function getLatitudeRangeCodec(): FixedSizeCodec<\n LatitudeRangeArgs,\n LatitudeRange\n> {\n return combineCodec(getLatitudeRangeEncoder(), getLatitudeRangeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getGeographicRegionDecoder,\n getGeographicRegionEncoder,\n type GeographicRegion,\n type GeographicRegionArgs,\n} from \".\";\n\n/** Location-based access constraints */\nexport type LocationConstraints = {\n /** Allowed countries (ISO codes) */\n allowedCountries: Array<string>;\n /** Blocked countries (ISO codes) */\n blockedCountries: Array<string>;\n /** Allowed IP address ranges (CIDR) */\n allowedIpRanges: Array<string>;\n /** Blocked IP address ranges (CIDR) */\n blockedIpRanges: Array<string>;\n /** Geofencing enabled */\n geofencingEnabled: boolean;\n /** Allowed geographic regions */\n allowedRegions: Array<GeographicRegion>;\n};\n\nexport type LocationConstraintsArgs = {\n /** Allowed countries (ISO codes) */\n allowedCountries: Array<string>;\n /** Blocked countries (ISO codes) */\n blockedCountries: Array<string>;\n /** Allowed IP address ranges (CIDR) */\n allowedIpRanges: Array<string>;\n /** Blocked IP address ranges (CIDR) */\n blockedIpRanges: Array<string>;\n /** Geofencing enabled */\n geofencingEnabled: boolean;\n /** Allowed geographic regions */\n allowedRegions: Array<GeographicRegionArgs>;\n};\n\nexport function getLocationConstraintsEncoder(): Encoder<LocationConstraintsArgs> {\n return getStructEncoder([\n [\n \"allowedCountries\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"blockedCountries\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"allowedIpRanges\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"blockedIpRanges\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"geofencingEnabled\", getBooleanEncoder()],\n [\"allowedRegions\", getArrayEncoder(getGeographicRegionEncoder())],\n ]);\n}\n\nexport function getLocationConstraintsDecoder(): Decoder<LocationConstraints> {\n return getStructDecoder([\n [\n \"allowedCountries\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"blockedCountries\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"allowedIpRanges\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"blockedIpRanges\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"geofencingEnabled\", getBooleanDecoder()],\n [\"allowedRegions\", getArrayDecoder(getGeographicRegionDecoder())],\n ]);\n}\n\nexport function getLocationConstraintsCodec(): Codec<\n LocationConstraintsArgs,\n LocationConstraints\n> {\n return combineCodec(\n getLocationConstraintsEncoder(),\n getLocationConstraintsDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getF64Decoder,\n getF64Encoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Longitude range for geographic constraints */\nexport type LongitudeRange = {\n /** Minimum longitude */\n min: number;\n /** Maximum longitude */\n max: number;\n};\n\nexport type LongitudeRangeArgs = LongitudeRange;\n\nexport function getLongitudeRangeEncoder(): FixedSizeEncoder<LongitudeRangeArgs> {\n return getStructEncoder([\n [\"min\", getF64Encoder()],\n [\"max\", getF64Encoder()],\n ]);\n}\n\nexport function getLongitudeRangeDecoder(): FixedSizeDecoder<LongitudeRange> {\n return getStructDecoder([\n [\"min\", getF64Decoder()],\n [\"max\", getF64Decoder()],\n ]);\n}\n\nexport function getLongitudeRangeCodec(): FixedSizeCodec<\n LongitudeRangeArgs,\n LongitudeRange\n> {\n return combineCodec(getLongitudeRangeEncoder(), getLongitudeRangeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Multisig configuration (placeholder - use MultisigTypeConfig) */\nexport type MultisigConfig = {\n /** Threshold of signatures required */\n threshold: number;\n};\n\nexport type MultisigConfigArgs = {\n /** Threshold of signatures required */\n threshold: number;\n};\n\nexport function getMultisigConfigEncoder(): Encoder<MultisigConfigArgs> {\n return getStructEncoder([\n [\"threshold\", getU8Encoder()],\n ]);\n}\n\nexport function getMultisigConfigDecoder(): Decoder<MultisigConfig> {\n return getStructDecoder([\n [\"threshold\", getU8Decoder()],\n ]);\n}\n\nexport function getMultisigConfigCodec(): Codec<MultisigConfigArgs, MultisigConfig> {\n return combineCodec(getMultisigConfigEncoder(), getMultisigConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getMultisigTypeDecoder,\n getMultisigTypeEncoder,\n type MultisigType,\n type MultisigTypeArgs,\n} from \".\";\n\nexport type MultisigCreatedEvent = {\n multisigId: bigint;\n multisigType: MultisigType;\n owner: Address;\n threshold: number;\n signerCount: number;\n timestamp: bigint;\n};\n\nexport type MultisigCreatedEventArgs = {\n multisigId: number | bigint;\n multisigType: MultisigTypeArgs;\n owner: Address;\n threshold: number;\n signerCount: number;\n timestamp: number | bigint;\n};\n\nexport function getMultisigCreatedEventEncoder(): FixedSizeEncoder<MultisigCreatedEventArgs> {\n return getStructEncoder([\n [\"multisigId\", getU64Encoder()],\n [\"multisigType\", getMultisigTypeEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"threshold\", getU8Encoder()],\n [\"signerCount\", getU8Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMultisigCreatedEventDecoder(): FixedSizeDecoder<MultisigCreatedEvent> {\n return getStructDecoder([\n [\"multisigId\", getU64Decoder()],\n [\"multisigType\", getMultisigTypeDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"threshold\", getU8Decoder()],\n [\"signerCount\", getU8Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMultisigCreatedEventCodec(): FixedSizeCodec<\n MultisigCreatedEventArgs,\n MultisigCreatedEvent\n> {\n return combineCodec(\n getMultisigCreatedEventEncoder(),\n getMultisigCreatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\n\n/** Individual signature in multisig */\nexport type MultisigSignature = {\n /** Signer public key */\n signer: Address;\n /** Signature data */\n signature: ReadonlyUint8Array;\n /** Signature timestamp */\n signedAt: bigint;\n /** Signature method/algorithm */\n signatureMethod: string;\n /** Additional verification data */\n verificationData: Option<ReadonlyUint8Array>;\n};\n\nexport type MultisigSignatureArgs = {\n /** Signer public key */\n signer: Address;\n /** Signature data */\n signature: ReadonlyUint8Array;\n /** Signature timestamp */\n signedAt: number | bigint;\n /** Signature method/algorithm */\n signatureMethod: string;\n /** Additional verification data */\n verificationData: OptionOrNullable<ReadonlyUint8Array>;\n};\n\nexport function getMultisigSignatureEncoder(): Encoder<MultisigSignatureArgs> {\n return getStructEncoder([\n [\"signer\", getAddressEncoder()],\n [\"signature\", fixEncoderSize(getBytesEncoder(), 64)],\n [\"signedAt\", getI64Encoder()],\n [\n \"signatureMethod\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\n \"verificationData\",\n getOptionEncoder(\n addEncoderSizePrefix(getBytesEncoder(), getU32Encoder()),\n ),\n ],\n ]);\n}\n\nexport function getMultisigSignatureDecoder(): Decoder<MultisigSignature> {\n return getStructDecoder([\n [\"signer\", getAddressDecoder()],\n [\"signature\", fixDecoderSize(getBytesDecoder(), 64)],\n [\"signedAt\", getI64Decoder()],\n [\n \"signatureMethod\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\n \"verificationData\",\n getOptionDecoder(\n addDecoderSizePrefix(getBytesDecoder(), getU32Decoder()),\n ),\n ],\n ]);\n}\n\nexport function getMultisigSignatureCodec(): Codec<\n MultisigSignatureArgs,\n MultisigSignature\n> {\n return combineCodec(\n getMultisigSignatureEncoder(),\n getMultisigSignatureDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/**\n * MultisigType defines the governance layer a multisig belongs to.\n * Different types have different permissions and requirements.\n */\nexport enum MultisigType {\n Protocol,\n Dao,\n Dispute,\n AgentConsortium,\n AgentTreasury,\n Custom,\n}\n\nexport type MultisigTypeArgs = MultisigType;\n\nexport function getMultisigTypeEncoder(): FixedSizeEncoder<MultisigTypeArgs> {\n return getEnumEncoder(MultisigType);\n}\n\nexport function getMultisigTypeDecoder(): FixedSizeDecoder<MultisigType> {\n return getEnumDecoder(MultisigType);\n}\n\nexport function getMultisigTypeCodec(): FixedSizeCodec<\n MultisigTypeArgs,\n MultisigType\n> {\n return combineCodec(getMultisigTypeEncoder(), getMultisigTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getMultisigTypeDecoder,\n getMultisigTypeEncoder,\n type MultisigType,\n type MultisigTypeArgs,\n} from \".\";\n\n/** Metadata and requirements for each MultisigType */\nexport type MultisigTypeConfig = {\n /** The multisig type */\n multisigType: MultisigType;\n /** Required timelock duration in seconds (0 = no timelock) */\n timelockSeconds: bigint;\n /** Minimum number of signers allowed */\n minSigners: number;\n /** Maximum number of signers allowed */\n maxSigners: number;\n /** Minimum reputation score required (0-10000 basis points) */\n minReputationScore: number;\n /** Whether signers must hold governance tokens */\n requiresTokenHoldings: boolean;\n /** Minimum token balance required (if requires_token_holdings) */\n minTokenBalance: bigint;\n};\n\nexport type MultisigTypeConfigArgs = {\n /** The multisig type */\n multisigType: MultisigTypeArgs;\n /** Required timelock duration in seconds (0 = no timelock) */\n timelockSeconds: number | bigint;\n /** Minimum number of signers allowed */\n minSigners: number;\n /** Maximum number of signers allowed */\n maxSigners: number;\n /** Minimum reputation score required (0-10000 basis points) */\n minReputationScore: number;\n /** Whether signers must hold governance tokens */\n requiresTokenHoldings: boolean;\n /** Minimum token balance required (if requires_token_holdings) */\n minTokenBalance: number | bigint;\n};\n\nexport function getMultisigTypeConfigEncoder(): FixedSizeEncoder<MultisigTypeConfigArgs> {\n return getStructEncoder([\n [\"multisigType\", getMultisigTypeEncoder()],\n [\"timelockSeconds\", getI64Encoder()],\n [\"minSigners\", getU8Encoder()],\n [\"maxSigners\", getU8Encoder()],\n [\"minReputationScore\", getU16Encoder()],\n [\"requiresTokenHoldings\", getBooleanEncoder()],\n [\"minTokenBalance\", getU64Encoder()],\n ]);\n}\n\nexport function getMultisigTypeConfigDecoder(): FixedSizeDecoder<MultisigTypeConfig> {\n return getStructDecoder([\n [\"multisigType\", getMultisigTypeDecoder()],\n [\"timelockSeconds\", getI64Decoder()],\n [\"minSigners\", getU8Decoder()],\n [\"maxSigners\", getU8Decoder()],\n [\"minReputationScore\", getU16Decoder()],\n [\"requiresTokenHoldings\", getBooleanDecoder()],\n [\"minTokenBalance\", getU64Decoder()],\n ]);\n}\n\nexport function getMultisigTypeConfigCodec(): FixedSizeCodec<\n MultisigTypeConfigArgs,\n MultisigTypeConfig\n> {\n return combineCodec(\n getMultisigTypeConfigEncoder(),\n getMultisigTypeConfigDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type NetworkSecurityPolicies = {\n firewallRequired: boolean;\n intrusionDetection: boolean;\n trafficMonitoring: boolean;\n};\n\nexport type NetworkSecurityPoliciesArgs = NetworkSecurityPolicies;\n\nexport function getNetworkSecurityPoliciesEncoder(): FixedSizeEncoder<NetworkSecurityPoliciesArgs> {\n return getStructEncoder([\n [\"firewallRequired\", getBooleanEncoder()],\n [\"intrusionDetection\", getBooleanEncoder()],\n [\"trafficMonitoring\", getBooleanEncoder()],\n ]);\n}\n\nexport function getNetworkSecurityPoliciesDecoder(): FixedSizeDecoder<NetworkSecurityPolicies> {\n return getStructDecoder([\n [\"firewallRequired\", getBooleanDecoder()],\n [\"intrusionDetection\", getBooleanDecoder()],\n [\"trafficMonitoring\", getBooleanDecoder()],\n ]);\n}\n\nexport function getNetworkSecurityPoliciesCodec(): FixedSizeCodec<\n NetworkSecurityPoliciesArgs,\n NetworkSecurityPolicies\n> {\n return combineCodec(\n getNetworkSecurityPoliciesEncoder(),\n getNetworkSecurityPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Notification methods */\nexport enum NotificationMethod {\n OnChain,\n Email,\n Sms,\n Push,\n InApp,\n All,\n}\n\nexport type NotificationMethodArgs = NotificationMethod;\n\nexport function getNotificationMethodEncoder(): FixedSizeEncoder<NotificationMethodArgs> {\n return getEnumEncoder(NotificationMethod);\n}\n\nexport function getNotificationMethodDecoder(): FixedSizeDecoder<NotificationMethod> {\n return getEnumDecoder(NotificationMethod);\n}\n\nexport function getNotificationMethodCodec(): FixedSizeCodec<\n NotificationMethodArgs,\n NotificationMethod\n> {\n return combineCodec(\n getNotificationMethodEncoder(),\n getNotificationMethodDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Notification priorities */\nexport enum NotificationPriority {\n Low,\n Medium,\n High,\n Critical,\n Emergency,\n}\n\nexport type NotificationPriorityArgs = NotificationPriority;\n\nexport function getNotificationPriorityEncoder(): FixedSizeEncoder<NotificationPriorityArgs> {\n return getEnumEncoder(NotificationPriority);\n}\n\nexport function getNotificationPriorityDecoder(): FixedSizeDecoder<NotificationPriority> {\n return getEnumDecoder(NotificationPriority);\n}\n\nexport function getNotificationPriorityCodec(): FixedSizeCodec<\n NotificationPriorityArgs,\n NotificationPriority\n> {\n return combineCodec(\n getNotificationPriorityEncoder(),\n getNotificationPriorityDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getNotificationMethodDecoder,\n getNotificationMethodEncoder,\n getNotificationTargetDecoder,\n getNotificationTargetEncoder,\n getNotificationTimingDecoder,\n getNotificationTimingEncoder,\n getSecurityEventTypeDecoder,\n getSecurityEventTypeEncoder,\n type NotificationMethod,\n type NotificationMethodArgs,\n type NotificationTarget,\n type NotificationTargetArgs,\n type NotificationTiming,\n type NotificationTimingArgs,\n type SecurityEventType,\n type SecurityEventTypeArgs,\n} from \".\";\n\n/** Notification requirements for security events */\nexport type NotificationRequirement = {\n /** Event type */\n eventType: SecurityEventType;\n /** Notification targets */\n targets: Array<NotificationTarget>;\n /** Notification method */\n method: NotificationMethod;\n /** Notification timing */\n timing: NotificationTiming;\n};\n\nexport type NotificationRequirementArgs = {\n /** Event type */\n eventType: SecurityEventTypeArgs;\n /** Notification targets */\n targets: Array<NotificationTargetArgs>;\n /** Notification method */\n method: NotificationMethodArgs;\n /** Notification timing */\n timing: NotificationTimingArgs;\n};\n\nexport function getNotificationRequirementEncoder(): Encoder<NotificationRequirementArgs> {\n return getStructEncoder([\n [\"eventType\", getSecurityEventTypeEncoder()],\n [\"targets\", getArrayEncoder(getNotificationTargetEncoder())],\n [\"method\", getNotificationMethodEncoder()],\n [\"timing\", getNotificationTimingEncoder()],\n ]);\n}\n\nexport function getNotificationRequirementDecoder(): Decoder<NotificationRequirement> {\n return getStructDecoder([\n [\"eventType\", getSecurityEventTypeDecoder()],\n [\"targets\", getArrayDecoder(getNotificationTargetDecoder())],\n [\"method\", getNotificationMethodDecoder()],\n [\"timing\", getNotificationTimingDecoder()],\n ]);\n}\n\nexport function getNotificationRequirementCodec(): Codec<\n NotificationRequirementArgs,\n NotificationRequirement\n> {\n return combineCodec(\n getNotificationRequirementEncoder(),\n getNotificationRequirementDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getNotificationPriorityDecoder,\n getNotificationPriorityEncoder,\n getNotificationTargetTypeDecoder,\n getNotificationTargetTypeEncoder,\n type NotificationPriority,\n type NotificationPriorityArgs,\n type NotificationTargetType,\n type NotificationTargetTypeArgs,\n} from \".\";\n\n/** Notification targets */\nexport type NotificationTarget = {\n /** Target type */\n targetType: NotificationTargetType;\n /** Target identifier */\n targetId: string;\n /** Notification priority */\n priority: NotificationPriority;\n};\n\nexport type NotificationTargetArgs = {\n /** Target type */\n targetType: NotificationTargetTypeArgs;\n /** Target identifier */\n targetId: string;\n /** Notification priority */\n priority: NotificationPriorityArgs;\n};\n\nexport function getNotificationTargetEncoder(): Encoder<NotificationTargetArgs> {\n return getStructEncoder([\n [\"targetType\", getNotificationTargetTypeEncoder()],\n [\"targetId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"priority\", getNotificationPriorityEncoder()],\n ]);\n}\n\nexport function getNotificationTargetDecoder(): Decoder<NotificationTarget> {\n return getStructDecoder([\n [\"targetType\", getNotificationTargetTypeDecoder()],\n [\"targetId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"priority\", getNotificationPriorityDecoder()],\n ]);\n}\n\nexport function getNotificationTargetCodec(): Codec<\n NotificationTargetArgs,\n NotificationTarget\n> {\n return combineCodec(\n getNotificationTargetEncoder(),\n getNotificationTargetDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of notification targets */\nexport enum NotificationTargetType {\n User,\n Administrator,\n SecurityTeam,\n ComplianceTeam,\n Manager,\n AuditTeam,\n ExternalSystem,\n}\n\nexport type NotificationTargetTypeArgs = NotificationTargetType;\n\nexport function getNotificationTargetTypeEncoder(): FixedSizeEncoder<NotificationTargetTypeArgs> {\n return getEnumEncoder(NotificationTargetType);\n}\n\nexport function getNotificationTargetTypeDecoder(): FixedSizeDecoder<NotificationTargetType> {\n return getEnumDecoder(NotificationTargetType);\n}\n\nexport function getNotificationTargetTypeCodec(): FixedSizeCodec<\n NotificationTargetTypeArgs,\n NotificationTargetType\n> {\n return combineCodec(\n getNotificationTargetTypeEncoder(),\n getNotificationTargetTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Notification timing */\nexport enum NotificationTiming {\n Immediate,\n Delayed,\n Batched,\n Scheduled,\n}\n\nexport type NotificationTimingArgs = NotificationTiming;\n\nexport function getNotificationTimingEncoder(): FixedSizeEncoder<NotificationTimingArgs> {\n return getEnumEncoder(NotificationTiming);\n}\n\nexport function getNotificationTimingDecoder(): FixedSizeDecoder<NotificationTiming> {\n return getEnumDecoder(NotificationTiming);\n}\n\nexport function getNotificationTimingCodec(): FixedSizeCodec<\n NotificationTimingArgs,\n NotificationTiming\n> {\n return combineCodec(\n getNotificationTimingEncoder(),\n getNotificationTimingDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type PasswordPolicies = {\n minimumLength: number;\n complexityRequirements: Array<string>;\n historyCount: number;\n maxAge: bigint;\n};\n\nexport type PasswordPoliciesArgs = {\n minimumLength: number;\n complexityRequirements: Array<string>;\n historyCount: number;\n maxAge: number | bigint;\n};\n\nexport function getPasswordPoliciesEncoder(): Encoder<PasswordPoliciesArgs> {\n return getStructEncoder([\n [\"minimumLength\", getU8Encoder()],\n [\n \"complexityRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"historyCount\", getU8Encoder()],\n [\"maxAge\", getI64Encoder()],\n ]);\n}\n\nexport function getPasswordPoliciesDecoder(): Decoder<PasswordPolicies> {\n return getStructDecoder([\n [\"minimumLength\", getU8Decoder()],\n [\n \"complexityRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"historyCount\", getU8Decoder()],\n [\"maxAge\", getI64Decoder()],\n ]);\n}\n\nexport function getPasswordPoliciesCodec(): Codec<\n PasswordPoliciesArgs,\n PasswordPolicies\n> {\n return combineCodec(\n getPasswordPoliciesEncoder(),\n getPasswordPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\nimport {\n getExecutionConditionDecoder,\n getExecutionConditionEncoder,\n getMultisigSignatureDecoder,\n getMultisigSignatureEncoder,\n getTimeLockDecoder,\n getTimeLockEncoder,\n getTransactionPriorityDecoder,\n getTransactionPriorityEncoder,\n getTransactionStatusDecoder,\n getTransactionStatusEncoder,\n getTransactionTypeDecoder,\n getTransactionTypeEncoder,\n type ExecutionCondition,\n type ExecutionConditionArgs,\n type MultisigSignature,\n type MultisigSignatureArgs,\n type TimeLock,\n type TimeLockArgs,\n type TransactionPriority,\n type TransactionPriorityArgs,\n type TransactionStatus,\n type TransactionStatusArgs,\n type TransactionType,\n type TransactionTypeArgs,\n} from \".\";\n\n/** Pending transaction in multisig queue */\nexport type PendingTransaction = {\n /** Transaction ID */\n transactionId: bigint;\n /** Transaction type */\n transactionType: TransactionType;\n /** Target program/account */\n target: Address;\n /** Transaction data */\n data: ReadonlyUint8Array;\n /** Required signatures */\n requiredSignatures: number;\n /** Current signatures */\n signatures: Array<MultisigSignature>;\n /** Creation timestamp */\n createdAt: bigint;\n /** Expiration timestamp */\n expiresAt: bigint;\n /** Transaction priority */\n priority: TransactionPriority;\n /** Execution conditions */\n executionConditions: Array<ExecutionCondition>;\n /** Transaction status */\n status: TransactionStatus;\n /** Time lock (if applicable) */\n timeLock: Option<TimeLock>;\n};\n\nexport type PendingTransactionArgs = {\n /** Transaction ID */\n transactionId: number | bigint;\n /** Transaction type */\n transactionType: TransactionTypeArgs;\n /** Target program/account */\n target: Address;\n /** Transaction data */\n data: ReadonlyUint8Array;\n /** Required signatures */\n requiredSignatures: number;\n /** Current signatures */\n signatures: Array<MultisigSignatureArgs>;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Expiration timestamp */\n expiresAt: number | bigint;\n /** Transaction priority */\n priority: TransactionPriorityArgs;\n /** Execution conditions */\n executionConditions: Array<ExecutionConditionArgs>;\n /** Transaction status */\n status: TransactionStatusArgs;\n /** Time lock (if applicable) */\n timeLock: OptionOrNullable<TimeLockArgs>;\n};\n\nexport function getPendingTransactionEncoder(): Encoder<PendingTransactionArgs> {\n return getStructEncoder([\n [\"transactionId\", getU64Encoder()],\n [\"transactionType\", getTransactionTypeEncoder()],\n [\"target\", getAddressEncoder()],\n [\"data\", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],\n [\"requiredSignatures\", getU8Encoder()],\n [\"signatures\", getArrayEncoder(getMultisigSignatureEncoder())],\n [\"createdAt\", getI64Encoder()],\n [\"expiresAt\", getI64Encoder()],\n [\"priority\", getTransactionPriorityEncoder()],\n [\"executionConditions\", getArrayEncoder(getExecutionConditionEncoder())],\n [\"status\", getTransactionStatusEncoder()],\n [\"timeLock\", getOptionEncoder(getTimeLockEncoder())],\n ]);\n}\n\nexport function getPendingTransactionDecoder(): Decoder<PendingTransaction> {\n return getStructDecoder([\n [\"transactionId\", getU64Decoder()],\n [\"transactionType\", getTransactionTypeDecoder()],\n [\"target\", getAddressDecoder()],\n [\"data\", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],\n [\"requiredSignatures\", getU8Decoder()],\n [\"signatures\", getArrayDecoder(getMultisigSignatureDecoder())],\n [\"createdAt\", getI64Decoder()],\n [\"expiresAt\", getI64Decoder()],\n [\"priority\", getTransactionPriorityDecoder()],\n [\"executionConditions\", getArrayDecoder(getExecutionConditionDecoder())],\n [\"status\", getTransactionStatusDecoder()],\n [\"timeLock\", getOptionDecoder(getTimeLockDecoder())],\n ]);\n}\n\nexport function getPendingTransactionCodec(): Codec<\n PendingTransactionArgs,\n PendingTransaction\n> {\n return combineCodec(\n getPendingTransactionEncoder(),\n getPendingTransactionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getActionDecoder,\n getActionEncoder,\n getPermissionConstraintDecoder,\n getPermissionConstraintEncoder,\n getPermissionMetadataDecoder,\n getPermissionMetadataEncoder,\n getPermissionScopeDecoder,\n getPermissionScopeEncoder,\n type Action,\n type ActionArgs,\n type PermissionConstraint,\n type PermissionConstraintArgs,\n type PermissionMetadata,\n type PermissionMetadataArgs,\n type PermissionScope,\n type PermissionScopeArgs,\n} from \".\";\n\n/** Permission definition */\nexport type Permission = {\n /** Permission identifier */\n permissionId: string;\n /** Permission name */\n name: string;\n /** Permission description */\n description: string;\n /** Resource type this permission applies to */\n resourceType: string;\n /** Actions allowed by this permission */\n actions: Array<Action>;\n /** Permission scope */\n scope: PermissionScope;\n /** Permission constraints */\n constraints: Array<PermissionConstraint>;\n /** Permission metadata */\n metadata: PermissionMetadata;\n};\n\nexport type PermissionArgs = {\n /** Permission identifier */\n permissionId: string;\n /** Permission name */\n name: string;\n /** Permission description */\n description: string;\n /** Resource type this permission applies to */\n resourceType: string;\n /** Actions allowed by this permission */\n actions: Array<ActionArgs>;\n /** Permission scope */\n scope: PermissionScopeArgs;\n /** Permission constraints */\n constraints: Array<PermissionConstraintArgs>;\n /** Permission metadata */\n metadata: PermissionMetadataArgs;\n};\n\nexport function getPermissionEncoder(): Encoder<PermissionArgs> {\n return getStructEncoder([\n [\"permissionId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"resourceType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"actions\", getArrayEncoder(getActionEncoder())],\n [\"scope\", getPermissionScopeEncoder()],\n [\"constraints\", getArrayEncoder(getPermissionConstraintEncoder())],\n [\"metadata\", getPermissionMetadataEncoder()],\n ]);\n}\n\nexport function getPermissionDecoder(): Decoder<Permission> {\n return getStructDecoder([\n [\"permissionId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"resourceType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"actions\", getArrayDecoder(getActionDecoder())],\n [\"scope\", getPermissionScopeDecoder()],\n [\"constraints\", getArrayDecoder(getPermissionConstraintDecoder())],\n [\"metadata\", getPermissionMetadataDecoder()],\n ]);\n}\n\nexport function getPermissionCodec(): Codec<PermissionArgs, Permission> {\n return combineCodec(getPermissionEncoder(), getPermissionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getConstraintConditionDecoder,\n getConstraintConditionEncoder,\n getEnforcementLevelDecoder,\n getEnforcementLevelEncoder,\n getPermissionConstraintTypeDecoder,\n getPermissionConstraintTypeEncoder,\n type ConstraintCondition,\n type ConstraintConditionArgs,\n type EnforcementLevel,\n type EnforcementLevelArgs,\n type PermissionConstraintType,\n type PermissionConstraintTypeArgs,\n} from \".\";\n\n/** Permission constraint */\nexport type PermissionConstraint = {\n /** Constraint type */\n constraintType: PermissionConstraintType;\n /** Constraint conditions */\n conditions: Array<ConstraintCondition>;\n /** Constraint enforcement */\n enforcement: EnforcementLevel;\n};\n\nexport type PermissionConstraintArgs = {\n /** Constraint type */\n constraintType: PermissionConstraintTypeArgs;\n /** Constraint conditions */\n conditions: Array<ConstraintConditionArgs>;\n /** Constraint enforcement */\n enforcement: EnforcementLevelArgs;\n};\n\nexport function getPermissionConstraintEncoder(): Encoder<PermissionConstraintArgs> {\n return getStructEncoder([\n [\"constraintType\", getPermissionConstraintTypeEncoder()],\n [\"conditions\", getArrayEncoder(getConstraintConditionEncoder())],\n [\"enforcement\", getEnforcementLevelEncoder()],\n ]);\n}\n\nexport function getPermissionConstraintDecoder(): Decoder<PermissionConstraint> {\n return getStructDecoder([\n [\"constraintType\", getPermissionConstraintTypeDecoder()],\n [\"conditions\", getArrayDecoder(getConstraintConditionDecoder())],\n [\"enforcement\", getEnforcementLevelDecoder()],\n ]);\n}\n\nexport function getPermissionConstraintCodec(): Codec<\n PermissionConstraintArgs,\n PermissionConstraint\n> {\n return combineCodec(\n getPermissionConstraintEncoder(),\n getPermissionConstraintDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of permission constraints */\nexport enum PermissionConstraintType {\n Temporal,\n Contextual,\n Conditional,\n ResourceBased,\n AttributeBased,\n RiskBased,\n}\n\nexport type PermissionConstraintTypeArgs = PermissionConstraintType;\n\nexport function getPermissionConstraintTypeEncoder(): FixedSizeEncoder<PermissionConstraintTypeArgs> {\n return getEnumEncoder(PermissionConstraintType);\n}\n\nexport function getPermissionConstraintTypeDecoder(): FixedSizeDecoder<PermissionConstraintType> {\n return getEnumDecoder(PermissionConstraintType);\n}\n\nexport function getPermissionConstraintTypeCodec(): FixedSizeCodec<\n PermissionConstraintTypeArgs,\n PermissionConstraintType\n> {\n return combineCodec(\n getPermissionConstraintTypeEncoder(),\n getPermissionConstraintTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getRiskAssessmentDecoder,\n getRiskAssessmentEncoder,\n type RiskAssessment,\n type RiskAssessmentArgs,\n} from \".\";\n\n/** Permission metadata */\nexport type PermissionMetadata = {\n /** Business justification */\n businessJustification: string;\n /** Risk assessment */\n riskAssessment: RiskAssessment;\n /** Compliance mapping */\n complianceMapping: Array<string>;\n /** Related permissions */\n relatedPermissions: Array<string>;\n /** Permission owner */\n owner: Option<Address>;\n /** Last review */\n lastReview: Option<bigint>;\n /** Review frequency */\n reviewFrequency: bigint;\n};\n\nexport type PermissionMetadataArgs = {\n /** Business justification */\n businessJustification: string;\n /** Risk assessment */\n riskAssessment: RiskAssessmentArgs;\n /** Compliance mapping */\n complianceMapping: Array<string>;\n /** Related permissions */\n relatedPermissions: Array<string>;\n /** Permission owner */\n owner: OptionOrNullable<Address>;\n /** Last review */\n lastReview: OptionOrNullable<number | bigint>;\n /** Review frequency */\n reviewFrequency: number | bigint;\n};\n\nexport function getPermissionMetadataEncoder(): Encoder<PermissionMetadataArgs> {\n return getStructEncoder([\n [\n \"businessJustification\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"riskAssessment\", getRiskAssessmentEncoder()],\n [\n \"complianceMapping\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"relatedPermissions\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"owner\", getOptionEncoder(getAddressEncoder())],\n [\"lastReview\", getOptionEncoder(getI64Encoder())],\n [\"reviewFrequency\", getI64Encoder()],\n ]);\n}\n\nexport function getPermissionMetadataDecoder(): Decoder<PermissionMetadata> {\n return getStructDecoder([\n [\n \"businessJustification\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"riskAssessment\", getRiskAssessmentDecoder()],\n [\n \"complianceMapping\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"relatedPermissions\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"owner\", getOptionDecoder(getAddressDecoder())],\n [\"lastReview\", getOptionDecoder(getI64Decoder())],\n [\"reviewFrequency\", getI64Decoder()],\n ]);\n}\n\nexport function getPermissionMetadataCodec(): Codec<\n PermissionMetadataArgs,\n PermissionMetadata\n> {\n return combineCodec(\n getPermissionMetadataEncoder(),\n getPermissionMetadataDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getScopeBoundariesDecoder,\n getScopeBoundariesEncoder,\n getScopeTypeDecoder,\n getScopeTypeEncoder,\n type ScopeBoundaries,\n type ScopeBoundariesArgs,\n type ScopeType,\n type ScopeTypeArgs,\n} from \".\";\n\n/** Permission scope definition */\nexport type PermissionScope = {\n /** Scope type */\n scopeType: ScopeType;\n /** Scope boundaries */\n boundaries: ScopeBoundaries;\n /** Hierarchical scope */\n hierarchical: boolean;\n /** Inherited permissions */\n inherited: boolean;\n};\n\nexport type PermissionScopeArgs = {\n /** Scope type */\n scopeType: ScopeTypeArgs;\n /** Scope boundaries */\n boundaries: ScopeBoundariesArgs;\n /** Hierarchical scope */\n hierarchical: boolean;\n /** Inherited permissions */\n inherited: boolean;\n};\n\nexport function getPermissionScopeEncoder(): Encoder<PermissionScopeArgs> {\n return getStructEncoder([\n [\"scopeType\", getScopeTypeEncoder()],\n [\"boundaries\", getScopeBoundariesEncoder()],\n [\"hierarchical\", getBooleanEncoder()],\n [\"inherited\", getBooleanEncoder()],\n ]);\n}\n\nexport function getPermissionScopeDecoder(): Decoder<PermissionScope> {\n return getStructDecoder([\n [\"scopeType\", getScopeTypeDecoder()],\n [\"boundaries\", getScopeBoundariesDecoder()],\n [\"hierarchical\", getBooleanDecoder()],\n [\"inherited\", getBooleanDecoder()],\n ]);\n}\n\nexport function getPermissionScopeCodec(): Codec<\n PermissionScopeArgs,\n PermissionScope\n> {\n return combineCodec(getPermissionScopeEncoder(), getPermissionScopeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getReviewScheduleDecoder,\n getReviewScheduleEncoder,\n type ReviewSchedule,\n type ReviewScheduleArgs,\n} from \".\";\n\n/** Policy metadata */\nexport type PolicyMetadata = {\n /** Policy author */\n author: Option<Address>;\n /** Policy approver */\n approver: Option<Address>;\n /** Approval date */\n approvalDate: Option<bigint>;\n /** Business justification */\n businessJustification: string;\n /** Compliance references */\n complianceReferences: Array<string>;\n /** Risk assessment */\n riskAssessment: Option<string>;\n /** Review schedule */\n reviewSchedule: ReviewSchedule;\n};\n\nexport type PolicyMetadataArgs = {\n /** Policy author */\n author: OptionOrNullable<Address>;\n /** Policy approver */\n approver: OptionOrNullable<Address>;\n /** Approval date */\n approvalDate: OptionOrNullable<number | bigint>;\n /** Business justification */\n businessJustification: string;\n /** Compliance references */\n complianceReferences: Array<string>;\n /** Risk assessment */\n riskAssessment: OptionOrNullable<string>;\n /** Review schedule */\n reviewSchedule: ReviewScheduleArgs;\n};\n\nexport function getPolicyMetadataEncoder(): Encoder<PolicyMetadataArgs> {\n return getStructEncoder([\n [\"author\", getOptionEncoder(getAddressEncoder())],\n [\"approver\", getOptionEncoder(getAddressEncoder())],\n [\"approvalDate\", getOptionEncoder(getI64Encoder())],\n [\n \"businessJustification\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\n \"complianceReferences\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"riskAssessment\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"reviewSchedule\", getReviewScheduleEncoder()],\n ]);\n}\n\nexport function getPolicyMetadataDecoder(): Decoder<PolicyMetadata> {\n return getStructDecoder([\n [\"author\", getOptionDecoder(getAddressDecoder())],\n [\"approver\", getOptionDecoder(getAddressDecoder())],\n [\"approvalDate\", getOptionDecoder(getI64Decoder())],\n [\n \"businessJustification\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\n \"complianceReferences\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"riskAssessment\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"reviewSchedule\", getReviewScheduleDecoder()],\n ]);\n}\n\nexport function getPolicyMetadataCodec(): Codec<\n PolicyMetadataArgs,\n PolicyMetadata\n> {\n return combineCodec(getPolicyMetadataEncoder(), getPolicyMetadataDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getRuleConditionDecoder,\n getRuleConditionEncoder,\n getRuleEffectDecoder,\n getRuleEffectEncoder,\n type RuleCondition,\n type RuleConditionArgs,\n type RuleEffect,\n type RuleEffectArgs,\n} from \".\";\n\n/** Policy rule definition */\nexport type PolicyRule = {\n /** Rule identifier */\n ruleId: string;\n /** Rule conditions */\n conditions: Array<RuleCondition>;\n /** Rule effect */\n effect: RuleEffect;\n /** Rule priority */\n priority: number;\n /** Rule enabled */\n enabled: boolean;\n};\n\nexport type PolicyRuleArgs = {\n /** Rule identifier */\n ruleId: string;\n /** Rule conditions */\n conditions: Array<RuleConditionArgs>;\n /** Rule effect */\n effect: RuleEffectArgs;\n /** Rule priority */\n priority: number;\n /** Rule enabled */\n enabled: boolean;\n};\n\nexport function getPolicyRuleEncoder(): Encoder<PolicyRuleArgs> {\n return getStructEncoder([\n [\"ruleId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"conditions\", getArrayEncoder(getRuleConditionEncoder())],\n [\"effect\", getRuleEffectEncoder()],\n [\"priority\", getU8Encoder()],\n [\"enabled\", getBooleanEncoder()],\n ]);\n}\n\nexport function getPolicyRuleDecoder(): Decoder<PolicyRule> {\n return getStructDecoder([\n [\"ruleId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"conditions\", getArrayDecoder(getRuleConditionDecoder())],\n [\"effect\", getRuleEffectDecoder()],\n [\"priority\", getU8Decoder()],\n [\"enabled\", getBooleanDecoder()],\n ]);\n}\n\nexport function getPolicyRuleCodec(): Codec<PolicyRuleArgs, PolicyRule> {\n return combineCodec(getPolicyRuleEncoder(), getPolicyRuleDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getScopeInheritanceDecoder,\n getScopeInheritanceEncoder,\n type ScopeInheritance,\n type ScopeInheritanceArgs,\n} from \".\";\n\n/** Policy scope */\nexport type PolicyScope = {\n /** Applicable subjects */\n subjects: Array<string>;\n /** Applicable resources */\n resources: Array<string>;\n /** Applicable actions */\n actions: Array<string>;\n /** Scope inheritance */\n inheritance: ScopeInheritance;\n};\n\nexport type PolicyScopeArgs = {\n /** Applicable subjects */\n subjects: Array<string>;\n /** Applicable resources */\n resources: Array<string>;\n /** Applicable actions */\n actions: Array<string>;\n /** Scope inheritance */\n inheritance: ScopeInheritanceArgs;\n};\n\nexport function getPolicyScopeEncoder(): Encoder<PolicyScopeArgs> {\n return getStructEncoder([\n [\n \"subjects\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"resources\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"actions\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"inheritance\", getScopeInheritanceEncoder()],\n ]);\n}\n\nexport function getPolicyScopeDecoder(): Decoder<PolicyScope> {\n return getStructDecoder([\n [\n \"subjects\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"resources\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"actions\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"inheritance\", getScopeInheritanceDecoder()],\n ]);\n}\n\nexport function getPolicyScopeCodec(): Codec<PolicyScopeArgs, PolicyScope> {\n return combineCodec(getPolicyScopeEncoder(), getPolicyScopeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Policy status */\nexport enum PolicyStatus {\n Active,\n Inactive,\n Draft,\n UnderReview,\n Deprecated,\n Suspended,\n}\n\nexport type PolicyStatusArgs = PolicyStatus;\n\nexport function getPolicyStatusEncoder(): FixedSizeEncoder<PolicyStatusArgs> {\n return getEnumEncoder(PolicyStatus);\n}\n\nexport function getPolicyStatusDecoder(): FixedSizeDecoder<PolicyStatus> {\n return getEnumDecoder(PolicyStatus);\n}\n\nexport function getPolicyStatusCodec(): FixedSizeCodec<\n PolicyStatusArgs,\n PolicyStatus\n> {\n return combineCodec(getPolicyStatusEncoder(), getPolicyStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of access policies */\nexport enum PolicyType {\n Allow,\n Deny,\n Conditional,\n Delegated,\n Temporary,\n Emergency,\n}\n\nexport type PolicyTypeArgs = PolicyType;\n\nexport function getPolicyTypeEncoder(): FixedSizeEncoder<PolicyTypeArgs> {\n return getEnumEncoder(PolicyType);\n}\n\nexport function getPolicyTypeDecoder(): FixedSizeDecoder<PolicyType> {\n return getEnumDecoder(PolicyType);\n}\n\nexport function getPolicyTypeCodec(): FixedSizeCodec<\n PolicyTypeArgs,\n PolicyType\n> {\n return combineCodec(getPolicyTypeEncoder(), getPolicyTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport enum PricingModel {\n Fixed,\n Hourly,\n PerTask,\n Subscription,\n Auction,\n Dynamic,\n RevenueShare,\n Tiered,\n}\n\nexport type PricingModelArgs = PricingModel;\n\nexport function getPricingModelEncoder(): FixedSizeEncoder<PricingModelArgs> {\n return getEnumEncoder(PricingModel);\n}\n\nexport function getPricingModelDecoder(): FixedSizeDecoder<PricingModel> {\n return getEnumDecoder(PricingModel);\n}\n\nexport function getPricingModelCodec(): FixedSizeCodec<\n PricingModelArgs,\n PricingModel\n> {\n return combineCodec(getPricingModelEncoder(), getPricingModelDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Account specification for proposal instruction */\nexport type ProposalAccount = {\n /** Account public key */\n pubkey: Address;\n /** Is signer required */\n isSigner: boolean;\n /** Is writable */\n isWritable: boolean;\n /** Account description */\n description: string;\n};\n\nexport type ProposalAccountArgs = ProposalAccount;\n\nexport function getProposalAccountEncoder(): Encoder<ProposalAccountArgs> {\n return getStructEncoder([\n [\"pubkey\", getAddressEncoder()],\n [\"isSigner\", getBooleanEncoder()],\n [\"isWritable\", getBooleanEncoder()],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getProposalAccountDecoder(): Decoder<ProposalAccount> {\n return getStructDecoder([\n [\"pubkey\", getAddressDecoder()],\n [\"isSigner\", getBooleanDecoder()],\n [\"isWritable\", getBooleanDecoder()],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getProposalAccountCodec(): Codec<\n ProposalAccountArgs,\n ProposalAccount\n> {\n return combineCodec(getProposalAccountEncoder(), getProposalAccountDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\nimport {\n getProposalAccountDecoder,\n getProposalAccountEncoder,\n type ProposalAccount,\n type ProposalAccountArgs,\n} from \".\";\n\n/** Individual instruction in proposal */\nexport type ProposalInstruction = {\n /** Target program */\n programId: Address;\n /** Accounts required */\n accounts: Array<ProposalAccount>;\n /** Instruction data */\n data: ReadonlyUint8Array;\n /** Instruction description */\n description: string;\n};\n\nexport type ProposalInstructionArgs = {\n /** Target program */\n programId: Address;\n /** Accounts required */\n accounts: Array<ProposalAccountArgs>;\n /** Instruction data */\n data: ReadonlyUint8Array;\n /** Instruction description */\n description: string;\n};\n\nexport function getProposalInstructionEncoder(): Encoder<ProposalInstructionArgs> {\n return getStructEncoder([\n [\"programId\", getAddressEncoder()],\n [\"accounts\", getArrayEncoder(getProposalAccountEncoder())],\n [\"data\", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getProposalInstructionDecoder(): Decoder<ProposalInstruction> {\n return getStructDecoder([\n [\"programId\", getAddressDecoder()],\n [\"accounts\", getArrayDecoder(getProposalAccountDecoder())],\n [\"data\", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getProposalInstructionCodec(): Codec<\n ProposalInstructionArgs,\n ProposalInstruction\n> {\n return combineCodec(\n getProposalInstructionEncoder(),\n getProposalInstructionDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\n/** Proposal metadata */\nexport type ProposalMetadata = {\n /** IPFS hash for detailed proposal */\n ipfsHash: Option<string>;\n /** External references */\n externalReferences: Array<string>;\n /** Proposal tags */\n tags: Array<string>;\n /** Risk assessment */\n riskAssessment: Option<string>;\n /** Impact analysis */\n impactAnalysis: Option<string>;\n /** Implementation timeline */\n implementationTimeline: Option<string>;\n};\n\nexport type ProposalMetadataArgs = {\n /** IPFS hash for detailed proposal */\n ipfsHash: OptionOrNullable<string>;\n /** External references */\n externalReferences: Array<string>;\n /** Proposal tags */\n tags: Array<string>;\n /** Risk assessment */\n riskAssessment: OptionOrNullable<string>;\n /** Impact analysis */\n impactAnalysis: OptionOrNullable<string>;\n /** Implementation timeline */\n implementationTimeline: OptionOrNullable<string>;\n};\n\nexport function getProposalMetadataEncoder(): Encoder<ProposalMetadataArgs> {\n return getStructEncoder([\n [\n \"ipfsHash\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"externalReferences\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"tags\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"riskAssessment\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"impactAnalysis\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"implementationTimeline\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getProposalMetadataDecoder(): Decoder<ProposalMetadata> {\n return getStructDecoder([\n [\n \"ipfsHash\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"externalReferences\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"tags\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"riskAssessment\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"impactAnalysis\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"implementationTimeline\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getProposalMetadataCodec(): Codec<\n ProposalMetadataArgs,\n ProposalMetadata\n> {\n return combineCodec(\n getProposalMetadataEncoder(),\n getProposalMetadataDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Proposal execution status */\nexport enum ProposalStatus {\n Draft,\n Active,\n Passed,\n Failed,\n Executed,\n Cancelled,\n Expired,\n Queued,\n}\n\nexport type ProposalStatusArgs = ProposalStatus;\n\nexport function getProposalStatusEncoder(): FixedSizeEncoder<ProposalStatusArgs> {\n return getEnumEncoder(ProposalStatus);\n}\n\nexport function getProposalStatusDecoder(): FixedSizeDecoder<ProposalStatus> {\n return getEnumDecoder(ProposalStatus);\n}\n\nexport function getProposalStatusCodec(): FixedSizeCodec<\n ProposalStatusArgs,\n ProposalStatus\n> {\n return combineCodec(getProposalStatusEncoder(), getProposalStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of governance proposals */\nexport enum ProposalType {\n ParameterUpdate,\n ProtocolUpgrade,\n TreasuryOperation,\n FeeUpdate,\n SecurityUpdate,\n GovernanceUpdate,\n EmergencyAction,\n Custom,\n}\n\nexport type ProposalTypeArgs = ProposalType;\n\nexport function getProposalTypeEncoder(): FixedSizeEncoder<ProposalTypeArgs> {\n return getEnumEncoder(ProposalType);\n}\n\nexport function getProposalTypeDecoder(): FixedSizeDecoder<ProposalType> {\n return getEnumDecoder(ProposalType);\n}\n\nexport function getProposalTypeCodec(): FixedSizeCodec<\n ProposalTypeArgs,\n ProposalType\n> {\n return combineCodec(getProposalTypeEncoder(), getProposalTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Event emitted when protocol config is updated */\nexport type ProtocolConfigUpdatedEvent = {\n authority: Address;\n feesEnabled: boolean;\n escrowFeeBps: number;\n agentRegistrationFee: bigint;\n listingFee: bigint;\n disputeFeeBps: number;\n timestamp: bigint;\n};\n\nexport type ProtocolConfigUpdatedEventArgs = {\n authority: Address;\n feesEnabled: boolean;\n escrowFeeBps: number;\n agentRegistrationFee: number | bigint;\n listingFee: number | bigint;\n disputeFeeBps: number;\n timestamp: number | bigint;\n};\n\nexport function getProtocolConfigUpdatedEventEncoder(): FixedSizeEncoder<ProtocolConfigUpdatedEventArgs> {\n return getStructEncoder([\n [\"authority\", getAddressEncoder()],\n [\"feesEnabled\", getBooleanEncoder()],\n [\"escrowFeeBps\", getU16Encoder()],\n [\"agentRegistrationFee\", getU64Encoder()],\n [\"listingFee\", getU64Encoder()],\n [\"disputeFeeBps\", getU16Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getProtocolConfigUpdatedEventDecoder(): FixedSizeDecoder<ProtocolConfigUpdatedEvent> {\n return getStructDecoder([\n [\"authority\", getAddressDecoder()],\n [\"feesEnabled\", getBooleanDecoder()],\n [\"escrowFeeBps\", getU16Decoder()],\n [\"agentRegistrationFee\", getU64Decoder()],\n [\"listingFee\", getU64Decoder()],\n [\"disputeFeeBps\", getU16Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getProtocolConfigUpdatedEventCodec(): FixedSizeCodec<\n ProtocolConfigUpdatedEventArgs,\n ProtocolConfigUpdatedEvent\n> {\n return combineCodec(\n getProtocolConfigUpdatedEventEncoder(),\n getProtocolConfigUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Methods for calculating quorum */\nexport enum QuorumMethod {\n Absolute,\n Relative,\n Weighted,\n Dynamic,\n}\n\nexport type QuorumMethodArgs = QuorumMethod;\n\nexport function getQuorumMethodEncoder(): FixedSizeEncoder<QuorumMethodArgs> {\n return getEnumEncoder(QuorumMethod);\n}\n\nexport function getQuorumMethodDecoder(): FixedSizeDecoder<QuorumMethod> {\n return getEnumDecoder(QuorumMethod);\n}\n\nexport function getQuorumMethodCodec(): FixedSizeCodec<\n QuorumMethodArgs,\n QuorumMethod\n> {\n return combineCodec(getQuorumMethodEncoder(), getQuorumMethodDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getQuorumMethodDecoder,\n getQuorumMethodEncoder,\n type QuorumMethod,\n type QuorumMethodArgs,\n} from \".\";\n\n/** Quorum requirements for proposals */\nexport type QuorumRequirements = {\n /** Minimum participation rate (0-100) */\n minimumParticipation: number;\n /** Approval threshold (0-100) */\n approvalThreshold: number;\n /** Super majority required */\n superMajorityRequired: boolean;\n /** Minimum total voting power */\n minimumVotingPower: bigint;\n /** Quorum calculation method */\n quorumMethod: QuorumMethod;\n};\n\nexport type QuorumRequirementsArgs = {\n /** Minimum participation rate (0-100) */\n minimumParticipation: number;\n /** Approval threshold (0-100) */\n approvalThreshold: number;\n /** Super majority required */\n superMajorityRequired: boolean;\n /** Minimum total voting power */\n minimumVotingPower: number | bigint;\n /** Quorum calculation method */\n quorumMethod: QuorumMethodArgs;\n};\n\nexport function getQuorumRequirementsEncoder(): FixedSizeEncoder<QuorumRequirementsArgs> {\n return getStructEncoder([\n [\"minimumParticipation\", getU8Encoder()],\n [\"approvalThreshold\", getU8Encoder()],\n [\"superMajorityRequired\", getBooleanEncoder()],\n [\"minimumVotingPower\", getU64Encoder()],\n [\"quorumMethod\", getQuorumMethodEncoder()],\n ]);\n}\n\nexport function getQuorumRequirementsDecoder(): FixedSizeDecoder<QuorumRequirements> {\n return getStructDecoder([\n [\"minimumParticipation\", getU8Decoder()],\n [\"approvalThreshold\", getU8Decoder()],\n [\"superMajorityRequired\", getBooleanDecoder()],\n [\"minimumVotingPower\", getU64Decoder()],\n [\"quorumMethod\", getQuorumMethodDecoder()],\n ]);\n}\n\nexport function getQuorumRequirementsCodec(): FixedSizeCodec<\n QuorumRequirementsArgs,\n QuorumRequirements\n> {\n return combineCodec(\n getQuorumRequirementsEncoder(),\n getQuorumRequirementsDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type RbacConfigInitializedEvent = {\n rbacConfig: Address;\n authority: Address;\n rolesCount: number;\n};\n\nexport type RbacConfigInitializedEventArgs = RbacConfigInitializedEvent;\n\nexport function getRbacConfigInitializedEventEncoder(): FixedSizeEncoder<RbacConfigInitializedEventArgs> {\n return getStructEncoder([\n [\"rbacConfig\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"rolesCount\", getU32Encoder()],\n ]);\n}\n\nexport function getRbacConfigInitializedEventDecoder(): FixedSizeDecoder<RbacConfigInitializedEvent> {\n return getStructDecoder([\n [\"rbacConfig\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"rolesCount\", getU32Decoder()],\n ]);\n}\n\nexport function getRbacConfigInitializedEventCodec(): FixedSizeCodec<\n RbacConfigInitializedEventArgs,\n RbacConfigInitializedEvent\n> {\n return combineCodec(\n getRbacConfigInitializedEventEncoder(),\n getRbacConfigInitializedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Reentrancy guard states */\nexport enum ReentrancyState {\n Unlocked,\n Locked,\n}\n\nexport type ReentrancyStateArgs = ReentrancyState;\n\nexport function getReentrancyStateEncoder(): FixedSizeEncoder<ReentrancyStateArgs> {\n return getEnumEncoder(ReentrancyState);\n}\n\nexport function getReentrancyStateDecoder(): FixedSizeDecoder<ReentrancyState> {\n return getEnumDecoder(ReentrancyState);\n}\n\nexport function getReentrancyStateCodec(): FixedSizeCodec<\n ReentrancyStateArgs,\n ReentrancyState\n> {\n return combineCodec(getReentrancyStateEncoder(), getReentrancyStateDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getComplianceMetricsDecoder,\n getComplianceMetricsEncoder,\n getReportEntryDecoder,\n getReportEntryEncoder,\n getReportSummaryDecoder,\n getReportSummaryEncoder,\n getRiskIndicatorDecoder,\n getRiskIndicatorEncoder,\n type ComplianceMetrics,\n type ComplianceMetricsArgs,\n type ReportEntry,\n type ReportEntryArgs,\n type ReportSummary,\n type ReportSummaryArgs,\n type RiskIndicator,\n type RiskIndicatorArgs,\n} from \".\";\n\n/** Report data container */\nexport type ReportData = {\n /** Summary statistics */\n summary: ReportSummary;\n /** Detailed entries */\n entries: Array<ReportEntry>;\n /** Compliance metrics */\n complianceMetrics: ComplianceMetrics;\n /** Risk indicators */\n riskIndicators: Array<RiskIndicator>;\n /** Recommendations */\n recommendations: Array<string>;\n};\n\nexport type ReportDataArgs = {\n /** Summary statistics */\n summary: ReportSummaryArgs;\n /** Detailed entries */\n entries: Array<ReportEntryArgs>;\n /** Compliance metrics */\n complianceMetrics: ComplianceMetricsArgs;\n /** Risk indicators */\n riskIndicators: Array<RiskIndicatorArgs>;\n /** Recommendations */\n recommendations: Array<string>;\n};\n\nexport function getReportDataEncoder(): Encoder<ReportDataArgs> {\n return getStructEncoder([\n [\"summary\", getReportSummaryEncoder()],\n [\"entries\", getArrayEncoder(getReportEntryEncoder())],\n [\"complianceMetrics\", getComplianceMetricsEncoder()],\n [\"riskIndicators\", getArrayEncoder(getRiskIndicatorEncoder())],\n [\n \"recommendations\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getReportDataDecoder(): Decoder<ReportData> {\n return getStructDecoder([\n [\"summary\", getReportSummaryDecoder()],\n [\"entries\", getArrayDecoder(getReportEntryDecoder())],\n [\"complianceMetrics\", getComplianceMetricsDecoder()],\n [\"riskIndicators\", getArrayDecoder(getRiskIndicatorDecoder())],\n [\n \"recommendations\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getReportDataCodec(): Codec<ReportDataArgs, ReportData> {\n return combineCodec(getReportDataEncoder(), getReportDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Report entry (placeholder) */\nexport type ReportEntry = {\n /** Entry data */\n data: string;\n};\n\nexport type ReportEntryArgs = {\n /** Entry data */\n data: string;\n};\n\nexport function getReportEntryEncoder(): Encoder<ReportEntryArgs> {\n return getStructEncoder([\n [\"data\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getReportEntryDecoder(): Decoder<ReportEntry> {\n return getStructDecoder([\n [\"data\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getReportEntryCodec(): Codec<ReportEntryArgs, ReportEntry> {\n return combineCodec(getReportEntryEncoder(), getReportEntryDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Reporting frequency options */\nexport enum ReportingFrequency {\n Daily,\n Weekly,\n Monthly,\n Quarterly,\n Annually,\n OnDemand,\n}\n\nexport type ReportingFrequencyArgs = ReportingFrequency;\n\nexport function getReportingFrequencyEncoder(): FixedSizeEncoder<ReportingFrequencyArgs> {\n return getEnumEncoder(ReportingFrequency);\n}\n\nexport function getReportingFrequencyDecoder(): FixedSizeDecoder<ReportingFrequency> {\n return getEnumDecoder(ReportingFrequency);\n}\n\nexport function getReportingFrequencyCodec(): FixedSizeCodec<\n ReportingFrequencyArgs,\n ReportingFrequency\n> {\n return combineCodec(\n getReportingFrequencyEncoder(),\n getReportingFrequencyDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Report status */\nexport enum ReportStatus {\n Draft,\n Generated,\n Reviewed,\n Approved,\n Submitted,\n Acknowledged,\n Rejected,\n}\n\nexport type ReportStatusArgs = ReportStatus;\n\nexport function getReportStatusEncoder(): FixedSizeEncoder<ReportStatusArgs> {\n return getEnumEncoder(ReportStatus);\n}\n\nexport function getReportStatusDecoder(): FixedSizeDecoder<ReportStatus> {\n return getEnumDecoder(ReportStatus);\n}\n\nexport function getReportStatusCodec(): FixedSizeCodec<\n ReportStatusArgs,\n ReportStatus\n> {\n return combineCodec(getReportStatusEncoder(), getReportStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Report summary statistics */\nexport type ReportSummary = {\n /** Total transactions */\n totalTransactions: bigint;\n /** Total volume */\n totalVolume: bigint;\n /** High-risk transactions */\n highRiskTransactions: bigint;\n /** Compliance violations */\n complianceViolations: bigint;\n /** Security incidents */\n securityIncidents: bigint;\n /** Average risk score */\n averageRiskScore: number;\n};\n\nexport type ReportSummaryArgs = {\n /** Total transactions */\n totalTransactions: number | bigint;\n /** Total volume */\n totalVolume: number | bigint;\n /** High-risk transactions */\n highRiskTransactions: number | bigint;\n /** Compliance violations */\n complianceViolations: number | bigint;\n /** Security incidents */\n securityIncidents: number | bigint;\n /** Average risk score */\n averageRiskScore: number;\n};\n\nexport function getReportSummaryEncoder(): FixedSizeEncoder<ReportSummaryArgs> {\n return getStructEncoder([\n [\"totalTransactions\", getU64Encoder()],\n [\"totalVolume\", getU64Encoder()],\n [\"highRiskTransactions\", getU64Encoder()],\n [\"complianceViolations\", getU64Encoder()],\n [\"securityIncidents\", getU64Encoder()],\n [\"averageRiskScore\", getU8Encoder()],\n ]);\n}\n\nexport function getReportSummaryDecoder(): FixedSizeDecoder<ReportSummary> {\n return getStructDecoder([\n [\"totalTransactions\", getU64Decoder()],\n [\"totalVolume\", getU64Decoder()],\n [\"highRiskTransactions\", getU64Decoder()],\n [\"complianceViolations\", getU64Decoder()],\n [\"securityIncidents\", getU64Decoder()],\n [\"averageRiskScore\", getU8Decoder()],\n ]);\n}\n\nexport function getReportSummaryCodec(): FixedSizeCodec<\n ReportSummaryArgs,\n ReportSummary\n> {\n return combineCodec(getReportSummaryEncoder(), getReportSummaryDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of compliance reports */\nexport enum ReportType {\n FinancialTransactions,\n SuspiciousActivity,\n RegulatoryCompliance,\n SecurityIncidents,\n AuditSummary,\n RiskAssessment,\n GovernanceActivity,\n DataPrivacyCompliance,\n}\n\nexport type ReportTypeArgs = ReportType;\n\nexport function getReportTypeEncoder(): FixedSizeEncoder<ReportTypeArgs> {\n return getEnumEncoder(ReportType);\n}\n\nexport function getReportTypeDecoder(): FixedSizeDecoder<ReportType> {\n return getEnumDecoder(ReportType);\n}\n\nexport function getReportTypeCodec(): FixedSizeCodec<\n ReportTypeArgs,\n ReportType\n> {\n return combineCodec(getReportTypeEncoder(), getReportTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getReputationSourceTypeDecoder,\n getReputationSourceTypeEncoder,\n type ReputationSourceType,\n type ReputationSourceTypeArgs,\n} from \".\";\n\n/** Reputation component for multi-source Ghost Score */\nexport type ReputationComponent = {\n sourceType: ReputationSourceType;\n score: bigint;\n weight: number;\n lastUpdated: bigint;\n dataPoints: bigint;\n};\n\nexport type ReputationComponentArgs = {\n sourceType: ReputationSourceTypeArgs;\n score: number | bigint;\n weight: number;\n lastUpdated: number | bigint;\n dataPoints: number | bigint;\n};\n\nexport function getReputationComponentEncoder(): FixedSizeEncoder<ReputationComponentArgs> {\n return getStructEncoder([\n [\"sourceType\", getReputationSourceTypeEncoder()],\n [\"score\", getU64Encoder()],\n [\"weight\", getU32Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n [\"dataPoints\", getU64Encoder()],\n ]);\n}\n\nexport function getReputationComponentDecoder(): FixedSizeDecoder<ReputationComponent> {\n return getStructDecoder([\n [\"sourceType\", getReputationSourceTypeDecoder()],\n [\"score\", getU64Decoder()],\n [\"weight\", getU32Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n [\"dataPoints\", getU64Decoder()],\n ]);\n}\n\nexport function getReputationComponentCodec(): FixedSizeCodec<\n ReputationComponentArgs,\n ReputationComponent\n> {\n return combineCodec(\n getReputationComponentEncoder(),\n getReputationComponentDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Events */\nexport type ReputationMetricsInitializedEvent = {\n agent: Address;\n timestamp: bigint;\n};\n\nexport type ReputationMetricsInitializedEventArgs = {\n agent: Address;\n timestamp: number | bigint;\n};\n\nexport function getReputationMetricsInitializedEventEncoder(): FixedSizeEncoder<ReputationMetricsInitializedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getReputationMetricsInitializedEventDecoder(): FixedSizeDecoder<ReputationMetricsInitializedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getReputationMetricsInitializedEventCodec(): FixedSizeCodec<\n ReputationMetricsInitializedEventArgs,\n ReputationMetricsInitializedEvent\n> {\n return combineCodec(\n getReputationMetricsInitializedEventEncoder(),\n getReputationMetricsInitializedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type ReputationPaymentRecordedEvent = {\n agent: Address;\n paymentSignature: string;\n amount: bigint;\n responseTimeMs: bigint;\n success: boolean;\n newReputationScore: bigint;\n timestamp: bigint;\n};\n\nexport type ReputationPaymentRecordedEventArgs = {\n agent: Address;\n paymentSignature: string;\n amount: number | bigint;\n responseTimeMs: number | bigint;\n success: boolean;\n newReputationScore: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getReputationPaymentRecordedEventEncoder(): Encoder<ReputationPaymentRecordedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\n \"paymentSignature\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"amount\", getU64Encoder()],\n [\"responseTimeMs\", getU64Encoder()],\n [\"success\", getBooleanEncoder()],\n [\"newReputationScore\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getReputationPaymentRecordedEventDecoder(): Decoder<ReputationPaymentRecordedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\n \"paymentSignature\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"amount\", getU64Decoder()],\n [\"responseTimeMs\", getU64Decoder()],\n [\"success\", getBooleanDecoder()],\n [\"newReputationScore\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getReputationPaymentRecordedEventCodec(): Codec<\n ReputationPaymentRecordedEventArgs,\n ReputationPaymentRecordedEvent\n> {\n return combineCodec(\n getReputationPaymentRecordedEventEncoder(),\n getReputationPaymentRecordedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type ReputationRatingSubmittedEvent = {\n agent: Address;\n client: Address;\n rating: number;\n newReputationScore: bigint;\n timestamp: bigint;\n};\n\nexport type ReputationRatingSubmittedEventArgs = {\n agent: Address;\n client: Address;\n rating: number;\n newReputationScore: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getReputationRatingSubmittedEventEncoder(): FixedSizeEncoder<ReputationRatingSubmittedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"rating\", getU8Encoder()],\n [\"newReputationScore\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getReputationRatingSubmittedEventDecoder(): FixedSizeDecoder<ReputationRatingSubmittedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"rating\", getU8Decoder()],\n [\"newReputationScore\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getReputationRatingSubmittedEventCodec(): FixedSizeCodec<\n ReputationRatingSubmittedEventArgs,\n ReputationRatingSubmittedEvent\n> {\n return combineCodec(\n getReputationRatingSubmittedEventEncoder(),\n getReputationRatingSubmittedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Multi-source reputation types for Ghost Score */\nexport enum ReputationSourceType {\n AccountAge,\n X402Transactions,\n UserReviews,\n ElizaOSReputation,\n CrossmintVerification,\n EndpointReliability,\n JobCompletions,\n SkillEndorsements,\n}\n\nexport type ReputationSourceTypeArgs = ReputationSourceType;\n\nexport function getReputationSourceTypeEncoder(): FixedSizeEncoder<ReputationSourceTypeArgs> {\n return getEnumEncoder(ReputationSourceType);\n}\n\nexport function getReputationSourceTypeDecoder(): FixedSizeDecoder<ReputationSourceType> {\n return getEnumDecoder(ReputationSourceType);\n}\n\nexport function getReputationSourceTypeCodec(): FixedSizeCodec<\n ReputationSourceTypeArgs,\n ReputationSourceType\n> {\n return combineCodec(\n getReputationSourceTypeEncoder(),\n getReputationSourceTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type ReputationTagsUpdatedEvent = {\n agent: Address;\n totalTags: number;\n skillTagsCount: number;\n behaviorTagsCount: number;\n complianceTagsCount: number;\n tagScoresCount: number;\n timestamp: bigint;\n};\n\nexport type ReputationTagsUpdatedEventArgs = {\n agent: Address;\n totalTags: number;\n skillTagsCount: number;\n behaviorTagsCount: number;\n complianceTagsCount: number;\n tagScoresCount: number;\n timestamp: number | bigint;\n};\n\nexport function getReputationTagsUpdatedEventEncoder(): FixedSizeEncoder<ReputationTagsUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"totalTags\", getU32Encoder()],\n [\"skillTagsCount\", getU32Encoder()],\n [\"behaviorTagsCount\", getU32Encoder()],\n [\"complianceTagsCount\", getU32Encoder()],\n [\"tagScoresCount\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getReputationTagsUpdatedEventDecoder(): FixedSizeDecoder<ReputationTagsUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"totalTags\", getU32Decoder()],\n [\"skillTagsCount\", getU32Decoder()],\n [\"behaviorTagsCount\", getU32Decoder()],\n [\"complianceTagsCount\", getU32Decoder()],\n [\"tagScoresCount\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getReputationTagsUpdatedEventCodec(): FixedSizeCodec<\n ReputationTagsUpdatedEventArgs,\n ReputationTagsUpdatedEvent\n> {\n return combineCodec(\n getReputationTagsUpdatedEventEncoder(),\n getReputationTagsUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Resource constraints (placeholder - use RoleConstraints) */\nexport type ResourceConstraints = {\n /** Maximum resource usage */\n maxUsage: number;\n};\n\nexport type ResourceConstraintsArgs = {\n /** Maximum resource usage */\n maxUsage: number;\n};\n\nexport function getResourceConstraintsEncoder(): Encoder<ResourceConstraintsArgs> {\n return getStructEncoder([\n [\"maxUsage\", getU8Encoder()],\n ]);\n}\n\nexport function getResourceConstraintsDecoder(): Decoder<ResourceConstraints> {\n return getStructDecoder([\n [\"maxUsage\", getU8Decoder()],\n ]);\n}\n\nexport function getResourceConstraintsCodec(): Codec<ResourceConstraintsArgs, ResourceConstraints> {\n return combineCodec(getResourceConstraintsEncoder(), getResourceConstraintsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\n/** Review schedule for policies */\nexport type ReviewSchedule = {\n /** Review frequency */\n frequency: bigint;\n /** Last review date */\n lastReview: Option<bigint>;\n /** Next review date */\n nextReview: bigint;\n /** Review owners */\n reviewOwners: Array<Address>;\n /** Review criteria */\n reviewCriteria: Array<string>;\n};\n\nexport type ReviewScheduleArgs = {\n /** Review frequency */\n frequency: number | bigint;\n /** Last review date */\n lastReview: OptionOrNullable<number | bigint>;\n /** Next review date */\n nextReview: number | bigint;\n /** Review owners */\n reviewOwners: Array<Address>;\n /** Review criteria */\n reviewCriteria: Array<string>;\n};\n\nexport function getReviewScheduleEncoder(): Encoder<ReviewScheduleArgs> {\n return getStructEncoder([\n [\"frequency\", getI64Encoder()],\n [\"lastReview\", getOptionEncoder(getI64Encoder())],\n [\"nextReview\", getI64Encoder()],\n [\"reviewOwners\", getArrayEncoder(getAddressEncoder())],\n [\n \"reviewCriteria\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getReviewScheduleDecoder(): Decoder<ReviewSchedule> {\n return getStructDecoder([\n [\"frequency\", getI64Decoder()],\n [\"lastReview\", getOptionDecoder(getI64Decoder())],\n [\"nextReview\", getI64Decoder()],\n [\"reviewOwners\", getArrayDecoder(getAddressDecoder())],\n [\n \"reviewCriteria\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getReviewScheduleCodec(): Codec<\n ReviewScheduleArgs,\n ReviewSchedule\n> {\n return combineCodec(getReviewScheduleEncoder(), getReviewScheduleDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\n/** Risk acceptance status */\nexport type RiskAcceptance = {\n /** Risk accepted */\n accepted: boolean;\n /** Accepting authority */\n acceptingAuthority: Option<Address>;\n /** Acceptance date */\n acceptanceDate: Option<bigint>;\n /** Acceptance reasoning */\n reasoning: Option<string>;\n /** Review date */\n reviewDate: Option<bigint>;\n};\n\nexport type RiskAcceptanceArgs = {\n /** Risk accepted */\n accepted: boolean;\n /** Accepting authority */\n acceptingAuthority: OptionOrNullable<Address>;\n /** Acceptance date */\n acceptanceDate: OptionOrNullable<number | bigint>;\n /** Acceptance reasoning */\n reasoning: OptionOrNullable<string>;\n /** Review date */\n reviewDate: OptionOrNullable<number | bigint>;\n};\n\nexport function getRiskAcceptanceEncoder(): Encoder<RiskAcceptanceArgs> {\n return getStructEncoder([\n [\"accepted\", getBooleanEncoder()],\n [\"acceptingAuthority\", getOptionEncoder(getAddressEncoder())],\n [\"acceptanceDate\", getOptionEncoder(getI64Encoder())],\n [\n \"reasoning\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"reviewDate\", getOptionEncoder(getI64Encoder())],\n ]);\n}\n\nexport function getRiskAcceptanceDecoder(): Decoder<RiskAcceptance> {\n return getStructDecoder([\n [\"accepted\", getBooleanDecoder()],\n [\"acceptingAuthority\", getOptionDecoder(getAddressDecoder())],\n [\"acceptanceDate\", getOptionDecoder(getI64Decoder())],\n [\n \"reasoning\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"reviewDate\", getOptionDecoder(getI64Decoder())],\n ]);\n}\n\nexport function getRiskAcceptanceCodec(): Codec<\n RiskAcceptanceArgs,\n RiskAcceptance\n> {\n return combineCodec(getRiskAcceptanceEncoder(), getRiskAcceptanceDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getRiskAcceptanceDecoder,\n getRiskAcceptanceEncoder,\n getRiskFactorDecoder,\n getRiskFactorEncoder,\n type RiskAcceptance,\n type RiskAcceptanceArgs,\n type RiskFactor,\n type RiskFactorArgs,\n} from \".\";\n\n/** Risk assessment for permissions */\nexport type RiskAssessment = {\n /** Overall risk score */\n riskScore: number;\n /** Risk factors */\n riskFactors: Array<RiskFactor>;\n /** Mitigation measures */\n mitigationMeasures: Array<string>;\n /** Risk acceptance */\n riskAcceptance: RiskAcceptance;\n};\n\nexport type RiskAssessmentArgs = {\n /** Overall risk score */\n riskScore: number;\n /** Risk factors */\n riskFactors: Array<RiskFactorArgs>;\n /** Mitigation measures */\n mitigationMeasures: Array<string>;\n /** Risk acceptance */\n riskAcceptance: RiskAcceptanceArgs;\n};\n\nexport function getRiskAssessmentEncoder(): Encoder<RiskAssessmentArgs> {\n return getStructEncoder([\n [\"riskScore\", getU8Encoder()],\n [\"riskFactors\", getArrayEncoder(getRiskFactorEncoder())],\n [\n \"mitigationMeasures\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"riskAcceptance\", getRiskAcceptanceEncoder()],\n ]);\n}\n\nexport function getRiskAssessmentDecoder(): Decoder<RiskAssessment> {\n return getStructDecoder([\n [\"riskScore\", getU8Decoder()],\n [\"riskFactors\", getArrayDecoder(getRiskFactorDecoder())],\n [\n \"mitigationMeasures\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"riskAcceptance\", getRiskAcceptanceDecoder()],\n ]);\n}\n\nexport function getRiskAssessmentCodec(): Codec<\n RiskAssessmentArgs,\n RiskAssessment\n> {\n return combineCodec(getRiskAssessmentEncoder(), getRiskAssessmentDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Risk categories */\nexport enum RiskCategory {\n Operational,\n Financial,\n Compliance,\n Security,\n Reputational,\n Technical,\n Legal,\n}\n\nexport type RiskCategoryArgs = RiskCategory;\n\nexport function getRiskCategoryEncoder(): FixedSizeEncoder<RiskCategoryArgs> {\n return getEnumEncoder(RiskCategory);\n}\n\nexport function getRiskCategoryDecoder(): FixedSizeDecoder<RiskCategory> {\n return getEnumDecoder(RiskCategory);\n}\n\nexport function getRiskCategoryCodec(): FixedSizeCodec<\n RiskCategoryArgs,\n RiskCategory\n> {\n return combineCodec(getRiskCategoryEncoder(), getRiskCategoryDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getRiskCategoryDecoder,\n getRiskCategoryEncoder,\n type RiskCategory,\n type RiskCategoryArgs,\n} from \".\";\n\n/** Individual risk factor */\nexport type RiskFactor = {\n /** Factor name */\n name: string;\n /** Factor category */\n category: RiskCategory;\n /** Impact score */\n impact: number;\n /** Likelihood score */\n likelihood: number;\n /** Risk score */\n riskScore: number;\n};\n\nexport type RiskFactorArgs = {\n /** Factor name */\n name: string;\n /** Factor category */\n category: RiskCategoryArgs;\n /** Impact score */\n impact: number;\n /** Likelihood score */\n likelihood: number;\n /** Risk score */\n riskScore: number;\n};\n\nexport function getRiskFactorEncoder(): Encoder<RiskFactorArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"category\", getRiskCategoryEncoder()],\n [\"impact\", getU8Encoder()],\n [\"likelihood\", getU8Encoder()],\n [\"riskScore\", getU8Encoder()],\n ]);\n}\n\nexport function getRiskFactorDecoder(): Decoder<RiskFactor> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"category\", getRiskCategoryDecoder()],\n [\"impact\", getU8Decoder()],\n [\"likelihood\", getU8Decoder()],\n [\"riskScore\", getU8Decoder()],\n ]);\n}\n\nexport function getRiskFactorCodec(): Codec<RiskFactorArgs, RiskFactor> {\n return combineCodec(getRiskFactorEncoder(), getRiskFactorDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getTrendDirectionDecoder,\n getTrendDirectionEncoder,\n getViolationSeverityDecoder,\n getViolationSeverityEncoder,\n type TrendDirection,\n type TrendDirectionArgs,\n type ViolationSeverity,\n type ViolationSeverityArgs,\n} from \".\";\n\n/** Risk indicator */\nexport type RiskIndicator = {\n /** Indicator name */\n name: string;\n /** Current value */\n currentValue: bigint;\n /** Threshold value */\n thresholdValue: bigint;\n /** Trend direction */\n trend: TrendDirection;\n /** Severity if threshold exceeded */\n severity: ViolationSeverity;\n /** Recommended actions */\n recommendedActions: Array<string>;\n};\n\nexport type RiskIndicatorArgs = {\n /** Indicator name */\n name: string;\n /** Current value */\n currentValue: number | bigint;\n /** Threshold value */\n thresholdValue: number | bigint;\n /** Trend direction */\n trend: TrendDirectionArgs;\n /** Severity if threshold exceeded */\n severity: ViolationSeverityArgs;\n /** Recommended actions */\n recommendedActions: Array<string>;\n};\n\nexport function getRiskIndicatorEncoder(): Encoder<RiskIndicatorArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"currentValue\", getU64Encoder()],\n [\"thresholdValue\", getU64Encoder()],\n [\"trend\", getTrendDirectionEncoder()],\n [\"severity\", getViolationSeverityEncoder()],\n [\n \"recommendedActions\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getRiskIndicatorDecoder(): Decoder<RiskIndicator> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"currentValue\", getU64Decoder()],\n [\"thresholdValue\", getU64Decoder()],\n [\"trend\", getTrendDirectionDecoder()],\n [\"severity\", getViolationSeverityDecoder()],\n [\n \"recommendedActions\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getRiskIndicatorCodec(): Codec<\n RiskIndicatorArgs,\n RiskIndicator\n> {\n return combineCodec(getRiskIndicatorEncoder(), getRiskIndicatorDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Risk levels for roles */\nexport enum RiskLevel {\n Low,\n Medium,\n High,\n Critical,\n}\n\nexport type RiskLevelArgs = RiskLevel;\n\nexport function getRiskLevelEncoder(): FixedSizeEncoder<RiskLevelArgs> {\n return getEnumEncoder(RiskLevel);\n}\n\nexport function getRiskLevelDecoder(): FixedSizeDecoder<RiskLevel> {\n return getEnumDecoder(RiskLevel);\n}\n\nexport function getRiskLevelCodec(): FixedSizeCodec<RiskLevelArgs, RiskLevel> {\n return combineCodec(getRiskLevelEncoder(), getRiskLevelDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getRoleConstraintsDecoder,\n getRoleConstraintsEncoder,\n getRoleMetadataDecoder,\n getRoleMetadataEncoder,\n getRoleStatusDecoder,\n getRoleStatusEncoder,\n getRoleTypeDecoder,\n getRoleTypeEncoder,\n type RoleConstraints,\n type RoleConstraintsArgs,\n type RoleMetadata,\n type RoleMetadataArgs,\n type RoleStatus,\n type RoleStatusArgs,\n type RoleType,\n type RoleTypeArgs,\n} from \".\";\n\n/** Role definition with permissions and constraints */\nexport type Role = {\n /** Role identifier */\n roleId: string;\n /** Role name */\n name: string;\n /** Role description */\n description: string;\n /** Role type */\n roleType: RoleType;\n /** Permission assignments */\n permissions: Array<string>;\n /** Role constraints */\n constraints: RoleConstraints;\n /** Inheritance relationships */\n inheritsFrom: Array<string>;\n /** Role metadata */\n metadata: RoleMetadata;\n /** Role status */\n status: RoleStatus;\n /** Creation timestamp */\n createdAt: bigint;\n /** Last modification timestamp */\n modifiedAt: bigint;\n};\n\nexport type RoleArgs = {\n /** Role identifier */\n roleId: string;\n /** Role name */\n name: string;\n /** Role description */\n description: string;\n /** Role type */\n roleType: RoleTypeArgs;\n /** Permission assignments */\n permissions: Array<string>;\n /** Role constraints */\n constraints: RoleConstraintsArgs;\n /** Inheritance relationships */\n inheritsFrom: Array<string>;\n /** Role metadata */\n metadata: RoleMetadataArgs;\n /** Role status */\n status: RoleStatusArgs;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Last modification timestamp */\n modifiedAt: number | bigint;\n};\n\nexport function getRoleEncoder(): Encoder<RoleArgs> {\n return getStructEncoder([\n [\"roleId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"roleType\", getRoleTypeEncoder()],\n [\n \"permissions\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"constraints\", getRoleConstraintsEncoder()],\n [\n \"inheritsFrom\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"metadata\", getRoleMetadataEncoder()],\n [\"status\", getRoleStatusEncoder()],\n [\"createdAt\", getI64Encoder()],\n [\"modifiedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getRoleDecoder(): Decoder<Role> {\n return getStructDecoder([\n [\"roleId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"roleType\", getRoleTypeDecoder()],\n [\n \"permissions\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"constraints\", getRoleConstraintsDecoder()],\n [\n \"inheritsFrom\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"metadata\", getRoleMetadataDecoder()],\n [\"status\", getRoleStatusDecoder()],\n [\"createdAt\", getI64Decoder()],\n [\"modifiedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getRoleCodec(): Codec<RoleArgs, Role> {\n return combineCodec(getRoleEncoder(), getRoleDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getActivationRequirementDecoder,\n getActivationRequirementEncoder,\n getLocationConstraintsDecoder,\n getLocationConstraintsEncoder,\n getResourceConstraintsDecoder,\n getResourceConstraintsEncoder,\n getSessionConstraintsDecoder,\n getSessionConstraintsEncoder,\n getSodConstraintDecoder,\n getSodConstraintEncoder,\n getTimeConstraintsDecoder,\n getTimeConstraintsEncoder,\n type ActivationRequirement,\n type ActivationRequirementArgs,\n type LocationConstraints,\n type LocationConstraintsArgs,\n type ResourceConstraints,\n type ResourceConstraintsArgs,\n type SessionConstraints,\n type SessionConstraintsArgs,\n type SodConstraint,\n type SodConstraintArgs,\n type TimeConstraints,\n type TimeConstraintsArgs,\n} from \".\";\n\n/** Constraints applied to roles */\nexport type RoleConstraints = {\n /** Time-based constraints */\n timeConstraints: Option<TimeConstraints>;\n /** Location-based constraints */\n locationConstraints: Option<LocationConstraints>;\n /** Resource-based constraints */\n resourceConstraints: Option<ResourceConstraints>;\n /** Session-based constraints */\n sessionConstraints: Option<SessionConstraints>;\n /** Segregation of duties constraints */\n sodConstraints: Array<SodConstraint>;\n /** Maximum concurrent sessions */\n maxConcurrentSessions: Option<number>;\n /** Role activation requirements */\n activationRequirements: Array<ActivationRequirement>;\n};\n\nexport type RoleConstraintsArgs = {\n /** Time-based constraints */\n timeConstraints: OptionOrNullable<TimeConstraintsArgs>;\n /** Location-based constraints */\n locationConstraints: OptionOrNullable<LocationConstraintsArgs>;\n /** Resource-based constraints */\n resourceConstraints: OptionOrNullable<ResourceConstraintsArgs>;\n /** Session-based constraints */\n sessionConstraints: OptionOrNullable<SessionConstraintsArgs>;\n /** Segregation of duties constraints */\n sodConstraints: Array<SodConstraintArgs>;\n /** Maximum concurrent sessions */\n maxConcurrentSessions: OptionOrNullable<number>;\n /** Role activation requirements */\n activationRequirements: Array<ActivationRequirementArgs>;\n};\n\nexport function getRoleConstraintsEncoder(): Encoder<RoleConstraintsArgs> {\n return getStructEncoder([\n [\"timeConstraints\", getOptionEncoder(getTimeConstraintsEncoder())],\n [\"locationConstraints\", getOptionEncoder(getLocationConstraintsEncoder())],\n [\"resourceConstraints\", getOptionEncoder(getResourceConstraintsEncoder())],\n [\"sessionConstraints\", getOptionEncoder(getSessionConstraintsEncoder())],\n [\"sodConstraints\", getArrayEncoder(getSodConstraintEncoder())],\n [\"maxConcurrentSessions\", getOptionEncoder(getU32Encoder())],\n [\n \"activationRequirements\",\n getArrayEncoder(getActivationRequirementEncoder()),\n ],\n ]);\n}\n\nexport function getRoleConstraintsDecoder(): Decoder<RoleConstraints> {\n return getStructDecoder([\n [\"timeConstraints\", getOptionDecoder(getTimeConstraintsDecoder())],\n [\"locationConstraints\", getOptionDecoder(getLocationConstraintsDecoder())],\n [\"resourceConstraints\", getOptionDecoder(getResourceConstraintsDecoder())],\n [\"sessionConstraints\", getOptionDecoder(getSessionConstraintsDecoder())],\n [\"sodConstraints\", getArrayDecoder(getSodConstraintDecoder())],\n [\"maxConcurrentSessions\", getOptionDecoder(getU32Decoder())],\n [\n \"activationRequirements\",\n getArrayDecoder(getActivationRequirementDecoder()),\n ],\n ]);\n}\n\nexport function getRoleConstraintsCodec(): Codec<\n RoleConstraintsArgs,\n RoleConstraints\n> {\n return combineCodec(getRoleConstraintsEncoder(), getRoleConstraintsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getDataAccessLevelDecoder,\n getDataAccessLevelEncoder,\n getRiskLevelDecoder,\n getRiskLevelEncoder,\n type DataAccessLevel,\n type DataAccessLevelArgs,\n type RiskLevel,\n type RiskLevelArgs,\n} from \".\";\n\n/** Role metadata for additional information */\nexport type RoleMetadata = {\n /** Business purpose */\n businessPurpose: string;\n /** Risk level */\n riskLevel: RiskLevel;\n /** Data access level */\n dataAccessLevel: DataAccessLevel;\n /** Compliance requirements */\n complianceRequirements: Array<string>;\n /** Role owner */\n roleOwner: Option<Address>;\n /** Role custodian */\n roleCustodian: Option<Address>;\n /** Review frequency */\n reviewFrequency: bigint;\n /** Last review timestamp */\n lastReview: Option<bigint>;\n /** Next review due */\n nextReview: Option<bigint>;\n};\n\nexport type RoleMetadataArgs = {\n /** Business purpose */\n businessPurpose: string;\n /** Risk level */\n riskLevel: RiskLevelArgs;\n /** Data access level */\n dataAccessLevel: DataAccessLevelArgs;\n /** Compliance requirements */\n complianceRequirements: Array<string>;\n /** Role owner */\n roleOwner: OptionOrNullable<Address>;\n /** Role custodian */\n roleCustodian: OptionOrNullable<Address>;\n /** Review frequency */\n reviewFrequency: number | bigint;\n /** Last review timestamp */\n lastReview: OptionOrNullable<number | bigint>;\n /** Next review due */\n nextReview: OptionOrNullable<number | bigint>;\n};\n\nexport function getRoleMetadataEncoder(): Encoder<RoleMetadataArgs> {\n return getStructEncoder([\n [\n \"businessPurpose\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"riskLevel\", getRiskLevelEncoder()],\n [\"dataAccessLevel\", getDataAccessLevelEncoder()],\n [\n \"complianceRequirements\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"roleOwner\", getOptionEncoder(getAddressEncoder())],\n [\"roleCustodian\", getOptionEncoder(getAddressEncoder())],\n [\"reviewFrequency\", getI64Encoder()],\n [\"lastReview\", getOptionEncoder(getI64Encoder())],\n [\"nextReview\", getOptionEncoder(getI64Encoder())],\n ]);\n}\n\nexport function getRoleMetadataDecoder(): Decoder<RoleMetadata> {\n return getStructDecoder([\n [\n \"businessPurpose\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"riskLevel\", getRiskLevelDecoder()],\n [\"dataAccessLevel\", getDataAccessLevelDecoder()],\n [\n \"complianceRequirements\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"roleOwner\", getOptionDecoder(getAddressDecoder())],\n [\"roleCustodian\", getOptionDecoder(getAddressDecoder())],\n [\"reviewFrequency\", getI64Decoder()],\n [\"lastReview\", getOptionDecoder(getI64Decoder())],\n [\"nextReview\", getOptionDecoder(getI64Decoder())],\n ]);\n}\n\nexport function getRoleMetadataCodec(): Codec<RoleMetadataArgs, RoleMetadata> {\n return combineCodec(getRoleMetadataEncoder(), getRoleMetadataDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Role status */\nexport enum RoleStatus {\n Active,\n Inactive,\n Deprecated,\n UnderReview,\n Suspended,\n}\n\nexport type RoleStatusArgs = RoleStatus;\n\nexport function getRoleStatusEncoder(): FixedSizeEncoder<RoleStatusArgs> {\n return getEnumEncoder(RoleStatus);\n}\n\nexport function getRoleStatusDecoder(): FixedSizeDecoder<RoleStatus> {\n return getEnumDecoder(RoleStatus);\n}\n\nexport function getRoleStatusCodec(): FixedSizeCodec<\n RoleStatusArgs,\n RoleStatus\n> {\n return combineCodec(getRoleStatusEncoder(), getRoleStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of roles in the system */\nexport enum RoleType {\n Administrative,\n Operational,\n ReadOnly,\n Compliance,\n Emergency,\n Custom,\n Service,\n Guest,\n}\n\nexport type RoleTypeArgs = RoleType;\n\nexport function getRoleTypeEncoder(): FixedSizeEncoder<RoleTypeArgs> {\n return getEnumEncoder(RoleType);\n}\n\nexport function getRoleTypeDecoder(): FixedSizeDecoder<RoleType> {\n return getEnumDecoder(RoleType);\n}\n\nexport function getRoleTypeCodec(): FixedSizeCodec<RoleTypeArgs, RoleType> {\n return combineCodec(getRoleTypeEncoder(), getRoleTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Rule condition (placeholder) */\nexport type RuleCondition = {\n /** Condition expression */\n expression: string;\n};\n\nexport type RuleConditionArgs = {\n /** Condition expression */\n expression: string;\n};\n\nexport function getRuleConditionEncoder(): Encoder<RuleConditionArgs> {\n return getStructEncoder([\n [\"expression\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getRuleConditionDecoder(): Decoder<RuleCondition> {\n return getStructDecoder([\n [\"expression\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getRuleConditionCodec(): Codec<RuleConditionArgs, RuleCondition> {\n return combineCodec(getRuleConditionEncoder(), getRuleConditionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Rule effects */\nexport enum RuleEffect {\n Allow,\n Deny,\n AuditOnly,\n RequireApproval,\n RequireMfa,\n RequireJustification,\n}\n\nexport type RuleEffectArgs = RuleEffect;\n\nexport function getRuleEffectEncoder(): FixedSizeEncoder<RuleEffectArgs> {\n return getEnumEncoder(RuleEffect);\n}\n\nexport function getRuleEffectDecoder(): FixedSizeDecoder<RuleEffect> {\n return getEnumDecoder(RuleEffect);\n}\n\nexport function getRuleEffectCodec(): FixedSizeCodec<\n RuleEffectArgs,\n RuleEffect\n> {\n return combineCodec(getRuleEffectEncoder(), getRuleEffectDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getHierarchicalBoundaryDecoder,\n getHierarchicalBoundaryEncoder,\n type HierarchicalBoundary,\n type HierarchicalBoundaryArgs,\n} from \".\";\n\n/** Scope boundaries definition */\nexport type ScopeBoundaries = {\n /** Included resources */\n includedResources: Array<string>;\n /** Excluded resources */\n excludedResources: Array<string>;\n /** Resource patterns (regex) */\n resourcePatterns: Array<string>;\n /** Hierarchical boundaries */\n hierarchicalBoundaries: Array<HierarchicalBoundary>;\n};\n\nexport type ScopeBoundariesArgs = {\n /** Included resources */\n includedResources: Array<string>;\n /** Excluded resources */\n excludedResources: Array<string>;\n /** Resource patterns (regex) */\n resourcePatterns: Array<string>;\n /** Hierarchical boundaries */\n hierarchicalBoundaries: Array<HierarchicalBoundaryArgs>;\n};\n\nexport function getScopeBoundariesEncoder(): Encoder<ScopeBoundariesArgs> {\n return getStructEncoder([\n [\n \"includedResources\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"excludedResources\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"resourcePatterns\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"hierarchicalBoundaries\",\n getArrayEncoder(getHierarchicalBoundaryEncoder()),\n ],\n ]);\n}\n\nexport function getScopeBoundariesDecoder(): Decoder<ScopeBoundaries> {\n return getStructDecoder([\n [\n \"includedResources\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"excludedResources\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"resourcePatterns\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"hierarchicalBoundaries\",\n getArrayDecoder(getHierarchicalBoundaryDecoder()),\n ],\n ]);\n}\n\nexport function getScopeBoundariesCodec(): Codec<\n ScopeBoundariesArgs,\n ScopeBoundaries\n> {\n return combineCodec(getScopeBoundariesEncoder(), getScopeBoundariesDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Scope inheritance options */\nexport enum ScopeInheritance {\n None,\n Hierarchical,\n Delegated,\n Inherited,\n}\n\nexport type ScopeInheritanceArgs = ScopeInheritance;\n\nexport function getScopeInheritanceEncoder(): FixedSizeEncoder<ScopeInheritanceArgs> {\n return getEnumEncoder(ScopeInheritance);\n}\n\nexport function getScopeInheritanceDecoder(): FixedSizeDecoder<ScopeInheritance> {\n return getEnumDecoder(ScopeInheritance);\n}\n\nexport function getScopeInheritanceCodec(): FixedSizeCodec<\n ScopeInheritanceArgs,\n ScopeInheritance\n> {\n return combineCodec(\n getScopeInheritanceEncoder(),\n getScopeInheritanceDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of permission scopes */\nexport enum ScopeType {\n Global,\n Organization,\n Department,\n Project,\n Resource,\n Individual,\n}\n\nexport type ScopeTypeArgs = ScopeType;\n\nexport function getScopeTypeEncoder(): FixedSizeEncoder<ScopeTypeArgs> {\n return getEnumEncoder(ScopeType);\n}\n\nexport function getScopeTypeDecoder(): FixedSizeDecoder<ScopeType> {\n return getEnumDecoder(ScopeType);\n}\n\nexport function getScopeTypeCodec(): FixedSizeCodec<ScopeTypeArgs, ScopeType> {\n return combineCodec(getScopeTypeEncoder(), getScopeTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of security events */\nexport enum SecurityEventType {\n AccountLockout,\n PasswordChange,\n PrivilegeEscalation,\n SuspiciousActivity,\n PolicyViolation,\n AccessDenied,\n DataBreach,\n SystemCompromise,\n}\n\nexport type SecurityEventTypeArgs = SecurityEventType;\n\nexport function getSecurityEventTypeEncoder(): FixedSizeEncoder<SecurityEventTypeArgs> {\n return getEnumEncoder(SecurityEventType);\n}\n\nexport function getSecurityEventTypeDecoder(): FixedSizeDecoder<SecurityEventType> {\n return getEnumDecoder(SecurityEventType);\n}\n\nexport function getSecurityEventTypeCodec(): FixedSizeCodec<\n SecurityEventTypeArgs,\n SecurityEventType\n> {\n return combineCodec(\n getSecurityEventTypeEncoder(),\n getSecurityEventTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getAuthenticationPoliciesDecoder,\n getAuthenticationPoliciesEncoder,\n getAuthorizationPoliciesDecoder,\n getAuthorizationPoliciesEncoder,\n getCompliancePoliciesDecoder,\n getCompliancePoliciesEncoder,\n getDataProtectionPoliciesDecoder,\n getDataProtectionPoliciesEncoder,\n getIncidentResponsePoliciesDecoder,\n getIncidentResponsePoliciesEncoder,\n getNetworkSecurityPoliciesDecoder,\n getNetworkSecurityPoliciesEncoder,\n getPasswordPoliciesDecoder,\n getPasswordPoliciesEncoder,\n getSessionPoliciesDecoder,\n getSessionPoliciesEncoder,\n type AuthenticationPolicies,\n type AuthenticationPoliciesArgs,\n type AuthorizationPolicies,\n type AuthorizationPoliciesArgs,\n type CompliancePolicies,\n type CompliancePoliciesArgs,\n type DataProtectionPolicies,\n type DataProtectionPoliciesArgs,\n type IncidentResponsePolicies,\n type IncidentResponsePoliciesArgs,\n type NetworkSecurityPolicies,\n type NetworkSecurityPoliciesArgs,\n type PasswordPolicies,\n type PasswordPoliciesArgs,\n type SessionPolicies,\n type SessionPoliciesArgs,\n} from \".\";\n\n/** Comprehensive security policies configuration */\nexport type SecurityPolicies = {\n /** Authentication policies */\n authentication: AuthenticationPolicies;\n /** Authorization policies */\n authorization: AuthorizationPolicies;\n /** Password policies */\n password: PasswordPolicies;\n /** Session policies */\n session: SessionPolicies;\n /** Data protection policies */\n dataProtection: DataProtectionPolicies;\n /** Network security policies */\n networkSecurity: NetworkSecurityPolicies;\n /** Incident response policies */\n incidentResponse: IncidentResponsePolicies;\n /** Compliance policies */\n compliance: CompliancePolicies;\n};\n\nexport type SecurityPoliciesArgs = {\n /** Authentication policies */\n authentication: AuthenticationPoliciesArgs;\n /** Authorization policies */\n authorization: AuthorizationPoliciesArgs;\n /** Password policies */\n password: PasswordPoliciesArgs;\n /** Session policies */\n session: SessionPoliciesArgs;\n /** Data protection policies */\n dataProtection: DataProtectionPoliciesArgs;\n /** Network security policies */\n networkSecurity: NetworkSecurityPoliciesArgs;\n /** Incident response policies */\n incidentResponse: IncidentResponsePoliciesArgs;\n /** Compliance policies */\n compliance: CompliancePoliciesArgs;\n};\n\nexport function getSecurityPoliciesEncoder(): Encoder<SecurityPoliciesArgs> {\n return getStructEncoder([\n [\"authentication\", getAuthenticationPoliciesEncoder()],\n [\"authorization\", getAuthorizationPoliciesEncoder()],\n [\"password\", getPasswordPoliciesEncoder()],\n [\"session\", getSessionPoliciesEncoder()],\n [\"dataProtection\", getDataProtectionPoliciesEncoder()],\n [\"networkSecurity\", getNetworkSecurityPoliciesEncoder()],\n [\"incidentResponse\", getIncidentResponsePoliciesEncoder()],\n [\"compliance\", getCompliancePoliciesEncoder()],\n ]);\n}\n\nexport function getSecurityPoliciesDecoder(): Decoder<SecurityPolicies> {\n return getStructDecoder([\n [\"authentication\", getAuthenticationPoliciesDecoder()],\n [\"authorization\", getAuthorizationPoliciesDecoder()],\n [\"password\", getPasswordPoliciesDecoder()],\n [\"session\", getSessionPoliciesDecoder()],\n [\"dataProtection\", getDataProtectionPoliciesDecoder()],\n [\"networkSecurity\", getNetworkSecurityPoliciesDecoder()],\n [\"incidentResponse\", getIncidentResponsePoliciesDecoder()],\n [\"compliance\", getCompliancePoliciesDecoder()],\n ]);\n}\n\nexport function getSecurityPoliciesCodec(): Codec<\n SecurityPoliciesArgs,\n SecurityPolicies\n> {\n return combineCodec(\n getSecurityPoliciesEncoder(),\n getSecurityPoliciesDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getServiceEndpointTypeDecoder,\n getServiceEndpointTypeEncoder,\n type ServiceEndpointType,\n type ServiceEndpointTypeArgs,\n} from \".\";\n\n/** Service endpoint in DID document */\nexport type ServiceEndpoint = {\n /** Service identifier (e.g., \"agent-api\") */\n id: string;\n /** Type of service */\n serviceType: ServiceEndpointType;\n /** Service endpoint URI */\n serviceEndpoint: string;\n /** Optional description */\n description: string;\n};\n\nexport type ServiceEndpointArgs = {\n /** Service identifier (e.g., \"agent-api\") */\n id: string;\n /** Type of service */\n serviceType: ServiceEndpointTypeArgs;\n /** Service endpoint URI */\n serviceEndpoint: string;\n /** Optional description */\n description: string;\n};\n\nexport function getServiceEndpointEncoder(): Encoder<ServiceEndpointArgs> {\n return getStructEncoder([\n [\"id\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"serviceType\", getServiceEndpointTypeEncoder()],\n [\n \"serviceEndpoint\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getServiceEndpointDecoder(): Decoder<ServiceEndpoint> {\n return getStructDecoder([\n [\"id\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"serviceType\", getServiceEndpointTypeDecoder()],\n [\n \"serviceEndpoint\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getServiceEndpointCodec(): Codec<\n ServiceEndpointArgs,\n ServiceEndpoint\n> {\n return combineCodec(getServiceEndpointEncoder(), getServiceEndpointDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Service endpoint type */\nexport enum ServiceEndpointType {\n AIAgentService,\n DIDCommMessaging,\n CredentialRepository,\n LinkedDomains,\n Custom,\n}\n\nexport type ServiceEndpointTypeArgs = ServiceEndpointType;\n\nexport function getServiceEndpointTypeEncoder(): FixedSizeEncoder<ServiceEndpointTypeArgs> {\n return getEnumEncoder(ServiceEndpointType);\n}\n\nexport function getServiceEndpointTypeDecoder(): FixedSizeDecoder<ServiceEndpointType> {\n return getEnumDecoder(ServiceEndpointType);\n}\n\nexport function getServiceEndpointTypeCodec(): FixedSizeCodec<\n ServiceEndpointTypeArgs,\n ServiceEndpointType\n> {\n return combineCodec(\n getServiceEndpointTypeEncoder(),\n getServiceEndpointTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Session-based access constraints */\nexport type SessionConstraints = {\n /** Maximum session duration */\n maxSessionDuration: bigint;\n /** Idle timeout */\n idleTimeout: bigint;\n /** Re-authentication interval */\n reauthInterval: bigint;\n /** Multi-factor authentication required */\n mfaRequired: boolean;\n /** Device fingerprinting required */\n deviceFingerprinting: boolean;\n /** Session encryption required */\n sessionEncryption: boolean;\n};\n\nexport type SessionConstraintsArgs = {\n /** Maximum session duration */\n maxSessionDuration: number | bigint;\n /** Idle timeout */\n idleTimeout: number | bigint;\n /** Re-authentication interval */\n reauthInterval: number | bigint;\n /** Multi-factor authentication required */\n mfaRequired: boolean;\n /** Device fingerprinting required */\n deviceFingerprinting: boolean;\n /** Session encryption required */\n sessionEncryption: boolean;\n};\n\nexport function getSessionConstraintsEncoder(): FixedSizeEncoder<SessionConstraintsArgs> {\n return getStructEncoder([\n [\"maxSessionDuration\", getI64Encoder()],\n [\"idleTimeout\", getI64Encoder()],\n [\"reauthInterval\", getI64Encoder()],\n [\"mfaRequired\", getBooleanEncoder()],\n [\"deviceFingerprinting\", getBooleanEncoder()],\n [\"sessionEncryption\", getBooleanEncoder()],\n ]);\n}\n\nexport function getSessionConstraintsDecoder(): FixedSizeDecoder<SessionConstraints> {\n return getStructDecoder([\n [\"maxSessionDuration\", getI64Decoder()],\n [\"idleTimeout\", getI64Decoder()],\n [\"reauthInterval\", getI64Decoder()],\n [\"mfaRequired\", getBooleanDecoder()],\n [\"deviceFingerprinting\", getBooleanDecoder()],\n [\"sessionEncryption\", getBooleanDecoder()],\n ]);\n}\n\nexport function getSessionConstraintsCodec(): FixedSizeCodec<\n SessionConstraintsArgs,\n SessionConstraints\n> {\n return combineCodec(\n getSessionConstraintsEncoder(),\n getSessionConstraintsDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type SessionPolicies = {\n maxSessionDuration: bigint;\n idleTimeout: bigint;\n concurrentSessions: number;\n};\n\nexport type SessionPoliciesArgs = {\n maxSessionDuration: number | bigint;\n idleTimeout: number | bigint;\n concurrentSessions: number;\n};\n\nexport function getSessionPoliciesEncoder(): FixedSizeEncoder<SessionPoliciesArgs> {\n return getStructEncoder([\n [\"maxSessionDuration\", getI64Encoder()],\n [\"idleTimeout\", getI64Encoder()],\n [\"concurrentSessions\", getU8Encoder()],\n ]);\n}\n\nexport function getSessionPoliciesDecoder(): FixedSizeDecoder<SessionPolicies> {\n return getStructDecoder([\n [\"maxSessionDuration\", getI64Decoder()],\n [\"idleTimeout\", getI64Decoder()],\n [\"concurrentSessions\", getU8Decoder()],\n ]);\n}\n\nexport function getSessionPoliciesCodec(): FixedSizeCodec<\n SessionPoliciesArgs,\n SessionPolicies\n> {\n return combineCodec(getSessionPoliciesEncoder(), getSessionPoliciesDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Reasons for slashing staked tokens */\nexport enum SlashReason {\n Fraud,\n DisputeLoss,\n Custom,\n}\n\nexport type SlashReasonArgs = SlashReason;\n\nexport function getSlashReasonEncoder(): FixedSizeEncoder<SlashReasonArgs> {\n return getEnumEncoder(SlashReason);\n}\n\nexport function getSlashReasonDecoder(): FixedSizeDecoder<SlashReason> {\n return getEnumDecoder(SlashReason);\n}\n\nexport function getSlashReasonCodec(): FixedSizeCodec<\n SlashReasonArgs,\n SlashReason\n> {\n return combineCodec(getSlashReasonEncoder(), getSlashReasonDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getEnforcementLevelDecoder,\n getEnforcementLevelEncoder,\n getSodConstraintTypeDecoder,\n getSodConstraintTypeEncoder,\n type EnforcementLevel,\n type EnforcementLevelArgs,\n type SodConstraintType,\n type SodConstraintTypeArgs,\n} from \".\";\n\n/** Segregation of duties constraint */\nexport type SodConstraint = {\n /** Constraint name */\n name: string;\n /** Conflicting roles */\n conflictingRoles: Array<string>;\n /** Constraint type */\n constraintType: SodConstraintType;\n /** Enforcement level */\n enforcementLevel: EnforcementLevel;\n /** Exception procedures */\n exceptionProcedures: Array<string>;\n};\n\nexport type SodConstraintArgs = {\n /** Constraint name */\n name: string;\n /** Conflicting roles */\n conflictingRoles: Array<string>;\n /** Constraint type */\n constraintType: SodConstraintTypeArgs;\n /** Enforcement level */\n enforcementLevel: EnforcementLevelArgs;\n /** Exception procedures */\n exceptionProcedures: Array<string>;\n};\n\nexport function getSodConstraintEncoder(): Encoder<SodConstraintArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"conflictingRoles\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"constraintType\", getSodConstraintTypeEncoder()],\n [\"enforcementLevel\", getEnforcementLevelEncoder()],\n [\n \"exceptionProcedures\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getSodConstraintDecoder(): Decoder<SodConstraint> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"conflictingRoles\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"constraintType\", getSodConstraintTypeDecoder()],\n [\"enforcementLevel\", getEnforcementLevelDecoder()],\n [\n \"exceptionProcedures\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getSodConstraintCodec(): Codec<\n SodConstraintArgs,\n SodConstraint\n> {\n return combineCodec(getSodConstraintEncoder(), getSodConstraintDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of segregation of duties constraints */\nexport enum SodConstraintType {\n Static,\n Dynamic,\n Temporal,\n Contextual,\n}\n\nexport type SodConstraintTypeArgs = SodConstraintType;\n\nexport function getSodConstraintTypeEncoder(): FixedSizeEncoder<SodConstraintTypeArgs> {\n return getEnumEncoder(SodConstraintType);\n}\n\nexport function getSodConstraintTypeDecoder(): FixedSizeDecoder<SodConstraintType> {\n return getEnumDecoder(SodConstraintType);\n}\n\nexport function getSodConstraintTypeCodec(): FixedSizeCodec<\n SodConstraintTypeArgs,\n SodConstraintType\n> {\n return combineCodec(\n getSodConstraintTypeEncoder(),\n getSodConstraintTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type SourceReputationUpdatedEvent = {\n agent: Address;\n sourceName: string;\n sourceScore: number;\n weightedAggregateScore: bigint;\n hasConflict: boolean;\n totalSources: number;\n timestamp: bigint;\n};\n\nexport type SourceReputationUpdatedEventArgs = {\n agent: Address;\n sourceName: string;\n sourceScore: number;\n weightedAggregateScore: number | bigint;\n hasConflict: boolean;\n totalSources: number;\n timestamp: number | bigint;\n};\n\nexport function getSourceReputationUpdatedEventEncoder(): Encoder<SourceReputationUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"sourceName\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"sourceScore\", getU16Encoder()],\n [\"weightedAggregateScore\", getU64Encoder()],\n [\"hasConflict\", getBooleanEncoder()],\n [\"totalSources\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getSourceReputationUpdatedEventDecoder(): Decoder<SourceReputationUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"sourceName\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"sourceScore\", getU16Decoder()],\n [\"weightedAggregateScore\", getU64Decoder()],\n [\"hasConflict\", getBooleanDecoder()],\n [\"totalSources\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getSourceReputationUpdatedEventCodec(): Codec<\n SourceReputationUpdatedEventArgs,\n SourceReputationUpdatedEvent\n> {\n return combineCodec(\n getSourceReputationUpdatedEventEncoder(),\n getSourceReputationUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Source score tracking for multi-source reputation aggregation */\nexport type SourceScore = {\n /** Source identifier (e.g., \"payai\", \"github\", \"custom-webhook\") */\n sourceName: string;\n /** Reputation score from this source (0-1000) */\n score: number;\n /** Weight in basis points (0-10000, where 10000 = 100%) */\n weight: number;\n /** Number of data points contributing to this score */\n dataPoints: number;\n /** Source reliability score in basis points (0-10000) */\n reliability: number;\n /** Last time this source was updated */\n lastUpdated: bigint;\n};\n\nexport type SourceScoreArgs = {\n /** Source identifier (e.g., \"payai\", \"github\", \"custom-webhook\") */\n sourceName: string;\n /** Reputation score from this source (0-1000) */\n score: number;\n /** Weight in basis points (0-10000, where 10000 = 100%) */\n weight: number;\n /** Number of data points contributing to this score */\n dataPoints: number;\n /** Source reliability score in basis points (0-10000) */\n reliability: number;\n /** Last time this source was updated */\n lastUpdated: number | bigint;\n};\n\nexport function getSourceScoreEncoder(): Encoder<SourceScoreArgs> {\n return getStructEncoder([\n [\"sourceName\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"score\", getU16Encoder()],\n [\"weight\", getU16Encoder()],\n [\"dataPoints\", getU32Encoder()],\n [\"reliability\", getU16Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getSourceScoreDecoder(): Decoder<SourceScore> {\n return getStructDecoder([\n [\"sourceName\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"score\", getU16Decoder()],\n [\"weight\", getU16Decoder()],\n [\"dataPoints\", getU32Decoder()],\n [\"reliability\", getU16Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getSourceScoreCodec(): Codec<SourceScoreArgs, SourceScore> {\n return combineCodec(getSourceScoreEncoder(), getSourceScoreDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Triggers for step-up authentication */\nexport enum StepUpTrigger {\n HighRiskAction,\n SensitiveData,\n LargeTransaction,\n NewDevice,\n UnusualLocation,\n TimeBasedRisk,\n BehaviorAnomaly,\n}\n\nexport type StepUpTriggerArgs = StepUpTrigger;\n\nexport function getStepUpTriggerEncoder(): FixedSizeEncoder<StepUpTriggerArgs> {\n return getEnumEncoder(StepUpTrigger);\n}\n\nexport function getStepUpTriggerDecoder(): FixedSizeDecoder<StepUpTrigger> {\n return getEnumDecoder(StepUpTrigger);\n}\n\nexport function getStepUpTriggerCodec(): FixedSizeCodec<\n StepUpTriggerArgs,\n StepUpTrigger\n> {\n return combineCodec(getStepUpTriggerEncoder(), getStepUpTriggerDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\n/** Submission details for regulatory reports */\nexport type SubmissionDetails = {\n /** Submission timestamp */\n submittedAt: bigint;\n /** Regulatory body */\n regulatoryBody: string;\n /** Submission reference */\n submissionReference: string;\n /** Acknowledgment received */\n acknowledged: boolean;\n /** Acknowledgment timestamp */\n acknowledgedAt: Option<bigint>;\n /** Response from regulatory body */\n regulatoryResponse: Option<string>;\n};\n\nexport type SubmissionDetailsArgs = {\n /** Submission timestamp */\n submittedAt: number | bigint;\n /** Regulatory body */\n regulatoryBody: string;\n /** Submission reference */\n submissionReference: string;\n /** Acknowledgment received */\n acknowledged: boolean;\n /** Acknowledgment timestamp */\n acknowledgedAt: OptionOrNullable<number | bigint>;\n /** Response from regulatory body */\n regulatoryResponse: OptionOrNullable<string>;\n};\n\nexport function getSubmissionDetailsEncoder(): Encoder<SubmissionDetailsArgs> {\n return getStructEncoder([\n [\"submittedAt\", getI64Encoder()],\n [\"regulatoryBody\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"submissionReference\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"acknowledged\", getBooleanEncoder()],\n [\"acknowledgedAt\", getOptionEncoder(getI64Encoder())],\n [\n \"regulatoryResponse\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getSubmissionDetailsDecoder(): Decoder<SubmissionDetails> {\n return getStructDecoder([\n [\"submittedAt\", getI64Decoder()],\n [\"regulatoryBody\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"submissionReference\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"acknowledged\", getBooleanDecoder()],\n [\"acknowledgedAt\", getOptionDecoder(getI64Decoder())],\n [\n \"regulatoryResponse\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getSubmissionDetailsCodec(): Codec<\n SubmissionDetailsArgs,\n SubmissionDetails\n> {\n return combineCodec(\n getSubmissionDetailsEncoder(),\n getSubmissionDetailsDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type TagDecayAppliedEvent = {\n agent: Address;\n tagsRemoved: number;\n remainingTags: number;\n timestamp: bigint;\n};\n\nexport type TagDecayAppliedEventArgs = {\n agent: Address;\n tagsRemoved: number;\n remainingTags: number;\n timestamp: number | bigint;\n};\n\nexport function getTagDecayAppliedEventEncoder(): FixedSizeEncoder<TagDecayAppliedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"tagsRemoved\", getU32Encoder()],\n [\"remainingTags\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getTagDecayAppliedEventDecoder(): FixedSizeDecoder<TagDecayAppliedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"tagsRemoved\", getU32Decoder()],\n [\"remainingTags\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getTagDecayAppliedEventCodec(): FixedSizeCodec<\n TagDecayAppliedEventArgs,\n TagDecayAppliedEvent\n> {\n return combineCodec(\n getTagDecayAppliedEventEncoder(),\n getTagDecayAppliedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Tag score with confidence tracking */\nexport type TagScore = {\n /** Tag name (e.g., \"fast-responder\", \"defi-expert\") */\n tagName: string;\n /** Confidence score in basis points (0-10000) */\n confidence: number;\n /** Number of supporting data points for this tag */\n evidenceCount: number;\n /** Last time this tag was updated */\n lastUpdated: bigint;\n};\n\nexport type TagScoreArgs = {\n /** Tag name (e.g., \"fast-responder\", \"defi-expert\") */\n tagName: string;\n /** Confidence score in basis points (0-10000) */\n confidence: number;\n /** Number of supporting data points for this tag */\n evidenceCount: number;\n /** Last time this tag was updated */\n lastUpdated: number | bigint;\n};\n\nexport function getTagScoreEncoder(): Encoder<TagScoreArgs> {\n return getStructEncoder([\n [\"tagName\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"confidence\", getU16Encoder()],\n [\"evidenceCount\", getU32Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getTagScoreDecoder(): Decoder<TagScore> {\n return getStructDecoder([\n [\"tagName\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"confidence\", getU16Decoder()],\n [\"evidenceCount\", getU32Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getTagScoreCodec(): Codec<TagScoreArgs, TagScore> {\n return combineCodec(getTagScoreEncoder(), getTagScoreDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getAccessTierDecoder,\n getAccessTierEncoder,\n type AccessTier,\n type AccessTierArgs,\n} from \".\";\n\nexport type TierUpdatedEvent = {\n agent: Address;\n oldTier: AccessTier;\n newTier: AccessTier;\n totalStaked: bigint;\n dailyApiCalls: number;\n votingPower: bigint;\n};\n\nexport type TierUpdatedEventArgs = {\n agent: Address;\n oldTier: AccessTierArgs;\n newTier: AccessTierArgs;\n totalStaked: number | bigint;\n dailyApiCalls: number;\n votingPower: number | bigint;\n};\n\nexport function getTierUpdatedEventEncoder(): FixedSizeEncoder<TierUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"oldTier\", getAccessTierEncoder()],\n [\"newTier\", getAccessTierEncoder()],\n [\"totalStaked\", getU64Encoder()],\n [\"dailyApiCalls\", getU32Encoder()],\n [\"votingPower\", getU64Encoder()],\n ]);\n}\n\nexport function getTierUpdatedEventDecoder(): FixedSizeDecoder<TierUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"oldTier\", getAccessTierDecoder()],\n [\"newTier\", getAccessTierDecoder()],\n [\"totalStaked\", getU64Decoder()],\n [\"dailyApiCalls\", getU32Decoder()],\n [\"votingPower\", getU64Decoder()],\n ]);\n}\n\nexport function getTierUpdatedEventCodec(): FixedSizeCodec<\n TierUpdatedEventArgs,\n TierUpdatedEvent\n> {\n return combineCodec(\n getTierUpdatedEventEncoder(),\n getTierUpdatedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\n\n/** Time-based access constraints */\nexport type TimeConstraints = {\n /** Allowed hours (0-23) */\n allowedHours: ReadonlyUint8Array;\n /** Allowed days of week (1-7) */\n allowedDays: ReadonlyUint8Array;\n /** Timezone for time calculations */\n timezone: string;\n /** Maximum session duration (seconds) */\n maxSessionDuration: Option<bigint>;\n /** Role expiration timestamp */\n expiresAt: Option<bigint>;\n /** Periodic reactivation required */\n reactivationPeriod: Option<bigint>;\n};\n\nexport type TimeConstraintsArgs = {\n /** Allowed hours (0-23) */\n allowedHours: ReadonlyUint8Array;\n /** Allowed days of week (1-7) */\n allowedDays: ReadonlyUint8Array;\n /** Timezone for time calculations */\n timezone: string;\n /** Maximum session duration (seconds) */\n maxSessionDuration: OptionOrNullable<number | bigint>;\n /** Role expiration timestamp */\n expiresAt: OptionOrNullable<number | bigint>;\n /** Periodic reactivation required */\n reactivationPeriod: OptionOrNullable<number | bigint>;\n};\n\nexport function getTimeConstraintsEncoder(): Encoder<TimeConstraintsArgs> {\n return getStructEncoder([\n [\"allowedHours\", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],\n [\"allowedDays\", addEncoderSizePrefix(getBytesEncoder(), getU32Encoder())],\n [\"timezone\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"maxSessionDuration\", getOptionEncoder(getI64Encoder())],\n [\"expiresAt\", getOptionEncoder(getI64Encoder())],\n [\"reactivationPeriod\", getOptionEncoder(getI64Encoder())],\n ]);\n}\n\nexport function getTimeConstraintsDecoder(): Decoder<TimeConstraints> {\n return getStructDecoder([\n [\"allowedHours\", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],\n [\"allowedDays\", addDecoderSizePrefix(getBytesDecoder(), getU32Decoder())],\n [\"timezone\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"maxSessionDuration\", getOptionDecoder(getI64Decoder())],\n [\"expiresAt\", getOptionDecoder(getI64Decoder())],\n [\"reactivationPeriod\", getOptionDecoder(getI64Decoder())],\n ]);\n}\n\nexport function getTimeConstraintsCodec(): Codec<\n TimeConstraintsArgs,\n TimeConstraints\n> {\n return combineCodec(getTimeConstraintsEncoder(), getTimeConstraintsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getExecutionConditionDecoder,\n getExecutionConditionEncoder,\n getTimeLockTypeDecoder,\n getTimeLockTypeEncoder,\n type ExecutionCondition,\n type ExecutionConditionArgs,\n type TimeLockType,\n type TimeLockTypeArgs,\n} from \".\";\n\n/** Time lock mechanism for delayed execution */\nexport type TimeLock = {\n /** Lock duration in seconds */\n duration: bigint;\n /** Lock start timestamp */\n lockedAt: bigint;\n /** Unlock timestamp */\n unlocksAt: bigint;\n /** Early unlock conditions */\n earlyUnlockConditions: Array<ExecutionCondition>;\n /** Lock type */\n lockType: TimeLockType;\n /** Can be cancelled before execution */\n cancellable: boolean;\n};\n\nexport type TimeLockArgs = {\n /** Lock duration in seconds */\n duration: number | bigint;\n /** Lock start timestamp */\n lockedAt: number | bigint;\n /** Unlock timestamp */\n unlocksAt: number | bigint;\n /** Early unlock conditions */\n earlyUnlockConditions: Array<ExecutionConditionArgs>;\n /** Lock type */\n lockType: TimeLockTypeArgs;\n /** Can be cancelled before execution */\n cancellable: boolean;\n};\n\nexport function getTimeLockEncoder(): Encoder<TimeLockArgs> {\n return getStructEncoder([\n [\"duration\", getI64Encoder()],\n [\"lockedAt\", getI64Encoder()],\n [\"unlocksAt\", getI64Encoder()],\n [\"earlyUnlockConditions\", getArrayEncoder(getExecutionConditionEncoder())],\n [\"lockType\", getTimeLockTypeEncoder()],\n [\"cancellable\", getBooleanEncoder()],\n ]);\n}\n\nexport function getTimeLockDecoder(): Decoder<TimeLock> {\n return getStructDecoder([\n [\"duration\", getI64Decoder()],\n [\"lockedAt\", getI64Decoder()],\n [\"unlocksAt\", getI64Decoder()],\n [\"earlyUnlockConditions\", getArrayDecoder(getExecutionConditionDecoder())],\n [\"lockType\", getTimeLockTypeDecoder()],\n [\"cancellable\", getBooleanDecoder()],\n ]);\n}\n\nexport function getTimeLockCodec(): Codec<TimeLockArgs, TimeLock> {\n return combineCodec(getTimeLockEncoder(), getTimeLockDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of time locks */\nexport enum TimeLockType {\n Standard,\n Vesting,\n Emergency,\n Governance,\n}\n\nexport type TimeLockTypeArgs = TimeLockType;\n\nexport function getTimeLockTypeEncoder(): FixedSizeEncoder<TimeLockTypeArgs> {\n return getEnumEncoder(TimeLockType);\n}\n\nexport function getTimeLockTypeDecoder(): FixedSizeDecoder<TimeLockType> {\n return getEnumDecoder(TimeLockType);\n}\n\nexport function getTimeLockTypeCodec(): FixedSizeCodec<\n TimeLockTypeArgs,\n TimeLockType\n> {\n return combineCodec(getTimeLockTypeEncoder(), getTimeLockTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Transaction priority levels */\nexport enum TransactionPriority {\n Low,\n Normal,\n High,\n Critical,\n Emergency,\n}\n\nexport type TransactionPriorityArgs = TransactionPriority;\n\nexport function getTransactionPriorityEncoder(): FixedSizeEncoder<TransactionPriorityArgs> {\n return getEnumEncoder(TransactionPriority);\n}\n\nexport function getTransactionPriorityDecoder(): FixedSizeDecoder<TransactionPriority> {\n return getEnumDecoder(TransactionPriority);\n}\n\nexport function getTransactionPriorityCodec(): FixedSizeCodec<\n TransactionPriorityArgs,\n TransactionPriority\n> {\n return combineCodec(\n getTransactionPriorityEncoder(),\n getTransactionPriorityDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Transaction execution status */\nexport enum TransactionStatus {\n Pending,\n PartiallyApproved,\n FullyApproved,\n Executed,\n Cancelled,\n Expired,\n Failed,\n}\n\nexport type TransactionStatusArgs = TransactionStatus;\n\nexport function getTransactionStatusEncoder(): FixedSizeEncoder<TransactionStatusArgs> {\n return getEnumEncoder(TransactionStatus);\n}\n\nexport function getTransactionStatusDecoder(): FixedSizeDecoder<TransactionStatus> {\n return getEnumDecoder(TransactionStatus);\n}\n\nexport function getTransactionStatusCodec(): FixedSizeCodec<\n TransactionStatusArgs,\n TransactionStatus\n> {\n return combineCodec(\n getTransactionStatusEncoder(),\n getTransactionStatusDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Types of transactions that can be executed */\nexport enum TransactionType {\n Transfer,\n Withdrawal,\n EscrowRelease,\n ProposalCreation,\n VoteExecution,\n ParameterUpdate,\n SignerAddition,\n SignerRemoval,\n ThresholdUpdate,\n ConfigUpdate,\n EmergencyFreeze,\n EmergencyUnfreeze,\n SecurityPolicyUpdate,\n ProtocolUpgrade,\n FeatureToggle,\n RiskParameterUpdate,\n CustomInstruction,\n}\n\nexport type TransactionTypeArgs = TransactionType;\n\nexport function getTransactionTypeEncoder(): FixedSizeEncoder<TransactionTypeArgs> {\n return getEnumEncoder(TransactionType);\n}\n\nexport function getTransactionTypeDecoder(): FixedSizeDecoder<TransactionType> {\n return getEnumDecoder(TransactionType);\n}\n\nexport function getTransactionTypeCodec(): FixedSizeCodec<\n TransactionTypeArgs,\n TransactionType\n> {\n return combineCodec(getTransactionTypeEncoder(), getTransactionTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Trend direction for risk indicators */\nexport enum TrendDirection {\n Increasing,\n Decreasing,\n Stable,\n Unknown,\n}\n\nexport type TrendDirectionArgs = TrendDirection;\n\nexport function getTrendDirectionEncoder(): FixedSizeEncoder<TrendDirectionArgs> {\n return getEnumEncoder(TrendDirection);\n}\n\nexport function getTrendDirectionDecoder(): FixedSizeDecoder<TrendDirection> {\n return getEnumDecoder(TrendDirection);\n}\n\nexport function getTrendDirectionCodec(): FixedSizeCodec<\n TrendDirectionArgs,\n TrendDirection\n> {\n return combineCodec(getTrendDirectionEncoder(), getTrendDirectionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Methods to unlock accounts */\nexport enum UnlockMethod {\n TimeBasedAutoUnlock,\n AdminUnlock,\n SelfServiceUnlock,\n MultiFactorUnlock,\n SupervisorUnlock,\n}\n\nexport type UnlockMethodArgs = UnlockMethod;\n\nexport function getUnlockMethodEncoder(): FixedSizeEncoder<UnlockMethodArgs> {\n return getEnumEncoder(UnlockMethod);\n}\n\nexport function getUnlockMethodDecoder(): FixedSizeDecoder<UnlockMethod> {\n return getEnumDecoder(UnlockMethod);\n}\n\nexport function getUnlockMethodCodec(): FixedSizeCodec<\n UnlockMethodArgs,\n UnlockMethod\n> {\n return combineCodec(getUnlockMethodEncoder(), getUnlockMethodDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Value types for constraint conditions */\nexport enum ValueType {\n String,\n Number,\n Boolean,\n Date,\n Time,\n Duration,\n List,\n Object,\n}\n\nexport type ValueTypeArgs = ValueType;\n\nexport function getValueTypeEncoder(): FixedSizeEncoder<ValueTypeArgs> {\n return getEnumEncoder(ValueType);\n}\n\nexport function getValueTypeDecoder(): FixedSizeDecoder<ValueType> {\n return getEnumDecoder(ValueType);\n}\n\nexport function getValueTypeCodec(): FixedSizeCodec<ValueTypeArgs, ValueType> {\n return combineCodec(getValueTypeEncoder(), getValueTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getVerificationMethodTypeDecoder,\n getVerificationMethodTypeEncoder,\n getVerificationRelationshipDecoder,\n getVerificationRelationshipEncoder,\n type VerificationMethodType,\n type VerificationMethodTypeArgs,\n type VerificationRelationship,\n type VerificationRelationshipArgs,\n} from \".\";\n\n/**\n * Verification method for DID document\n *\n * Represents a cryptographic key that can be used to verify\n * signatures or perform other cryptographic operations\n */\nexport type VerificationMethod = {\n /** Method identifier (e.g., \"key-1\") */\n id: string;\n /** Type of verification method */\n methodType: VerificationMethodType;\n /** DID of the controller (usually the DID itself) */\n controller: string;\n /** Public key in multibase format (base58btc) */\n publicKeyMultibase: string;\n /** Verification relationships this key has */\n relationships: Array<VerificationRelationship>;\n /** Creation timestamp */\n createdAt: bigint;\n /** Revoked flag */\n revoked: boolean;\n};\n\nexport type VerificationMethodArgs = {\n /** Method identifier (e.g., \"key-1\") */\n id: string;\n /** Type of verification method */\n methodType: VerificationMethodTypeArgs;\n /** DID of the controller (usually the DID itself) */\n controller: string;\n /** Public key in multibase format (base58btc) */\n publicKeyMultibase: string;\n /** Verification relationships this key has */\n relationships: Array<VerificationRelationshipArgs>;\n /** Creation timestamp */\n createdAt: number | bigint;\n /** Revoked flag */\n revoked: boolean;\n};\n\nexport function getVerificationMethodEncoder(): Encoder<VerificationMethodArgs> {\n return getStructEncoder([\n [\"id\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"methodType\", getVerificationMethodTypeEncoder()],\n [\"controller\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"publicKeyMultibase\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"relationships\", getArrayEncoder(getVerificationRelationshipEncoder())],\n [\"createdAt\", getI64Encoder()],\n [\"revoked\", getBooleanEncoder()],\n ]);\n}\n\nexport function getVerificationMethodDecoder(): Decoder<VerificationMethod> {\n return getStructDecoder([\n [\"id\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"methodType\", getVerificationMethodTypeDecoder()],\n [\"controller\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"publicKeyMultibase\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"relationships\", getArrayDecoder(getVerificationRelationshipDecoder())],\n [\"createdAt\", getI64Decoder()],\n [\"revoked\", getBooleanDecoder()],\n ]);\n}\n\nexport function getVerificationMethodCodec(): Codec<\n VerificationMethodArgs,\n VerificationMethod\n> {\n return combineCodec(\n getVerificationMethodEncoder(),\n getVerificationMethodDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Verification method type for DIDs */\nexport enum VerificationMethodType {\n Ed25519VerificationKey2020,\n X25519KeyAgreementKey2020,\n EcdsaSecp256k1VerificationKey2019,\n}\n\nexport type VerificationMethodTypeArgs = VerificationMethodType;\n\nexport function getVerificationMethodTypeEncoder(): FixedSizeEncoder<VerificationMethodTypeArgs> {\n return getEnumEncoder(VerificationMethodType);\n}\n\nexport function getVerificationMethodTypeDecoder(): FixedSizeDecoder<VerificationMethodType> {\n return getEnumDecoder(VerificationMethodType);\n}\n\nexport function getVerificationMethodTypeCodec(): FixedSizeCodec<\n VerificationMethodTypeArgs,\n VerificationMethodType\n> {\n return combineCodec(\n getVerificationMethodTypeEncoder(),\n getVerificationMethodTypeDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Verification relationship types */\nexport enum VerificationRelationship {\n Authentication,\n AssertionMethod,\n KeyAgreement,\n CapabilityInvocation,\n CapabilityDelegation,\n}\n\nexport type VerificationRelationshipArgs = VerificationRelationship;\n\nexport function getVerificationRelationshipEncoder(): FixedSizeEncoder<VerificationRelationshipArgs> {\n return getEnumEncoder(VerificationRelationship);\n}\n\nexport function getVerificationRelationshipDecoder(): FixedSizeDecoder<VerificationRelationship> {\n return getEnumDecoder(VerificationRelationship);\n}\n\nexport function getVerificationRelationshipCodec(): FixedSizeCodec<\n VerificationRelationshipArgs,\n VerificationRelationship\n> {\n return combineCodec(\n getVerificationRelationshipEncoder(),\n getVerificationRelationshipDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Violation severity levels */\nexport enum ViolationSeverity {\n Low,\n Medium,\n High,\n Critical,\n}\n\nexport type ViolationSeverityArgs = ViolationSeverity;\n\nexport function getViolationSeverityEncoder(): FixedSizeEncoder<ViolationSeverityArgs> {\n return getEnumEncoder(ViolationSeverity);\n}\n\nexport function getViolationSeverityDecoder(): FixedSizeDecoder<ViolationSeverity> {\n return getEnumDecoder(ViolationSeverity);\n}\n\nexport function getViolationSeverityCodec(): FixedSizeCodec<\n ViolationSeverityArgs,\n ViolationSeverity\n> {\n return combineCodec(\n getViolationSeverityEncoder(),\n getViolationSeverityDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getDelegationInfoDecoder,\n getDelegationInfoEncoder,\n getVoteChoiceDecoder,\n getVoteChoiceEncoder,\n type DelegationInfo,\n type DelegationInfoArgs,\n type VoteChoice,\n type VoteChoiceArgs,\n} from \".\";\n\n/** Individual vote record */\nexport type Vote = {\n /** Voter public key */\n voter: Address;\n /** Vote choice */\n choice: VoteChoice;\n /** Voting power used */\n votingPower: bigint;\n /** Vote timestamp */\n votedAt: bigint;\n /** Vote reasoning (optional) */\n reasoning: Option<string>;\n /** Delegation info (if delegated vote) */\n delegationInfo: Option<DelegationInfo>;\n};\n\nexport type VoteArgs = {\n /** Voter public key */\n voter: Address;\n /** Vote choice */\n choice: VoteChoiceArgs;\n /** Voting power used */\n votingPower: number | bigint;\n /** Vote timestamp */\n votedAt: number | bigint;\n /** Vote reasoning (optional) */\n reasoning: OptionOrNullable<string>;\n /** Delegation info (if delegated vote) */\n delegationInfo: OptionOrNullable<DelegationInfoArgs>;\n};\n\nexport function getVoteEncoder(): Encoder<VoteArgs> {\n return getStructEncoder([\n [\"voter\", getAddressEncoder()],\n [\"choice\", getVoteChoiceEncoder()],\n [\"votingPower\", getU64Encoder()],\n [\"votedAt\", getI64Encoder()],\n [\n \"reasoning\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"delegationInfo\", getOptionEncoder(getDelegationInfoEncoder())],\n ]);\n}\n\nexport function getVoteDecoder(): Decoder<Vote> {\n return getStructDecoder([\n [\"voter\", getAddressDecoder()],\n [\"choice\", getVoteChoiceDecoder()],\n [\"votingPower\", getU64Decoder()],\n [\"votedAt\", getI64Decoder()],\n [\n \"reasoning\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"delegationInfo\", getOptionDecoder(getDelegationInfoDecoder())],\n ]);\n}\n\nexport function getVoteCodec(): Codec<VoteArgs, Vote> {\n return combineCodec(getVoteEncoder(), getVoteDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\n/** Vote choices */\nexport enum VoteChoice {\n For,\n Against,\n Abstain,\n}\n\nexport type VoteChoiceArgs = VoteChoice;\n\nexport function getVoteChoiceEncoder(): FixedSizeEncoder<VoteChoiceArgs> {\n return getEnumEncoder(VoteChoice);\n}\n\nexport function getVoteChoiceDecoder(): FixedSizeDecoder<VoteChoice> {\n return getEnumDecoder(VoteChoice);\n}\n\nexport function getVoteChoiceCodec(): FixedSizeCodec<\n VoteChoiceArgs,\n VoteChoice\n> {\n return combineCodec(getVoteChoiceEncoder(), getVoteChoiceDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport { getVoteDecoder, getVoteEncoder, type Vote, type VoteArgs } from \".\";\n\n/** Voting results for proposal */\nexport type VotingResults = {\n /** Total votes for */\n votesFor: bigint;\n /** Total votes against */\n votesAgainst: bigint;\n /** Total votes abstain */\n votesAbstain: bigint;\n /** Total voting power */\n totalVotingPower: bigint;\n /** Participation rate */\n participationRate: number;\n /** Individual votes */\n individualVotes: Array<Vote>;\n /** Weighted voting enabled */\n weightedVoting: boolean;\n /** Quorum reached */\n quorumReached: boolean;\n /** Approval threshold met */\n approvalThresholdMet: boolean;\n};\n\nexport type VotingResultsArgs = {\n /** Total votes for */\n votesFor: number | bigint;\n /** Total votes against */\n votesAgainst: number | bigint;\n /** Total votes abstain */\n votesAbstain: number | bigint;\n /** Total voting power */\n totalVotingPower: number | bigint;\n /** Participation rate */\n participationRate: number;\n /** Individual votes */\n individualVotes: Array<VoteArgs>;\n /** Weighted voting enabled */\n weightedVoting: boolean;\n /** Quorum reached */\n quorumReached: boolean;\n /** Approval threshold met */\n approvalThresholdMet: boolean;\n};\n\nexport function getVotingResultsEncoder(): Encoder<VotingResultsArgs> {\n return getStructEncoder([\n [\"votesFor\", getU64Encoder()],\n [\"votesAgainst\", getU64Encoder()],\n [\"votesAbstain\", getU64Encoder()],\n [\"totalVotingPower\", getU64Encoder()],\n [\"participationRate\", getU8Encoder()],\n [\"individualVotes\", getArrayEncoder(getVoteEncoder())],\n [\"weightedVoting\", getBooleanEncoder()],\n [\"quorumReached\", getBooleanEncoder()],\n [\"approvalThresholdMet\", getBooleanEncoder()],\n ]);\n}\n\nexport function getVotingResultsDecoder(): Decoder<VotingResults> {\n return getStructDecoder([\n [\"votesFor\", getU64Decoder()],\n [\"votesAgainst\", getU64Decoder()],\n [\"votesAbstain\", getU64Decoder()],\n [\"totalVotingPower\", getU64Decoder()],\n [\"participationRate\", getU8Decoder()],\n [\"individualVotes\", getArrayDecoder(getVoteDecoder())],\n [\"weightedVoting\", getBooleanDecoder()],\n [\"quorumReached\", getBooleanDecoder()],\n [\"approvalThresholdMet\", getBooleanDecoder()],\n ]);\n}\n\nexport function getVotingResultsCodec(): Codec<\n VotingResultsArgs,\n VotingResults\n> {\n return combineCodec(getVotingResultsEncoder(), getVotingResultsDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the Codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun Codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n assertAccountExists,\n assertAccountsExist,\n combineCodec,\n decodeAccount,\n fetchEncodedAccount,\n fetchEncodedAccounts,\n fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getArrayDecoder,\n getArrayEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getU8Decoder,\n getU8Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n transformEncoder,\n type Account,\n type Address,\n type Codec,\n type Decoder,\n type EncodedAccount,\n type Encoder,\n type FetchAccountConfig,\n type FetchAccountsConfig,\n type MaybeAccount,\n type MaybeEncodedAccount,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\nimport {\n getAgentStatusDecoder,\n getAgentStatusEncoder,\n getExternalIdentifierDecoder,\n getExternalIdentifierEncoder,\n getPricingModelDecoder,\n getPricingModelEncoder,\n getReputationComponentDecoder,\n getReputationComponentEncoder,\n type AgentStatus,\n type AgentStatusArgs,\n type ExternalIdentifier,\n type ExternalIdentifierArgs,\n type PricingModel,\n type PricingModelArgs,\n type ReputationComponent,\n type ReputationComponentArgs,\n} from \"../types\";\n\nexport const AGENT_DISCRIMINATOR = new Uint8Array([\n 47, 166, 112, 147, 155, 197, 86, 7,\n]);\n\nexport function getAgentDiscriminatorBytes() {\n return fixEncoderSize(getBytesEncoder(), 8).encode(AGENT_DISCRIMINATOR);\n}\n\nexport type Agent = {\n discriminator: ReadonlyUint8Array;\n owner: Option<Address>;\n status: AgentStatus;\n agentId: string;\n firstTxSignature: string;\n firstSeenTimestamp: bigint;\n discoverySource: string;\n claimedAt: Option<bigint>;\n agentType: number;\n name: string;\n description: string;\n capabilities: Array<string>;\n pricingModel: PricingModel;\n reputationScore: number;\n totalJobsCompleted: number;\n totalEarnings: bigint;\n isActive: boolean;\n createdAt: bigint;\n updatedAt: bigint;\n originalPrice: bigint;\n genomeHash: string;\n isReplicable: boolean;\n replicationFee: bigint;\n serviceEndpoint: string;\n isVerified: boolean;\n verificationTimestamp: bigint;\n metadataUri: string;\n frameworkOrigin: string;\n supportedTokens: Array<Address>;\n cnftMint: Option<Address>;\n merkleTree: Option<Address>;\n supportsA2a: boolean;\n transferHook: Option<Address>;\n parentAgent: Option<Address>;\n generation: number;\n x402Enabled: boolean;\n x402PaymentAddress: Address;\n x402AcceptedTokens: Array<Address>;\n x402PricePerCall: bigint;\n x402ServiceEndpoint: string;\n x402TotalPayments: bigint;\n x402TotalCalls: bigint;\n lastPaymentTimestamp: bigint;\n externalIdentifiers: Array<ExternalIdentifier>;\n ghostScore: bigint;\n reputationComponents: Array<ReputationComponent>;\n didAddress: Option<Address>;\n credentials: Array<Address>;\n apiSpecUri: string;\n apiVersion: string;\n bump: number;\n};\n\nexport type AgentArgs = {\n owner: OptionOrNullable<Address>;\n status: AgentStatusArgs;\n agentId: string;\n firstTxSignature: string;\n firstSeenTimestamp: number | bigint;\n discoverySource: string;\n claimedAt: OptionOrNullable<number | bigint>;\n agentType: number;\n name: string;\n description: string;\n capabilities: Array<string>;\n pricingModel: PricingModelArgs;\n reputationScore: number;\n totalJobsCompleted: number;\n totalEarnings: number | bigint;\n isActive: boolean;\n createdAt: number | bigint;\n updatedAt: number | bigint;\n originalPrice: number | bigint;\n genomeHash: string;\n isReplicable: boolean;\n replicationFee: number | bigint;\n serviceEndpoint: string;\n isVerified: boolean;\n verificationTimestamp: number | bigint;\n metadataUri: string;\n frameworkOrigin: string;\n supportedTokens: Array<Address>;\n cnftMint: OptionOrNullable<Address>;\n merkleTree: OptionOrNullable<Address>;\n supportsA2a: boolean;\n transferHook: OptionOrNullable<Address>;\n parentAgent: OptionOrNullable<Address>;\n generation: number;\n x402Enabled: boolean;\n x402PaymentAddress: Address;\n x402AcceptedTokens: Array<Address>;\n x402PricePerCall: number | bigint;\n x402ServiceEndpoint: string;\n x402TotalPayments: number | bigint;\n x402TotalCalls: number | bigint;\n lastPaymentTimestamp: number | bigint;\n externalIdentifiers: Array<ExternalIdentifierArgs>;\n ghostScore: number | bigint;\n reputationComponents: Array<ReputationComponentArgs>;\n didAddress: OptionOrNullable<Address>;\n credentials: Array<Address>;\n apiSpecUri: string;\n apiVersion: string;\n bump: number;\n};\n\n/** Gets the encoder for {@link AgentArgs} account data. */\nexport function getAgentEncoder(): Encoder<AgentArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", fixEncoderSize(getBytesEncoder(), 8)],\n [\"owner\", getOptionEncoder(getAddressEncoder())],\n [\"status\", getAgentStatusEncoder()],\n [\"agentId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"firstTxSignature\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"firstSeenTimestamp\", getI64Encoder()],\n [\n \"discoverySource\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"claimedAt\", getOptionEncoder(getI64Encoder())],\n [\"agentType\", getU8Encoder()],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"capabilities\",\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ),\n ],\n [\"pricingModel\", getPricingModelEncoder()],\n [\"reputationScore\", getU32Encoder()],\n [\"totalJobsCompleted\", getU32Encoder()],\n [\"totalEarnings\", getU64Encoder()],\n [\"isActive\", getBooleanEncoder()],\n [\"createdAt\", getI64Encoder()],\n [\"updatedAt\", getI64Encoder()],\n [\"originalPrice\", getU64Encoder()],\n [\"genomeHash\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"isReplicable\", getBooleanEncoder()],\n [\"replicationFee\", getU64Encoder()],\n [\n \"serviceEndpoint\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"isVerified\", getBooleanEncoder()],\n [\"verificationTimestamp\", getI64Encoder()],\n [\"metadataUri\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"frameworkOrigin\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"supportedTokens\", getArrayEncoder(getAddressEncoder())],\n [\"cnftMint\", getOptionEncoder(getAddressEncoder())],\n [\"merkleTree\", getOptionEncoder(getAddressEncoder())],\n [\"supportsA2a\", getBooleanEncoder()],\n [\"transferHook\", getOptionEncoder(getAddressEncoder())],\n [\"parentAgent\", getOptionEncoder(getAddressEncoder())],\n [\"generation\", getU32Encoder()],\n [\"x402Enabled\", getBooleanEncoder()],\n [\"x402PaymentAddress\", getAddressEncoder()],\n [\"x402AcceptedTokens\", getArrayEncoder(getAddressEncoder())],\n [\"x402PricePerCall\", getU64Encoder()],\n [\n \"x402ServiceEndpoint\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"x402TotalPayments\", getU64Encoder()],\n [\"x402TotalCalls\", getU64Encoder()],\n [\"lastPaymentTimestamp\", getI64Encoder()],\n [\"externalIdentifiers\", getArrayEncoder(getExternalIdentifierEncoder())],\n [\"ghostScore\", getU64Encoder()],\n [\n \"reputationComponents\",\n getArrayEncoder(getReputationComponentEncoder()),\n ],\n [\"didAddress\", getOptionEncoder(getAddressEncoder())],\n [\"credentials\", getArrayEncoder(getAddressEncoder())],\n [\"apiSpecUri\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"apiVersion\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"bump\", getU8Encoder()],\n ]),\n (value) => ({ ...value, discriminator: AGENT_DISCRIMINATOR }),\n );\n}\n\n/** Gets the decoder for {@link Agent} account data. */\nexport function getAgentDecoder(): Decoder<Agent> {\n return getStructDecoder([\n [\"discriminator\", fixDecoderSize(getBytesDecoder(), 8)],\n [\"owner\", getOptionDecoder(getAddressDecoder())],\n [\"status\", getAgentStatusDecoder()],\n [\"agentId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"firstTxSignature\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"firstSeenTimestamp\", getI64Decoder()],\n [\n \"discoverySource\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"claimedAt\", getOptionDecoder(getI64Decoder())],\n [\"agentType\", getU8Decoder()],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"capabilities\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"pricingModel\", getPricingModelDecoder()],\n [\"reputationScore\", getU32Decoder()],\n [\"totalJobsCompleted\", getU32Decoder()],\n [\"totalEarnings\", getU64Decoder()],\n [\"isActive\", getBooleanDecoder()],\n [\"createdAt\", getI64Decoder()],\n [\"updatedAt\", getI64Decoder()],\n [\"originalPrice\", getU64Decoder()],\n [\"genomeHash\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"isReplicable\", getBooleanDecoder()],\n [\"replicationFee\", getU64Decoder()],\n [\n \"serviceEndpoint\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"isVerified\", getBooleanDecoder()],\n [\"verificationTimestamp\", getI64Decoder()],\n [\"metadataUri\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"frameworkOrigin\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"supportedTokens\", getArrayDecoder(getAddressDecoder())],\n [\"cnftMint\", getOptionDecoder(getAddressDecoder())],\n [\"merkleTree\", getOptionDecoder(getAddressDecoder())],\n [\"supportsA2a\", getBooleanDecoder()],\n [\"transferHook\", getOptionDecoder(getAddressDecoder())],\n [\"parentAgent\", getOptionDecoder(getAddressDecoder())],\n [\"generation\", getU32Decoder()],\n [\"x402Enabled\", getBooleanDecoder()],\n [\"x402PaymentAddress\", getAddressDecoder()],\n [\"x402AcceptedTokens\", getArrayDecoder(getAddressDecoder())],\n [\"x402PricePerCall\", getU64Decoder()],\n [\n \"x402ServiceEndpoint\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"x402TotalPayments\", getU64Decoder()],\n [\"x402TotalCalls\", getU64Decoder()],\n [\"lastPaymentTimestamp\", getI64Decoder()],\n [\"externalIdentifiers\", getArrayDecoder(getExternalIdentifierDecoder())],\n [\"ghostScore\", getU64Decoder()],\n [\"reputationComponents\", getArrayDecoder(getReputationComponentDecoder())],\n [\"didAddress\", getOptionDecoder(getAddressDecoder())],\n [\"credentials\", getArrayDecoder(getAddressDecoder())],\n [\"apiSpecUri\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"apiVersion\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"bump\", getU8Decoder()],\n ]);\n}\n\n/** Gets the codec for {@link Agent} account data. */\nexport function getAgentCodec(): Codec<AgentArgs, Agent> {\n return combineCodec(getAgentEncoder(), getAgentDecoder());\n}\n\nexport function decodeAgent<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress>,\n): Account<Agent, TAddress>;\nexport function decodeAgent<TAddress extends string = string>(\n encodedAccount: MaybeEncodedAccount<TAddress>,\n): MaybeAccount<Agent, TAddress>;\nexport function decodeAgent<TAddress extends string = string>(\n encodedAccount: EncodedAccount<TAddress> | MaybeEncodedAccount<TAddress>,\n): Account<Agent, TAddress> | MaybeAccount<Agent, TAddress> {\n return decodeAccount(\n encodedAccount as MaybeEncodedAccount<TAddress>,\n getAgentDecoder(),\n );\n}\n\nexport async function fetchAgent<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig,\n): Promise<Account<Agent, TAddress>> {\n const maybeAccount = await fetchMaybeAgent(rpc, address, config);\n assertAccountExists(maybeAccount);\n return maybeAccount;\n}\n\nexport async function fetchMaybeAgent<TAddress extends string = string>(\n rpc: Parameters<typeof fetchEncodedAccount>[0],\n address: Address<TAddress>,\n config?: FetchAccountConfig,\n): Promise<MaybeAccount<Agent, TAddress>> {\n const maybeAccount = await fetchEncodedAccount(rpc, address, config);\n return decodeAgent(maybeAccount);\n}\n\nexport async function fetchAllAgent(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig,\n): Promise<Account<Agent>[]> {\n const maybeAccounts = await fetchAllMaybeAgent(rpc, addresses, config);\n assertAccountsExist(maybeAccounts);\n return maybeAccounts;\n}\n\nexport async function fetchAllMaybeAgent(\n rpc: Parameters<typeof fetchEncodedAccounts>[0],\n addresses: Array<Address>,\n config?: FetchAccountsConfig,\n): Promise<MaybeAccount<Agent>[]> {\n const maybeAccounts = await fetchEncodedAccounts(rpc, addresses, config);\n return maybeAccounts.map((maybeAccount) => decodeAgent(maybeAccount));\n}\n"]}
|