@ghostspeak/sdk 2.0.6 → 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.
Files changed (118) hide show
  1. package/README.md +295 -30
  2. package/dist/GhostSpeakClient-bnXwUPHI.d.ts +1011 -0
  3. package/dist/StakingModule-DunDShLq.d.ts +2446 -0
  4. package/dist/{agent-M74TCRON.js → agent-S42FIMR7.js} +4 -4
  5. package/dist/{agent-M74TCRON.js.map → agent-S42FIMR7.js.map} +1 -1
  6. package/dist/batch-operations-45CQFEID.js +4 -0
  7. package/dist/batch-operations-45CQFEID.js.map +1 -0
  8. package/dist/browser-CI5_6Gzk.d.ts +234 -0
  9. package/dist/browser.d.ts +6 -576
  10. package/dist/browser.js +15 -842
  11. package/dist/browser.js.map +1 -1
  12. package/dist/chunk-46QWY3MG.js +156 -0
  13. package/dist/chunk-46QWY3MG.js.map +1 -0
  14. package/dist/{chunk-F3DZMBUA.js → chunk-5QBSC4T4.js} +327 -493
  15. package/dist/chunk-5QBSC4T4.js.map +1 -0
  16. package/dist/chunk-5QZVFUXB.js +4176 -0
  17. package/dist/chunk-5QZVFUXB.js.map +1 -0
  18. package/dist/chunk-6XCCMJ6M.js +1865 -0
  19. package/dist/chunk-6XCCMJ6M.js.map +1 -0
  20. package/dist/chunk-A7ALCVUI.js +98 -0
  21. package/dist/chunk-A7ALCVUI.js.map +1 -0
  22. package/dist/chunk-AWMGX3OX.js +814 -0
  23. package/dist/chunk-AWMGX3OX.js.map +1 -0
  24. package/dist/chunk-BF3IQ35I.js +284 -0
  25. package/dist/chunk-BF3IQ35I.js.map +1 -0
  26. package/dist/chunk-BQDGRTVP.js +168 -0
  27. package/dist/chunk-BQDGRTVP.js.map +1 -0
  28. package/dist/chunk-IQM5RASO.js +8502 -0
  29. package/dist/chunk-IQM5RASO.js.map +1 -0
  30. package/dist/chunk-JYXSOXCP.js +3850 -0
  31. package/dist/chunk-JYXSOXCP.js.map +1 -0
  32. package/dist/chunk-OXA7MECJ.js +7787 -0
  33. package/dist/chunk-OXA7MECJ.js.map +1 -0
  34. package/dist/chunk-QLRWUHN2.js +231 -0
  35. package/dist/chunk-QLRWUHN2.js.map +1 -0
  36. package/dist/chunk-SKMJJ3Q6.js +125 -0
  37. package/dist/chunk-SKMJJ3Q6.js.map +1 -0
  38. package/dist/chunk-TTB4OS2D.js +69 -0
  39. package/dist/chunk-TTB4OS2D.js.map +1 -0
  40. package/dist/chunk-UP2VWCW5.js +33 -0
  41. package/dist/{chunk-NSBPE2FW.js.map → chunk-UP2VWCW5.js.map} +1 -1
  42. package/dist/{chunk-UJUGGLMT.js → chunk-VQZQCHUT.js} +5 -5
  43. package/dist/{chunk-UJUGGLMT.js.map → chunk-VQZQCHUT.js.map} +1 -1
  44. package/dist/client.d.ts +4 -4
  45. package/dist/client.js +11 -10
  46. package/dist/createAgentAuthorization-KGZNXZBT.js +5 -0
  47. package/dist/createAgentAuthorization-KGZNXZBT.js.map +1 -0
  48. package/dist/credentials.js +1 -1
  49. package/dist/crypto.js +2 -2
  50. package/dist/errors.js +1 -1
  51. package/dist/feature-flags-B1g0DCPe.d.ts +1181 -0
  52. package/dist/generated-QJREJQ2C.js +9 -0
  53. package/dist/{generated-VNLHMR6Y.js.map → generated-QJREJQ2C.js.map} +1 -1
  54. package/dist/{ghostspeak_wasm-SB2RPJ3D.js → ghostspeak_wasm-F227HOSM.js} +3 -3
  55. package/dist/{ghostspeak_wasm-SB2RPJ3D.js.map → ghostspeak_wasm-F227HOSM.js.map} +1 -1
  56. package/dist/index.d.ts +1179 -1498
  57. package/dist/index.js +356 -3578
  58. package/dist/index.js.map +1 -1
  59. package/dist/metafile-esm.json +1 -1
  60. package/dist/minimal/core-minimal.d.ts +2446 -1245
  61. package/dist/minimal/core-minimal.js +9 -9
  62. package/dist/minimal/core-minimal.js.map +1 -1
  63. package/dist/nacl-fast-W5BJ3KZ2.js +2229 -0
  64. package/dist/nacl-fast-W5BJ3KZ2.js.map +1 -0
  65. package/dist/pda-4KP7CURF.js +4 -0
  66. package/dist/pda-4KP7CURF.js.map +1 -0
  67. package/dist/pda-Ce7VYg4T.d.ts +25 -0
  68. package/dist/reputation-types-Yebf0Rm_.d.ts +1071 -0
  69. package/dist/revokeAuthorization-2ZRO6GUZ.js +5 -0
  70. package/dist/revokeAuthorization-2ZRO6GUZ.js.map +1 -0
  71. package/dist/signature-verification-DGxR4aYQ.d.ts +448 -0
  72. package/dist/types.js +1 -1
  73. package/dist/updateReputationWithAuth-PCEUOCFV.js +5 -0
  74. package/dist/updateReputationWithAuth-PCEUOCFV.js.map +1 -0
  75. package/dist/utils.d.ts +69 -203
  76. package/dist/utils.js +15 -153
  77. package/dist/utils.js.map +1 -1
  78. package/package.json +27 -34
  79. package/dist/.tsbuildinfo +0 -1
  80. package/dist/GhostSpeakClient-D_66Uzsf.d.ts +0 -707
  81. package/dist/GovernanceModule-DQYYys-H.d.ts +0 -1766
  82. package/dist/chunk-APCKGD23.js +0 -1328
  83. package/dist/chunk-APCKGD23.js.map +0 -1
  84. package/dist/chunk-ASQXX4IT.js +0 -572
  85. package/dist/chunk-ASQXX4IT.js.map +0 -1
  86. package/dist/chunk-COGZFWOT.js +0 -19657
  87. package/dist/chunk-COGZFWOT.js.map +0 -1
  88. package/dist/chunk-F3DZMBUA.js.map +0 -1
  89. package/dist/chunk-GMHIUK2R.js +0 -7526
  90. package/dist/chunk-GMHIUK2R.js.map +0 -1
  91. package/dist/chunk-IAWBZYPE.js +0 -356
  92. package/dist/chunk-IAWBZYPE.js.map +0 -1
  93. package/dist/chunk-NSBPE2FW.js +0 -15
  94. package/dist/chunk-OWYHJG6H.js +0 -13311
  95. package/dist/chunk-OWYHJG6H.js.map +0 -1
  96. package/dist/chunk-RDDPOFR5.js +0 -3
  97. package/dist/chunk-RDDPOFR5.js.map +0 -1
  98. package/dist/chunk-RERCHKZP.js +0 -35
  99. package/dist/chunk-RERCHKZP.js.map +0 -1
  100. package/dist/chunk-TVVGXYCI.js +0 -2887
  101. package/dist/chunk-TVVGXYCI.js.map +0 -1
  102. package/dist/chunk-ZGP5552B.js +0 -377
  103. package/dist/chunk-ZGP5552B.js.map +0 -1
  104. package/dist/chunk-ZWOYNHVK.js +0 -196
  105. package/dist/chunk-ZWOYNHVK.js.map +0 -1
  106. package/dist/dist/.tsbuildinfo +0 -1
  107. package/dist/elgamal-VZLWB3XK.js +0 -5
  108. package/dist/elgamal-VZLWB3XK.js.map +0 -1
  109. package/dist/feature-flags-V722ZuXO.d.ts +0 -3512
  110. package/dist/generated-VNLHMR6Y.js +0 -5
  111. package/dist/ipfs-types-BOt9ZNg4.d.ts +0 -592
  112. package/dist/multisigConfig-BzEhy6jy.d.ts +0 -58
  113. package/dist/pda-B_nS8SbD.d.ts +0 -114
  114. package/dist/pda-S4BFJVGE.js +0 -4
  115. package/dist/pda-S4BFJVGE.js.map +0 -1
  116. package/dist/system-addresses-BFNLEbFx.d.ts +0 -857
  117. package/dist/token-2022-rpc-RALH4RK7.js +0 -593
  118. package/dist/token-2022-rpc-RALH4RK7.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/generated/types/a2AMessageSentEvent.ts","../src/generated/types/a2ASessionCreatedEvent.ts","../src/generated/types/a2AStatusUpdatedEvent.ts","../src/generated/types/accessAuditConfig.ts","../src/generated/types/accessPolicy.ts","../src/generated/types/accountLockoutPolicies.ts","../src/generated/types/accountState.ts","../src/generated/types/actionExport.ts","../src/generated/types/activationRequirement.ts","../src/generated/types/activationRequirementType.ts","../src/generated/types/agentAnalyticsEvent.ts","../src/generated/types/agentCustomization.ts","../src/generated/types/agentListedForResaleEvent.ts","../src/generated/types/agentPerformanceEntry.ts","../src/generated/types/agentPerformanceUpdatedAnalyticsEvent.ts","../src/generated/types/agentPerformanceUpdatedEvent.ts","../src/generated/types/agentRegisteredEvent.ts","../src/generated/types/agentReplicatedEvent.ts","../src/generated/types/agentServiceUpdatedEvent.ts","../src/generated/types/agentStatusChangedEvent.ts","../src/generated/types/agentUpdatedEvent.ts","../src/generated/types/agentVerificationData.ts","../src/generated/types/agingPolicy.ts","../src/generated/types/analyticsDashboardCreatedEvent.ts","../src/generated/types/analyticsDashboardUpdatedEvent.ts","../src/generated/types/analyticsDataPrunedEvent.ts","../src/generated/types/analyticsMetricUpdatedEvent.ts","../src/generated/types/applicationStatus.ts","../src/generated/types/approvalLevel.ts","../src/generated/types/arbitratorAssignedEvent.ts","../src/generated/types/attachmentInfo.ts","../src/generated/types/auctionBid.ts","../src/generated/types/auctionBidPlacedEvent.ts","../src/generated/types/auctionExtendedForReserveEvent.ts","../src/generated/types/auctionFailedEvent.ts","../src/generated/types/auctionFinalizedEvent.ts","../src/generated/types/auctionReservePriceUpdatedEvent.ts","../src/generated/types/auctionStatus.ts","../src/generated/types/auctionType.ts","../src/generated/types/auditAction.ts","../src/generated/types/auditConfig.ts","../src/generated/types/auditContextExport.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/bidCommittedEvent.ts","../src/generated/types/bidRevealedEvent.ts","../src/generated/types/biometricPolicies.ts","../src/generated/types/biometricProtection.ts","../src/generated/types/biometricQualityExport.ts","../src/generated/types/biometricStorageMethod.ts","../src/generated/types/biometricType.ts","../src/generated/types/bulkDealBatchExecutedEvent.ts","../src/generated/types/bulkDealCreatedEvent.ts","../src/generated/types/channelCreatedEvent.ts","../src/generated/types/channelMetadata.ts","../src/generated/types/channelSettings.ts","../src/generated/types/channelSettingsUpdatedEvent.ts","../src/generated/types/channelType.ts","../src/generated/types/collectorAgentPerformanceEvent.ts","../src/generated/types/communicationMessageSentEvent.ts","../src/generated/types/communicationSessionCreatedEvent.ts","../src/generated/types/complianceFlags.ts","../src/generated/types/complianceMetrics.ts","../src/generated/types/compliancePolicies.ts","../src/generated/types/complianceReportGeneratedEvent.ts","../src/generated/types/complianceStatusExport.ts","../src/generated/types/compressedAgentCreatedEvent.ts","../src/generated/types/conditionType.ts","../src/generated/types/confidentialTransferInitializedEvent.ts","../src/generated/types/constraintCondition.ts","../src/generated/types/constraintOperator.ts","../src/generated/types/contractStatus.ts","../src/generated/types/counterOfferMadeEvent.ts","../src/generated/types/dataAccessLevel.ts","../src/generated/types/dataProtectionPolicies.ts","../src/generated/types/dealType.ts","../src/generated/types/defaultAccountStateInitializedEvent.ts","../src/generated/types/degradationHandling.ts","../src/generated/types/delegationInfo.ts","../src/generated/types/delegationScope.ts","../src/generated/types/deliverable.ts","../src/generated/types/disputeEvidence.ts","../src/generated/types/disputeEvidenceBatchSubmittedEvent.ts","../src/generated/types/disputeEvidenceSubmittedEvent.ts","../src/generated/types/disputeFiledEvent.ts","../src/generated/types/disputeResolvedEvent.ts","../src/generated/types/disputeStatus.ts","../src/generated/types/dutchAuctionConfig.ts","../src/generated/types/dutchAuctionDecayType.ts","../src/generated/types/dutchAuctionWonEvent.ts","../src/generated/types/dynamicPricingConfigExport.ts","../src/generated/types/dynamicPricingEngineCreatedEvent.ts","../src/generated/types/dynamicPricingUpdatedEvent.ts","../src/generated/types/economicMetrics.ts","../src/generated/types/economicMetricsCollectedEvent.ts","../src/generated/types/economicMetricsEvent.ts","../src/generated/types/emergencyAccessConfig.ts","../src/generated/types/emergencyConfig.ts","../src/generated/types/enforcementLevel.ts","../src/generated/types/enhancedChannelCreatedEvent.ts","../src/generated/types/enhancedMessageSentEvent.ts","../src/generated/types/escrowCancelledEvent.ts","../src/generated/types/escrowCompletedEvent.ts","../src/generated/types/escrowCreatedEvent.ts","../src/generated/types/escrowExpiredEvent.ts","../src/generated/types/escrowPartialRefundEvent.ts","../src/generated/types/escrowStatus.ts","../src/generated/types/evidenceBatchItem.ts","../src/generated/types/executionCondition.ts","../src/generated/types/executionParams.ts","../src/generated/types/extensionApprovedEvent.ts","../src/generated/types/extensionMetadata.ts","../src/generated/types/extensionRegisteredEvent.ts","../src/generated/types/extensionStatus.ts","../src/generated/types/extensionType.ts","../src/generated/types/geographicRegion.ts","../src/generated/types/governanceProposalCreatedEvent.ts","../src/generated/types/hierarchicalBoundary.ts","../src/generated/types/incentiveConfig.ts","../src/generated/types/incentiveDistributedEvent.ts","../src/generated/types/incentiveProgramCreatedEvent.ts","../src/generated/types/incidentResponsePolicies.ts","../src/generated/types/interestBearingInitializedEvent.ts","../src/generated/types/jobApplicationAcceptedEvent.ts","../src/generated/types/jobApplicationSubmittedEvent.ts","../src/generated/types/jobPostingCreatedEvent.ts","../src/generated/types/latitudeRange.ts","../src/generated/types/locationConstraints.ts","../src/generated/types/longitudeRange.ts","../src/generated/types/marketAnalyticsCreatedEvent.ts","../src/generated/types/marketAnalyticsUpdatedEvent.ts","../src/generated/types/marketplaceActivityEvent.ts","../src/generated/types/marketplaceMetrics.ts","../src/generated/types/marketplaceMetricsCollectedEvent.ts","../src/generated/types/marketTrendUpdatedEvent.ts","../src/generated/types/marketVolumeUpdatedEvent.ts","../src/generated/types/messageMetadata.ts","../src/generated/types/messageReaction.ts","../src/generated/types/messageReactionEvent.ts","../src/generated/types/messageSentEvent.ts","../src/generated/types/messageType.ts","../src/generated/types/metricSample.ts","../src/generated/types/mintCloseAuthorityInitializedEvent.ts","../src/generated/types/multisigConfigExport.ts","../src/generated/types/multisigCreatedEvent.ts","../src/generated/types/multisigSignature.ts","../src/generated/types/multisigType.ts","../src/generated/types/multisigTypeConfig.ts","../src/generated/types/negotiationInitiatedEvent.ts","../src/generated/types/negotiationStatus.ts","../src/generated/types/networkHealthEvent.ts","../src/generated/types/networkHealthMetrics.ts","../src/generated/types/networkMetricsCollectedEvent.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/participantStatusUpdatedEvent.ts","../src/generated/types/participantType.ts","../src/generated/types/passwordPolicies.ts","../src/generated/types/paymentProcessedEvent.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/pricingAlgorithm.ts","../src/generated/types/pricingModel.ts","../src/generated/types/proposalAccount.ts","../src/generated/types/proposalExecutedEvent.ts","../src/generated/types/proposalInstruction.ts","../src/generated/types/proposalMetadata.ts","../src/generated/types/proposalStatus.ts","../src/generated/types/proposalType.ts","../src/generated/types/purchaseStatus.ts","../src/generated/types/quorumMethod.ts","../src/generated/types/quorumRequirements.ts","../src/generated/types/rbacConfigInitializedEvent.ts","../src/generated/types/reentrancyState.ts","../src/generated/types/replicationTemplateCreatedEvent.ts","../src/generated/types/reportData.ts","../src/generated/types/reportEntryExport.ts","../src/generated/types/reportingFrequency.ts","../src/generated/types/reportStatus.ts","../src/generated/types/reportSummary.ts","../src/generated/types/reportType.ts","../src/generated/types/reputationMetricsInitializedEvent.ts","../src/generated/types/reputationPaymentRecordedEvent.ts","../src/generated/types/reputationRatingSubmittedEvent.ts","../src/generated/types/resourceConstraintsExport.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/royaltyConfig.ts","../src/generated/types/royaltyStreamCreatedEvent.ts","../src/generated/types/ruleConditionExport.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/serviceAuctionCreatedEvent.ts","../src/generated/types/serviceListingCreatedEvent.ts","../src/generated/types/servicePerformanceEvent.ts","../src/generated/types/servicePurchasedEvent.ts","../src/generated/types/sessionConstraints.ts","../src/generated/types/sessionPolicies.ts","../src/generated/types/sodConstraint.ts","../src/generated/types/sodConstraintType.ts","../src/generated/types/stepUpTrigger.ts","../src/generated/types/submissionDetails.ts","../src/generated/types/timeConstraints.ts","../src/generated/types/timeLock.ts","../src/generated/types/timeLockType.ts","../src/generated/types/token2022ExtensionsEnabled.ts","../src/generated/types/token2022MintCreatedEvent.ts","../src/generated/types/topAgentAddedEvent.ts","../src/generated/types/transactionAnalyticsEvent.ts","../src/generated/types/transactionPriority.ts","../src/generated/types/transactionStatus.ts","../src/generated/types/transactionType.ts","../src/generated/types/transferFeeInitializedEvent.ts","../src/generated/types/trendDirection.ts","../src/generated/types/typingIndicatorEvent.ts","../src/generated/types/unlockMethod.ts","../src/generated/types/userEngagementEvent.ts","../src/generated/types/userJoinedChannelEvent.ts","../src/generated/types/userLeftChannelEvent.ts","../src/generated/types/valueType.ts","../src/generated/types/violationSeverity.ts","../src/generated/types/volumeTier.ts","../src/generated/types/vote.ts","../src/generated/types/voteCastEnhancedEvent.ts","../src/generated/types/voteCastEvent.ts","../src/generated/types/voteChoice.ts","../src/generated/types/voteDelegatedEvent.ts","../src/generated/types/votesTalliedEvent.ts","../src/generated/types/votingResults.ts","../src/generated/types/workDeliveryRejectedEvent.ts","../src/generated/types/workDeliverySubmittedEvent.ts","../src/generated/types/workDeliveryVerifiedEvent.ts","../src/generated/types/workOrderCreatedEvent.ts","../src/generated/types/workOrderStatus.ts","../src/generated/types/x402PaymentRecordedEvent.ts","../src/generated/types/x402RatingSubmittedEvent.ts","../src/generated/types/a2AMessageData.ts","../src/generated/types/a2ASessionData.ts","../src/generated/types/a2AStatusData.ts","../src/generated/types/agentServiceData.ts","../src/generated/types/auctionData.ts","../src/generated/types/batchReplicationRequest.ts","../src/generated/types/bulkDealData.ts","../src/generated/types/channelCreationData.ts","../src/generated/types/communicationMessageData.ts","../src/generated/types/communicationSessionData.ts","../src/generated/types/confidentialTransferMintParams.ts","../src/generated/types/createToken2022MintParams.ts","../src/generated/types/demandMetrics.ts","../src/generated/types/interestBearingConfigParams.ts","../src/generated/types/jobApplicationData.ts","../src/generated/types/jobPostingData.ts","../src/generated/types/messageData.ts","../src/generated/types/participantStatusData.ts","../src/generated/types/replicationTemplateData.ts","../src/generated/types/serviceListingData.ts","../src/generated/types/servicePurchaseData.ts","../src/generated/types/transferFeeConfigParams.ts","../src/generated/types/workDeliveryData.ts","../src/generated/types/workOrderData.ts","../src/generated/types/x402ConfigData.ts","../src/generated/types/x402PaymentData.ts","../src/generated/types/x402RatingData.ts","../src/generated/types/action.ts","../src/generated/types/multisigConfig.ts","../src/generated/types/ghostMultisigConfig.ts","../src/generated/types/complianceStatus.ts","../src/generated/types/dynamicPricingConfig.ts","../src/generated/types/reportEntry.ts","../src/generated/types/resourceConstraints.ts","../src/generated/types/ghostAction.ts","../src/generated/types/auditContext.ts","../src/generated/types/biometricQuality.ts","../src/generated/types/actionType.ts","../src/generated/types/actionConstraint.ts","../src/generated/types/regulatoryStatus.ts","../src/generated/types/complianceViolation.ts","../src/generated/types/ruleCondition.ts","../src/generated/types/resourceQuota.ts","../src/generated/types/quotaResetBehavior.ts","../src/generated/accounts/agent.ts"],"names":["getStructEncoder","getU64Encoder","getAddressEncoder","getI64Encoder","getStructDecoder","getU64Decoder","getAddressDecoder","getI64Decoder","combineCodec","getBooleanEncoder","getBooleanDecoder","addEncoderSizePrefix","getUtf8Encoder","getU32Encoder","addDecoderSizePrefix","getUtf8Decoder","getU32Decoder","getU8Encoder","getArrayEncoder","getU8Decoder","getArrayDecoder","AccountState","ActivationRequirementType","getEnumEncoder","getEnumDecoder","getOptionEncoder","getOptionDecoder","ApplicationStatus","AuctionStatus","AuctionType","AuditAction","AuthenticationLevel","AuthenticationMethod","BackupFrequency","fixEncoderSize","getBytesEncoder","fixDecoderSize","getBytesDecoder","BiometricStorageMethod","BiometricType","ChannelType","ConditionType","ConstraintOperator","ContractStatus","DataAccessLevel","DealType","DegradationHandling","Deliverable","DisputeStatus","getU16Encoder","getU16Decoder","DutchAuctionDecayType","EnforcementLevel","EscrowStatus","ExtensionStatus","ExtensionType","getF64Encoder","getF64Decoder","MessageType","MultisigType","NegotiationStatus","NotificationMethod","NotificationPriority","NotificationTargetType","NotificationTiming","ParticipantType","PermissionConstraintType","PolicyStatus","PolicyType","PricingAlgorithm","PricingModel","ProposalStatus","ProposalType","PurchaseStatus","QuorumMethod","ReentrancyState","ReportingFrequency","ReportStatus","ReportType","RiskCategory","RiskLevel","RoleStatus","RoleType","RuleEffect","ScopeInheritance","ScopeType","SecurityEventType","SodConstraintType","StepUpTrigger","TimeLockType","TransactionPriority","TransactionStatus","TransactionType","TrendDirection","UnlockMethod","ValueType","ViolationSeverity","VoteChoice","WorkOrderStatus","getI16Encoder","getI16Decoder","getI32Encoder","getI32Decoder","getTupleEncoder","getTupleDecoder","ActionType","QuotaResetBehavior"],"mappings":"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","file":"chunk-GMHIUK2R.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 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 A2AMessageSentEvent = {\n messageId: bigint;\n sessionId: bigint;\n sender: Address;\n timestamp: bigint;\n};\n\nexport type A2AMessageSentEventArgs = {\n messageId: number | bigint;\n sessionId: number | bigint;\n sender: Address;\n timestamp: number | bigint;\n};\n\nexport function getA2AMessageSentEventEncoder(): FixedSizeEncoder<A2AMessageSentEventArgs> {\n return getStructEncoder([\n [\"messageId\", getU64Encoder()],\n [\"sessionId\", getU64Encoder()],\n [\"sender\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getA2AMessageSentEventDecoder(): FixedSizeDecoder<A2AMessageSentEvent> {\n return getStructDecoder([\n [\"messageId\", getU64Decoder()],\n [\"sessionId\", getU64Decoder()],\n [\"sender\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getA2AMessageSentEventCodec(): FixedSizeCodec<\n A2AMessageSentEventArgs,\n A2AMessageSentEvent\n> {\n return combineCodec(\n getA2AMessageSentEventEncoder(),\n getA2AMessageSentEventDecoder(),\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 A2ASessionCreatedEvent = {\n sessionId: bigint;\n initiator: Address;\n responder: Address;\n timestamp: bigint;\n};\n\nexport type A2ASessionCreatedEventArgs = {\n sessionId: number | bigint;\n initiator: Address;\n responder: Address;\n timestamp: number | bigint;\n};\n\nexport function getA2ASessionCreatedEventEncoder(): FixedSizeEncoder<A2ASessionCreatedEventArgs> {\n return getStructEncoder([\n [\"sessionId\", getU64Encoder()],\n [\"initiator\", getAddressEncoder()],\n [\"responder\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getA2ASessionCreatedEventDecoder(): FixedSizeDecoder<A2ASessionCreatedEvent> {\n return getStructDecoder([\n [\"sessionId\", getU64Decoder()],\n [\"initiator\", getAddressDecoder()],\n [\"responder\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getA2ASessionCreatedEventCodec(): FixedSizeCodec<\n A2ASessionCreatedEventArgs,\n A2ASessionCreatedEvent\n> {\n return combineCodec(\n getA2ASessionCreatedEventEncoder(),\n getA2ASessionCreatedEventDecoder(),\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\nexport type A2AStatusUpdatedEvent = {\n agent: Address;\n status: string;\n availability: boolean;\n timestamp: bigint;\n};\n\nexport type A2AStatusUpdatedEventArgs = {\n agent: Address;\n status: string;\n availability: boolean;\n timestamp: number | bigint;\n};\n\nexport function getA2AStatusUpdatedEventEncoder(): Encoder<A2AStatusUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"status\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"availability\", getBooleanEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getA2AStatusUpdatedEventDecoder(): Decoder<A2AStatusUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"status\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"availability\", getBooleanDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getA2AStatusUpdatedEventCodec(): Codec<\n A2AStatusUpdatedEventArgs,\n A2AStatusUpdatedEvent\n> {\n return combineCodec(\n getA2AStatusUpdatedEventEncoder(),\n getA2AStatusUpdatedEventDecoder(),\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\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 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 combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport enum AccountState {\n Uninitialized,\n Initialized,\n Frozen,\n}\n\nexport type AccountStateArgs = AccountState;\n\nexport function getAccountStateEncoder(): FixedSizeEncoder<AccountStateArgs> {\n return getEnumEncoder(AccountState);\n}\n\nexport function getAccountStateDecoder(): FixedSizeDecoder<AccountState> {\n return getEnumDecoder(AccountState);\n}\n\nexport function getAccountStateCodec(): FixedSizeCodec<\n AccountStateArgs,\n AccountState\n> {\n return combineCodec(getAccountStateEncoder(), getAccountStateDecoder());\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 getActionDecoder,\n getActionEncoder,\n type Action,\n type ActionArgs,\n} from \".\";\n\nexport type ActionExport = { data: Action };\n\nexport type ActionExportArgs = { data: ActionArgs };\n\nexport function getActionExportEncoder(): Encoder<ActionExportArgs> {\n return getStructEncoder([[\"data\", getActionEncoder()]]);\n}\n\nexport function getActionExportDecoder(): Decoder<ActionExport> {\n return getStructDecoder([[\"data\", getActionDecoder()]]);\n}\n\nexport function getActionExportCodec(): Codec<ActionExportArgs, ActionExport> {\n return combineCodec(getActionExportEncoder(), getActionExportDecoder());\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 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 AgentAnalyticsEvent = {\n agent: Address;\n operation: string;\n revenue: bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: bigint;\n timestamp: bigint;\n};\n\nexport type AgentAnalyticsEventArgs = {\n agent: Address;\n operation: string;\n revenue: number | bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAgentAnalyticsEventEncoder(): Encoder<AgentAnalyticsEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"operation\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"revenue\", getU64Encoder()],\n [\"transactionCount\", getU32Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"averageRating\", getU32Encoder()],\n [\"responseTime\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentAnalyticsEventDecoder(): Decoder<AgentAnalyticsEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"operation\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"revenue\", getU64Decoder()],\n [\"transactionCount\", getU32Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"averageRating\", getU32Decoder()],\n [\"responseTime\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentAnalyticsEventCodec(): Codec<\n AgentAnalyticsEventArgs,\n AgentAnalyticsEvent\n> {\n return combineCodec(\n getAgentAnalyticsEventEncoder(),\n getAgentAnalyticsEventDecoder(),\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 getBooleanDecoder,\n getBooleanEncoder,\n getOptionDecoder,\n getOptionEncoder,\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 type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\nimport {\n getPricingModelDecoder,\n getPricingModelEncoder,\n type PricingModel,\n type PricingModelArgs,\n} from \".\";\n\n/** Data structure for agent customization during replication */\nexport type AgentCustomization = {\n name: string;\n description: Option<string>;\n additionalCapabilities: Array<string>;\n pricingModel: PricingModel;\n isReplicable: boolean;\n replicationFee: Option<bigint>;\n};\n\nexport type AgentCustomizationArgs = {\n name: string;\n description: OptionOrNullable<string>;\n additionalCapabilities: Array<string>;\n pricingModel: PricingModelArgs;\n isReplicable: boolean;\n replicationFee: OptionOrNullable<number | bigint>;\n};\n\nexport function getAgentCustomizationEncoder(): Encoder<AgentCustomizationArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"description\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"additionalCapabilities\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"pricingModel\", getPricingModelEncoder()],\n [\"isReplicable\", getBooleanEncoder()],\n [\"replicationFee\", getOptionEncoder(getU64Encoder())],\n ]);\n}\n\nexport function getAgentCustomizationDecoder(): Decoder<AgentCustomization> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"description\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"additionalCapabilities\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"pricingModel\", getPricingModelDecoder()],\n [\"isReplicable\", getBooleanDecoder()],\n [\"replicationFee\", getOptionDecoder(getU64Decoder())],\n ]);\n}\n\nexport function getAgentCustomizationCodec(): Codec<\n AgentCustomizationArgs,\n AgentCustomization\n> {\n return combineCodec(\n getAgentCustomizationEncoder(),\n getAgentCustomizationDecoder(),\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 AgentListedForResaleEvent = {\n resale: Address;\n agent: Address;\n seller: Address;\n listingPrice: bigint;\n};\n\nexport type AgentListedForResaleEventArgs = {\n resale: Address;\n agent: Address;\n seller: Address;\n listingPrice: number | bigint;\n};\n\nexport function getAgentListedForResaleEventEncoder(): FixedSizeEncoder<AgentListedForResaleEventArgs> {\n return getStructEncoder([\n [\"resale\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"seller\", getAddressEncoder()],\n [\"listingPrice\", getU64Encoder()],\n ]);\n}\n\nexport function getAgentListedForResaleEventDecoder(): FixedSizeDecoder<AgentListedForResaleEvent> {\n return getStructDecoder([\n [\"resale\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"seller\", getAddressDecoder()],\n [\"listingPrice\", getU64Decoder()],\n ]);\n}\n\nexport function getAgentListedForResaleEventCodec(): FixedSizeCodec<\n AgentListedForResaleEventArgs,\n AgentListedForResaleEvent\n> {\n return combineCodec(\n getAgentListedForResaleEventEncoder(),\n getAgentListedForResaleEventDecoder(),\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AgentPerformanceEntry = {\n agent: Address;\n revenue: bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: bigint;\n lastUpdated: bigint;\n};\n\nexport type AgentPerformanceEntryArgs = {\n agent: Address;\n revenue: number | bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: number | bigint;\n lastUpdated: number | bigint;\n};\n\nexport function getAgentPerformanceEntryEncoder(): FixedSizeEncoder<AgentPerformanceEntryArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"revenue\", getU64Encoder()],\n [\"transactionCount\", getU32Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"averageRating\", getU32Encoder()],\n [\"responseTime\", getU64Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentPerformanceEntryDecoder(): FixedSizeDecoder<AgentPerformanceEntry> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"revenue\", getU64Decoder()],\n [\"transactionCount\", getU32Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"averageRating\", getU32Decoder()],\n [\"responseTime\", getU64Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentPerformanceEntryCodec(): FixedSizeCodec<\n AgentPerformanceEntryArgs,\n AgentPerformanceEntry\n> {\n return combineCodec(\n getAgentPerformanceEntryEncoder(),\n getAgentPerformanceEntryDecoder(),\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AgentPerformanceUpdatedAnalyticsEvent = {\n dashboard: Address;\n agent: Address;\n revenue: bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: bigint;\n timestamp: bigint;\n};\n\nexport type AgentPerformanceUpdatedAnalyticsEventArgs = {\n dashboard: Address;\n agent: Address;\n revenue: number | bigint;\n transactionCount: number;\n successRate: number;\n averageRating: number;\n responseTime: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAgentPerformanceUpdatedAnalyticsEventEncoder(): FixedSizeEncoder<AgentPerformanceUpdatedAnalyticsEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"revenue\", getU64Encoder()],\n [\"transactionCount\", getU32Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"averageRating\", getU32Encoder()],\n [\"responseTime\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentPerformanceUpdatedAnalyticsEventDecoder(): FixedSizeDecoder<AgentPerformanceUpdatedAnalyticsEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"revenue\", getU64Decoder()],\n [\"transactionCount\", getU32Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"averageRating\", getU32Decoder()],\n [\"responseTime\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentPerformanceUpdatedAnalyticsEventCodec(): FixedSizeCodec<\n AgentPerformanceUpdatedAnalyticsEventArgs,\n AgentPerformanceUpdatedAnalyticsEvent\n> {\n return combineCodec(\n getAgentPerformanceUpdatedAnalyticsEventEncoder(),\n getAgentPerformanceUpdatedAnalyticsEventDecoder(),\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AgentPerformanceUpdatedEvent = {\n agent: Address;\n revenue: bigint;\n successRate: number;\n responseTime: bigint;\n timestamp: bigint;\n};\n\nexport type AgentPerformanceUpdatedEventArgs = {\n agent: Address;\n revenue: number | bigint;\n successRate: number;\n responseTime: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAgentPerformanceUpdatedEventEncoder(): FixedSizeEncoder<AgentPerformanceUpdatedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"revenue\", getU64Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"responseTime\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentPerformanceUpdatedEventDecoder(): FixedSizeDecoder<AgentPerformanceUpdatedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"revenue\", getU64Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"responseTime\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentPerformanceUpdatedEventCodec(): FixedSizeCodec<\n AgentPerformanceUpdatedEventArgs,\n AgentPerformanceUpdatedEvent\n> {\n return combineCodec(\n getAgentPerformanceUpdatedEventEncoder(),\n getAgentPerformanceUpdatedEventDecoder(),\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 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 AgentReplicatedEvent = {\n originalAgent: Address;\n replicatedAgent: Address;\n replicator: Address;\n feePaid: bigint;\n timestamp: bigint;\n};\n\nexport type AgentReplicatedEventArgs = {\n originalAgent: Address;\n replicatedAgent: Address;\n replicator: Address;\n feePaid: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAgentReplicatedEventEncoder(): FixedSizeEncoder<AgentReplicatedEventArgs> {\n return getStructEncoder([\n [\"originalAgent\", getAddressEncoder()],\n [\"replicatedAgent\", getAddressEncoder()],\n [\"replicator\", getAddressEncoder()],\n [\"feePaid\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAgentReplicatedEventDecoder(): FixedSizeDecoder<AgentReplicatedEvent> {\n return getStructDecoder([\n [\"originalAgent\", getAddressDecoder()],\n [\"replicatedAgent\", getAddressDecoder()],\n [\"replicator\", getAddressDecoder()],\n [\"feePaid\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAgentReplicatedEventCodec(): FixedSizeCodec<\n AgentReplicatedEventArgs,\n AgentReplicatedEvent\n> {\n return combineCodec(\n getAgentReplicatedEventEncoder(),\n getAgentReplicatedEventDecoder(),\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 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 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 AnalyticsDashboardCreatedEvent = {\n dashboard: Address;\n owner: Address;\n dashboardId: bigint;\n timestamp: bigint;\n};\n\nexport type AnalyticsDashboardCreatedEventArgs = {\n dashboard: Address;\n owner: Address;\n dashboardId: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAnalyticsDashboardCreatedEventEncoder(): FixedSizeEncoder<AnalyticsDashboardCreatedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"dashboardId\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAnalyticsDashboardCreatedEventDecoder(): FixedSizeDecoder<AnalyticsDashboardCreatedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"dashboardId\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAnalyticsDashboardCreatedEventCodec(): FixedSizeCodec<\n AnalyticsDashboardCreatedEventArgs,\n AnalyticsDashboardCreatedEvent\n> {\n return combineCodec(\n getAnalyticsDashboardCreatedEventEncoder(),\n getAnalyticsDashboardCreatedEventDecoder(),\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 AnalyticsDashboardUpdatedEvent = {\n dashboard: Address;\n owner: Address;\n timestamp: bigint;\n};\n\nexport type AnalyticsDashboardUpdatedEventArgs = {\n dashboard: Address;\n owner: Address;\n timestamp: number | bigint;\n};\n\nexport function getAnalyticsDashboardUpdatedEventEncoder(): FixedSizeEncoder<AnalyticsDashboardUpdatedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAnalyticsDashboardUpdatedEventDecoder(): FixedSizeDecoder<AnalyticsDashboardUpdatedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAnalyticsDashboardUpdatedEventCodec(): FixedSizeCodec<\n AnalyticsDashboardUpdatedEventArgs,\n AnalyticsDashboardUpdatedEvent\n> {\n return combineCodec(\n getAnalyticsDashboardUpdatedEventEncoder(),\n getAnalyticsDashboardUpdatedEventDecoder(),\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 type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AnalyticsDataPrunedEvent = {\n dashboard: Address;\n retentionDays: number;\n timestamp: bigint;\n};\n\nexport type AnalyticsDataPrunedEventArgs = {\n dashboard: Address;\n retentionDays: number;\n timestamp: number | bigint;\n};\n\nexport function getAnalyticsDataPrunedEventEncoder(): FixedSizeEncoder<AnalyticsDataPrunedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"retentionDays\", getU16Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAnalyticsDataPrunedEventDecoder(): FixedSizeDecoder<AnalyticsDataPrunedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"retentionDays\", getU16Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAnalyticsDataPrunedEventCodec(): FixedSizeCodec<\n AnalyticsDataPrunedEventArgs,\n AnalyticsDataPrunedEvent\n> {\n return combineCodec(\n getAnalyticsDataPrunedEventEncoder(),\n getAnalyticsDataPrunedEventDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\n/** Analytics events for real-time tracking */\nexport type AnalyticsMetricUpdatedEvent = {\n metricType: string;\n value: bigint;\n timestamp: bigint;\n};\n\nexport type AnalyticsMetricUpdatedEventArgs = {\n metricType: string;\n value: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getAnalyticsMetricUpdatedEventEncoder(): Encoder<AnalyticsMetricUpdatedEventArgs> {\n return getStructEncoder([\n [\"metricType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"value\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getAnalyticsMetricUpdatedEventDecoder(): Decoder<AnalyticsMetricUpdatedEvent> {\n return getStructDecoder([\n [\"metricType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"value\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getAnalyticsMetricUpdatedEventCodec(): Codec<\n AnalyticsMetricUpdatedEventArgs,\n AnalyticsMetricUpdatedEvent\n> {\n return combineCodec(\n getAnalyticsMetricUpdatedEventEncoder(),\n getAnalyticsMetricUpdatedEventDecoder(),\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\nexport enum ApplicationStatus {\n Submitted,\n Accepted,\n Rejected,\n Withdrawn,\n}\n\nexport type ApplicationStatusArgs = ApplicationStatus;\n\nexport function getApplicationStatusEncoder(): FixedSizeEncoder<ApplicationStatusArgs> {\n return getEnumEncoder(ApplicationStatus);\n}\n\nexport function getApplicationStatusDecoder(): FixedSizeDecoder<ApplicationStatus> {\n return getEnumDecoder(ApplicationStatus);\n}\n\nexport function getApplicationStatusCodec(): FixedSizeCodec<\n ApplicationStatusArgs,\n ApplicationStatus\n> {\n return combineCodec(\n getApplicationStatusEncoder(),\n getApplicationStatusDecoder(),\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 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 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 ArbitratorAssignedEvent = {\n dispute: Address;\n arbitrator: Address;\n assignedBy: Address;\n timestamp: bigint;\n};\n\nexport type ArbitratorAssignedEventArgs = {\n dispute: Address;\n arbitrator: Address;\n assignedBy: Address;\n timestamp: number | bigint;\n};\n\nexport function getArbitratorAssignedEventEncoder(): FixedSizeEncoder<ArbitratorAssignedEventArgs> {\n return getStructEncoder([\n [\"dispute\", getAddressEncoder()],\n [\"arbitrator\", getAddressEncoder()],\n [\"assignedBy\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getArbitratorAssignedEventDecoder(): FixedSizeDecoder<ArbitratorAssignedEvent> {\n return getStructDecoder([\n [\"dispute\", getAddressDecoder()],\n [\"arbitrator\", getAddressDecoder()],\n [\"assignedBy\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getArbitratorAssignedEventCodec(): FixedSizeCodec<\n ArbitratorAssignedEventArgs,\n ArbitratorAssignedEvent\n> {\n return combineCodec(\n getArbitratorAssignedEventEncoder(),\n getArbitratorAssignedEventDecoder(),\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 getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type AttachmentInfo = {\n fileType: string;\n fileSize: bigint;\n fileHash: string;\n storageUrl: string;\n};\n\nexport type AttachmentInfoArgs = {\n fileType: string;\n fileSize: number | bigint;\n fileHash: string;\n storageUrl: string;\n};\n\nexport function getAttachmentInfoEncoder(): Encoder<AttachmentInfoArgs> {\n return getStructEncoder([\n [\"fileType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"fileSize\", getU64Encoder()],\n [\"fileHash\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"storageUrl\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getAttachmentInfoDecoder(): Decoder<AttachmentInfo> {\n return getStructDecoder([\n [\"fileType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"fileSize\", getU64Decoder()],\n [\"fileHash\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"storageUrl\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getAttachmentInfoCodec(): Codec<\n AttachmentInfoArgs,\n AttachmentInfo\n> {\n return combineCodec(getAttachmentInfoEncoder(), getAttachmentInfoDecoder());\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type AuctionBid = {\n bidder: Address;\n amount: bigint;\n timestamp: bigint;\n isWinning: boolean;\n};\n\nexport type AuctionBidArgs = {\n bidder: Address;\n amount: number | bigint;\n timestamp: number | bigint;\n isWinning: boolean;\n};\n\nexport function getAuctionBidEncoder(): FixedSizeEncoder<AuctionBidArgs> {\n return getStructEncoder([\n [\"bidder\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n [\"isWinning\", getBooleanEncoder()],\n ]);\n}\n\nexport function getAuctionBidDecoder(): FixedSizeDecoder<AuctionBid> {\n return getStructDecoder([\n [\"bidder\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n [\"isWinning\", getBooleanDecoder()],\n ]);\n}\n\nexport function getAuctionBidCodec(): FixedSizeCodec<\n AuctionBidArgs,\n AuctionBid\n> {\n return combineCodec(getAuctionBidEncoder(), getAuctionBidDecoder());\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\";\n\nexport type AuctionBidPlacedEvent = {\n auction: Address;\n bidder: Address;\n bidAmount: bigint;\n totalBids: number;\n};\n\nexport type AuctionBidPlacedEventArgs = {\n auction: Address;\n bidder: Address;\n bidAmount: number | bigint;\n totalBids: number;\n};\n\nexport function getAuctionBidPlacedEventEncoder(): FixedSizeEncoder<AuctionBidPlacedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"bidder\", getAddressEncoder()],\n [\"bidAmount\", getU64Encoder()],\n [\"totalBids\", getU32Encoder()],\n ]);\n}\n\nexport function getAuctionBidPlacedEventDecoder(): FixedSizeDecoder<AuctionBidPlacedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"bidder\", getAddressDecoder()],\n [\"bidAmount\", getU64Decoder()],\n [\"totalBids\", getU32Decoder()],\n ]);\n}\n\nexport function getAuctionBidPlacedEventCodec(): FixedSizeCodec<\n AuctionBidPlacedEventArgs,\n AuctionBidPlacedEvent\n> {\n return combineCodec(\n getAuctionBidPlacedEventEncoder(),\n getAuctionBidPlacedEventDecoder(),\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 getBooleanDecoder,\n getBooleanEncoder,\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 AuctionExtendedForReserveEvent = {\n auction: Address;\n extensionCount: number;\n newEndTime: bigint;\n reserveShortfall: bigint;\n isReserveHidden: boolean;\n};\n\nexport type AuctionExtendedForReserveEventArgs = {\n auction: Address;\n extensionCount: number;\n newEndTime: number | bigint;\n reserveShortfall: number | bigint;\n isReserveHidden: boolean;\n};\n\nexport function getAuctionExtendedForReserveEventEncoder(): FixedSizeEncoder<AuctionExtendedForReserveEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"extensionCount\", getU8Encoder()],\n [\"newEndTime\", getI64Encoder()],\n [\"reserveShortfall\", getU64Encoder()],\n [\"isReserveHidden\", getBooleanEncoder()],\n ]);\n}\n\nexport function getAuctionExtendedForReserveEventDecoder(): FixedSizeDecoder<AuctionExtendedForReserveEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"extensionCount\", getU8Decoder()],\n [\"newEndTime\", getI64Decoder()],\n [\"reserveShortfall\", getU64Decoder()],\n [\"isReserveHidden\", getBooleanDecoder()],\n ]);\n}\n\nexport function getAuctionExtendedForReserveEventCodec(): FixedSizeCodec<\n AuctionExtendedForReserveEventArgs,\n AuctionExtendedForReserveEvent\n> {\n return combineCodec(\n getAuctionExtendedForReserveEventEncoder(),\n getAuctionExtendedForReserveEventDecoder(),\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 getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type AuctionFailedEvent = { auction: Address; reason: string };\n\nexport type AuctionFailedEventArgs = AuctionFailedEvent;\n\nexport function getAuctionFailedEventEncoder(): Encoder<AuctionFailedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getAuctionFailedEventDecoder(): Decoder<AuctionFailedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"reason\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getAuctionFailedEventCodec(): Codec<\n AuctionFailedEventArgs,\n AuctionFailedEvent\n> {\n return combineCodec(\n getAuctionFailedEventEncoder(),\n getAuctionFailedEventDecoder(),\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 AuctionFinalizedEvent = {\n auction: Address;\n winner: Address;\n winningBid: bigint;\n};\n\nexport type AuctionFinalizedEventArgs = {\n auction: Address;\n winner: Address;\n winningBid: number | bigint;\n};\n\nexport function getAuctionFinalizedEventEncoder(): FixedSizeEncoder<AuctionFinalizedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"winner\", getAddressEncoder()],\n [\"winningBid\", getU64Encoder()],\n ]);\n}\n\nexport function getAuctionFinalizedEventDecoder(): FixedSizeDecoder<AuctionFinalizedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"winner\", getAddressDecoder()],\n [\"winningBid\", getU64Decoder()],\n ]);\n}\n\nexport function getAuctionFinalizedEventCodec(): FixedSizeCodec<\n AuctionFinalizedEventArgs,\n AuctionFinalizedEvent\n> {\n return combineCodec(\n getAuctionFinalizedEventEncoder(),\n getAuctionFinalizedEventDecoder(),\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 getBooleanDecoder,\n getBooleanEncoder,\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 AuctionReservePriceUpdatedEvent = {\n auction: Address;\n oldReservePrice: bigint;\n newReservePrice: bigint;\n reserveRevealed: boolean;\n currentHighestBid: bigint;\n};\n\nexport type AuctionReservePriceUpdatedEventArgs = {\n auction: Address;\n oldReservePrice: number | bigint;\n newReservePrice: number | bigint;\n reserveRevealed: boolean;\n currentHighestBid: number | bigint;\n};\n\nexport function getAuctionReservePriceUpdatedEventEncoder(): FixedSizeEncoder<AuctionReservePriceUpdatedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"oldReservePrice\", getU64Encoder()],\n [\"newReservePrice\", getU64Encoder()],\n [\"reserveRevealed\", getBooleanEncoder()],\n [\"currentHighestBid\", getU64Encoder()],\n ]);\n}\n\nexport function getAuctionReservePriceUpdatedEventDecoder(): FixedSizeDecoder<AuctionReservePriceUpdatedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"oldReservePrice\", getU64Decoder()],\n [\"newReservePrice\", getU64Decoder()],\n [\"reserveRevealed\", getBooleanDecoder()],\n [\"currentHighestBid\", getU64Decoder()],\n ]);\n}\n\nexport function getAuctionReservePriceUpdatedEventCodec(): FixedSizeCodec<\n AuctionReservePriceUpdatedEventArgs,\n AuctionReservePriceUpdatedEvent\n> {\n return combineCodec(\n getAuctionReservePriceUpdatedEventEncoder(),\n getAuctionReservePriceUpdatedEventDecoder(),\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\nexport enum AuctionStatus {\n Active,\n Ended,\n Cancelled,\n Settled,\n}\n\nexport type AuctionStatusArgs = AuctionStatus;\n\nexport function getAuctionStatusEncoder(): FixedSizeEncoder<AuctionStatusArgs> {\n return getEnumEncoder(AuctionStatus);\n}\n\nexport function getAuctionStatusDecoder(): FixedSizeDecoder<AuctionStatus> {\n return getEnumDecoder(AuctionStatus);\n}\n\nexport function getAuctionStatusCodec(): FixedSizeCodec<\n AuctionStatusArgs,\n AuctionStatus\n> {\n return combineCodec(getAuctionStatusEncoder(), getAuctionStatusDecoder());\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 AuctionType {\n English,\n Dutch,\n SealedBid,\n Vickrey,\n}\n\nexport type AuctionTypeArgs = AuctionType;\n\nexport function getAuctionTypeEncoder(): FixedSizeEncoder<AuctionTypeArgs> {\n return getEnumEncoder(AuctionType);\n}\n\nexport function getAuctionTypeDecoder(): FixedSizeDecoder<AuctionType> {\n return getEnumDecoder(AuctionType);\n}\n\nexport function getAuctionTypeCodec(): FixedSizeCodec<\n AuctionTypeArgs,\n AuctionType\n> {\n return combineCodec(getAuctionTypeEncoder(), getAuctionTypeDecoder());\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 getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getAuditContextDecoder,\n getAuditContextEncoder,\n type AuditContext,\n type AuditContextArgs,\n} from \".\";\n\nexport type AuditContextExport = { data: AuditContext };\n\nexport type AuditContextExportArgs = { data: AuditContextArgs };\n\nexport function getAuditContextExportEncoder(): Encoder<AuditContextExportArgs> {\n return getStructEncoder([[\"data\", getAuditContextEncoder()]]);\n}\n\nexport function getAuditContextExportDecoder(): Decoder<AuditContextExport> {\n return getStructDecoder([[\"data\", getAuditContextDecoder()]]);\n}\n\nexport function getAuditContextExportCodec(): Codec<\n AuditContextExportArgs,\n AuditContextExport\n> {\n return combineCodec(\n getAuditContextExportEncoder(),\n getAuditContextExportDecoder(),\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 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 fixDecoderSize,\n fixEncoderSize,\n getAddressDecoder,\n getAddressEncoder,\n getBytesDecoder,\n getBytesEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n type ReadonlyUint8Array,\n} from \"@solana/kit\";\n\n/** Events */\nexport type BidCommittedEvent = {\n auction: Address;\n bidder: Address;\n commitmentHash: ReadonlyUint8Array;\n timestamp: bigint;\n};\n\nexport type BidCommittedEventArgs = {\n auction: Address;\n bidder: Address;\n commitmentHash: ReadonlyUint8Array;\n timestamp: number | bigint;\n};\n\nexport function getBidCommittedEventEncoder(): FixedSizeEncoder<BidCommittedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"bidder\", getAddressEncoder()],\n [\"commitmentHash\", fixEncoderSize(getBytesEncoder(), 32)],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getBidCommittedEventDecoder(): FixedSizeDecoder<BidCommittedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"bidder\", getAddressDecoder()],\n [\"commitmentHash\", fixDecoderSize(getBytesDecoder(), 32)],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getBidCommittedEventCodec(): FixedSizeCodec<\n BidCommittedEventArgs,\n BidCommittedEvent\n> {\n return combineCodec(\n getBidCommittedEventEncoder(),\n getBidCommittedEventDecoder(),\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 BidRevealedEvent = {\n auction: Address;\n bidder: Address;\n amount: bigint;\n timestamp: bigint;\n};\n\nexport type BidRevealedEventArgs = {\n auction: Address;\n bidder: Address;\n amount: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getBidRevealedEventEncoder(): FixedSizeEncoder<BidRevealedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"bidder\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getBidRevealedEventDecoder(): FixedSizeDecoder<BidRevealedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"bidder\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getBidRevealedEventCodec(): FixedSizeCodec<\n BidRevealedEventArgs,\n BidRevealedEvent\n> {\n return combineCodec(\n getBidRevealedEventEncoder(),\n getBidRevealedEventDecoder(),\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 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 type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getBiometricQualityDecoder,\n getBiometricQualityEncoder,\n type BiometricQuality,\n type BiometricQualityArgs,\n} from \".\";\n\nexport type BiometricQualityExport = { data: BiometricQuality };\n\nexport type BiometricQualityExportArgs = { data: BiometricQualityArgs };\n\nexport function getBiometricQualityExportEncoder(): Encoder<BiometricQualityExportArgs> {\n return getStructEncoder([[\"data\", getBiometricQualityEncoder()]]);\n}\n\nexport function getBiometricQualityExportDecoder(): Decoder<BiometricQualityExport> {\n return getStructDecoder([[\"data\", getBiometricQualityDecoder()]]);\n}\n\nexport function getBiometricQualityExportCodec(): Codec<\n BiometricQualityExportArgs,\n BiometricQualityExport\n> {\n return combineCodec(\n getBiometricQualityExportEncoder(),\n getBiometricQualityExportDecoder(),\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/** 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 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 BulkDealBatchExecutedEvent = {\n deal: Address;\n executor: Address;\n batchSize: number;\n totalExecuted: number;\n timestamp: bigint;\n};\n\nexport type BulkDealBatchExecutedEventArgs = {\n deal: Address;\n executor: Address;\n batchSize: number;\n totalExecuted: number;\n timestamp: number | bigint;\n};\n\nexport function getBulkDealBatchExecutedEventEncoder(): FixedSizeEncoder<BulkDealBatchExecutedEventArgs> {\n return getStructEncoder([\n [\"deal\", getAddressEncoder()],\n [\"executor\", getAddressEncoder()],\n [\"batchSize\", getU32Encoder()],\n [\"totalExecuted\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getBulkDealBatchExecutedEventDecoder(): FixedSizeDecoder<BulkDealBatchExecutedEvent> {\n return getStructDecoder([\n [\"deal\", getAddressDecoder()],\n [\"executor\", getAddressDecoder()],\n [\"batchSize\", getU32Decoder()],\n [\"totalExecuted\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getBulkDealBatchExecutedEventCodec(): FixedSizeCodec<\n BulkDealBatchExecutedEventArgs,\n BulkDealBatchExecutedEvent\n> {\n return combineCodec(\n getBulkDealBatchExecutedEventEncoder(),\n getBulkDealBatchExecutedEventDecoder(),\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 getDealTypeDecoder,\n getDealTypeEncoder,\n type DealType,\n type DealTypeArgs,\n} from \".\";\n\nexport type BulkDealCreatedEvent = {\n deal: Address;\n agent: Address;\n customer: Address;\n dealType: DealType;\n totalValue: bigint;\n};\n\nexport type BulkDealCreatedEventArgs = {\n deal: Address;\n agent: Address;\n customer: Address;\n dealType: DealTypeArgs;\n totalValue: number | bigint;\n};\n\nexport function getBulkDealCreatedEventEncoder(): FixedSizeEncoder<BulkDealCreatedEventArgs> {\n return getStructEncoder([\n [\"deal\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"customer\", getAddressEncoder()],\n [\"dealType\", getDealTypeEncoder()],\n [\"totalValue\", getU64Encoder()],\n ]);\n}\n\nexport function getBulkDealCreatedEventDecoder(): FixedSizeDecoder<BulkDealCreatedEvent> {\n return getStructDecoder([\n [\"deal\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"customer\", getAddressDecoder()],\n [\"dealType\", getDealTypeDecoder()],\n [\"totalValue\", getU64Decoder()],\n ]);\n}\n\nexport function getBulkDealCreatedEventCodec(): FixedSizeCodec<\n BulkDealCreatedEventArgs,\n BulkDealCreatedEvent\n> {\n return combineCodec(\n getBulkDealCreatedEventEncoder(),\n getBulkDealCreatedEventDecoder(),\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 type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getChannelTypeDecoder,\n getChannelTypeEncoder,\n type ChannelType,\n type ChannelTypeArgs,\n} from \".\";\n\nexport type ChannelCreatedEvent = {\n channel: Address;\n creator: Address;\n channelType: ChannelType;\n};\n\nexport type ChannelCreatedEventArgs = {\n channel: Address;\n creator: Address;\n channelType: ChannelTypeArgs;\n};\n\nexport function getChannelCreatedEventEncoder(): FixedSizeEncoder<ChannelCreatedEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"channelType\", getChannelTypeEncoder()],\n ]);\n}\n\nexport function getChannelCreatedEventDecoder(): FixedSizeDecoder<ChannelCreatedEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"channelType\", getChannelTypeDecoder()],\n ]);\n}\n\nexport function getChannelCreatedEventCodec(): FixedSizeCodec<\n ChannelCreatedEventArgs,\n ChannelCreatedEvent\n> {\n return combineCodec(\n getChannelCreatedEventEncoder(),\n getChannelCreatedEventDecoder(),\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\";\nimport {\n getChannelSettingsDecoder,\n getChannelSettingsEncoder,\n type ChannelSettings,\n type ChannelSettingsArgs,\n} from \".\";\n\nexport type ChannelMetadata = {\n name: Option<string>;\n description: Option<string>;\n avatarUrl: Option<string>;\n tags: Array<string>;\n settings: ChannelSettings;\n};\n\nexport type ChannelMetadataArgs = {\n name: OptionOrNullable<string>;\n description: OptionOrNullable<string>;\n avatarUrl: OptionOrNullable<string>;\n tags: Array<string>;\n settings: ChannelSettingsArgs;\n};\n\nexport function getChannelMetadataEncoder(): Encoder<ChannelMetadataArgs> {\n return getStructEncoder([\n [\n \"name\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"description\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"avatarUrl\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\n \"tags\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"settings\", getChannelSettingsEncoder()],\n ]);\n}\n\nexport function getChannelMetadataDecoder(): Decoder<ChannelMetadata> {\n return getStructDecoder([\n [\n \"name\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"description\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"avatarUrl\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\n \"tags\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"settings\", getChannelSettingsDecoder()],\n ]);\n}\n\nexport function getChannelMetadataCodec(): Codec<\n ChannelMetadataArgs,\n ChannelMetadata\n> {\n return combineCodec(getChannelMetadataEncoder(), getChannelMetadataDecoder());\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 getU32Decoder,\n getU32Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type ChannelSettings = {\n allowFileSharing: boolean;\n allowExternalInvites: boolean;\n messageRetentionDays: number;\n maxMessageSize: number;\n requireEncryption: boolean;\n autoArchiveAfterDays: number;\n};\n\nexport type ChannelSettingsArgs = ChannelSettings;\n\nexport function getChannelSettingsEncoder(): FixedSizeEncoder<ChannelSettingsArgs> {\n return getStructEncoder([\n [\"allowFileSharing\", getBooleanEncoder()],\n [\"allowExternalInvites\", getBooleanEncoder()],\n [\"messageRetentionDays\", getU32Encoder()],\n [\"maxMessageSize\", getU32Encoder()],\n [\"requireEncryption\", getBooleanEncoder()],\n [\"autoArchiveAfterDays\", getU32Encoder()],\n ]);\n}\n\nexport function getChannelSettingsDecoder(): FixedSizeDecoder<ChannelSettings> {\n return getStructDecoder([\n [\"allowFileSharing\", getBooleanDecoder()],\n [\"allowExternalInvites\", getBooleanDecoder()],\n [\"messageRetentionDays\", getU32Decoder()],\n [\"maxMessageSize\", getU32Decoder()],\n [\"requireEncryption\", getBooleanDecoder()],\n [\"autoArchiveAfterDays\", getU32Decoder()],\n ]);\n}\n\nexport function getChannelSettingsCodec(): FixedSizeCodec<\n ChannelSettingsArgs,\n ChannelSettings\n> {\n return combineCodec(getChannelSettingsEncoder(), getChannelSettingsDecoder());\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 ChannelSettingsUpdatedEvent = {\n channel: Address;\n updatedBy: Address;\n updatedAt: bigint;\n};\n\nexport type ChannelSettingsUpdatedEventArgs = {\n channel: Address;\n updatedBy: Address;\n updatedAt: number | bigint;\n};\n\nexport function getChannelSettingsUpdatedEventEncoder(): FixedSizeEncoder<ChannelSettingsUpdatedEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"updatedBy\", getAddressEncoder()],\n [\"updatedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getChannelSettingsUpdatedEventDecoder(): FixedSizeDecoder<ChannelSettingsUpdatedEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"updatedBy\", getAddressDecoder()],\n [\"updatedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getChannelSettingsUpdatedEventCodec(): FixedSizeCodec<\n ChannelSettingsUpdatedEventArgs,\n ChannelSettingsUpdatedEvent\n> {\n return combineCodec(\n getChannelSettingsUpdatedEventEncoder(),\n getChannelSettingsUpdatedEventDecoder(),\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\nexport enum ChannelType {\n Direct,\n Group,\n Public,\n Private,\n}\n\nexport type ChannelTypeArgs = ChannelType;\n\nexport function getChannelTypeEncoder(): FixedSizeEncoder<ChannelTypeArgs> {\n return getEnumEncoder(ChannelType);\n}\n\nexport function getChannelTypeDecoder(): FixedSizeDecoder<ChannelType> {\n return getEnumDecoder(ChannelType);\n}\n\nexport function getChannelTypeCodec(): FixedSizeCodec<\n ChannelTypeArgs,\n ChannelType\n> {\n return combineCodec(getChannelTypeEncoder(), getChannelTypeDecoder());\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type CollectorAgentPerformanceEvent = {\n agent: Address;\n revenue: bigint;\n successRate: number;\n responseTime: bigint;\n timestamp: bigint;\n};\n\nexport type CollectorAgentPerformanceEventArgs = {\n agent: Address;\n revenue: number | bigint;\n successRate: number;\n responseTime: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getCollectorAgentPerformanceEventEncoder(): FixedSizeEncoder<CollectorAgentPerformanceEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"revenue\", getU64Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"responseTime\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getCollectorAgentPerformanceEventDecoder(): FixedSizeDecoder<CollectorAgentPerformanceEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"revenue\", getU64Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"responseTime\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getCollectorAgentPerformanceEventCodec(): FixedSizeCodec<\n CollectorAgentPerformanceEventArgs,\n CollectorAgentPerformanceEvent\n> {\n return combineCodec(\n getCollectorAgentPerformanceEventEncoder(),\n getCollectorAgentPerformanceEventDecoder(),\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\";\nimport {\n getParticipantTypeDecoder,\n getParticipantTypeEncoder,\n type ParticipantType,\n type ParticipantTypeArgs,\n} from \".\";\n\nexport type CommunicationMessageSentEvent = {\n messageId: bigint;\n sessionId: bigint;\n sender: Address;\n senderType: ParticipantType;\n timestamp: bigint;\n};\n\nexport type CommunicationMessageSentEventArgs = {\n messageId: number | bigint;\n sessionId: number | bigint;\n sender: Address;\n senderType: ParticipantTypeArgs;\n timestamp: number | bigint;\n};\n\nexport function getCommunicationMessageSentEventEncoder(): FixedSizeEncoder<CommunicationMessageSentEventArgs> {\n return getStructEncoder([\n [\"messageId\", getU64Encoder()],\n [\"sessionId\", getU64Encoder()],\n [\"sender\", getAddressEncoder()],\n [\"senderType\", getParticipantTypeEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getCommunicationMessageSentEventDecoder(): FixedSizeDecoder<CommunicationMessageSentEvent> {\n return getStructDecoder([\n [\"messageId\", getU64Decoder()],\n [\"sessionId\", getU64Decoder()],\n [\"sender\", getAddressDecoder()],\n [\"senderType\", getParticipantTypeDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getCommunicationMessageSentEventCodec(): FixedSizeCodec<\n CommunicationMessageSentEventArgs,\n CommunicationMessageSentEvent\n> {\n return combineCodec(\n getCommunicationMessageSentEventEncoder(),\n getCommunicationMessageSentEventDecoder(),\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\";\nimport {\n getParticipantTypeDecoder,\n getParticipantTypeEncoder,\n type ParticipantType,\n type ParticipantTypeArgs,\n} from \".\";\n\nexport type CommunicationSessionCreatedEvent = {\n sessionId: bigint;\n initiator: Address;\n initiatorType: ParticipantType;\n responder: Address;\n responderType: ParticipantType;\n timestamp: bigint;\n};\n\nexport type CommunicationSessionCreatedEventArgs = {\n sessionId: number | bigint;\n initiator: Address;\n initiatorType: ParticipantTypeArgs;\n responder: Address;\n responderType: ParticipantTypeArgs;\n timestamp: number | bigint;\n};\n\nexport function getCommunicationSessionCreatedEventEncoder(): FixedSizeEncoder<CommunicationSessionCreatedEventArgs> {\n return getStructEncoder([\n [\"sessionId\", getU64Encoder()],\n [\"initiator\", getAddressEncoder()],\n [\"initiatorType\", getParticipantTypeEncoder()],\n [\"responder\", getAddressEncoder()],\n [\"responderType\", getParticipantTypeEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getCommunicationSessionCreatedEventDecoder(): FixedSizeDecoder<CommunicationSessionCreatedEvent> {\n return getStructDecoder([\n [\"sessionId\", getU64Decoder()],\n [\"initiator\", getAddressDecoder()],\n [\"initiatorType\", getParticipantTypeDecoder()],\n [\"responder\", getAddressDecoder()],\n [\"responderType\", getParticipantTypeDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getCommunicationSessionCreatedEventCodec(): FixedSizeCodec<\n CommunicationSessionCreatedEventArgs,\n CommunicationSessionCreatedEvent\n> {\n return combineCodec(\n getCommunicationSessionCreatedEventEncoder(),\n getCommunicationSessionCreatedEventDecoder(),\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 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 type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getComplianceStatusDecoder,\n getComplianceStatusEncoder,\n type ComplianceStatus,\n type ComplianceStatusArgs,\n} from \".\";\n\nexport type ComplianceStatusExport = { data: ComplianceStatus };\n\nexport type ComplianceStatusExportArgs = { data: ComplianceStatusArgs };\n\nexport function getComplianceStatusExportEncoder(): Encoder<ComplianceStatusExportArgs> {\n return getStructEncoder([[\"data\", getComplianceStatusEncoder()]]);\n}\n\nexport function getComplianceStatusExportDecoder(): Decoder<ComplianceStatusExport> {\n return getStructDecoder([[\"data\", getComplianceStatusDecoder()]]);\n}\n\nexport function getComplianceStatusExportCodec(): Codec<\n ComplianceStatusExportArgs,\n ComplianceStatusExport\n> {\n return combineCodec(\n getComplianceStatusExportEncoder(),\n getComplianceStatusExportDecoder(),\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 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 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\nexport type ConfidentialTransferInitializedEvent = {\n mint: Address;\n authority: Address;\n autoApproveNewAccounts: boolean;\n auditorConfigured: boolean;\n timestamp: bigint;\n};\n\nexport type ConfidentialTransferInitializedEventArgs = {\n mint: Address;\n authority: Address;\n autoApproveNewAccounts: boolean;\n auditorConfigured: boolean;\n timestamp: number | bigint;\n};\n\nexport function getConfidentialTransferInitializedEventEncoder(): FixedSizeEncoder<ConfidentialTransferInitializedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"autoApproveNewAccounts\", getBooleanEncoder()],\n [\"auditorConfigured\", getBooleanEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getConfidentialTransferInitializedEventDecoder(): FixedSizeDecoder<ConfidentialTransferInitializedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"autoApproveNewAccounts\", getBooleanDecoder()],\n [\"auditorConfigured\", getBooleanDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getConfidentialTransferInitializedEventCodec(): FixedSizeCodec<\n ConfidentialTransferInitializedEventArgs,\n ConfidentialTransferInitializedEvent\n> {\n return combineCodec(\n getConfidentialTransferInitializedEventEncoder(),\n getConfidentialTransferInitializedEventDecoder(),\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 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\nexport enum ContractStatus {\n Active,\n Completed,\n Cancelled,\n Disputed,\n}\n\nexport type ContractStatusArgs = ContractStatus;\n\nexport function getContractStatusEncoder(): FixedSizeEncoder<ContractStatusArgs> {\n return getEnumEncoder(ContractStatus);\n}\n\nexport function getContractStatusDecoder(): FixedSizeDecoder<ContractStatus> {\n return getEnumDecoder(ContractStatus);\n}\n\nexport function getContractStatusCodec(): FixedSizeCodec<\n ContractStatusArgs,\n ContractStatus\n> {\n return combineCodec(getContractStatusEncoder(), getContractStatusDecoder());\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 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 CounterOfferMadeEvent = {\n negotiation: Address;\n sender: Address;\n counterOffer: bigint;\n message: string;\n autoAccepted: boolean;\n};\n\nexport type CounterOfferMadeEventArgs = {\n negotiation: Address;\n sender: Address;\n counterOffer: number | bigint;\n message: string;\n autoAccepted: boolean;\n};\n\nexport function getCounterOfferMadeEventEncoder(): Encoder<CounterOfferMadeEventArgs> {\n return getStructEncoder([\n [\"negotiation\", getAddressEncoder()],\n [\"sender\", getAddressEncoder()],\n [\"counterOffer\", getU64Encoder()],\n [\"message\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"autoAccepted\", getBooleanEncoder()],\n ]);\n}\n\nexport function getCounterOfferMadeEventDecoder(): Decoder<CounterOfferMadeEvent> {\n return getStructDecoder([\n [\"negotiation\", getAddressDecoder()],\n [\"sender\", getAddressDecoder()],\n [\"counterOffer\", getU64Decoder()],\n [\"message\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"autoAccepted\", getBooleanDecoder()],\n ]);\n}\n\nexport function getCounterOfferMadeEventCodec(): Codec<\n CounterOfferMadeEventArgs,\n CounterOfferMadeEvent\n> {\n return combineCodec(\n getCounterOfferMadeEventEncoder(),\n getCounterOfferMadeEventDecoder(),\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\nexport enum DealType {\n VolumeDiscount,\n BundleOffer,\n GroupPurchase,\n Wholesale,\n}\n\nexport type DealTypeArgs = DealType;\n\nexport function getDealTypeEncoder(): FixedSizeEncoder<DealTypeArgs> {\n return getEnumEncoder(DealType);\n}\n\nexport function getDealTypeDecoder(): FixedSizeDecoder<DealType> {\n return getEnumDecoder(DealType);\n}\n\nexport function getDealTypeCodec(): FixedSizeCodec<DealTypeArgs, DealType> {\n return combineCodec(getDealTypeEncoder(), getDealTypeDecoder());\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\";\nimport {\n getAccountStateDecoder,\n getAccountStateEncoder,\n type AccountState,\n type AccountStateArgs,\n} from \".\";\n\nexport type DefaultAccountStateInitializedEvent = {\n mint: Address;\n authority: Address;\n defaultState: AccountState;\n timestamp: bigint;\n};\n\nexport type DefaultAccountStateInitializedEventArgs = {\n mint: Address;\n authority: Address;\n defaultState: AccountStateArgs;\n timestamp: number | bigint;\n};\n\nexport function getDefaultAccountStateInitializedEventEncoder(): FixedSizeEncoder<DefaultAccountStateInitializedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"defaultState\", getAccountStateEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getDefaultAccountStateInitializedEventDecoder(): FixedSizeDecoder<DefaultAccountStateInitializedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"defaultState\", getAccountStateDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getDefaultAccountStateInitializedEventCodec(): FixedSizeCodec<\n DefaultAccountStateInitializedEventArgs,\n DefaultAccountStateInitializedEvent\n> {\n return combineCodec(\n getDefaultAccountStateInitializedEventEncoder(),\n getDefaultAccountStateInitializedEventDecoder(),\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 combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport enum Deliverable {\n Code,\n Document,\n Design,\n Analysis,\n Other,\n}\n\nexport type DeliverableArgs = Deliverable;\n\nexport function getDeliverableEncoder(): FixedSizeEncoder<DeliverableArgs> {\n return getEnumEncoder(Deliverable);\n}\n\nexport function getDeliverableDecoder(): FixedSizeDecoder<Deliverable> {\n return getEnumDecoder(Deliverable);\n}\n\nexport function getDeliverableCodec(): FixedSizeCodec<\n DeliverableArgs,\n Deliverable\n> {\n return combineCodec(getDeliverableEncoder(), getDeliverableDecoder());\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\nexport type DisputeEvidence = {\n submitter: Address;\n evidenceType: string;\n evidenceData: string;\n timestamp: bigint;\n isVerified: boolean;\n};\n\nexport type DisputeEvidenceArgs = {\n submitter: Address;\n evidenceType: string;\n evidenceData: string;\n timestamp: number | bigint;\n isVerified: boolean;\n};\n\nexport function getDisputeEvidenceEncoder(): Encoder<DisputeEvidenceArgs> {\n return getStructEncoder([\n [\"submitter\", getAddressEncoder()],\n [\"evidenceType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"evidenceData\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n [\"isVerified\", getBooleanEncoder()],\n ]);\n}\n\nexport function getDisputeEvidenceDecoder(): Decoder<DisputeEvidence> {\n return getStructDecoder([\n [\"submitter\", getAddressDecoder()],\n [\"evidenceType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"evidenceData\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n [\"isVerified\", getBooleanDecoder()],\n ]);\n}\n\nexport function getDisputeEvidenceCodec(): Codec<\n DisputeEvidenceArgs,\n DisputeEvidence\n> {\n return combineCodec(getDisputeEvidenceEncoder(), getDisputeEvidenceDecoder());\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 DisputeEvidenceBatchSubmittedEvent = {\n dispute: Address;\n submitter: Address;\n batchSize: number;\n totalEvidenceCount: number;\n};\n\nexport type DisputeEvidenceBatchSubmittedEventArgs =\n DisputeEvidenceBatchSubmittedEvent;\n\nexport function getDisputeEvidenceBatchSubmittedEventEncoder(): FixedSizeEncoder<DisputeEvidenceBatchSubmittedEventArgs> {\n return getStructEncoder([\n [\"dispute\", getAddressEncoder()],\n [\"submitter\", getAddressEncoder()],\n [\"batchSize\", getU32Encoder()],\n [\"totalEvidenceCount\", getU32Encoder()],\n ]);\n}\n\nexport function getDisputeEvidenceBatchSubmittedEventDecoder(): FixedSizeDecoder<DisputeEvidenceBatchSubmittedEvent> {\n return getStructDecoder([\n [\"dispute\", getAddressDecoder()],\n [\"submitter\", getAddressDecoder()],\n [\"batchSize\", getU32Decoder()],\n [\"totalEvidenceCount\", getU32Decoder()],\n ]);\n}\n\nexport function getDisputeEvidenceBatchSubmittedEventCodec(): FixedSizeCodec<\n DisputeEvidenceBatchSubmittedEventArgs,\n DisputeEvidenceBatchSubmittedEvent\n> {\n return combineCodec(\n getDisputeEvidenceBatchSubmittedEventEncoder(),\n getDisputeEvidenceBatchSubmittedEventDecoder(),\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 DisputeEvidenceSubmittedEvent = {\n dispute: Address;\n submitter: Address;\n evidenceCount: number;\n};\n\nexport type DisputeEvidenceSubmittedEventArgs = DisputeEvidenceSubmittedEvent;\n\nexport function getDisputeEvidenceSubmittedEventEncoder(): FixedSizeEncoder<DisputeEvidenceSubmittedEventArgs> {\n return getStructEncoder([\n [\"dispute\", getAddressEncoder()],\n [\"submitter\", getAddressEncoder()],\n [\"evidenceCount\", getU32Encoder()],\n ]);\n}\n\nexport function getDisputeEvidenceSubmittedEventDecoder(): FixedSizeDecoder<DisputeEvidenceSubmittedEvent> {\n return getStructDecoder([\n [\"dispute\", getAddressDecoder()],\n [\"submitter\", getAddressDecoder()],\n [\"evidenceCount\", getU32Decoder()],\n ]);\n}\n\nexport function getDisputeEvidenceSubmittedEventCodec(): FixedSizeCodec<\n DisputeEvidenceSubmittedEventArgs,\n DisputeEvidenceSubmittedEvent\n> {\n return combineCodec(\n getDisputeEvidenceSubmittedEventEncoder(),\n getDisputeEvidenceSubmittedEventDecoder(),\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 getUtf8Decoder,\n getUtf8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type DisputeFiledEvent = {\n dispute: Address;\n complainant: Address;\n respondent: Address;\n reason: string;\n};\n\nexport type DisputeFiledEventArgs = DisputeFiledEvent;\n\nexport function getDisputeFiledEventEncoder(): Encoder<DisputeFiledEventArgs> {\n return getStructEncoder([\n [\"dispute\", getAddressEncoder()],\n [\"complainant\", getAddressEncoder()],\n [\"respondent\", getAddressEncoder()],\n [\"reason\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getDisputeFiledEventDecoder(): Decoder<DisputeFiledEvent> {\n return getStructDecoder([\n [\"dispute\", getAddressDecoder()],\n [\"complainant\", getAddressDecoder()],\n [\"respondent\", 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 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\nexport type DisputeResolvedEvent = {\n dispute: Address;\n arbitrator: Address;\n awardToComplainant: boolean;\n resolution: string;\n timestamp: bigint;\n};\n\nexport type DisputeResolvedEventArgs = {\n dispute: Address;\n arbitrator: Address;\n awardToComplainant: boolean;\n resolution: string;\n timestamp: number | bigint;\n};\n\nexport function getDisputeResolvedEventEncoder(): Encoder<DisputeResolvedEventArgs> {\n return getStructEncoder([\n [\"dispute\", getAddressEncoder()],\n [\"arbitrator\", getAddressEncoder()],\n [\"awardToComplainant\", getBooleanEncoder()],\n [\"resolution\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getDisputeResolvedEventDecoder(): Decoder<DisputeResolvedEvent> {\n return getStructDecoder([\n [\"dispute\", getAddressDecoder()],\n [\"arbitrator\", getAddressDecoder()],\n [\"awardToComplainant\", getBooleanDecoder()],\n [\"resolution\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\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 getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport enum DisputeStatus {\n Filed,\n UnderReview,\n EvidenceSubmitted,\n Resolved,\n Escalated,\n Closed,\n}\n\nexport type DisputeStatusArgs = DisputeStatus;\n\nexport function getDisputeStatusEncoder(): FixedSizeEncoder<DisputeStatusArgs> {\n return getEnumEncoder(DisputeStatus);\n}\n\nexport function getDisputeStatusDecoder(): FixedSizeDecoder<DisputeStatus> {\n return getEnumDecoder(DisputeStatus);\n}\n\nexport function getDisputeStatusCodec(): FixedSizeCodec<\n DisputeStatusArgs,\n DisputeStatus\n> {\n return combineCodec(getDisputeStatusEncoder(), getDisputeStatusDecoder());\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 getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getDutchAuctionDecayTypeDecoder,\n getDutchAuctionDecayTypeEncoder,\n type DutchAuctionDecayType,\n type DutchAuctionDecayTypeArgs,\n} from \".\";\n\nexport type DutchAuctionConfig = {\n decayType: DutchAuctionDecayType;\n priceStepCount: number;\n stepDuration: bigint;\n decayRateBasisPoints: number;\n};\n\nexport type DutchAuctionConfigArgs = {\n decayType: DutchAuctionDecayTypeArgs;\n priceStepCount: number;\n stepDuration: number | bigint;\n decayRateBasisPoints: number;\n};\n\nexport function getDutchAuctionConfigEncoder(): FixedSizeEncoder<DutchAuctionConfigArgs> {\n return getStructEncoder([\n [\"decayType\", getDutchAuctionDecayTypeEncoder()],\n [\"priceStepCount\", getU32Encoder()],\n [\"stepDuration\", getI64Encoder()],\n [\"decayRateBasisPoints\", getU16Encoder()],\n ]);\n}\n\nexport function getDutchAuctionConfigDecoder(): FixedSizeDecoder<DutchAuctionConfig> {\n return getStructDecoder([\n [\"decayType\", getDutchAuctionDecayTypeDecoder()],\n [\"priceStepCount\", getU32Decoder()],\n [\"stepDuration\", getI64Decoder()],\n [\"decayRateBasisPoints\", getU16Decoder()],\n ]);\n}\n\nexport function getDutchAuctionConfigCodec(): FixedSizeCodec<\n DutchAuctionConfigArgs,\n DutchAuctionConfig\n> {\n return combineCodec(\n getDutchAuctionConfigEncoder(),\n getDutchAuctionConfigDecoder(),\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\nexport enum DutchAuctionDecayType {\n Linear,\n Exponential,\n Stepped,\n}\n\nexport type DutchAuctionDecayTypeArgs = DutchAuctionDecayType;\n\nexport function getDutchAuctionDecayTypeEncoder(): FixedSizeEncoder<DutchAuctionDecayTypeArgs> {\n return getEnumEncoder(DutchAuctionDecayType);\n}\n\nexport function getDutchAuctionDecayTypeDecoder(): FixedSizeDecoder<DutchAuctionDecayType> {\n return getEnumDecoder(DutchAuctionDecayType);\n}\n\nexport function getDutchAuctionDecayTypeCodec(): FixedSizeCodec<\n DutchAuctionDecayTypeArgs,\n DutchAuctionDecayType\n> {\n return combineCodec(\n getDutchAuctionDecayTypeEncoder(),\n getDutchAuctionDecayTypeDecoder(),\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 DutchAuctionWonEvent = {\n auction: Address;\n winner: Address;\n finalPrice: bigint;\n startingPrice: bigint;\n reservePrice: bigint;\n timeElapsed: bigint;\n};\n\nexport type DutchAuctionWonEventArgs = {\n auction: Address;\n winner: Address;\n finalPrice: number | bigint;\n startingPrice: number | bigint;\n reservePrice: number | bigint;\n timeElapsed: number | bigint;\n};\n\nexport function getDutchAuctionWonEventEncoder(): FixedSizeEncoder<DutchAuctionWonEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"winner\", getAddressEncoder()],\n [\"finalPrice\", getU64Encoder()],\n [\"startingPrice\", getU64Encoder()],\n [\"reservePrice\", getU64Encoder()],\n [\"timeElapsed\", getI64Encoder()],\n ]);\n}\n\nexport function getDutchAuctionWonEventDecoder(): FixedSizeDecoder<DutchAuctionWonEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"winner\", getAddressDecoder()],\n [\"finalPrice\", getU64Decoder()],\n [\"startingPrice\", getU64Decoder()],\n [\"reservePrice\", getU64Decoder()],\n [\"timeElapsed\", getI64Decoder()],\n ]);\n}\n\nexport function getDutchAuctionWonEventCodec(): FixedSizeCodec<\n DutchAuctionWonEventArgs,\n DutchAuctionWonEvent\n> {\n return combineCodec(\n getDutchAuctionWonEventEncoder(),\n getDutchAuctionWonEventDecoder(),\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 getDynamicPricingConfigDecoder,\n getDynamicPricingConfigEncoder,\n type DynamicPricingConfig,\n type DynamicPricingConfigArgs,\n} from \".\";\n\nexport type DynamicPricingConfigExport = { data: DynamicPricingConfig };\n\nexport type DynamicPricingConfigExportArgs = { data: DynamicPricingConfigArgs };\n\nexport function getDynamicPricingConfigExportEncoder(): Encoder<DynamicPricingConfigExportArgs> {\n return getStructEncoder([[\"data\", getDynamicPricingConfigEncoder()]]);\n}\n\nexport function getDynamicPricingConfigExportDecoder(): Decoder<DynamicPricingConfigExport> {\n return getStructDecoder([[\"data\", getDynamicPricingConfigDecoder()]]);\n}\n\nexport function getDynamicPricingConfigExportCodec(): Codec<\n DynamicPricingConfigExportArgs,\n DynamicPricingConfigExport\n> {\n return combineCodec(\n getDynamicPricingConfigExportEncoder(),\n getDynamicPricingConfigExportDecoder(),\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 getPricingAlgorithmDecoder,\n getPricingAlgorithmEncoder,\n type PricingAlgorithm,\n type PricingAlgorithmArgs,\n} from \".\";\n\nexport type DynamicPricingEngineCreatedEvent = {\n engine: Address;\n agent: Address;\n owner: Address;\n algorithm: PricingAlgorithm;\n basePrice: bigint;\n};\n\nexport type DynamicPricingEngineCreatedEventArgs = {\n engine: Address;\n agent: Address;\n owner: Address;\n algorithm: PricingAlgorithmArgs;\n basePrice: number | bigint;\n};\n\nexport function getDynamicPricingEngineCreatedEventEncoder(): FixedSizeEncoder<DynamicPricingEngineCreatedEventArgs> {\n return getStructEncoder([\n [\"engine\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"algorithm\", getPricingAlgorithmEncoder()],\n [\"basePrice\", getU64Encoder()],\n ]);\n}\n\nexport function getDynamicPricingEngineCreatedEventDecoder(): FixedSizeDecoder<DynamicPricingEngineCreatedEvent> {\n return getStructDecoder([\n [\"engine\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"algorithm\", getPricingAlgorithmDecoder()],\n [\"basePrice\", getU64Decoder()],\n ]);\n}\n\nexport function getDynamicPricingEngineCreatedEventCodec(): FixedSizeCodec<\n DynamicPricingEngineCreatedEventArgs,\n DynamicPricingEngineCreatedEvent\n> {\n return combineCodec(\n getDynamicPricingEngineCreatedEventEncoder(),\n getDynamicPricingEngineCreatedEventDecoder(),\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 getF64Decoder,\n getF64Encoder,\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 DynamicPricingUpdatedEvent = {\n engine: Address;\n agent: Address;\n owner: Address;\n newPrice: bigint;\n demandMultiplier: number;\n supplyMultiplier: number;\n};\n\nexport type DynamicPricingUpdatedEventArgs = {\n engine: Address;\n agent: Address;\n owner: Address;\n newPrice: number | bigint;\n demandMultiplier: number;\n supplyMultiplier: number;\n};\n\nexport function getDynamicPricingUpdatedEventEncoder(): FixedSizeEncoder<DynamicPricingUpdatedEventArgs> {\n return getStructEncoder([\n [\"engine\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"newPrice\", getU64Encoder()],\n [\"demandMultiplier\", getF64Encoder()],\n [\"supplyMultiplier\", getF64Encoder()],\n ]);\n}\n\nexport function getDynamicPricingUpdatedEventDecoder(): FixedSizeDecoder<DynamicPricingUpdatedEvent> {\n return getStructDecoder([\n [\"engine\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"newPrice\", getU64Decoder()],\n [\"demandMultiplier\", getF64Decoder()],\n [\"supplyMultiplier\", getF64Decoder()],\n ]);\n}\n\nexport function getDynamicPricingUpdatedEventCodec(): FixedSizeCodec<\n DynamicPricingUpdatedEventArgs,\n DynamicPricingUpdatedEvent\n> {\n return combineCodec(\n getDynamicPricingUpdatedEventEncoder(),\n getDynamicPricingUpdatedEventDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type EconomicMetrics = {\n totalValueLocked: bigint;\n dailyVolume: bigint;\n totalFeeRevenue: bigint;\n uniqueActiveUsers: number;\n averageTransactionSize: bigint;\n tokenCirculation: bigint;\n lastUpdated: bigint;\n};\n\nexport type EconomicMetricsArgs = {\n totalValueLocked: number | bigint;\n dailyVolume: number | bigint;\n totalFeeRevenue: number | bigint;\n uniqueActiveUsers: number;\n averageTransactionSize: number | bigint;\n tokenCirculation: number | bigint;\n lastUpdated: number | bigint;\n};\n\nexport function getEconomicMetricsEncoder(): FixedSizeEncoder<EconomicMetricsArgs> {\n return getStructEncoder([\n [\"totalValueLocked\", getU64Encoder()],\n [\"dailyVolume\", getU64Encoder()],\n [\"totalFeeRevenue\", getU64Encoder()],\n [\"uniqueActiveUsers\", getU32Encoder()],\n [\"averageTransactionSize\", getU64Encoder()],\n [\"tokenCirculation\", getU64Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getEconomicMetricsDecoder(): FixedSizeDecoder<EconomicMetrics> {\n return getStructDecoder([\n [\"totalValueLocked\", getU64Decoder()],\n [\"dailyVolume\", getU64Decoder()],\n [\"totalFeeRevenue\", getU64Decoder()],\n [\"uniqueActiveUsers\", getU32Decoder()],\n [\"averageTransactionSize\", getU64Decoder()],\n [\"tokenCirculation\", getU64Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getEconomicMetricsCodec(): FixedSizeCodec<\n EconomicMetricsArgs,\n EconomicMetrics\n> {\n return combineCodec(getEconomicMetricsEncoder(), getEconomicMetricsDecoder());\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type EconomicMetricsCollectedEvent = {\n dashboard: Address;\n totalValueLocked: bigint;\n dailyVolume: bigint;\n feeRevenue: bigint;\n uniqueUsers: number;\n timestamp: bigint;\n};\n\nexport type EconomicMetricsCollectedEventArgs = {\n dashboard: Address;\n totalValueLocked: number | bigint;\n dailyVolume: number | bigint;\n feeRevenue: number | bigint;\n uniqueUsers: number;\n timestamp: number | bigint;\n};\n\nexport function getEconomicMetricsCollectedEventEncoder(): FixedSizeEncoder<EconomicMetricsCollectedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"totalValueLocked\", getU64Encoder()],\n [\"dailyVolume\", getU64Encoder()],\n [\"feeRevenue\", getU64Encoder()],\n [\"uniqueUsers\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEconomicMetricsCollectedEventDecoder(): FixedSizeDecoder<EconomicMetricsCollectedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"totalValueLocked\", getU64Decoder()],\n [\"dailyVolume\", getU64Decoder()],\n [\"feeRevenue\", getU64Decoder()],\n [\"uniqueUsers\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEconomicMetricsCollectedEventCodec(): FixedSizeCodec<\n EconomicMetricsCollectedEventArgs,\n EconomicMetricsCollectedEvent\n> {\n return combineCodec(\n getEconomicMetricsCollectedEventEncoder(),\n getEconomicMetricsCollectedEventDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type EconomicMetricsEvent = {\n totalValueLocked: bigint;\n dailyVolume: bigint;\n feeRevenue: bigint;\n uniqueUsers: number;\n timestamp: bigint;\n};\n\nexport type EconomicMetricsEventArgs = {\n totalValueLocked: number | bigint;\n dailyVolume: number | bigint;\n feeRevenue: number | bigint;\n uniqueUsers: number;\n timestamp: number | bigint;\n};\n\nexport function getEconomicMetricsEventEncoder(): FixedSizeEncoder<EconomicMetricsEventArgs> {\n return getStructEncoder([\n [\"totalValueLocked\", getU64Encoder()],\n [\"dailyVolume\", getU64Encoder()],\n [\"feeRevenue\", getU64Encoder()],\n [\"uniqueUsers\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEconomicMetricsEventDecoder(): FixedSizeDecoder<EconomicMetricsEvent> {\n return getStructDecoder([\n [\"totalValueLocked\", getU64Decoder()],\n [\"dailyVolume\", getU64Decoder()],\n [\"feeRevenue\", getU64Decoder()],\n [\"uniqueUsers\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEconomicMetricsEventCodec(): FixedSizeCodec<\n EconomicMetricsEventArgs,\n EconomicMetricsEvent\n> {\n return combineCodec(\n getEconomicMetricsEventEncoder(),\n getEconomicMetricsEventDecoder(),\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 getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getChannelMetadataDecoder,\n getChannelMetadataEncoder,\n getChannelTypeDecoder,\n getChannelTypeEncoder,\n type ChannelMetadata,\n type ChannelMetadataArgs,\n type ChannelType,\n type ChannelTypeArgs,\n} from \".\";\n\nexport type EnhancedChannelCreatedEvent = {\n channel: Address;\n creator: Address;\n channelType: ChannelType;\n metadata: ChannelMetadata;\n participantCount: number;\n createdAt: bigint;\n};\n\nexport type EnhancedChannelCreatedEventArgs = {\n channel: Address;\n creator: Address;\n channelType: ChannelTypeArgs;\n metadata: ChannelMetadataArgs;\n participantCount: number;\n createdAt: number | bigint;\n};\n\nexport function getEnhancedChannelCreatedEventEncoder(): Encoder<EnhancedChannelCreatedEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"channelType\", getChannelTypeEncoder()],\n [\"metadata\", getChannelMetadataEncoder()],\n [\"participantCount\", getU32Encoder()],\n [\"createdAt\", getI64Encoder()],\n ]);\n}\n\nexport function getEnhancedChannelCreatedEventDecoder(): Decoder<EnhancedChannelCreatedEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"channelType\", getChannelTypeDecoder()],\n [\"metadata\", getChannelMetadataDecoder()],\n [\"participantCount\", getU32Decoder()],\n [\"createdAt\", getI64Decoder()],\n ]);\n}\n\nexport function getEnhancedChannelCreatedEventCodec(): Codec<\n EnhancedChannelCreatedEventArgs,\n EnhancedChannelCreatedEvent\n> {\n return combineCodec(\n getEnhancedChannelCreatedEventEncoder(),\n getEnhancedChannelCreatedEventDecoder(),\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 getMessageMetadataDecoder,\n getMessageMetadataEncoder,\n getMessageTypeDecoder,\n getMessageTypeEncoder,\n type MessageMetadata,\n type MessageMetadataArgs,\n type MessageType,\n type MessageTypeArgs,\n} from \".\";\n\nexport type EnhancedMessageSentEvent = {\n message: Address;\n channel: Address;\n sender: Address;\n messageType: MessageType;\n metadata: MessageMetadata;\n contentPreview: string;\n timestamp: bigint;\n mentions: Array<Address>;\n threadId: Option<string>;\n};\n\nexport type EnhancedMessageSentEventArgs = {\n message: Address;\n channel: Address;\n sender: Address;\n messageType: MessageTypeArgs;\n metadata: MessageMetadataArgs;\n contentPreview: string;\n timestamp: number | bigint;\n mentions: Array<Address>;\n threadId: OptionOrNullable<string>;\n};\n\nexport function getEnhancedMessageSentEventEncoder(): Encoder<EnhancedMessageSentEventArgs> {\n return getStructEncoder([\n [\"message\", getAddressEncoder()],\n [\"channel\", getAddressEncoder()],\n [\"sender\", getAddressEncoder()],\n [\"messageType\", getMessageTypeEncoder()],\n [\"metadata\", getMessageMetadataEncoder()],\n [\"contentPreview\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n [\"mentions\", getArrayEncoder(getAddressEncoder())],\n [\n \"threadId\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n ]);\n}\n\nexport function getEnhancedMessageSentEventDecoder(): Decoder<EnhancedMessageSentEvent> {\n return getStructDecoder([\n [\"message\", getAddressDecoder()],\n [\"channel\", getAddressDecoder()],\n [\"sender\", getAddressDecoder()],\n [\"messageType\", getMessageTypeDecoder()],\n [\"metadata\", getMessageMetadataDecoder()],\n [\"contentPreview\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n [\"mentions\", getArrayDecoder(getAddressDecoder())],\n [\n \"threadId\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n ]);\n}\n\nexport function getEnhancedMessageSentEventCodec(): Codec<\n EnhancedMessageSentEventArgs,\n EnhancedMessageSentEvent\n> {\n return combineCodec(\n getEnhancedMessageSentEventEncoder(),\n getEnhancedMessageSentEventDecoder(),\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 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 EscrowCancelledEvent = {\n escrow: Address;\n client: Address;\n agent: Address;\n amountRefunded: bigint;\n cancellationReason: string;\n timestamp: bigint;\n};\n\nexport type EscrowCancelledEventArgs = {\n escrow: Address;\n client: Address;\n agent: Address;\n amountRefunded: number | bigint;\n cancellationReason: string;\n timestamp: number | bigint;\n};\n\nexport function getEscrowCancelledEventEncoder(): Encoder<EscrowCancelledEventArgs> {\n return getStructEncoder([\n [\"escrow\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"amountRefunded\", getU64Encoder()],\n [\n \"cancellationReason\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowCancelledEventDecoder(): Decoder<EscrowCancelledEvent> {\n return getStructDecoder([\n [\"escrow\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"amountRefunded\", getU64Decoder()],\n [\n \"cancellationReason\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowCancelledEventCodec(): Codec<\n EscrowCancelledEventArgs,\n EscrowCancelledEvent\n> {\n return combineCodec(\n getEscrowCancelledEventEncoder(),\n getEscrowCancelledEventDecoder(),\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\";\n\nexport type EscrowCompletedEvent = {\n escrow: Address;\n client: Address;\n agent: Address;\n amount: bigint;\n resolutionNotes: Option<string>;\n timestamp: bigint;\n};\n\nexport type EscrowCompletedEventArgs = {\n escrow: Address;\n client: Address;\n agent: Address;\n amount: number | bigint;\n resolutionNotes: OptionOrNullable<string>;\n timestamp: number | bigint;\n};\n\nexport function getEscrowCompletedEventEncoder(): Encoder<EscrowCompletedEventArgs> {\n return getStructEncoder([\n [\"escrow\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\n \"resolutionNotes\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowCompletedEventDecoder(): Decoder<EscrowCompletedEvent> {\n return getStructDecoder([\n [\"escrow\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\n \"resolutionNotes\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowCompletedEventCodec(): Codec<\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 addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\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 EscrowCreatedEvent = {\n escrow: Address;\n client: Address;\n agent: Address;\n amount: bigint;\n taskId: string;\n expiresAt: bigint;\n timestamp: bigint;\n};\n\nexport type EscrowCreatedEventArgs = {\n escrow: Address;\n client: Address;\n agent: Address;\n amount: number | bigint;\n taskId: string;\n expiresAt: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getEscrowCreatedEventEncoder(): Encoder<EscrowCreatedEventArgs> {\n return getStructEncoder([\n [\"escrow\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"taskId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"expiresAt\", getI64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowCreatedEventDecoder(): Decoder<EscrowCreatedEvent> {\n return getStructDecoder([\n [\"escrow\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"taskId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"expiresAt\", getI64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowCreatedEventCodec(): Codec<\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 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 EscrowExpiredEvent = {\n escrow: Address;\n client: Address;\n agent: Address;\n amountRefunded: bigint;\n expiredAt: bigint;\n refundedAt: bigint;\n};\n\nexport type EscrowExpiredEventArgs = {\n escrow: Address;\n client: Address;\n agent: Address;\n amountRefunded: number | bigint;\n expiredAt: number | bigint;\n refundedAt: number | bigint;\n};\n\nexport function getEscrowExpiredEventEncoder(): FixedSizeEncoder<EscrowExpiredEventArgs> {\n return getStructEncoder([\n [\"escrow\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"amountRefunded\", getU64Encoder()],\n [\"expiredAt\", getI64Encoder()],\n [\"refundedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowExpiredEventDecoder(): FixedSizeDecoder<EscrowExpiredEvent> {\n return getStructDecoder([\n [\"escrow\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"amountRefunded\", getU64Decoder()],\n [\"expiredAt\", getI64Decoder()],\n [\"refundedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowExpiredEventCodec(): FixedSizeCodec<\n EscrowExpiredEventArgs,\n EscrowExpiredEvent\n> {\n return combineCodec(\n getEscrowExpiredEventEncoder(),\n getEscrowExpiredEventDecoder(),\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 EscrowPartialRefundEvent = {\n escrow: Address;\n client: Address;\n agent: Address;\n clientRefund: bigint;\n agentPayment: bigint;\n refundPercentage: number;\n timestamp: bigint;\n};\n\nexport type EscrowPartialRefundEventArgs = {\n escrow: Address;\n client: Address;\n agent: Address;\n clientRefund: number | bigint;\n agentPayment: number | bigint;\n refundPercentage: number;\n timestamp: number | bigint;\n};\n\nexport function getEscrowPartialRefundEventEncoder(): FixedSizeEncoder<EscrowPartialRefundEventArgs> {\n return getStructEncoder([\n [\"escrow\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"clientRefund\", getU64Encoder()],\n [\"agentPayment\", getU64Encoder()],\n [\"refundPercentage\", getU8Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getEscrowPartialRefundEventDecoder(): FixedSizeDecoder<EscrowPartialRefundEvent> {\n return getStructDecoder([\n [\"escrow\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"clientRefund\", getU64Decoder()],\n [\"agentPayment\", getU64Decoder()],\n [\"refundPercentage\", getU8Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getEscrowPartialRefundEventCodec(): FixedSizeCodec<\n EscrowPartialRefundEventArgs,\n EscrowPartialRefundEvent\n> {\n return combineCodec(\n getEscrowPartialRefundEventEncoder(),\n getEscrowPartialRefundEventDecoder(),\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\nexport enum EscrowStatus {\n Active,\n Completed,\n Disputed,\n Resolved,\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 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 EvidenceBatchItem = { evidenceType: string; evidenceData: string };\n\nexport type EvidenceBatchItemArgs = EvidenceBatchItem;\n\nexport function getEvidenceBatchItemEncoder(): Encoder<EvidenceBatchItemArgs> {\n return getStructEncoder([\n [\"evidenceType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"evidenceData\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getEvidenceBatchItemDecoder(): Decoder<EvidenceBatchItem> {\n return getStructDecoder([\n [\"evidenceType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"evidenceData\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getEvidenceBatchItemCodec(): Codec<\n EvidenceBatchItemArgs,\n EvidenceBatchItem\n> {\n return combineCodec(\n getEvidenceBatchItemEncoder(),\n getEvidenceBatchItemDecoder(),\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 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 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 ExtensionApprovedEvent = {\n extension: Address;\n developer: Address;\n authority: Address;\n timestamp: bigint;\n};\n\nexport type ExtensionApprovedEventArgs = {\n extension: Address;\n developer: Address;\n authority: Address;\n timestamp: number | bigint;\n};\n\nexport function getExtensionApprovedEventEncoder(): FixedSizeEncoder<ExtensionApprovedEventArgs> {\n return getStructEncoder([\n [\"extension\", getAddressEncoder()],\n [\"developer\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getExtensionApprovedEventDecoder(): FixedSizeDecoder<ExtensionApprovedEvent> {\n return getStructDecoder([\n [\"extension\", getAddressDecoder()],\n [\"developer\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getExtensionApprovedEventCodec(): FixedSizeCodec<\n ExtensionApprovedEventArgs,\n ExtensionApprovedEvent\n> {\n return combineCodec(\n getExtensionApprovedEventEncoder(),\n getExtensionApprovedEventDecoder(),\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 getExtensionTypeDecoder,\n getExtensionTypeEncoder,\n type ExtensionType,\n type ExtensionTypeArgs,\n} from \".\";\n\nexport type ExtensionMetadata = {\n name: string;\n description: string;\n version: string;\n author: string;\n repository: string;\n license: string;\n dependencies: Array<string>;\n extensionType: ExtensionType;\n};\n\nexport type ExtensionMetadataArgs = {\n name: string;\n description: string;\n version: string;\n author: string;\n repository: string;\n license: string;\n dependencies: Array<string>;\n extensionType: ExtensionTypeArgs;\n};\n\nexport function getExtensionMetadataEncoder(): Encoder<ExtensionMetadataArgs> {\n return getStructEncoder([\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"version\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"author\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"repository\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"license\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\n \"dependencies\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"extensionType\", getExtensionTypeEncoder()],\n ]);\n}\n\nexport function getExtensionMetadataDecoder(): Decoder<ExtensionMetadata> {\n return getStructDecoder([\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"version\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"author\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"repository\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"license\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\n \"dependencies\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"extensionType\", getExtensionTypeDecoder()],\n ]);\n}\n\nexport function getExtensionMetadataCodec(): Codec<\n ExtensionMetadataArgs,\n ExtensionMetadata\n> {\n return combineCodec(\n getExtensionMetadataEncoder(),\n getExtensionMetadataDecoder(),\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 type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getExtensionTypeDecoder,\n getExtensionTypeEncoder,\n type ExtensionType,\n type ExtensionTypeArgs,\n} from \".\";\n\nexport type ExtensionRegisteredEvent = {\n extension: Address;\n developer: Address;\n extensionType: ExtensionType;\n};\n\nexport type ExtensionRegisteredEventArgs = {\n extension: Address;\n developer: Address;\n extensionType: ExtensionTypeArgs;\n};\n\nexport function getExtensionRegisteredEventEncoder(): FixedSizeEncoder<ExtensionRegisteredEventArgs> {\n return getStructEncoder([\n [\"extension\", getAddressEncoder()],\n [\"developer\", getAddressEncoder()],\n [\"extensionType\", getExtensionTypeEncoder()],\n ]);\n}\n\nexport function getExtensionRegisteredEventDecoder(): FixedSizeDecoder<ExtensionRegisteredEvent> {\n return getStructDecoder([\n [\"extension\", getAddressDecoder()],\n [\"developer\", getAddressDecoder()],\n [\"extensionType\", getExtensionTypeDecoder()],\n ]);\n}\n\nexport function getExtensionRegisteredEventCodec(): FixedSizeCodec<\n ExtensionRegisteredEventArgs,\n ExtensionRegisteredEvent\n> {\n return combineCodec(\n getExtensionRegisteredEventEncoder(),\n getExtensionRegisteredEventDecoder(),\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\nexport enum ExtensionStatus {\n Pending,\n Approved,\n Rejected,\n Active,\n Suspended,\n}\n\nexport type ExtensionStatusArgs = ExtensionStatus;\n\nexport function getExtensionStatusEncoder(): FixedSizeEncoder<ExtensionStatusArgs> {\n return getEnumEncoder(ExtensionStatus);\n}\n\nexport function getExtensionStatusDecoder(): FixedSizeDecoder<ExtensionStatus> {\n return getEnumDecoder(ExtensionStatus);\n}\n\nexport function getExtensionStatusCodec(): FixedSizeCodec<\n ExtensionStatusArgs,\n ExtensionStatus\n> {\n return combineCodec(getExtensionStatusEncoder(), getExtensionStatusDecoder());\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 ExtensionType {\n PricingModel,\n AgentCapability,\n Integration,\n Analytics,\n Security,\n Custom,\n}\n\nexport type ExtensionTypeArgs = ExtensionType;\n\nexport function getExtensionTypeEncoder(): FixedSizeEncoder<ExtensionTypeArgs> {\n return getEnumEncoder(ExtensionType);\n}\n\nexport function getExtensionTypeDecoder(): FixedSizeDecoder<ExtensionType> {\n return getEnumDecoder(ExtensionType);\n}\n\nexport function getExtensionTypeCodec(): FixedSizeCodec<\n ExtensionTypeArgs,\n ExtensionType\n> {\n return combineCodec(getExtensionTypeEncoder(), getExtensionTypeDecoder());\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 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 combineCodec,\n getF64Decoder,\n getF64Encoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type IncentiveConfig = {\n referralBonus: number;\n performanceBonus: number;\n loyaltyMultiplier: number;\n earlyBirdDiscount: number;\n};\n\nexport type IncentiveConfigArgs = IncentiveConfig;\n\nexport function getIncentiveConfigEncoder(): FixedSizeEncoder<IncentiveConfigArgs> {\n return getStructEncoder([\n [\"referralBonus\", getF64Encoder()],\n [\"performanceBonus\", getF64Encoder()],\n [\"loyaltyMultiplier\", getF64Encoder()],\n [\"earlyBirdDiscount\", getF64Encoder()],\n ]);\n}\n\nexport function getIncentiveConfigDecoder(): FixedSizeDecoder<IncentiveConfig> {\n return getStructDecoder([\n [\"referralBonus\", getF64Decoder()],\n [\"performanceBonus\", getF64Decoder()],\n [\"loyaltyMultiplier\", getF64Decoder()],\n [\"earlyBirdDiscount\", getF64Decoder()],\n ]);\n}\n\nexport function getIncentiveConfigCodec(): FixedSizeCodec<\n IncentiveConfigArgs,\n IncentiveConfig\n> {\n return combineCodec(getIncentiveConfigEncoder(), getIncentiveConfigDecoder());\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 IncentiveDistributedEvent = {\n program: Address;\n agent: Address;\n incentiveType: string;\n amount: bigint;\n};\n\nexport type IncentiveDistributedEventArgs = {\n program: Address;\n agent: Address;\n incentiveType: string;\n amount: number | bigint;\n};\n\nexport function getIncentiveDistributedEventEncoder(): Encoder<IncentiveDistributedEventArgs> {\n return getStructEncoder([\n [\"program\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"incentiveType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"amount\", getU64Encoder()],\n ]);\n}\n\nexport function getIncentiveDistributedEventDecoder(): Decoder<IncentiveDistributedEvent> {\n return getStructDecoder([\n [\"program\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"incentiveType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"amount\", getU64Decoder()],\n ]);\n}\n\nexport function getIncentiveDistributedEventCodec(): Codec<\n IncentiveDistributedEventArgs,\n IncentiveDistributedEvent\n> {\n return combineCodec(\n getIncentiveDistributedEventEncoder(),\n getIncentiveDistributedEventDecoder(),\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 getF64Decoder,\n getF64Encoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type IncentiveProgramCreatedEvent = {\n program: Address;\n referralBonus: number;\n performanceBonus: number;\n};\n\nexport type IncentiveProgramCreatedEventArgs = IncentiveProgramCreatedEvent;\n\nexport function getIncentiveProgramCreatedEventEncoder(): FixedSizeEncoder<IncentiveProgramCreatedEventArgs> {\n return getStructEncoder([\n [\"program\", getAddressEncoder()],\n [\"referralBonus\", getF64Encoder()],\n [\"performanceBonus\", getF64Encoder()],\n ]);\n}\n\nexport function getIncentiveProgramCreatedEventDecoder(): FixedSizeDecoder<IncentiveProgramCreatedEvent> {\n return getStructDecoder([\n [\"program\", getAddressDecoder()],\n [\"referralBonus\", getF64Decoder()],\n [\"performanceBonus\", getF64Decoder()],\n ]);\n}\n\nexport function getIncentiveProgramCreatedEventCodec(): FixedSizeCodec<\n IncentiveProgramCreatedEventArgs,\n IncentiveProgramCreatedEvent\n> {\n return combineCodec(\n getIncentiveProgramCreatedEventEncoder(),\n getIncentiveProgramCreatedEventDecoder(),\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 getAddressDecoder,\n getAddressEncoder,\n getI16Decoder,\n getI16Encoder,\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 InterestBearingInitializedEvent = {\n mint: Address;\n authority: Address;\n rateAuthority: Address;\n rate: number;\n timestamp: bigint;\n};\n\nexport type InterestBearingInitializedEventArgs = {\n mint: Address;\n authority: Address;\n rateAuthority: Address;\n rate: number;\n timestamp: number | bigint;\n};\n\nexport function getInterestBearingInitializedEventEncoder(): FixedSizeEncoder<InterestBearingInitializedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"rateAuthority\", getAddressEncoder()],\n [\"rate\", getI16Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getInterestBearingInitializedEventDecoder(): FixedSizeDecoder<InterestBearingInitializedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"rateAuthority\", getAddressDecoder()],\n [\"rate\", getI16Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getInterestBearingInitializedEventCodec(): FixedSizeCodec<\n InterestBearingInitializedEventArgs,\n InterestBearingInitializedEvent\n> {\n return combineCodec(\n getInterestBearingInitializedEventEncoder(),\n getInterestBearingInitializedEventDecoder(),\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 JobApplicationAcceptedEvent = {\n application: Address;\n jobPosting: Address;\n agent: Address;\n employer: Address;\n timestamp: bigint;\n};\n\nexport type JobApplicationAcceptedEventArgs = {\n application: Address;\n jobPosting: Address;\n agent: Address;\n employer: Address;\n timestamp: number | bigint;\n};\n\nexport function getJobApplicationAcceptedEventEncoder(): FixedSizeEncoder<JobApplicationAcceptedEventArgs> {\n return getStructEncoder([\n [\"application\", getAddressEncoder()],\n [\"jobPosting\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"employer\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getJobApplicationAcceptedEventDecoder(): FixedSizeDecoder<JobApplicationAcceptedEvent> {\n return getStructDecoder([\n [\"application\", getAddressDecoder()],\n [\"jobPosting\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"employer\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getJobApplicationAcceptedEventCodec(): FixedSizeCodec<\n JobApplicationAcceptedEventArgs,\n JobApplicationAcceptedEvent\n> {\n return combineCodec(\n getJobApplicationAcceptedEventEncoder(),\n getJobApplicationAcceptedEventDecoder(),\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 JobApplicationSubmittedEvent = {\n application: Address;\n jobPosting: Address;\n agent: Address;\n proposedRate: bigint;\n timestamp: bigint;\n};\n\nexport type JobApplicationSubmittedEventArgs = {\n application: Address;\n jobPosting: Address;\n agent: Address;\n proposedRate: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getJobApplicationSubmittedEventEncoder(): FixedSizeEncoder<JobApplicationSubmittedEventArgs> {\n return getStructEncoder([\n [\"application\", getAddressEncoder()],\n [\"jobPosting\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"proposedRate\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getJobApplicationSubmittedEventDecoder(): FixedSizeDecoder<JobApplicationSubmittedEvent> {\n return getStructDecoder([\n [\"application\", getAddressDecoder()],\n [\"jobPosting\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"proposedRate\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getJobApplicationSubmittedEventCodec(): FixedSizeCodec<\n JobApplicationSubmittedEventArgs,\n JobApplicationSubmittedEvent\n> {\n return combineCodec(\n getJobApplicationSubmittedEventEncoder(),\n getJobApplicationSubmittedEventDecoder(),\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 JobPostingCreatedEvent = {\n job: Address;\n creator: Address;\n timestamp: bigint;\n};\n\nexport type JobPostingCreatedEventArgs = {\n job: Address;\n creator: Address;\n timestamp: number | bigint;\n};\n\nexport function getJobPostingCreatedEventEncoder(): FixedSizeEncoder<JobPostingCreatedEventArgs> {\n return getStructEncoder([\n [\"job\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getJobPostingCreatedEventDecoder(): FixedSizeDecoder<JobPostingCreatedEvent> {\n return getStructDecoder([\n [\"job\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getJobPostingCreatedEventCodec(): FixedSizeCodec<\n JobPostingCreatedEventArgs,\n JobPostingCreatedEvent\n> {\n return combineCodec(\n getJobPostingCreatedEventEncoder(),\n getJobPostingCreatedEventDecoder(),\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 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 MarketAnalyticsCreatedEvent = {\n marketAnalytics: Address;\n periodStart: bigint;\n periodEnd: bigint;\n timestamp: bigint;\n};\n\nexport type MarketAnalyticsCreatedEventArgs = {\n marketAnalytics: Address;\n periodStart: number | bigint;\n periodEnd: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getMarketAnalyticsCreatedEventEncoder(): FixedSizeEncoder<MarketAnalyticsCreatedEventArgs> {\n return getStructEncoder([\n [\"marketAnalytics\", getAddressEncoder()],\n [\"periodStart\", getI64Encoder()],\n [\"periodEnd\", getI64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketAnalyticsCreatedEventDecoder(): FixedSizeDecoder<MarketAnalyticsCreatedEvent> {\n return getStructDecoder([\n [\"marketAnalytics\", getAddressDecoder()],\n [\"periodStart\", getI64Decoder()],\n [\"periodEnd\", getI64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketAnalyticsCreatedEventCodec(): FixedSizeCodec<\n MarketAnalyticsCreatedEventArgs,\n MarketAnalyticsCreatedEvent\n> {\n return combineCodec(\n getMarketAnalyticsCreatedEventEncoder(),\n getMarketAnalyticsCreatedEventDecoder(),\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 MarketAnalyticsUpdatedEvent = {\n marketAnalytics: Address;\n volume: bigint;\n price: bigint;\n timestamp: bigint;\n};\n\nexport type MarketAnalyticsUpdatedEventArgs = {\n marketAnalytics: Address;\n volume: number | bigint;\n price: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getMarketAnalyticsUpdatedEventEncoder(): FixedSizeEncoder<MarketAnalyticsUpdatedEventArgs> {\n return getStructEncoder([\n [\"marketAnalytics\", getAddressEncoder()],\n [\"volume\", getU64Encoder()],\n [\"price\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketAnalyticsUpdatedEventDecoder(): FixedSizeDecoder<MarketAnalyticsUpdatedEvent> {\n return getStructDecoder([\n [\"marketAnalytics\", getAddressDecoder()],\n [\"volume\", getU64Decoder()],\n [\"price\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketAnalyticsUpdatedEventCodec(): FixedSizeCodec<\n MarketAnalyticsUpdatedEventArgs,\n MarketAnalyticsUpdatedEvent\n> {\n return combineCodec(\n getMarketAnalyticsUpdatedEventEncoder(),\n getMarketAnalyticsUpdatedEventDecoder(),\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\";\n\nexport type MarketplaceActivityEvent = {\n activityType: string;\n agent: Address;\n service: Option<Address>;\n value: bigint;\n timestamp: bigint;\n};\n\nexport type MarketplaceActivityEventArgs = {\n activityType: string;\n agent: Address;\n service: OptionOrNullable<Address>;\n value: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getMarketplaceActivityEventEncoder(): Encoder<MarketplaceActivityEventArgs> {\n return getStructEncoder([\n [\"activityType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"agent\", getAddressEncoder()],\n [\"service\", getOptionEncoder(getAddressEncoder())],\n [\"value\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketplaceActivityEventDecoder(): Decoder<MarketplaceActivityEvent> {\n return getStructDecoder([\n [\"activityType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"agent\", getAddressDecoder()],\n [\"service\", getOptionDecoder(getAddressDecoder())],\n [\"value\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketplaceActivityEventCodec(): Codec<\n MarketplaceActivityEventArgs,\n MarketplaceActivityEvent\n> {\n return combineCodec(\n getMarketplaceActivityEventEncoder(),\n getMarketplaceActivityEventDecoder(),\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 getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type MarketplaceMetrics = {\n totalListings: number;\n activeListings: number;\n totalSales: bigint;\n dailyVolume: bigint;\n averageSalePrice: bigint;\n topCategories: Array<string>;\n lastUpdated: bigint;\n};\n\nexport type MarketplaceMetricsArgs = {\n totalListings: number;\n activeListings: number;\n totalSales: number | bigint;\n dailyVolume: number | bigint;\n averageSalePrice: number | bigint;\n topCategories: Array<string>;\n lastUpdated: number | bigint;\n};\n\nexport function getMarketplaceMetricsEncoder(): Encoder<MarketplaceMetricsArgs> {\n return getStructEncoder([\n [\"totalListings\", getU32Encoder()],\n [\"activeListings\", getU32Encoder()],\n [\"totalSales\", getU64Encoder()],\n [\"dailyVolume\", getU64Encoder()],\n [\"averageSalePrice\", getU64Encoder()],\n [\n \"topCategories\",\n getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketplaceMetricsDecoder(): Decoder<MarketplaceMetrics> {\n return getStructDecoder([\n [\"totalListings\", getU32Decoder()],\n [\"activeListings\", getU32Decoder()],\n [\"totalSales\", getU64Decoder()],\n [\"dailyVolume\", getU64Decoder()],\n [\"averageSalePrice\", getU64Decoder()],\n [\n \"topCategories\",\n getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketplaceMetricsCodec(): Codec<\n MarketplaceMetricsArgs,\n MarketplaceMetrics\n> {\n return combineCodec(\n getMarketplaceMetricsEncoder(),\n getMarketplaceMetricsDecoder(),\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type MarketplaceMetricsCollectedEvent = {\n dashboard: Address;\n totalListings: number;\n activeListings: number;\n dailyVolume: bigint;\n averagePrice: bigint;\n timestamp: bigint;\n};\n\nexport type MarketplaceMetricsCollectedEventArgs = {\n dashboard: Address;\n totalListings: number;\n activeListings: number;\n dailyVolume: number | bigint;\n averagePrice: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getMarketplaceMetricsCollectedEventEncoder(): FixedSizeEncoder<MarketplaceMetricsCollectedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"totalListings\", getU32Encoder()],\n [\"activeListings\", getU32Encoder()],\n [\"dailyVolume\", getU64Encoder()],\n [\"averagePrice\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketplaceMetricsCollectedEventDecoder(): FixedSizeDecoder<MarketplaceMetricsCollectedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"totalListings\", getU32Decoder()],\n [\"activeListings\", getU32Decoder()],\n [\"dailyVolume\", getU64Decoder()],\n [\"averagePrice\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketplaceMetricsCollectedEventCodec(): FixedSizeCodec<\n MarketplaceMetricsCollectedEventArgs,\n MarketplaceMetricsCollectedEvent\n> {\n return combineCodec(\n getMarketplaceMetricsCollectedEventEncoder(),\n getMarketplaceMetricsCollectedEventDecoder(),\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 getI32Decoder,\n getI32Encoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type MarketTrendUpdatedEvent = {\n supplyTrend: number;\n demandTrend: number;\n volatility: number;\n timestamp: bigint;\n};\n\nexport type MarketTrendUpdatedEventArgs = {\n supplyTrend: number;\n demandTrend: number;\n volatility: number;\n timestamp: number | bigint;\n};\n\nexport function getMarketTrendUpdatedEventEncoder(): FixedSizeEncoder<MarketTrendUpdatedEventArgs> {\n return getStructEncoder([\n [\"supplyTrend\", getI32Encoder()],\n [\"demandTrend\", getI32Encoder()],\n [\"volatility\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketTrendUpdatedEventDecoder(): FixedSizeDecoder<MarketTrendUpdatedEvent> {\n return getStructDecoder([\n [\"supplyTrend\", getI32Decoder()],\n [\"demandTrend\", getI32Decoder()],\n [\"volatility\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketTrendUpdatedEventCodec(): FixedSizeCodec<\n MarketTrendUpdatedEventArgs,\n MarketTrendUpdatedEvent\n> {\n return combineCodec(\n getMarketTrendUpdatedEventEncoder(),\n getMarketTrendUpdatedEventDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type MarketVolumeUpdatedEvent = {\n volume: bigint;\n transactionType: string;\n timestamp: bigint;\n};\n\nexport type MarketVolumeUpdatedEventArgs = {\n volume: number | bigint;\n transactionType: string;\n timestamp: number | bigint;\n};\n\nexport function getMarketVolumeUpdatedEventEncoder(): Encoder<MarketVolumeUpdatedEventArgs> {\n return getStructEncoder([\n [\"volume\", getU64Encoder()],\n [\n \"transactionType\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMarketVolumeUpdatedEventDecoder(): Decoder<MarketVolumeUpdatedEvent> {\n return getStructDecoder([\n [\"volume\", getU64Decoder()],\n [\n \"transactionType\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMarketVolumeUpdatedEventCodec(): Codec<\n MarketVolumeUpdatedEventArgs,\n MarketVolumeUpdatedEvent\n> {\n return combineCodec(\n getMarketVolumeUpdatedEventEncoder(),\n getMarketVolumeUpdatedEventDecoder(),\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 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 getAttachmentInfoDecoder,\n getAttachmentInfoEncoder,\n getMessageReactionDecoder,\n getMessageReactionEncoder,\n type AttachmentInfo,\n type AttachmentInfoArgs,\n type MessageReaction,\n type MessageReactionArgs,\n} from \".\";\n\nexport type MessageMetadata = {\n replyTo: Option<Address>;\n threadId: Option<string>;\n attachments: Array<AttachmentInfo>;\n mentions: Array<Address>;\n reactions: Array<MessageReaction>;\n};\n\nexport type MessageMetadataArgs = {\n replyTo: OptionOrNullable<Address>;\n threadId: OptionOrNullable<string>;\n attachments: Array<AttachmentInfoArgs>;\n mentions: Array<Address>;\n reactions: Array<MessageReactionArgs>;\n};\n\nexport function getMessageMetadataEncoder(): Encoder<MessageMetadataArgs> {\n return getStructEncoder([\n [\"replyTo\", getOptionEncoder(getAddressEncoder())],\n [\n \"threadId\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"attachments\", getArrayEncoder(getAttachmentInfoEncoder())],\n [\"mentions\", getArrayEncoder(getAddressEncoder())],\n [\"reactions\", getArrayEncoder(getMessageReactionEncoder())],\n ]);\n}\n\nexport function getMessageMetadataDecoder(): Decoder<MessageMetadata> {\n return getStructDecoder([\n [\"replyTo\", getOptionDecoder(getAddressDecoder())],\n [\n \"threadId\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"attachments\", getArrayDecoder(getAttachmentInfoDecoder())],\n [\"mentions\", getArrayDecoder(getAddressDecoder())],\n [\"reactions\", getArrayDecoder(getMessageReactionDecoder())],\n ]);\n}\n\nexport function getMessageMetadataCodec(): Codec<\n MessageMetadataArgs,\n MessageMetadata\n> {\n return combineCodec(getMessageMetadataEncoder(), getMessageMetadataDecoder());\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\";\n\nexport type MessageReaction = { emoji: string; users: Array<Address> };\n\nexport type MessageReactionArgs = MessageReaction;\n\nexport function getMessageReactionEncoder(): Encoder<MessageReactionArgs> {\n return getStructEncoder([\n [\"emoji\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"users\", getArrayEncoder(getAddressEncoder())],\n ]);\n}\n\nexport function getMessageReactionDecoder(): Decoder<MessageReaction> {\n return getStructDecoder([\n [\"emoji\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"users\", getArrayDecoder(getAddressDecoder())],\n ]);\n}\n\nexport function getMessageReactionCodec(): Codec<\n MessageReactionArgs,\n MessageReaction\n> {\n return combineCodec(getMessageReactionEncoder(), getMessageReactionDecoder());\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 MessageReactionEvent = {\n message: Address;\n channel: Address;\n user: Address;\n reaction: string;\n addedAt: bigint;\n};\n\nexport type MessageReactionEventArgs = {\n message: Address;\n channel: Address;\n user: Address;\n reaction: string;\n addedAt: number | bigint;\n};\n\nexport function getMessageReactionEventEncoder(): Encoder<MessageReactionEventArgs> {\n return getStructEncoder([\n [\"message\", getAddressEncoder()],\n [\"channel\", getAddressEncoder()],\n [\"user\", getAddressEncoder()],\n [\"reaction\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"addedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getMessageReactionEventDecoder(): Decoder<MessageReactionEvent> {\n return getStructDecoder([\n [\"message\", getAddressDecoder()],\n [\"channel\", getAddressDecoder()],\n [\"user\", getAddressDecoder()],\n [\"reaction\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"addedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getMessageReactionEventCodec(): Codec<\n MessageReactionEventArgs,\n MessageReactionEvent\n> {\n return combineCodec(\n getMessageReactionEventEncoder(),\n getMessageReactionEventDecoder(),\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 type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getMessageTypeDecoder,\n getMessageTypeEncoder,\n type MessageType,\n type MessageTypeArgs,\n} from \".\";\n\nexport type MessageSentEvent = {\n message: Address;\n channel: Address;\n sender: Address;\n messageType: MessageType;\n};\n\nexport type MessageSentEventArgs = {\n message: Address;\n channel: Address;\n sender: Address;\n messageType: MessageTypeArgs;\n};\n\nexport function getMessageSentEventEncoder(): FixedSizeEncoder<MessageSentEventArgs> {\n return getStructEncoder([\n [\"message\", getAddressEncoder()],\n [\"channel\", getAddressEncoder()],\n [\"sender\", getAddressEncoder()],\n [\"messageType\", getMessageTypeEncoder()],\n ]);\n}\n\nexport function getMessageSentEventDecoder(): FixedSizeDecoder<MessageSentEvent> {\n return getStructDecoder([\n [\"message\", getAddressDecoder()],\n [\"channel\", getAddressDecoder()],\n [\"sender\", getAddressDecoder()],\n [\"messageType\", getMessageTypeDecoder()],\n ]);\n}\n\nexport function getMessageSentEventCodec(): FixedSizeCodec<\n MessageSentEventArgs,\n MessageSentEvent\n> {\n return combineCodec(\n getMessageSentEventEncoder(),\n getMessageSentEventDecoder(),\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\nexport enum MessageType {\n Text,\n File,\n Image,\n Audio,\n System,\n}\n\nexport type MessageTypeArgs = MessageType;\n\nexport function getMessageTypeEncoder(): FixedSizeEncoder<MessageTypeArgs> {\n return getEnumEncoder(MessageType);\n}\n\nexport function getMessageTypeDecoder(): FixedSizeDecoder<MessageType> {\n return getEnumDecoder(MessageType);\n}\n\nexport function getMessageTypeCodec(): FixedSizeCodec<\n MessageTypeArgs,\n MessageType\n> {\n return combineCodec(getMessageTypeEncoder(), getMessageTypeDecoder());\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type MetricSample = {\n timestamp: bigint;\n value: bigint;\n metricType: string;\n};\n\nexport type MetricSampleArgs = {\n timestamp: number | bigint;\n value: number | bigint;\n metricType: string;\n};\n\nexport function getMetricSampleEncoder(): Encoder<MetricSampleArgs> {\n return getStructEncoder([\n [\"timestamp\", getI64Encoder()],\n [\"value\", getU64Encoder()],\n [\"metricType\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ]);\n}\n\nexport function getMetricSampleDecoder(): Decoder<MetricSample> {\n return getStructDecoder([\n [\"timestamp\", getI64Decoder()],\n [\"value\", getU64Decoder()],\n [\"metricType\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ]);\n}\n\nexport function getMetricSampleCodec(): Codec<MetricSampleArgs, MetricSample> {\n return combineCodec(getMetricSampleEncoder(), getMetricSampleDecoder());\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 MintCloseAuthorityInitializedEvent = {\n mint: Address;\n authority: Address;\n closeAuthority: Address;\n timestamp: bigint;\n};\n\nexport type MintCloseAuthorityInitializedEventArgs = {\n mint: Address;\n authority: Address;\n closeAuthority: Address;\n timestamp: number | bigint;\n};\n\nexport function getMintCloseAuthorityInitializedEventEncoder(): FixedSizeEncoder<MintCloseAuthorityInitializedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"closeAuthority\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getMintCloseAuthorityInitializedEventDecoder(): FixedSizeDecoder<MintCloseAuthorityInitializedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"closeAuthority\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getMintCloseAuthorityInitializedEventCodec(): FixedSizeCodec<\n MintCloseAuthorityInitializedEventArgs,\n MintCloseAuthorityInitializedEvent\n> {\n return combineCodec(\n getMintCloseAuthorityInitializedEventEncoder(),\n getMintCloseAuthorityInitializedEventDecoder(),\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 getMultisigConfigDecoder,\n getMultisigConfigEncoder,\n type MultisigConfig,\n type MultisigConfigArgs,\n} from \".\";\n\nexport type MultisigConfigExport = { data: MultisigConfig };\n\nexport type MultisigConfigExportArgs = { data: MultisigConfigArgs };\n\nexport function getMultisigConfigExportEncoder(): Encoder<MultisigConfigExportArgs> {\n return getStructEncoder([[\"data\", getMultisigConfigEncoder()]]);\n}\n\nexport function getMultisigConfigExportDecoder(): Decoder<MultisigConfigExport> {\n return getStructDecoder([[\"data\", getMultisigConfigDecoder()]]);\n}\n\nexport function getMultisigConfigExportCodec(): Codec<\n MultisigConfigExportArgs,\n MultisigConfigExport\n> {\n return combineCodec(\n getMultisigConfigExportEncoder(),\n getMultisigConfigExportDecoder(),\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\";\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 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 NegotiationInitiatedEvent = {\n negotiation: Address;\n initiator: Address;\n counterparty: Address;\n initialOffer: bigint;\n};\n\nexport type NegotiationInitiatedEventArgs = {\n negotiation: Address;\n initiator: Address;\n counterparty: Address;\n initialOffer: number | bigint;\n};\n\nexport function getNegotiationInitiatedEventEncoder(): FixedSizeEncoder<NegotiationInitiatedEventArgs> {\n return getStructEncoder([\n [\"negotiation\", getAddressEncoder()],\n [\"initiator\", getAddressEncoder()],\n [\"counterparty\", getAddressEncoder()],\n [\"initialOffer\", getU64Encoder()],\n ]);\n}\n\nexport function getNegotiationInitiatedEventDecoder(): FixedSizeDecoder<NegotiationInitiatedEvent> {\n return getStructDecoder([\n [\"negotiation\", getAddressDecoder()],\n [\"initiator\", getAddressDecoder()],\n [\"counterparty\", getAddressDecoder()],\n [\"initialOffer\", getU64Decoder()],\n ]);\n}\n\nexport function getNegotiationInitiatedEventCodec(): FixedSizeCodec<\n NegotiationInitiatedEventArgs,\n NegotiationInitiatedEvent\n> {\n return combineCodec(\n getNegotiationInitiatedEventEncoder(),\n getNegotiationInitiatedEventDecoder(),\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\nexport enum NegotiationStatus {\n InitialOffer,\n CounterOffer,\n Accepted,\n Rejected,\n Expired,\n AutoAccepted,\n}\n\nexport type NegotiationStatusArgs = NegotiationStatus;\n\nexport function getNegotiationStatusEncoder(): FixedSizeEncoder<NegotiationStatusArgs> {\n return getEnumEncoder(NegotiationStatus);\n}\n\nexport function getNegotiationStatusDecoder(): FixedSizeDecoder<NegotiationStatus> {\n return getEnumDecoder(NegotiationStatus);\n}\n\nexport function getNegotiationStatusCodec(): FixedSizeCodec<\n NegotiationStatusArgs,\n NegotiationStatus\n> {\n return combineCodec(\n getNegotiationStatusEncoder(),\n getNegotiationStatusDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type NetworkHealthEvent = {\n activeAgents: number;\n transactionThroughput: bigint;\n averageLatency: bigint;\n errorRate: number;\n timestamp: bigint;\n};\n\nexport type NetworkHealthEventArgs = {\n activeAgents: number;\n transactionThroughput: number | bigint;\n averageLatency: number | bigint;\n errorRate: number;\n timestamp: number | bigint;\n};\n\nexport function getNetworkHealthEventEncoder(): FixedSizeEncoder<NetworkHealthEventArgs> {\n return getStructEncoder([\n [\"activeAgents\", getU32Encoder()],\n [\"transactionThroughput\", getU64Encoder()],\n [\"averageLatency\", getU64Encoder()],\n [\"errorRate\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getNetworkHealthEventDecoder(): FixedSizeDecoder<NetworkHealthEvent> {\n return getStructDecoder([\n [\"activeAgents\", getU32Decoder()],\n [\"transactionThroughput\", getU64Decoder()],\n [\"averageLatency\", getU64Decoder()],\n [\"errorRate\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getNetworkHealthEventCodec(): FixedSizeCodec<\n NetworkHealthEventArgs,\n NetworkHealthEvent\n> {\n return combineCodec(\n getNetworkHealthEventEncoder(),\n getNetworkHealthEventDecoder(),\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 getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type NetworkHealthMetrics = {\n activeAgents: number;\n totalTransactions: bigint;\n transactionThroughput: bigint;\n averageLatency: bigint;\n errorRate: number;\n successRate: number;\n lastUpdated: bigint;\n};\n\nexport type NetworkHealthMetricsArgs = {\n activeAgents: number;\n totalTransactions: number | bigint;\n transactionThroughput: number | bigint;\n averageLatency: number | bigint;\n errorRate: number;\n successRate: number;\n lastUpdated: number | bigint;\n};\n\nexport function getNetworkHealthMetricsEncoder(): FixedSizeEncoder<NetworkHealthMetricsArgs> {\n return getStructEncoder([\n [\"activeAgents\", getU32Encoder()],\n [\"totalTransactions\", getU64Encoder()],\n [\"transactionThroughput\", getU64Encoder()],\n [\"averageLatency\", getU64Encoder()],\n [\"errorRate\", getU32Encoder()],\n [\"successRate\", getU32Encoder()],\n [\"lastUpdated\", getI64Encoder()],\n ]);\n}\n\nexport function getNetworkHealthMetricsDecoder(): FixedSizeDecoder<NetworkHealthMetrics> {\n return getStructDecoder([\n [\"activeAgents\", getU32Decoder()],\n [\"totalTransactions\", getU64Decoder()],\n [\"transactionThroughput\", getU64Decoder()],\n [\"averageLatency\", getU64Decoder()],\n [\"errorRate\", getU32Decoder()],\n [\"successRate\", getU32Decoder()],\n [\"lastUpdated\", getI64Decoder()],\n ]);\n}\n\nexport function getNetworkHealthMetricsCodec(): FixedSizeCodec<\n NetworkHealthMetricsArgs,\n NetworkHealthMetrics\n> {\n return combineCodec(\n getNetworkHealthMetricsEncoder(),\n getNetworkHealthMetricsDecoder(),\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 getU64Decoder,\n getU64Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type NetworkMetricsCollectedEvent = {\n dashboard: Address;\n activeAgents: number;\n transactionThroughput: bigint;\n averageLatency: bigint;\n errorRate: number;\n timestamp: bigint;\n};\n\nexport type NetworkMetricsCollectedEventArgs = {\n dashboard: Address;\n activeAgents: number;\n transactionThroughput: number | bigint;\n averageLatency: number | bigint;\n errorRate: number;\n timestamp: number | bigint;\n};\n\nexport function getNetworkMetricsCollectedEventEncoder(): FixedSizeEncoder<NetworkMetricsCollectedEventArgs> {\n return getStructEncoder([\n [\"dashboard\", getAddressEncoder()],\n [\"activeAgents\", getU32Encoder()],\n [\"transactionThroughput\", getU64Encoder()],\n [\"averageLatency\", getU64Encoder()],\n [\"errorRate\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getNetworkMetricsCollectedEventDecoder(): FixedSizeDecoder<NetworkMetricsCollectedEvent> {\n return getStructDecoder([\n [\"dashboard\", getAddressDecoder()],\n [\"activeAgents\", getU32Decoder()],\n [\"transactionThroughput\", getU64Decoder()],\n [\"averageLatency\", getU64Decoder()],\n [\"errorRate\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getNetworkMetricsCollectedEventCodec(): FixedSizeCodec<\n NetworkMetricsCollectedEventArgs,\n NetworkMetricsCollectedEvent\n> {\n return combineCodec(\n getNetworkMetricsCollectedEventEncoder(),\n getNetworkMetricsCollectedEventDecoder(),\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 combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getParticipantTypeDecoder,\n getParticipantTypeEncoder,\n type ParticipantType,\n type ParticipantTypeArgs,\n} from \".\";\n\nexport type ParticipantStatusUpdatedEvent = {\n participant: Address;\n participantType: ParticipantType;\n availability: boolean;\n reputationScore: number;\n timestamp: bigint;\n};\n\nexport type ParticipantStatusUpdatedEventArgs = {\n participant: Address;\n participantType: ParticipantTypeArgs;\n availability: boolean;\n reputationScore: number;\n timestamp: number | bigint;\n};\n\nexport function getParticipantStatusUpdatedEventEncoder(): FixedSizeEncoder<ParticipantStatusUpdatedEventArgs> {\n return getStructEncoder([\n [\"participant\", getAddressEncoder()],\n [\"participantType\", getParticipantTypeEncoder()],\n [\"availability\", getBooleanEncoder()],\n [\"reputationScore\", getU8Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getParticipantStatusUpdatedEventDecoder(): FixedSizeDecoder<ParticipantStatusUpdatedEvent> {\n return getStructDecoder([\n [\"participant\", getAddressDecoder()],\n [\"participantType\", getParticipantTypeDecoder()],\n [\"availability\", getBooleanDecoder()],\n [\"reputationScore\", getU8Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getParticipantStatusUpdatedEventCodec(): FixedSizeCodec<\n ParticipantStatusUpdatedEventArgs,\n ParticipantStatusUpdatedEvent\n> {\n return combineCodec(\n getParticipantStatusUpdatedEventEncoder(),\n getParticipantStatusUpdatedEventDecoder(),\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/** Participant type enum for distinguishing between humans and agents */\nexport enum ParticipantType {\n Human,\n Agent,\n}\n\nexport type ParticipantTypeArgs = ParticipantType;\n\nexport function getParticipantTypeEncoder(): FixedSizeEncoder<ParticipantTypeArgs> {\n return getEnumEncoder(ParticipantType);\n}\n\nexport function getParticipantTypeDecoder(): FixedSizeDecoder<ParticipantType> {\n return getEnumDecoder(ParticipantType);\n}\n\nexport function getParticipantTypeCodec(): FixedSizeCodec<\n ParticipantTypeArgs,\n ParticipantType\n> {\n return combineCodec(getParticipantTypeEncoder(), getParticipantTypeDecoder());\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 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 PaymentProcessedEvent = {\n workOrder: Address;\n from: Address;\n to: Address;\n amount: bigint;\n timestamp: bigint;\n};\n\nexport type PaymentProcessedEventArgs = {\n workOrder: Address;\n from: Address;\n to: Address;\n amount: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getPaymentProcessedEventEncoder(): FixedSizeEncoder<PaymentProcessedEventArgs> {\n return getStructEncoder([\n [\"workOrder\", getAddressEncoder()],\n [\"from\", getAddressEncoder()],\n [\"to\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getPaymentProcessedEventDecoder(): FixedSizeDecoder<PaymentProcessedEvent> {\n return getStructDecoder([\n [\"workOrder\", getAddressDecoder()],\n [\"from\", getAddressDecoder()],\n [\"to\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getPaymentProcessedEventCodec(): FixedSizeCodec<\n PaymentProcessedEventArgs,\n PaymentProcessedEvent\n> {\n return combineCodec(\n getPaymentProcessedEventEncoder(),\n getPaymentProcessedEventDecoder(),\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 PricingAlgorithm {\n Linear,\n Exponential,\n Logarithmic,\n Sigmoid,\n MarketBased,\n MLOptimized,\n DemandBased,\n ReputationBased,\n SurgePricing,\n MarketAverage,\n PerformanceBased,\n Seasonal,\n}\n\nexport type PricingAlgorithmArgs = PricingAlgorithm;\n\nexport function getPricingAlgorithmEncoder(): FixedSizeEncoder<PricingAlgorithmArgs> {\n return getEnumEncoder(PricingAlgorithm);\n}\n\nexport function getPricingAlgorithmDecoder(): FixedSizeDecoder<PricingAlgorithm> {\n return getEnumDecoder(PricingAlgorithm);\n}\n\nexport function getPricingAlgorithmCodec(): FixedSizeCodec<\n PricingAlgorithmArgs,\n PricingAlgorithm\n> {\n return combineCodec(\n getPricingAlgorithmEncoder(),\n getPricingAlgorithmDecoder(),\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\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 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 ProposalExecutedEvent = {\n proposal: Address;\n proposalId: bigint;\n executor: Address;\n timestamp: bigint;\n};\n\nexport type ProposalExecutedEventArgs = {\n proposal: Address;\n proposalId: number | bigint;\n executor: Address;\n timestamp: number | bigint;\n};\n\nexport function getProposalExecutedEventEncoder(): FixedSizeEncoder<ProposalExecutedEventArgs> {\n return getStructEncoder([\n [\"proposal\", getAddressEncoder()],\n [\"proposalId\", getU64Encoder()],\n [\"executor\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getProposalExecutedEventDecoder(): FixedSizeDecoder<ProposalExecutedEvent> {\n return getStructDecoder([\n [\"proposal\", getAddressDecoder()],\n [\"proposalId\", getU64Decoder()],\n [\"executor\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getProposalExecutedEventCodec(): FixedSizeCodec<\n ProposalExecutedEventArgs,\n ProposalExecutedEvent\n> {\n return combineCodec(\n getProposalExecutedEventEncoder(),\n getProposalExecutedEventDecoder(),\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 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 getEnumDecoder,\n getEnumEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport enum PurchaseStatus {\n Pending,\n Confirmed,\n Completed,\n Cancelled,\n Paid,\n}\n\nexport type PurchaseStatusArgs = PurchaseStatus;\n\nexport function getPurchaseStatusEncoder(): FixedSizeEncoder<PurchaseStatusArgs> {\n return getEnumEncoder(PurchaseStatus);\n}\n\nexport function getPurchaseStatusDecoder(): FixedSizeDecoder<PurchaseStatus> {\n return getEnumDecoder(PurchaseStatus);\n}\n\nexport function getPurchaseStatusCodec(): FixedSizeCodec<\n PurchaseStatusArgs,\n PurchaseStatus\n> {\n return combineCodec(getPurchaseStatusEncoder(), getPurchaseStatusDecoder());\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 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 ReplicationTemplateCreatedEvent = {\n template: Address;\n agent: Address;\n owner: Address;\n fee: bigint;\n timestamp: bigint;\n};\n\nexport type ReplicationTemplateCreatedEventArgs = {\n template: Address;\n agent: Address;\n owner: Address;\n fee: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getReplicationTemplateCreatedEventEncoder(): FixedSizeEncoder<ReplicationTemplateCreatedEventArgs> {\n return getStructEncoder([\n [\"template\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"owner\", getAddressEncoder()],\n [\"fee\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getReplicationTemplateCreatedEventDecoder(): FixedSizeDecoder<ReplicationTemplateCreatedEvent> {\n return getStructDecoder([\n [\"template\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"owner\", getAddressDecoder()],\n [\"fee\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getReplicationTemplateCreatedEventCodec(): FixedSizeCodec<\n ReplicationTemplateCreatedEventArgs,\n ReplicationTemplateCreatedEvent\n> {\n return combineCodec(\n getReplicationTemplateCreatedEventEncoder(),\n getReplicationTemplateCreatedEventDecoder(),\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 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 getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getReportEntryDecoder,\n getReportEntryEncoder,\n type ReportEntry,\n type ReportEntryArgs,\n} from \".\";\n\nexport type ReportEntryExport = { data: ReportEntry };\n\nexport type ReportEntryExportArgs = { data: ReportEntryArgs };\n\nexport function getReportEntryExportEncoder(): Encoder<ReportEntryExportArgs> {\n return getStructEncoder([[\"data\", getReportEntryEncoder()]]);\n}\n\nexport function getReportEntryExportDecoder(): Decoder<ReportEntryExport> {\n return getStructDecoder([[\"data\", getReportEntryDecoder()]]);\n}\n\nexport function getReportEntryExportCodec(): Codec<\n ReportEntryExportArgs,\n ReportEntryExport\n> {\n return combineCodec(\n getReportEntryExportEncoder(),\n getReportEntryExportDecoder(),\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/** 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 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 getStructDecoder,\n getStructEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\nimport {\n getResourceConstraintsDecoder,\n getResourceConstraintsEncoder,\n type ResourceConstraints,\n type ResourceConstraintsArgs,\n} from \".\";\n\nexport type ResourceConstraintsExport = { data: ResourceConstraints };\n\nexport type ResourceConstraintsExportArgs = { data: ResourceConstraintsArgs };\n\nexport function getResourceConstraintsExportEncoder(): Encoder<ResourceConstraintsExportArgs> {\n return getStructEncoder([[\"data\", getResourceConstraintsEncoder()]]);\n}\n\nexport function getResourceConstraintsExportDecoder(): Decoder<ResourceConstraintsExport> {\n return getStructDecoder([[\"data\", getResourceConstraintsDecoder()]]);\n}\n\nexport function getResourceConstraintsExportCodec(): Codec<\n ResourceConstraintsExportArgs,\n ResourceConstraintsExport\n> {\n return combineCodec(\n getResourceConstraintsExportEncoder(),\n getResourceConstraintsExportDecoder(),\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\";\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 getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type RoyaltyConfig = {\n percentage: number;\n minAmount: bigint;\n maxAmount: bigint;\n};\n\nexport type RoyaltyConfigArgs = {\n percentage: number;\n minAmount: number | bigint;\n maxAmount: number | bigint;\n};\n\nexport function getRoyaltyConfigEncoder(): FixedSizeEncoder<RoyaltyConfigArgs> {\n return getStructEncoder([\n [\"percentage\", getU32Encoder()],\n [\"minAmount\", getU64Encoder()],\n [\"maxAmount\", getU64Encoder()],\n ]);\n}\n\nexport function getRoyaltyConfigDecoder(): FixedSizeDecoder<RoyaltyConfig> {\n return getStructDecoder([\n [\"percentage\", getU32Decoder()],\n [\"minAmount\", getU64Decoder()],\n [\"maxAmount\", getU64Decoder()],\n ]);\n}\n\nexport function getRoyaltyConfigCodec(): FixedSizeCodec<\n RoyaltyConfigArgs,\n RoyaltyConfig\n> {\n return combineCodec(getRoyaltyConfigEncoder(), getRoyaltyConfigDecoder());\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 RoyaltyStreamCreatedEvent = {\n stream: Address;\n agent: Address;\n creator: Address;\n percentage: number;\n};\n\nexport type RoyaltyStreamCreatedEventArgs = RoyaltyStreamCreatedEvent;\n\nexport function getRoyaltyStreamCreatedEventEncoder(): FixedSizeEncoder<RoyaltyStreamCreatedEventArgs> {\n return getStructEncoder([\n [\"stream\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"percentage\", getU32Encoder()],\n ]);\n}\n\nexport function getRoyaltyStreamCreatedEventDecoder(): FixedSizeDecoder<RoyaltyStreamCreatedEvent> {\n return getStructDecoder([\n [\"stream\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"percentage\", getU32Decoder()],\n ]);\n}\n\nexport function getRoyaltyStreamCreatedEventCodec(): FixedSizeCodec<\n RoyaltyStreamCreatedEventArgs,\n RoyaltyStreamCreatedEvent\n> {\n return combineCodec(\n getRoyaltyStreamCreatedEventEncoder(),\n getRoyaltyStreamCreatedEventDecoder(),\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 getRuleConditionDecoder,\n getRuleConditionEncoder,\n type RuleCondition,\n type RuleConditionArgs,\n} from \".\";\n\nexport type RuleConditionExport = { data: RuleCondition };\n\nexport type RuleConditionExportArgs = { data: RuleConditionArgs };\n\nexport function getRuleConditionExportEncoder(): Encoder<RuleConditionExportArgs> {\n return getStructEncoder([[\"data\", getRuleConditionEncoder()]]);\n}\n\nexport function getRuleConditionExportDecoder(): Decoder<RuleConditionExport> {\n return getStructDecoder([[\"data\", getRuleConditionDecoder()]]);\n}\n\nexport function getRuleConditionExportCodec(): Codec<\n RuleConditionExportArgs,\n RuleConditionExport\n> {\n return combineCodec(\n getRuleConditionExportEncoder(),\n getRuleConditionExportDecoder(),\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/** 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 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 getAuctionTypeDecoder,\n getAuctionTypeEncoder,\n type AuctionType,\n type AuctionTypeArgs,\n} from \".\";\n\nexport type ServiceAuctionCreatedEvent = {\n auction: Address;\n agent: Address;\n creator: Address;\n startingPrice: bigint;\n auctionType: AuctionType;\n};\n\nexport type ServiceAuctionCreatedEventArgs = {\n auction: Address;\n agent: Address;\n creator: Address;\n startingPrice: number | bigint;\n auctionType: AuctionTypeArgs;\n};\n\nexport function getServiceAuctionCreatedEventEncoder(): FixedSizeEncoder<ServiceAuctionCreatedEventArgs> {\n return getStructEncoder([\n [\"auction\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"startingPrice\", getU64Encoder()],\n [\"auctionType\", getAuctionTypeEncoder()],\n ]);\n}\n\nexport function getServiceAuctionCreatedEventDecoder(): FixedSizeDecoder<ServiceAuctionCreatedEvent> {\n return getStructDecoder([\n [\"auction\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"startingPrice\", getU64Decoder()],\n [\"auctionType\", getAuctionTypeDecoder()],\n ]);\n}\n\nexport function getServiceAuctionCreatedEventCodec(): FixedSizeCodec<\n ServiceAuctionCreatedEventArgs,\n ServiceAuctionCreatedEvent\n> {\n return combineCodec(\n getServiceAuctionCreatedEventEncoder(),\n getServiceAuctionCreatedEventDecoder(),\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 ServiceListingCreatedEvent = {\n listing: Address;\n creator: Address;\n price: bigint;\n timestamp: bigint;\n};\n\nexport type ServiceListingCreatedEventArgs = {\n listing: Address;\n creator: Address;\n price: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getServiceListingCreatedEventEncoder(): FixedSizeEncoder<ServiceListingCreatedEventArgs> {\n return getStructEncoder([\n [\"listing\", getAddressEncoder()],\n [\"creator\", getAddressEncoder()],\n [\"price\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getServiceListingCreatedEventDecoder(): FixedSizeDecoder<ServiceListingCreatedEvent> {\n return getStructDecoder([\n [\"listing\", getAddressDecoder()],\n [\"creator\", getAddressDecoder()],\n [\"price\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getServiceListingCreatedEventCodec(): FixedSizeCodec<\n ServiceListingCreatedEventArgs,\n ServiceListingCreatedEvent\n> {\n return combineCodec(\n getServiceListingCreatedEventEncoder(),\n getServiceListingCreatedEventDecoder(),\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 getBooleanDecoder,\n getBooleanEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\nexport type ServicePerformanceEvent = {\n service: Address;\n provider: Address;\n executionTime: bigint;\n success: boolean;\n qualityScore: Option<number>;\n timestamp: bigint;\n};\n\nexport type ServicePerformanceEventArgs = {\n service: Address;\n provider: Address;\n executionTime: number | bigint;\n success: boolean;\n qualityScore: OptionOrNullable<number>;\n timestamp: number | bigint;\n};\n\nexport function getServicePerformanceEventEncoder(): Encoder<ServicePerformanceEventArgs> {\n return getStructEncoder([\n [\"service\", getAddressEncoder()],\n [\"provider\", getAddressEncoder()],\n [\"executionTime\", getU64Encoder()],\n [\"success\", getBooleanEncoder()],\n [\"qualityScore\", getOptionEncoder(getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getServicePerformanceEventDecoder(): Decoder<ServicePerformanceEvent> {\n return getStructDecoder([\n [\"service\", getAddressDecoder()],\n [\"provider\", getAddressDecoder()],\n [\"executionTime\", getU64Decoder()],\n [\"success\", getBooleanDecoder()],\n [\"qualityScore\", getOptionDecoder(getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getServicePerformanceEventCodec(): Codec<\n ServicePerformanceEventArgs,\n ServicePerformanceEvent\n> {\n return combineCodec(\n getServicePerformanceEventEncoder(),\n getServicePerformanceEventDecoder(),\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 ServicePurchasedEvent = {\n service: Address;\n buyer: Address;\n quantity: bigint;\n price: bigint;\n timestamp: bigint;\n};\n\nexport type ServicePurchasedEventArgs = {\n service: Address;\n buyer: Address;\n quantity: number | bigint;\n price: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getServicePurchasedEventEncoder(): FixedSizeEncoder<ServicePurchasedEventArgs> {\n return getStructEncoder([\n [\"service\", getAddressEncoder()],\n [\"buyer\", getAddressEncoder()],\n [\"quantity\", getU64Encoder()],\n [\"price\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getServicePurchasedEventDecoder(): FixedSizeDecoder<ServicePurchasedEvent> {\n return getStructDecoder([\n [\"service\", getAddressDecoder()],\n [\"buyer\", getAddressDecoder()],\n [\"quantity\", getU64Decoder()],\n [\"price\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getServicePurchasedEventCodec(): FixedSizeCodec<\n ServicePurchasedEventArgs,\n ServicePurchasedEvent\n> {\n return combineCodec(\n getServicePurchasedEventEncoder(),\n getServicePurchasedEventDecoder(),\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 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 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 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 getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type Token2022ExtensionsEnabled = {\n transferFee: boolean;\n confidentialTransfers: boolean;\n interestBearing: boolean;\n};\n\nexport type Token2022ExtensionsEnabledArgs = Token2022ExtensionsEnabled;\n\nexport function getToken2022ExtensionsEnabledEncoder(): FixedSizeEncoder<Token2022ExtensionsEnabledArgs> {\n return getStructEncoder([\n [\"transferFee\", getBooleanEncoder()],\n [\"confidentialTransfers\", getBooleanEncoder()],\n [\"interestBearing\", getBooleanEncoder()],\n ]);\n}\n\nexport function getToken2022ExtensionsEnabledDecoder(): FixedSizeDecoder<Token2022ExtensionsEnabled> {\n return getStructDecoder([\n [\"transferFee\", getBooleanDecoder()],\n [\"confidentialTransfers\", getBooleanDecoder()],\n [\"interestBearing\", getBooleanDecoder()],\n ]);\n}\n\nexport function getToken2022ExtensionsEnabledCodec(): FixedSizeCodec<\n Token2022ExtensionsEnabledArgs,\n Token2022ExtensionsEnabled\n> {\n return combineCodec(\n getToken2022ExtensionsEnabledEncoder(),\n getToken2022ExtensionsEnabledDecoder(),\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 getU8Decoder,\n getU8Encoder,\n type Address,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\nimport {\n getToken2022ExtensionsEnabledDecoder,\n getToken2022ExtensionsEnabledEncoder,\n type Token2022ExtensionsEnabled,\n type Token2022ExtensionsEnabledArgs,\n} from \".\";\n\nexport type Token2022MintCreatedEvent = {\n mint: Address;\n authority: Address;\n agent: Address;\n decimals: number;\n extensionsEnabled: Token2022ExtensionsEnabled;\n timestamp: bigint;\n};\n\nexport type Token2022MintCreatedEventArgs = {\n mint: Address;\n authority: Address;\n agent: Address;\n decimals: number;\n extensionsEnabled: Token2022ExtensionsEnabledArgs;\n timestamp: number | bigint;\n};\n\nexport function getToken2022MintCreatedEventEncoder(): FixedSizeEncoder<Token2022MintCreatedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"decimals\", getU8Encoder()],\n [\"extensionsEnabled\", getToken2022ExtensionsEnabledEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getToken2022MintCreatedEventDecoder(): FixedSizeDecoder<Token2022MintCreatedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"decimals\", getU8Decoder()],\n [\"extensionsEnabled\", getToken2022ExtensionsEnabledDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getToken2022MintCreatedEventCodec(): FixedSizeCodec<\n Token2022MintCreatedEventArgs,\n Token2022MintCreatedEvent\n> {\n return combineCodec(\n getToken2022MintCreatedEventEncoder(),\n getToken2022MintCreatedEventDecoder(),\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 TopAgentAddedEvent = {\n marketAnalytics: Address;\n agent: Address;\n timestamp: bigint;\n};\n\nexport type TopAgentAddedEventArgs = {\n marketAnalytics: Address;\n agent: Address;\n timestamp: number | bigint;\n};\n\nexport function getTopAgentAddedEventEncoder(): FixedSizeEncoder<TopAgentAddedEventArgs> {\n return getStructEncoder([\n [\"marketAnalytics\", getAddressEncoder()],\n [\"agent\", getAddressEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getTopAgentAddedEventDecoder(): FixedSizeDecoder<TopAgentAddedEvent> {\n return getStructDecoder([\n [\"marketAnalytics\", getAddressDecoder()],\n [\"agent\", getAddressDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getTopAgentAddedEventCodec(): FixedSizeCodec<\n TopAgentAddedEventArgs,\n TopAgentAddedEvent\n> {\n return combineCodec(\n getTopAgentAddedEventEncoder(),\n getTopAgentAddedEventDecoder(),\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 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 TransactionAnalyticsEvent = {\n transactionType: string;\n amount: bigint;\n from: Address;\n to: Address;\n status: string;\n timestamp: bigint;\n blockHeight: bigint;\n};\n\nexport type TransactionAnalyticsEventArgs = {\n transactionType: string;\n amount: number | bigint;\n from: Address;\n to: Address;\n status: string;\n timestamp: number | bigint;\n blockHeight: number | bigint;\n};\n\nexport function getTransactionAnalyticsEventEncoder(): Encoder<TransactionAnalyticsEventArgs> {\n return getStructEncoder([\n [\n \"transactionType\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"amount\", getU64Encoder()],\n [\"from\", getAddressEncoder()],\n [\"to\", getAddressEncoder()],\n [\"status\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n [\"blockHeight\", getU64Encoder()],\n ]);\n}\n\nexport function getTransactionAnalyticsEventDecoder(): Decoder<TransactionAnalyticsEvent> {\n return getStructDecoder([\n [\n \"transactionType\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"amount\", getU64Decoder()],\n [\"from\", getAddressDecoder()],\n [\"to\", getAddressDecoder()],\n [\"status\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n [\"blockHeight\", getU64Decoder()],\n ]);\n}\n\nexport function getTransactionAnalyticsEventCodec(): Codec<\n TransactionAnalyticsEventArgs,\n TransactionAnalyticsEvent\n> {\n return combineCodec(\n getTransactionAnalyticsEventEncoder(),\n getTransactionAnalyticsEventDecoder(),\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 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 getAddressDecoder,\n getAddressEncoder,\n getI64Decoder,\n getI64Encoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU64Decoder,\n getU64Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from \"@solana/kit\";\n\nexport type TransferFeeInitializedEvent = {\n mint: Address;\n authority: Address;\n transferFeeBasisPoints: number;\n maximumFee: bigint;\n transferFeeAuthority: Option<Address>;\n withdrawWithheldAuthority: Option<Address>;\n timestamp: bigint;\n};\n\nexport type TransferFeeInitializedEventArgs = {\n mint: Address;\n authority: Address;\n transferFeeBasisPoints: number;\n maximumFee: number | bigint;\n transferFeeAuthority: OptionOrNullable<Address>;\n withdrawWithheldAuthority: OptionOrNullable<Address>;\n timestamp: number | bigint;\n};\n\nexport function getTransferFeeInitializedEventEncoder(): Encoder<TransferFeeInitializedEventArgs> {\n return getStructEncoder([\n [\"mint\", getAddressEncoder()],\n [\"authority\", getAddressEncoder()],\n [\"transferFeeBasisPoints\", getU16Encoder()],\n [\"maximumFee\", getU64Encoder()],\n [\"transferFeeAuthority\", getOptionEncoder(getAddressEncoder())],\n [\"withdrawWithheldAuthority\", getOptionEncoder(getAddressEncoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getTransferFeeInitializedEventDecoder(): Decoder<TransferFeeInitializedEvent> {\n return getStructDecoder([\n [\"mint\", getAddressDecoder()],\n [\"authority\", getAddressDecoder()],\n [\"transferFeeBasisPoints\", getU16Decoder()],\n [\"maximumFee\", getU64Decoder()],\n [\"transferFeeAuthority\", getOptionDecoder(getAddressDecoder())],\n [\"withdrawWithheldAuthority\", getOptionDecoder(getAddressDecoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getTransferFeeInitializedEventCodec(): Codec<\n TransferFeeInitializedEventArgs,\n TransferFeeInitializedEvent\n> {\n return combineCodec(\n getTransferFeeInitializedEventEncoder(),\n getTransferFeeInitializedEventDecoder(),\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/** 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 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\nexport type TypingIndicatorEvent = {\n channel: Address;\n user: Address;\n isTyping: boolean;\n timestamp: bigint;\n};\n\nexport type TypingIndicatorEventArgs = {\n channel: Address;\n user: Address;\n isTyping: boolean;\n timestamp: number | bigint;\n};\n\nexport function getTypingIndicatorEventEncoder(): FixedSizeEncoder<TypingIndicatorEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"user\", getAddressEncoder()],\n [\"isTyping\", getBooleanEncoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getTypingIndicatorEventDecoder(): FixedSizeDecoder<TypingIndicatorEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"user\", getAddressDecoder()],\n [\"isTyping\", getBooleanDecoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getTypingIndicatorEventCodec(): FixedSizeCodec<\n TypingIndicatorEventArgs,\n TypingIndicatorEvent\n> {\n return combineCodec(\n getTypingIndicatorEventEncoder(),\n getTypingIndicatorEventDecoder(),\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 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 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\";\n\nexport type UserEngagementEvent = {\n user: Address;\n action: string;\n sessionDuration: Option<bigint>;\n interactionCount: number;\n timestamp: bigint;\n};\n\nexport type UserEngagementEventArgs = {\n user: Address;\n action: string;\n sessionDuration: OptionOrNullable<number | bigint>;\n interactionCount: number;\n timestamp: number | bigint;\n};\n\nexport function getUserEngagementEventEncoder(): Encoder<UserEngagementEventArgs> {\n return getStructEncoder([\n [\"user\", getAddressEncoder()],\n [\"action\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"sessionDuration\", getOptionEncoder(getU64Encoder())],\n [\"interactionCount\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getUserEngagementEventDecoder(): Decoder<UserEngagementEvent> {\n return getStructDecoder([\n [\"user\", getAddressDecoder()],\n [\"action\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"sessionDuration\", getOptionDecoder(getU64Decoder())],\n [\"interactionCount\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getUserEngagementEventCodec(): Codec<\n UserEngagementEventArgs,\n UserEngagementEvent\n> {\n return combineCodec(\n getUserEngagementEventEncoder(),\n getUserEngagementEventDecoder(),\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 UserJoinedChannelEvent = {\n channel: Address;\n user: Address;\n joinedAt: bigint;\n};\n\nexport type UserJoinedChannelEventArgs = {\n channel: Address;\n user: Address;\n joinedAt: number | bigint;\n};\n\nexport function getUserJoinedChannelEventEncoder(): FixedSizeEncoder<UserJoinedChannelEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"user\", getAddressEncoder()],\n [\"joinedAt\", getI64Encoder()],\n ]);\n}\n\nexport function getUserJoinedChannelEventDecoder(): FixedSizeDecoder<UserJoinedChannelEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"user\", getAddressDecoder()],\n [\"joinedAt\", getI64Decoder()],\n ]);\n}\n\nexport function getUserJoinedChannelEventCodec(): FixedSizeCodec<\n UserJoinedChannelEventArgs,\n UserJoinedChannelEvent\n> {\n return combineCodec(\n getUserJoinedChannelEventEncoder(),\n getUserJoinedChannelEventDecoder(),\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 UserLeftChannelEvent = {\n channel: Address;\n user: Address;\n leftAt: bigint;\n};\n\nexport type UserLeftChannelEventArgs = {\n channel: Address;\n user: Address;\n leftAt: number | bigint;\n};\n\nexport function getUserLeftChannelEventEncoder(): FixedSizeEncoder<UserLeftChannelEventArgs> {\n return getStructEncoder([\n [\"channel\", getAddressEncoder()],\n [\"user\", getAddressEncoder()],\n [\"leftAt\", getI64Encoder()],\n ]);\n}\n\nexport function getUserLeftChannelEventDecoder(): FixedSizeDecoder<UserLeftChannelEvent> {\n return getStructDecoder([\n [\"channel\", getAddressDecoder()],\n [\"user\", getAddressDecoder()],\n [\"leftAt\", getI64Decoder()],\n ]);\n}\n\nexport function getUserLeftChannelEventCodec(): FixedSizeCodec<\n UserLeftChannelEventArgs,\n UserLeftChannelEvent\n> {\n return combineCodec(\n getUserLeftChannelEventEncoder(),\n getUserLeftChannelEventDecoder(),\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/** 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 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 combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU32Decoder,\n getU32Encoder,\n type FixedSizeCodec,\n type FixedSizeDecoder,\n type FixedSizeEncoder,\n} from \"@solana/kit\";\n\nexport type VolumeTier = {\n minQuantity: number;\n maxQuantity: number;\n discountPercentage: number;\n};\n\nexport type VolumeTierArgs = VolumeTier;\n\nexport function getVolumeTierEncoder(): FixedSizeEncoder<VolumeTierArgs> {\n return getStructEncoder([\n [\"minQuantity\", getU32Encoder()],\n [\"maxQuantity\", getU32Encoder()],\n [\"discountPercentage\", getU32Encoder()],\n ]);\n}\n\nexport function getVolumeTierDecoder(): FixedSizeDecoder<VolumeTier> {\n return getStructDecoder([\n [\"minQuantity\", getU32Decoder()],\n [\"maxQuantity\", getU32Decoder()],\n [\"discountPercentage\", getU32Decoder()],\n ]);\n}\n\nexport function getVolumeTierCodec(): FixedSizeCodec<\n VolumeTierArgs,\n VolumeTier\n> {\n return combineCodec(getVolumeTierEncoder(), getVolumeTierDecoder());\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 getAddressDecoder,\n getAddressEncoder,\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\";\nimport {\n getVoteChoiceDecoder,\n getVoteChoiceEncoder,\n type VoteChoice,\n type VoteChoiceArgs,\n} from \".\";\n\nexport type VoteCastEnhancedEvent = {\n proposal: Address;\n voter: Address;\n voteChoice: VoteChoice;\n votingPower: bigint;\n tokenPower: bigint;\n reputationPower: bigint;\n volumePower: bigint;\n stakingPower: bigint;\n lockupMultiplier: number;\n timestamp: bigint;\n};\n\nexport type VoteCastEnhancedEventArgs = {\n proposal: Address;\n voter: Address;\n voteChoice: VoteChoiceArgs;\n votingPower: number | bigint;\n tokenPower: number | bigint;\n reputationPower: number | bigint;\n volumePower: number | bigint;\n stakingPower: number | bigint;\n lockupMultiplier: number;\n timestamp: number | bigint;\n};\n\nexport function getVoteCastEnhancedEventEncoder(): FixedSizeEncoder<VoteCastEnhancedEventArgs> {\n return getStructEncoder([\n [\"proposal\", getAddressEncoder()],\n [\"voter\", getAddressEncoder()],\n [\"voteChoice\", getVoteChoiceEncoder()],\n [\"votingPower\", getU64Encoder()],\n [\"tokenPower\", getU64Encoder()],\n [\"reputationPower\", getU64Encoder()],\n [\"volumePower\", getU64Encoder()],\n [\"stakingPower\", getU64Encoder()],\n [\"lockupMultiplier\", getU16Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getVoteCastEnhancedEventDecoder(): FixedSizeDecoder<VoteCastEnhancedEvent> {\n return getStructDecoder([\n [\"proposal\", getAddressDecoder()],\n [\"voter\", getAddressDecoder()],\n [\"voteChoice\", getVoteChoiceDecoder()],\n [\"votingPower\", getU64Decoder()],\n [\"tokenPower\", getU64Decoder()],\n [\"reputationPower\", getU64Decoder()],\n [\"volumePower\", getU64Decoder()],\n [\"stakingPower\", getU64Decoder()],\n [\"lockupMultiplier\", getU16Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getVoteCastEnhancedEventCodec(): FixedSizeCodec<\n VoteCastEnhancedEventArgs,\n VoteCastEnhancedEvent\n> {\n return combineCodec(\n getVoteCastEnhancedEventEncoder(),\n getVoteCastEnhancedEventDecoder(),\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\";\nimport {\n getVoteChoiceDecoder,\n getVoteChoiceEncoder,\n type VoteChoice,\n type VoteChoiceArgs,\n} from \".\";\n\nexport type VoteCastEvent = {\n proposal: Address;\n voter: Address;\n voteChoice: VoteChoice;\n votingPower: bigint;\n timestamp: bigint;\n};\n\nexport type VoteCastEventArgs = {\n proposal: Address;\n voter: Address;\n voteChoice: VoteChoiceArgs;\n votingPower: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getVoteCastEventEncoder(): FixedSizeEncoder<VoteCastEventArgs> {\n return getStructEncoder([\n [\"proposal\", getAddressEncoder()],\n [\"voter\", getAddressEncoder()],\n [\"voteChoice\", getVoteChoiceEncoder()],\n [\"votingPower\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getVoteCastEventDecoder(): FixedSizeDecoder<VoteCastEvent> {\n return getStructDecoder([\n [\"proposal\", getAddressDecoder()],\n [\"voter\", getAddressDecoder()],\n [\"voteChoice\", getVoteChoiceDecoder()],\n [\"votingPower\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getVoteCastEventCodec(): FixedSizeCodec<\n VoteCastEventArgs,\n VoteCastEvent\n> {\n return combineCodec(getVoteCastEventEncoder(), getVoteCastEventDecoder());\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 getAddressDecoder,\n getAddressEncoder,\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} from \"@solana/kit\";\nimport {\n getDelegationScopeDecoder,\n getDelegationScopeEncoder,\n type DelegationScope,\n type DelegationScopeArgs,\n} from \".\";\n\nexport type VoteDelegatedEvent = {\n delegator: Address;\n delegate: Address;\n proposalId: bigint;\n scope: DelegationScope;\n votingPower: bigint;\n expiresAt: Option<bigint>;\n timestamp: bigint;\n};\n\nexport type VoteDelegatedEventArgs = {\n delegator: Address;\n delegate: Address;\n proposalId: number | bigint;\n scope: DelegationScopeArgs;\n votingPower: number | bigint;\n expiresAt: OptionOrNullable<number | bigint>;\n timestamp: number | bigint;\n};\n\nexport function getVoteDelegatedEventEncoder(): Encoder<VoteDelegatedEventArgs> {\n return getStructEncoder([\n [\"delegator\", getAddressEncoder()],\n [\"delegate\", getAddressEncoder()],\n [\"proposalId\", getU64Encoder()],\n [\"scope\", getDelegationScopeEncoder()],\n [\"votingPower\", getU64Encoder()],\n [\"expiresAt\", getOptionEncoder(getI64Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getVoteDelegatedEventDecoder(): Decoder<VoteDelegatedEvent> {\n return getStructDecoder([\n [\"delegator\", getAddressDecoder()],\n [\"delegate\", getAddressDecoder()],\n [\"proposalId\", getU64Decoder()],\n [\"scope\", getDelegationScopeDecoder()],\n [\"votingPower\", getU64Decoder()],\n [\"expiresAt\", getOptionDecoder(getI64Decoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getVoteDelegatedEventCodec(): Codec<\n VoteDelegatedEventArgs,\n VoteDelegatedEvent\n> {\n return combineCodec(\n getVoteDelegatedEventEncoder(),\n getVoteDelegatedEventDecoder(),\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\";\nimport {\n getProposalStatusDecoder,\n getProposalStatusEncoder,\n type ProposalStatus,\n type ProposalStatusArgs,\n} from \".\";\n\nexport type VotesTalliedEvent = {\n proposal: Address;\n proposalId: bigint;\n status: ProposalStatus;\n votesFor: bigint;\n votesAgainst: bigint;\n votesAbstain: bigint;\n participationRate: number;\n timestamp: bigint;\n};\n\nexport type VotesTalliedEventArgs = {\n proposal: Address;\n proposalId: number | bigint;\n status: ProposalStatusArgs;\n votesFor: number | bigint;\n votesAgainst: number | bigint;\n votesAbstain: number | bigint;\n participationRate: number;\n timestamp: number | bigint;\n};\n\nexport function getVotesTalliedEventEncoder(): FixedSizeEncoder<VotesTalliedEventArgs> {\n return getStructEncoder([\n [\"proposal\", getAddressEncoder()],\n [\"proposalId\", getU64Encoder()],\n [\"status\", getProposalStatusEncoder()],\n [\"votesFor\", getU64Encoder()],\n [\"votesAgainst\", getU64Encoder()],\n [\"votesAbstain\", getU64Encoder()],\n [\"participationRate\", getU8Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getVotesTalliedEventDecoder(): FixedSizeDecoder<VotesTalliedEvent> {\n return getStructDecoder([\n [\"proposal\", getAddressDecoder()],\n [\"proposalId\", getU64Decoder()],\n [\"status\", getProposalStatusDecoder()],\n [\"votesFor\", getU64Decoder()],\n [\"votesAgainst\", getU64Decoder()],\n [\"votesAbstain\", getU64Decoder()],\n [\"participationRate\", getU8Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getVotesTalliedEventCodec(): FixedSizeCodec<\n VotesTalliedEventArgs,\n VotesTalliedEvent\n> {\n return combineCodec(\n getVotesTalliedEventEncoder(),\n getVotesTalliedEventDecoder(),\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 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 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\nexport type WorkDeliveryRejectedEvent = {\n workOrder: Address;\n client: Address;\n provider: Address;\n rejectionReason: string;\n requestedChanges: Option<Array<string>>;\n timestamp: bigint;\n};\n\nexport type WorkDeliveryRejectedEventArgs = {\n workOrder: Address;\n client: Address;\n provider: Address;\n rejectionReason: string;\n requestedChanges: OptionOrNullable<Array<string>>;\n timestamp: number | bigint;\n};\n\nexport function getWorkDeliveryRejectedEventEncoder(): Encoder<WorkDeliveryRejectedEventArgs> {\n return getStructEncoder([\n [\"workOrder\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"provider\", getAddressEncoder()],\n [\n \"rejectionReason\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\n \"requestedChanges\",\n getOptionEncoder(\n getArrayEncoder(\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ),\n ),\n ],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getWorkDeliveryRejectedEventDecoder(): Decoder<WorkDeliveryRejectedEvent> {\n return getStructDecoder([\n [\"workOrder\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"provider\", getAddressDecoder()],\n [\n \"rejectionReason\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\n \"requestedChanges\",\n getOptionDecoder(\n getArrayDecoder(\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ),\n ),\n ],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getWorkDeliveryRejectedEventCodec(): Codec<\n WorkDeliveryRejectedEventArgs,\n WorkDeliveryRejectedEvent\n> {\n return combineCodec(\n getWorkDeliveryRejectedEventEncoder(),\n getWorkDeliveryRejectedEventDecoder(),\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 WorkDeliverySubmittedEvent = {\n workOrder: Address;\n provider: Address;\n ipfsHash: string;\n timestamp: bigint;\n};\n\nexport type WorkDeliverySubmittedEventArgs = {\n workOrder: Address;\n provider: Address;\n ipfsHash: string;\n timestamp: number | bigint;\n};\n\nexport function getWorkDeliverySubmittedEventEncoder(): Encoder<WorkDeliverySubmittedEventArgs> {\n return getStructEncoder([\n [\"workOrder\", getAddressEncoder()],\n [\"provider\", getAddressEncoder()],\n [\"ipfsHash\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getWorkDeliverySubmittedEventDecoder(): Decoder<WorkDeliverySubmittedEvent> {\n return getStructDecoder([\n [\"workOrder\", getAddressDecoder()],\n [\"provider\", getAddressDecoder()],\n [\"ipfsHash\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getWorkDeliverySubmittedEventCodec(): Codec<\n WorkDeliverySubmittedEventArgs,\n WorkDeliverySubmittedEvent\n> {\n return combineCodec(\n getWorkDeliverySubmittedEventEncoder(),\n getWorkDeliverySubmittedEventDecoder(),\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 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\nexport type WorkDeliveryVerifiedEvent = {\n workOrder: Address;\n client: Address;\n provider: Address;\n verificationNotes: Option<string>;\n timestamp: bigint;\n};\n\nexport type WorkDeliveryVerifiedEventArgs = {\n workOrder: Address;\n client: Address;\n provider: Address;\n verificationNotes: OptionOrNullable<string>;\n timestamp: number | bigint;\n};\n\nexport function getWorkDeliveryVerifiedEventEncoder(): Encoder<WorkDeliveryVerifiedEventArgs> {\n return getStructEncoder([\n [\"workOrder\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"provider\", getAddressEncoder()],\n [\n \"verificationNotes\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getWorkDeliveryVerifiedEventDecoder(): Decoder<WorkDeliveryVerifiedEvent> {\n return getStructDecoder([\n [\"workOrder\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"provider\", getAddressDecoder()],\n [\n \"verificationNotes\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getWorkDeliveryVerifiedEventCodec(): Codec<\n WorkDeliveryVerifiedEventArgs,\n WorkDeliveryVerifiedEvent\n> {\n return combineCodec(\n getWorkDeliveryVerifiedEventEncoder(),\n getWorkDeliveryVerifiedEventDecoder(),\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 WorkOrderCreatedEvent = {\n workOrder: Address;\n client: Address;\n provider: Address;\n amount: bigint;\n timestamp: bigint;\n};\n\nexport type WorkOrderCreatedEventArgs = {\n workOrder: Address;\n client: Address;\n provider: Address;\n amount: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getWorkOrderCreatedEventEncoder(): FixedSizeEncoder<WorkOrderCreatedEventArgs> {\n return getStructEncoder([\n [\"workOrder\", getAddressEncoder()],\n [\"client\", getAddressEncoder()],\n [\"provider\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getWorkOrderCreatedEventDecoder(): FixedSizeDecoder<WorkOrderCreatedEvent> {\n return getStructDecoder([\n [\"workOrder\", getAddressDecoder()],\n [\"client\", getAddressDecoder()],\n [\"provider\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getWorkOrderCreatedEventCodec(): FixedSizeCodec<\n WorkOrderCreatedEventArgs,\n WorkOrderCreatedEvent\n> {\n return combineCodec(\n getWorkOrderCreatedEventEncoder(),\n getWorkOrderCreatedEventDecoder(),\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\nexport enum WorkOrderStatus {\n Created,\n Open,\n Submitted,\n InProgress,\n Approved,\n Completed,\n Cancelled,\n}\n\nexport type WorkOrderStatusArgs = WorkOrderStatus;\n\nexport function getWorkOrderStatusEncoder(): FixedSizeEncoder<WorkOrderStatusArgs> {\n return getEnumEncoder(WorkOrderStatus);\n}\n\nexport function getWorkOrderStatusDecoder(): FixedSizeDecoder<WorkOrderStatus> {\n return getEnumDecoder(WorkOrderStatus);\n}\n\nexport function getWorkOrderStatusCodec(): FixedSizeCodec<\n WorkOrderStatusArgs,\n WorkOrderStatus\n> {\n return combineCodec(getWorkOrderStatusEncoder(), getWorkOrderStatusDecoder());\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 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 X402PaymentRecordedEvent = {\n agent: Address;\n payer: Address;\n amount: bigint;\n tokenMint: Address;\n transactionSignature: string;\n responseTimeMs: bigint;\n totalPayments: bigint;\n totalCalls: bigint;\n timestamp: bigint;\n};\n\nexport type X402PaymentRecordedEventArgs = {\n agent: Address;\n payer: Address;\n amount: number | bigint;\n tokenMint: Address;\n transactionSignature: string;\n responseTimeMs: number | bigint;\n totalPayments: number | bigint;\n totalCalls: number | bigint;\n timestamp: number | bigint;\n};\n\nexport function getX402PaymentRecordedEventEncoder(): Encoder<X402PaymentRecordedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"payer\", getAddressEncoder()],\n [\"amount\", getU64Encoder()],\n [\"tokenMint\", getAddressEncoder()],\n [\n \"transactionSignature\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\"responseTimeMs\", getU64Encoder()],\n [\"totalPayments\", getU64Encoder()],\n [\"totalCalls\", getU64Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getX402PaymentRecordedEventDecoder(): Decoder<X402PaymentRecordedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"payer\", getAddressDecoder()],\n [\"amount\", getU64Decoder()],\n [\"tokenMint\", getAddressDecoder()],\n [\n \"transactionSignature\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\"responseTimeMs\", getU64Decoder()],\n [\"totalPayments\", getU64Decoder()],\n [\"totalCalls\", getU64Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getX402PaymentRecordedEventCodec(): Codec<\n X402PaymentRecordedEventArgs,\n X402PaymentRecordedEvent\n> {\n return combineCodec(\n getX402PaymentRecordedEventEncoder(),\n getX402PaymentRecordedEventDecoder(),\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 getU8Decoder,\n getU8Encoder,\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\nexport type X402RatingSubmittedEvent = {\n agent: Address;\n rater: Address;\n rating: number;\n transactionSignature: string;\n feedback: Option<string>;\n newReputationScore: number;\n timestamp: bigint;\n};\n\nexport type X402RatingSubmittedEventArgs = {\n agent: Address;\n rater: Address;\n rating: number;\n transactionSignature: string;\n feedback: OptionOrNullable<string>;\n newReputationScore: number;\n timestamp: number | bigint;\n};\n\nexport function getX402RatingSubmittedEventEncoder(): Encoder<X402RatingSubmittedEventArgs> {\n return getStructEncoder([\n [\"agent\", getAddressEncoder()],\n [\"rater\", getAddressEncoder()],\n [\"rating\", getU8Encoder()],\n [\n \"transactionSignature\",\n addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()),\n ],\n [\n \"feedback\",\n getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())),\n ],\n [\"newReputationScore\", getU32Encoder()],\n [\"timestamp\", getI64Encoder()],\n ]);\n}\n\nexport function getX402RatingSubmittedEventDecoder(): Decoder<X402RatingSubmittedEvent> {\n return getStructDecoder([\n [\"agent\", getAddressDecoder()],\n [\"rater\", getAddressDecoder()],\n [\"rating\", getU8Decoder()],\n [\n \"transactionSignature\",\n addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()),\n ],\n [\n \"feedback\",\n getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())),\n ],\n [\"newReputationScore\", getU32Decoder()],\n [\"timestamp\", getI64Decoder()],\n ]);\n}\n\nexport function getX402RatingSubmittedEventCodec(): Codec<\n X402RatingSubmittedEventArgs,\n X402RatingSubmittedEvent\n> {\n return combineCodec(\n getX402RatingSubmittedEventEncoder(),\n getX402RatingSubmittedEventDecoder(),\n );\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type A2AMessageData = {\n message_id: bigint;\n session_id: bigint;\n sender: Address;\n content: string;\n message_type: string;\n timestamp: bigint;\n};\n\nexport type A2AMessageDataArgs = {\n message_id: number | bigint;\n session_id: number | bigint;\n sender: Address;\n content: string;\n message_type: string;\n timestamp: number | bigint;\n};\n\nexport function getA2AMessageDataEncoder(): Encoder<A2AMessageDataArgs> {\n return getStructEncoder([\n [\"message_id\", getU64Encoder()],\n [\"session_id\", getU64Encoder()],\n [\"sender\", getAddressEncoder()],\n [\"content\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"message_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"timestamp\", getI64Encoder()]\n ]);\n}\n\nexport function getA2AMessageDataDecoder(): Decoder<A2AMessageData> {\n return getStructDecoder([\n [\"message_id\", getU64Decoder()],\n [\"session_id\", getU64Decoder()],\n [\"sender\", getAddressDecoder()],\n [\"content\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"message_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"timestamp\", getI64Decoder()]\n ]);\n}\n\nexport function getA2AMessageDataCodec(): Codec<A2AMessageDataArgs, A2AMessageData> {\n return combineCodec(getA2AMessageDataEncoder(), getA2AMessageDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type A2ASessionData = {\n session_id: bigint;\n initiator: Address;\n responder: Address;\n session_type: string;\n metadata: string;\n expires_at: bigint;\n};\n\nexport type A2ASessionDataArgs = {\n session_id: number | bigint;\n initiator: Address;\n responder: Address;\n session_type: string;\n metadata: string;\n expires_at: number | bigint;\n};\n\nexport function getA2ASessionDataEncoder(): Encoder<A2ASessionDataArgs> {\n return getStructEncoder([\n [\"session_id\", getU64Encoder()],\n [\"initiator\", getAddressEncoder()],\n [\"responder\", getAddressEncoder()],\n [\"session_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"metadata\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"expires_at\", getI64Encoder()]\n ]);\n}\n\nexport function getA2ASessionDataDecoder(): Decoder<A2ASessionData> {\n return getStructDecoder([\n [\"session_id\", getU64Decoder()],\n [\"initiator\", getAddressDecoder()],\n [\"responder\", getAddressDecoder()],\n [\"session_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"metadata\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"expires_at\", getI64Decoder()]\n ]);\n}\n\nexport function getA2ASessionDataCodec(): Codec<A2ASessionDataArgs, A2ASessionData> {\n return combineCodec(getA2ASessionDataEncoder(), getA2ASessionDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type A2AStatusData = {\n status_id: bigint;\n agent: Address;\n status: string;\n capabilities: Array<string>;\n availability: boolean;\n last_updated: bigint;\n};\n\nexport type A2AStatusDataArgs = {\n status_id: number | bigint;\n agent: Address;\n status: string;\n capabilities: Array<string>;\n availability: boolean;\n last_updated: number | bigint;\n};\n\nexport function getA2AStatusDataEncoder(): Encoder<A2AStatusDataArgs> {\n return getStructEncoder([\n [\"status_id\", getU64Encoder()],\n [\"agent\", getAddressEncoder()],\n [\"status\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"capabilities\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"availability\", getBooleanEncoder()],\n [\"last_updated\", getI64Encoder()]\n ]);\n}\n\nexport function getA2AStatusDataDecoder(): Decoder<A2AStatusData> {\n return getStructDecoder([\n [\"status_id\", getU64Decoder()],\n [\"agent\", getAddressDecoder()],\n [\"status\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"capabilities\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"availability\", getBooleanDecoder()],\n [\"last_updated\", getI64Decoder()]\n ]);\n}\n\nexport function getA2AStatusDataCodec(): Codec<A2AStatusDataArgs, A2AStatusData> {\n return combineCodec(getA2AStatusDataEncoder(), getA2AStatusDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type AgentServiceData = {\n agent_pubkey: Address;\n service_endpoint: string;\n is_active: boolean;\n last_updated: bigint;\n metadata_uri: Option<string>;\n capabilities: Array<string>;\n};\n\nexport type AgentServiceDataArgs = {\n agent_pubkey: Address;\n service_endpoint: string;\n is_active: boolean;\n last_updated: number | bigint;\n metadata_uri: Option<string>;\n capabilities: Array<string>;\n};\n\nexport function getAgentServiceDataEncoder(): Encoder<AgentServiceDataArgs> {\n return getStructEncoder([\n [\"agent_pubkey\", getAddressEncoder()],\n [\"service_endpoint\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"is_active\", getBooleanEncoder()],\n [\"last_updated\", getI64Encoder()],\n [\"metadata_uri\", getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"capabilities\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getAgentServiceDataDecoder(): Decoder<AgentServiceData> {\n return getStructDecoder([\n [\"agent_pubkey\", getAddressDecoder()],\n [\"service_endpoint\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"is_active\", getBooleanDecoder()],\n [\"last_updated\", getI64Decoder()],\n [\"metadata_uri\", getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"capabilities\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getAgentServiceDataCodec(): Codec<AgentServiceDataArgs, AgentServiceData> {\n return combineCodec(getAgentServiceDataEncoder(), getAgentServiceDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getAuctionTypeEncoder,\n getAuctionTypeDecoder,\n type AuctionType,\n type AuctionTypeArgs,\n getDutchAuctionConfigEncoder,\n getDutchAuctionConfigDecoder,\n type DutchAuctionConfig,\n type DutchAuctionConfigArgs\n} from \".\";\n\nexport type AuctionData = {\n auction_type: AuctionType;\n starting_price: bigint;\n reserve_price: bigint;\n is_reserve_hidden: boolean;\n current_bid: bigint;\n current_bidder: Option<Address>;\n auction_end_time: bigint;\n minimum_bid_increment: bigint;\n total_bids: number;\n dutch_config: Option<DutchAuctionConfig>;\n};\n\nexport type AuctionDataArgs = {\n auction_type: AuctionTypeArgs;\n starting_price: number | bigint;\n reserve_price: number | bigint;\n is_reserve_hidden: boolean;\n current_bid: number | bigint;\n current_bidder: Option<Address>;\n auction_end_time: number | bigint;\n minimum_bid_increment: number | bigint;\n total_bids: number;\n dutch_config: Option<DutchAuctionConfigArgs>;\n};\n\nexport function getAuctionDataEncoder(): Encoder<AuctionDataArgs> {\n return getStructEncoder([\n [\"auction_type\", getAuctionTypeEncoder()],\n [\"starting_price\", getU64Encoder()],\n [\"reserve_price\", getU64Encoder()],\n [\"is_reserve_hidden\", getBooleanEncoder()],\n [\"current_bid\", getU64Encoder()],\n [\"current_bidder\", getOptionEncoder(getAddressEncoder())],\n [\"auction_end_time\", getI64Encoder()],\n [\"minimum_bid_increment\", getU64Encoder()],\n [\"total_bids\", getU32Encoder()],\n [\"dutch_config\", getOptionEncoder(getDutchAuctionConfigEncoder())]\n ]);\n}\n\nexport function getAuctionDataDecoder(): Decoder<AuctionData> {\n return getStructDecoder([\n [\"auction_type\", getAuctionTypeDecoder()],\n [\"starting_price\", getU64Decoder()],\n [\"reserve_price\", getU64Decoder()],\n [\"is_reserve_hidden\", getBooleanDecoder()],\n [\"current_bid\", getU64Decoder()],\n [\"current_bidder\", getOptionDecoder(getAddressDecoder())],\n [\"auction_end_time\", getI64Decoder()],\n [\"minimum_bid_increment\", getU64Decoder()],\n [\"total_bids\", getU32Decoder()],\n [\"dutch_config\", getOptionDecoder(getDutchAuctionConfigDecoder())]\n ]);\n}\n\nexport function getAuctionDataCodec(): Codec<AuctionDataArgs, AuctionData> {\n return combineCodec(getAuctionDataEncoder(), getAuctionDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getAgentCustomizationEncoder,\n getAgentCustomizationDecoder,\n type AgentCustomization,\n type AgentCustomizationArgs\n} from \".\";\n\nexport type BatchReplicationRequest = {\n customizations: Array<AgentCustomization>;\n royalty_percentage: number;\n};\n\nexport type BatchReplicationRequestArgs = {\n customizations: Array<AgentCustomizationArgs>;\n royalty_percentage: number;\n};\n\nexport function getBatchReplicationRequestEncoder(): Encoder<BatchReplicationRequestArgs> {\n return getStructEncoder([\n [\"customizations\", getArrayEncoder(getAgentCustomizationEncoder())],\n [\"royalty_percentage\", getU32Encoder()]\n ]);\n}\n\nexport function getBatchReplicationRequestDecoder(): Decoder<BatchReplicationRequest> {\n return getStructDecoder([\n [\"customizations\", getArrayDecoder(getAgentCustomizationDecoder())],\n [\"royalty_percentage\", getU32Decoder()]\n ]);\n}\n\nexport function getBatchReplicationRequestCodec(): Codec<BatchReplicationRequestArgs, BatchReplicationRequest> {\n return combineCodec(getBatchReplicationRequestEncoder(), getBatchReplicationRequestDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getF64Encoder,\n getF64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getDealTypeEncoder,\n getDealTypeDecoder,\n type DealType,\n type DealTypeArgs,\n getVolumeTierEncoder,\n getVolumeTierDecoder,\n type VolumeTier,\n type VolumeTierArgs\n} from \".\";\n\nexport type BulkDealData = {\n deal_id: bigint;\n deal_type: DealType;\n total_volume: number;\n total_value: bigint;\n discount_percentage: number;\n volume_tiers: Array<VolumeTier>;\n sla_terms: string;\n contract_duration: bigint;\n end_date: bigint;\n};\n\nexport type BulkDealDataArgs = {\n deal_id: number | bigint;\n deal_type: DealTypeArgs;\n total_volume: number;\n total_value: number | bigint;\n discount_percentage: number;\n volume_tiers: Array<VolumeTierArgs>;\n sla_terms: string;\n contract_duration: number | bigint;\n end_date: number | bigint;\n};\n\nexport function getBulkDealDataEncoder(): Encoder<BulkDealDataArgs> {\n return getStructEncoder([\n [\"deal_id\", getU64Encoder()],\n [\"deal_type\", getDealTypeEncoder()],\n [\"total_volume\", getU32Encoder()],\n [\"total_value\", getU64Encoder()],\n [\"discount_percentage\", getF64Encoder()],\n [\"volume_tiers\", getArrayEncoder(getVolumeTierEncoder())],\n [\"sla_terms\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"contract_duration\", getI64Encoder()],\n [\"end_date\", getI64Encoder()]\n ]);\n}\n\nexport function getBulkDealDataDecoder(): Decoder<BulkDealData> {\n return getStructDecoder([\n [\"deal_id\", getU64Decoder()],\n [\"deal_type\", getDealTypeDecoder()],\n [\"total_volume\", getU32Decoder()],\n [\"total_value\", getU64Decoder()],\n [\"discount_percentage\", getF64Decoder()],\n [\"volume_tiers\", getArrayDecoder(getVolumeTierDecoder())],\n [\"sla_terms\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"contract_duration\", getI64Decoder()],\n [\"end_date\", getI64Decoder()]\n ]);\n}\n\nexport function getBulkDealDataCodec(): Codec<BulkDealDataArgs, BulkDealData> {\n return combineCodec(getBulkDealDataEncoder(), getBulkDealDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getChannelTypeEncoder,\n getChannelTypeDecoder,\n type ChannelType,\n type ChannelTypeArgs\n} from \".\";\n\nexport type ChannelCreationData = {\n channel_id: bigint;\n participants: Array<Address>;\n channel_type: ChannelType;\n is_private: boolean;\n};\n\nexport type ChannelCreationDataArgs = {\n channel_id: number | bigint;\n participants: Array<Address>;\n channel_type: ChannelTypeArgs;\n is_private: boolean;\n};\n\nexport function getChannelCreationDataEncoder(): Encoder<ChannelCreationDataArgs> {\n return getStructEncoder([\n [\"channel_id\", getU64Encoder()],\n [\"participants\", getArrayEncoder(getAddressEncoder())],\n [\"channel_type\", getChannelTypeEncoder()],\n [\"is_private\", getBooleanEncoder()]\n ]);\n}\n\nexport function getChannelCreationDataDecoder(): Decoder<ChannelCreationData> {\n return getStructDecoder([\n [\"channel_id\", getU64Decoder()],\n [\"participants\", getArrayDecoder(getAddressDecoder())],\n [\"channel_type\", getChannelTypeDecoder()],\n [\"is_private\", getBooleanDecoder()]\n ]);\n}\n\nexport function getChannelCreationDataCodec(): Codec<ChannelCreationDataArgs, ChannelCreationData> {\n return combineCodec(getChannelCreationDataEncoder(), getChannelCreationDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getParticipantTypeEncoder,\n getParticipantTypeDecoder,\n type ParticipantType,\n type ParticipantTypeArgs\n} from \".\";\n\nexport type CommunicationMessageData = {\n message_id: bigint;\n sender_type: ParticipantType;\n content: string;\n message_type: string;\n attachments: Array<string>;\n};\n\nexport type CommunicationMessageDataArgs = {\n message_id: number | bigint;\n sender_type: ParticipantTypeArgs;\n content: string;\n message_type: string;\n attachments: Array<string>;\n};\n\nexport function getCommunicationMessageDataEncoder(): Encoder<CommunicationMessageDataArgs> {\n return getStructEncoder([\n [\"message_id\", getU64Encoder()],\n [\"sender_type\", getParticipantTypeEncoder()],\n [\"content\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"message_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"attachments\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getCommunicationMessageDataDecoder(): Decoder<CommunicationMessageData> {\n return getStructDecoder([\n [\"message_id\", getU64Decoder()],\n [\"sender_type\", getParticipantTypeDecoder()],\n [\"content\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"message_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"attachments\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getCommunicationMessageDataCodec(): Codec<CommunicationMessageDataArgs, CommunicationMessageData> {\n return combineCodec(getCommunicationMessageDataEncoder(), getCommunicationMessageDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getParticipantTypeEncoder,\n getParticipantTypeDecoder,\n type ParticipantType,\n type ParticipantTypeArgs\n} from \".\";\n\nexport type CommunicationSessionData = {\n session_id: bigint;\n initiator: Address;\n initiator_type: ParticipantType;\n responder: Address;\n responder_type: ParticipantType;\n session_type: string;\n metadata: string;\n expires_at: bigint;\n};\n\nexport type CommunicationSessionDataArgs = {\n session_id: number | bigint;\n initiator: Address;\n initiator_type: ParticipantTypeArgs;\n responder: Address;\n responder_type: ParticipantTypeArgs;\n session_type: string;\n metadata: string;\n expires_at: number | bigint;\n};\n\nexport function getCommunicationSessionDataEncoder(): Encoder<CommunicationSessionDataArgs> {\n return getStructEncoder([\n [\"session_id\", getU64Encoder()],\n [\"initiator\", getAddressEncoder()],\n [\"initiator_type\", getParticipantTypeEncoder()],\n [\"responder\", getAddressEncoder()],\n [\"responder_type\", getParticipantTypeEncoder()],\n [\"session_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"metadata\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"expires_at\", getI64Encoder()]\n ]);\n}\n\nexport function getCommunicationSessionDataDecoder(): Decoder<CommunicationSessionData> {\n return getStructDecoder([\n [\"session_id\", getU64Decoder()],\n [\"initiator\", getAddressDecoder()],\n [\"initiator_type\", getParticipantTypeDecoder()],\n [\"responder\", getAddressDecoder()],\n [\"responder_type\", getParticipantTypeDecoder()],\n [\"session_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"metadata\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"expires_at\", getI64Decoder()]\n ]);\n}\n\nexport function getCommunicationSessionDataCodec(): Codec<CommunicationSessionDataArgs, CommunicationSessionData> {\n return combineCodec(getCommunicationSessionDataEncoder(), getCommunicationSessionDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ConfidentialTransferMintParams = {\n auto_approve_new_accounts: boolean;\n auditor_elgamal_pubkey: Option<Array<number>>;\n};\n\nexport type ConfidentialTransferMintParamsArgs = {\n auto_approve_new_accounts: boolean;\n auditor_elgamal_pubkey: Option<Array<number>>;\n};\n\nexport function getConfidentialTransferMintParamsEncoder(): Encoder<ConfidentialTransferMintParamsArgs> {\n return getStructEncoder([\n [\"auto_approve_new_accounts\", getBooleanEncoder()],\n [\"auditor_elgamal_pubkey\", getOptionEncoder(fixEncoderSize(getArrayEncoder(getU8Encoder()), 32))]\n ]);\n}\n\nexport function getConfidentialTransferMintParamsDecoder(): Decoder<ConfidentialTransferMintParams> {\n return getStructDecoder([\n [\"auto_approve_new_accounts\", getBooleanDecoder()],\n [\"auditor_elgamal_pubkey\", getOptionDecoder(fixDecoderSize(getArrayDecoder(getU8Decoder()), 32))]\n ]);\n}\n\nexport function getConfidentialTransferMintParamsCodec(): Codec<ConfidentialTransferMintParamsArgs, ConfidentialTransferMintParams> {\n return combineCodec(getConfidentialTransferMintParamsEncoder(), getConfidentialTransferMintParamsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getI16Encoder,\n getI16Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getAccountStateEncoder,\n getAccountStateDecoder,\n type AccountState,\n type AccountStateArgs\n} from \".\";\n\nexport type CreateToken2022MintParams = {\n decimals: number;\n freeze_authority: Option<Address>;\n enable_transfer_fee: boolean;\n enable_confidential_transfers: boolean;\n enable_interest_bearing: boolean;\n transfer_fee_basis_points: Option<number>;\n maximum_fee: Option<bigint>;\n transfer_fee_authority: Option<Address>;\n withdraw_withheld_authority: Option<Address>;\n auto_approve_new_accounts: Option<boolean>;\n auditor_elgamal_pubkey: Option<Array<number>>;\n interest_rate: Option<number>;\n rate_authority: Option<Address>;\n close_authority: Option<Address>;\n default_account_state: Option<AccountState>;\n};\n\nexport type CreateToken2022MintParamsArgs = {\n decimals: number;\n freeze_authority: Option<Address>;\n enable_transfer_fee: boolean;\n enable_confidential_transfers: boolean;\n enable_interest_bearing: boolean;\n transfer_fee_basis_points: Option<number>;\n maximum_fee: Option<number | bigint>;\n transfer_fee_authority: Option<Address>;\n withdraw_withheld_authority: Option<Address>;\n auto_approve_new_accounts: Option<boolean>;\n auditor_elgamal_pubkey: Option<Array<number>>;\n interest_rate: Option<number>;\n rate_authority: Option<Address>;\n close_authority: Option<Address>;\n default_account_state: Option<AccountStateArgs>;\n};\n\nexport function getCreateToken2022MintParamsEncoder(): Encoder<CreateToken2022MintParamsArgs> {\n return getStructEncoder([\n [\"decimals\", getU8Encoder()],\n [\"freeze_authority\", getOptionEncoder(getAddressEncoder())],\n [\"enable_transfer_fee\", getBooleanEncoder()],\n [\"enable_confidential_transfers\", getBooleanEncoder()],\n [\"enable_interest_bearing\", getBooleanEncoder()],\n [\"transfer_fee_basis_points\", getOptionEncoder(getU16Encoder())],\n [\"maximum_fee\", getOptionEncoder(getU64Encoder())],\n [\"transfer_fee_authority\", getOptionEncoder(getAddressEncoder())],\n [\"withdraw_withheld_authority\", getOptionEncoder(getAddressEncoder())],\n [\"auto_approve_new_accounts\", getOptionEncoder(getBooleanEncoder())],\n [\"auditor_elgamal_pubkey\", getOptionEncoder(fixEncoderSize(getArrayEncoder(getU8Encoder()), 32))],\n [\"interest_rate\", getOptionEncoder(getI16Encoder())],\n [\"rate_authority\", getOptionEncoder(getAddressEncoder())],\n [\"close_authority\", getOptionEncoder(getAddressEncoder())],\n [\"default_account_state\", getOptionEncoder(getAccountStateEncoder())]\n ]);\n}\n\nexport function getCreateToken2022MintParamsDecoder(): Decoder<CreateToken2022MintParams> {\n return getStructDecoder([\n [\"decimals\", getU8Decoder()],\n [\"freeze_authority\", getOptionDecoder(getAddressDecoder())],\n [\"enable_transfer_fee\", getBooleanDecoder()],\n [\"enable_confidential_transfers\", getBooleanDecoder()],\n [\"enable_interest_bearing\", getBooleanDecoder()],\n [\"transfer_fee_basis_points\", getOptionDecoder(getU16Decoder())],\n [\"maximum_fee\", getOptionDecoder(getU64Decoder())],\n [\"transfer_fee_authority\", getOptionDecoder(getAddressDecoder())],\n [\"withdraw_withheld_authority\", getOptionDecoder(getAddressDecoder())],\n [\"auto_approve_new_accounts\", getOptionDecoder(getBooleanDecoder())],\n [\"auditor_elgamal_pubkey\", getOptionDecoder(fixDecoderSize(getArrayDecoder(getU8Decoder()), 32))],\n [\"interest_rate\", getOptionDecoder(getI16Decoder())],\n [\"rate_authority\", getOptionDecoder(getAddressDecoder())],\n [\"close_authority\", getOptionDecoder(getAddressDecoder())],\n [\"default_account_state\", getOptionDecoder(getAccountStateDecoder())]\n ]);\n}\n\nexport function getCreateToken2022MintParamsCodec(): Codec<CreateToken2022MintParamsArgs, CreateToken2022MintParams> {\n return combineCodec(getCreateToken2022MintParamsEncoder(), getCreateToken2022MintParamsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getI32Encoder,\n getI32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type DemandMetrics = {\n current_demand: bigint;\n peak_demand: bigint;\n average_demand: bigint;\n demand_trend: number;\n demand_volatility: number;\n last_updated: bigint;\n};\n\nexport type DemandMetricsArgs = {\n current_demand: number | bigint;\n peak_demand: number | bigint;\n average_demand: number | bigint;\n demand_trend: number;\n demand_volatility: number;\n last_updated: number | bigint;\n};\n\nexport function getDemandMetricsEncoder(): Encoder<DemandMetricsArgs> {\n return getStructEncoder([\n [\"current_demand\", getU64Encoder()],\n [\"peak_demand\", getU64Encoder()],\n [\"average_demand\", getU64Encoder()],\n [\"demand_trend\", getI32Encoder()],\n [\"demand_volatility\", getU32Encoder()],\n [\"last_updated\", getI64Encoder()]\n ]);\n}\n\nexport function getDemandMetricsDecoder(): Decoder<DemandMetrics> {\n return getStructDecoder([\n [\"current_demand\", getU64Decoder()],\n [\"peak_demand\", getU64Decoder()],\n [\"average_demand\", getU64Decoder()],\n [\"demand_trend\", getI32Decoder()],\n [\"demand_volatility\", getU32Decoder()],\n [\"last_updated\", getI64Decoder()]\n ]);\n}\n\nexport function getDemandMetricsCodec(): Codec<DemandMetricsArgs, DemandMetrics> {\n return combineCodec(getDemandMetricsEncoder(), getDemandMetricsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getI16Encoder,\n getI16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type InterestBearingConfigParams = {\n rate: number;\n};\n\nexport type InterestBearingConfigParamsArgs = {\n rate: number;\n};\n\nexport function getInterestBearingConfigParamsEncoder(): Encoder<InterestBearingConfigParamsArgs> {\n return getStructEncoder([\n [\"rate\", getI16Encoder()]\n ]);\n}\n\nexport function getInterestBearingConfigParamsDecoder(): Decoder<InterestBearingConfigParams> {\n return getStructDecoder([\n [\"rate\", getI16Decoder()]\n ]);\n}\n\nexport function getInterestBearingConfigParamsCodec(): Codec<InterestBearingConfigParamsArgs, InterestBearingConfigParams> {\n return combineCodec(getInterestBearingConfigParamsEncoder(), getInterestBearingConfigParamsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type JobApplicationData = {\n cover_letter: string;\n proposed_price: bigint;\n estimated_duration: number;\n proposed_rate: bigint;\n estimated_delivery: bigint;\n portfolio_items: Array<string>;\n};\n\nexport type JobApplicationDataArgs = {\n cover_letter: string;\n proposed_price: number | bigint;\n estimated_duration: number;\n proposed_rate: number | bigint;\n estimated_delivery: number | bigint;\n portfolio_items: Array<string>;\n};\n\nexport function getJobApplicationDataEncoder(): Encoder<JobApplicationDataArgs> {\n return getStructEncoder([\n [\"cover_letter\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"proposed_price\", getU64Encoder()],\n [\"estimated_duration\", getU32Encoder()],\n [\"proposed_rate\", getU64Encoder()],\n [\"estimated_delivery\", getI64Encoder()],\n [\"portfolio_items\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getJobApplicationDataDecoder(): Decoder<JobApplicationData> {\n return getStructDecoder([\n [\"cover_letter\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"proposed_price\", getU64Decoder()],\n [\"estimated_duration\", getU32Decoder()],\n [\"proposed_rate\", getU64Decoder()],\n [\"estimated_delivery\", getI64Decoder()],\n [\"portfolio_items\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getJobApplicationDataCodec(): Codec<JobApplicationDataArgs, JobApplicationData> {\n return combineCodec(getJobApplicationDataEncoder(), getJobApplicationDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type JobPostingData = {\n title: string;\n description: string;\n requirements: Array<string>;\n budget: bigint;\n deadline: bigint;\n skills_needed: Array<string>;\n budget_min: bigint;\n budget_max: bigint;\n payment_token: Address;\n job_type: string;\n experience_level: string;\n};\n\nexport type JobPostingDataArgs = {\n title: string;\n description: string;\n requirements: Array<string>;\n budget: number | bigint;\n deadline: number | bigint;\n skills_needed: Array<string>;\n budget_min: number | bigint;\n budget_max: number | bigint;\n payment_token: Address;\n job_type: string;\n experience_level: string;\n};\n\nexport function getJobPostingDataEncoder(): Encoder<JobPostingDataArgs> {\n return getStructEncoder([\n [\"title\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"requirements\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"budget\", getU64Encoder()],\n [\"deadline\", getI64Encoder()],\n [\"skills_needed\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"budget_min\", getU64Encoder()],\n [\"budget_max\", getU64Encoder()],\n [\"payment_token\", getAddressEncoder()],\n [\"job_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"experience_level\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]\n ]);\n}\n\nexport function getJobPostingDataDecoder(): Decoder<JobPostingData> {\n return getStructDecoder([\n [\"title\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"requirements\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"budget\", getU64Decoder()],\n [\"deadline\", getI64Decoder()],\n [\"skills_needed\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"budget_min\", getU64Decoder()],\n [\"budget_max\", getU64Decoder()],\n [\"payment_token\", getAddressDecoder()],\n [\"job_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"experience_level\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]\n ]);\n}\n\nexport function getJobPostingDataCodec(): Codec<JobPostingDataArgs, JobPostingData> {\n return combineCodec(getJobPostingDataEncoder(), getJobPostingDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getMessageTypeEncoder,\n getMessageTypeDecoder,\n type MessageType,\n type MessageTypeArgs\n} from \".\";\n\nexport type MessageData = {\n content: string;\n message_type: MessageType;\n is_encrypted: boolean;\n};\n\nexport type MessageDataArgs = {\n content: string;\n message_type: MessageTypeArgs;\n is_encrypted: boolean;\n};\n\nexport function getMessageDataEncoder(): Encoder<MessageDataArgs> {\n return getStructEncoder([\n [\"content\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"message_type\", getMessageTypeEncoder()],\n [\"is_encrypted\", getBooleanEncoder()]\n ]);\n}\n\nexport function getMessageDataDecoder(): Decoder<MessageData> {\n return getStructDecoder([\n [\"content\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"message_type\", getMessageTypeDecoder()],\n [\"is_encrypted\", getBooleanDecoder()]\n ]);\n}\n\nexport function getMessageDataCodec(): Codec<MessageDataArgs, MessageData> {\n return combineCodec(getMessageDataEncoder(), getMessageDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getParticipantTypeEncoder,\n getParticipantTypeDecoder,\n type ParticipantType,\n type ParticipantTypeArgs\n} from \".\";\n\nexport type ParticipantStatusData = {\n participant: Address;\n participant_type: ParticipantType;\n services_offered: Array<string>;\n availability: boolean;\n reputation_score: number;\n};\n\nexport type ParticipantStatusDataArgs = {\n participant: Address;\n participant_type: ParticipantTypeArgs;\n services_offered: Array<string>;\n availability: boolean;\n reputation_score: number;\n};\n\nexport function getParticipantStatusDataEncoder(): Encoder<ParticipantStatusDataArgs> {\n return getStructEncoder([\n [\"participant\", getAddressEncoder()],\n [\"participant_type\", getParticipantTypeEncoder()],\n [\"services_offered\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"availability\", getBooleanEncoder()],\n [\"reputation_score\", getU8Encoder()]\n ]);\n}\n\nexport function getParticipantStatusDataDecoder(): Decoder<ParticipantStatusData> {\n return getStructDecoder([\n [\"participant\", getAddressDecoder()],\n [\"participant_type\", getParticipantTypeDecoder()],\n [\"services_offered\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"availability\", getBooleanDecoder()],\n [\"reputation_score\", getU8Decoder()]\n ]);\n}\n\nexport function getParticipantStatusDataCodec(): Codec<ParticipantStatusDataArgs, ParticipantStatusData> {\n return combineCodec(getParticipantStatusDataEncoder(), getParticipantStatusDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ReplicationTemplateData = {\n genome_hash: string;\n base_capabilities: Array<string>;\n replication_fee: bigint;\n max_replications: number;\n};\n\nexport type ReplicationTemplateDataArgs = {\n genome_hash: string;\n base_capabilities: Array<string>;\n replication_fee: number | bigint;\n max_replications: number;\n};\n\nexport function getReplicationTemplateDataEncoder(): Encoder<ReplicationTemplateDataArgs> {\n return getStructEncoder([\n [\"genome_hash\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"base_capabilities\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"replication_fee\", getU64Encoder()],\n [\"max_replications\", getU32Encoder()]\n ]);\n}\n\nexport function getReplicationTemplateDataDecoder(): Decoder<ReplicationTemplateData> {\n return getStructDecoder([\n [\"genome_hash\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"base_capabilities\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"replication_fee\", getU64Decoder()],\n [\"max_replications\", getU32Decoder()]\n ]);\n}\n\nexport function getReplicationTemplateDataCodec(): Codec<ReplicationTemplateDataArgs, ReplicationTemplateData> {\n return combineCodec(getReplicationTemplateDataEncoder(), getReplicationTemplateDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ServiceListingData = {\n title: string;\n description: string;\n price: bigint;\n token_mint: Address;\n service_type: string;\n payment_token: Address;\n estimated_delivery: bigint;\n tags: Array<string>;\n};\n\nexport type ServiceListingDataArgs = {\n title: string;\n description: string;\n price: number | bigint;\n token_mint: Address;\n service_type: string;\n payment_token: Address;\n estimated_delivery: number | bigint;\n tags: Array<string>;\n};\n\nexport function getServiceListingDataEncoder(): Encoder<ServiceListingDataArgs> {\n return getStructEncoder([\n [\"title\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"price\", getU64Encoder()],\n [\"token_mint\", getAddressEncoder()],\n [\"service_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"payment_token\", getAddressEncoder()],\n [\"estimated_delivery\", getI64Encoder()],\n [\"tags\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getServiceListingDataDecoder(): Decoder<ServiceListingData> {\n return getStructDecoder([\n [\"title\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"price\", getU64Decoder()],\n [\"token_mint\", getAddressDecoder()],\n [\"service_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"payment_token\", getAddressDecoder()],\n [\"estimated_delivery\", getI64Decoder()],\n [\"tags\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getServiceListingDataCodec(): Codec<ServiceListingDataArgs, ServiceListingData> {\n return combineCodec(getServiceListingDataEncoder(), getServiceListingDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ServicePurchaseData = {\n listing_id: bigint;\n quantity: number;\n requirements: Array<string>;\n custom_instructions: string;\n deadline: bigint;\n};\n\nexport type ServicePurchaseDataArgs = {\n listing_id: number | bigint;\n quantity: number;\n requirements: Array<string>;\n custom_instructions: string;\n deadline: number | bigint;\n};\n\nexport function getServicePurchaseDataEncoder(): Encoder<ServicePurchaseDataArgs> {\n return getStructEncoder([\n [\"listing_id\", getU64Encoder()],\n [\"quantity\", getU32Encoder()],\n [\"requirements\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"custom_instructions\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"deadline\", getI64Encoder()]\n ]);\n}\n\nexport function getServicePurchaseDataDecoder(): Decoder<ServicePurchaseData> {\n return getStructDecoder([\n [\"listing_id\", getU64Decoder()],\n [\"quantity\", getU32Decoder()],\n [\"requirements\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"custom_instructions\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"deadline\", getI64Decoder()]\n ]);\n}\n\nexport function getServicePurchaseDataCodec(): Codec<ServicePurchaseDataArgs, ServicePurchaseData> {\n return combineCodec(getServicePurchaseDataEncoder(), getServicePurchaseDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type TransferFeeConfigParams = {\n transfer_fee_basis_points: number;\n maximum_fee: bigint;\n transfer_fee_authority: Option<Address>;\n withdraw_withheld_authority: Option<Address>;\n};\n\nexport type TransferFeeConfigParamsArgs = {\n transfer_fee_basis_points: number;\n maximum_fee: number | bigint;\n transfer_fee_authority: Option<Address>;\n withdraw_withheld_authority: Option<Address>;\n};\n\nexport function getTransferFeeConfigParamsEncoder(): Encoder<TransferFeeConfigParamsArgs> {\n return getStructEncoder([\n [\"transfer_fee_basis_points\", getU16Encoder()],\n [\"maximum_fee\", getU64Encoder()],\n [\"transfer_fee_authority\", getOptionEncoder(getAddressEncoder())],\n [\"withdraw_withheld_authority\", getOptionEncoder(getAddressEncoder())]\n ]);\n}\n\nexport function getTransferFeeConfigParamsDecoder(): Decoder<TransferFeeConfigParams> {\n return getStructDecoder([\n [\"transfer_fee_basis_points\", getU16Decoder()],\n [\"maximum_fee\", getU64Decoder()],\n [\"transfer_fee_authority\", getOptionDecoder(getAddressDecoder())],\n [\"withdraw_withheld_authority\", getOptionDecoder(getAddressDecoder())]\n ]);\n}\n\nexport function getTransferFeeConfigParamsCodec(): Codec<TransferFeeConfigParamsArgs, TransferFeeConfigParams> {\n return combineCodec(getTransferFeeConfigParamsEncoder(), getTransferFeeConfigParamsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getDeliverableEncoder,\n getDeliverableDecoder,\n type Deliverable,\n type DeliverableArgs\n} from \".\";\n\nexport type WorkDeliveryData = {\n deliverables: Array<Deliverable>;\n ipfs_hash: string;\n metadata_uri: string;\n};\n\nexport type WorkDeliveryDataArgs = {\n deliverables: Array<DeliverableArgs>;\n ipfs_hash: string;\n metadata_uri: string;\n};\n\nexport function getWorkDeliveryDataEncoder(): Encoder<WorkDeliveryDataArgs> {\n return getStructEncoder([\n [\"deliverables\", getArrayEncoder(getDeliverableEncoder())],\n [\"ipfs_hash\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"metadata_uri\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]\n ]);\n}\n\nexport function getWorkDeliveryDataDecoder(): Decoder<WorkDeliveryData> {\n return getStructDecoder([\n [\"deliverables\", getArrayDecoder(getDeliverableDecoder())],\n [\"ipfs_hash\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"metadata_uri\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]\n ]);\n}\n\nexport function getWorkDeliveryDataCodec(): Codec<WorkDeliveryDataArgs, WorkDeliveryData> {\n return combineCodec(getWorkDeliveryDataEncoder(), getWorkDeliveryDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type WorkOrderData = {\n order_id: bigint;\n provider: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n payment_amount: bigint;\n payment_token: Address;\n deadline: bigint;\n};\n\nexport type WorkOrderDataArgs = {\n order_id: number | bigint;\n provider: Address;\n title: string;\n description: string;\n requirements: Array<string>;\n payment_amount: number | bigint;\n payment_token: Address;\n deadline: number | bigint;\n};\n\nexport function getWorkOrderDataEncoder(): Encoder<WorkOrderDataArgs> {\n return getStructEncoder([\n [\"order_id\", getU64Encoder()],\n [\"provider\", getAddressEncoder()],\n [\"title\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"requirements\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"payment_amount\", getU64Encoder()],\n [\"payment_token\", getAddressEncoder()],\n [\"deadline\", getI64Encoder()]\n ]);\n}\n\nexport function getWorkOrderDataDecoder(): Decoder<WorkOrderData> {\n return getStructDecoder([\n [\"order_id\", getU64Decoder()],\n [\"provider\", getAddressDecoder()],\n [\"title\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"requirements\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"payment_amount\", getU64Decoder()],\n [\"payment_token\", getAddressDecoder()],\n [\"deadline\", getI64Decoder()]\n ]);\n}\n\nexport function getWorkOrderDataCodec(): Codec<WorkOrderDataArgs, WorkOrderData> {\n return combineCodec(getWorkOrderDataEncoder(), getWorkOrderDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type X402ConfigData = {\n enabled: boolean;\n payment_address: Address;\n accepted_tokens: Array<Address>;\n price_per_call: bigint;\n service_endpoint: string;\n};\n\nexport type X402ConfigDataArgs = {\n enabled: boolean;\n payment_address: Address;\n accepted_tokens: Array<Address>;\n price_per_call: number | bigint;\n service_endpoint: string;\n};\n\nexport function getX402ConfigDataEncoder(): Encoder<X402ConfigDataArgs> {\n return getStructEncoder([\n [\"enabled\", getBooleanEncoder()],\n [\"payment_address\", getAddressEncoder()],\n [\"accepted_tokens\", getArrayEncoder(getAddressEncoder())],\n [\"price_per_call\", getU64Encoder()],\n [\"service_endpoint\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]\n ]);\n}\n\nexport function getX402ConfigDataDecoder(): Decoder<X402ConfigData> {\n return getStructDecoder([\n [\"enabled\", getBooleanDecoder()],\n [\"payment_address\", getAddressDecoder()],\n [\"accepted_tokens\", getArrayDecoder(getAddressDecoder())],\n [\"price_per_call\", getU64Decoder()],\n [\"service_endpoint\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]\n ]);\n}\n\nexport function getX402ConfigDataCodec(): Codec<X402ConfigDataArgs, X402ConfigData> {\n return combineCodec(getX402ConfigDataEncoder(), getX402ConfigDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type X402PaymentData = {\n amount: bigint;\n token_mint: Address;\n transaction_signature: string;\n response_time_ms: bigint;\n};\n\nexport type X402PaymentDataArgs = {\n amount: number | bigint;\n token_mint: Address;\n transaction_signature: string;\n response_time_ms: number | bigint;\n};\n\nexport function getX402PaymentDataEncoder(): Encoder<X402PaymentDataArgs> {\n return getStructEncoder([\n [\"amount\", getU64Encoder()],\n [\"token_mint\", getAddressEncoder()],\n [\"transaction_signature\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"response_time_ms\", getU64Encoder()]\n ]);\n}\n\nexport function getX402PaymentDataDecoder(): Decoder<X402PaymentData> {\n return getStructDecoder([\n [\"amount\", getU64Decoder()],\n [\"token_mint\", getAddressDecoder()],\n [\"transaction_signature\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"response_time_ms\", getU64Decoder()]\n ]);\n}\n\nexport function getX402PaymentDataCodec(): Codec<X402PaymentDataArgs, X402PaymentData> {\n return combineCodec(getX402PaymentDataEncoder(), getX402PaymentDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type X402RatingData = {\n rating: number;\n transaction_signature: string;\n feedback: Option<string>;\n};\n\nexport type X402RatingDataArgs = {\n rating: number;\n transaction_signature: string;\n feedback: Option<string>;\n};\n\nexport function getX402RatingDataEncoder(): Encoder<X402RatingDataArgs> {\n return getStructEncoder([\n [\"rating\", getU8Encoder()],\n [\"transaction_signature\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"feedback\", getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getX402RatingDataDecoder(): Decoder<X402RatingData> {\n return getStructDecoder([\n [\"rating\", getU8Decoder()],\n [\"transaction_signature\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"feedback\", getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getX402RatingDataCodec(): Codec<X402RatingDataArgs, X402RatingData> {\n return combineCodec(getX402RatingDataEncoder(), getX402RatingDataDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getActionTypeEncoder,\n getActionTypeDecoder,\n type ActionType,\n type ActionTypeArgs,\n getPermissionScopeEncoder,\n getPermissionScopeDecoder,\n type PermissionScope,\n type PermissionScopeArgs,\n getActionConstraintEncoder,\n getActionConstraintDecoder,\n type ActionConstraint,\n type ActionConstraintArgs,\n getPermissionMetadataEncoder,\n getPermissionMetadataDecoder,\n type PermissionMetadata,\n type PermissionMetadataArgs\n} from \".\";\n\nexport type Action = {\n id: string;\n name: string;\n description: string;\n resource_type: string;\n actions: Array<ActionType>;\n scope: PermissionScope;\n constraints: Array<ActionConstraint>;\n metadata: PermissionMetadata;\n};\n\nexport type ActionArgs = {\n id: string;\n name: string;\n description: string;\n resource_type: string;\n actions: Array<ActionTypeArgs>;\n scope: PermissionScopeArgs;\n constraints: Array<ActionConstraintArgs>;\n metadata: PermissionMetadataArgs;\n};\n\nexport function getActionEncoder(): Encoder<ActionArgs> {\n return getStructEncoder([\n [\"id\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"resource_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"actions\", getArrayEncoder(getActionTypeEncoder())],\n [\"scope\", getPermissionScopeEncoder()],\n [\"constraints\", getArrayEncoder(getActionConstraintEncoder())],\n [\"metadata\", getPermissionMetadataEncoder()]\n ]);\n}\n\nexport function getActionDecoder(): Decoder<Action> {\n return getStructDecoder([\n [\"id\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"resource_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"actions\", getArrayDecoder(getActionTypeDecoder())],\n [\"scope\", getPermissionScopeDecoder()],\n [\"constraints\", getArrayDecoder(getActionConstraintDecoder())],\n [\"metadata\", getPermissionMetadataDecoder()]\n ]);\n}\n\nexport function getActionCodec(): Codec<ActionArgs, Action> {\n return combineCodec(getActionEncoder(), getActionDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getTransactionTypeEncoder,\n getTransactionTypeDecoder,\n type TransactionType,\n type TransactionTypeArgs\n} from \".\";\n\nexport type MultisigConfig = {\n max_signers: number;\n default_timeout: bigint;\n allow_emergency_override: boolean;\n emergency_threshold: Option<number>;\n auto_execute: boolean;\n signer_change_threshold: number;\n allowed_transaction_types: Array<TransactionType>;\n daily_limits: Array<readonly [string, bigint]>;\n};\n\nexport type MultisigConfigArgs = {\n max_signers: number;\n default_timeout: number | bigint;\n allow_emergency_override: boolean;\n emergency_threshold: Option<number>;\n auto_execute: boolean;\n signer_change_threshold: number;\n allowed_transaction_types: Array<TransactionTypeArgs>;\n daily_limits: Array<readonly [string, number | bigint]>;\n};\n\nexport function getMultisigConfigEncoder(): Encoder<MultisigConfigArgs> {\n return getStructEncoder([\n [\"max_signers\", getU8Encoder()],\n [\"default_timeout\", getI64Encoder()],\n [\"allow_emergency_override\", getBooleanEncoder()],\n [\"emergency_threshold\", getOptionEncoder(getU8Encoder())],\n [\"auto_execute\", getBooleanEncoder()],\n [\"signer_change_threshold\", getU8Encoder()],\n [\"allowed_transaction_types\", getArrayEncoder(getTransactionTypeEncoder())],\n [\"daily_limits\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getU64Encoder()]))]\n ]);\n}\n\nexport function getMultisigConfigDecoder(): Decoder<MultisigConfig> {\n return getStructDecoder([\n [\"max_signers\", getU8Decoder()],\n [\"default_timeout\", getI64Decoder()],\n [\"allow_emergency_override\", getBooleanDecoder()],\n [\"emergency_threshold\", getOptionDecoder(getU8Decoder())],\n [\"auto_execute\", getBooleanDecoder()],\n [\"signer_change_threshold\", getU8Decoder()],\n [\"allowed_transaction_types\", getArrayDecoder(getTransactionTypeDecoder())],\n [\"daily_limits\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getU64Decoder()]))]\n ]);\n}\n\nexport function getMultisigConfigCodec(): Codec<MultisigConfigArgs, MultisigConfig> {\n return combineCodec(getMultisigConfigEncoder(), getMultisigConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getTransactionTypeEncoder,\n getTransactionTypeDecoder,\n type TransactionType,\n type TransactionTypeArgs\n} from \".\";\n\nexport type GhostMultisigConfig = {\n max_signers: number;\n default_timeout: bigint;\n allow_emergency_override: boolean;\n emergency_threshold: Option<number>;\n auto_execute: boolean;\n signer_change_threshold: number;\n allowed_transaction_types: Array<TransactionType>;\n daily_limits: Array<readonly [string, bigint]>;\n};\n\nexport type GhostMultisigConfigArgs = {\n max_signers: number;\n default_timeout: number | bigint;\n allow_emergency_override: boolean;\n emergency_threshold: Option<number>;\n auto_execute: boolean;\n signer_change_threshold: number;\n allowed_transaction_types: Array<TransactionTypeArgs>;\n daily_limits: Array<readonly [string, number | bigint]>;\n};\n\nexport function getGhostMultisigConfigEncoder(): Encoder<GhostMultisigConfigArgs> {\n return getStructEncoder([\n [\"max_signers\", getU8Encoder()],\n [\"default_timeout\", getI64Encoder()],\n [\"allow_emergency_override\", getBooleanEncoder()],\n [\"emergency_threshold\", getOptionEncoder(getU8Encoder())],\n [\"auto_execute\", getBooleanEncoder()],\n [\"signer_change_threshold\", getU8Encoder()],\n [\"allowed_transaction_types\", getArrayEncoder(getTransactionTypeEncoder())],\n [\"daily_limits\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getU64Encoder()]))]\n ]);\n}\n\nexport function getGhostMultisigConfigDecoder(): Decoder<GhostMultisigConfig> {\n return getStructDecoder([\n [\"max_signers\", getU8Decoder()],\n [\"default_timeout\", getI64Decoder()],\n [\"allow_emergency_override\", getBooleanDecoder()],\n [\"emergency_threshold\", getOptionDecoder(getU8Decoder())],\n [\"auto_execute\", getBooleanDecoder()],\n [\"signer_change_threshold\", getU8Decoder()],\n [\"allowed_transaction_types\", getArrayDecoder(getTransactionTypeDecoder())],\n [\"daily_limits\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getU64Decoder()]))]\n ]);\n}\n\nexport function getGhostMultisigConfigCodec(): Codec<GhostMultisigConfigArgs, GhostMultisigConfig> {\n return combineCodec(getGhostMultisigConfigEncoder(), getGhostMultisigConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getComplianceViolationEncoder,\n getComplianceViolationDecoder,\n type ComplianceViolation,\n type ComplianceViolationArgs,\n getRiskAssessmentEncoder,\n getRiskAssessmentDecoder,\n type RiskAssessment,\n type RiskAssessmentArgs,\n getRegulatoryStatusEncoder,\n getRegulatoryStatusDecoder,\n type RegulatoryStatus,\n type RegulatoryStatusArgs\n} from \".\";\n\nexport type ComplianceStatus = {\n compliance_score: number;\n last_review: bigint;\n next_review: bigint;\n active_violations: Array<ComplianceViolation>;\n regulatory_status: Array<readonly [string, RegulatoryStatus]>;\n risk_assessment: RiskAssessment;\n compliance_officers: Array<Address>;\n};\n\nexport type ComplianceStatusArgs = {\n compliance_score: number;\n last_review: number | bigint;\n next_review: number | bigint;\n active_violations: Array<ComplianceViolationArgs>;\n regulatory_status: Array<readonly [string, RegulatoryStatusArgs]>;\n risk_assessment: RiskAssessmentArgs;\n compliance_officers: Array<Address>;\n};\n\nexport function getComplianceStatusEncoder(): Encoder<ComplianceStatusArgs> {\n return getStructEncoder([\n [\"compliance_score\", getU8Encoder()],\n [\"last_review\", getI64Encoder()],\n [\"next_review\", getI64Encoder()],\n [\"active_violations\", getArrayEncoder(getComplianceViolationEncoder())],\n [\"regulatory_status\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getRegulatoryStatusEncoder()]))],\n [\"risk_assessment\", getRiskAssessmentEncoder()],\n [\"compliance_officers\", getArrayEncoder(getAddressEncoder())]\n ]);\n}\n\nexport function getComplianceStatusDecoder(): Decoder<ComplianceStatus> {\n return getStructDecoder([\n [\"compliance_score\", getU8Decoder()],\n [\"last_review\", getI64Decoder()],\n [\"next_review\", getI64Decoder()],\n [\"active_violations\", getArrayDecoder(getComplianceViolationDecoder())],\n [\"regulatory_status\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getRegulatoryStatusDecoder()]))],\n [\"risk_assessment\", getRiskAssessmentDecoder()],\n [\"compliance_officers\", getArrayDecoder(getAddressDecoder())]\n ]);\n}\n\nexport function getComplianceStatusCodec(): Codec<ComplianceStatusArgs, ComplianceStatus> {\n return combineCodec(getComplianceStatusEncoder(), getComplianceStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getPricingAlgorithmEncoder,\n getPricingAlgorithmDecoder,\n type PricingAlgorithm,\n type PricingAlgorithmArgs\n} from \".\";\n\nexport type DynamicPricingConfig = {\n algorithm: PricingAlgorithm;\n base_price: bigint;\n min_price: bigint;\n max_price: bigint;\n price_range: readonly [bigint, bigint];\n adjustment_frequency: bigint;\n update_frequency: bigint;\n volatility_threshold: number;\n demand_elasticity: number;\n supply_elasticity: number;\n demand_multiplier: number;\n reputation_multiplier: number;\n surge_multiplier: number;\n last_update: bigint;\n enabled: boolean;\n};\n\nexport type DynamicPricingConfigArgs = {\n algorithm: PricingAlgorithmArgs;\n base_price: number | bigint;\n min_price: number | bigint;\n max_price: number | bigint;\n price_range: readonly [number | bigint, number | bigint];\n adjustment_frequency: number | bigint;\n update_frequency: number | bigint;\n volatility_threshold: number;\n demand_elasticity: number;\n supply_elasticity: number;\n demand_multiplier: number;\n reputation_multiplier: number;\n surge_multiplier: number;\n last_update: number | bigint;\n enabled: boolean;\n};\n\nexport function getDynamicPricingConfigEncoder(): Encoder<DynamicPricingConfigArgs> {\n return getStructEncoder([\n [\"algorithm\", getPricingAlgorithmEncoder()],\n [\"base_price\", getU64Encoder()],\n [\"min_price\", getU64Encoder()],\n [\"max_price\", getU64Encoder()],\n [\"price_range\", getTupleEncoder([getU64Encoder(), getU64Encoder()])],\n [\"adjustment_frequency\", getI64Encoder()],\n [\"update_frequency\", getI64Encoder()],\n [\"volatility_threshold\", getU32Encoder()],\n [\"demand_elasticity\", getU32Encoder()],\n [\"supply_elasticity\", getU32Encoder()],\n [\"demand_multiplier\", getU32Encoder()],\n [\"reputation_multiplier\", getU32Encoder()],\n [\"surge_multiplier\", getU32Encoder()],\n [\"last_update\", getI64Encoder()],\n [\"enabled\", getBooleanEncoder()]\n ]);\n}\n\nexport function getDynamicPricingConfigDecoder(): Decoder<DynamicPricingConfig> {\n return getStructDecoder([\n [\"algorithm\", getPricingAlgorithmDecoder()],\n [\"base_price\", getU64Decoder()],\n [\"min_price\", getU64Decoder()],\n [\"max_price\", getU64Decoder()],\n [\"price_range\", getTupleDecoder([getU64Decoder(), getU64Decoder()])],\n [\"adjustment_frequency\", getI64Decoder()],\n [\"update_frequency\", getI64Decoder()],\n [\"volatility_threshold\", getU32Decoder()],\n [\"demand_elasticity\", getU32Decoder()],\n [\"supply_elasticity\", getU32Decoder()],\n [\"demand_multiplier\", getU32Decoder()],\n [\"reputation_multiplier\", getU32Decoder()],\n [\"surge_multiplier\", getU32Decoder()],\n [\"last_update\", getI64Decoder()],\n [\"enabled\", getBooleanDecoder()]\n ]);\n}\n\nexport function getDynamicPricingConfigCodec(): Codec<DynamicPricingConfigArgs, DynamicPricingConfig> {\n return combineCodec(getDynamicPricingConfigEncoder(), getDynamicPricingConfigDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getComplianceFlagsEncoder,\n getComplianceFlagsDecoder,\n type ComplianceFlags,\n type ComplianceFlagsArgs\n} from \".\";\n\nexport type ReportEntry = {\n timestamp: bigint;\n event_id: string;\n entry_type: string;\n amount: Option<bigint>;\n parties: Array<Address>;\n risk_score: number;\n compliance_flags: ComplianceFlags;\n metadata: Array<readonly [string, string]>;\n};\n\nexport type ReportEntryArgs = {\n timestamp: number | bigint;\n event_id: string;\n entry_type: string;\n amount: Option<number | bigint>;\n parties: Array<Address>;\n risk_score: number;\n compliance_flags: ComplianceFlagsArgs;\n metadata: Array<readonly [string, string]>;\n};\n\nexport function getReportEntryEncoder(): Encoder<ReportEntryArgs> {\n return getStructEncoder([\n [\"timestamp\", getI64Encoder()],\n [\"event_id\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"entry_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"amount\", getOptionEncoder(getU64Encoder())],\n [\"parties\", getArrayEncoder(getAddressEncoder())],\n [\"risk_score\", getU8Encoder()],\n [\"compliance_flags\", getComplianceFlagsEncoder()],\n [\"metadata\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))]\n ]);\n}\n\nexport function getReportEntryDecoder(): Decoder<ReportEntry> {\n return getStructDecoder([\n [\"timestamp\", getI64Decoder()],\n [\"event_id\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"entry_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"amount\", getOptionDecoder(getU64Decoder())],\n [\"parties\", getArrayDecoder(getAddressDecoder())],\n [\"risk_score\", getU8Decoder()],\n [\"compliance_flags\", getComplianceFlagsDecoder()],\n [\"metadata\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))]\n ]);\n}\n\nexport function getReportEntryCodec(): Codec<ReportEntryArgs, ReportEntry> {\n return combineCodec(getReportEntryEncoder(), getReportEntryDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getResourceQuotaEncoder,\n getResourceQuotaDecoder,\n type ResourceQuota,\n type ResourceQuotaArgs\n} from \".\";\n\n\n\nexport type ResourceConstraints = {\n allowed_resource_types: Array<string>;\n blocked_resource_types: Array<string>;\n access_limits: Array<readonly [string, bigint]>;\n quotas: Array<readonly [string, ResourceQuota]>;\n compartments: Array<string>;\n};\n\nexport type ResourceConstraintsArgs = {\n allowed_resource_types: Array<string>;\n blocked_resource_types: Array<string>;\n access_limits: Array<readonly [string, number | bigint]>;\n quotas: Array<readonly [string, ResourceQuotaArgs]>;\n compartments: Array<string>;\n};\n\nexport function getResourceConstraintsEncoder(): Encoder<ResourceConstraintsArgs> {\n return getStructEncoder([\n [\"allowed_resource_types\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"blocked_resource_types\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"access_limits\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getU64Encoder()]))],\n [\"quotas\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getResourceQuotaEncoder()]))],\n [\"compartments\", getArrayEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getResourceConstraintsDecoder(): Decoder<ResourceConstraints> {\n return getStructDecoder([\n [\"allowed_resource_types\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"blocked_resource_types\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"access_limits\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getU64Decoder()]))],\n [\"quotas\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getResourceQuotaDecoder()]))],\n [\"compartments\", getArrayDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getResourceConstraintsCodec(): Codec<ResourceConstraintsArgs, ResourceConstraints> {\n return combineCodec(getResourceConstraintsEncoder(), getResourceConstraintsDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getActionTypeEncoder,\n getActionTypeDecoder,\n type ActionType,\n type ActionTypeArgs,\n getPermissionScopeEncoder,\n getPermissionScopeDecoder,\n type PermissionScope,\n type PermissionScopeArgs,\n getActionConstraintEncoder,\n getActionConstraintDecoder,\n type ActionConstraint,\n type ActionConstraintArgs,\n getPermissionMetadataEncoder,\n getPermissionMetadataDecoder,\n type PermissionMetadata,\n type PermissionMetadataArgs\n} from \".\";\n\nexport type GhostAction = {\n id: string;\n name: string;\n description: string;\n resource_type: string;\n actions: Array<ActionType>;\n scope: PermissionScope;\n constraints: Array<ActionConstraint>;\n metadata: PermissionMetadata;\n};\n\nexport type GhostActionArgs = {\n id: string;\n name: string;\n description: string;\n resource_type: string;\n actions: Array<ActionTypeArgs>;\n scope: PermissionScopeArgs;\n constraints: Array<ActionConstraintArgs>;\n metadata: PermissionMetadataArgs;\n};\n\nexport function getGhostActionEncoder(): Encoder<GhostActionArgs> {\n return getStructEncoder([\n [\"id\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"name\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"description\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"resource_type\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"actions\", getArrayEncoder(getActionTypeEncoder())],\n [\"scope\", getPermissionScopeEncoder()],\n [\"constraints\", getArrayEncoder(getActionConstraintEncoder())],\n [\"metadata\", getPermissionMetadataEncoder()]\n ]);\n}\n\nexport function getGhostActionDecoder(): Decoder<GhostAction> {\n return getStructDecoder([\n [\"id\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"name\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"description\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"resource_type\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"actions\", getArrayDecoder(getActionTypeDecoder())],\n [\"scope\", getPermissionScopeDecoder()],\n [\"constraints\", getArrayDecoder(getActionConstraintDecoder())],\n [\"metadata\", getPermissionMetadataDecoder()]\n ]);\n}\n\nexport function getGhostActionCodec(): Codec<GhostActionArgs, GhostAction> {\n return combineCodec(getGhostActionEncoder(), getGhostActionDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type AuditContext = {\n transaction_signature: Option<string>;\n amount: Option<bigint>;\n token: Option<Address>;\n metadata: Array<readonly [string, string]>;\n risk_score: Option<number>;\n location: Option<string>;\n client_info: Option<string>;\n};\n\nexport type AuditContextArgs = {\n transaction_signature: Option<string>;\n amount: Option<number | bigint>;\n token: Option<Address>;\n metadata: Array<readonly [string, string]>;\n risk_score: Option<number>;\n location: Option<string>;\n client_info: Option<string>;\n};\n\nexport function getAuditContextEncoder(): Encoder<AuditContextArgs> {\n return getStructEncoder([\n [\"transaction_signature\", getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"amount\", getOptionEncoder(getU64Encoder())],\n [\"token\", getOptionEncoder(getAddressEncoder())],\n [\"metadata\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))],\n [\"risk_score\", getOptionEncoder(getU32Encoder())],\n [\"location\", getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))],\n [\"client_info\", getOptionEncoder(addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()))]\n ]);\n}\n\nexport function getAuditContextDecoder(): Decoder<AuditContext> {\n return getStructDecoder([\n [\"transaction_signature\", getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"amount\", getOptionDecoder(getU64Decoder())],\n [\"token\", getOptionDecoder(getAddressDecoder())],\n [\"metadata\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))],\n [\"risk_score\", getOptionDecoder(getU32Decoder())],\n [\"location\", getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))],\n [\"client_info\", getOptionDecoder(addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()))]\n ]);\n}\n\nexport function getAuditContextCodec(): Codec<AuditContextArgs, AuditContext> {\n return combineCodec(getAuditContextEncoder(), getAuditContextDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type BiometricQuality = {\n minimum_quality: number;\n assessment_method: string;\n multiple_samples: boolean;\n quality_thresholds: Array<readonly [string, number]>;\n};\n\nexport type BiometricQualityArgs = {\n minimum_quality: number;\n assessment_method: string;\n multiple_samples: boolean;\n quality_thresholds: Array<readonly [string, number]>;\n};\n\nexport function getBiometricQualityEncoder(): Encoder<BiometricQualityArgs> {\n return getStructEncoder([\n [\"minimum_quality\", getU8Encoder()],\n [\"assessment_method\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n [\"multiple_samples\", getBooleanEncoder()],\n [\"quality_thresholds\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), getU8Encoder()]))]\n ]);\n}\n\nexport function getBiometricQualityDecoder(): Decoder<BiometricQuality> {\n return getStructDecoder([\n [\"minimum_quality\", getU8Decoder()],\n [\"assessment_method\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n [\"multiple_samples\", getBooleanDecoder()],\n [\"quality_thresholds\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), getU8Decoder()]))]\n ]);\n}\n\nexport function getBiometricQualityCodec(): Codec<BiometricQualityArgs, BiometricQuality> {\n return combineCodec(getBiometricQualityEncoder(), getBiometricQualityDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type Codec,\n type Decoder,\n type Encoder\n} from \"@solana/kit\";\n\nexport enum ActionType {\n Create,\n Read,\n Update,\n Delete,\n Execute,\n Approve,\n Reject,\n Transfer,\n Lock,\n Unlock,\n Freeze,\n Unfreeze,\n Audit,\n Monitor,\n Configure,\n Deploy,\n Custom,\n}\n\nexport type ActionTypeArgs = ActionType;\n\nexport function getActionTypeEncoder(): Encoder<ActionTypeArgs> {\n return getEnumEncoder(ActionType);\n}\n\nexport function getActionTypeDecoder(): Decoder<ActionType> {\n return getEnumDecoder(ActionType);\n}\n\nexport function getActionTypeCodec(): Codec<ActionTypeArgs, ActionType> {\n return combineCodec(getActionTypeEncoder(), getActionTypeDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ActionConstraint = {\n\n};\n\nexport type ActionConstraintArgs = {\n\n};\n\nexport function getActionConstraintEncoder(): Encoder<ActionConstraintArgs> {\n return getStructEncoder([\n\n ]);\n}\n\nexport function getActionConstraintDecoder(): Decoder<ActionConstraint> {\n return getStructDecoder([\n\n ]);\n}\n\nexport function getActionConstraintCodec(): Codec<ActionConstraintArgs, ActionConstraint> {\n return combineCodec(getActionConstraintEncoder(), getActionConstraintDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type RegulatoryStatus = {\n\n};\n\nexport type RegulatoryStatusArgs = {\n\n};\n\nexport function getRegulatoryStatusEncoder(): Encoder<RegulatoryStatusArgs> {\n return getStructEncoder([\n\n ]);\n}\n\nexport function getRegulatoryStatusDecoder(): Decoder<RegulatoryStatus> {\n return getStructDecoder([\n\n ]);\n}\n\nexport function getRegulatoryStatusCodec(): Codec<RegulatoryStatusArgs, RegulatoryStatus> {\n return combineCodec(getRegulatoryStatusEncoder(), getRegulatoryStatusDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\n\n\nexport type ComplianceViolation = {\n\n};\n\nexport type ComplianceViolationArgs = {\n\n};\n\nexport function getComplianceViolationEncoder(): Encoder<ComplianceViolationArgs> {\n return getStructEncoder([\n\n ]);\n}\n\nexport function getComplianceViolationDecoder(): Decoder<ComplianceViolation> {\n return getStructDecoder([\n\n ]);\n}\n\nexport function getComplianceViolationCodec(): Codec<ComplianceViolationArgs, ComplianceViolation> {\n return combineCodec(getComplianceViolationEncoder(), getComplianceViolationDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getConditionTypeEncoder,\n getConditionTypeDecoder,\n type ConditionType,\n type ConditionTypeArgs\n} from \".\";\n\nexport type RuleCondition = {\n condition_type: ConditionType;\n subject_attributes: Array<readonly [string, string]>;\n resource_attributes: Array<readonly [string, string]>;\n action_attributes: Array<readonly [string, string]>;\n environment_attributes: Array<readonly [string, string]>;\n};\n\nexport type RuleConditionArgs = {\n condition_type: ConditionTypeArgs;\n subject_attributes: Array<readonly [string, string]>;\n resource_attributes: Array<readonly [string, string]>;\n action_attributes: Array<readonly [string, string]>;\n environment_attributes: Array<readonly [string, string]>;\n};\n\nexport function getRuleConditionEncoder(): Encoder<RuleConditionArgs> {\n return getStructEncoder([\n [\"condition_type\", getConditionTypeEncoder()],\n [\"subject_attributes\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))],\n [\"resource_attributes\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))],\n [\"action_attributes\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))],\n [\"environment_attributes\", getArrayEncoder(getTupleEncoder([addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder()), addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())]))]\n ]);\n}\n\nexport function getRuleConditionDecoder(): Decoder<RuleCondition> {\n return getStructDecoder([\n [\"condition_type\", getConditionTypeDecoder()],\n [\"subject_attributes\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))],\n [\"resource_attributes\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))],\n [\"action_attributes\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))],\n [\"environment_attributes\", getArrayDecoder(getTupleDecoder([addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder()), addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())]))]\n ]);\n}\n\nexport function getRuleConditionCodec(): Codec<RuleConditionArgs, RuleCondition> {\n return combineCodec(getRuleConditionEncoder(), getRuleConditionDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU8Encoder,\n getU8Decoder,\n getU16Encoder,\n getU16Decoder,\n getU32Encoder,\n getU32Decoder,\n getU64Encoder,\n getU64Decoder,\n getI64Encoder,\n getI64Decoder,\n getBooleanEncoder,\n getUtf8Encoder,\n getUtf8Decoder,\n addEncoderSizePrefix,\n addDecoderSizePrefix,\n getAddressEncoder,\n getAddressDecoder,\n getBooleanDecoder,\n getBytesEncoder,\n getBytesDecoder,\n getArrayEncoder,\n getArrayDecoder,\n getOptionEncoder,\n getOptionDecoder,\n fixEncoderSize,\n fixDecoderSize,\n type Codec,\n type Decoder,\n type Encoder,\n type Address,\n type ReadonlyUint8Array,\n type Option\n} from \"@solana/kit\";\nimport { getTupleEncoder, getTupleDecoder } from \"@solana/codecs-data-structures\";\n\nimport {\n getQuotaResetBehaviorEncoder,\n getQuotaResetBehaviorDecoder,\n type QuotaResetBehavior,\n type QuotaResetBehaviorArgs\n} from \".\";\n\nexport type ResourceQuota = {\n max_usage: bigint;\n time_period: bigint;\n reset_behavior: QuotaResetBehavior;\n warning_threshold: number;\n};\n\nexport type ResourceQuotaArgs = {\n max_usage: number | bigint;\n time_period: number | bigint;\n reset_behavior: QuotaResetBehaviorArgs;\n warning_threshold: number;\n};\n\nexport function getResourceQuotaEncoder(): Encoder<ResourceQuotaArgs> {\n return getStructEncoder([\n [\"max_usage\", getU64Encoder()],\n [\"time_period\", getI64Encoder()],\n [\"reset_behavior\", getQuotaResetBehaviorEncoder()],\n [\"warning_threshold\", getU8Encoder()]\n ]);\n}\n\nexport function getResourceQuotaDecoder(): Decoder<ResourceQuota> {\n return getStructDecoder([\n [\"max_usage\", getU64Decoder()],\n [\"time_period\", getI64Decoder()],\n [\"reset_behavior\", getQuotaResetBehaviorDecoder()],\n [\"warning_threshold\", getU8Decoder()]\n ]);\n}\n\nexport function getResourceQuotaCodec(): Codec<ResourceQuotaArgs, ResourceQuota> {\n return combineCodec(getResourceQuotaEncoder(), getResourceQuotaDecoder());\n}\n","/**\n * This code was AUTOGENERATED by scripts/generate-missing-types.ts\n */\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type Codec,\n type Decoder,\n type Encoder\n} from \"@solana/kit\";\n\nexport enum QuotaResetBehavior {\n Rolling,\n Fixed,\n Manual,\n OnDemand,\n}\n\nexport type QuotaResetBehaviorArgs = QuotaResetBehavior;\n\nexport function getQuotaResetBehaviorEncoder(): Encoder<QuotaResetBehaviorArgs> {\n return getEnumEncoder(QuotaResetBehavior);\n}\n\nexport function getQuotaResetBehaviorDecoder(): Decoder<QuotaResetBehavior> {\n return getEnumDecoder(QuotaResetBehavior);\n}\n\nexport function getQuotaResetBehaviorCodec(): Codec<QuotaResetBehaviorArgs, QuotaResetBehavior> {\n return combineCodec(getQuotaResetBehaviorEncoder(), getQuotaResetBehaviorDecoder());\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 getPricingModelDecoder,\n getPricingModelEncoder,\n type PricingModel,\n type PricingModelArgs,\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: Address;\n agentId: string;\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 apiSpecUri: string;\n apiVersion: string;\n bump: number;\n};\n\nexport type AgentArgs = {\n owner: Address;\n agentId: string;\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 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\", getAddressEncoder()],\n [\"agentId\", addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\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 [\"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\", getAddressDecoder()],\n [\"agentId\", addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\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 [\"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"]}